@ieeesa-npm/presentation 0.20.9 → 0.21.1

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 (24) hide show
  1. package/esm2022/lib/assets/constants.json +9 -0
  2. package/esm2022/lib/components/dynamic-form/dynamic-form.component.mjs +14 -3
  3. package/esm2022/lib/components/list/list.component.mjs +1 -1
  4. package/esm2022/lib/components/rich-text-editor/rich-text-editor.component.mjs +153 -0
  5. package/esm2022/lib/components/search/search.component.mjs +2 -2
  6. package/esm2022/lib/directives/dynamic-form-field/dynamic-form-field.directive.mjs +14 -2
  7. package/esm2022/lib/directives/observe-dom-change/observe-dom-change.directive.mjs +17 -5
  8. package/esm2022/lib/models/field-config.model.mjs +1 -1
  9. package/esm2022/lib/models/form-control-types.model.mjs +2 -1
  10. package/esm2022/public-api.mjs +2 -1
  11. package/fesm2022/ieeesa-npm-presentation.mjs +234 -49
  12. package/fesm2022/ieeesa-npm-presentation.mjs.map +1 -1
  13. package/lib/components/chips/chips.component.d.ts +9 -0
  14. package/lib/components/dynamic-form/dynamic-form.component.d.ts +8 -1
  15. package/lib/components/file-upload/file-upload.component.d.ts +9 -0
  16. package/lib/components/rich-text-editor/rich-text-editor.component.d.ts +60 -0
  17. package/lib/directives/dynamic-form-field/dynamic-form-field.directive.d.ts +2 -1
  18. package/lib/directives/observe-dom-change/observe-dom-change.directive.d.ts +4 -1
  19. package/lib/models/field-config.model.d.ts +2 -0
  20. package/lib/models/form-control-types.model.d.ts +2 -1
  21. package/lib/services/file-upload.service.d.ts +9 -0
  22. package/package.json +3 -2
  23. package/public-api.d.ts +1 -0
  24. package/src/lib/assets/constants.json +9 -0
@@ -262,6 +262,15 @@ export declare class ChipsComponent implements OnInit, OnDestroy {
262
262
  search: {
263
263
  searchIcon: string;
264
264
  };
265
+ richTextEditor: {
266
+ label: {
267
+ editor: string;
268
+ };
269
+ ariaLabel: {
270
+ editor: string;
271
+ colorPicker: string;
272
+ };
273
+ };
265
274
  };
266
275
  chipsType: typeof ChipsType;
267
276
  orientations: typeof ChipOrientation;
