Commit graph

3092 commits

Author SHA1 Message Date
Clemente Raposo
eb397fba2f Add security to Langauge resources 2021-03-30 19:21:33 +01:00
Dillon-Brown
c430dacbfc Add a success message to logout component 2021-03-30 19:21:33 +01:00
Dillon-Brown
9a56976b7d Refactor auth service 2021-03-30 19:21:33 +01:00
Clemente Raposo
a8235c444a Add Navbar translations
- Make language facade loading dynamic to load given types of strings
-- Add cache per type of language strings
-- Add configuration per type of language strings
-- Enable fetching modStrings, appStrings, appListStrings
- Expose a stream for each type of strings

- Make BaseMetadataResolver language loading dynamic based on router configuration
-- Add navigation loading
-- add string loading, depending on configuration
-- Add default configuration: Loads SystemConfigs, Navigation and all Languages
-- Add ability to override default configuration on router
- Configure BaseMetadata resolver in router
- Only use default language if it there is no active language

- Update login component to cope with changes to language facade

- Refactor: move existing facades to the facades folder

- Re-write navigation facade to use reactive facades approach

- Update navbar api to cope with with api contract
-- Add modules entry
-- Move moduleSubmenus to modules entry
-- Disable collection query on graphql
-- Update frontend to cope with these changes

- Update navbar component
-- Cleanup component
-- Fetch navigation and languages reactively
-- Update navbar menu item creation with new navigation structure
-- Fix html for loading icons
-- Fix html for regular module tab menu

- Translate navbar items
-- Add translations on navbar menu items creation

- Add karma tests

- Adjust navbar to properly render links
-- Add extra query params to submenu in API
-- Adjust LegacyHandler to retrieve the extra query params
-- Adjust angular component
2021-03-30 19:21:33 +01:00
Clemente Raposo
62b05e18fe Add ability to disable legacy suite translations on legacy handlers
- Add sugar config disable_translations entry
- Return language_key > language_key map when fetching languages and disable_translations is enabled
-- app_strings
-- app_list_strings
-- mod_strings
2021-03-30 19:21:33 +01:00
Clemente Raposo
968580e0fe Add ModStrings API
- Add ModStrings entity
- Add ModStringsItemDataProvider with sample data
- Add ModStrings Legacy handler
- Add unit tests for legacy handler
2021-03-30 19:21:33 +01:00
Ross Moroney
bc24427738 Add language to frontend template 2021-03-30 19:21:33 +01:00
Clemente Raposo
ec5688c2e0 Add support for extra query parameters on classic view
- Update ClassicView Graphql API
-- add custom query for retrieving the classic view
-- add custom resolver

- Add ClassicView legacy handler

- Update ClassicView angular rendering
-- add classic view facade
-- add classic-view graphql query
-- remove rest classic-view request

- Update ClassicView angular resolver
-- send information about extra query params

- Add custom router re-use strategy
-- Allow configuring if a given route should be re-used
-- Disable re-usage in classic view routes
2021-03-30 19:21:33 +01:00
Dillon-Brown
3bce817795 Set security attributes for API calls 2021-03-30 19:21:33 +01:00
Dillon-Brown
d0853049ba Implement logout functionality 2021-03-30 19:21:33 +01:00
Clemente Raposo
baae4e2129 Add Legacy asset re-direction
- Add handler to check and build re-direction path
- Re-direct legacy assets on LegacyRedirectListener
- Add configuration with list of legacy asset paths
- Add dummy image call to the ClassicViewItemDataProvider
2021-03-30 19:21:33 +01:00
Clemente Raposo
32f6ddd81b Add forgot password inputs to login component
- Add forgot password form inputs
- Add card flipping using fade
-- Add ng-animations lib
- Expose email appStrings label
- Only show forgot password when enabled on the backend
2021-03-30 19:21:33 +01:00
Clemente Raposo
3efa62fc42 Dynamically show language dropdown on login component
- Only show when more than one language is installed
2021-03-30 19:21:32 +01:00
Clemente Raposo
c61d3209e4 Simplify facades and add caching
- Simplify and standardize SystemConfigs and Language facades
- Add observable stream caching
- Simplify observable stream usage on login component
2021-03-30 19:21:32 +01:00
Clemente Raposo
0ff1c9072c Link data to login component
- Add language facade
- Add appStrings observable from facade
- Combine appStrings and systemConfigs into vm (viewModel)
- Link data to login component template
- Expose needed languages from the Users module
- Unprotect graphiql endpoint
2021-03-30 19:21:32 +01:00
Ross Moroney
ba67d839e3 Add language dropdown too login screen 2021-03-30 19:21:32 +01:00
Clemente Raposo
58c1ff4264 Add AppState Facade
- Add facade with cross-app loading flag observable
- Update AppComponent to use the facade
- Update language facade to set loading when calling api
2021-03-30 19:21:32 +01:00
Clemente Raposo
5d78c4257a Add loading spinner on route loading
- Add FullPage Loading Spinner component
- Add spinner to app component html
- Listen to route loading events to enable / disable spinner
2021-03-30 19:21:32 +01:00
Clemente Raposo
9486eec316 Update Navigation service
- Update service to cope with changes to the graphql Record query
2021-03-30 19:21:32 +01:00
Clemente Raposo
2f3df6be46 Add BaseMetadataResolver
- Update LanguageFacade to fetch AppStrings
- Add BaseMetadata resolver
-- Does a chained call to get the SystemConfigs and then the AppStrings
- Temp: only enable resolver for #Listview route for now
2021-03-30 19:21:32 +01:00
Clemente Raposo
bcc7950d0f Add SystemConfigs facade
- Add facade
- Add graphql Collection query
- Update graphql record query
2021-03-30 19:21:32 +01:00
Ross Moroney
f1719823e6 Add language facade 2021-03-30 19:21:32 +01:00
Clemente Raposo
1e6b530091 Legacy handler Unit Test cleanup 2021-03-30 19:21:32 +01:00
Clemente Raposo
b1b048a152 Add AppListStrings Legacy Handler
- Add AppListStrings Legacy handler
- Update AppListStrings Item data provider to use legacy handler
- Add unit tests for legacy handler
2021-03-30 19:21:32 +01:00
Clemente Raposo
35265b52ff Add AppListStrings API entrypoint
- Add AppListStrings entity
- Add AppListStringsItemDataProvider with sample data
2021-03-30 19:21:32 +01:00
Clemente Raposo
b624a27088 Remove unneeded service configuration in favor of autowiring 2021-03-30 19:21:32 +01:00
Clemente Raposo
c02ab30a05 Add SystemConfig Legacy Handler
- Add SystemConfi Legacy handler
- Add service configuration to specify which configs are exposed to the frontend
- Update Systemconfig Item and Collection data provider to use legacy handler
- Add unit tests for legacy handler
2021-03-30 19:21:32 +01:00
Clemente Raposo
32d40be3e7 Add AppStrings Legacy Handler
- Add AppStrings Legacy handler
-- Inject some User module key into app strings
- Update AppStrings Item data provider to use legacy handler
- Add unit tests for legacy handler
2021-03-30 19:21:32 +01:00
Clemente Raposo
21158789fe Fix karma tests 2021-03-30 19:21:32 +01:00
Clemente Raposo
99f28973f7 Fix unit tests 2021-03-30 19:21:32 +01:00
Clemente Raposo
bd2e3d6e0c Add session swapping to LegacyHandlers
- Autowire LegacyHandlers as Symfony Services
-- Configure legacy handlers folder in service.yml
-- Replace handler instantiation with service injection

