@ieeesa-npm/presentation 0.11.2 → 0.11.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/esm2022/lib/assets/constants.json +10 -4
  2. package/esm2022/lib/components/add-form-group/add-form-group.component.mjs +34 -0
  3. package/esm2022/lib/components/autocomplete/autocomplete.component.mjs +3 -3
  4. package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +3 -3
  5. package/esm2022/lib/components/checkbox/checkbox.component.mjs +3 -3
  6. package/esm2022/lib/components/chips/chips.component.mjs +3 -3
  7. package/esm2022/lib/components/data-table/data-table.component.mjs +41 -16
  8. package/esm2022/lib/components/date-picker/date-picker.component.mjs +7 -4
  9. package/esm2022/lib/components/date-picker-header/date-picker-header.component.mjs +3 -3
  10. package/esm2022/lib/components/dynamic-form/dynamic-form.component.mjs +38 -16
  11. package/esm2022/lib/components/filter/filter.component.mjs +3 -3
  12. package/esm2022/lib/components/footer/footer.component.mjs +3 -3
  13. package/esm2022/lib/components/form-error/form-error.component.mjs +3 -3
  14. package/esm2022/lib/components/form-support-text/form-support-text.component.mjs +48 -7
  15. package/esm2022/lib/components/header/header.component.mjs +11 -20
  16. package/esm2022/lib/components/input/input.component.mjs +3 -3
  17. package/esm2022/lib/components/loader/loader.component.mjs +3 -3
  18. package/esm2022/lib/components/menu/menu.component.mjs +3 -3
  19. package/esm2022/lib/components/modal/modal.component.mjs +3 -3
  20. package/esm2022/lib/components/modal-confirmation/modal-confirmation.component.mjs +3 -3
  21. package/esm2022/lib/components/navigation-menu/navigation-menu.component.mjs +3 -3
  22. package/esm2022/lib/components/notification/notification.component.mjs +3 -3
  23. package/esm2022/lib/components/radio/radio.component.mjs +10 -4
  24. package/esm2022/lib/components/search/search.component.mjs +3 -3
  25. package/esm2022/lib/components/select/select.component.mjs +5 -13
  26. package/esm2022/lib/components/tabs/tabs.component.mjs +86 -0
  27. package/esm2022/lib/components/text-area/text-area.component.mjs +55 -6
  28. package/esm2022/lib/components/tile/tile.component.mjs +3 -3
  29. package/esm2022/lib/components/time-picker/time-picker.component.mjs +59 -0
  30. package/esm2022/lib/components/toggle-button/toggle-button.component.mjs +7 -7
  31. package/esm2022/lib/components/welcome/welcome.component.mjs +3 -3
  32. package/esm2022/lib/directives/dynamic-form-field/dynamic-form-field.directive.mjs +38 -10
  33. package/esm2022/lib/models/event-emit-type.model.mjs +2 -0
  34. package/esm2022/lib/models/field-config.model.mjs +1 -1
  35. package/esm2022/lib/models/form-control-types.model.mjs +4 -11
  36. package/esm2022/lib/models/link-type.model.mjs +6 -0
  37. package/esm2022/lib/models/selected-date.model.mjs +2 -0
  38. package/esm2022/lib/models/selected-time.model.mjs +2 -0
  39. package/esm2022/lib/models/tab.model.mjs +2 -0
  40. package/esm2022/lib/models/table-schema.model.mjs +2 -1
  41. package/esm2022/lib/models/toggle-button.model.mjs +1 -1
  42. package/esm2022/public-api.mjs +8 -3
  43. package/fesm2022/ieeesa-npm-presentation.mjs +480 -236
  44. package/fesm2022/ieeesa-npm-presentation.mjs.map +1 -1
  45. package/lib/components/add-form-group/add-form-group.component.d.ts +19 -0
  46. package/lib/components/chips/chips.component.d.ts +10 -7
  47. package/lib/components/data-table/data-table.component.d.ts +21 -6
  48. package/lib/components/date-picker/date-picker.component.d.ts +2 -1
  49. package/lib/components/dynamic-form/dynamic-form.component.d.ts +28 -12
  50. package/lib/components/form-support-text/form-support-text.component.d.ts +24 -2
  51. package/lib/components/header/header.component.d.ts +4 -8
  52. package/lib/components/radio/radio.component.d.ts +3 -1
  53. package/lib/components/select/select.component.d.ts +0 -1
  54. package/lib/components/tabs/tabs.component.d.ts +44 -0
  55. package/lib/components/text-area/text-area.component.d.ts +23 -2
  56. package/lib/components/time-picker/time-picker.component.d.ts +20 -0
  57. package/lib/components/toggle-button/toggle-button.component.d.ts +2 -2
  58. package/lib/directives/dynamic-form-field/dynamic-form-field.directive.d.ts +8 -4
  59. package/lib/models/event-emit-type.model.d.ts +5 -0
  60. package/lib/models/field-config.model.d.ts +11 -2
  61. package/lib/models/form-control-types.model.d.ts +2 -1
  62. package/lib/models/link-type.model.d.ts +3 -0
  63. package/lib/models/selected-date.model.d.ts +4 -0
  64. package/lib/models/selected-time.model.d.ts +4 -0
  65. package/lib/models/tab.model.d.ts +5 -0
  66. package/lib/models/table-schema.model.d.ts +4 -1
  67. package/lib/models/toggle-button.model.d.ts +2 -0
  68. package/package.json +4 -3
  69. package/public-api.d.ts +7 -2
  70. package/src/lib/assets/constants.json +11 -5
  71. package/esm2022/lib/components/slide-toggle/slide-toggle.component.mjs +0 -80
  72. package/esm2022/lib/models/slide-toggle-options.model.mjs +0 -2
  73. package/lib/components/slide-toggle/slide-toggle.component.d.ts +0 -37
  74. package/lib/models/slide-toggle-options.model.d.ts +0 -5
