aril 0.1.2 → 0.1.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 (39) hide show
  1. package/esm2022/theme/layout/app/menu/app.menu.component.mjs +9 -7
  2. package/esm2022/theme/layout/app/topbar/app.topbar.component.mjs +1 -1
  3. package/esm2022/ui/dxEditor/aril-ui-dxEditor.mjs +5 -0
  4. package/esm2022/ui/dxEditor/index.mjs +2 -0
  5. package/esm2022/ui/dxEditor/src/dx-editor.component.mjs +26 -0
  6. package/esm2022/ui/operation-types-dialog/src/operation-types-dialog.component.mjs +14 -2
  7. package/esm2022/ui/rolePicker/aril-ui-rolePicker.mjs +5 -0
  8. package/esm2022/ui/rolePicker/index.mjs +2 -0
  9. package/esm2022/ui/rolePicker/src/interface.mjs +2 -0
  10. package/esm2022/ui/rolePicker/src/role-picker.component.mjs +54 -0
  11. package/esm2022/ui/userPicker/aril-ui-userPicker.mjs +5 -0
  12. package/esm2022/ui/userPicker/index.mjs +2 -0
  13. package/esm2022/ui/userPicker/src/interface.mjs +3 -0
  14. package/esm2022/ui/userPicker/src/user-picker.component.mjs +72 -0
  15. package/fesm2022/aril-theme-layout.mjs +9 -7
  16. package/fesm2022/aril-theme-layout.mjs.map +1 -1
  17. package/fesm2022/aril-ui-dxEditor.mjs +33 -0
  18. package/fesm2022/aril-ui-dxEditor.mjs.map +1 -0
  19. package/fesm2022/aril-ui-operation-types-dialog.mjs +13 -1
  20. package/fesm2022/aril-ui-operation-types-dialog.mjs.map +1 -1
  21. package/fesm2022/aril-ui-rolePicker.mjs +61 -0
  22. package/fesm2022/aril-ui-rolePicker.mjs.map +1 -0
  23. package/fesm2022/aril-ui-userPicker.mjs +79 -0
  24. package/fesm2022/aril-ui-userPicker.mjs.map +1 -0
  25. package/package.json +115 -97
  26. package/theme/layout/app/menu/app.menu.component.html +2 -2
  27. package/theme/layout/app/menu/app.menu.component.ts +3 -2
  28. package/theme/styles/layout/_sidebar_slim_plus.scss +4 -4
  29. package/theme/styles/layout/_sidebar_vertical.scss +2 -2
  30. package/theme/styles/theme/base/components/data/_datatable.scss +4 -4
  31. package/ui/dxEditor/index.d.ts +1 -0
  32. package/ui/dxEditor/src/dx-editor.component.d.ts +11 -0
  33. package/ui/operation-types-dialog/src/operation-types-dialog.component.d.ts +4 -0
  34. package/ui/rolePicker/index.d.ts +1 -0
  35. package/ui/rolePicker/src/interface.d.ts +40 -0
  36. package/ui/rolePicker/src/role-picker.component.d.ts +29 -0
  37. package/ui/userPicker/index.d.ts +1 -0
  38. package/ui/userPicker/src/interface.d.ts +69 -0
  39. package/ui/userPicker/src/user-picker.component.d.ts +27 -0