- Add init and close to legacy handlers
-- Swap sessions
-- Swap current dir
-- Add config to allow moving values between sessions
-- replace hard coded values with injected configuration

- Remove unused services and corresponding unit test
-- NavbarService.php
-- AuthenticationService.php

- Refactor Authentication Handler to
-- call init and close methods

- Refactor navbar handler to be used as a service
-- Adjust navbar unit tests
2021-03-30 19:21:32 +01:00
Clemente Raposo
93d49d2514 Add AppStrings API entrypoint
- Add AppStrings entity
- Add AppStringsItemDataProvider with sample data
2021-03-30 19:21:32 +01:00
Clemente Raposo
1ae0ba0fc0 Add SystemConfig API entrypoint
- Add SystemConfig entity
-- only declare the configs needed at the moment

- Add SystemConfigItemDataProvider with sample data
2021-03-30 19:21:32 +01:00
Clemente Raposo
ac13d08e44 Enable GraphiQl docs
- Configure the assets folder to public
- Enable GraphiQl docs
2021-03-30 19:21:32 +01:00
Will
21d2428876 Add theme states for navigation menu and buttons 2021-03-30 19:21:32 +01:00
Will
6c98815029 Add reusable widget component and service 2021-03-30 19:21:32 +01:00
Dillon-Brown
93c4e2ce91 Add legacy handler to fetch module sub menu data 2021-03-30 19:21:32 +01:00
Dillon-Brown
ed5feb3938 Fix NonGroupedNavTabs returning sorted array by default 2021-03-30 19:21:32 +01:00
Dillon-Brown
0df81cbb98 Add eslintrc and all necessary dependencies to handle linting javascript/typescript
- Add engines to specify the engines needed to build and run the project.
- Add browserslist to dynamically handle our supported browsers with for all our automated tooling and inspections.
- Add typescript-eslint/eslint-plugin and typescript-eslint/parser to handle typescript parsing.
- Add eslint-plugin-compat to share configurations between our automated tools.
- Add eslint-plugin-import in order to create an eslint that matches our existing tslint config without losing functionality.
- Add eslint-plugin-jsdoc in order to create an eslint that matches our current tslint config without losing functionality.
- Add eslint-plugin-jasmine to provide support for jasmine testing.
- Removed unused tslint.json
2021-03-30 19:21:32 +01:00
Clemente Raposo
86793924e9 Fix Jasmine/Karma tests
- Add missing imports
2021-03-30 19:21:32 +01:00
Will
5c13637f5d Add dynamic button component 2021-03-30 19:21:32 +01:00
Ross Moroney
662b92e65d Add list components to view 2021-03-30 19:21:32 +01:00
Will Rennie
febd2442c5 Adding restructured components 2021-03-30 19:21:32 +01:00
Will Rennie
e888e74a09 Remove list view include from api service 2021-03-30 19:21:32 +01:00
Will
e0dffa841b Remove redundant components to refine component structure 2021-03-30 19:21:32 +01:00
Dillon-Brown
b83d27edcd Complete navigation user action menu contract 2021-03-30 19:21:32 +01:00
Dillon-Brown
287ed2fb15 Add Angular CSRF protection 2021-03-30 19:21:31 +01:00
Dillon-Brown
9bff8530c6 Add Suite-8 user authentication 2021-03-30 19:21:31 +01:00
Clemente Raposo
ca0e00dfd1 Fix Legacy re-directs for subpaths
- Add units tests to check that :
-- requests to the api aren't taken as legacy
-- valid requests done in a subpath instance are considered valid
2021-03-30 19:21:31 +01:00
Clemente Raposo
87a01cf443 Fix navigation submenu frontend routes 2021-03-30 19:21:31 +01:00