@ieeesa-npm/presentation 0.11.7 → 0.11.9

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 (56) 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 +2 -2
  4. package/esm2022/lib/components/checkbox/checkbox.component.mjs +1 -1
  5. package/esm2022/lib/components/data-table/data-table.component.mjs +46 -9
  6. package/esm2022/lib/components/date-picker/date-picker.component.mjs +7 -4
  7. package/esm2022/lib/components/dynamic-form/dynamic-form.component.mjs +39 -6
  8. package/esm2022/lib/components/form-error/form-error.component.mjs +3 -3
  9. package/esm2022/lib/components/form-support-text/form-support-text.component.mjs +47 -6
  10. package/esm2022/lib/components/icon-button/icon-button.component.mjs +3 -3
  11. package/esm2022/lib/components/input/input.component.mjs +1 -1
  12. package/esm2022/lib/components/radio/radio.component.mjs +8 -2
  13. package/esm2022/lib/components/search/search.component.mjs +1 -1
  14. package/esm2022/lib/components/select/select.component.mjs +3 -2
  15. package/esm2022/lib/components/slide-toggle/slide-toggle.component.mjs +1 -1
  16. package/esm2022/lib/components/tabs/tabs.component.mjs +86 -0
  17. package/esm2022/lib/components/text-area/text-area.component.mjs +55 -6
  18. package/esm2022/lib/components/time-picker/time-picker.component.mjs +59 -0
  19. package/esm2022/lib/components/toggle-button/toggle-button.component.mjs +7 -7
  20. package/esm2022/lib/directives/dynamic-form-field/dynamic-form-field.directive.mjs +43 -3
  21. package/esm2022/lib/models/event-emit-type.model.mjs +2 -0
  22. package/esm2022/lib/models/field-config.model.mjs +1 -1
  23. package/esm2022/lib/models/form-control-types.model.mjs +4 -9
  24. package/esm2022/lib/models/link-type.model.mjs +6 -0
  25. package/esm2022/lib/models/selected-date.model.mjs +2 -0
  26. package/esm2022/lib/models/selected-time.model.mjs +2 -0
  27. package/esm2022/lib/models/tab.model.mjs +2 -0
  28. package/esm2022/lib/models/table-schema.model.mjs +2 -1
  29. package/esm2022/lib/models/toggle-button.model.mjs +1 -1
  30. package/esm2022/public-api.mjs +8 -1
  31. package/fesm2022/ieeesa-npm-presentation.mjs +423 -56
  32. package/fesm2022/ieeesa-npm-presentation.mjs.map +1 -1
  33. package/lib/components/add-form-group/add-form-group.component.d.ts +19 -0
  34. package/lib/components/chips/chips.component.d.ts +7 -11
  35. package/lib/components/data-table/data-table.component.d.ts +22 -6
  36. package/lib/components/date-picker/date-picker.component.d.ts +2 -1
  37. package/lib/components/dynamic-form/dynamic-form.component.d.ts +28 -4
  38. package/lib/components/form-support-text/form-support-text.component.d.ts +24 -2
  39. package/lib/components/radio/radio.component.d.ts +3 -1
  40. package/lib/components/tabs/tabs.component.d.ts +44 -0
  41. package/lib/components/text-area/text-area.component.d.ts +23 -2
  42. package/lib/components/time-picker/time-picker.component.d.ts +20 -0
  43. package/lib/components/toggle-button/toggle-button.component.d.ts +2 -2
  44. package/lib/directives/dynamic-form-field/dynamic-form-field.directive.d.ts +8 -2
  45. package/lib/models/event-emit-type.model.d.ts +5 -0
  46. package/lib/models/field-config.model.d.ts +11 -0
  47. package/lib/models/form-control-types.model.d.ts +2 -0
  48. package/lib/models/link-type.model.d.ts +3 -0
  49. package/lib/models/selected-date.model.d.ts +4 -0
  50. package/lib/models/selected-time.model.d.ts +4 -0
  51. package/lib/models/tab.model.d.ts +5 -0
  52. package/lib/models/table-schema.model.d.ts +4 -1
  53. package/lib/models/toggle-button.model.d.ts +2 -0
  54. package/package.json +2 -3
  55. package/public-api.d.ts +7 -0
  56. package/src/lib/assets/constants.json +11 -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;
@@ -134,10 +130,7 @@ export declare class ChipsComponent implements OnInit, OnDestroy {
134
130
  iconURL: string;
135
131
  label: string;
136
132
  ariaLabel: string;
137
- toolTip: string; /**
138
- * Shows list of chips on the basis of view more/less button state.
139
- * @memberof ChipComponent
140
- */
133
+ toolTip: string;
141
134
  isToolTipNeeded: boolean;
142
135
  }[];
