Home

JCU Web application framework

This is the (as of writing) current base of the modern web applications that creates the @jcu/spark package.

To make use of this, you can npm install @jcu/spark as long as you have your local NPM configured to point at the JCU Artifactory repository. If you haven't, follow the guide at:

https://secure.jcu.edu.au/confluence/x/X6TCB

Still lacking many features, but we're adding to this all the time. Some content might eventually be broken out into their own packages, and we may re-use Lerna to deploy the packages.

Development

If you'd like to contribute, Jenkins will automatically build all branches. Creating a pull request to the default branch will trigger a build that will publish a pre- release package with the pull request number.

Merge a pull request into the default branch to trigger a release build. You'll be prompted to choose a version bump level.

Changelog

All notable changes to this project should be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

release-3.7.4 - 2022-08-26

Cleanup

  • Updated OIDC flow to get scopes from id_token instead of deprecated introspection endpoint f0ceb18
  • Updated scope usage to reference space separated string instead of array 013a86d

Commits

  • Pull request #63: Updated OIDC flow to no longer use introspection 71d60ce

release-3.7.3 - 2022-06-13

Fixes

  • DisplayWhen logic error when multiple width props were provided 3456635

release-3.7.2 - 2022-04-05

Commits

  • Reworked JcuInnerApp render logic so that forced login is now a correctly encapsulated side effect 58f6aa4

release-3.7.1 - 2022-02-09

Commits

  • Docs: add documentation for config.banner 3ad45db
  • docs for config.banner 8725516

release-3.7.0 - 2022-01-25

Features

  • Created new identity enrichment wrapper for OIDC data. Performs token introspection to forgerock. 5e7007f
  • Added new useIdentityCheck hook to allow developers to check attributes of a users identity e.g. groups or roles 201474a
  • Added docs for useIdentityCheck (p2) abb1fbf
  • Added docs for useIdentityCheck (p1) f720de0
  • Added basic docs for comp:useJcuConfig eadfdc1
  • Added new useJcuConfig hook for easy config access 1e349b1
  • Added export for now useIdentityCheck hook ae13b44
  • Added missing dependancy to login function hook wrapper. c1b522b

Fixes

  • Fixed rerenders triggering from useOidc updating unchanged objects. Memoized various hook elements to only cause rerenders when that data actually changes bd56b0e
  • Fixed logic for determining type of incoming values. Improves equality checking and also handles incorrect types 1dd5b1f
  • Fixed introspection check to validate that the token/user is still active d8b5477
  • Fixed useEmbedded hook to use new useJcuConfig hook instead of manually handling the context. 2d1ed1e
  • Fixed scope merging to handle multiple spaces in the oidc scope string. 82717a3

Cleanup

  • Updated AxaOidcProvider to merge in config scopes instead of overriding the defaults. df9c362

Commits

  • Skeleton for secondary identity context 5814a09
  • minor changes from code review d2710a7
  • Refactored useJcuConfig hook into ConfigManager to be alongside config typings and context 90582a4
  • Actioned code review commentary 12db5d6
  • Log errors returned by JcuIdentityInterface 3c93f72
  • Anchoring grommet version because they keep releasing versions that break backwards compatibility fc6c6bf

release-3.6.5 - 2021-11-24

Fixes

  • Added deprecation warning to legacy useReactOidc hook. 805d180

release-3.6.4 - 2021-10-07

Fixes

  • Issue with incorrect word removal by changelog fix regex b9c06b0

release-3.6.3 - 2021-10-07

Fixes

  • Regex for identifying feature headings now correctly catches add... commit messages (and not things like addressing) c9e4600

Cleanup

  • Updates changelog template to make features the first heading and also adds new cleanup heading 466d0d8

release-3.6.2 - 2021-10-07

Fixes

  • Corrected regexes for matching commits to categories eacf1ca

release-3.6.1 - 2021-10-07

Fixes

  • Increased display limit for auto-changelog commits. Changelog will now contain all commits for a release. 6ab5d6d

release-3.6.0 - 2021-10-06

