Commit graph

3142 commits

Author SHA1 Message Date
Clemente Raposo
cd7c611069 Set symfony profiler to track exceptions only
- Avoid having huge volume of cached data
2021-03-30 19:21:38 +01:00
Clemente Raposo
2a4e209614 Add Csv export bulk action
- Add CsvExportBulkAction process handler to provide the download information
- Extract legacy filter handling code to the LegacyFilterMapper.php service
- Add ExportBulkAction angular service to download the file using the info provided
2021-03-30 19:21:38 +01:00
Clemente Raposo
8881bc85f9 Add Merge bulk action
- Add base frontend bulk action handling
-- Add max min validations
-- Add generic backend bulk action process call
- Add front end redirect handler
-- Can be re-used by several bulk actions if needed
- Add MergeRecordsBulkAction.php backend handler
-- Handle the the bulk action process request
-- Tells front end if extra handling is needed

- Fix bug list view metadata sent to the front end
2021-03-30 19:21:38 +01:00
Dillon-Brown
8a5a002e76 Add chart type selection dropdown 2021-03-30 19:21:37 +01:00
Dillon-Brown
2f5472f3c3 Add initial chart configuration for listview
- Create charts.yaml configuration.
- Add chart interface.
- Add chart service to fetch chart config.
2021-03-30 19:21:37 +01:00
Dillon-Brown
a41ab09f58 Fix the ViewDefinitions API not sending types 2021-03-30 19:21:37 +01:00
Clemente Raposo
e8112140af Enable new list view for a set of modules 2021-03-30 19:21:37 +01:00
Clemente Raposo
cc92e16141 Add configurable ListView BulkActions
- Add BulkActionDefinitionProvider
-- Add module.listview.bulk_action symfony parameter config
--- Add base config to bulk_actions.yaml
-- Add AclHandler legacy handler
- Add bulk actions list to the list view definitions api
- Retrieve bulk actions in metadata store
- Add bulkactions to list view store
- Display bulk actions list in bulk-action-menu.component
- Change dropdown-button to render dropdown items as <a> tags
- Add/update codeception unit tests
- Add/update karma/jasmine unit tests
2021-03-30 19:21:37 +01:00
Dillon-Brown
95904fe427 Add list-view clear filter button 2021-03-30 19:21:37 +01:00
Clemente Raposo
9bbe35df3e Add missing api resource grant checks 2021-03-30 19:21:37 +01:00
Clemente Raposo
ca6a2f121d Add sorting to list view
- Add sorting to listview api
- Set the fields sortable default value as true, like legacy
- Add sorting button component
- Conditionally display sort button according to field definition
- Add logic to update table when sort button is clicked
- Store used sort in local storage
- Update sort svgs
- Fix listview labels display
-- fallback to check modstring and fallback to appstrings
- Fix name field display in ListView
-- fallback to varchar field when no mapping set
- Add / update karma tests
2021-03-30 19:21:37 +01:00
Dillon-Brown
9eed1c00bb Implement email links on the listview 2021-03-30 19:21:37 +01:00
Clemente Raposo
f2bd9d9949 Improve session checks and cookie reset
- Clean CSRF token when session has expired
-- On the root path
-- On the session-check entrypoint
--- Needed since this invalidates the session

- Add new session token after expiring old session
-- On the session-check entrypoint
--- Needed as the following login requests will require a token