@@ -0,0 +1,19 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { FormGroup } from '@angular/forms';
3
+ import { FormField } from '../../models/form-field.model';
4
+ import { FieldConfig } from '../../models/field-config.model';
5
+ import * as i0 from "@angular/core";
6
+ export declare class AddFormGroupComponent implements FormField {
7
+ config: FieldConfig;
8
+ group: FormGroup;
9
+ addFormGroup: EventEmitter<Event>;
10
+ buttonActionsInfo: any;
11
+ /**
12
+ * Emits the addFormGroup event on click of add form group button.
13
+ * @param {Event} event
14
+ * @memberof AddFormGroupComponent
15
+ */
16
+ onAddFormGroup(event: Event): void;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<AddFormGroupComponent, never>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<AddFormGroupComponent, "ieeesa-add-form-group", never, {}, { "addFormGroup": "addFormGroup"; }, never, never, true, never>;
19
+ }
@@ -26,10 +26,12 @@ export declare class ChipsComponent implements OnInit, OnDestroy {
26
26
  menuIcon: string;
27
27
  close: string;
28
28
  search: string;
29
+ addFormGroup: string;
29
30
  };
30
31
  button: {
31
32
  cancel: string;
32
33
  ok: string;
34
+ add: string;
33
35
  };
34
36
  chips: {
35
37
  noOfDefaultVisibleChips: number;
@@ -44,13 +46,6 @@ export declare class ChipsComponent implements OnInit, OnDestroy {
44
46
  arrow: {
45
47
  id: number;
46
48
  iconURL: string;
47
- /**
48
- * Chips component allow users to view information, make selections, filter content.
49
- * @export
50
- * @class ChipComponent
51
- * @implements {OnInit}
52
- * @implements {OnDestroy}
53
- */
54
49
  toolTip: string;
55
50
  ariaLabel: string;
56
51
  };
@@ -107,6 +102,7 @@ export declare class ChipsComponent implements OnInit, OnDestroy {
107
102
  };
108
103
  textarea: {
109
104
  maxLengthDefault: number;
105
+ leftCharacters: string;
110
106
  };
111
107
  autocomplete: {
112
108
  minCharToSearch: number;
@@ -147,6 +143,10 @@ export declare class ChipsComponent implements OnInit, OnDestroy {
147
143
  ariaLabel: string;
148
144
  redirectUrl: string;
149
145
  }[];
146
+ /**
147
+ * NgOnDestroy performs necessary cleanup tasks, such as unsubscribing from subscription when the component is being destroyed.
148
+ * @memberof GroupsComponent
149
+ */
150
150
  ieeeLogo: string;
151
151
  copyright: {
152
152
  link: string;
@@ -174,6 +174,9 @@ export declare class ChipsComponent implements OnInit, OnDestroy {
174
174
  };
175
175
  };
176
176
  defaultWelcomeBgColor: string;
177
+ timePicker: {
178
+ defaultTimeFormat: number;
179
+ };
177
180
  };
178
181
  chipsType: typeof ChipsType;
179
182
  orientations: typeof ChipOrientation;
@@ -13,6 +13,7 @@ import { TableActions } from '../../models/table-actions.model';
13
13
  import { ChipOption } from '../../models/chip-option.model';
14
14
  import { SearchType } from '../../models/search.model';
15
15
  import { FiltersAndOptions } from '../../models/filters-options.model';
16
+ import { Menu } from '../../models/menu.model';
16
17
  import * as i0 from "@angular/core";
17
18
  /**
18
19
  * Provides a Material Design styled data-table that can be used to display rows of data with sortBy, filterBy, add/edit/delete table row data, pagination, search table data.
@@ -32,8 +33,11 @@ export declare class DataTableComponent implements OnInit, AfterViewInit, OnDest
32
33
  get columnSchemaInfo(): TableColumnSchema[];
33
34
  constants: any;
34
35
  tableActions: TableActions;
36
+ tableRowActions: Menu[];
35
37
  caption: string;
36
- paginatorConfig: PaginatorConfig;
38
+ private paginatorConfiguration;
39
+ set paginatorConfig(value: PaginatorConfig);
40
+ get paginatorConfig(): PaginatorConfig;
37
41
  searchPlaceHolderText: string;
38
42
  rowEditButton: IconButton;
39
43
  rowDeleteButton: IconButton;
@@ -57,10 +61,9 @@ export declare class DataTableComponent implements OnInit, AfterViewInit, OnDest
57
61
  rowLink: EventEmitter<any>;
58
62
  addRow: EventEmitter<any>;
59
63
  columnDataOnRowLinkClick: EventEmitter<any>;
60
- paginationChange: EventEmitter<{
61
- pageOffset: number;
62
- pageLimit: number;
63
- }>;
64
+ menuActionClick: EventEmitter<any>;
65
+ selectActionMenu: EventEmitter<any>;
66
+ paginationChange: EventEmitter<PageEvent>;
64
67
  selectedFilter: EventEmitter<ChipOption>;
65
68
  removeFilteredOption: EventEmitter<any>;
66
69
  filteredOptions: EventEmitter<FiltersAndOptions[]>;
@@ -101,6 +104,18 @@ export declare class DataTableComponent implements OnInit, AfterViewInit, OnDest
101
104
  * @memberof DataTableComponent
102
105
  */
103
106
  sortTableData(sort: Sort): void;
107
+ /**
108
+ * Handle edit actions method emits the clicked row data
109
+ * @param {*} row
110
+ * @memberof DataTableComponent
111
+ */
112
+ onRowActionClick(row: any): void;
113
+ /**
114
+ * Menu item action method emits the clicked menu options
115
+ * @param {*} row
116
+ * @memberof DataTableComponent
117
+ */
118
+ menuItemAction(row: any): void;
104
119
  /**
105
120
  * OnSelectClick method emits the rowSelected event with selected row data.
106
121
  * @param {*} row
@@ -203,5 +218,5 @@ export declare class DataTableComponent implements OnInit, AfterViewInit, OnDest
203
218
  */
204
219
  ngOnDestroy(): void;
205
220
  static ɵfac: i0.ɵɵFactoryDeclaration<DataTableComponent, never>;
206
- static ɵcmp: i0.ɵɵComponentDeclaration<DataTableComponent, "ieeesa-data-table", never, { "tableDataInfo": { "alias": "tableDataInfo"; "required": false; }; "columnSchemaInfo": { "alias": "columnSchemaInfo"; "required": false; }; "tableActions": { "alias": "tableActions"; "required": false; }; "caption": { "alias": "caption"; "required": false; }; "paginatorConfig": { "alias": "paginatorConfig"; "required": false; }; "searchPlaceHolderText": { "alias": "searchPlaceHolderText"; "required": false; }; "rowEditButton": { "alias": "rowEditButton"; "required": false; }; "rowDeleteButton": { "alias": "rowDeleteButton"; "required": false; }; "tableEditButton": { "alias": "tableEditButton"; "required": false; }; "tableDeleteButton": { "alias": "tableDeleteButton"; "required": false; }; "addButton": { "alias": "addButton"; "required": false; }; "defaultColumnSortDirection": { "alias": "defaultColumnSortDirection"; "required": false; }; "defaultSortedColumn": { "alias": "defaultSortedColumn"; "required": false; }; "isClearSortNeeded": { "alias": "isClearSortNeeded"; "required": false; }; "filters": { "alias": "filters"; "required": false; }; "selectedFilterOptions": { "alias": "selectedFilterOptions"; "required": false; }; "appliedFilterOptions": { "alias": "appliedFilterOptions"; "required": false; }; "searchType": { "alias": "searchType"; "required": false; }; "className": { "alias": "className"; "required": false; }; "inbuiltSortingNeeded": { "alias": "inbuiltSortingNeeded"; "required": false; }; "isCellTextOverflowEllipsis": { "alias": "isCellTextOverflowEllipsis"; "required": false; }; }, { "rowSelected": "rowSelected"; "selectedRowToEdit": "selectedRowToEdit"; "selectedRowToDelete": "selectedRowToDelete"; "selectedRowsToDelete": "selectedRowsToDelete"; "rowLink": "rowLink"; "addRow": "addRow"; "columnDataOnRowLinkClick": "columnDataOnRowLinkClick"; "paginationChange": "paginationChange"; "selectedFilter": "selectedFilter"; "removeFilteredOption": "removeFilteredOption"; "filteredOptions": "filteredOptions"; "searchedValue": "searchedValue"; "sortChange": "sortChange"; }, never, never, true, never>;
221
+ static ɵcmp: i0.ɵɵComponentDeclaration<DataTableComponent, "ieeesa-data-table", never, { "tableDataInfo": { "alias": "tableDataInfo"; "required": false; }; "columnSchemaInfo": { "alias": "columnSchemaInfo"; "required": false; }; "tableActions": { "alias": "tableActions"; "required": false; }; "tableRowActions": { "alias": "tableRowActions"; "required": false; }; "caption": { "alias": "caption"; "required": false; }; "paginatorConfig": { "alias": "paginatorConfig"; "required": false; }; "searchPlaceHolderText": { "alias": "searchPlaceHolderText"; "required": false; }; "rowEditButton": { "alias": "rowEditButton"; "required": false; }; "rowDeleteButton": { "alias": "rowDeleteButton"; "required": false; }; "tableEditButton": { "alias": "tableEditButton"; "required": false; }; "tableDeleteButton": { "alias": "tableDeleteButton"; "required": false; }; "addButton": { "alias": "addButton"; "required": false; }; "defaultColumnSortDirection": { "alias": "defaultColumnSortDirection"; "required": false; }; "defaultSortedColumn": { "alias": "defaultSortedColumn"; "required": false; }; "isClearSortNeeded": { "alias": "isClearSortNeeded"; "required": false; }; "filters": { "alias": "filters"; "required": false; }; "selectedFilterOptions": { "alias": "selectedFilterOptions"; "required": false; }; "appliedFilterOptions": { "alias": "appliedFilterOptions"; "required": false; }; "searchType": { "alias": "searchType"; "required": false; }; "className": { "alias": "className"; "required": false; }; "inbuiltSortingNeeded": { "alias": "inbuiltSortingNeeded"; "required": false; }; "isCellTextOverflowEllipsis": { "alias": "isCellTextOverflowEllipsis"; "required": false; }; }, { "rowSelected": "rowSelected"; "selectedRowToEdit": "selectedRowToEdit"; "selectedRowToDelete": "selectedRowToDelete"; "selectedRowsToDelete": "selectedRowsToDelete"; "rowLink": "rowLink"; "addRow": "addRow"; "columnDataOnRowLinkClick": "columnDataOnRowLinkClick"; "menuActionClick": "menuActionClick"; "selectActionMenu": "selectActionMenu"; "paginationChange": "paginationChange"; "selectedFilter": "selectedFilter"; "removeFilteredOption": "removeFilteredOption"; "filteredOptions": "filteredOptions"; "searchedValue": "searchedValue"; "sortChange": "sortChange"; }, never, never, true, never>;
207
222
  }
@@ -7,6 +7,7 @@ import { CalendarType } from '../../models/calendar.model';
7
7
  import { DatepickerService } from '../../services/datepicker.service';
8
8
  import { FormField } from '../../models/form-field.model';
9
9
  import { FormUtilityService } from '../../services/form-utility.service';
10
+ import { SelectedDate } from '../../models/selected-date.model';
10
11
  import * as i0 from "@angular/core";
11
12
  export declare class CustomDateAdapter extends MomentDateAdapter {
12
13
  /**
@@ -73,7 +74,7 @@ export declare class DatePickerComponent implements FormField, OnInit {
73
74
  };
74
75
  minDate: Date | moment.Moment;
75
76
  maxDate: Date | moment.Moment;
76
- selectedDate: EventEmitter<string>;
77
+ selectedDate: EventEmitter<SelectedDate>;
77
78
  selectedDateRange: EventEmitter<{
78
79
  startDate: string;
79
80
  endDate: string;
@@ -6,7 +6,9 @@ import { FormGrid } from '../../models/form-grid.model';
6
6
  import { DynamicFormFieldDirective } from '../../directives/dynamic-form-field/dynamic-form-field.directive';
7
7
  import { AlignType } from '../../models/align-type.model';
8
8
  import { CheckboxOption } from '../../models/checkbox-option.model';
9
- import { SlideToggleOption } from '../../models/slide-toggle-options.model';
9
+ import { SelectedDate } from '../../models/selected-date.model';
10
+ import { SelectedTime } from '../../models/selected-time.model';
11
+ import { LinkEventEmitType } from '../../models/event-emit-type.model';
10
12
  import * as i0 from "@angular/core";
11
13
  /**
12
14
  * Creates a reactive form dynamically based on the passed form field configuration and handles the form events.
@@ -56,7 +58,7 @@ export declare class DynamicFormComponent implements OnInit, AfterContentInit {
56
58
  formGroupsReference: EventEmitter<FormGroup<any>[]>;
57
59
  dropdownChange: EventEmitter<any>;
58
60
  formCheckboxSelection: EventEmitter<CheckboxOption>;
59
- formDateSelected: EventEmitter<string>;
61
+ formDateSelected: EventEmitter<SelectedDate>;
60
62
  formSelectSearch: EventEmitter<{
61
63
  searchEvent: Event;
62
64
  controlName: string;
@@ -70,7 +72,9 @@ export declare class DynamicFormComponent implements OnInit, AfterContentInit {
70
72
  startDate: string;
71
73
  endDate: string;
72
74
  }>;
73
- formSlideToggleChange: EventEmitter<SlideToggleOption>;
75
+ addFormGroup: EventEmitter<Event>;
76
+ formTimeSelected: EventEmitter<SelectedTime>;
77
+ supportTextLinkClick: EventEmitter<LinkEventEmitType>;
74
78
  form: FormGroup;
75
79
  formGroupArray: FormGroup[];
76
80
  formControlArray: any[];
@@ -172,10 +176,16 @@ export declare class DynamicFormComponent implements OnInit, AfterContentInit {
172
176
  };
173
177
  /**
174
178
  * Handles form date selection event
175
- * @param {string[]} event
179
+ * @param {SelectedDate} selectedDate
176
180
  * @memberof DynamicFormComponent
177
181
  */
178
- onDateSelected(event: string): void;
182
+ onDateSelected(selectedDate: SelectedDate): void;
183
+ /**
184
+ * Handles form time selection event
185
+ * @param {SelectedTime} selectedTime
186
+ * @memberof DynamicFormComponent
187
+ */
188
+ onTimeSelected(selectedTime: SelectedTime): void;
179
189
  /**
180
190
  * Emits selected form date range
181
191
  * @param {{startDate: string, endDate: string}} dateRange
@@ -208,12 +218,6 @@ export declare class DynamicFormComponent implements OnInit, AfterContentInit {
208
218
  * @memberof DynamicFormComponent
209
219
  */
210
220
  onAutoCompleteOptionSelected(): void;
211
- /**
212
- * Handles form slide toggle event and emits formSlideToggleChange event.
213
- * @param {SlideToggleOption} toggle
214
- * @memberof DynamicFormComponent
215
- */
216
- onFormSlideToggleChange(toggle: SlideToggleOption): void;
217
221
  /**
218
222
  * Converts passed control name in hyphenated css class name
219
223
  * @param {string} className
@@ -221,6 +225,18 @@ export declare class DynamicFormComponent implements OnInit, AfterContentInit {
221
225
  * @memberof DynamicFormComponent
222
226
  */
223
227
  getRowClassName(className: string): string;
228
+ /**
229
+ * Emits the addFormGroup event
230
+ * @param {Event} event
231
+ * @memberof DynamicFormComponent
232
+ */
233
+ onAddFormGroup(event: Event): void;
234
+ /**
235
+ * Emits supportTextLinkClick event on click of form support text link
236
+ * @param {LinkEventEmitType} event
237
+ * @memberof DynamicFormComponent
238
+ */
239
+ onSupportTextLinkClick(event: LinkEventEmitType): void;
224
240
  static ɵfac: i0.ɵɵFactoryDeclaration<DynamicFormComponent, never>;
225
- static ɵcmp: i0.ɵɵComponentDeclaration<DynamicFormComponent, "ieeesa-dynamic-form", ["dynamicForm"], { "formGroups": { "alias": "formGroups"; "required": false; }; "submitResponse": { "alias": "submitResponse"; "required": false; }; "searchResponse": { "alias": "searchResponse"; "required": false; }; "colWidth": { "alias": "colWidth"; "required": false; }; "isLegendVisible": { "alias": "isLegendVisible"; "required": false; }; "rightButtonLabel": { "alias": "rightButtonLabel"; "required": false; }; "leftButtonLabel": { "alias": "leftButtonLabel"; "required": false; }; "isSubmitButtonDisabled": { "alias": "isSubmitButtonDisabled"; "required": false; }; "isLeftButtonDisabled": { "alias": "isLeftButtonDisabled"; "required": false; }; "isLeftButtonNeeded": { "alias": "isLeftButtonNeeded"; "required": false; }; "actionButtonAlign": { "alias": "actionButtonAlign"; "required": false; }; }, { "formSubmit": "formSubmit"; "formChange": "formChange"; "formInput": "formInput"; "formLeftButtonClicked": "formLeftButtonClicked"; "formSearchApply": "formSearchApply"; "formGroupsReference": "formGroupsReference"; "dropdownChange": "dropdownChange"; "formCheckboxSelection": "formCheckboxSelection"; "formDateSelected": "formDateSelected"; "formSelectSearch": "formSelectSearch"; "formControlChange": "formControlChange"; "formAutoCompleteSearch": "formAutoCompleteSearch"; "formAutoCompleteClearSearchValue": "formAutoCompleteClearSearchValue"; "autoCompleteOptionSelected": "autoCompleteOptionSelected"; "formAfterContentInit": "formAfterContentInit"; "formSelectedDateRange": "formSelectedDateRange"; "formSlideToggleChange": "formSlideToggleChange"; }, never, never, true, never>;
241
+ static ɵcmp: i0.ɵɵComponentDeclaration<DynamicFormComponent, "ieeesa-dynamic-form", ["dynamicForm"], { "formGroups": { "alias": "formGroups"; "required": false; }; "submitResponse": { "alias": "submitResponse"; "required": false; }; "searchResponse": { "alias": "searchResponse"; "required": false; }; "colWidth": { "alias": "colWidth"; "required": false; }; "isLegendVisible": { "alias": "isLegendVisible"; "required": false; }; "rightButtonLabel": { "alias": "rightButtonLabel"; "required": false; }; "leftButtonLabel": { "alias": "leftButtonLabel"; "required": false; }; "isSubmitButtonDisabled": { "alias": "isSubmitButtonDisabled"; "required": false; }; "isLeftButtonDisabled": { "alias": "isLeftButtonDisabled"; "required": false; }; "isLeftButtonNeeded": { "alias": "isLeftButtonNeeded"; "required": false; }; "actionButtonAlign": { "alias": "actionButtonAlign"; "required": false; }; }, { "formSubmit": "formSubmit"; "formChange": "formChange"; "formInput": "formInput"; "formLeftButtonClicked": "formLeftButtonClicked"; "formSearchApply": "formSearchApply"; "formGroupsReference": "formGroupsReference"; "dropdownChange": "dropdownChange"; "formCheckboxSelection": "formCheckboxSelection"; "formDateSelected": "formDateSelected"; "formSelectSearch": "formSelectSearch"; "formControlChange": "formControlChange"; "formAutoCompleteSearch": "formAutoCompleteSearch"; "formAutoCompleteClearSearchValue": "formAutoCompleteClearSearchValue"; "autoCompleteOptionSelected": "autoCompleteOptionSelected"; "formAfterContentInit": "formAfterContentInit"; "formSelectedDateRange": "formSelectedDateRange"; "addFormGroup": "addFormGroup"; "formTimeSelected": "formTimeSelected"; "supportTextLinkClick": "supportTextLinkClick"; }, never, never, true, never>;
226
242
  }
@@ -1,10 +1,32 @@
1
+ import { AfterViewInit, ElementRef, EventEmitter, OnDestroy } from '@angular/core';
1
2
  import { FormGroup } from '@angular/forms';
2
3
  import { FieldConfig } from '../../models/field-config.model';
4
+ import { LinkEventEmitType } from '../../models/event-emit-type.model';
3
5
  import * as i0 from "@angular/core";
4
- export declare class FormSupportTextComponent {
6
+ export declare class FormSupportTextComponent implements OnDestroy, AfterViewInit {
7
+ elementRef: ElementRef;
5
8
  formGroup: FormGroup;
6
9
  config: FieldConfig;
7
10
  safeType: string;
11
+ supportTextLinkClick: EventEmitter<LinkEventEmitType>;
12
+ constructor(elementRef: ElementRef);
13
+ /**
14
+ * Emits supportTextLinkClick event on click of form support text link
15
+ * Passes linkType if available
16
+ * @param {Event} event
17
+ * @memberof FormSupportTextComponent
18
+ */
19
+ onAnchorElementClick(event: Event): void;
20
+ /**
21
+ * Adds click event to the anchor tags using querySelectorAll
22
+ * @memberof FormSupportTextComponent
23
+ */
24
+ ngAfterViewInit(): void;
25
+ /**
26
+ * Removing the event listeners on destroy
27
+ * @memberof FormSupportTextComponent
28
+ */
29
+ ngOnDestroy(): void;
8
30
  static ɵfac: i0.ɵɵFactoryDeclaration<FormSupportTextComponent, never>;
9
- static ɵcmp: i0.ɵɵComponentDeclaration<FormSupportTextComponent, "ieeesa-form-support-text", never, { "formGroup": { "alias": "formGroup"; "required": false; }; "config": { "alias": "config"; "required": false; }; }, {}, never, never, true, never>;
31
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormSupportTextComponent, "ieeesa-form-support-text", never, { "formGroup": { "alias": "formGroup"; "required": false; }; "config": { "alias": "config"; "required": false; }; }, { "supportTextLinkClick": "supportTextLinkClick"; }, never, never, true, never>;
10
32
  }
@@ -14,10 +14,6 @@ export declare class HeaderComponent implements OnDestroy {
14
14
  private authService;
15
15
  private storageService;
16
16
  private headerConfigInfo;
17
- screenTexts: any;
18
- private profileMenuOptions;
19
- menuItems: Menu[];
20
- isMobileView: boolean;
21
17
  /**
22
18
  * HeaderConfig represents the configurable properties required for header component.
23
19
  * Input property of the component to get the configurable values such as logo, app title, signed in user name and logout redirect URL.
@@ -29,9 +25,13 @@ export declare class HeaderComponent implements OnDestroy {
29
25
  set menuConfig(value: Menu[]);
30
26
  get menuConfig(): Menu[];
31
27
  destroy$: Subject<boolean>;
28
+ screenTexts: any;
29
+ isMobileView: boolean;
32
30
  toggleNavMenuClick: EventEmitter<Event>;
33
31
  profileMenuClick: EventEmitter<Menu>;
32
+ private profileMenuOptions;
34
33
  userProfileIconButton: IconButton;
34
+ menuItems: Menu[];
35
35
  constructor(breakPointObserverService: BreakpointObserverService, authService: AuthService, storageService: StorageService);
36
36
  /**
37
37
  * Desktop event to navigate to logout page.
@@ -52,10 +52,6 @@ export declare class HeaderComponent implements OnDestroy {
52
52
  * @memberof HeaderComponent
53
53
  */
54
54
  onUserProfileMenuClick(menu: Menu): void;
55
- /**
56
- * Modifies the menu items based on mobile or desktop.
57
- */
58
- getMenuItems(): void;
59
55
  /**
60
56
  * Cleans up resources when the component is destroyed.
61
57
  * @memberof HeaderComponent
@@ -17,7 +17,9 @@ export declare class RadioComponent implements OnInit, FormField {
17
17
  config: FieldConfig;
18
18
  group: FormGroup;
19
19
  formControlName: string;
20
- radioGroup: RadioOption[];
20
+ private radioGroups;
21
+ set radioGroup(value: RadioOption[]);
22
+ get radioGroup(): RadioOption[];
21
23
  isDisabled: boolean;
22
24
  selectedRadioOption: EventEmitter<RadioOption>;
23
25
  constructor(formUtilityService: FormUtilityService);
@@ -26,7 +26,6 @@ export declare class SelectComponent implements OnInit, AfterViewInit {
26
26
  private _dropdownOptions;
27
27
  private _selectedOptions;
28
28
  private _isSortNeeded;
29
- private unsortedDropdownOptions;
30
29
  /**
31
30
  * Takes isSortNeeded as input to check if the passed options are sorted or not.
32
31
  * @memberof SelectComponent
@@ -0,0 +1,44 @@
1
+ import { ComponentRef, OnDestroy, OnInit, ViewContainerRef } from '@angular/core';
2
+ import { Tab } from '../../models/tab.model';
3
+ import * as i0 from "@angular/core";
4
+ export declare class TabsComponent implements OnInit, OnDestroy {
5
+ componentContainer: ViewContainerRef;
6
+ componentRef: ComponentRef<any>;
7
+ isComponentLoaded: boolean;
8
+ selectedTabIndex: number;
9
+ private _tabs;
10
+ set tabs(tab: Tab[]);
11
+ get tabs(): Tab[];
12
+ /**
13
+ * Verifies tabs count and calls createComponent() to load selected component
14
+ * @memberof TabsComponent
15
+ */
16
+ ngOnInit(): void;
17
+ /**
18
+ * Loads the respective component on tab change event when componentRef is available.
19
+ * @param {number} index
20
+ * @memberof TabsComponent
21
+ */
22
+ onTabChange(index: number): void;
23
+ /**
24
+ * Dynamically loads the component in the DOM container based on the passed tab and clears the previously loaded component before loading the new one
25
+ * @param {Tab} tab
26
+ * @memberof TabsComponent
27
+ */
28
+ createComponent(tab: Tab): void;
29
+ /**
30
+ * Returns unique identifier for the tab.
31
+ * @param {number} index
32
+ * @param {Tab} option
33
+ * @return {*} {(number | string)}
34
+ * @memberof TabsComponent
35
+ */
36
+ trackByFn(index: number, option: Tab): number | string;
37
+ /**
38
+ * Cleans up resources when the component is destroyed
39
+ * @memberof TabsComponent
40
+ */
41
+ ngOnDestroy(): void;
42
+ static ɵfac: i0.ɵɵFactoryDeclaration<TabsComponent, never>;
43
+ static ɵcmp: i0.ɵɵComponentDeclaration<TabsComponent, "ieeesa-tabs", never, { "selectedTabIndex": { "alias": "selectedTabIndex"; "required": false; }; "tabs": { "alias": "tabs"; "required": false; }; }, {}, never, never, true, never>;
44
+ }
@@ -1,11 +1,32 @@
1
+ import { EventEmitter, OnInit } from '@angular/core';
1
2
  import { FormGroup } from '@angular/forms';
2
3
  import { FieldConfig } from '../../models/field-config.model';
3
4
  import { FormField } from '../../models/form-field.model';
5
+ import { LinkEventEmitType } from '../../models/event-emit-type.model';
4
6
  import * as i0 from "@angular/core";
5
- export declare class TextAreaComponent implements FormField {
7
+ export declare class TextAreaComponent implements OnInit, FormField {
6
8
  config: FieldConfig;
7
9
  group: FormGroup;
10
+ remainingCharsLeftMessage: string;
8
11
  constants: any;
12
+ leftCharCount: number;
13
+ supportTextLinkClick: EventEmitter<LinkEventEmitType>;
14
+ /**
15
+ * Initializes the leftCharCount and remainingCharsLeftMessage
16
+ * @memberof TextAreaComponent
17
+ */
18
+ ngOnInit(): void;
19
+ /**
20
+ * Calculates the remaining characters count on change of form control value and sets the remaining count.
21
+ * @memberof TextAreaComponent
22
+ */
23
+ onChange(event: Event): void;
24
+ /**
25
+ * Emits supportTextLinkClick event on click of form support text link
26
+ * @param {LinkEventEmitType} event
27
+ * @memberof TextAreaComponent
28
+ */
29
+ onSupportTextLinkClick(event: LinkEventEmitType): void;
9
30
  static ɵfac: i0.ɵɵFactoryDeclaration<TextAreaComponent, never>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<TextAreaComponent, "ieeesa-text-area", never, {}, {}, never, never, true, never>;
31
+ static ɵcmp: i0.ɵɵComponentDeclaration<TextAreaComponent, "ieeesa-text-area", never, { "remainingCharsLeftMessage": { "alias": "remainingCharsLeftMessage"; "required": false; }; }, { "supportTextLinkClick": "supportTextLinkClick"; }, never, never, true, never>;
11
32
  }
@@ -0,0 +1,20 @@
1
+ import { ElementRef, EventEmitter } from '@angular/core';
2
+ import { FormGroup } from '@angular/forms';
3
+ import { FieldConfig } from '../../models/field-config.model';
4
+ import { SelectedTime } from '../../models/selected-time.model';
5
+ import * as i0 from "@angular/core";
6
+ export declare class TimePickerComponent {
7
+ config: FieldConfig;
8
+ group: FormGroup;
9
+ formTimeSelected: EventEmitter<SelectedTime>;
10
+ constants: any;
11
+ picker: ElementRef;
12
+ /**
13
+ * Handles form time selection event
14
+ * @type {void}
15
+ * @memberof TimePickerComponent
16
+ */
17
+ onTimeSelection(time: string): void;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<TimePickerComponent, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<TimePickerComponent, "ieeesa-time-picker", never, {}, { "formTimeSelected": "formTimeSelected"; }, never, never, true, never>;
20
+ }
@@ -1,5 +1,5 @@
1
- import { EventEmitter, OnInit } from "@angular/core";
2
- import { ToggleButton } from "../../models/toggle-button.model";
1
+ import { EventEmitter, OnInit } from '@angular/core';
2
+ import { ToggleButton } from '../../models/toggle-button.model';
3
3
  import * as i0 from "@angular/core";
4
4
  /**
5
5
  * ToggleButtonComponent allows users to select toggle between group of buttons.
@@ -4,7 +4,9 @@ import { Subject } from 'rxjs';
4
4
  import { FieldConfig } from '../../models/field-config.model';
5
5
  import { FormField } from '../../models/form-field.model';
6
6
  import { CheckboxOption } from '../../models/checkbox-option.model';
7
- import { SlideToggleOption } from '../../models/slide-toggle-options.model';
7
+ import { SelectedDate } from '../../models/selected-date.model';
8
+ import { SelectedTime } from '../../models/selected-time.model';
9
+ import { LinkEventEmitType } from '../../models/event-emit-type.model';
8
10
  import * as i0 from "@angular/core";
9
11
  /**
10
12
  * Provides the implementation of DynamicFormFieldDirective which hosts and creates the form fields components dynamically.
@@ -47,7 +49,8 @@ export declare class DynamicFormFieldDirective implements FormField, OnInit, OnD
47
49
  get searchResponse(): any;
48
50
  formSearchApply: EventEmitter<Event>;
49
51
  formDropdownSelected: EventEmitter<Event>;
50
- formDateSelected: EventEmitter<string>;
52
+ formDateSelected: EventEmitter<SelectedDate>;
53
+ formTimeSelected: EventEmitter<SelectedTime>;
51
54
  formSelectedDateRange: EventEmitter<{
52
55
  startDate: string;
53
56
  endDate: string;
@@ -61,7 +64,8 @@ export declare class DynamicFormFieldDirective implements FormField, OnInit, OnD
61
64
  autoCompleteOptionSelected: EventEmitter<Event>;
62
65
  formCheckboxSelection: EventEmitter<CheckboxOption>;
63
66
  formInputValue: EventEmitter<string | number>;
64
- formSlideToggleChange: EventEmitter<SlideToggleOption>;
67
+ addFormGroup: EventEmitter<Event>;
68
+ supportTextLinkClick: EventEmitter<LinkEventEmitType>;
65
69
  component: ComponentRef<any>;
66
70
  constructor(container: ViewContainerRef);
67
71
  /**
@@ -80,5 +84,5 @@ export declare class DynamicFormFieldDirective implements FormField, OnInit, OnD
80
84
  */
81
85
  ngOnDestroy(): void;
82
86
  static ɵfac: i0.ɵɵFactoryDeclaration<DynamicFormFieldDirective, never>;
83
- static ɵdir: i0.ɵɵDirectiveDeclaration<DynamicFormFieldDirective, "[ieeesaDynamicFormField]", never, { "config": { "alias": "config"; "required": false; }; "group": { "alias": "group"; "required": false; }; "submitResponse": { "alias": "submitResponse"; "required": false; }; "searchResponse": { "alias": "searchResponse"; "required": false; }; }, { "formSearchApply": "formSearchApply"; "formDropdownSelected": "formDropdownSelected"; "formDateSelected": "formDateSelected"; "formSelectedDateRange": "formSelectedDateRange"; "formSelectSearch": "formSelectSearch"; "formAutoCompleteSearch": "formAutoCompleteSearch"; "autoCompleteClearSearchValue": "autoCompleteClearSearchValue"; "autoCompleteOptionSelected": "autoCompleteOptionSelected"; "formCheckboxSelection": "formCheckboxSelection"; "formInputValue": "formInputValue"; "formSlideToggleChange": "formSlideToggleChange"; }, never, never, true, never>;
87
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DynamicFormFieldDirective, "[ieeesaDynamicFormField]", never, { "config": { "alias": "config"; "required": false; }; "group": { "alias": "group"; "required": false; }; "submitResponse": { "alias": "submitResponse"; "required": false; }; "searchResponse": { "alias": "searchResponse"; "required": false; }; }, { "formSearchApply": "formSearchApply"; "formDropdownSelected": "formDropdownSelected"; "formDateSelected": "formDateSelected"; "formTimeSelected": "formTimeSelected"; "formSelectedDateRange": "formSelectedDateRange"; "formSelectSearch": "formSelectSearch"; "formAutoCompleteSearch": "formAutoCompleteSearch"; "autoCompleteClearSearchValue": "autoCompleteClearSearchValue"; "autoCompleteOptionSelected": "autoCompleteOptionSelected"; "formCheckboxSelection": "formCheckboxSelection"; "formInputValue": "formInputValue"; "addFormGroup": "addFormGroup"; "supportTextLinkClick": "supportTextLinkClick"; }, never, never, true, never>;
84
88
  }
@@ -0,0 +1,5 @@
1
+ import { LinkType } from "./link-type.model";
2
+ export interface LinkEventEmitType {
3
+ event: Event;
4
+ linkType?: LinkType;
5
+ }
@@ -5,7 +5,7 @@ import { RadioOption } from '../models/radio-option.model';
5
5
  import { SearchType } from '../models/search.model';
6
6
  import { SelectOption } from '../models/select-option.model';
7
7
  import { AutoCompleteOption } from '../models/autocomplete-option.model';
8
- import { SlideToggleOption } from './slide-toggle-options.model';
8
+ import { LinkType } from './link-type.model';
9
9
  export interface FieldConfig {
10
10
  isSortNeeded?: boolean;
11
11
  disabled?: boolean;
@@ -47,5 +47,14 @@ export interface FieldConfig {
47
47
  ariaDescribedById?: string;
48
48
  ariaMultiline?: boolean;
49
49
  minSelectionRequired?: number;
50
- slideToggleOption?: SlideToggleOption;
50
+ maxCharCount?: number;
51
+ remainingCharsLeftMessage?: string;
52
+ name?: string;
53
+ maxRangeLimit?: number;
54
+ hour24?: number;
55
+ hour12?: number;
56
+ isSearch?: boolean;
57
+ invalidDateTimeErrorMessage?: string;
58
+ is24HoursTimeFormat?: boolean;
59
+ linkType?: LinkType;
51
60
  }
@@ -7,5 +7,6 @@ export declare enum FormControlType {
7
7
  CHECKBOX = "CHECKBOX",
8
8
  RADIO = "RADIO",
9
9
  AUTO_COMPLETE = "AUTO_COMPLETE",
10
- SLIDE_TOGGLE = "SLIDE_TOGGLE"
10
+ ADD_FORM_GROUP = "ADD_FORM_GROUP",
11
+ TIME_PICKER = "TIME_PICKER"
11
12
  }
@@ -0,0 +1,3 @@
1
+ export declare enum LinkType {
2
+ ADD_MEETING = "ADD_MEETING"
3
+ }
@@ -0,0 +1,4 @@
1
+ export interface SelectedDate {
2
+ date: string;
3
+ controlName?: string;
4
+ }
@@ -0,0 +1,4 @@
1
+ export interface SelectedTime {
2
+ time: string;
3
+ controlName?: string;
4
+ }
@@ -0,0 +1,5 @@
1
+ export interface Tab {
2
+ id: number | string;
3
+ label: string;
4
+ componentRef: any;
5
+ }
@@ -4,7 +4,8 @@ export declare enum TableColumnType {
4
4
  SELECT = "SELECT",
5
5
  ADD = "ADD",
6
6
  EDIT = "EDIT",
7
- DELETE = "DELETE"
7
+ DELETE = "DELETE",
8
+ ACTIONS = "ACTIONS"
8
9
  }
9
10
  export declare enum TableColumnSortDirection {
10
11
  ASCENDING = "asc",
@@ -19,5 +20,7 @@ export interface TableColumnSchema {
19
20
  cellData: any;
20
21
  isDateColumn?: boolean;
21
22
  isStickyColumn?: boolean;
23
+ isStickyEndColumn?: boolean;
22
24
  isSortableColumn?: boolean;
25
+ isHTMLCellData?: boolean;
23
26
  }
@@ -2,4 +2,6 @@ export interface ToggleButton {
2
2
  id: number;
3
3
  label: string;
4
4
  isDisabled?: boolean;
5
+ isIconNeeded?: boolean;
6
+ iconURL?: string;
5
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ieeesa-npm/presentation",
3
- "version": "0.11.2",
3
+ "version": "0.11.4",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^16.1.0",
6
6
  "@angular/core": "^16.1.0",
@@ -18,8 +18,9 @@
18
18
  "moment": "^2.29.4",
19
19
  "rxjs": "~7.8.0",
20
20
  "zone.js": "~0.13.0",
21
- "@ieeesa-npm/shared-styles": "^0.2.6",
22
- "@ieeesa-npm/feature": "^0.9.2"
21
+ "@ieeesa-npm/shared-styles": "^0.2.8",
22
+ "ngx-material-timepicker": "^13.1.1",
23
+ "@ieeesa-npm/feature": "^0.9.4"
23
24
  },
24
25
  "dependencies": {
25
26
  "tslib": "^2.3.0"