Commit graph

120 commits

Author SHA1 Message Date
Dillon-Brown
6977b48511 Add skip annotation for failing API tests
Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:22:33 +01:00
Clemente Raposo
28eba5ddf0 Add configurable statistics sidebar widget component
- Add Statistics sidebar widget component
-- Add interfaces and types for configuration
- Change widget-panel to receive a label instead of labelkey
-- Change usages to send label instead of label key
- Add karma/jasmine tests
- Fix codeception unit tests
2021-03-30 19:22:32 +01:00
j.anderson
48900113aa Add Tasks Top Widget 2021-03-30 19:22:32 +01:00
Clemente Raposo
68d0d07a1e Add RecordView configurable SidebarWidgets
- Add dynamic sidebar widget component
- Move history-timeline to sidebar widget component
- Add chart sidenar widget componet
- Add charts-data store
- Add multiseries-statistics store
- Add support for recordView defs sidebarWidget configuration
- Apply formatting to yAxis ticks
- re-factor currency and number formatting to be re-usable
-- Add NumberFormatting and CurrencyFormatting services
-- Change corresponding pipes to use services
- Move utils to app-common
- Re-factor charts component
-- to be able to receive data an configs from backend
- Re-factor widget into widget-panel
- Move front-end data lisview charts to list-chart component

- Add support for fetching several rows in SubpanelDataQueryHandler

- Adjust and standardize Statistic API structure
-- Add SeriesResponse Model
-- Add multi-series response building helper methods