143
136
  };
@@ -177,6 +170,9 @@ export declare class ChipsComponent implements OnInit, OnDestroy {
177
170
  };
178
171
  };
179
172
  defaultWelcomeBgColor: string;
173
+ timePicker: {
174
+ defaultTimeFormat: number;
175
+ };
180
176
  };
181
177
  chipsType: typeof ChipsType;
182
178
  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;
@@ -58,15 +62,15 @@ export declare class DataTableComponent implements OnInit, AfterViewInit, OnDest
58
62
  rowLink: EventEmitter<any>;
59
63
  addRow: EventEmitter<any>;
60
64
  columnDataOnRowLinkClick: EventEmitter<any>;
61
- paginationChange: EventEmitter<{
62
- pageOffset: number;
63
- pageLimit: number;
64
- }>;
65
+ menuActionClick: EventEmitter<any>;
66
+ selectActionMenu: EventEmitter<any>;
67
+ paginationChange: EventEmitter<PageEvent>;
65
68
  selectedFilter: EventEmitter<ChipOption>;
66
69
  removeFilteredOption: EventEmitter<any>;
67
70
  filteredOptions: EventEmitter<FiltersAndOptions[]>;
68
71
  searchedValue: EventEmitter<string>;
69
72
  sortChange: EventEmitter<Sort>;
73
+ selectedRowsInfo: EventEmitter<TableColumnSchema[]>;
70
74
  displayedColumns: string[];
71
75
  isMobileView: boolean;
72
76
  dataSource: MatTableDataSource<any>;
@@ -102,6 +106,18 @@ export declare class DataTableComponent implements OnInit, AfterViewInit, OnDest
102
106
  * @memberof DataTableComponent
103
107
  */
104
108
  sortTableData(sort: Sort): void;
109
+ /**
110
+ * Handle edit actions method emits the clicked row data
111
+ * @param {*} row
112
+ * @memberof DataTableComponent
113
+ */
114
+ onRowActionClick(row: any): void;
115
+ /**
116
+ * Menu item action method emits the clicked menu options
117
+ * @param {*} row
118
+ * @memberof DataTableComponent
119
+ */
120
+ menuItemAction(row: any): void;
105
121
  /**
106
122
  * OnSelectClick method emits the rowSelected event with selected row data.
107
123
  * @param {*} row
@@ -204,5 +220,5 @@ export declare class DataTableComponent implements OnInit, AfterViewInit, OnDest
204
220
  */
205
221
  ngOnDestroy(): void;
206
222
  static ɵfac: i0.ɵɵFactoryDeclaration<DataTableComponent, never>;
207
- 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; }; "isTableHeaderNeeded": { "alias": "isTableHeaderNeeded"; "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>;
223
+ 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; }; "isTableHeaderNeeded": { "alias": "isTableHeaderNeeded"; "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"; "selectedRowsInfo": "selectedRowsInfo"; }, never, never, true, never>;
208
224
  }
@@ -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,6 +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 { SelectedDate } from '../../models/selected-date.model';
10
+ import { SelectedTime } from '../../models/selected-time.model';
11
+ import { LinkEventEmitType } from '../../models/event-emit-type.model';
9
12
  import { SlideToggleOption } from '../../models/slide-toggle-options.model';
10
13
  import * as i0 from "@angular/core";
11
14
  /**
@@ -56,7 +59,7 @@ export declare class DynamicFormComponent implements OnInit, AfterContentInit {
56
59
  formGroupsReference: EventEmitter<FormGroup<any>[]>;
57
60
  dropdownChange: EventEmitter<any>;
58
61
  formCheckboxSelection: EventEmitter<CheckboxOption>;
59
- formDateSelected: EventEmitter<string>;
62
+ formDateSelected: EventEmitter<SelectedDate>;
60
63
  formSelectSearch: EventEmitter<{
61
64
  searchEvent: Event;
62
65
  controlName: string;
@@ -70,6 +73,9 @@ export declare class DynamicFormComponent implements OnInit, AfterContentInit {
70
73
  startDate: string;
71
74
  endDate: string;
72
75
  }>;
76
+ addFormGroup: EventEmitter<Event>;
77
+ formTimeSelected: EventEmitter<SelectedTime>;
78
+ supportTextLinkClick: EventEmitter<LinkEventEmitType>;
73
79
  formSlideToggleChange: EventEmitter<SlideToggleOption>;
74
80
  form: FormGroup;
75
81
  formGroupArray: FormGroup[];
@@ -172,10 +178,16 @@ export declare class DynamicFormComponent implements OnInit, AfterContentInit {
172
178
  };
173
179
  /**
174
180
  * Handles form date selection event
175
- * @param {string[]} event
181
+ * @param {SelectedDate} selectedDate
176
182
  * @memberof DynamicFormComponent
177
183
  */