@@ -0,0 +1,33 @@
1
+ import { NgStyle } from '@angular/common';
2
+ import * as i0 from '@angular/core';
3
+ import { input, Component, ChangeDetectionStrategy } from '@angular/core';
4
+ import * as i3 from '@angular/forms';
5
+ import { ReactiveFormsModule } from '@angular/forms';
6
+ import * as i1 from 'devextreme-angular';
7
+ import { DxHtmlEditorModule } from 'devextreme-angular';
8
+ import { BaseInputComponent } from 'aril/ui/lib';
9
+ import * as i2 from 'devextreme-angular/ui/nested';
10
+
11
+ class DxEditorComponent extends BaseInputComponent {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.height = input('400px');
15
+ this.isMultiline = input(true);
16
+ this.valueContent = input.required();
17
+ this.disabled = input(false);
18
+ this.isShowToolBar = input(true);
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: DxEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: DxEditorComponent, isStandalone: true, selector: "aril-dx-editor[ngModel],aril-dx-editor[formControl], aril-dx-editor[formControlName]", inputs: { height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, isMultiline: { classPropertyName: "isMultiline", publicName: "isMultiline", isSignal: true, isRequired: false, transformFunction: null }, valueContent: { classPropertyName: "valueContent", publicName: "valueContent", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, isShowToolBar: { classPropertyName: "isShowToolBar", publicName: "isShowToolBar", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "\r\n<dx-html-editor [height]=\"height()\" [value]=\"valueContent()\" [formControl]=\"ngControl.control\" [disabled]=\"disabled()\">\r\n <dxo-toolbar [multiline]=\"isMultiline()\">\r\n\t\t@if(isShowToolBar()){\r\n\t\t\t<dxi-item name=\"undo\"></dxi-item>\r\n\t\t\t<dxi-item name=\"redo\"></dxi-item>\r\n\t\t\t<dxi-item name=\"separator\"></dxi-item>\r\n\t\t\t<dxi-item\r\n\t\t\t\tname=\"size\"\r\n\t\t\t\t[acceptedValues]=\"['8pt', '10pt', '12pt', '14pt', '18pt', '24pt', '36pt']\"\r\n\t\t\t\t[options]=\"{ inputAttr: { 'aria-label': 'Font size' } }\"></dxi-item>\r\n\t\t\t<dxi-item\r\n\t\t\t\tname=\"font\"\r\n\t\t\t\t[acceptedValues]=\"[\r\n\t\t\t\t\t'Arial',\r\n\t\t\t\t\t'Courier New',\r\n\t\t\t\t\t'Georgia',\r\n\t\t\t\t\t'Impact',\r\n\t\t\t\t\t'Lucida Console',\r\n\t\t\t\t\t'Tahoma',\r\n\t\t\t\t\t'Times New Roman',\r\n\t\t\t\t\t'Verdana'\r\n\t\t\t\t]\"\r\n\t\t\t\t[options]=\"{ inputAttr: { 'aria-label': 'Font family' } }\"></dxi-item>\r\n\t\t\t<dxi-item name=\"separator\"></dxi-item>\r\n\t\t\t<dxi-item name=\"bold\"></dxi-item>\r\n\t\t\t<dxi-item name=\"italic\"></dxi-item>\r\n\t\t\t<dxi-item name=\"strike\"></dxi-item>\r\n\t\t\t<dxi-item name=\"underline\"></dxi-item>\r\n\t\t\t<dxi-item name=\"separator\"></dxi-item>\r\n\t\t\t<dxi-item name=\"alignLeft\"></dxi-item>\r\n\t\t\t<dxi-item name=\"alignCenter\"></dxi-item>\r\n\t\t\t<dxi-item name=\"alignRight\"></dxi-item>\r\n\t\t\t<dxi-item name=\"alignJustify\"></dxi-item>\r\n\t\t\t<dxi-item name=\"separator\"></dxi-item>\r\n\t\t\t<dxi-item name=\"orderedList\"></dxi-item>\r\n\t\t\t<dxi-item name=\"bulletList\"></dxi-item>\r\n\t\t\t<dxi-item name=\"separator\"></dxi-item>\r\n\t\t\t<dxi-item\r\n\t\t\t\tname=\"header\"\r\n\t\t\t\t[acceptedValues]=\"[false, 1, 2, 3, 4, 5]\"\r\n\t\t\t\t[options]=\"{ inputAttr: { 'aria-label': 'Header' } }\"></dxi-item>\r\n\t\t\t<dxi-item name=\"separator\"></dxi-item>\r\n\t\t\t<dxi-item name=\"color\"></dxi-item>\r\n\t\t\t<dxi-item name=\"background\"></dxi-item>\r\n\t\t\t<dxi-item name=\"separator\"></dxi-item>\r\n\t\t\t<dxi-item name=\"link\"></dxi-item>\r\n\t\t\t<dxi-item name=\"image\"></dxi-item>\r\n\t\t\t<dxi-item name=\"separator\"></dxi-item>\r\n\t\t\t<dxi-item name=\"clear\"></dxi-item>\r\n\t\t\t<dxi-item name=\"codeBlock\"></dxi-item>\r\n\t\t\t<dxi-item name=\"blockquote\"></dxi-item>\r\n\t\t\t<dxi-item name=\"separator\"></dxi-item>\r\n\t\t\t<dxi-item name=\"insertTable\"></dxi-item>\r\n\t\t\t<dxi-item name=\"deleteTable\"></dxi-item>\r\n\t\t\t<dxi-item name=\"insertRowAbove\"></dxi-item>\r\n\t\t\t<dxi-item name=\"insertRowBelow\"></dxi-item>\r\n\t\t\t<dxi-item name=\"deleteRow\"></dxi-item>\r\n\t\t\t<dxi-item name=\"insertColumnLeft\"></dxi-item>\r\n\t\t\t<dxi-item name=\"insertColumnRight\"></dxi-item>\r\n\t\t\t<dxi-item name=\"deleteColumn\"></dxi-item>\r\n\t\t}\r\n\t\t<dxo-media-resizing [enabled]=\"true\"> </dxo-media-resizing>\r\n\r\n </dxo-toolbar>\r\n</dx-html-editor>\r\n\r\n", dependencies: [{ kind: "ngmodule", type: DxHtmlEditorModule }, { kind: "component", type: i1.DxHtmlEditorComponent, selector: "dx-html-editor", inputs: ["accessKey", "activeStateEnabled", "allowSoftLineBreak", "customizeModules", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "imageUpload", "isDirty", "isValid", "mediaResizing", "mentions", "name", "placeholder", "readOnly", "rtlEnabled", "stylingMode", "tabIndex", "tableContextMenu", "tableResizing", "toolbar", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueType", "variables", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onFocusIn", "onFocusOut", "onInitialized", "onOptionChanged", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "allowSoftLineBreakChange", "customizeModulesChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "imageUploadChange", "isDirtyChange", "isValidChange", "mediaResizingChange", "mentionsChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "tableContextMenuChange", "tableResizingChange", "toolbarChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueTypeChange", "variablesChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i2.DxoMediaResizingComponent, selector: "dxo-media-resizing", inputs: ["allowedTargets", "enabled"] }, { kind: "component", type: i2.DxiItemComponent, selector: "dxi-item", inputs: ["disabled", "html", "icon", "template", "text", "title", "titleTemplate", "visible", "onClick", "stylingMode", "type", "baseSize", "box", "ratio", "shrink", "elementAttr", "hint", "beginGroup", "closeMenuOnClick", "items", "selectable", "selected", "colSpan", "cssClass", "dataField", "editorOptions", "editorType", "helpText", "isRequired", "itemType", "label", "name", "validationRules", "visibleIndex", "alignItemLabels", "caption", "colCount", "colCountByScreen", "tabPanelOptions", "tabs", "badge", "tabTemplate", "buttonOptions", "horizontalAlignment", "verticalAlignment", "locateInMenu", "location", "menuItemTemplate", "options", "showText", "widget", "height", "width", "imageAlt", "imageSrc", "acceptedValues", "formatName", "formatValues", "key", "showChevron", "linkAttr", "url", "heightRatio", "widthRatio", "expanded", "hasItems", "id", "parentId"] }, { kind: "component", type: i2.DxoToolbarComponent, selector: "dxo-toolbar", inputs: ["disabled", "items", "visible", "fileSelectionItems", "container", "multiline"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: DxEditorComponent, decorators: [{
24
+ type: Component,
25
+ args: [{ standalone: true, selector: 'aril-dx-editor[ngModel],aril-dx-editor[formControl], aril-dx-editor[formControlName]', imports: [NgStyle, DxHtmlEditorModule, ReactiveFormsModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "\r\n<dx-html-editor [height]=\"height()\" [value]=\"valueContent()\" [formControl]=\"ngControl.control\" [disabled]=\"disabled()\">\r\n <dxo-toolbar [multiline]=\"isMultiline()\">\r\n\t\t@if(isShowToolBar()){\r\n\t\t\t<dxi-item name=\"undo\"></dxi-item>\r\n\t\t\t<dxi-item name=\"redo\"></dxi-item>\r\n\t\t\t<dxi-item name=\"separator\"></dxi-item>\r\n\t\t\t<dxi-item\r\n\t\t\t\tname=\"size\"\r\n\t\t\t\t[acceptedValues]=\"['8pt', '10pt', '12pt', '14pt', '18pt', '24pt', '36pt']\"\r\n\t\t\t\t[options]=\"{ inputAttr: { 'aria-label': 'Font size' } }\"></dxi-item>\r\n\t\t\t<dxi-item\r\n\t\t\t\tname=\"font\"\r\n\t\t\t\t[acceptedValues]=\"[\r\n\t\t\t\t\t'Arial',\r\n\t\t\t\t\t'Courier New',\r\n\t\t\t\t\t'Georgia',\r\n\t\t\t\t\t'Impact',\r\n\t\t\t\t\t'Lucida Console',\r\n\t\t\t\t\t'Tahoma',\r\n\t\t\t\t\t'Times New Roman',\r\n\t\t\t\t\t'Verdana'\r\n\t\t\t\t]\"\r\n\t\t\t\t[options]=\"{ inputAttr: { 'aria-label': 'Font family' } }\"></dxi-item>\r\n\t\t\t<dxi-item name=\"separator\"></dxi-item>\r\n\t\t\t<dxi-item name=\"bold\"></dxi-item>\r\n\t\t\t<dxi-item name=\"italic\"></dxi-item>\r\n\t\t\t<dxi-item name=\"strike\"></dxi-item>\r\n\t\t\t<dxi-item name=\"underline\"></dxi-item>\r\n\t\t\t<dxi-item name=\"separator\"></dxi-item>\r\n\t\t\t<dxi-item name=\"alignLeft\"></dxi-item>\r\n\t\t\t<dxi-item name=\"alignCenter\"></dxi-item>\r\n\t\t\t<dxi-item name=\"alignRight\"></dxi-item>\r\n\t\t\t<dxi-item name=\"alignJustify\"></dxi-item>\r\n\t\t\t<dxi-item name=\"separator\"></dxi-item>\r\n\t\t\t<dxi-item name=\"orderedList\"></dxi-item>\r\n\t\t\t<dxi-item name=\"bulletList\"></dxi-item>\r\n\t\t\t<dxi-item name=\"separator\"></dxi-item>\r\n\t\t\t<dxi-item\r\n\t\t\t\tname=\"header\"\r\n\t\t\t\t[acceptedValues]=\"[false, 1, 2, 3, 4, 5]\"\r\n\t\t\t\t[options]=\"{ inputAttr: { 'aria-label': 'Header' } }\"></dxi-item>\r\n\t\t\t<dxi-item name=\"separator\"></dxi-item>\r\n\t\t\t<dxi-item name=\"color\"></dxi-item>\r\n\t\t\t<dxi-item name=\"background\"></dxi-item>\r\n\t\t\t<dxi-item name=\"separator\"></dxi-item>\r\n\t\t\t<dxi-item name=\"link\"></dxi-item>\r\n\t\t\t<dxi-item name=\"image\"></dxi-item>\r\n\t\t\t<dxi-item name=\"separator\"></dxi-item>\r\n\t\t\t<dxi-item name=\"clear\"></dxi-item>\r\n\t\t\t<dxi-item name=\"codeBlock\"></dxi-item>\r\n\t\t\t<dxi-item name=\"blockquote\"></dxi-item>\r\n\t\t\t<dxi-item name=\"separator\"></dxi-item>\r\n\t\t\t<dxi-item name=\"insertTable\"></dxi-item>\r\n\t\t\t<dxi-item name=\"deleteTable\"></dxi-item>\r\n\t\t\t<dxi-item name=\"insertRowAbove\"></dxi-item>\r\n\t\t\t<dxi-item name=\"insertRowBelow\"></dxi-item>\r\n\t\t\t<dxi-item name=\"deleteRow\"></dxi-item>\r\n\t\t\t<dxi-item name=\"insertColumnLeft\"></dxi-item>\r\n\t\t\t<dxi-item name=\"insertColumnRight\"></dxi-item>\r\n\t\t\t<dxi-item name=\"deleteColumn\"></dxi-item>\r\n\t\t}\r\n\t\t<dxo-media-resizing [enabled]=\"true\"> </dxo-media-resizing>\r\n\r\n </dxo-toolbar>\r\n</dx-html-editor>\r\n\r\n" }]
26
+ }] });
27
+
28
+ /**
29
+ * Generated bundle index. Do not edit.
30
+ */
31
+
32
+ export { DxEditorComponent };
33
+ //# sourceMappingURL=aril-ui-dxEditor.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aril-ui-dxEditor.mjs","sources":["../../projects/aril/ui/dxEditor/src/dx-editor.component.ts","../../projects/aril/ui/dxEditor/src/dx-editor.component.html","../../projects/aril/ui/dxEditor/aril-ui-dxEditor.ts"],"sourcesContent":["import { NgStyle } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, input } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { DxHtmlEditorModule } from 'devextreme-angular';\r\nimport { BaseInputComponent } from 'aril/ui/lib';\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'aril-dx-editor[ngModel],aril-dx-editor[formControl], aril-dx-editor[formControlName]',\r\n\ttemplateUrl: './dx-editor.component.html',\r\n\timports: [NgStyle, DxHtmlEditorModule, ReactiveFormsModule],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DxEditorComponent extends BaseInputComponent {\r\n\theight=input<string>('400px');\r\n\tisMultiline= input<boolean>(true);\r\n\tvalueContent = input.required<string>();\r\n\tdisabled = input<boolean>(false);\r\n\tisShowToolBar= input<boolean>(true);\r\n}\r\n","\r\n<dx-html-editor [height]=\"height()\" [value]=\"valueContent()\" [formControl]=\"ngControl.control\" [disabled]=\"disabled()\">\r\n <dxo-toolbar [multiline]=\"isMultiline()\">\r\n\t\t@if(isShowToolBar()){\r\n\t\t\t<dxi-item name=\"undo\"></dxi-item>\r\n\t\t\t<dxi-item name=\"redo\"></dxi-item>\r\n\t\t\t<dxi-item name=\"separator\"></dxi-item>\r\n\t\t\t<dxi-item\r\n\t\t\t\tname=\"size\"\r\n\t\t\t\t[acceptedValues]=\"['8pt', '10pt', '12pt', '14pt', '18pt', '24pt', '36pt']\"\r\n\t\t\t\t[options]=\"{ inputAttr: { 'aria-label': 'Font size' } }\"></dxi-item>\r\n\t\t\t<dxi-item\r\n\t\t\t\tname=\"font\"\r\n\t\t\t\t[acceptedValues]=\"[\r\n\t\t\t\t\t'Arial',\r\n\t\t\t\t\t'Courier New',\r\n\t\t\t\t\t'Georgia',\r\n\t\t\t\t\t'Impact',\r\n\t\t\t\t\t'Lucida Console',\r\n\t\t\t\t\t'Tahoma',\r\n\t\t\t\t\t'Times New Roman',\r\n\t\t\t\t\t'Verdana'\r\n\t\t\t\t]\"\r\n\t\t\t\t[options]=\"{ inputAttr: { 'aria-label': 'Font family' } }\"></dxi-item>\r\n\t\t\t<dxi-item name=\"separator\"></dxi-item>\r\n\t\t\t<dxi-item name=\"bold\"></dxi-item>\r\n\t\t\t<dxi-item name=\"italic\"></dxi-item>\r\n\t\t\t<dxi-item name=\"strike\"></dxi-item>\r\n\t\t\t<dxi-item name=\"underline\"></dxi-item>\r\n\t\t\t<dxi-item name=\"separator\"></dxi-item>\r\n\t\t\t<dxi-item name=\"alignLeft\"></dxi-item>\r\n\t\t\t<dxi-item name=\"alignCenter\"></dxi-item>\r\n\t\t\t<dxi-item name=\"alignRight\"></dxi-item>\r\n\t\t\t<dxi-item name=\"alignJustify\"></dxi-item>\r\n\t\t\t<dxi-item name=\"separator\"></dxi-item>\r\n\t\t\t<dxi-item name=\"orderedList\"></dxi-item>\r\n\t\t\t<dxi-item name=\"bulletList\"></dxi-item>\r\n\t\t\t<dxi-item name=\"separator\"></dxi-item>\r\n\t\t\t<dxi-item\r\n\t\t\t\tname=\"header\"\r\n\t\t\t\t[acceptedValues]=\"[false, 1, 2, 3, 4, 5]\"\r\n\t\t\t\t[options]=\"{ inputAttr: { 'aria-label': 'Header' } }\"></dxi-item>\r\n\t\t\t<dxi-item name=\"separator\"></dxi-item>\r\n\t\t\t<dxi-item name=\"color\"></dxi-item>\r\n\t\t\t<dxi-item name=\"background\"></dxi-item>\r\n\t\t\t<dxi-item name=\"separator\"></dxi-item>\r\n\t\t\t<dxi-item name=\"link\"></dxi-item>\r\n\t\t\t<dxi-item name=\"image\"></dxi-item>\r\n\t\t\t<dxi-item name=\"separator\"></dxi-item>\r\n\t\t\t<dxi-item name=\"clear\"></dxi-item>\r\n\t\t\t<dxi-item name=\"codeBlock\"></dxi-item>\r\n\t\t\t<dxi-item name=\"blockquote\"></dxi-item>\r\n\t\t\t<dxi-item name=\"separator\"></dxi-item>\r\n\t\t\t<dxi-item name=\"insertTable\"></dxi-item>\r\n\t\t\t<dxi-item name=\"deleteTable\"></dxi-item>\r\n\t\t\t<dxi-item name=\"insertRowAbove\"></dxi-item>\r\n\t\t\t<dxi-item name=\"insertRowBelow\"></dxi-item>\r\n\t\t\t<dxi-item name=\"deleteRow\"></dxi-item>\r\n\t\t\t<dxi-item name=\"insertColumnLeft\"></dxi-item>\r\n\t\t\t<dxi-item name=\"insertColumnRight\"></dxi-item>\r\n\t\t\t<dxi-item name=\"deleteColumn\"></dxi-item>\r\n\t\t}\r\n\t\t<dxo-media-resizing [enabled]=\"true\"> </dxo-media-resizing>\r\n\r\n </dxo-toolbar>\r\n</dx-html-editor>\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAYM,MAAO,iBAAmB,SAAQ,kBAAkB,CAAA;AAP1D,IAAA,WAAA,GAAA;;AAQC,QAAA,IAAA,CAAA,MAAM,GAAC,KAAK,CAAS,OAAO,CAAC,CAAC;AAC9B,QAAA,IAAA,CAAA,WAAW,GAAE,KAAK,CAAU,IAAI,CAAC,CAAC;AAClC,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAC;AACxC,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,CAAC,CAAC;AACjC,QAAA,IAAA,CAAA,aAAa,GAAE,KAAK,CAAU,IAAI,CAAC,CAAC;AACpC,KAAA;8GANY,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,ECZ9B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sFAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,+2FAmEA,ED1DoB,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,kBAAkB,8rFAAE,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAG9C,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAP7B,SAAS;AACG,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACN,QAAA,EAAA,sFAAsF,EAEvF,OAAA,EAAA,CAAC,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,CAAC,EAC1C,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,+2FAAA,EAAA,CAAA;;;AEVhD;;AAEG;;;;"}
@@ -39,7 +39,19 @@ class OperationTypesComponent {
39
39
  return this.tableRef.selectedRows.length;
40
40
  }
41
41
  submit() {
42
- this.ref.close(this.selectedOption);
42
+ let totalElements = this.selectedRowsLength;
43
+ switch (this.selectedOption) {
44
+ case OperationType.ApplyOnlySelected:
45
+ totalElements = this.selectedRowsLength;
46
+ break;
47
+ case OperationType.ApplyExceptSelected:
48
+ totalElements = this.totalRecords - this.selectedRowsLength;
49
+ break;
50
+ case OperationType.ApplyAll:
51
+ totalElements = this.totalRecords;
52
+ break;
53
+ }
54
+ this.ref.close({ searchApplyType: this.selectedOption, totalElements });
43
55
  }
44
56
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: OperationTypesComponent, deps: [{ token: i1.DynamicDialogRef }, { token: i1.DynamicDialogConfig }], target: i0.ɵɵFactoryTarget.Component }); }
45
57
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: OperationTypesComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
@@ -1 +1 @@
1
- {"version":3,"file":"aril-ui-operation-types-dialog.mjs","sources":["../../projects/aril/ui/operation-types-dialog/src/operation-types-dialog.component.ts","../../projects/aril/ui/operation-types-dialog/aril-ui-operation-types-dialog.ts"],"sourcesContent":["import { Component } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\r\n\r\nimport { ButtonComponent } from 'aril/ui/button';\r\nimport { RadioButtonComponent } from 'aril/ui/radioButton';\r\nimport { TableComponent } from 'aril/ui/table';\r\n\r\nexport enum OperationType {\r\n\tApplyOnlySelected = 'APPLY_ONLY_SELECTED',\r\n\tApplyExceptSelected = 'APPLY_EXCEPT_SELECTED',\r\n\tApplyAll = 'APPLY_ALL'\r\n}\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\ttemplate: `\r\n\t\t<div class=\"flex flex-column gap-4 px-3\">\r\n\t\t\t<aril-radio-button [(ngModel)]=\"selectedOption\" [options]=\"options\" />\r\n\t\t\t<aril-button class=\"align-self-end\" color=\"success\" label=\"Devam\" (clickEvent)=\"submit()\" />\r\n\t\t</div>\r\n\t`,\r\n\timports: [FormsModule, RadioButtonComponent, ButtonComponent]\r\n})\r\nexport class OperationTypesComponent {\r\n\tselectedOption = OperationType.ApplyOnlySelected;\r\n\r\n\toptions = [\r\n\t\t{ key: OperationType.ApplyOnlySelected, label: `Yalnızca Seçilenlere Uygula (${this.selectedRowsLength}) Adet` },\r\n\t\t{\r\n\t\t\tkey: OperationType.ApplyExceptSelected,\r\n\t\t\tlabel: `Seçilenlere Hariç Tümüne Uygula (${this.totalRecords - this.selectedRowsLength}) Adet`\r\n\t\t},\r\n\t\t{ key: OperationType.ApplyAll, label: `Tüm Arama Sonuçlarına Uygula (${this.totalRecords}) Adet` }\r\n\t];\r\n\r\n\tconstructor(private ref: DynamicDialogRef, private dialogConfig: DynamicDialogConfig) {\r\n\t\tthis.dialogConfig.draggable = true;\r\n\t\tthis.dialogConfig.header = 'İşlem Hangi Satırlara Uygulansın?';\r\n\t\tthis.dialogConfig.contentStyle = { overflow: 'auto', 'max-width': '350px' };\r\n\t}\r\n\r\n\tget tableRef(): TableComponent {\r\n\t\treturn this.dialogConfig.data.tableRef;\r\n\t}\r\n\r\n\tget totalRecords(): number {\r\n\t\treturn this.tableRef.tableRef._totalRecords;\r\n\t}\r\n\r\n\tget selectedRowsLength(): number {\r\n\t\treturn this.tableRef.selectedRows.length;\r\n\t}\r\n\r\n\tsubmit(): void {\r\n\t\tthis.ref.close(this.selectedOption);\r\n\t}\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aril-ui-operation-types-dialog.mjs","sources":["../../projects/aril/ui/operation-types-dialog/src/operation-types-dialog.component.ts","../../projects/aril/ui/operation-types-dialog/aril-ui-operation-types-dialog.ts"],"sourcesContent":["import { Component } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\r\n\r\nimport { ButtonComponent } from 'aril/ui/button';\r\nimport { RadioButtonComponent } from 'aril/ui/radioButton';\r\nimport { TableComponent } from 'aril/ui/table';\r\n\r\nexport enum OperationType {\r\n\tApplyOnlySelected = 'APPLY_ONLY_SELECTED',\r\n\tApplyExceptSelected = 'APPLY_EXCEPT_SELECTED',\r\n\tApplyAll = 'APPLY_ALL'\r\n}\r\n\r\nexport type OperationTypeResult = { searchApplyType: OperationType; totalElements: number };\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\ttemplate: `\r\n\t\t<div class=\"flex flex-column gap-4 px-3\">\r\n\t\t\t<aril-radio-button [(ngModel)]=\"selectedOption\" [options]=\"options\" />\r\n\t\t\t<aril-button class=\"align-self-end\" color=\"success\" label=\"Devam\" (clickEvent)=\"submit()\" />\r\n\t\t</div>\r\n\t`,\r\n\timports: [FormsModule, RadioButtonComponent, ButtonComponent]\r\n})\r\nexport class OperationTypesComponent {\r\n\tselectedOption = OperationType.ApplyOnlySelected;\r\n\r\n\toptions = [\r\n\t\t{ key: OperationType.ApplyOnlySelected, label: `Yalnızca Seçilenlere Uygula (${this.selectedRowsLength}) Adet` },\r\n\t\t{\r\n\t\t\tkey: OperationType.ApplyExceptSelected,\r\n\t\t\tlabel: `Seçilenlere Hariç Tümüne Uygula (${this.totalRecords - this.selectedRowsLength}) Adet`\r\n\t\t},\r\n\t\t{ key: OperationType.ApplyAll, label: `Tüm Arama Sonuçlarına Uygula (${this.totalRecords}) Adet` }\r\n\t];\r\n\r\n\tconstructor(\r\n\t\tprivate ref: DynamicDialogRef,\r\n\t\tprivate dialogConfig: DynamicDialogConfig\r\n\t) {\r\n\t\tthis.dialogConfig.draggable = true;\r\n\t\tthis.dialogConfig.header = 'İşlem Hangi Satırlara Uygulansın?';\r\n\t\tthis.dialogConfig.contentStyle = { overflow: 'auto', 'max-width': '350px' };\r\n\t}\r\n\r\n\tget tableRef(): TableComponent {\r\n\t\treturn this.dialogConfig.data.tableRef;\r\n\t}\r\n\r\n\tget totalRecords(): number {\r\n\t\treturn this.tableRef.tableRef._totalRecords;\r\n\t}\r\n\r\n\tget selectedRowsLength(): number {\r\n\t\treturn this.tableRef.selectedRows.length;\r\n\t}\r\n\r\n\tsubmit(): void {\r\n\t\tlet totalElements = this.selectedRowsLength;\r\n\r\n\t\tswitch (this.selectedOption) {\r\n\t\t\tcase OperationType.ApplyOnlySelected:\r\n\t\t\t\ttotalElements = this.selectedRowsLength;\r\n\t\t\t\tbreak;\r\n\t\t\tcase OperationType.ApplyExceptSelected:\r\n\t\t\t\ttotalElements = this.totalRecords - this.selectedRowsLength;\r\n\t\t\t\tbreak;\r\n\t\t\tcase OperationType.ApplyAll:\r\n\t\t\t\ttotalElements = this.totalRecords;\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tthis.ref.close({ searchApplyType: this.selectedOption, totalElements } as OperationTypeResult);\r\n\t}\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, signal, EventEmitter, effect, Component, Output } from '@angular/core';
3
+ import * as i3 from '@angular/forms';
4
+ import { ReactiveFormsModule } from '@angular/forms';
5
+ import * as i4 from 'devextreme-angular/ui/select-box';
6
+ import { DxSelectBoxModule } from 'devextreme-angular/ui/select-box';
7
+ import { firstValueFrom } from 'rxjs';
8
+ import * as i2 from 'aril/ui/lib';
9
+ import { BaseInputComponent, InputErrorMessagePipe, DXInputErrorMessagePipe, ValueAccessorDirective } from 'aril/ui/lib';
10
+ import * as i1 from '@angular/common/http';
11
+
12
+ class RolePickerComponent extends BaseInputComponent {
13
+ constructor(http) {
14
+ super();
15
+ this.http = http;
16
+ this.itemKey = input('key');
17
+ this.itemText = input('text');
18
+ this.groupName = input('');
19
+ this.parentSelectionKey = input(null);
20
+ this.tabindex = input(0);
21
+ this.items = input.required();
22
+ this.selectionItems = signal(null);
23
+ /** * @description when grouped = true, option item structure { key:string, items:[] } */
24
+ this.grouped = input(false);
25
+ this.showClearButton = input(true);
26
+ this.placeholder = input('');
27
+ this.searchExpr = input('');
28
+ this.baseUrl = input('http://yeap.edas1.com/mw/v1'); // default
29
+ this.roleEndPointUrl = input('/user-management/roles/by-client-reference-key?clientReferenceKey='); // default
30
+ this.client = input('thor'); // default
31
+ this.onSelectionChanged = new EventEmitter();
32
+ effect(() => {
33
+ if (this.client())
34
+ this.getSelectionItems();
35
+ });
36
+ }
37
+ async getSelectionItems() {
38
+ const roleItems = await firstValueFrom(this.http.get(this.baseUrl() + this.roleEndPointUrl() + this.client()));
39
+ console.log(roleItems);
40
+ this.selectionItems.set(roleItems.map((item) => ({
41
+ key: item.id,
42
+ text: item.name,
43
+ parentSelectionKey: item.clientId
44
+ })));
45
+ }
46
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: RolePickerComponent, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Component }); }
47
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: RolePickerComponent, isStandalone: true, selector: "aril-role-picker[formControl], aril-role-picker[formControlName]", inputs: { itemKey: { classPropertyName: "itemKey", publicName: "itemKey", isSignal: true, isRequired: false, transformFunction: null }, itemText: { classPropertyName: "itemText", publicName: "itemText", isSignal: true, isRequired: false, transformFunction: null }, groupName: { classPropertyName: "groupName", publicName: "groupName", isSignal: true, isRequired: false, transformFunction: null }, parentSelectionKey: { classPropertyName: "parentSelectionKey", publicName: "parentSelectionKey", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null }, grouped: { classPropertyName: "grouped", publicName: "grouped", isSignal: true, isRequired: false, transformFunction: null }, showClearButton: { classPropertyName: "showClearButton", publicName: "showClearButton", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, searchExpr: { classPropertyName: "searchExpr", publicName: "searchExpr", isSignal: true, isRequired: false, transformFunction: null }, baseUrl: { classPropertyName: "baseUrl", publicName: "baseUrl", isSignal: true, isRequired: false, transformFunction: null }, roleEndPointUrl: { classPropertyName: "roleEndPointUrl", publicName: "roleEndPointUrl", isSignal: true, isRequired: false, transformFunction: null }, client: { classPropertyName: "client", publicName: "client", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSelectionChanged: "onSelectionChanged" }, providers: [InputErrorMessagePipe], usesInheritance: true, hostDirectives: [{ directive: i2.ValueAccessorDirective }], ngImport: i0, template: "<dx-select-box\r\n\t[items]=\"selectionItems() || items()\"\r\n\t[valueExpr]=\"itemKey()\"\r\n\t[displayExpr]=\"itemText()\"\r\n\t[searchEnabled]=\"true\"\r\n\t[searchExpr]=\"searchExpr()\"\r\n\t[tabIndex]=\"tabindex()\"\r\n\t[grouped]=\"grouped()\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[showClearButton]=\"showClearButton()\"\r\n\t[isValid]=\"ngControl?.control?.valid || ngControl?.control?.pristine || ngControl?.control?.disabled || false\"\r\n\t[validationError]=\"ngControl?.control?.errors | dxInputErrorMessage: ngControl?.control\"\r\n\tvalidationMessagePosition=\"top\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n\t(onSelectionChanged)=\"onSelectionChanged.emit($event.selectedItem)\">\r\n</dx-select-box>\r\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: DxSelectBoxModule }, { kind: "component", type: i4.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "customItemCreateEvent", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isDirty", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "customItemCreateEventChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isDirtyChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "pipe", type: DXInputErrorMessagePipe, name: "dxInputErrorMessage" }] }); }
48
+ }
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: RolePickerComponent, decorators: [{
50
+ type: Component,
51
+ args: [{ standalone: true, selector: 'aril-role-picker[formControl], aril-role-picker[formControlName]', imports: [ReactiveFormsModule, DxSelectBoxModule, DXInputErrorMessagePipe], providers: [InputErrorMessagePipe], hostDirectives: [ValueAccessorDirective], template: "<dx-select-box\r\n\t[items]=\"selectionItems() || items()\"\r\n\t[valueExpr]=\"itemKey()\"\r\n\t[displayExpr]=\"itemText()\"\r\n\t[searchEnabled]=\"true\"\r\n\t[searchExpr]=\"searchExpr()\"\r\n\t[tabIndex]=\"tabindex()\"\r\n\t[grouped]=\"grouped()\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[showClearButton]=\"showClearButton()\"\r\n\t[isValid]=\"ngControl?.control?.valid || ngControl?.control?.pristine || ngControl?.control?.disabled || false\"\r\n\t[validationError]=\"ngControl?.control?.errors | dxInputErrorMessage: ngControl?.control\"\r\n\tvalidationMessagePosition=\"top\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n\t(onSelectionChanged)=\"onSelectionChanged.emit($event.selectedItem)\">\r\n</dx-select-box>\r\n" }]
52
+ }], ctorParameters: () => [{ type: i1.HttpClient }], propDecorators: { onSelectionChanged: [{
53
+ type: Output
54
+ }] } });
55
+
56
+ /**
57
+ * Generated bundle index. Do not edit.
58
+ */
59
+
60
+ export { RolePickerComponent };
61
+ //# sourceMappingURL=aril-ui-rolePicker.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aril-ui-rolePicker.mjs","sources":["../../projects/aril/ui/rolePicker/src/role-picker.component.ts","../../projects/aril/ui/rolePicker/src/role-picker.component.html","../../projects/aril/ui/rolePicker/aril-ui-rolePicker.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\r\nimport { Component, EventEmitter, Output, effect, input, signal } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { DxSelectBoxModule } from 'devextreme-angular/ui/select-box';\r\nimport { firstValueFrom } from 'rxjs';\r\n\r\nimport { API_CONFIGS } from 'aril/boot/config/api';\r\nimport {\r\n\tBaseInputComponent,\r\n\tDXInputErrorMessagePipe,\r\n\tInputErrorMessagePipe,\r\n\tValueAccessorDirective\r\n} from 'aril/ui/lib';\r\n\r\nimport { RoleResponseDTO, SelectBoxItem, SelectionGroupDTO, SelectionRequestDTO } from './interface';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'aril-role-picker[formControl], aril-role-picker[formControlName]',\r\n\ttemplateUrl: './role-picker.component.html',\r\n\timports: [ReactiveFormsModule, DxSelectBoxModule, DXInputErrorMessagePipe],\r\n\tproviders: [InputErrorMessagePipe],\r\n\thostDirectives: [ValueAccessorDirective]\r\n})\r\nexport class RolePickerComponent extends BaseInputComponent {\r\n\titemKey = input('key');\r\n\titemText = input('text');\r\n\tgroupName = input('');\r\n\tparentSelectionKey = input(null);\r\n\ttabindex = input<number>(0);\r\n\titems = input.required<SelectBoxItem[]>();\r\n\r\n\tselectionItems = signal<SelectBoxItem[] | null>(null);\r\n\r\n\t/** * @description when grouped = true, option item structure { key:string, items:[] } */\r\n\tgrouped = input(false);\r\n\tshowClearButton = input<boolean>(true);\r\n\tplaceholder = input<string>('');\r\n\tsearchExpr = input<string | string[]>('');\r\n\r\n\tbaseUrl = input<string | null>('http://yeap.edas1.com/mw/v1'); // default\r\n\troleEndPointUrl = input<string>('/user-management/roles/by-client-reference-key?clientReferenceKey='); // default\r\n\tclient = input<string>('thor'); // default\r\n\r\n\t@Output() onSelectionChanged = new EventEmitter<SelectBoxItem>();\r\n\r\n\tconstructor(private http: HttpClient) {\r\n\t\tsuper();\r\n\t\teffect(() => {\r\n\t\t\tif (this.client()) this.getSelectionItems();\r\n\t\t});\r\n\t}\r\n\r\n\tasync getSelectionItems() {\r\n\t\tconst roleItems = await firstValueFrom(\r\n\t\t\tthis.http.get<RoleResponseDTO[]>(this.baseUrl() + this.roleEndPointUrl() + this.client())\r\n\t\t);\r\n\r\n\t\tconsole.log(roleItems);\r\n\t\tthis.selectionItems.set(\r\n\t\t\troleItems.map((item) => ({\r\n\t\t\t\tkey: item.id,\r\n\t\t\t\ttext: item.name,\r\n\t\t\t\tparentSelectionKey: item.clientId\r\n\t\t\t}))\r\n\t\t);\r\n\t}\r\n}\r\n","<dx-select-box\r\n\t[items]=\"selectionItems() || items()\"\r\n\t[valueExpr]=\"itemKey()\"\r\n\t[displayExpr]=\"itemText()\"\r\n\t[searchEnabled]=\"true\"\r\n\t[searchExpr]=\"searchExpr()\"\r\n\t[tabIndex]=\"tabindex()\"\r\n\t[grouped]=\"grouped()\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[showClearButton]=\"showClearButton()\"\r\n\t[isValid]=\"ngControl?.control?.valid || ngControl?.control?.pristine || ngControl?.control?.disabled || false\"\r\n\t[validationError]=\"ngControl?.control?.errors | dxInputErrorMessage: ngControl?.control\"\r\n\tvalidationMessagePosition=\"top\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\"\r\n\t(onSelectionChanged)=\"onSelectionChanged.emit($event.selectedItem)\">\r\n</dx-select-box>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;AAyBM,MAAO,mBAAoB,SAAQ,kBAAkB,CAAA;AAsB1D,IAAA,WAAA,CAAoB,IAAgB,EAAA;AACnC,QAAA,KAAK,EAAE,CAAC;QADW,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AArBpC,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AACvB,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;AACzB,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;AACtB,QAAA,IAAA,CAAA,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;AACjC,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAS,CAAC,CAAC,CAAC;AAC5B,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAmB,CAAC;AAE1C,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAyB,IAAI,CAAC,CAAC;;AAGtD,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AACvB,QAAA,IAAA,CAAA,eAAe,GAAG,KAAK,CAAU,IAAI,CAAC,CAAC;AACvC,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAS,EAAE,CAAC,CAAC;AAChC,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAoB,EAAE,CAAC,CAAC;AAE1C,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAgB,6BAA6B,CAAC,CAAC;AAC9D,QAAA,IAAA,CAAA,eAAe,GAAG,KAAK,CAAS,oEAAoE,CAAC,CAAC;AACtG,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAS,MAAM,CAAC,CAAC;AAErB,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,YAAY,EAAiB,CAAC;QAIhE,MAAM,CAAC,MAAK;YACX,IAAI,IAAI,CAAC,MAAM,EAAE;gBAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC7C,SAAC,CAAC,CAAC;KACH;AAED,IAAA,MAAM,iBAAiB,GAAA;QACtB,MAAM,SAAS,GAAG,MAAM,cAAc,CACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAoB,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CACzF,CAAC;AAEF,QAAA,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACvB,QAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CACtB,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;YACxB,GAAG,EAAE,IAAI,CAAC,EAAE;YACZ,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,kBAAkB,EAAE,IAAI,CAAC,QAAQ;SACjC,CAAC,CAAC,CACH,CAAC;KACF;8GA1CW,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kEAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,kBAAA,EAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,SAAA,EAHpB,CAAC,qBAAqB,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtBnC,oxBAiBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDIW,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,SAAA,EAAA,uBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,aAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,SAAA,EAAA,eAAA,EAAA,QAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,SAAA,EAAA,SAAA,EAAA,OAAA,EAAA,cAAA,EAAA,OAAA,EAAA,WAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,YAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,eAAA,EAAA,YAAA,EAAA,YAAA,EAAA,eAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,oBAAA,EAAA,uBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,uBAAA,EAAA,2BAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,SAAA,EAAA,OAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,OAAA,EAAA,aAAA,EAAA,YAAA,EAAA,WAAA,EAAA,YAAA,EAAA,eAAA,EAAA,SAAA,EAAA,aAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,gBAAA,EAAA,yBAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,eAAA,EAAA,6BAAA,EAAA,kBAAA,EAAA,sBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,oBAAA,EAAA,8BAAA,EAAA,uBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,yBAAA,EAAA,eAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,YAAA,EAAA,yBAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,eAAA,EAAA,aAAA,EAAA,oBAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,uBAAA,EAAA,4BAAA,EAAA,0BAAA,EAAA,6BAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,0BAAA,EAAA,uBAAA,EAAA,wBAAA,EAAA,6BAAA,EAAA,iCAAA,EAAA,wBAAA,EAAA,aAAA,EAAA,wBAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,aAAA,EAAA,oBAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,uBAAuB,EAAA,IAAA,EAAA,qBAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAI7D,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAR/B,SAAS;AACG,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,YACN,kEAAkE,EAAA,OAAA,EAEnE,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,uBAAuB,CAAC,aAC/D,CAAC,qBAAqB,CAAC,EAClB,cAAA,EAAA,CAAC,sBAAsB,CAAC,EAAA,QAAA,EAAA,oxBAAA,EAAA,CAAA;+EAsB9B,kBAAkB,EAAA,CAAA;sBAA3B,MAAM;;;AE7CR;;AAEG;;;;"}
@@ -0,0 +1,79 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, Component, ViewChild } from '@angular/core';
3
+ import * as i3 from '@angular/forms';
4
+ import { ReactiveFormsModule } from '@angular/forms';
5
+ import * as i4 from 'primeng/autocomplete';
6
+ import { AutoComplete, AutoCompleteModule } from 'primeng/autocomplete';
7
+ import { ObjectUtils } from 'primeng/utils';
8
+ import { firstValueFrom } from 'rxjs';
9
+ import * as i2 from 'aril/ui/lib';
10
+ import { BaseInputComponent, InputErrorMessagePipe, ValueAccessorDirective } from 'aril/ui/lib';
11
+ import * as i1 from '@angular/common/http';
12
+ import * as i5 from 'primeng/api';
13
+
14
+ class UserPickerComponent extends BaseInputComponent {
15
+ constructor(http) {
16
+ super();
17
+ this.http = http;
18
+ this.placeholder = input('Arama...');
19
+ this.forceSelection = input(false);
20
+ this.multiple = input(false);
21
+ this.optionValue = input(null);
22
+ this.baseUrl = input('http://yeap.edas1.com/mw/v1'); // default
23
+ this.userEndPointUrl = input('/user-management/users/search/'); // default
24
+ }
25
+ ngAfterViewInit() {
26
+ this.autoCompleteRef.getOptionValue = this.getOptionValue.bind(this);
27
+ }
28
+ getOptionValue(option) {
29
+ return this.optionValue()
30
+ ? typeof option === 'object'
31
+ ? ObjectUtils.resolveFieldData(option, this.optionValue())
32
+ : option
33
+ : option;
34
+ }
35
+ async search(event) {
36
+ const userGroup = await firstValueFrom(this.http.get(this.baseUrl() + this.userEndPointUrl() + event.query));
37
+ const groupedUserSelectionItems = this.groupByUserName(userGroup);
38
+ console.log(groupedUserSelectionItems);
39
+ const newFilteredGroupSuggestions = [];
40
+ Object.keys(groupedUserSelectionItems).map((key) => {
41
+ const groupData = { text: key, key: key, items: [] };
42
+ groupedUserSelectionItems[key].map((item) => {
43
+ groupData.items.push({
44
+ key: item.id,
45
+ text: item.firstName + ' ' + item.lastName
46
+ });
47
+ });
48
+ newFilteredGroupSuggestions.push(groupData);
49
+ });
50
+ console.log(newFilteredGroupSuggestions);
51
+ this.filteredSelectionItems = newFilteredGroupSuggestions;
52
+ }
53
+ groupByUserName(array) {
54
+ return array.reduce((result, currentValue) => {
55
+ const firstName = currentValue?.firstName || 'Unknown';
56
+ if (!result[firstName]) {
57
+ result[firstName] = [];
58
+ }
59
+ result[firstName].push(currentValue);
60
+ return result;
61
+ }, {});
62
+ }
63
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: UserPickerComponent, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Component }); }
64
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: UserPickerComponent, isStandalone: true, selector: "aril-user-picker[ngModel], aril-user-picker[formControl], aril-user-picker[formControlName]", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, forceSelection: { classPropertyName: "forceSelection", publicName: "forceSelection", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, optionValue: { classPropertyName: "optionValue", publicName: "optionValue", isSignal: true, isRequired: false, transformFunction: null }, baseUrl: { classPropertyName: "baseUrl", publicName: "baseUrl", isSignal: true, isRequired: false, transformFunction: null }, userEndPointUrl: { classPropertyName: "userEndPointUrl", publicName: "userEndPointUrl", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "autoCompleteRef", first: true, predicate: AutoComplete, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i2.ValueAccessorDirective }], ngImport: i0, template: "<p-autoComplete\r\n\toptionLabel=\"text\"\r\n\t[optionValue]=\"optionValue()!\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[multiple]=\"multiple()\"\r\n\t[group]=\"true\"\r\n\t[forceSelection]=\"forceSelection()\"\r\n\t[delay]=\"400\"\r\n\t[suggestions]=\"filteredSelectionItems\"\r\n\t(completeMethod)=\"search($event)\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t[autoHighlight]=\"true\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\">\r\n\t<ng-template let-group pTemplate=\"group\">\r\n\t\t<div class=\"flex align-items-center\">\r\n\t\t\t<span style=\"font-weight: 800\">{{ group.text }}</span>\r\n\t\t</div>\r\n\t</ng-template>\r\n</p-autoComplete>\r\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: AutoCompleteModule }, { kind: "component", type: i4.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "itemSize", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "variant"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "directive", type: i5.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }] }); }
65
+ }
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: UserPickerComponent, decorators: [{
67
+ type: Component,
68
+ args: [{ standalone: true, selector: 'aril-user-picker[ngModel], aril-user-picker[formControl], aril-user-picker[formControlName]', imports: [ReactiveFormsModule, InputErrorMessagePipe, AutoCompleteModule], hostDirectives: [ValueAccessorDirective], template: "<p-autoComplete\r\n\toptionLabel=\"text\"\r\n\t[optionValue]=\"optionValue()!\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[multiple]=\"multiple()\"\r\n\t[group]=\"true\"\r\n\t[forceSelection]=\"forceSelection()\"\r\n\t[delay]=\"400\"\r\n\t[suggestions]=\"filteredSelectionItems\"\r\n\t(completeMethod)=\"search($event)\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t[autoHighlight]=\"true\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\">\r\n\t<ng-template let-group pTemplate=\"group\">\r\n\t\t<div class=\"flex align-items-center\">\r\n\t\t\t<span style=\"font-weight: 800\">{{ group.text }}</span>\r\n\t\t</div>\r\n\t</ng-template>\r\n</p-autoComplete>\r\n" }]
69
+ }], ctorParameters: () => [{ type: i1.HttpClient }], propDecorators: { autoCompleteRef: [{
70
+ type: ViewChild,
71
+ args: [AutoComplete]
72
+ }] } });
73
+
74
+ /**
75
+ * Generated bundle index. Do not edit.
76
+ */
77
+
78
+ export { UserPickerComponent };
79
+ //# sourceMappingURL=aril-ui-userPicker.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aril-ui-userPicker.mjs","sources":["../../projects/aril/ui/userPicker/src/user-picker.component.ts","../../projects/aril/ui/userPicker/src/user-picker.component.html","../../projects/aril/ui/userPicker/aril-ui-userPicker.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\r\nimport { AfterViewInit, Component, ViewChild, input } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { AutoComplete, AutoCompleteModule } from 'primeng/autocomplete';\r\nimport { ObjectUtils } from 'primeng/utils';\r\n\r\nimport { firstValueFrom } from 'rxjs';\r\nimport { BaseInputComponent, InputErrorMessagePipe, ValueAccessorDirective } from 'aril/ui/lib';\r\n\r\nimport {\r\n\tSuggestionsDTO,\r\n\tSuggestionsGroupDTO,\r\n\tUserResponseDTO\r\n} from './interface';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'aril-user-picker[ngModel], aril-user-picker[formControl], aril-user-picker[formControlName]',\r\n\ttemplateUrl: './user-picker.component.html',\r\n\timports: [ReactiveFormsModule, InputErrorMessagePipe, AutoCompleteModule],\r\n\thostDirectives: [ValueAccessorDirective]\r\n})\r\nexport class UserPickerComponent extends BaseInputComponent implements AfterViewInit {\r\n\t@ViewChild(AutoComplete) autoCompleteRef!: AutoComplete;\r\n\r\n\tplaceholder = input<string>('Arama...');\r\n\tforceSelection = input<boolean>(false);\r\n\tmultiple = input<boolean>(false);\r\n\toptionValue = input<keyof SuggestionsDTO | null>(null);\r\n\r\n\tfilteredSelectionItems!: SuggestionsGroupDTO[];\r\n\tbaseUrl = input<string | null>('http://yeap.edas1.com/mw/v1'); // default\r\n\tuserEndPointUrl = input<string>('/user-management/users/search/'); // default\r\n\tconstructor(private http: HttpClient) {\r\n\t\tsuper();\r\n\t}\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tthis.autoCompleteRef.getOptionValue = this.getOptionValue.bind(this);\r\n\t}\r\n\r\n\tgetOptionValue(option: any) {\r\n\t\treturn this.optionValue()\r\n\t\t\t? typeof option === 'object'\r\n\t\t\t\t? ObjectUtils.resolveFieldData(option, this.optionValue())\r\n\t\t\t\t: option\r\n\t\t\t: option;\r\n\t}\r\n\r\n\tasync search(event: any) {\r\n\t\tconst userGroup: UserResponseDTO[] = await firstValueFrom(\r\n\t\t\tthis.http.get<any>(this.baseUrl() + this.userEndPointUrl() + event.query)\r\n\t\t);\r\n\r\n\t\tconst groupedUserSelectionItems: { [key: string]: UserResponseDTO[] } = this.groupByUserName(userGroup);\r\n\t\tconsole.log(groupedUserSelectionItems);\r\n\t\tconst newFilteredGroupSuggestions: SuggestionsGroupDTO[] = [];\r\n\t\tObject.keys(groupedUserSelectionItems).map((key: string) => {\r\n\t\t\tconst groupData: SuggestionsGroupDTO = { text: key, key: key, items: [] };\r\n\t\t\tgroupedUserSelectionItems[key].map((item: UserResponseDTO) => {\r\n\t\t\t\tgroupData.items.push({\r\n\t\t\t\t\tkey: item.id,\r\n\t\t\t\t\ttext: item.firstName + ' ' + item.lastName\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t\tnewFilteredGroupSuggestions.push(groupData);\r\n\t\t});\r\n\t\tconsole.log(newFilteredGroupSuggestions);\r\n\t\tthis.filteredSelectionItems = newFilteredGroupSuggestions;\r\n\t}\r\n\r\n\tgroupByUserName(array: UserResponseDTO[]): { [key: string]: UserResponseDTO[] } {\r\n\t\treturn array.reduce((result: { [key: string]: UserResponseDTO[] }, currentValue: UserResponseDTO) => {\r\n\t\t\tconst firstName = currentValue?.firstName || 'Unknown';\r\n\t\t\tif (!result[firstName]) {\r\n\t\t\t\tresult[firstName] = [];\r\n\t\t\t}\r\n\t\t\tresult[firstName].push(currentValue);\r\n\t\t\treturn result;\r\n\t\t}, {});\r\n\t}\r\n}\r\n","<p-autoComplete\r\n\toptionLabel=\"text\"\r\n\t[optionValue]=\"optionValue()!\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[multiple]=\"multiple()\"\r\n\t[group]=\"true\"\r\n\t[forceSelection]=\"forceSelection()\"\r\n\t[delay]=\"400\"\r\n\t[suggestions]=\"filteredSelectionItems\"\r\n\t(completeMethod)=\"search($event)\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t[autoHighlight]=\"true\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\">\r\n\t<ng-template let-group pTemplate=\"group\">\r\n\t\t<div class=\"flex align-items-center\">\r\n\t\t\t<span style=\"font-weight: 800\">{{ group.text }}</span>\r\n\t\t</div>\r\n\t</ng-template>\r\n</p-autoComplete>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}