- Add Upgrade Package handler
-- Add base package handler service with re-usable api handle packages
-- Re-usable service to extract and apply upgrade packages
-- Add upgrade settings to configs
- Add Base command
-- Add abstract class with common input processing logic
- Add Upgrade Command
-- Add re-usable UpgradeHandler with api for applying upgrades
-- Add command to call upgrade handler
-- Add service feedback
-- Call clear cache on upgrade command
- Add Upgrade step by step execution
-- Add process step interface and executor
--- add common logging to each step execution
--- add debug logging for each step execution
--- allow running processes step by step
--- allow configuring steps independently
-- Move upgrade handler and upgrade command to use step executor
-- Add upgrade log
-- Improve upgrade command output
- Add field definition mappers
-- Allows to add mapper classes that map the resulting definition
-- Declare mappers in services definition
- Add support for defining grouped fields
-- Add grouped field definition mapper
- Map legacy style group fields to new format
-- Add legacy grouped field mapper
- Add View definition mappers
- Add default configuration for group field preset types
-- Configure address default config
--- Set default layout
--- Set default display
--- Set default labels
- Map Group field types like address
-- apply default values
- Add codeception unit tests
- Refactor LegacyFilterMapper to allow adding mappers per type
- Add date and date time mappers to convert to proper format
-- Api should receive fields in internal format
-- Legacy search expects user format
-- Convert to user format when calling legacy search
- Add multienum to correctly process criteria
-- Api search criteria receive an array of values
-- For other fields legacy expects just one value not an array
-- For multienum legacy expects an array of values
-- Add mapper to send array of values to legacy for multienums
- Update list view folder to follow new structure
-- Move list view related components to list view folder
-- Move list view store to list view folder
-- Move list view adapters to list view folder
- Remove old implementation of list view charts
- Use sidebar widgets component
- Add support for declaring list view sidebar widgets
-- Replace ChartDefinitionProvider with ListViewSidebarWidgetDefinitionProvider
-- Add default configuration for list view sidebar widgets
- Add ListQueryDataHandler
-- Allows to easily get the list view query for the criteria set
-- Allows to override query parts and execute it
- Configure leads sidebar widget
- Add LeadsByStatusCount series statistic provider
-- Add unit tests
- Update unit tests
- Adjust alert position
- Add ability to close when clicking in any part of the alert
- Add timer to auto-close success messages
-- Make timeout configurable through the backend
- Add fade in and fade out effects
- Add min width to alerts
- Add karma / jasmine tests
- Rename frontend bulk actions to async actions
- Adjust actions.adapter.ts to use recordview meta actions
-- Check type of action and if its async
-- Allow running async actions
-- Allow reloading page if flag sent from backend
- Add RecordActionDefinitionProvider
- Add record view default actions configuration
- Add DeleteRecordAction
- Add DuplicateRecordAction
- Adjust karma/jasmine tests
- Add codeception unit tests
- Rename options dropdown to actions
- Change action button group rendering
-- allow some items to always be expanded
-- float to the left on extra small screens
- Add record view specific screen size action limits
- Remove hardcoded property identifier to enable us to chose how users are identified.
- Remove user password encoding that isn't used in favour of using legacy users.
- Optimizing the container by removing unused services through service configs.
Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
- Retrieve the subpanel stats from backend
-- with mock data for now
- Display inline loading spinner while the stats are being retrieved
- Render stats using field component
- Add statistics api, resolvers and data providers
- Add statistics provider registry
- Add the needed statistics providers for each subpanel type
-- return mock data for now
- Add inline loading spinner component
- Add ability to defined preset data handlers
-- Extract regular list view data logic to ListDataHandler.php
-- Add PresetListDataHandlerInterface.php and PresetListDataHandlers.php to give the ability do define a preset query
-- Add logic to RecordListHandler.php to use the preset data handler if the preset info is passed on the criteria.
- Update subpanel stores in front end
-- Initialize store proper subpanel criteria
-- Initialize subpanel stores within recordView store.
-- Trigger subpanel data load on subpanel display
- Update subpanel
-- Update styling
-- enable minimize button
- Update table
-- Add loading
- Add button group component
- Add dropdown submenu component
- Apply button group to listview actions menu
- Apply button group to listview settings menu
- Add actions and settings menu limit size based configuration
- Re-factor columnchooser component to be able to call dynamically
- Fix console error on app component
- Add unit tests
- 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
- 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
- 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
- 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
- Add current module and action to AppState
- Calculate current module and action in BaseModuleResolver
-- Add logic to show current module as active on
--- import and find duplicates
- Update legacy handler method to retrieve available modules
-- Also send invisible modules, to
--- Allow to display invisible modules as the selected module
-- Update module name mape
- Retrieve number of navbar items from backed
- Fix grouped tab links
- Simplify navbar abstract by simplifying parameters
-- passing language map instead of individual language
-- passing navigation object instead of individual parts
- Create smaller components for repeated parts of navbar
-- grouped-menu-item
-- menu-item
-- menu-item-link
-- menu-item-list
-- home-menu-item
-- home-menu-recently-viewed
- Removing "jsdoc/no-types" from eslint
-- To avoid conflicts with jsdoc/require-param-type
- Add legacy handler to access RouteConverter
- Add legacy handler to access ModuleNameMapper
- Add legacy handler to access ActionNameMapper
- Remove action and module name maps from Suite8 side
- Update frontend route converter to check for suite 8 routes
-- When link is a suite 8 route does not convert
- Add LegacyScopeState to allow for nested legacy handler calls
-- Add abstract getHandlerKey to base LegacyHandler
-- Implement getHandlerKey on all legacy handlers
- Update legacy handler init and close methods to use scope state
-- Check if withing an already open legacy handler scope
- Listen to legacy api calls on the LegacyRedirectListener
- Add LegacyApiRedirectHandler to re-direct to legacy endpoint
-- Using 307 re-direction response to support post re-direction
-- Using api_paths.yaml with the configuration with paths to check
- Setup API tests using codeception
-- Add helper methods to login in v4 and v8 API
- Add Api test to create account using v4 api
- Add Api test to create account using v8 api
- Add unit test for LegacyApiRedirectHandler
- Check Suite7 session on authenticated endpoints
-- Decorate Security Stage for Graphql
-- Decorate DenyAccessListener for REST
-- Add legacy handler method to check the suite 7 session
- Add Unit tests
- Add LegacySessionLogoutHandler
-- Logout Legacy Suite session when Suite 8 is logged out
-- Configure handler to decorate SessionLogoutHandler
- Add logout to Authentication legacy handler
- Add AspectMock lib
- Add unit tests for LegacySessionLogoutHandler
- Rename unit test folders to be consistent with src.
-- Use the same pattern used in Suite 7
- Add ThemeImages Entity
- Add ThemeImages DataProvider
- Add ThemeImage Service
-- Retrieves the list of images for a given theme
- Add ThemeImagesFinder
-- looks up for images inside a given path
-- Add configuration to specify theme image paths
-- Add configuration to specify supported image types
- Add unit tests
- Add theme-images angular facade
- Update base metadata resolver to load theme images
-- Move UserPreferences loading ot base metadata resolver
-- Loaded theme images after user preference and config loading
--- uses default_theme, if user preferences weren't loaded
-- Add jasmine tests
- Add scrm-image component
-- Add jasmine tests
- Replace usages of svg-icon with image component
-- Fix jasmine tests
- Adjust UserPreference interface to match the current data
- Add Process entity
- Add ProcessDataPersister to allow submitting process requests
- Add Process Collection and Item Data providers
- Add ProcessHandlerInterface to be implemented by process handlers
- Add ProcessHandlerRegistry to key based access to process handlers
-- Add tagged and key based service collection injection
--- to auto inject services implementing the ProcessHandlerInterface
--- Auto tag all services implementing the ProcessHandlerInterface
- Add angular service for processes
- Add Authentication check before running process
- Add GQL record mutation
- 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