178
- onDateSelected(event: string): void;
184
+ onDateSelected(selectedDate: SelectedDate): void;
185
+ /**
186
+ * Handles form time selection event
187
+ * @param {SelectedTime} selectedTime
188
+ * @memberof DynamicFormComponent
189
+ */
190
+ onTimeSelected(selectedTime: SelectedTime): void;
179
191
  /**
180
192
  * Emits selected form date range
181
193
  * @param {{startDate: string, endDate: string}} dateRange
@@ -221,6 +233,18 @@ export declare class DynamicFormComponent implements OnInit, AfterContentInit {
221
233
  * @memberof DynamicFormComponent
222
234
  */
223
235
  getRowClassName(className: string): string;
236
+ /**
237
+ * Emits the addFormGroup event
238
+ * @param {Event} event
239
+ * @memberof DynamicFormComponent
240
+ */
241
+ onAddFormGroup(event: Event): void;
242
+ /**
243
+ * Emits supportTextLinkClick event on click of form support text link
244
+ * @param {LinkEventEmitType} event
245
+ * @memberof DynamicFormComponent
246
+ */
247
+ onSupportTextLinkClick(event: LinkEventEmitType): void;
224
248
  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>;
249
+ 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"; "formSlideToggleChange": "formSlideToggleChange"; }, never, never, true, never>;
226
250
  }
@@ -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
  }
@@ -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);
@@ -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,6 +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 { SelectedDate } from '../../models/selected-date.model';
8
+ import { SelectedTime } from '../../models/selected-time.model';
9
+ import { LinkEventEmitType } from '../../models/event-emit-type.model';
7
10
  import { SlideToggleOption } from '../../models/slide-toggle-options.model';
8
11
  import * as i0 from "@angular/core";
9
12
  /**
@@ -47,7 +50,8 @@ export declare class DynamicFormFieldDirective implements FormField, OnInit, OnD
47
50
  get searchResponse(): any;
48
51
  formSearchApply: EventEmitter<Event>;
49
52
  formDropdownSelected: EventEmitter<Event>;
50
- formDateSelected: EventEmitter<string>;
53
+ formDateSelected: EventEmitter<SelectedDate>;
54
+ formTimeSelected: EventEmitter<SelectedTime>;
51
55
  formSelectedDateRange: EventEmitter<{
52
56
  startDate: string;
53
57
  endDate: string;
@@ -61,6 +65,8 @@ export declare class DynamicFormFieldDirective implements FormField, OnInit, OnD
61
65
  autoCompleteOptionSelected: EventEmitter<Event>;
62
66
  formCheckboxSelection: EventEmitter<CheckboxOption>;
63
67
  formInputValue: EventEmitter<string | number>;
68
+ addFormGroup: EventEmitter<Event>;
69
+ supportTextLinkClick: EventEmitter<LinkEventEmitType>;
64
70
  formSlideToggleChange: EventEmitter<SlideToggleOption>;
65
71
  component: ComponentRef<any>;
66
72
  constructor(container: ViewContainerRef);
@@ -80,5 +86,5 @@ export declare class DynamicFormFieldDirective implements FormField, OnInit, OnD
80
86
  */
81
87
  ngOnDestroy(): void;
82
88
  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>;
89
+ 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"; "formSlideToggleChange": "formSlideToggleChange"; }, never, never, true, never>;
84
90
  }
@@ -0,0 +1,5 @@
1
+ import { LinkType } from "./link-type.model";
2
+ export interface LinkEventEmitType {
3
+ event: Event;
4
+ linkType?: LinkType;
5
+ }
@@ -5,6 +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 { LinkType } from './link-type.model';
8
9
  import { SlideToggleOption } from './slide-toggle-options.model';