Features

  • Created useScopeCheck hook. Replaced logic in DisplayWhen with new hook. dad67f2
  • Created useWidthCheck hook. Replaced width logic in DisplayWhen with new hook. Refactored code that used exported width constants for logic to utilise new hook. 4a1ac49
  • Created useTimeCheck hook. Replaced logic in DisplayWhen with new hook. ed0ab85
  • Created useEnvironmentCheck hook. Added props and logic to DisplayWhen to support environment checking 6f9cd24
  • Added persistent state storage hook 88f216a
  • Added storage availablity check to StorageManager 95a59f3
  • Added documentation for useTimeCheck. Added doc tags to other hooks for categorisation in output 4968382
  • Added back an informative warning about possible date confusion when using DisplayWhen bfed825

Fixes

  • corrects initial cap of return type comp:OidcHookReturn 41b464d
  • refactored hooks to be functions not consts (so they doc as 'methods') 4ac129e
  • Fixed logic error in useScopeCheck hook eb8d382
  • ignore CHANGELOG b3b6a3f
  • Back-porting master changes 1dd1890
  • Fixed typing issue with StripedAlertBox 936cdf8

Cleanup

  • updates docs for useEnvironmentCheck 1a7307b
  • updates docs for useScopeCheck 902631f
  • Updated dev console output for DisplayWhen message 76bc54f

Commits

  • Various config and doco fixes. better-docs now supports shallow render examples of components (if defined in their jsdoc) 2d83c33
  • Reverting random commit that rolled back all the previous changes?!? 7c085ce
  • Merged 367c63f
  • Documented useScopeCheck d9afdb2
  • Did better typedef documentation to prevent duplicate field entries 13b70b5
  • [doc] expanded docs for useWidthCheck and related consts 799b781
  • General doc fixes 3b6e54f
  • More hook docs 2502e00
  • Some doc fixes and unused code removal 70cce8e
  • [doc] improvements to useTC jsdoc 57ab411
  • Refined the width based logic in DisplayWhen to be more concise dda02ad
  • [doc] moved hooks into Hooks:global category, to allow @link to find them e37d9e7
  • minor comments 9546828
  • Misc doc improvements 549b043

release-3.5.3 - 2021-10-06

Commits

  • Calling correct tag deletion f4459c3

release-3.5.2 - 2021-10-06

Commits

  • Testing a different way of removing tags 2a65d8b
  • corrected version 6ed47d2

release-3.5.0 - 2021-10-06

Features

  • New useOidc hook for adding extra functionality to the axa provided OIDC hook 41b73dd
  • New commit message key to allow linking to component documentation in changelog 3b663f7

Fixes

  • Documentation auto linking regex now correctly does non-greedy capture 4690529

Commits

  • Basic doco for new oidc hook 7ba21b4

release-3.4.6 - 2021-09-28

Fixes

  • Disabled tagging by npm version to make changelog release tag processing correct cb966d5

release-3.4.5 - 2021-09-28

Fixes

  • Order of jenkins stages means auto-changelog no longer requires a -p flag 8c07017

release-3.4.4 - 2021-09-28

Fixes

  • Correct version of node wrapper 3e97f2e
  • Install everything so jenkins with stfu 7cf41a5
  • Added config to nodeJS wrapper to use artifactory as source f174c0f

release-3.4.3 - 2021-09-27

Fixes

  • Missing docgen tool installs for later Jenkins stage palcement 35be45d

Commits

  • Moved the location of docgen tool install to publication setup instead of doc gen stage eef45ca

release-3.4.2 - 2021-09-27

Fixes

  • Missing brace closure in Jenkinsfile 9b14083
  • Changed doc generation order to be after versioning (corrects versioning in changelog) 6e20ace
  • typo in git comparison url 3f58c76

Commits

  • Renamed doc upload stage of jenkins pipeline 1b11757

release-3.4.1 - 2021-09-27

Fixes

  • Issues with jenkins not pulling all the repo tags 5477f0d

Commits

release-3.4.0 - 2021-09-27

Fixes

Cleanup

  • Removed broken npm script 441508f

Commits

release-3.3.0 - 2021-09-27

Features

  • Changelog generation and doc publishing 4261d97

Fixes

  • Added missing auto-changelog config to package.json 9358212
  • Missing changelog generation command a496dd6