- Configure CSRF token generation on the session-status api
-- The session status can invalidate the session
-- It also cleans the tokens
-- We need to generate a new token afterwards
2021-03-30 19:21:37 +01:00
Clemente Raposo
ec712ff075 Change order of list pagination buttons 2021-03-30 19:21:37 +01:00
Clemente Raposo
84bf643ce4 Add ListView filtering
- Add legacy filtering to ListView handler
- Map new filter format to legacy format
-- Add filter_operator_map.yaml to configure mappings
- Add criteria to field interface to support filter fields
- Add varchar filter mode component
-- Uses criteria instead of value for displaying and data binding
- Add search and clear buttons to list filter panel
-- Use internal criteria to keep current criteria status
--- Updated using filter field 2 way data binding
-- Update ListView store criteria on search or clear
- Update ListView store fetch method to use criteria
- ListView store: store criteria on local storage
-- Add current list criteria to local storage upon search
-- Load criteria when list view data is loaded
- Clear selection when filter is applied
- Update karma/jasmine tests
2021-03-30 19:21:37 +01:00
Clemente Raposo
77d55e5aaa Fix frontend session timeout reset
- Check if session timeout timer has been set
- Add better error handling for logout errors
2021-03-30 19:21:37 +01:00
Dillon-Brown
edc86d5e61 Update session handling to use logout 2021-03-30 19:21:37 +01:00
Clemente Raposo
d09570d104 Fix menu user module actions translations
- Add the module name to the navbar action
-- if labels not found on the main module, load from this module
- Add extra fallback too check languages in the admin module
- Load SecurityGroups languages to the front end
- Update unit tests
2021-03-30 19:21:37 +01:00
Clemente Raposo
a46a30e7c7 Add responsive navbar layout
- Add screensize observer to check size changes
- Add navbar item limit configuration per screen size
-- exposed through system configs
- Re-adjust navbar upon screen size changes
2021-03-30 19:21:37 +01:00
Clemente Raposo
a12e8af652 Remove green background on text for Search Bar buttons 2021-03-30 19:21:37 +01:00
Clemente Raposo
2fcb95959d Fix blank logout error message
- Cause: message is displayed after languages are cleared
- Fix: add language obserble subscribe to show the message once the languages reload.
2021-03-30 19:21:37 +01:00
Clemente Raposo
c9ee047cff Fix language selection error after logout
- Issue caused by modStrings that require auth
-- Though they were still cached as a loaded language
- Fix properly clear the auth based language cache
- Add support for auth based and non auth based cache within store
2021-03-30 19:21:37 +01:00
Matt Lorimer
f2ad3d1f00 [Legacy] Update legacy codebase to 7.11.15 2021-03-30 19:21:37 +01:00
Matt Lorimer
651adeb1de Link dummy favourite links to home page
Current links, link to a non existing page
2021-03-30 19:21:37 +01:00
Dillon-Brown
016359d23d Fix Angular AOT compiler errors for prod
- This fixes several errors when attempting to build with the --prod flag.
2021-03-30 19:21:37 +01:00
Dillon-Brown
eaef75281d Update tsconfig to run a template type check on compile
Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:21:36 +01:00
Clemente Raposo
d3894e3e51 Add navbar module name sorting
- Sort navbar items alphabetically when userpreference is enabled
- Add sorting to tabs, grouped tabs items and more items
- add rule to keep, home module on top for grouped tabs
2021-03-30 19:21:36 +01:00
Clemente Raposo
ac0b0eb1b4 Add Cache Reset Actions
- Add configuration file for module actions that should reset cache
- Expose cache reset actions in the system config api
- Add route event listener to reset cache when navigating a way from defined cache reset actions
- Update unit tests
2021-03-30 19:21:36 +01:00
Dillon-Brown
b52bbf6a6d Implement types on the listview 2021-03-30 19:21:36 +01:00
Clemente Raposo
e365daa410 Add List Filter Panel
- Add panel component
-- Generic panel implementation
- Add close button component
- Add dropdown button component
- Add field grid component
-- Dynamically render a responsive field grid with optional special and button slots
- Add List Filter Component
-- Use field grid based on search defs fields
- Re-structure listViewStore usage to minimize re-rendering
- Override alert and alert-outline button colors
- Add needed styling
- Update existing karma / jasmine tests
- Add karma / jasmine tests for new components
2021-03-30 19:21:36 +01:00
Clemente Raposo
f6d016844e Add Varchar field edit mode component
- Add varchar field edit mode component
- Refactor field interface to use a field object instead of separate inputs for value, type, etc
-- this allows for having two-way data binding as js objects are passed by reference
- Update karma/jasmine tests
2021-03-30 19:21:36 +01:00
Clemente Raposo
34ff62476b Add searchdefs to metadata store
- Refactor listview store into metadata store to keep all defs
-- Update the cache to be able to store metadata per module
-- Update the cache to be able to sync requested metadata with existing one
-- Update fetch methods to be able to fetch only requested definitions
- Add search defs to the metadata store
- Update karma/jasmine tests
2021-03-30 19:21:36 +01:00
Clemente Raposo
b62d1907aa Add searchdefs to metadata api
- Retrieve searchdefs in legacy handler
- Change ViewDefinitions Api to retrieve all viewdefs instead of just the listview defs
- Add varchar info to searchdefs
- Update codeception unit tests
2021-03-30 19:21:36 +01:00
Clemente Raposo
b4d234cb43 Add ListView pagination
- Add custom getListView graphql resolver to be able to pass pagination input
-- Add api.list.get.ts to call new custom query/resolver

- Expose list_max_entries_per_page (page size) to front end