- Adjust tests
2021-03-30 19:22:32 +01:00
Dillon-Brown
a267325698 Update codeception namespaces
- Refactor codeception test namespaces
- Remove local config files in favor of dist
- Update test environment with doctrine and nelmio configurations

Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:22:32 +01:00
j.anderson
aeff40fec1 Add tests for Case Days Open 2021-03-30 19:22:32 +01:00
Clemente Raposo
857296f935 Add LeadsDaysOpen Statistic
- Add Statistic implementation class
- Add codeception unit test
-- change mock sql results handling
2021-03-30 19:22:32 +01:00
Clemente Raposo
d5a86261f4 Add OpportunitySalesStageTimeSpan Statistic
- Add OpportunitySalesStageTimeSpan statistic provider
- Add AuditQueryingTrait to have it re-usable
- Add common methods to StatisticsHandlingTrait
- Add support to send labelKey in the statistic response
- Add top widget reloading on save
-- Add refreshOnRecordUpdate flag to allow configuration
- Only do top widget and subpanel calls after record data returns
2021-03-30 19:22:32 +01:00
Dillon-Brown
5a8f382f03 Refactor all existing namespaces
Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:22:31 +01:00
Dillon-Brown
5579401a1f Implement routing configuration
Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:22:30 +01:00
Clemente Raposo
8770ef1441 Render table within subpanel
- De-couple table from listviewStore and MetadataStorea
-- Add TableConfig to get things through input
- Move list data handling from listViewStore to recordListStore
-- use recordListStore within listViewStore
- Add subpanel store
- Initialize list of subpanelStores within RecordViewStore
-- Create a subpanel store for each configured subpanel
- Change subpanel container and subpanel components
-- Use store instead of directly using the metadata
- Remove ui from some of the component names
- Move common interfaces to app-common to avoid dependencies
- Update karma/jasmine tests
- Update codeception tests
2021-03-30 19:22:30 +01:00
codeph0y
56d97d726e Add subpanel buttons 2021-03-30 19:22:29 +01:00
Clemente Raposo
2f96565a30 Add Record Content component
- Add RecordView metadata to view definitions api
- Re-structure record store / fix issues
- Small structure change to the record container adapter
- Add Record Content component
- Add Record Content Adapter to bridge to the record store
- Add minimize option to panel component
- Add minimize button
- Add codeception unit tests
- Add jasmine / karma tests
2021-03-30 19:22:29 +01:00
Clemente Raposo
994b2c69bf Update list view api data retrieval
- Update ListViewHandler to use new method to retrieve data
- Update View definitions api to send fieldDefinitions as sub-object
- Update table and list view components to use new data format
- Move common front end interfaces to a common module
- UnEscape and sanitize html characters in varchar field
-- Add htmlSanitize pipe
- Update unit tests
2021-03-30 19:22:29 +01:00
Dillon-Brown
8c9b920e48 Update .gitignore to specify project specific ignores only
- Updated .gitignore placeholders to .gitkeep and removed the ones that are no longer needed.
- Updated root .gitignore with further project specific ignores.
- Removed all non-project ignores (IDE, filetypes, etc) from the root .gitignore

Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:22:07 +01:00
Clemente Raposo
357b052293 Add button group component
- 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
2021-03-30 19:21:40 +01:00
Clemente Raposo
04d17f2631 Omit fields not defined on vardefs from listview definition api
- Check if if fields are defined on the vardefs and omit any that aren't
-- Log any found
- Clean moduleMatcher list view enable module list
- Add missing modules to use new list view
2021-03-30 19:21:40 +01:00
Dillon-Brown
63fe5948ae Implement SavedSearch filters
Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:21:40 +01:00
Clemente Raposo
bdc22e029f Add standard format for searchdefs api fields
- Check for simplified configuration and expand to standard configuration
- Change the way vardefs defaults are applied to view configurations
- Add unit tests
2021-03-30 19:21:40 +01:00
Clemente Raposo
7df391c37c Fix Codeception Tests
- Remove old functional tests
- Fix aspect mock conf at the run all level
- Fix view definition handler unit test
2021-03-30 19:21:40 +01:00
Dillon-Brown
c4b7604ae1 Implement record-view routing
Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:21:39 +01:00
Clemente Raposo
d8179f5324 Add listview menu action improvements
- Add actionLabelKeys to the navbar api
- Use actionLabelKeys in action-menu
- Filter out the List / View action in te action-menu
- Change module-navigation getActionLabel to support declaring the labelKey to use
- Fix unit test
2021-03-30 19:21:38 +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
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
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
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
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
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
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
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
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
Clemente Raposo
fb359cd5f6 Add ClassicView redirection exclusions
- Add configurable exclusions by module / action on the backend
-- Add ClassicViewRoutingExclusionsHandler to grab these from legacy
-- Expose these as system configs to the frontend
- Update redirect check to classic view
-- Do not re-direct when same route (example, for listview filtering)
-- Do not re-direct when route is excluded
-- Do not re-direct when not able to convert route
- Update unit tests
2021-03-30 19:21:35 +01:00
Clemente Raposo
f10cc2812f Display selected module on navbar
- 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
2021-03-30 19:21:35 +01:00
Dillon-Brown
145ee25dc5 Update FieldDefinitionHandlerTest to remove starting the legacy app
- This fixes an issue with trying to destroy a non-existing session

Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:21:34 +01:00
Dillon-Brown
76744d36b7 Add module vardef entity and data providers
Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:21:34 +01:00
Clemente Raposo
5d6aa45391 Add Route conversion on legacy
- 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
2021-03-30 19:21:34 +01:00
Clemente Raposo
c1ef13322a Add legacy non-view actions re-direction
- Listen to legacy non-view calls on the LegacyRedirectListener
- Add LegacyNonViewActionRedirectHandler to re-direct to legacy
-- Using 307 re-direction response to support post re-direction
- Add unit test for LegacyNonViewActionRedirectHandler
2021-03-30 19:21:34 +01:00
Clemente Raposo
6c3e266b5d Add legacy api re-direction
- 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
2021-03-30 19:21:34 +01:00
Clemente Raposo
e147faf3a1 Implement ClassicView
- Change Classic view component to use Iframe to render legacy view for specified url
- Add Iframe page change observer to detect page changes and route to appropriate view
-- Move legacy to suite8 route conversion to the front end
- Add Iframe resize observer to re-adjust the iframe size according to its contents
- Expose module and action name maps to the frontend within thee system configs
- Add unit and karma tests and ajdust existing ones
- Add floating to messages alert
- Make classic view resolver extend the base metadata resolver
- Move all front end calls to the default_module config to a single place
- Map default module name to frontend name in the legacy handler
2021-03-30 19:21:34 +01:00
Dillon-Brown
aa242f970c Implement user action menu
Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:21:34 +01:00
Dillon-Brown
bc115670ba Add legacy user provider
- This changes the Symfony User entity to fetch the user from the legacy users table

Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:21:34 +01:00
Clemente Raposo
25f7d38fcd Add legacy suite configuration support for grouped tabs
- Add ability to fully start legacy app on legacy handlers
- Update Navbar and UserPreferences handler to start the legacy app after init
- Update Navbar and UserPreferences handler to implement the corresponding interfaces
-- Update corresponding Data providers to use the new interfaces

- Change Navbar legacy handler to take into account the tab configured preferences
-- based on the implementation used in Legacy SugarView

- Update UserPreferences to use the currently logged in user
-- remove hard coded user
-- get UserPreferences from the legacy User object instead of grabbing it directly from the db

- Add All entry to grouped tabs

- Adjust unit tests
2021-03-30 19:21:34 +01:00
Clemente Raposo
77c7057328 Expire Suite 8 session when Suite 7 expires
- 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
2021-03-30 19:21:34 +01:00
Clemente Raposo
59c3efd08c Add Suite 8 LogoutListener
- 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
2021-03-30 19:21:33 +01:00
Clemente Raposo
895ec5b4f7 Add ThemeImages API
- 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
2021-03-30 19:21:33 +01:00
Ross Moroney
6b2c10092d Add user preferences api and legacyhandler 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
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
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