Commits

  • Manually installing used features? cfe10a4
  • See if this fixes it ff39552

release-3.2.1 - 2021-09-14

Features

  • Added hacky anon auth header d0b370b

Fixes

release-3.2.0 - 2021-07-28

Features

  • adds PageHeaders component f63ace0
  • adds tutorial for config (incl. embeddded key) and data handling e4c5d48
  • adds useEmbedded hook 594229e
  • adds PageFooters component 5cc7304

Fixes

  • fixes nodemon so it rebuilds docs properly 812aaf1

Cleanup

Commits

  • use PageHeaders to simplify JcuInnerApp and support embedded headers 2f19d45
  • testing a config file doc layout f3721d4
  • using PageFooters 86b52dc

release-3.1.0 - 2021-07-26

Commits

  • moving tutorials into main line 5093a6f
  • using latest JCU betterdocs version 4a7c2f2

release-3.0.0 - 2021-05-06

Features

  • Added App and Route level ErrorBoundaries and created respective default error pages for both. 36d9aad
  • Added ErrorPage components 0736709
  • Added oidc-client to package.json 9cadbbc
  • Add incorrectly removed logout page 6d508e1
  • Adding react to dev dependencies 1875cc5
  • Add NodeJS definition to Jenkinsfile dacebde

Cleanup

  • Updated all of the dependencies 4625209
  • Removed direct installation of react in SPARK a702b64
  • Removed deprecated props from PulseLoader 4ffdff3
  • Removed unused export c3b15ac

Commits

  • ErrorBoundary component added to JcuInnerApp d9b20e5

release-2.6.0 - 2021-03-18

Features

Cleanup

Commits

  • Better typings; renamed firstRun; use 'controls' 331fccf
  • lock file from master to avoid conflict 9be38c9
  • closing in on final form cbcffa0
  • user indicates readiness feature a7469c2
  • work in progress af80e0a
  • useApiFetch works with a user deps array now 03e89cd
  • remembered to add deps 640aec8
  • exports hooks ecb747f

release-2.5.2 - 2021-03-11

Commits

  • Changed JcuStyledAnchor back to re 20281d1

release-2.5.1 - 2021-03-03

Fixes

  • Fixed incorrect text-shadow color on mobile width disabled login button 76d9766

release-2.5.0 - 2021-03-03

Features

  • Added time based props to DisplayWhen. (Unfortunately) converted all formatting to 4 space indents. afd97f5
  • Added error handling to default open/close display components. Added highlighted rendering when DisplayWhen has an error in dev mode so that devs can clearly see there's an issue. af76afb
  • Added open/close key usage to JcuInnerApp. Created default display elements for open/close times. 9ccf002
  • Added disabled login informational hovers and popups 00d1fdf
  • Created StripedAlertBox component for predefined striped alerting boxes to provide consistent coloring and usage 58bf8e8
  • Added a devWarn message to DisplayWhen for possible after prop date confusion. Added a nowarn prop to DisplayWhen to suppress aforementioned warning in cases where it's understood and accepted. e.g. open/close config dates 3dc86d8
  • Added externally provided open/close component handling dc08f69
  • Added disableLogin flag to JcuGlobalAppHeader and AccountDropdown to allow for the disabling of login. Added conditional rendering to the login/logout pages so that the routes aren't used when login is disabled 18fbf7d
  • Added nowarn flag back to open time DisplayWhen df89e85

Cleanup

  • Updated wording of DisplayWhen devWarn message. Fixed non-rendering <br> tags in AppWillOpenPage 4150c77

Commits

  • Actioning code review comments and feedback 259f835
  • Disabled login button and added strikethrough styling 9bd99b5
  • Refactor strikethrough for header Login button 1f95b43
  • Changed how dates are checked because date-fns is very poor at validation 2c0d6c4

release-2.4.0 - 2021-02-18

Features

  • Created Mobile width controls for global nav bar. Created mobile sized dropdowns for account and nav menus 730436a
  • Added a11y titles to new nav elements and profile menu 47bcdae

