- Check if the record is dirty when cancel is clicked
-- Use the formGroup dirty flag
- Launch message modal if dirty
- Only execute cancel if ok button is clicked
- Otherwise stay on page
- Adjust unit / karma tests
- Mark all fields that call formControl setValue as dirty
-- set value does not mark the field as dirty
- The isDirty flag is used to calculate if the record was changed
- Add re-usable message modal component
-- Allow for passing a message labelKey
-- Allow for configuring an array of buttons
- Declare component as an entry component
- Add karma/jasmine tests
Component is meant to by used by the modals that have buttons
Allows to implement a dynamic way to declare modal buttons.
Each button onClick call back receives the activeModal.
Allowing to close or dismiss the modal on the onClick callback
- Re-use scrm-button-group
- Extend button group and button interfaces
-- Override the onClick handler to receiving the active modal
-- Inject the active modal to the button callbacks
- Allow for a configurable breakpoint using the config:
-- ui.modal_buttons_collapse_breakpoint
- Add karma/jasmine tests
- Refactor exiting modal component
- Add component with base modal layout
-- Support adding modal body and footer using content projection
-- Supports declaring close button
- Add karma/jasmine tests
- Move button interface to app-common module
- Add support for defining a labelKey
-- Translate the label using scrm-label
- Add support for defining a titleKey
- Declare type for onClick callback function
- Add ButtonUtils service
- Add structure to allow grouping modal components
- Move modal component to subfolder
-- Modal is now going to serve as the base generic modal
-- Concept similar to the panel component
- Move view, as it is used by the router as a view
- Move classic-view specific services
- Remove api.classic-view.get.ts and classic-view.facade.ts
-- Deprecated
-- The approach of getting the html from the api wasn't followed
- Login component is used by the router like other views
-- Though not a view according to the SuiteCRM concept of a view
- Fix eslint inspection errors
- Add relate edit component
-- Add standard relate handling to BaseRelateComponent
- Re-structure relate fields handling
-- Store the object instead of just the name
-- Map valueObject to the proper attributes when saving
- Allow setting a class in scrm-panel
- Adjust height in filter panel do display the same as other inputs
- Adjust input width to avoid breaking to new line
- Remove paddings from tag
- 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
- Add missing view-container class to filter-panel container to:
-- Match left and right padding of other elements
-- Match text size of other elements
- Remove unneeded bottom margin from view-container
- Use FieldManager
- Change ValidationManager to support save and filter validation
- Use reactive forms formControl in varchar filter
- Add null checks to datetime formatter
- Add field type to criteria
- Set form control value on field init
- display messages for edit or filter modes
- Validate filter input
- Display warning messages when not valid
- Adjust karma / jasmine tests
- Use user format when building field formControl
- Fix phone formatter regex
- Add edit mode option to currency user formatting
- Cleanup date and datetime formatters
- Fix toInternalFormat processing
- Move FieldManager to a service
- Add formControl to Field interface
- Initialize FormControl in FieldManagerBuild
- Setup field validations when building field
-- Add StandardValidatorFn, StandardValidationErrors interfaces
-- Add Validation Manager
--- Look at fieldDefinitions
--- Look at type definitions
-- Add required validation
- Replace 2way databinding usages with formControl in fields
- Convert input value to internal format, on change
-- Add DataTypeFormatter to BaseField
-- Add and implement toInternalFormat on all formatters
-- Add phone and date formatters
- Display error messages in generic field component
- Call validate up save
-- Only allow saving when all fields are valid
- 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