9
10
  export interface FieldConfig {
10
11
  isSortNeeded?: boolean;
@@ -47,5 +48,15 @@ export interface FieldConfig {
47
48
  ariaDescribedById?: string;
48
49
  ariaMultiline?: boolean;
49
50
  minSelectionRequired?: number;
51
+ maxCharCount?: number;
52
+ remainingCharsLeftMessage?: string;
53
+ name?: string;
54
+ maxRangeLimit?: number;
55
+ hour24?: number;
56
+ hour12?: number;
57
+ isSearch?: boolean;
58
+ invalidDateTimeErrorMessage?: string;
59
+ is24HoursTimeFormat?: boolean;
60
+ linkType?: LinkType;
50
61
  slideToggleOption?: SlideToggleOption;
51
62
  }
@@ -7,5 +7,7 @@ export declare enum FormControlType {
7
7
  CHECKBOX = "CHECKBOX",
8
8
  RADIO = "RADIO",
9
9
  AUTO_COMPLETE = "AUTO_COMPLETE",
10
+ ADD_FORM_GROUP = "ADD_FORM_GROUP",
11
+ TIME_PICKER = "TIME_PICKER",
10
12
  SLIDE_TOGGLE = "SLIDE_TOGGLE"
11
13
  }
@@ -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.7",
3
+ "version": "0.11.9",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^16.1.0",
6
6
  "@angular/core": "^16.1.0",
@@ -18,8 +18,7 @@
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.6"
21
+ "ngx-material-timepicker": "^13.1.1"
23
22
  },
24
23
  "dependencies": {
25
24
  "tslib": "^2.3.0"
package/public-api.d.ts CHANGED
@@ -27,6 +27,8 @@ export * from './lib/components/loader/loader.component';
27
27
  export * from './lib/components/data-table/data-table.component';
28
28
  export * from './lib/components/breadcrumb/breadcrumb.component';
29
29
  export * from './lib/components/tile/tile.component';
30
+ export * from './lib/components/time-picker/time-picker.component';
31
+ export * from './lib/components/tabs/tabs.component';
30
32
  export * from './lib/components/slide-toggle/slide-toggle.component';
31
33
  export * from './lib/components/card/card.component';
32
34
  export * from './lib/directives/dynamic-form-field/dynamic-form-field.directive';
@@ -40,6 +42,7 @@ export * from './lib/models/calendar.model';
40
42
  export * from './lib/models/checkbox-option.model';
41
43
  export * from './lib/models/confirmation-modal-data.model';
42
44
  export * from './lib/models/date-picker.model';
45
+ export * from './lib/models/event-emit-type.model';
43
46
  export * from './lib/models/field-config.model';
44
47
  export * from './lib/models/footer-config.model';
45
48
  export * from './lib/models/form-control-types.model';
@@ -49,11 +52,15 @@ export * from './lib/models/form.model';
49
52
  export * from './lib/models/header-config.model';
50
53
  export * from './lib/models/icon-button.model';
51
54
  export * from './lib/models/legend.model';
55
+ export * from './lib/models/link-type.model';
52
56
  export * from './lib/models/menu.model';
53
57
  export * from './lib/models/navigation-menu.model';
54
58
  export * from './lib/models/radio-option.model';
55
59
  export * from './lib/models/search.model';
56
60
  export * from './lib/models/select-option.model';
61
+ export * from './lib/models/selected-date.model';
62
+ export * from './lib/models/selected-time.model';
63
+ export * from './lib/models/tab.model';
57
64
  export * from './lib/models/toggle-button.model';
58
65
  export * from './lib/models/chip-option.model';
59
66
  export * from './lib/models/paginator-config.model';
@@ -6,11 +6,13 @@
6
6
  "nextMonth": "Next month",
7
7
  "menuIcon": "Menu",
8
8
  "close": "Close",
9
- "search": "Search"
9
+ "search": "Search",
10
+ "addFormGroup": "Add Form Group"
10
11
  },
11
12
  "button": {
12
13
  "cancel": "Cancel",
13
- "ok": "OK"
14
+ "ok": "OK",
15
+ "add": "Add"
14
16
  },
15
17
  "chips": {
16
18
  "noOfDefaultVisibleChips": 3,
@@ -108,7 +110,8 @@
108
110
  ]
109
111
  },
110
112
  "textarea": {
111
- "maxLengthDefault": 1000
113
+ "maxLengthDefault": 3000,
114
+ "leftCharacters": " characters left"
112
115
  },
113
116
  "autocomplete": {
114
117
  "minCharToSearch": 3,
@@ -221,5 +224,8 @@
221
224
  "spinner": "Spinner"
222
225
  }
223
226
  },
224
- "defaultWelcomeBgColor": "#C0DCED"
225
- }
227
+ "defaultWelcomeBgColor": "#C0DCED",
228
+ "timePicker": {
229
+ "defaultTimeFormat": 12
230
+ }
231
+ }