@@ -85,6 +85,7 @@ export declare class DynamicFormComponent implements OnInit, AfterContentInit {
85
85
  formColorPickerChange: EventEmitter<string>;
86
86
  formRadioOptionSelected: EventEmitter<RadioOption>;
87
87
  ctaButtonClick: EventEmitter<IconButton>;
88
+ formRichTextEditorContentChange: EventEmitter<string>;
88
89
  form: FormGroup;
89
90
  formGroupArray: FormGroup[];
90
91
  formControlArray: any[];
@@ -240,6 +241,12 @@ export declare class DynamicFormComponent implements OnInit, AfterContentInit {
240
241
  * @memberof DynamicFormComponent
241
242
  */
242
243
  onFormColorPickerChange(colorCode: string): void;
244
+ /**
245
+ * Handles form rich text editor event and emits formRichTextEditorContentChange event.
246
+ * @param {string} htmlMarkupText
247
+ * @memberof DynamicFormComponent
248
+ */
249
+ onFormRichTextEditorContentChange(htmlMarkupText: string): void;
243
250
  /**
244
251
  * Handles file upload event and emits formFileUpload event
245
252
  * @param {(File | FileList)} file
@@ -285,5 +292,5 @@ export declare class DynamicFormComponent implements OnInit, AfterContentInit {
285
292
  */
286
293
  onCheckboxCTAButtonClick(event: IconButton): void;
287
294
  static ɵfac: i0.ɵɵFactoryDeclaration<DynamicFormComponent, never>;
288
- 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"; "formFileUpload": "formFileUpload"; "dropdownOpenedChange": "dropdownOpenedChange"; "formColorPickerChange": "formColorPickerChange"; "formRadioOptionSelected": "formRadioOptionSelected"; "ctaButtonClick": "ctaButtonClick"; }, never, ["[component]"], true, never>;
295
+ 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"; "formFileUpload": "formFileUpload"; "dropdownOpenedChange": "dropdownOpenedChange"; "formColorPickerChange": "formColorPickerChange"; "formRadioOptionSelected": "formRadioOptionSelected"; "ctaButtonClick": "ctaButtonClick"; "formRichTextEditorContentChange": "formRichTextEditorContentChange"; }, never, ["[component]"], true, never>;
289
296
  }
@@ -259,6 +259,15 @@ export declare class FileUploadComponent implements OnInit {
259
259
  search: {
260
260
  searchIcon: string;
261
261
  };
262
+ richTextEditor: {
263
+ label: {
264
+ editor: string;
265
+ };
266
+ ariaLabel: {
267
+ editor: string;
268
+ colorPicker: string;
269
+ };
270
+ };
262
271
  };
263
272
  fileUploadLabel: {
264
273
  fileUpload: string;
@@ -0,0 +1,60 @@
1
+ import { AfterViewInit, ElementRef, EventEmitter, OnInit, Renderer2 } from '@angular/core';
2
+ import { FormGroup } from '@angular/forms';
3
+ import { EditorConfig } from 'ngx-simple-text-editor';
4
+ import { FieldConfig } from '../../models/field-config.model';
5
+ import { FormUtilityService } from '../../services/form-utility.service';
6
+ import * as i0 from "@angular/core";
7
+ export declare class RichTextEditorComponent implements OnInit, AfterViewInit {
8
+ private elementRef;
9
+ private renderer;
10
+ private formUtilityService;
11
+ richTextEditorTexts: any;
12
+ group: FormGroup;
13
+ config: FieldConfig;
14
+ contentElementClassName: string;
15
+ rtEditor: ElementRef;
16
+ private editorContentValue;
17
+ set value(value: string);
18
+ get value(): string;
19
+ editorLabel: any;
20
+ formControlName: string;
21
+ isEditorLabelNeeded: boolean;
22
+ private editorConfigInfo;
23
+ /**
24
+ * Sets the editor config info.
25
+ * @param {EditorConfig} editorConfig
26
+ * @memberof RichTextEditorComponent
27
+ */
28
+ set editorConfig(editorConfig: EditorConfig);
29
+ /**
30
+ * Returns the editor config info.
31
+ * @returns {EditorConfig}
32
+ * @memberof RichTextEditorComponent
33
+ */
34
+ get editorConfig(): EditorConfig;
35
+ richTextEditorContentChange: EventEmitter<string>;
36
+ constructor(elementRef: ElementRef, renderer: Renderer2, formUtilityService: FormUtilityService);
37
+ /**
38
+ * Initializes the form group and config details.
39
+ * @memberof RichTextEditorComponent
40
+ */
41
+ ngOnInit(): void;
42
+ /**
43
+ * Sets RTE toolbar buttons button type to button.
44
+ * @returns {void}
45
+ * @memberof RichTextEditorComponent
46
+ */
47
+ ngAfterViewInit(): void;
48
+ /**
49
+ * Sets RTE toolbar buttons button type to button to prevent form submit event when the toolbar buttons clicked.
50
+ */
51
+ setToolbarButtonType(): void;
52
+ /**
53
+ * Emits the typed editor content to consuming components.
54
+ * @returns {void}
55
+ * @memberof RichTextEditorComponent
56
+ */
57
+ onRichTextEditorContentChange(): void;
58
+ static ɵfac: i0.ɵɵFactoryDeclaration<RichTextEditorComponent, never>;
59
+ static ɵcmp: i0.ɵɵComponentDeclaration<RichTextEditorComponent, "ieeesa-rich-text-editor", never, { "value": { "alias": "value"; "required": false; }; "editorLabel": { "alias": "editorLabel"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "isEditorLabelNeeded": { "alias": "isEditorLabelNeeded"; "required": false; }; "editorConfig": { "alias": "editorConfig"; "required": false; }; }, { "richTextEditorContentChange": "richTextEditorContentChange"; }, never, never, true, never>;
60
+ }
@@ -76,6 +76,7 @@ export declare class DynamicFormFieldDirective implements FormField, OnInit, OnD
76
76
  formFileUpload: EventEmitter<File | FileList>;
77
77
  formRadioOptionSelected: EventEmitter<RadioOption>;
78
78
  ctaButtonClick: EventEmitter<IconButton>;
79
+ formRichTextEditorContentChange: EventEmitter<string>;
79
80
  component: ComponentRef<any>;
80
81
  constructor(container: ViewContainerRef);
81
82
  /**
@@ -94,5 +95,5 @@ export declare class DynamicFormFieldDirective implements FormField, OnInit, OnD
94
95
  */
95
96
  ngOnDestroy(): void;
96
97
  static ɵfac: i0.ɵɵFactoryDeclaration<DynamicFormFieldDirective, never>;
97
- 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"; "dropdownOpenedChange": "dropdownOpenedChange"; "formColorPickerChange": "formColorPickerChange"; "formFileUpload": "formFileUpload"; "formRadioOptionSelected": "formRadioOptionSelected"; "ctaButtonClick": "ctaButtonClick"; }, never, never, true, never>;
98
+ 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"; "dropdownOpenedChange": "dropdownOpenedChange"; "formColorPickerChange": "formColorPickerChange"; "formFileUpload": "formFileUpload"; "formRadioOptionSelected": "formRadioOptionSelected"; "ctaButtonClick": "ctaButtonClick"; "formRichTextEditorContentChange": "formRichTextEditorContentChange"; }, never, never, true, never>;
98
99
  }
@@ -3,7 +3,10 @@ import * as i0 from "@angular/core";
3
3
  export declare class ObserveDomChangeDirective implements OnInit, OnDestroy {
4
4
  private elementRef;
5
5
  observer: MutationObserver;
6
+ isSubTreeAttributeNeeded: boolean;
7
+ observedElementClassName: string;
6
8
  domChange: EventEmitter<any>;
9
+ domNodesChange: EventEmitter<MutationRecord[]>;
7
10
  constructor(elementRef: ElementRef);
8
11
  /**
9
12
  * Observes the dom changes and emits dom change event.
@@ -16,5 +19,5 @@ export declare class ObserveDomChangeDirective implements OnInit, OnDestroy {
16
19
  */
17
20
  ngOnDestroy(): void;
18
21
  static ɵfac: i0.ɵɵFactoryDeclaration<ObserveDomChangeDirective, never>;
19
- static ɵdir: i0.ɵɵDirectiveDeclaration<ObserveDomChangeDirective, "[ieeesaObserveDomChange]", never, {}, { "domChange": "domChange"; }, never, never, true, never>;
22
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ObserveDomChangeDirective, "[ieeesaObserveDomChange]", never, { "isSubTreeAttributeNeeded": { "alias": "isSubTreeAttributeNeeded"; "required": false; }; "observedElementClassName": { "alias": "observedElementClassName"; "required": false; }; }, { "domChange": "domChange"; "domNodesChange": "domNodesChange"; }, never, never, true, never>;
20
23
  }
@@ -9,6 +9,7 @@ import { LinkType } from './link-type.model';
9
9
  import { SlideToggleOption } from './slide-toggle-options.model';
10
10
  import { ColorFormat, ColorsAnimation } from './color-format.model';
11
11
  import { AllowedFileTypes } from './allowed-file-types.model';
12
+ import { EditorConfig } from 'ngx-simple-text-editor';
12
13
  export interface FieldConfig {
13
14
  isSortNeeded?: boolean;
14
15
  disabled?: boolean;
@@ -81,4 +82,5 @@ export interface FieldConfig {
81
82
  isArrowIconNeeded?: boolean;
82
83
  canHideColorPicker?: boolean;
83
84
  canHideTextInput?: boolean;
85
+ editorConfig?: EditorConfig;
84
86
  }
@@ -11,5 +11,6 @@ export declare enum FormControlType {
11
11
  TIME_PICKER = "TIME_PICKER",
12
12
  SLIDE_TOGGLE = "SLIDE_TOGGLE",
13
13
  COLOR_PICKER = "COLOR_PICKER",
14
- FILE_UPLOAD = "FILE_UPLOAD"
14
+ FILE_UPLOAD = "FILE_UPLOAD",
15
+ RICH_TEXT_EDITOR = "RICH_TEXT_EDITOR"
15
16
  }
@@ -272,6 +272,15 @@ export declare class FileUploadService implements OnDestroy {
272
272
  search: {
273
273
  searchIcon: string;
274
274
  };
275
+ richTextEditor: {
276
+ label: {
277
+ editor: string;
278
+ };
279
+ ariaLabel: {
280
+ editor: string;
281
+ colorPicker: string;
282
+ };
283
+ };
275
284
  };
276
285
  apiBaseUrl: string;
277
286
  fileByteArray: Uint8Array | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ieeesa-npm/presentation",
3
- "version": "0.20.9",
3
+ "version": "0.21.1",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^16.1.0",
6
6
  "@angular/core": "^16.1.0",
@@ -19,7 +19,8 @@
19
19
  "rxjs": "~7.8.0",
20
20
  "zone.js": "~0.13.0",
21
21
  "ngx-material-timepicker": "^13.1.1",
22
- "ngx-colors": "^3.5.3"
22
+ "ngx-colors": "^3.5.3",
23
+ "ngx-simple-text-editor": "^4.0.3"
23
24
  },
24
25
  "dependencies": {
25
26
  "tslib": "^2.3.0"
package/public-api.d.ts CHANGED
@@ -37,6 +37,7 @@ export * from './lib/components/file-upload/file-upload.component';
37
37
  export * from './lib/components/accordion/accordion.component';
38
38
  export * from './lib/components/inactive-tenant/inactive-tenant.component';
39
39
  export * from './lib/components/image-preview/image-preview.component';
40
+ export * from './lib/components/rich-text-editor/rich-text-editor.component';
40
41
  export * from './lib/directives/dynamic-form-field/dynamic-form-field.directive';
41
42
  export * from './lib/directives/focus-invalid-form-field/focus-invalid-form-field.directive';
42
43
  export * from './lib/directives/set-background/set-background.directive';
@@ -580,5 +580,14 @@
580
580
  },
581
581
  "search": {
582
582
  "searchIcon": "assets/images/sprites/sprites.svg#icon-search"
583
+ },
584
+ "richTextEditor": {
585
+ "label": {
586
+ "editor": ""
587
+ },
588
+ "ariaLabel": {
589
+ "editor": "Rich text editor.",
590
+ "colorPicker": "Color picker."
591
+ }
583
592
  }
584
593
  }