Fixes

  • Added a check to notification layer to only render the display box when there are popups. Fixed issue where empty box caught clicks due to padding giving the box non-zero size dimensions. e7ca91e
  • Fixed RestrictedRoute empty scope value 6790f21
  • Fixed issue where empty scopes object in ApiInterface would could the app to crash d50c6e6

Cleanup

  • Removed as JcuStyledLink styling from mobile menu text to prevent color overrides for 'already visited' links 6cea24d
  • Removed debugging console.log ef595bb
  • Removed reactjs-popup import that breaks testing 79fad0b

Commits

  • Consolidated all the mobile dashboard elements. Created dynamic nav elements for mobile and wide screen nav items 336371a
  • Final tweak to mobile header menu stlying and layout. ae6ab11
  • Consolidated AccountDropdown into clearer mobile/wide screen sections ca7e599
  • More mobile styling and layout components 6be2d31
  • Consolidated mobile layout into tighter DisplayWhen parcels. Minor fixes per code review comments. bdfe181
  • Wrapper popup components in grommet wrapper to preserve styling a5e2f06
  • More consistent styling for mobile account menu. Colours TBD dd7eb60
  • Different solution to bugfix e520064
  • Renamed styled links file to plural 3c5b195
  • Changed ordering of notification layer. Should hopefully hide it behind app elements (to prevent click capture). ece843e

release-2.3.1 - 2020-12-14

Fixes

  • New login header button missing call to save current URL. 4ca4f5f

release-2.3.0 - 2020-12-08

Features

  • Created SparkLogger wrapper to allow for easy calls to dev-mode logging functions e05d067
  • Added two new functions to VersionedItemCollection to enumerate the item names, and the item names and versions. Added non-production log warnings for when loaded API interfaces and loaded API configs don't match. 63a9430
  • Added basic documentation for SparkLogger 96dc749
  • Added dev logging for trying to load API interfaces that havent been defined f6ce375

release-2.2.1 - 2020-12-08

Features

  • Created login landing page and added /login route to default app router. Created a LoginLink component for devs to use to provide links that remember the current page before linking to new /login page. 550d0f1

Commits

  • minimal docs; pass through props for LoginLink b8dd028

release-2.2.0 - 2020-11-25

Features

  • Created legacyHeader app prop to allow hard to update applications to maintain legacy header layout (like profile). Added a non-production warning space for the inclusion of any dev warnings. Cleaned up unused imports and variables c8f63a2

Fixes

  • Fixed right align of profile dropdown. Removed old AccountDashboard login/logout functionality. Created new AnchorLink object to provide the styling of Grommet Anchor to the react-router Link component. baaf05e

Commits

  • Initial basic implementation of new nav header, including user management dropdown and login changes 05c49fd
  • adjusting code style 61f4d51

release-2.1.0 - 2020-11-10

Features

  • Added useEffect check to make sure post-login URL isn't loaded while app is logging in. Added saving existing URL to login onClick ffe5ec9
  • Added new location redirect handler and test console logs 8737540
  • Adding logic to prevent app from loading data while logging in 8dbd538
  • Adding redirection test b08b17b

Fixes

  • Fixed useLocation hook usage to be react compliant 8045363

Cleanup

  • Updated where the post-login url load occurs 81dde29
  • Removed console.log calls and updated comments and documentation 513f567
  • Updated redirection comment to reflect code review comments 79054d0
  • Removed testing route that was no longer needed cb13196
  • Updating react-router-dom type definitions 3df9bc2

Commits

  • Attempt at cleaner post-login redirection. b2811c0
  • Trying a super roundabout workaround for redirection f2b58ca
  • react router redirection for post-login redirect 460b5b6
  • Attempting a different redirection method for post-login redirects 06f90f5
  • 'Working' login redirection mechanics e10d203
  • Actioned code review comments e2f3b4e
  • Changed component load order so that the router is outside of the axa library to handle login state preservation 6ea5919
  • Change location of react-router redirect component bf1d9ad
  • Minor bug fixes for post login redirect 32e7035
  • Moving to version 5.2.0 of react-router 63edb57
  • Testing react-router useLocation call d260c69
  • Minor doco fixes and removal of unused app state 865d43d
  • Changing @types/react-router back to an existing version a73b16f

release-2.0.2 - 2020-10-29

