Commit graph

3003 commits

Author SHA1 Message Date
Clemente Raposo
2c7d4a91e6 Fix Karma tests
- Fix ExportBulkAction mock
- Add listview_column_limits to mock system configs
2021-03-30 19:21:38 +01:00
l.wilson
1919cc1d21 CSS style fixes to List View
- Align action and option buttons to the right

- Css fix bulk action text vertical alignment

- Css fix left side alignment of list body

- Css fix nav home icon offset
2021-03-30 19:21:38 +01:00
Clemente Raposo
bc3a124835 Fix list view table column display on mobile view 2021-03-30 19:21:38 +01:00
Clemente Raposo
ee454f7195 Set list view table layout as fixed
- Set table layout as fixed for better display and support displaying cells with long content
2021-03-30 19:21:38 +01:00
l.wilson
f3a4dd6488 Change bulk action dropdown hover color, border and size 2021-03-30 19:21:38 +01:00
l.wilson
aa7b063947 CSS fixes to list view checkbox column width and select checkbox size 2021-03-30 19:21:38 +01:00
Dillon-Brown
29544dd524 Add chart button display when available 2021-03-30 19:21:38 +01:00
Garry Henderson
e5fba6e3fb [Legacy] Add entry to configHandler & charts label 2021-03-30 19:21:38 +01:00
Garry Henderson
2eca6056da Display/hide listview columns by screen size 2021-03-30 19:21:38 +01:00
Garry Henderson
f00ec67432 apply table-striped bootstrap class 2021-03-30 19:21:38 +01:00
l.wilson
05e4028265 Filter style fixes and hide saved/quick filter buttons 2021-03-30 19:21:38 +01:00
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