- Update pagination component
-- Display page count information
-- Update page on pagination button click
-- Add PaginationDataSource

- Update list view store
-- Update stored pagination information
-- Implement PaginationDataSource, to grab update changes callbacks
-- Retrieve list data on page change and update records state
--- which will update the list view contents

- Add / Update karma/jasmine tests
2021-03-30 19:21:36 +01:00
Clemente Raposo
81b129c851 Add ListView page selection
- Update ListView store
-- Add ListView Selection data structure
-- Add selection update / sync logic
- Update bulk action menu selection
-- Link up to ListView selection
- Update ListView component
-- Link up to ListView selection
- Add / Update jasmine unit tests
2021-03-30 19:21:36 +01:00
Dillon-Brown
0ef2425606 Implement initial list-view.store and update list-view-meta
Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:21:36 +01:00
Dillon-Brown
9d36e7f86c Add ListView API
- Implemented initial ListView API
- Updated FieldDef API

Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:21:36 +01:00
Clemente Raposo
b2dbb79cdd Add currency detail field component
- Add Component for detail mode
- Add currencyFormatPipe that extends currency pipe
- Register components in dynamic components manifest
- Expose currency user preference
-- Add mapper to retrieve the need currency info
- Expose currency system config
-- Add mapper to retrieve the needed currency info
- Add sample usage to list view
- Add karma/jasmine tests
- Add codeception unit tests
2021-03-30 19:21:36 +01:00
Dillon-Brown
b7058db8cd Add list-view metadata to new front-end table-body component
- Add ListViewMetaStore.
- Add ListViewMetaResolver.
- Update existing routers for new resolver.
- Implement CdkTableModule and remove dead code.
- Add MockData component for eventual list-view data.

Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:21:36 +01:00
Dillon-Brown
4fd431d97d Add ViewDefinition API
- Add initial ViewDefinition entity for list-view.
- Add ViewDefinitionHandler.
- Add ViewDefinitionDataProvider.
- Add ViewDefinitionProviderInterface.
- Add ViewDefinitionsHandlerTest.

Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:21:36 +01:00
Clemente Raposo
be1e0ca5cf Add url detail field component
- Add Component for detail mode
- Register components in dynamic components manifest
- Add sample usage to list view
- Add karma/jasmine tests
2021-03-30 19:21:36 +01:00
Clemente Raposo
066560dd40 Add global search
- Add global search service
- Enable global search on action bar
- Adjust global search input and button within action bar
- Add karma/jasmine tests
2021-03-30 19:21:36 +01:00
Dillon-Brown
c450c4f6ab Update imports to use single quotes
Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:21:36 +01:00
Clemente Raposo
feb9175f22 Add date and datetime detail field components
- Add base date time component with common methods
- Add Components
- Register components in dynamic components manifest
- Add sample usage to list view
- Add karma/jasmine tests
2021-03-30 19:21:36 +01:00
Clemente Raposo
21a831e9f3 Add date and time format config and preference mappers
- Update SystemConfigHander
-- Add ability to map config name
-- Add ability to map config value
-- Add SystemConfigMappers.php to store config mappers

- Update UserPreferenceHandler
-- Add ability to map preference name
-- Add ability to map preference value
-- Add UserPreferencesMappers to store preferences mappers

- Configure config mappers for date format
- Configure preference mappers for time format

- Update unit tests
2021-03-30 19:21:36 +01:00
Dillon-Brown
fceea32f83 Rename facade references to store
Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:21:36 +01:00
Clemente Raposo
369adbc4d0 Add Detail Mode Phone Field Component
- Add detail mode phone component
- Add component to generic field manifest
- Add sample to list view
- Add jasmine / karma tests
2021-03-30 19:21:35 +01:00
Clemente Raposo
013d5c2919 Configure eslint typescript imports
- Fix false positive errors on eslist ts imports
- Add eslint-import-resolver-alias
-- Add typescript path aliases as eslint alias
- Add eslint-import-resolver-typescript
2021-03-30 19:21:35 +01:00
Clemente Raposo
0e6b81c2b4 Rename facades folder to store
- Update folder name
- Update imports to use @store alias
- Update tsconfig @store alias
2021-03-30 19:21:35 +01:00
Dillon-Brown
9197335343 Create a UnitTester bootstrap and update existing tests
- Add UnitTester to hook into codeception login when executing tests.
- Create _beforeSuite and _before methods to reduce code duplication and improve performance.
- Add static closures where possible for better scoping and performance.
- Fix missing typehints/PHPDocs.

Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:21:35 +01:00