Cleanup

  • update to docs 40ca3c8
  • Updated references to new spark library c79906b

Commits

  • build id text colour to white 9830977

release-2.0.1 - 2020-10-20

Cleanup

  • Updated various documentation references to new @jcu/spark namespace 804de7f

release-2.0.0 - 2020-10-20

Features

  • Added new put/patch/delete convenience functions. Also updated existing get/post functions to return promises for developers to handle instead of data 5fbfec3
  • Added internal application config section to ConfigManager/Context. Also rewrote tabs to spaces c8e1930
  • adds StrengthMeter 97f9c5a
  • Added basic jsdocs to NotificationManager 75378ce
  • Added new delayedResult function to help mock API responses 079fb6b
  • adds prop to DisplayWhen 0dc8fc4
  • adds JcuGrommet component ee84579
  • adds todo items to README 2f98038
  • Added some more jsdoc to ApiManager to be a bit clearer for dev facing functions 693f348
  • adds shape prop to JcuApp 7fcaa91
  • adds MinimalFooter 4dcac35
  • adds CI build id to the env banner 408bf11
  • adds to docs 74d5cd6
  • Added basic landing page and export be51f91
  • Added minimal footer to bottom of default logout page 43b96f9
  • Added final statement about the baked in popup notification layer 88d3498
  • Added custom component prop for logoutpage 40a039d
  • adds todos d900124
  • adds a11y text to logo 3a9680b
  • Created banner underneath nav bar for devs to be able to place persistent information 84d0f75
  • Added scoping to DisplayWhen functionality. 1d3c2ae
  • Added bearer token attachment to ApiContextProvider d833471
  • Added jsdoc and general comments to OIDC provider. 5883ab8
  • Added in components for various stages of auth. b7fe1d8
  • Added a flag for logging in that prevents multiple calls happening while the login is resolving 166115b
  • Added email to the default set of OIDC scopes 2ee2a69
  • Added context providers to the ApiManager and AccessManager classes 2941c2f
  • Added ts typed version of NotificationManager a1be75d
  • Created axa authentication provider wrapper afaf8e3
  • Created ConfigManager. Context for loading and supplying configuration information to internal components. 1f23991
  • Added new default for config lookup at the base URL /config e0ec0f5
  • Added basepath to default config lookup 617e820
  • Added some comments 066c63b
  • Added typecast to correctly identify returned object type (ts didn't handle the inheritance cleaning) 7c1f101
  • Added flag to tsconfig so ts will stop crying about completely acceptable React import syntax 04aa514
  • Added grommet-icons to library package.json to support notifications af92335

Fixes

  • fixing types n stuff c8877d3
  • fixed weird disappearing background bug 33f4587
  • Fixed general import / export setup across framework. Cleaned up unused imports, and consolidated other imports into their top level exporter. 5e97b98
  • Fixes logo image layout issues, probably 13f556e
  • Fixed broken master merge a5430a8
  • Fixed up some typing definitions cbe4825
  • Fixed ApiManager failing to correct update env for scope templating 069d40d
  • Fixed handling of missing authentication section in config 9a9fe66
  • Fixed another typescript transpiler bug cc2a383
  • Fix attempt #4 ff6f6b1
  • Fixed up possible issue with scoping bd85f04
  • Fixing broken test 375e83b
  • Fixed up a direct reference bug 466d9a5
  • Fixed incorrect import for grommet (no idea why, seems 'automatic') b6bccdb

Cleanup

  • Updated documentation for components to be correctly bundled and categorised 765bc4c
  • updated AppConfigInterface to work in this new world 4ec0097
  • Updated logout flow to have a landing page and not trigger auto-login 31ab9a4
  • Updated basic logout landing page with some theme e32b900
  • Updated todo list 6974437
  • Updated non-login path mechanics to be able to take a prop array of 'safe' routes ded37eb
  • Updated ApiInterface doco to include new mock example bb06fcd
  • Updated framework name to new acronym: SPARK (Single Page Application React Kit) ed05a41
  • updated StrengthMeter description: okay -> mediocre 81b2eec
  • Removed console.log for new banner. 7c8606f
  • Removed unused console logs and imports. 4189612
  • Updated OIDC to be dynamically configurable through the authentication section of the application config b8e08ce
  • Updated jsdoc/comments for ApiManager and minor code maintenance. 2209805
  • Updated core app structure to have grommet (and by extension, it's theme-ing) at a higher level 9058b18
  • Updated jsdoc/comments for ApiInterface 4cadda8
  • Updated jsdoc/comments for ApiManager 1a75877
  • Updated jsdoc/comments for CallbackHandler a2202b0
  • Updated OIDC default response type. fcc1dcb
  • Updated url rebase function to only rebase urls that start with '/'. Allows the ability to specify external urls (http...) for elements like post_logout_redirect_uri. 40c3d2a
  • Updated callback component to be loading component 72ab31d
  • Removed final log message f985fd2
  • Removed the API load portion of AppInitialiser. The ApiContextProvider now handles loading all the APIs from the provided config 7386831
  • Removed randomly inserted character 238618b
  • Removed import from poorly refactor move operation 9b44a92
  • Removed unused import a171402

Commits

  • starts a tutorial 04ef9dc
  • themes! b205e99
  • Basic documentation config and script 3cf75fd
  • Small documentation updates 62b4a63
  • tweaks to extended API Interface class 15d50ea
  • moved env banner, tweaked navbar 95f7ee8
  • forgot about these doc updates db13b19
  • Reformat of default logout page 7a6e00e
  • tweaks to navbar dfe9025
  • tweaks logout page dccbbf8
  • Some more jsdoc for NotificationManager d5bda2d
  • wrap navbar tabs when narrow 7b53fb5
  • theme improvement - form colours a012f8f
  • using Grommet's background c4c73bf
  • restore content wrap style 108783f
  • more todos 0b04eea
  • theme colours 74775f3
  • theme colours d2314bc
  • theme colours 3039b02
  • theme colours 46d718a
  • more todos fa61b68
  • brightens the Env benner colours to suit all themes fcab049
  • more todos ec1e03d
  • more todos 390b145
  • Made logging out message less in your face c99434c
  • exporting properly b73a514
  • appeasing typescript ef9851d
  • theme colours 4be818b
  • moved better-docs to devDeps -> deps c8ec2c6
  • setting up for merge 66dcf50
  • Start of getting-started doc d24e4c0
  • more todos a243352
  • A word 127a224
  • typescript wanted login to be a custom function 84576c0
  • alt rather than a11yTitle for logos 5927382
  • theme colours ea3822e
  • theme improvement - form colours 2cd3197
  • sith theme adjustment b802aa7
  • bg-contrast colour in sith theme 7b6ea61
  • types in hook e27f9bb
  • making TS happy 8a794d6
  • more todos 749dac7
  • reduced distracting focus colour d2846b1
  • theme improvement - form colours a63d17d
  • merged new banner 63c7881
  • Refactored old AccessContext usages to use new axa-fr context eda6ea9
  • Minor unused code refactors. Removed OIDC callback handling, now to be done by oidc library component f80fd7d
  • typescript dodges a824fc3
  • Reimplemented RestrictedRoute logic for checking if user has access permissions. a49fb31
  • More typescript fixes for complaints it should flag during dev 0f3b720
  • Minor fixes to ApiManager 55e96d2
  • Refactored templating into ApiManager function, RestrictedRoute and DisplayWhen now invoke ApiManager to build scopes c259717
  • kill button on Environment banner 9356c02
  • don't show navheader if there's no links to show in it ea9101e
  • More typescript fixes for complaints it should flag during dev ecae101
  • Made the ApiContextProvider correctly (syncronously) attach API headers b1924bf
  • nicer kill button 2fcd5c8
  • Attempt to export useReactOidc within framework a5fff1b
  • Typescript complains on build but not during dev, so great! ab69ce2
  • Changed the default scope to correct one. 4bba2a8
  • Ignoring more typescript BS adec4a5
  • Merged in Release 2.0.0 changes a73b34a
  • Relayered context hierarchy. App should be backwards compatible, pending testing 941ac05
  • Incorporated and tested all existing components related to notifications. fc95c10
  • Refactored ApiInterface into prototype version 3c17444
  • tsx version of AccessManager 37f11bd
  • Import of current prototype AppInitialiser 6951511
  • Restructured ApiManager to have static methods at the top a2a3e33
  • Formatting and documentation housekeeping 5a7ca22
  • Pulled in CallbackHandlerBugfix 587c4c4
  • More test fixes. eaebf3c
  • Tab changes 016e4b6
  • Changed default login behaviour to redirect, changed app prop from redirect to popup for explicit use of popup c5fa1f4
  • Attempt #3 at a ts compatible iteration 23fcdfd
  • Attempt #2 to fix transpilation bug acac6f0
  • Changed typescript compiler options 71b5ea1

release-1.3.2 - 2020-04-09

Cleanup

  • Removed all the debugging console.log statements. b88172a

Commits

  • Refactored the way url query strings are processed. Includes logging for live testing as bug occurs after compilation 595d001

release-1.3.1 - 2020-04-06

Cleanup

  • Removed code that was likely causing a callback loop b4bcbdb

release-1.3.0 - 2020-04-01

Features

  • Created barebones singleton StorageManager fa8add8
  • Added some landing page restriction options to .env 767b6a9
  • Added options param to storage functions for extensibility 1f67a41
  • Adding string.toLowerCase to the permitted key checks 0ff2113
  • Added more ts-ignores because typescript complains about everything b350bb0
  • Added a TODO for generating proper docs 38ad90d

Cleanup

  • removed code-lint sins that were causing nag reports f06933b
  • Removed unused and refactored code snippets 7c1aecc
  • Updated save/load/delete storage key generation to be case insensitive 3d642c8
  • Updated StorageManager constructor to look for REACT_APP_BASE_URL to correctly scope the storage keys 0e380e8
  • Updated StorageManager namespace generation to handle spaces as well as underscores in app names 959ff22
  • Updated some jsdoc wording 274f3df

Commits

  • Implemented save and load function. Includes JSON string serialization in both directions 1810062
  • Actioning code review feedback. Removed unused code and move URL responsibility from StorageManager to CallbackHandler. Added jsdocs to StorageManager 8a18c0a
  • Extracted the callback handler function from AccessManager into own file. Added storage capture callbacks to callbackhandler. 1ed4dce
  • Query string saving for FORCED login mode and formatting changes :( 1904c19
  • Refactor REACT_APP_PERMITTED_QSTRINGS serialisation into standalone function 0fd5c35

release-1.2.2 - 2020-03-31

Fixes

  • Fixed OIDC redirect mode to send you to the baseURL, not '/' which breaks on all co-hosted apps c079d24

release-1.2.1 - 2020-03-24

Features

  • Added logout redirection handling to 'checkForCallbacks' to better handle user logout events 6017a0e

Fixes

  • Fixed logout redirect to send straight back to the app root 3fe7fe3

Cleanup

  • Removed unused window.location redirect 222ebbf

release-1.2.0 - 2020-03-16

Features

  • Added log out triggers to logout button, reformatted code (intelliJ auto format) fd7dd87
  • Added a LoginMode.FORCED option. Forces AccessManager into redirect mode and auto-triggers login if they aren't a32d0d4
  • Added missing type parameters or relevant ts-ignore comments to make framework runnable 'live' cc10d9b
  • Added a bunch of comments/documentation to AccessManager 212751d
  • Added comments addressing code review concerns. 0074758
  • Added type dependencies to package.json of jcu-webapp library (was only in top level testing rig) 2b8d5a0
  • Added window redirect to '/' when user logs out 66f5618

Fixes

  • Fixed the grommet theme type issues (by ts-ignoring them) 06cbe38

Cleanup

  • Updated RestrictedRoute component to take a string or string[] of scopes for checking d0f9032
  • Updated multi-scope checking to include checking if the access manager exists a8ea468
  • Updated AccessManager to take an oauthAuthority parameter in the constructor. Allows alternate authorities to be used (asuch as test) bce1c6c
  • Updated console log message to output scope that failed lookup, not the undefined it returned d7fb5ed

Commits

  • Moved type dependencies from devDependencies to main dependencies d2eb65f
  • Replaced unhandled error throw with console log bec403a
  • Changed AccessManager logout redirect location. Fixes issue with window redirecting before correctly reseting the user 7fbd803
  • Changed the default 'no name' value in the profile avatar 0a959e2

release-1.1.0 - 2019-12-19

Features

  • Adding redirect option for login in place of pop-up 19cc576
  • Adding redirect param on JcuApp 6fb78c8

Commits

release-1.0.13 - 2019-11-29

Commits

  • Hack to make the RestrictedRoute aware of scope changes 378adf9

release-1.0.12 - 2019-11-27

Features

  • Adding to doco - doing in a branch to test the build process for PRs e911e84

release-1.0.11 - 2019-11-27

Commits

  • Not pre-allocating a node in the Jenkinsfile. This is taken care of in the npmLib() 88520ff
  • Force update 593960a

release-1.0.10 - 2019-11-27

Commits

release-1.0.9 - 2019-11-27

Commits

release-1.0.8 - 2019-11-26

Features

  • Adding prettier, prettified the code, and also fixed the test not running. f584da7
  • Adding a Jenkinsfile. Hope I got this right!! 18c3e2f
  • Adding README.md 756ba1f
  • Added patch and delete methods to ApiInterface.ts 5e438cc

Fixes

Commits

  • Support delete method with body 99ea977
  • Initial commit c95d9fd
  • NeedLogin now wrapped in Alert, and can be used at an app or function level 27f4967
  • I'm trying a commit because this comment suggests it may be the npm linking that is causing weirdness: 0685be8
  • It works? At least no errors!!! 409ad40
  • Incorporating the DisplayWhen stuff from github branch 755c7c9
  • More progress!! 794096e
  • Starting adding some documentation 4b7c129
  • Switching to use npmLib() 7ebc58f
  • Rework of some attributes to components, and some attempt at figuring why children of JcuApp do not re-render when the logged in state changes... 823b49e
  • WIP 56a1672
  • Committing work for release 0.0.92 b385729
  • Realised that if it can't get to the checkout stage, it's unlikely to accept further changes to the Jenkinsfile... derp f7861de
  • Kinda hacked the logo in, but works...! cbfd86c
  • Test b6581da
  • Trying some fancy closure stuff in Groovy e985f0b
  • Moving methods? 1820a1d
  • Seeing if I can spit out change sets eddd585
  • Trying out a new publish process 02e3ae8
  • First attempt at a new RestrictedRoute component 6434a62
  • Test 26eac42
  • Testing something that gets last successful build hash c444ff3
  • 99% log cleanup, but also fixed writing key of object that is now a map. cdbcc57
  • Test ccc975b
  • Test b20a59f
  • Trying more crap 9abd7a0
  • Testing log info d69f638
  • Formatting? 4353434
  • Making suggested change - setEnv to setScopesEnv, to clarify the env is for the scopes. ea4d804
  • Test 08dfa8b
  • ssh agent! 6546e5c
  • Hacking in stylesheet 586cf38
  • Might have done branch name wrong... 6fcb80d
  • Looping over and echoing... c4aee2a
  • One too many brackets... 22abb2e
  • Closure format slightly different 0ba0cfd
  • Wonder if closures/lambdas work? 39838ab
  • Undoing Lerna specific notation b58d90b
  • Pretend branch... undone 6f4e052
  • Pretend branch dfcde8f
  • No change test d843055
  • Demo change to trigger build etc f194ce1
  • Demo change to trigger build etc 446e0b3
  • Test 35aac75
  • Another change 358a20c
  • Trying more crap c7af73d
  • Setting upstream when publishing 7fb7cc7
  • Correcting publish stuff a6c52b3
  • Blarg d9ff332
  • Testing not using the restricted method?? 57bca69
  • Grumble 0d7264f
  • Typo 53b69fd
  • Looks like it doesn't like git workspace files changing before versioning?! a905a9d
  • New branch to pretend there's a change. 2803f46
  • Bracket. Whoops! f4d2f90
  • Force update 77b5d61
  • Force update e684853
  • Second commit to branch 8ec56df
  • Cleanup README for demo 836be5c
  • Force build 8cb1f74
  • Logging dea7173
  • More debug 0fc73b6