@elite.framework/ng.ui.core 1.0.75 → 1.0.77

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.
@@ -14,6 +14,7 @@ import { FormlyButtonComponent } from '@elite.framework/ng.ui.core/formly-button
14
14
  import { FormlySelectionButtonComponent } from '@elite.framework/ng.ui.core/formly-button-selector';
15
15
  import { FormlySplitButtonComponent } from '@elite.framework/ng.ui.core/formly-split-button';
16
16
  import { UsernameWithDomainComponent } from '@elite.framework/ng.ui.core/formly-username-with-domain';
17
+ import { QueryBuilderComponent, SortBuilderComponent, GroupTypeComponent, TabTypeComponent } from '@elite.framework/ng.ui.core/generic-search-advanced';
17
18
  import { GenericSelectorTypeComponent } from '@elite.framework/ng.ui.core/generic-selector';
18
19
  import { IconPickerComponent } from '@elite.framework/ng.ui.core/icon-picker';
19
20
  import { InputSwitchTypeComponent } from '@elite.framework/ng.ui.core/input-switch';
@@ -63,12 +64,34 @@ function provideAllFormlyFields() {
63
64
  withFormlyFieldTemplate,
64
65
  withFormlyFieldButton,
65
66
  withFormlyFieldAvatarImage,
66
- withFormlyWrappers
67
+ withFormlyWrappers,
68
+ withFormlyQueryBuilder,
67
69
  ];
68
70
  // Call each provider function to get the Provider object
69
71
  return fields.map(fn => fn());
70
72
  }
71
73
  // ---- Field Providers ----
74
+ function withFormlyQueryBuilder() {
75
+ return {
76
+ types: [
77
+ {
78
+ name: 'query-builder',
79
+ component: QueryBuilderComponent
80
+ },
81
+ {
82
+ name: 'sort-builder',
83
+ component: SortBuilderComponent
84
+ },
85
+ {
86
+ name: 'group', component: GroupTypeComponent
87
+ },
88
+ {
89
+ name: 'tab-type',
90
+ component: TabTypeComponent
91
+ },
92
+ ],
93
+ };
94
+ }
72
95
  function withFormlyFieldInputWithIcon() {
73
96
  return {
74
97
  types: [
@@ -383,5 +406,5 @@ function withFormlyWrappers() {
383
406
  * Generated bundle index. Do not edit.
384
407
  */
385
408
 
386
- export { FormlyUiAllModule, globalGenericSelectorExtension, provideAllFormlyFields, withFormlyFieldAttachment, withFormlyFieldAvatarImage, withFormlyFieldAvatarLabelButton, withFormlyFieldButton, withFormlyFieldButtonSelection, withFormlyFieldClickableLabelType, withFormlyFieldColorPicker, withFormlyFieldColorTag, withFormlyFieldConditionBuilder, withFormlyFieldCustomSwitch, withFormlyFieldFormlyButton, withFormlyFieldFormlySplit, withFormlyFieldGenericSelector, withFormlyFieldIconPicker, withFormlyFieldInputWithIcon, withFormlyFieldLabelType, withFormlyFieldOptionTag, withFormlyFieldRepeat, withFormlyFieldRichTextEditor, withFormlyFieldSwitch, withFormlyFieldTabs, withFormlyFieldTag, withFormlyFieldTemplate, withFormlyFieldUsernameWithDomain, withFormlyWrappers };
409
+ export { FormlyUiAllModule, globalGenericSelectorExtension, provideAllFormlyFields, withFormlyFieldAttachment, withFormlyFieldAvatarImage, withFormlyFieldAvatarLabelButton, withFormlyFieldButton, withFormlyFieldButtonSelection, withFormlyFieldClickableLabelType, withFormlyFieldColorPicker, withFormlyFieldColorTag, withFormlyFieldConditionBuilder, withFormlyFieldCustomSwitch, withFormlyFieldFormlyButton, withFormlyFieldFormlySplit, withFormlyFieldGenericSelector, withFormlyFieldIconPicker, withFormlyFieldInputWithIcon, withFormlyFieldLabelType, withFormlyFieldOptionTag, withFormlyFieldRepeat, withFormlyFieldRichTextEditor, withFormlyFieldSwitch, withFormlyFieldTabs, withFormlyFieldTag, withFormlyFieldTemplate, withFormlyFieldUsernameWithDomain, withFormlyQueryBuilder, withFormlyWrappers };
387
410
  //# sourceMappingURL=elite.framework-ng.ui.core-formly-ui-all.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"elite.framework-ng.ui.core-formly-ui-all.mjs","sources":["../tmp-esm2022/formly-ui-all/lib/formly-ui-all-module.js","../tmp-esm2022/formly-ui-all/lib/formly-all.config.js","../tmp-esm2022/formly-ui-all/elite.framework-ng.ui.core-formly-ui-all.js"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class FormlyUiAllModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyUiAllModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyUiAllModule, imports: [CommonModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyUiAllModule, imports: [CommonModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyUiAllModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LXVpLWFsbC1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLnVpLmNvcmUvZm9ybWx5LXVpLWFsbC9zcmMvbGliL2Zvcm1seS11aS1hbGwtbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUsvQyxNQUFNLE9BQU8saUJBQWlCO3VHQUFqQixpQkFBaUI7d0dBQWpCLGlCQUFpQixZQUZsQixZQUFZO3dHQUVYLGlCQUFpQixZQUZsQixZQUFZOzsyRkFFWCxpQkFBaUI7a0JBSDdCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybWx5VWlBbGxNb2R1bGUge31cbiJdfQ==","import { AttachmentTypeComponent } from \"@elite.framework/ng.ui.core/attachments\";\nimport { CollapsibleWrapper } from \"@elite.framework/ng.ui.core/collapsible\";\nimport { ColorPickerComponent } from \"@elite.framework/ng.ui.core/color-picker\";\nimport { ConditionExpressionBuilderType } from \"@elite.framework/ng.ui.core/condition-editor\";\nimport { CustomSwitchFieldComponent } from \"@elite.framework/ng.ui.core/custom-switch\";\nimport { FormlyFieldButton } from \"@elite.framework/ng.ui.core/form-button\";\nimport { FormlyTemplateType } from \"@elite.framework/ng.ui.core/form-template\";\nimport { FormlyAvatarImageComponent } from \"@elite.framework/ng.ui.core/formly-avatar-image\";\nimport { FormlyAvatarLabelComponent } from \"@elite.framework/ng.ui.core/formly-avatar-label\";\nimport { FormlyButtonComponent } from \"@elite.framework/ng.ui.core/formly-button\";\nimport { FormlySelectionButtonComponent } from \"@elite.framework/ng.ui.core/formly-button-selector\";\nimport { FormlySplitButtonComponent } from \"@elite.framework/ng.ui.core/formly-split-button\";\nimport { UsernameWithDomainComponent } from \"@elite.framework/ng.ui.core/formly-username-with-domain\";\nimport { GenericSelectorTypeComponent } from \"@elite.framework/ng.ui.core/generic-selector\";\nimport { IconPickerComponent } from \"@elite.framework/ng.ui.core/icon-picker\";\nimport { InputSwitchTypeComponent } from \"@elite.framework/ng.ui.core/input-switch\";\nimport { InputWithIconType } from \"@elite.framework/ng.ui.core/input-with-icon\";\nimport { LabelTypeComponent, ClickableLabelTypeComponent, CustomTypeComponent } from \"@elite.framework/ng.ui.core/label-type\";\nimport { RepeatTypeComponent } from \"@elite.framework/ng.ui.core/repeat\";\nimport { TabsTypeComponent } from \"@elite.framework/ng.ui.core/tabs\";\nimport { OptionTagTypeComponent, TagTypeComponent, ColorTagTypeComponent } from \"@elite.framework/ng.ui.core/tag-type\";\nimport { RichTextEditorTypeComponent } from \"@elite.framework/ng.ui.core/text-editor\";\nimport { PanelWrapperComponent, LabelWrapperComponent, TdWrapperComponent, CustomFieldWrapper } from \"@elite.framework/ng.ui.core/wrappers\";\nexport function provideAllFormlyFields() {\n const fields = [\n withFormlyFieldInputWithIcon,\n withFormlyFieldAttachment,\n withFormlyFieldRichTextEditor,\n withFormlyFieldGenericSelector,\n withFormlyFieldSwitch,\n withFormlyFieldUsernameWithDomain,\n withFormlyFieldCustomSwitch,\n withFormlyFieldFormlySplit,\n withFormlyFieldButtonSelection,\n withFormlyFieldAvatarLabelButton,\n withFormlyFieldFormlyButton,\n withFormlyFieldLabelType,\n withFormlyFieldClickableLabelType,\n withFormlyFieldOptionTag,\n withFormlyFieldRepeat,\n withFormlyFieldTabs,\n withFormlyFieldTag,\n withFormlyFieldColorTag,\n withFormlyFieldConditionBuilder,\n withFormlyFieldIconPicker,\n withFormlyFieldColorPicker,\n withFormlyFieldTemplate,\n withFormlyFieldButton,\n withFormlyFieldAvatarImage,\n withFormlyWrappers\n ];\n // Call each provider function to get the Provider object\n return fields.map(fn => fn());\n}\n// ---- Field Providers ----\nexport function withFormlyFieldInputWithIcon() {\n return {\n types: [\n {\n name: 'inputWithIcon',\n component: InputWithIconType,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldAttachment() {\n return {\n types: [\n {\n name: 'attachment-type',\n component: AttachmentTypeComponent,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldRichTextEditor() {\n return {\n types: [\n {\n name: 'rich-text-editor',\n component: RichTextEditorTypeComponent,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldGenericSelector() {\n return {\n types: [\n {\n name: 'generic-selector',\n component: GenericSelectorTypeComponent,\n wrappers: ['form-field'],\n // defaultOptions: {\n // props: {\n // loadDefaultField: 'isDefault', // 👈 default value\n // loadDefaultValue: true, // 👈 default value\n // loadDefault: true, // 👈 default value\n // fixedFilters:{\n // isActive:true\n // }\n // },\n // },\n },\n ],\n };\n}\nexport function globalGenericSelectorExtension() {\n return {\n extensions: [\n {\n name: 'generic-selector-defaults',\n extension: {\n prePopulate(field) {\n if (field.type === 'generic-selector') {\n field.props = {\n loadDefaultField: 'isDefault',\n loadDefaultValue: true,\n loadDefault: true,\n fixedFilters: {\n isActive: true\n },\n ...field.props, // 👈 keep per-field overrides\n };\n }\n },\n },\n },\n ],\n };\n}\nexport function withFormlyFieldSwitch() {\n return {\n types: [\n {\n name: 'switch',\n component: InputSwitchTypeComponent,\n wrappers: ['form-field-no'],\n },\n ],\n };\n}\nexport function withFormlyFieldUsernameWithDomain() {\n return {\n types: [\n {\n name: 'username-with-domain',\n component: UsernameWithDomainComponent,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldCustomSwitch() {\n return {\n types: [\n {\n name: 'custom-switch',\n component: CustomSwitchFieldComponent,\n wrappers: ['form-field-no'],\n },\n ],\n };\n}\nexport function withFormlyFieldFormlySplit() {\n return {\n types: [\n {\n name: 'Formly-Split',\n component: FormlySplitButtonComponent,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldButtonSelection() {\n return {\n types: [\n {\n name: 'Button-Selection',\n component: FormlySelectionButtonComponent,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldAvatarLabelButton() {\n return {\n types: [\n {\n name: 'avatar-label-button',\n component: FormlyAvatarLabelComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldFormlyButton() {\n return {\n types: [\n {\n name: 'formly-button',\n component: FormlyButtonComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldLabelType() {\n return {\n types: [\n {\n name: 'label-type',\n component: LabelTypeComponent,\n },\n {\n name: 'custom-label-type',\n component: CustomTypeComponent,\n wrappers: ['field-wrapper']\n },\n ],\n };\n}\nexport function withFormlyFieldClickableLabelType() {\n return {\n types: [\n {\n name: 'clickable-label-type',\n component: ClickableLabelTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldOptionTag() {\n return {\n types: [\n {\n name: 'option-tag',\n component: OptionTagTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldRepeat() {\n return {\n types: [\n {\n name: 'repeat',\n component: RepeatTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldTabs() {\n return {\n types: [\n {\n name: 'tabs',\n component: TabsTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldTag() {\n return {\n types: [\n {\n name: 'tag',\n component: TagTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldColorTag() {\n return {\n types: [\n {\n name: 'color-tag',\n component: ColorTagTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldConditionBuilder() {\n return {\n types: [\n {\n name: 'condition-builder',\n component: ConditionExpressionBuilderType,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldIconPicker() {\n return {\n types: [\n {\n name: 'icon-picker',\n component: IconPickerComponent,\n wrappers: ['form-field-no'],\n },\n ],\n };\n}\nexport function withFormlyFieldColorPicker() {\n return {\n types: [\n {\n name: 'color-picker',\n component: ColorPickerComponent,\n wrappers: ['form-field-no'],\n },\n ],\n };\n}\nexport function withFormlyFieldTemplate() {\n return {\n types: [\n {\n name: 'template',\n component: FormlyTemplateType,\n },\n ],\n };\n}\nexport function withFormlyFieldButton() {\n return {\n types: [\n {\n name: 'button',\n component: FormlyFieldButton,\n wrappers: ['form-field'],\n defaultOptions: {\n props: {\n btnType: 'default',\n type: 'button',\n },\n },\n },\n ],\n };\n}\nexport function withFormlyFieldAvatarImage() {\n return {\n types: [\n {\n name: 'avatar-image',\n component: FormlyAvatarImageComponent,\n },\n ],\n };\n}\nexport function withFormlyWrappers() {\n return {\n wrappers: [\n { name: 'panel', component: PanelWrapperComponent },\n { name: 'label', component: LabelWrapperComponent },\n { name: 'td', component: TdWrapperComponent },\n { name: 'collapsible', component: CollapsibleWrapper },\n { name: 'field-wrapper', component: CustomFieldWrapper },\n ],\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWFsbC5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLnVpLmNvcmUvZm9ybWx5LXVpLWFsbC9zcmMvbGliL2Zvcm1seS1hbGwuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzlGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzVGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3BGLE9B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ZSxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRTtTQUN6RDtLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXR0YWNobWVudFR5cGVDb21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2F0dGFjaG1lbnRzXCI7XHJcbmltcG9ydCB7IENvbGxhcHNpYmxlV3JhcHBlciB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvY29sbGFwc2libGVcIjtcclxuaW1wb3J0IHsgQ29sb3JQaWNrZXJDb21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2NvbG9yLXBpY2tlclwiO1xyXG5pbXBvcnQgeyBDb25kaXRpb25FeHByZXNzaW9uQnVpbGRlclR5cGUgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2NvbmRpdGlvbi1lZGl0b3JcIjtcclxuaW1wb3J0IHsgQ3VzdG9tU3dpdGNoRmllbGRDb21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2N1c3RvbS1zd2l0Y2hcIjtcclxuaW1wb3J0IHsgRm9ybWx5RmllbGRCdXR0b24gfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2Zvcm0tYnV0dG9uXCI7XHJcbmltcG9ydCB7IEZvcm1seVRlbXBsYXRlVHlwZSB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvZm9ybS10ZW1wbGF0ZVwiO1xyXG5pbXBvcnQgeyBGb3JtbHlBdmF0YXJJbWFnZUNvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvZm9ybWx5LWF2YXRhci1pbWFnZVwiO1xyXG5pbXBvcnQgeyBGb3JtbHlBdmF0YXJMYWJlbENvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvZm9ybWx5LWF2YXRhci1sYWJlbFwiO1xyXG5pbXBvcnQgeyBGb3JtbHlCdXR0b25Db21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2Zvcm1seS1idXR0b25cIjtcclxuaW1wb3J0IHsgRm9ybWx5U2VsZWN0aW9uQnV0dG9uQ29tcG9uZW50IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9mb3JtbHktYnV0dG9uLXNlbGVjdG9yXCI7XHJcbmltcG9ydCB7IEZvcm1seVNwbGl0QnV0dG9uQ29tcG9uZW50IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9mb3JtbHktc3BsaXQtYnV0dG9uXCI7XHJcbmltcG9ydCB7IFVzZXJuYW1lV2l0aERvbWFpbkNvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvZm9ybWx5LXVzZXJuYW1lLXdpdGgtZG9tYWluXCI7XHJcbmltcG9ydCB7IEdlbmVyaWNTZWxlY3RvclR5cGVDb21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2dlbmVyaWMtc2VsZWN0b3JcIjtcclxuaW1wb3J0IHsgSWNvblBpY2tlckNvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvaWNvbi1waWNrZXJcIjtcclxuaW1wb3J0IHsgSW5wdXRTd2l0Y2hUeXBlQ29tcG9uZW50IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9pbnB1dC1zd2l0Y2hcIjtcclxuaW1wb3J0IHsgSW5wdXRXaXRoSWNvblR5cGUgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2lucHV0LXdpdGgtaWNvblwiO1xyXG5pbXBvcnQgeyBMYWJlbFR5cGVDb21wb25lbnQsIENsaWNrYWJsZUxhYmVsVHlwZUNvbXBvbmVudCwgQ3VzdG9tVHlwZUNvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvbGFiZWwtdHlwZVwiO1xyXG5pbXBvcnQgeyBSZXBlYXRUeXBlQ29tcG9uZW50IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9yZXBlYXRcIjtcclxuaW1wb3J0IHsgVGFic1R5cGVDb21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL3RhYnNcIjtcclxuaW1wb3J0IHsgT3B0aW9uVGFnVHlwZUNvbXBvbmVudCwgVGFnVHlwZUNvbXBvbmVudCwgQ29sb3JUYWdUeXBlQ29tcG9uZW50IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS90YWctdHlwZVwiO1xyXG5pbXBvcnQgeyBSaWNoVGV4dEVkaXRvclR5cGVDb21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL3RleHQtZWRpdG9yXCI7XHJcbmltcG9ydCB7IFBhbmVsV3JhcHBlckNvbXBvbmVudCwgTGFiZWxXcmFwcGVyQ29tcG9uZW50LCBUZFdyYXBwZXJDb21wb25lbnQsIEN1c3RvbUZpZWxkV3JhcHBlciB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvd3JhcHBlcnNcIjtcclxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBueC9lbmZvcmNlLW1vZHVsZS1ib3VuZGFyaWVzXHJcbmltcG9ydCB7IENvbmZpZ09wdGlvbiwgRm9ybWx5RmllbGRDb25maWcgfSBmcm9tIFwiQG5neC1mb3JtbHkvY29yZVwiO1xyXG5cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQWxsRm9ybWx5RmllbGRzKCk6IENvbmZpZ09wdGlvbltdIHtcclxuICBjb25zdCBmaWVsZHMgPSBbXHJcblxyXG4gICAgd2l0aEZvcm1seUZpZWxkSW5wdXRXaXRoSWNvbixcclxuICAgIHdpdGhGb3JtbHlGaWVsZEF0dGFjaG1lbnQsXHJcbiAgICB3aXRoRm9ybWx5RmllbGRSaWNoVGV4dEVkaXRvcixcclxuICAgIHdpdGhGb3JtbHlGaWVsZEdlbmVyaWNTZWxlY3RvcixcclxuICAgIHdpdGhGb3JtbHlGaWVsZFN3aXRjaCxcclxuICAgIHdpdGhGb3JtbHlGaWVsZFVzZXJuYW1lV2l0aERvbWFpbixcclxuICAgIHdpdGhGb3JtbHlGaWVsZEN1c3RvbVN3aXRjaCxcclxuICAgIHdpdGhGb3JtbHlGaWVsZEZvcm1seVNwbGl0LFxyXG4gICAgd2l0aEZvcm1seUZpZWxkQnV0dG9uU2VsZWN0aW9uLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkQXZhdGFyTGFiZWxCdXR0b24sXHJcbiAgICB3aXRoRm9ybWx5RmllbGRGb3JtbHlCdXR0b24sXHJcbiAgICB3aXRoRm9ybWx5RmllbGRMYWJlbFR5cGUsXHJcbiAgICB3aXRoRm9ybWx5RmllbGRDbGlja2FibGVMYWJlbFR5cGUsXHJcbiAgICB3aXRoRm9ybWx5RmllbGRPcHRpb25UYWcsXHJcbiAgICB3aXRoRm9ybWx5RmllbGRSZXBlYXQsXHJcbiAgICB3aXRoRm9ybWx5RmllbGRUYWJzLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkVGFnLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkQ29sb3JUYWcsXHJcbiAgICB3aXRoRm9ybWx5RmllbGRDb25kaXRpb25CdWlsZGVyLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkSWNvblBpY2tlcixcclxuICAgIHdpdGhGb3JtbHlGaWVsZENvbG9yUGlja2VyLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkVGVtcGxhdGUsXHJcbiAgICB3aXRoRm9ybWx5RmllbGRCdXR0b24sXHJcbiAgICB3aXRoRm9ybWx5RmllbGRBdmF0YXJJbWFnZSxcclxuICAgIHdpdGhGb3JtbHlXcmFwcGVyc1xyXG4gIF07XHJcblxyXG4gIC8vIENhbGwgZWFjaCBwcm92aWRlciBmdW5jdGlvbiB0byBnZXQgdGhlIFByb3ZpZGVyIG9iamVjdFxyXG4gIHJldHVybiBmaWVsZHMubWFwKGZuID0+IGZuKCkpO1xyXG59XHJcblxyXG5cclxuLy8gLS0tLSBGaWVsZCBQcm92aWRlcnMgLS0tLVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZElucHV0V2l0aEljb24oKTogQ29uZmlnT3B0aW9uIHtcclxuICByZXR1cm4ge1xyXG4gICAgdHlwZXM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICdpbnB1dFdpdGhJY29uJyxcclxuICAgICAgICBjb21wb25lbnQ6IElucHV0V2l0aEljb25UeXBlLFxyXG4gICAgICAgIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQnXSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZEF0dGFjaG1lbnQoKTogQ29uZmlnT3B0aW9uIHtcclxuICByZXR1cm4ge1xyXG4gICAgdHlwZXM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICdhdHRhY2htZW50LXR5cGUnLFxyXG4gICAgICAgIGNvbXBvbmVudDogQXR0YWNobWVudFR5cGVDb21wb25lbnQsXHJcbiAgICAgICAgd3JhcHBlcnM6IFsnZm9ybS1maWVsZCddLFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkUmljaFRleHRFZGl0b3IoKTogQ29uZmlnT3B0aW9uIHtcclxuICByZXR1cm4ge1xyXG4gICAgdHlwZXM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICdyaWNoLXRleHQtZWRpdG9yJyxcclxuICAgICAgICBjb21wb25lbnQ6IFJpY2hUZXh0RWRpdG9yVHlwZUNvbXBvbmVudCxcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkJ10sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRHZW5lcmljU2VsZWN0b3IoKTogQ29uZmlnT3B0aW9uIHtcclxuICByZXR1cm4ge1xyXG4gICAgdHlwZXM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICdnZW5lcmljLXNlbGVjdG9yJyxcclxuICAgICAgICBjb21wb25lbnQ6IEdlbmVyaWNTZWxlY3RvclR5cGVDb21wb25lbnQsXHJcbiAgICAgICAgd3JhcHBlcnM6IFsnZm9ybS1maWVsZCddLFxyXG4gICAgICAgIC8vIGRlZmF1bHRPcHRpb25zOiB7XHJcbiAgICAgICAgLy8gICBwcm9wczoge1xyXG4gICAgICAgIC8vICAgICBsb2FkRGVmYXVsdEZpZWxkOiAnaXNEZWZhdWx0JywgICAvLyDwn5GIIGRlZmF1bHQgdmFsdWVcclxuICAgICAgICAvLyAgICAgbG9hZERlZmF1bHRWYWx1ZTogdHJ1ZSwgICAgIC8vIPCfkYggZGVmYXVsdCB2YWx1ZVxyXG4gICAgICAgIC8vICAgICBsb2FkRGVmYXVsdDogdHJ1ZSwgICAgICAgLy8g8J+RiCBkZWZhdWx0IHZhbHVlXHJcblxyXG4gICAgICAgIC8vICAgICBmaXhlZEZpbHRlcnM6e1xyXG4gICAgICAgIC8vICAgICAgIGlzQWN0aXZlOnRydWVcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vICAgfSxcclxuICAgICAgICAvLyB9LFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnbG9iYWxHZW5lcmljU2VsZWN0b3JFeHRlbnNpb24oKTogQ29uZmlnT3B0aW9uIHtcclxuICByZXR1cm4ge1xyXG4gICAgZXh0ZW5zaW9uczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ2dlbmVyaWMtc2VsZWN0b3ItZGVmYXVsdHMnLFxyXG4gICAgICAgIGV4dGVuc2lvbjoge1xyXG4gICAgICAgICAgcHJlUG9wdWxhdGUoZmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnKSB7XHJcbiAgICAgICAgICAgIGlmIChmaWVsZC50eXBlID09PSAnZ2VuZXJpYy1zZWxlY3RvcicpIHtcclxuICAgICAgICAgICAgICBmaWVsZC5wcm9wcyA9IHtcclxuICAgICAgICAgICAgICAgIGxvYWREZWZhdWx0RmllbGQ6ICdpc0RlZmF1bHQnLFxyXG4gICAgICAgICAgICAgICAgbG9hZERlZmF1bHRWYWx1ZTogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIGxvYWREZWZhdWx0OiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgZml4ZWRGaWx0ZXJzOntcclxuICAgICAgICAgICAgICAgICAgaXNBY3RpdmU6dHJ1ZVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIC4uLmZpZWxkLnByb3BzLCAvLyDwn5GIIGtlZXAgcGVyLWZpZWxkIG92ZXJyaWRlc1xyXG4gICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZFN3aXRjaCgpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ3N3aXRjaCcsXHJcbiAgICAgICAgY29tcG9uZW50OiBJbnB1dFN3aXRjaFR5cGVDb21wb25lbnQsXHJcbiAgICAgICAgd3JhcHBlcnM6IFsnZm9ybS1maWVsZC1ubyddLFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkVXNlcm5hbWVXaXRoRG9tYWluKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAndXNlcm5hbWUtd2l0aC1kb21haW4nLFxyXG4gICAgICAgIGNvbXBvbmVudDogVXNlcm5hbWVXaXRoRG9tYWluQ29tcG9uZW50LFxyXG4gICAgICAgIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQnXSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZEN1c3RvbVN3aXRjaCgpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ2N1c3RvbS1zd2l0Y2gnLFxyXG4gICAgICAgIGNvbXBvbmVudDogQ3VzdG9tU3dpdGNoRmllbGRDb21wb25lbnQsXHJcbiAgICAgICAgd3JhcHBlcnM6IFsnZm9ybS1maWVsZC1ubyddLFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkRm9ybWx5U3BsaXQoKTogQ29uZmlnT3B0aW9uIHtcclxuICByZXR1cm4ge1xyXG4gICAgdHlwZXM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICdGb3JtbHktU3BsaXQnLFxyXG4gICAgICAgIGNvbXBvbmVudDogRm9ybWx5U3BsaXRCdXR0b25Db21wb25lbnQsXHJcbiAgICAgICAgd3JhcHBlcnM6IFsnZm9ybS1maWVsZCddLFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkQnV0dG9uU2VsZWN0aW9uKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnQnV0dG9uLVNlbGVjdGlvbicsXHJcbiAgICAgICAgY29tcG9uZW50OiBGb3JtbHlTZWxlY3Rpb25CdXR0b25Db21wb25lbnQsXHJcbiAgICAgICAgd3JhcHBlcnM6IFsnZm9ybS1maWVsZCddLFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkQXZhdGFyTGFiZWxCdXR0b24oKTogQ29uZmlnT3B0aW9uIHtcclxuICByZXR1cm4ge1xyXG4gICAgdHlwZXM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICdhdmF0YXItbGFiZWwtYnV0dG9uJyxcclxuICAgICAgICBjb21wb25lbnQ6IEZvcm1seUF2YXRhckxhYmVsQ29tcG9uZW50LFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkRm9ybWx5QnV0dG9uKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnZm9ybWx5LWJ1dHRvbicsXHJcbiAgICAgICAgY29tcG9uZW50OiBGb3JtbHlCdXR0b25Db21wb25lbnQsXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRMYWJlbFR5cGUoKTogQ29uZmlnT3B0aW9uIHtcclxuICByZXR1cm4ge1xyXG4gICAgdHlwZXM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICdsYWJlbC10eXBlJyxcclxuICAgICAgICBjb21wb25lbnQ6IExhYmVsVHlwZUNvbXBvbmVudCxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgICAgbmFtZTogJ2N1c3RvbS1sYWJlbC10eXBlJyxcclxuICAgICAgICAgIGNvbXBvbmVudDogQ3VzdG9tVHlwZUNvbXBvbmVudCxcclxuICAgICAgICAgIHdyYXBwZXJzOlsnZmllbGQtd3JhcHBlciddXHJcbiAgICAgICAgfSxcclxuXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRDbGlja2FibGVMYWJlbFR5cGUoKTogQ29uZmlnT3B0aW9uIHtcclxuICByZXR1cm4ge1xyXG4gICAgdHlwZXM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICdjbGlja2FibGUtbGFiZWwtdHlwZScsXHJcbiAgICAgICAgY29tcG9uZW50OiBDbGlja2FibGVMYWJlbFR5cGVDb21wb25lbnQsXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRPcHRpb25UYWcoKTogQ29uZmlnT3B0aW9uIHtcclxuICByZXR1cm4ge1xyXG4gICAgdHlwZXM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICdvcHRpb24tdGFnJyxcclxuICAgICAgICBjb21wb25lbnQ6IE9wdGlvblRhZ1R5cGVDb21wb25lbnQsXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRSZXBlYXQoKTogQ29uZmlnT3B0aW9uIHtcclxuICByZXR1cm4ge1xyXG4gICAgdHlwZXM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICdyZXBlYXQnLFxyXG4gICAgICAgIGNvbXBvbmVudDogUmVwZWF0VHlwZUNvbXBvbmVudCxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZFRhYnMoKTogQ29uZmlnT3B0aW9uIHtcclxuICByZXR1cm4ge1xyXG4gICAgdHlwZXM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICd0YWJzJyxcclxuICAgICAgICBjb21wb25lbnQ6IFRhYnNUeXBlQ29tcG9uZW50LFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkVGFnKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAndGFnJyxcclxuICAgICAgICBjb21wb25lbnQ6IFRhZ1R5cGVDb21wb25lbnQsXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRDb2xvclRhZygpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ2NvbG9yLXRhZycsXHJcbiAgICAgICAgY29tcG9uZW50OiBDb2xvclRhZ1R5cGVDb21wb25lbnQsXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRDb25kaXRpb25CdWlsZGVyKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnY29uZGl0aW9uLWJ1aWxkZXInLFxyXG4gICAgICAgIGNvbXBvbmVudDogQ29uZGl0aW9uRXhwcmVzc2lvbkJ1aWxkZXJUeXBlLFxyXG4gICAgICAgIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQnXSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZEljb25QaWNrZXIoKTogQ29uZmlnT3B0aW9uIHtcclxuICByZXR1cm4ge1xyXG4gICAgdHlwZXM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICdpY29uLXBpY2tlcicsXHJcbiAgICAgICAgY29tcG9uZW50OiBJY29uUGlja2VyQ29tcG9uZW50LFxyXG4gICAgICAgIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQtbm8nXSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZENvbG9yUGlja2VyKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnY29sb3ItcGlja2VyJyxcclxuICAgICAgICBjb21wb25lbnQ6IENvbG9yUGlja2VyQ29tcG9uZW50LFxyXG4gICAgICAgIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQtbm8nXSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZFRlbXBsYXRlKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAndGVtcGxhdGUnLFxyXG4gICAgICAgIGNvbXBvbmVudDogRm9ybWx5VGVtcGxhdGVUeXBlLFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkQnV0dG9uKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnYnV0dG9uJyxcclxuICAgICAgICBjb21wb25lbnQ6IEZvcm1seUZpZWxkQnV0dG9uLFxyXG4gICAgICAgIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQnXSxcclxuICAgICAgICBkZWZhdWx0T3B0aW9uczoge1xyXG4gICAgICAgICAgcHJvcHM6IHtcclxuICAgICAgICAgICAgYnRuVHlwZTogJ2RlZmF1bHQnLFxyXG4gICAgICAgICAgICB0eXBlOiAnYnV0dG9uJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZEF2YXRhckltYWdlKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnYXZhdGFyLWltYWdlJyxcclxuICAgICAgICBjb21wb25lbnQ6IEZvcm1seUF2YXRhckltYWdlQ29tcG9uZW50LFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seVdyYXBwZXJzKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHdyYXBwZXJzOiBbXHJcbiAgICAgIHsgbmFtZTogJ3BhbmVsJywgY29tcG9uZW50OiBQYW5lbFdyYXBwZXJDb21wb25lbnQgfSxcclxuICAgICAgeyBuYW1lOiAnbGFiZWwnLCBjb21wb25lbnQ6IExhYmVsV3JhcHBlckNvbXBvbmVudCB9LFxyXG4gICAgICB7IG5hbWU6ICd0ZCcsIGNvbXBvbmVudDogVGRXcmFwcGVyQ29tcG9uZW50IH0sXHJcbiAgICAgIHsgbmFtZTogJ2NvbGxhcHNpYmxlJywgY29tcG9uZW50OiBDb2xsYXBzaWJsZVdyYXBwZXIgfSxcclxuICAgICAgeyBuYW1lOiAnZmllbGQtd3JhcHBlcicsIGNvbXBvbmVudDogQ3VzdG9tRmllbGRXcmFwcGVyIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxpdGUuZnJhbWV3b3JrLW5nLnVpLmNvcmUtZm9ybWx5LXVpLWFsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvbmcudWkuY29yZS9mb3JtbHktdWktYWxsL3NyYy9lbGl0ZS5mcmFtZXdvcmstbmcudWkuY29yZS1mb3JtbHktdWktYWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"elite.framework-ng.ui.core-formly-ui-all.mjs","sources":["../tmp-esm2022/formly-ui-all/lib/formly-ui-all-module.js","../tmp-esm2022/formly-ui-all/lib/formly-all.config.js","../tmp-esm2022/formly-ui-all/elite.framework-ng.ui.core-formly-ui-all.js"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class FormlyUiAllModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyUiAllModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyUiAllModule, imports: [CommonModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyUiAllModule, imports: [CommonModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: FormlyUiAllModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LXVpLWFsbC1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLnVpLmNvcmUvZm9ybWx5LXVpLWFsbC9zcmMvbGliL2Zvcm1seS11aS1hbGwtbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUsvQyxNQUFNLE9BQU8saUJBQWlCO3VHQUFqQixpQkFBaUI7d0dBQWpCLGlCQUFpQixZQUZsQixZQUFZO3dHQUVYLGlCQUFpQixZQUZsQixZQUFZOzsyRkFFWCxpQkFBaUI7a0JBSDdCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybWx5VWlBbGxNb2R1bGUge31cbiJdfQ==","import { AttachmentTypeComponent } from \"@elite.framework/ng.ui.core/attachments\";\nimport { CollapsibleWrapper } from \"@elite.framework/ng.ui.core/collapsible\";\nimport { ColorPickerComponent } from \"@elite.framework/ng.ui.core/color-picker\";\nimport { ConditionExpressionBuilderType } from \"@elite.framework/ng.ui.core/condition-editor\";\nimport { CustomSwitchFieldComponent } from \"@elite.framework/ng.ui.core/custom-switch\";\nimport { FormlyFieldButton } from \"@elite.framework/ng.ui.core/form-button\";\nimport { FormlyTemplateType } from \"@elite.framework/ng.ui.core/form-template\";\nimport { FormlyAvatarImageComponent } from \"@elite.framework/ng.ui.core/formly-avatar-image\";\nimport { FormlyAvatarLabelComponent } from \"@elite.framework/ng.ui.core/formly-avatar-label\";\nimport { FormlyButtonComponent } from \"@elite.framework/ng.ui.core/formly-button\";\nimport { FormlySelectionButtonComponent } from \"@elite.framework/ng.ui.core/formly-button-selector\";\nimport { FormlySplitButtonComponent } from \"@elite.framework/ng.ui.core/formly-split-button\";\nimport { UsernameWithDomainComponent } from \"@elite.framework/ng.ui.core/formly-username-with-domain\";\nimport { GroupTypeComponent, QueryBuilderComponent, SortBuilderComponent, TabTypeComponent } from \"@elite.framework/ng.ui.core/generic-search-advanced\";\nimport { GenericSelectorTypeComponent } from \"@elite.framework/ng.ui.core/generic-selector\";\nimport { IconPickerComponent } from \"@elite.framework/ng.ui.core/icon-picker\";\nimport { InputSwitchTypeComponent } from \"@elite.framework/ng.ui.core/input-switch\";\nimport { InputWithIconType } from \"@elite.framework/ng.ui.core/input-with-icon\";\nimport { LabelTypeComponent, ClickableLabelTypeComponent, CustomTypeComponent } from \"@elite.framework/ng.ui.core/label-type\";\nimport { RepeatTypeComponent } from \"@elite.framework/ng.ui.core/repeat\";\nimport { TabsTypeComponent } from \"@elite.framework/ng.ui.core/tabs\";\nimport { OptionTagTypeComponent, TagTypeComponent, ColorTagTypeComponent } from \"@elite.framework/ng.ui.core/tag-type\";\nimport { RichTextEditorTypeComponent } from \"@elite.framework/ng.ui.core/text-editor\";\nimport { PanelWrapperComponent, LabelWrapperComponent, TdWrapperComponent, CustomFieldWrapper } from \"@elite.framework/ng.ui.core/wrappers\";\nexport function provideAllFormlyFields() {\n const fields = [\n withFormlyFieldInputWithIcon,\n withFormlyFieldAttachment,\n withFormlyFieldRichTextEditor,\n withFormlyFieldGenericSelector,\n withFormlyFieldSwitch,\n withFormlyFieldUsernameWithDomain,\n withFormlyFieldCustomSwitch,\n withFormlyFieldFormlySplit,\n withFormlyFieldButtonSelection,\n withFormlyFieldAvatarLabelButton,\n withFormlyFieldFormlyButton,\n withFormlyFieldLabelType,\n withFormlyFieldClickableLabelType,\n withFormlyFieldOptionTag,\n withFormlyFieldRepeat,\n withFormlyFieldTabs,\n withFormlyFieldTag,\n withFormlyFieldColorTag,\n withFormlyFieldConditionBuilder,\n withFormlyFieldIconPicker,\n withFormlyFieldColorPicker,\n withFormlyFieldTemplate,\n withFormlyFieldButton,\n withFormlyFieldAvatarImage,\n withFormlyWrappers,\n withFormlyQueryBuilder,\n ];\n // Call each provider function to get the Provider object\n return fields.map(fn => fn());\n}\n// ---- Field Providers ----\nexport function withFormlyQueryBuilder() {\n return {\n types: [\n {\n name: 'query-builder',\n component: QueryBuilderComponent\n },\n {\n name: 'sort-builder',\n component: SortBuilderComponent\n },\n {\n name: 'group', component: GroupTypeComponent\n },\n {\n name: 'tab-type',\n component: TabTypeComponent\n },\n ],\n };\n}\nexport function withFormlyFieldInputWithIcon() {\n return {\n types: [\n {\n name: 'inputWithIcon',\n component: InputWithIconType,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldAttachment() {\n return {\n types: [\n {\n name: 'attachment-type',\n component: AttachmentTypeComponent,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldRichTextEditor() {\n return {\n types: [\n {\n name: 'rich-text-editor',\n component: RichTextEditorTypeComponent,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldGenericSelector() {\n return {\n types: [\n {\n name: 'generic-selector',\n component: GenericSelectorTypeComponent,\n wrappers: ['form-field'],\n // defaultOptions: {\n // props: {\n // loadDefaultField: 'isDefault', // 👈 default value\n // loadDefaultValue: true, // 👈 default value\n // loadDefault: true, // 👈 default value\n // fixedFilters:{\n // isActive:true\n // }\n // },\n // },\n },\n ],\n };\n}\nexport function globalGenericSelectorExtension() {\n return {\n extensions: [\n {\n name: 'generic-selector-defaults',\n extension: {\n prePopulate(field) {\n if (field.type === 'generic-selector') {\n field.props = {\n loadDefaultField: 'isDefault',\n loadDefaultValue: true,\n loadDefault: true,\n fixedFilters: {\n isActive: true\n },\n ...field.props, // 👈 keep per-field overrides\n };\n }\n },\n },\n },\n ],\n };\n}\nexport function withFormlyFieldSwitch() {\n return {\n types: [\n {\n name: 'switch',\n component: InputSwitchTypeComponent,\n wrappers: ['form-field-no'],\n },\n ],\n };\n}\nexport function withFormlyFieldUsernameWithDomain() {\n return {\n types: [\n {\n name: 'username-with-domain',\n component: UsernameWithDomainComponent,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldCustomSwitch() {\n return {\n types: [\n {\n name: 'custom-switch',\n component: CustomSwitchFieldComponent,\n wrappers: ['form-field-no'],\n },\n ],\n };\n}\nexport function withFormlyFieldFormlySplit() {\n return {\n types: [\n {\n name: 'Formly-Split',\n component: FormlySplitButtonComponent,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldButtonSelection() {\n return {\n types: [\n {\n name: 'Button-Selection',\n component: FormlySelectionButtonComponent,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldAvatarLabelButton() {\n return {\n types: [\n {\n name: 'avatar-label-button',\n component: FormlyAvatarLabelComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldFormlyButton() {\n return {\n types: [\n {\n name: 'formly-button',\n component: FormlyButtonComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldLabelType() {\n return {\n types: [\n {\n name: 'label-type',\n component: LabelTypeComponent,\n },\n {\n name: 'custom-label-type',\n component: CustomTypeComponent,\n wrappers: ['field-wrapper']\n },\n ],\n };\n}\nexport function withFormlyFieldClickableLabelType() {\n return {\n types: [\n {\n name: 'clickable-label-type',\n component: ClickableLabelTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldOptionTag() {\n return {\n types: [\n {\n name: 'option-tag',\n component: OptionTagTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldRepeat() {\n return {\n types: [\n {\n name: 'repeat',\n component: RepeatTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldTabs() {\n return {\n types: [\n {\n name: 'tabs',\n component: TabsTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldTag() {\n return {\n types: [\n {\n name: 'tag',\n component: TagTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldColorTag() {\n return {\n types: [\n {\n name: 'color-tag',\n component: ColorTagTypeComponent,\n },\n ],\n };\n}\nexport function withFormlyFieldConditionBuilder() {\n return {\n types: [\n {\n name: 'condition-builder',\n component: ConditionExpressionBuilderType,\n wrappers: ['form-field'],\n },\n ],\n };\n}\nexport function withFormlyFieldIconPicker() {\n return {\n types: [\n {\n name: 'icon-picker',\n component: IconPickerComponent,\n wrappers: ['form-field-no'],\n },\n ],\n };\n}\nexport function withFormlyFieldColorPicker() {\n return {\n types: [\n {\n name: 'color-picker',\n component: ColorPickerComponent,\n wrappers: ['form-field-no'],\n },\n ],\n };\n}\nexport function withFormlyFieldTemplate() {\n return {\n types: [\n {\n name: 'template',\n component: FormlyTemplateType,\n },\n ],\n };\n}\nexport function withFormlyFieldButton() {\n return {\n types: [\n {\n name: 'button',\n component: FormlyFieldButton,\n wrappers: ['form-field'],\n defaultOptions: {\n props: {\n btnType: 'default',\n type: 'button',\n },\n },\n },\n ],\n };\n}\nexport function withFormlyFieldAvatarImage() {\n return {\n types: [\n {\n name: 'avatar-image',\n component: FormlyAvatarImageComponent,\n },\n ],\n };\n}\nexport function withFormlyWrappers() {\n return {\n wrappers: [\n { name: 'panel', component: PanelWrapperComponent },\n { name: 'label', component: LabelWrapperComponent },\n { name: 'td', component: TdWrapperComponent },\n { name: 'collapsible', component: CollapsibleWrapper },\n { name: 'field-wrapper', component: CustomFieldWrapper },\n ],\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWFsbC5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLnVpLmNvcmUvZm9ybWx5LXVpLWFsbC9zcmMvbGliL2Zvcm1seS1hbGwuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzlGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3hKLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzVGLE9BQU8sRUFBRSxt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QUN4QyxPQUFPO1FBQ0wsS0FBSyxFQUFFO1lBQ0w7Z0JBQ0UsSUFBSSxFQUFFLGNBQWM7Z0JBQ3BCLFNBQVMsRUFBRSwwQkFBMEI7YUFDdEM7U0FDRjtLQUNGLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQjtJQUNoQyxPQUFPO1FBQ0wsUUFBUSxFQUFFO1lBQ1IsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtZQUNuRCxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO1lBQ25ELEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUU7WUFDN0MsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRTtZQUN0RCxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFO1NBQ3pEO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdHRhY2htZW50VHlwZUNvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvYXR0YWNobWVudHNcIjtcclxuaW1wb3J0IHsgQ29sbGFwc2libGVXcmFwcGVyIH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9jb2xsYXBzaWJsZVwiO1xyXG5pbXBvcnQgeyBDb2xvclBpY2tlckNvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvY29sb3ItcGlja2VyXCI7XHJcbmltcG9ydCB7IENvbmRpdGlvbkV4cHJlc3Npb25CdWlsZGVyVHlwZSB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvY29uZGl0aW9uLWVkaXRvclwiO1xyXG5pbXBvcnQgeyBDdXN0b21Td2l0Y2hGaWVsZENvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvY3VzdG9tLXN3aXRjaFwiO1xyXG5pbXBvcnQgeyBGb3JtbHlGaWVsZEJ1dHRvbiB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvZm9ybS1idXR0b25cIjtcclxuaW1wb3J0IHsgRm9ybWx5VGVtcGxhdGVUeXBlIH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9mb3JtLXRlbXBsYXRlXCI7XHJcbmltcG9ydCB7IEZvcm1seUF2YXRhckltYWdlQ29tcG9uZW50IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9mb3JtbHktYXZhdGFyLWltYWdlXCI7XHJcbmltcG9ydCB7IEZvcm1seUF2YXRhckxhYmVsQ29tcG9uZW50IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9mb3JtbHktYXZhdGFyLWxhYmVsXCI7XHJcbmltcG9ydCB7IEZvcm1seUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvZm9ybWx5LWJ1dHRvblwiO1xyXG5pbXBvcnQgeyBGb3JtbHlTZWxlY3Rpb25CdXR0b25Db21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2Zvcm1seS1idXR0b24tc2VsZWN0b3JcIjtcclxuaW1wb3J0IHsgRm9ybWx5U3BsaXRCdXR0b25Db21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2Zvcm1seS1zcGxpdC1idXR0b25cIjtcclxuaW1wb3J0IHsgVXNlcm5hbWVXaXRoRG9tYWluQ29tcG9uZW50IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9mb3JtbHktdXNlcm5hbWUtd2l0aC1kb21haW5cIjtcclxuaW1wb3J0IHsgR3JvdXBUeXBlQ29tcG9uZW50LCBRdWVyeUJ1aWxkZXJDb21wb25lbnQsIFNvcnRCdWlsZGVyQ29tcG9uZW50LCBUYWJUeXBlQ29tcG9uZW50IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9nZW5lcmljLXNlYXJjaC1hZHZhbmNlZFwiO1xyXG5pbXBvcnQgeyBHZW5lcmljU2VsZWN0b3JUeXBlQ29tcG9uZW50IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9nZW5lcmljLXNlbGVjdG9yXCI7XHJcbmltcG9ydCB7IEljb25QaWNrZXJDb21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2ljb24tcGlja2VyXCI7XHJcbmltcG9ydCB7IElucHV0U3dpdGNoVHlwZUNvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvaW5wdXQtc3dpdGNoXCI7XHJcbmltcG9ydCB7IElucHV0V2l0aEljb25UeXBlIH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS9pbnB1dC13aXRoLWljb25cIjtcclxuaW1wb3J0IHsgTGFiZWxUeXBlQ29tcG9uZW50LCBDbGlja2FibGVMYWJlbFR5cGVDb21wb25lbnQsIEN1c3RvbVR5cGVDb21wb25lbnQgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL2xhYmVsLXR5cGVcIjtcclxuaW1wb3J0IHsgUmVwZWF0VHlwZUNvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvcmVwZWF0XCI7XHJcbmltcG9ydCB7IFRhYnNUeXBlQ29tcG9uZW50IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS90YWJzXCI7XHJcbmltcG9ydCB7IE9wdGlvblRhZ1R5cGVDb21wb25lbnQsIFRhZ1R5cGVDb21wb25lbnQsIENvbG9yVGFnVHlwZUNvbXBvbmVudCB9IGZyb20gXCJAZWxpdGUuZnJhbWV3b3JrL25nLnVpLmNvcmUvdGFnLXR5cGVcIjtcclxuaW1wb3J0IHsgUmljaFRleHRFZGl0b3JUeXBlQ29tcG9uZW50IH0gZnJvbSBcIkBlbGl0ZS5mcmFtZXdvcmsvbmcudWkuY29yZS90ZXh0LWVkaXRvclwiO1xyXG5pbXBvcnQgeyBQYW5lbFdyYXBwZXJDb21wb25lbnQsIExhYmVsV3JhcHBlckNvbXBvbmVudCwgVGRXcmFwcGVyQ29tcG9uZW50LCBDdXN0b21GaWVsZFdyYXBwZXIgfSBmcm9tIFwiQGVsaXRlLmZyYW1ld29yay9uZy51aS5jb3JlL3dyYXBwZXJzXCI7XHJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAbngvZW5mb3JjZS1tb2R1bGUtYm91bmRhcmllc1xyXG5pbXBvcnQgeyBDb25maWdPcHRpb24sIEZvcm1seUZpZWxkQ29uZmlnIH0gZnJvbSBcIkBuZ3gtZm9ybWx5L2NvcmVcIjtcclxuXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUFsbEZvcm1seUZpZWxkcygpOiBDb25maWdPcHRpb25bXSB7XHJcbiAgY29uc3QgZmllbGRzID0gW1xyXG5cclxuICAgIHdpdGhGb3JtbHlGaWVsZElucHV0V2l0aEljb24sXHJcbiAgICB3aXRoRm9ybWx5RmllbGRBdHRhY2htZW50LFxyXG4gICAgd2l0aEZvcm1seUZpZWxkUmljaFRleHRFZGl0b3IsXHJcbiAgICB3aXRoRm9ybWx5RmllbGRHZW5lcmljU2VsZWN0b3IsXHJcbiAgICB3aXRoRm9ybWx5RmllbGRTd2l0Y2gsXHJcbiAgICB3aXRoRm9ybWx5RmllbGRVc2VybmFtZVdpdGhEb21haW4sXHJcbiAgICB3aXRoRm9ybWx5RmllbGRDdXN0b21Td2l0Y2gsXHJcbiAgICB3aXRoRm9ybWx5RmllbGRGb3JtbHlTcGxpdCxcclxuICAgIHdpdGhGb3JtbHlGaWVsZEJ1dHRvblNlbGVjdGlvbixcclxuICAgIHdpdGhGb3JtbHlGaWVsZEF2YXRhckxhYmVsQnV0dG9uLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkRm9ybWx5QnV0dG9uLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkTGFiZWxUeXBlLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkQ2xpY2thYmxlTGFiZWxUeXBlLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkT3B0aW9uVGFnLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkUmVwZWF0LFxyXG4gICAgd2l0aEZvcm1seUZpZWxkVGFicyxcclxuICAgIHdpdGhGb3JtbHlGaWVsZFRhZyxcclxuICAgIHdpdGhGb3JtbHlGaWVsZENvbG9yVGFnLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkQ29uZGl0aW9uQnVpbGRlcixcclxuICAgIHdpdGhGb3JtbHlGaWVsZEljb25QaWNrZXIsXHJcbiAgICB3aXRoRm9ybWx5RmllbGRDb2xvclBpY2tlcixcclxuICAgIHdpdGhGb3JtbHlGaWVsZFRlbXBsYXRlLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkQnV0dG9uLFxyXG4gICAgd2l0aEZvcm1seUZpZWxkQXZhdGFySW1hZ2UsXHJcbiAgICB3aXRoRm9ybWx5V3JhcHBlcnMsXHJcbiAgICB3aXRoRm9ybWx5UXVlcnlCdWlsZGVyLFxyXG4gIF07XHJcblxyXG4gIC8vIENhbGwgZWFjaCBwcm92aWRlciBmdW5jdGlvbiB0byBnZXQgdGhlIFByb3ZpZGVyIG9iamVjdFxyXG4gIHJldHVybiBmaWVsZHMubWFwKGZuID0+IGZuKCkpO1xyXG59XHJcblxyXG5cclxuLy8gLS0tLSBGaWVsZCBQcm92aWRlcnMgLS0tLVxyXG5cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5UXVlcnlCdWlsZGVyKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdxdWVyeS1idWlsZGVyJyxcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogUXVlcnlCdWlsZGVyQ29tcG9uZW50XHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnc29ydC1idWlsZGVyJyxcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogU29ydEJ1aWxkZXJDb21wb25lbnRcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdncm91cCcsIGNvbXBvbmVudDogR3JvdXBUeXBlQ29tcG9uZW50XHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiAndGFiLXR5cGUnLFxyXG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBUYWJUeXBlQ29tcG9uZW50XHJcbiAgICAgICAgICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRJbnB1dFdpdGhJY29uKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnaW5wdXRXaXRoSWNvbicsXHJcbiAgICAgICAgY29tcG9uZW50OiBJbnB1dFdpdGhJY29uVHlwZSxcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkJ10sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRBdHRhY2htZW50KCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnYXR0YWNobWVudC10eXBlJyxcclxuICAgICAgICBjb21wb25lbnQ6IEF0dGFjaG1lbnRUeXBlQ29tcG9uZW50LFxyXG4gICAgICAgIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQnXSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZFJpY2hUZXh0RWRpdG9yKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAncmljaC10ZXh0LWVkaXRvcicsXHJcbiAgICAgICAgY29tcG9uZW50OiBSaWNoVGV4dEVkaXRvclR5cGVDb21wb25lbnQsXHJcbiAgICAgICAgd3JhcHBlcnM6IFsnZm9ybS1maWVsZCddLFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkR2VuZXJpY1NlbGVjdG9yKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnZ2VuZXJpYy1zZWxlY3RvcicsXHJcbiAgICAgICAgY29tcG9uZW50OiBHZW5lcmljU2VsZWN0b3JUeXBlQ29tcG9uZW50LFxyXG4gICAgICAgIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQnXSxcclxuICAgICAgICAvLyBkZWZhdWx0T3B0aW9uczoge1xyXG4gICAgICAgIC8vICAgcHJvcHM6IHtcclxuICAgICAgICAvLyAgICAgbG9hZERlZmF1bHRGaWVsZDogJ2lzRGVmYXVsdCcsICAgLy8g8J+RiCBkZWZhdWx0IHZhbHVlXHJcbiAgICAgICAgLy8gICAgIGxvYWREZWZhdWx0VmFsdWU6IHRydWUsICAgICAvLyDwn5GIIGRlZmF1bHQgdmFsdWVcclxuICAgICAgICAvLyAgICAgbG9hZERlZmF1bHQ6IHRydWUsICAgICAgIC8vIPCfkYggZGVmYXVsdCB2YWx1ZVxyXG5cclxuICAgICAgICAvLyAgICAgZml4ZWRGaWx0ZXJzOntcclxuICAgICAgICAvLyAgICAgICBpc0FjdGl2ZTp0cnVlXHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyAgIH0sXHJcbiAgICAgICAgLy8gfSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2xvYmFsR2VuZXJpY1NlbGVjdG9yRXh0ZW5zaW9uKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIGV4dGVuc2lvbnM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICdnZW5lcmljLXNlbGVjdG9yLWRlZmF1bHRzJyxcclxuICAgICAgICBleHRlbnNpb246IHtcclxuICAgICAgICAgIHByZVBvcHVsYXRlKGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZykge1xyXG4gICAgICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gJ2dlbmVyaWMtc2VsZWN0b3InKSB7XHJcbiAgICAgICAgICAgICAgZmllbGQucHJvcHMgPSB7XHJcbiAgICAgICAgICAgICAgICBsb2FkRGVmYXVsdEZpZWxkOiAnaXNEZWZhdWx0JyxcclxuICAgICAgICAgICAgICAgIGxvYWREZWZhdWx0VmFsdWU6IHRydWUsXHJcbiAgICAgICAgICAgICAgICBsb2FkRGVmYXVsdDogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIGZpeGVkRmlsdGVyczp7XHJcbiAgICAgICAgICAgICAgICAgIGlzQWN0aXZlOnRydWVcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAuLi5maWVsZC5wcm9wcywgLy8g8J+RiCBrZWVwIHBlci1maWVsZCBvdmVycmlkZXNcclxuICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRTd2l0Y2goKTogQ29uZmlnT3B0aW9uIHtcclxuICByZXR1cm4ge1xyXG4gICAgdHlwZXM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICdzd2l0Y2gnLFxyXG4gICAgICAgIGNvbXBvbmVudDogSW5wdXRTd2l0Y2hUeXBlQ29tcG9uZW50LFxyXG4gICAgICAgIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQtbm8nXSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZFVzZXJuYW1lV2l0aERvbWFpbigpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ3VzZXJuYW1lLXdpdGgtZG9tYWluJyxcclxuICAgICAgICBjb21wb25lbnQ6IFVzZXJuYW1lV2l0aERvbWFpbkNvbXBvbmVudCxcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkJ10sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRDdXN0b21Td2l0Y2goKTogQ29uZmlnT3B0aW9uIHtcclxuICByZXR1cm4ge1xyXG4gICAgdHlwZXM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICdjdXN0b20tc3dpdGNoJyxcclxuICAgICAgICBjb21wb25lbnQ6IEN1c3RvbVN3aXRjaEZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQtbm8nXSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZEZvcm1seVNwbGl0KCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnRm9ybWx5LVNwbGl0JyxcclxuICAgICAgICBjb21wb25lbnQ6IEZvcm1seVNwbGl0QnV0dG9uQ29tcG9uZW50LFxyXG4gICAgICAgIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQnXSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZEJ1dHRvblNlbGVjdGlvbigpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ0J1dHRvbi1TZWxlY3Rpb24nLFxyXG4gICAgICAgIGNvbXBvbmVudDogRm9ybWx5U2VsZWN0aW9uQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgICAgIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQnXSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZEF2YXRhckxhYmVsQnV0dG9uKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnYXZhdGFyLWxhYmVsLWJ1dHRvbicsXHJcbiAgICAgICAgY29tcG9uZW50OiBGb3JtbHlBdmF0YXJMYWJlbENvbXBvbmVudCxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZEZvcm1seUJ1dHRvbigpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ2Zvcm1seS1idXR0b24nLFxyXG4gICAgICAgIGNvbXBvbmVudDogRm9ybWx5QnV0dG9uQ29tcG9uZW50LFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkTGFiZWxUeXBlKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnbGFiZWwtdHlwZScsXHJcbiAgICAgICAgY29tcG9uZW50OiBMYWJlbFR5cGVDb21wb25lbnQsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICAgIG5hbWU6ICdjdXN0b20tbGFiZWwtdHlwZScsXHJcbiAgICAgICAgICBjb21wb25lbnQ6IEN1c3RvbVR5cGVDb21wb25lbnQsXHJcbiAgICAgICAgICB3cmFwcGVyczpbJ2ZpZWxkLXdyYXBwZXInXVxyXG4gICAgICAgIH0sXHJcblxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkQ2xpY2thYmxlTGFiZWxUeXBlKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnY2xpY2thYmxlLWxhYmVsLXR5cGUnLFxyXG4gICAgICAgIGNvbXBvbmVudDogQ2xpY2thYmxlTGFiZWxUeXBlQ29tcG9uZW50LFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkT3B0aW9uVGFnKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnb3B0aW9uLXRhZycsXHJcbiAgICAgICAgY29tcG9uZW50OiBPcHRpb25UYWdUeXBlQ29tcG9uZW50LFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkUmVwZWF0KCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAncmVwZWF0JyxcclxuICAgICAgICBjb21wb25lbnQ6IFJlcGVhdFR5cGVDb21wb25lbnQsXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRUYWJzKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAndGFicycsXHJcbiAgICAgICAgY29tcG9uZW50OiBUYWJzVHlwZUNvbXBvbmVudCxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZFRhZygpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ3RhZycsXHJcbiAgICAgICAgY29tcG9uZW50OiBUYWdUeXBlQ29tcG9uZW50LFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkQ29sb3JUYWcoKTogQ29uZmlnT3B0aW9uIHtcclxuICByZXR1cm4ge1xyXG4gICAgdHlwZXM6IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICdjb2xvci10YWcnLFxyXG4gICAgICAgIGNvbXBvbmVudDogQ29sb3JUYWdUeXBlQ29tcG9uZW50LFxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEZvcm1seUZpZWxkQ29uZGl0aW9uQnVpbGRlcigpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ2NvbmRpdGlvbi1idWlsZGVyJyxcclxuICAgICAgICBjb21wb25lbnQ6IENvbmRpdGlvbkV4cHJlc3Npb25CdWlsZGVyVHlwZSxcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkJ10sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRJY29uUGlja2VyKCk6IENvbmZpZ09wdGlvbiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGVzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBuYW1lOiAnaWNvbi1waWNrZXInLFxyXG4gICAgICAgIGNvbXBvbmVudDogSWNvblBpY2tlckNvbXBvbmVudCxcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkLW5vJ10sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRDb2xvclBpY2tlcigpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ2NvbG9yLXBpY2tlcicsXHJcbiAgICAgICAgY29tcG9uZW50OiBDb2xvclBpY2tlckNvbXBvbmVudCxcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkLW5vJ10sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRUZW1wbGF0ZSgpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ3RlbXBsYXRlJyxcclxuICAgICAgICBjb21wb25lbnQ6IEZvcm1seVRlbXBsYXRlVHlwZSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlGaWVsZEJ1dHRvbigpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ2J1dHRvbicsXHJcbiAgICAgICAgY29tcG9uZW50OiBGb3JtbHlGaWVsZEJ1dHRvbixcclxuICAgICAgICB3cmFwcGVyczogWydmb3JtLWZpZWxkJ10sXHJcbiAgICAgICAgZGVmYXVsdE9wdGlvbnM6IHtcclxuICAgICAgICAgIHByb3BzOiB7XHJcbiAgICAgICAgICAgIGJ0blR5cGU6ICdkZWZhdWx0JyxcclxuICAgICAgICAgICAgdHlwZTogJ2J1dHRvbicsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB3aXRoRm9ybWx5RmllbGRBdmF0YXJJbWFnZSgpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ2F2YXRhci1pbWFnZScsXHJcbiAgICAgICAgY29tcG9uZW50OiBGb3JtbHlBdmF0YXJJbWFnZUNvbXBvbmVudCxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhGb3JtbHlXcmFwcGVycygpOiBDb25maWdPcHRpb24ge1xyXG4gIHJldHVybiB7XHJcbiAgICB3cmFwcGVyczogW1xyXG4gICAgICB7IG5hbWU6ICdwYW5lbCcsIGNvbXBvbmVudDogUGFuZWxXcmFwcGVyQ29tcG9uZW50IH0sXHJcbiAgICAgIHsgbmFtZTogJ2xhYmVsJywgY29tcG9uZW50OiBMYWJlbFdyYXBwZXJDb21wb25lbnQgfSxcclxuICAgICAgeyBuYW1lOiAndGQnLCBjb21wb25lbnQ6IFRkV3JhcHBlckNvbXBvbmVudCB9LFxyXG4gICAgICB7IG5hbWU6ICdjb2xsYXBzaWJsZScsIGNvbXBvbmVudDogQ29sbGFwc2libGVXcmFwcGVyIH0sXHJcbiAgICAgIHsgbmFtZTogJ2ZpZWxkLXdyYXBwZXInLCBjb21wb25lbnQ6IEN1c3RvbUZpZWxkV3JhcHBlciB9LFxyXG4gICAgXSxcclxuICB9O1xyXG59XHJcblxyXG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxpdGUuZnJhbWV3b3JrLW5nLnVpLmNvcmUtZm9ybWx5LXVpLWFsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvbmcudWkuY29yZS9mb3JtbHktdWktYWxsL3NyYy9lbGl0ZS5mcmFtZXdvcmstbmcudWkuY29yZS1mb3JtbHktdWktYWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
@@ -1,24 +1,28 @@
1
1
  import * as i0 from '@angular/core';
2
- import { NgModule, EventEmitter, Output, Input, Component, inject, ViewChild } from '@angular/core';
3
- import * as i1 from '@angular/common';
2
+ import { NgModule, inject, EventEmitter, Output, Input, Component, ViewChild } from '@angular/core';
4
3
  import { CommonModule } from '@angular/common';
5
4
  import { GenericButtonModule, GenericButton } from '@elite.framework/ng.ui.core/generic-button';
6
- import * as i3 from 'primeng/divider';
5
+ import * as i2 from 'primeng/divider';
7
6
  import { DividerModule } from 'primeng/divider';
8
7
  import { MessageModule } from 'primeng/message';
9
- import * as i2 from 'primeng/button';
8
+ import * as i1 from 'primeng/button';
10
9
  import { ButtonModule } from 'primeng/button';
11
10
  import { TableModule } from 'primeng/table';
12
11
  import { ToolbarModule } from 'primeng/toolbar';
13
12
  import * as i4 from '@ngx-translate/core';
14
- import { TranslateModule, TranslateService } from '@ngx-translate/core';
13
+ import { TranslateService, TranslateModule } from '@ngx-translate/core';
15
14
  import { IconFieldModule } from 'primeng/iconfield';
16
15
  import { DrawerModule } from 'primeng/drawer';
17
16
  import { DialogModule } from 'primeng/dialog';
18
- import { UntypedFormGroup, ReactiveFormsModule, FormsModule } from '@angular/forms';
17
+ import { FormsModule, ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';
19
18
  import { SwalService, BaseService } from '@elite.framework/ng.core/services';
19
+ import * as i3 from 'primeng/tooltip';
20
+ import { TooltipModule } from 'primeng/tooltip';
21
+ import { Menu } from 'primeng/menu';
22
+ import { DialogService } from 'primeng/dynamicdialog';
20
23
  import { BreadcrumbComponent } from '@elite.framework/ng.ui.core/breadcrumb';
21
- import { GenericSearch } from '@elite.framework/ng.ui.core/generic-search';
24
+ import { GenericSearchAdvanced } from '@elite.framework/ng.ui.core/generic-search-advanced';
25
+ import { GenericReportComponent } from '@elite.framework/ng.ui.core/generic-report';
22
26
  import { ActivatedRoute, Router } from '@angular/router';
23
27
  import { GenericTable } from '@elite.framework/ng.ui.core/generic-table';
24
28
  import { GenericDialogComponent } from '@elite.framework/ng.ui.core/generic-dialog';
@@ -37,6 +41,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImpor
37
41
  }] });
38
42
 
39
43
  class GenericCrudHeaderComponent {
44
+ translate = inject(TranslateService);
45
+ dialogService = inject(DialogService);
40
46
  // 🟢 Inputs
41
47
  mode = 'full';
42
48
  breadcrumb;
@@ -51,6 +57,16 @@ class GenericCrudHeaderComponent {
51
57
  first = 0; // Add input for current 'first' index
52
58
  rows = 10; // Add input for current 'rows' per page
53
59
  totalRecords = 0; // Add input for total records
60
+ apiName = '';
61
+ actions = [
62
+ {
63
+ label: this.translate.instant('REPORT'),
64
+ icon: 'pi pi-file-export',
65
+ command: (e) => {
66
+ this.openReportDialog();
67
+ }
68
+ }
69
+ ];
54
70
  // 🟢 Outputs
55
71
  singleItemAction = new EventEmitter();
56
72
  bulkAction = new EventEmitter();
@@ -67,6 +83,9 @@ class GenericCrudHeaderComponent {
67
83
  onInternalBulkAction(btn) {
68
84
  this.bulkAction.emit(btn);
69
85
  }
86
+ paginationChange(value) {
87
+ this.rows = value.top;
88
+ }
70
89
  applySearch(value) {
71
90
  this.search.emit(value);
72
91
  }
@@ -80,6 +99,34 @@ class GenericCrudHeaderComponent {
80
99
  return 0;
81
100
  return Math.ceil(this.totalRecords / this.rows);
82
101
  }
102
+ pageInput = null;
103
+ showPageMenu = false;
104
+ // Get current page number (1-based)
105
+ get currentPage() {
106
+ return Math.floor(this.first / this.rows) + 1;
107
+ }
108
+ // Go to specific page from menu
109
+ goToPageMenu() {
110
+ if (this.pageInput && this.pageInput >= 1 && this.pageInput <= this.totalPages()) {
111
+ const newFirst = (this.pageInput - 1) * this.rows;
112
+ this.paginateChange.emit({ first: newFirst, rows: this.rows });
113
+ this.pageInput = null;
114
+ this.showPageMenu = false; // Close menu after navigation
115
+ }
116
+ }
117
+ // Go to specific page (original method)
118
+ goToPage() {
119
+ this.goToPageMenu(); // Reuse the same logic
120
+ }
121
+ // Go to first page
122
+ goFirst() {
123
+ this.paginateChange.emit({ first: 0, rows: this.rows }); // EMIT EVENT
124
+ }
125
+ // Go to last page
126
+ goLast() {
127
+ const maxFirst = Math.max(0, (this.totalPages() - 1) * this.rows);
128
+ this.paginateChange.emit({ first: maxFirst, rows: this.rows }); // EMIT EVENT
129
+ }
83
130
  // Go to previous page
84
131
  goPrev() {
85
132
  const newFirst = Math.max(this.first - this.rows, 0);
@@ -98,6 +145,13 @@ class GenericCrudHeaderComponent {
98
145
  isLastPage() {
99
146
  return this.first + this.rows >= this.totalRecords;
100
147
  }
148
+ // Detect RTL direction
149
+ get isRTL() {
150
+ return document.documentElement.dir === 'rtl' ||
151
+ document.body.dir === 'rtl' ||
152
+ // this.translateService?.currentLang === 'ar' || // if using translation
153
+ false; // default to LTR
154
+ }
101
155
  /**
102
156
  * Handles button click in a unified way.
103
157
  * - If btn.action is defined, execute it.
@@ -121,8 +175,46 @@ class GenericCrudHeaderComponent {
121
175
  console.error('Button action error', err);
122
176
  }
123
177
  }
178
+ openReportDialog() {
179
+ const ref = this.dialogService.open(GenericReportComponent, {
180
+ header: this.translate.instant('REPORT'),
181
+ width: '90%',
182
+ height: 'auto',
183
+ modal: true,
184
+ data: {
185
+ // columns: {
186
+ // id: 'ID',
187
+ // name: 'Name',
188
+ // email: 'Email',
189
+ // amount: 'Amount',
190
+ // date: 'Date',
191
+ // status: 'Status'
192
+ // },
193
+ apiName: this.apiName,
194
+ filterFields: this.filters,
195
+ filterModel: { /* status: 'Active' */},
196
+ defaultFileName: 'users_export'
197
+ }
198
+ });
199
+ ref.onClose.subscribe((exportConfig) => {
200
+ if (exportConfig) {
201
+ console.log('Export configuration:', exportConfig);
202
+ // Handle the export - call your API service here
203
+ this.handleExport(exportConfig);
204
+ }
205
+ });
206
+ }
207
+ handleExport(config) {
208
+ // Your export logic here
209
+ // if (config.exportType === 'EXCEL') {
210
+ // this.exportToExcel(config);
211
+ // } else if (config.exportType === 'PDF') {
212
+ // this.exportToPdf(config);
213
+ // }
214
+ // etc.
215
+ }
124
216
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: GenericCrudHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
125
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.8", type: GenericCrudHeaderComponent, isStandalone: true, selector: "app-generic-crud-header", inputs: { mode: "mode", breadcrumb: "breadcrumb", isSingleItemSelected: "isSingleItemSelected", selectedItems: "selectedItems", singleActionButtons: "singleActionButtons", bulkActionButtons: "bulkActionButtons", addButtonConfigs: "addButtonConfigs", filters: "filters", filterModel: "filterModel", showSearch: "showSearch", first: "first", rows: "rows", totalRecords: "totalRecords" }, outputs: { singleItemAction: "singleItemAction", bulkAction: "bulkAction", search: "search", resetSearch: "resetSearch", action: "action", paginateChange: "paginateChange" }, ngImport: i0, template: "@if (mode !== 'form-only' && mode !== 'detail') {\r\n<div class=\"flex items-start gap-2 justify-between\">\r\n <div>\r\n <app-breadcrumb\r\n class=\"xs:block hidden\"\r\n [breadcrumb]=\"breadcrumb\"\r\n ></app-breadcrumb>\r\n </div>\r\n\r\n <div class=\"flex items-center gap-2 justify-end flex-wrap\">\r\n @if (mode === 'full') {\r\n\r\n <!-- \u0623\u0632\u0631\u0627\u0631 \u0627\u0644\u0639\u0646\u0627\u0635\u0631 \u0627\u0644\u0645\u0641\u0631\u062F\u0629 -->\r\n <ng-container *ngIf=\"isSingleItemSelected\">\r\n <ng-container\r\n *ngFor=\"let btn of singleActionButtons; trackBy: trackByIdx\"\r\n >\r\n @if (!btn.visible || (btn.visible && btn.visible === true)) {\r\n <lib-generic-button\r\n [icon]=\"btn.icon\"\r\n [label]=\"btn.label | translate\"\r\n [variant]=\"btn.variant\"\r\n [size]=\"btn.size\"\r\n [severity]=\"btn.severity\"\r\n [model]=\"btn.splitActions\"\r\n [permission]=\"btn.permission\"\r\n (clicked)=\"onSingleItemAction(btn)\"\r\n ></lib-generic-button>\r\n }\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- \u0623\u0632\u0631\u0627\u0631 \u0645\u062A\u0639\u062F\u062F\u0629 \u0627\u0644\u0639\u0646\u0627\u0635\u0631 -->\r\n <ng-container *ngIf=\"selectedItems.length > 0\">\r\n <ng-container *ngFor=\"let btn of bulkActionButtons; trackBy: trackByIdx\">\r\n @if (!btn.visible || (btn.visible && btn.visible === true)) {\r\n <lib-generic-button\r\n [icon]=\"btn.icon\"\r\n [label]=\"btn.label | translate\"\r\n [variant]=\"btn.variant\"\r\n [size]=\"btn.size\"\r\n [severity]=\"btn.severity\"\r\n [model]=\"btn.splitActions\"\r\n [permission]=\"btn.permission\"\r\n (clicked)=\"onInternalBulkAction(btn)\"\r\n ></lib-generic-button>\r\n }\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- \u0623\u0632\u0631\u0627\u0631 \u0627\u0644\u0625\u0636\u0627\u0641\u0629 -->\r\n <ng-container *ngFor=\"let btn of addButtonConfigs; trackBy: trackByIdx\">\r\n @if (!btn.visible || (btn.visible && btn.visible === true)) {\r\n <lib-generic-button\r\n [icon]=\"btn.icon\"\r\n [label]=\"btn.label | translate\"\r\n [variant]=\"btn.variant\"\r\n [size]=\"btn.size\"\r\n [severity]=\"btn.severity\"\r\n [model]=\"btn.splitActions\"\r\n [permission]=\"btn.permission\"\r\n (clicked)=\"handleButtonClick(btn)\"\r\n ></lib-generic-button>\r\n }\r\n </ng-container>\r\n }\r\n </div>\r\n</div>\r\n} @if (mode !== 'form-only' && mode !== 'detail') {\r\n<div class=\"mt-2 mb-4 flex items-center justify-between\">\r\n <!-- \u0627\u0644\u0628\u062D\u062B -->\r\n <ng-container *ngIf=\"showSearch && filters; else emptySearch\">\r\n <lib-generic-search\r\n [model]=\"filterModel\"\r\n [fields]=\"filters\"\r\n (search)=\"applySearch($event)\"\r\n (reset)=\"reset()\"\r\n ></lib-generic-search>\r\n </ng-container>\r\n <ng-template #emptySearch></ng-template>\r\n\r\n <!-- \u0623\u062F\u0648\u0627\u062A \u0625\u0636\u0627\u0641\u064A\u0629 -->\r\n <div class=\"flex items-center gap-3\">\r\n <p-button\r\n icon=\"pi pi-refresh\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"xs:block hidden\"\r\n (onClick)=\"reset()\"\r\n />\r\n <p-divider layout=\"vertical\" class=\"m-0 p-0 xs:block hidden\" />\r\n <p-button\r\n icon=\"pi pi-sort\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"xs:block hidden\"\r\n />\r\n <p-button\r\n label=\"{{totalRecords}}\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"xs:block hidden\"\r\n />\r\n <p-button\r\n icon=\"pi pi-chevron-right\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"xs:block\"\r\n (click)=\"goNext()\"\r\n [disabled]=\"isLastPage()\"\r\n ></p-button>\r\n\r\n <p-button\r\n icon=\"pi pi-chevron-left\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"xs:block\"\r\n (click)=\"goPrev()\"\r\n [disabled]=\"isFirstPage()\"\r\n ></p-button>\r\n\r\n\r\n </div>\r\n</div>\r\n}\r\n", dependencies: [{ kind: "component", type: GenericButton, selector: "lib-generic-button", inputs: ["model", "type", "icon", "label", "variant", "severity", "size", "iconPosition", "disabled", "loading", "ariaLabel", "extraClasses", "permission"], outputs: ["clicked", "itemClick"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: BreadcrumbComponent, selector: "app-breadcrumb", inputs: ["breadcrumb"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i2.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "buttonProps", "autofocus", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: GenericSearch, selector: "lib-generic-search", inputs: ["model", "fields"], outputs: ["search"] }, { kind: "ngmodule", type: DividerModule }, { kind: "component", type: i3.Divider, selector: "p-divider", inputs: ["styleClass", "layout", "type", "align"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
217
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.8", type: GenericCrudHeaderComponent, isStandalone: true, selector: "app-generic-crud-header", inputs: { mode: "mode", breadcrumb: "breadcrumb", isSingleItemSelected: "isSingleItemSelected", selectedItems: "selectedItems", singleActionButtons: "singleActionButtons", bulkActionButtons: "bulkActionButtons", addButtonConfigs: "addButtonConfigs", filters: "filters", filterModel: "filterModel", showSearch: "showSearch", first: "first", rows: "rows", totalRecords: "totalRecords", apiName: "apiName", actions: "actions" }, outputs: { singleItemAction: "singleItemAction", bulkAction: "bulkAction", search: "search", resetSearch: "resetSearch", action: "action", paginateChange: "paginateChange" }, providers: [DialogService], ngImport: i0, template: "@if (mode !== 'form-only' && mode !== 'detail') {\r\n<div class=\"flex items-start gap-2 justify-between\">\r\n <div>\r\n <app-breadcrumb\r\n class=\"xs:block hidden\"\r\n [breadcrumb]=\"breadcrumb\"\r\n ></app-breadcrumb>\r\n </div>\r\n\r\n <div class=\"flex items-center gap-2 justify-end flex-wrap\">\r\n @if (mode === 'full') {\r\n <!-- \u0623\u0632\u0631\u0627\u0631 \u0627\u0644\u0639\u0646\u0627\u0635\u0631 \u0627\u0644\u0645\u0641\u0631\u062F\u0629 -->\r\n @if (isSingleItemSelected) {\r\n @for (btn of singleActionButtons; track trackByIdx($index)) {\r\n @if (!btn.visible || (btn.visible && btn.visible === true)) {\r\n <lib-generic-button\r\n [icon]=\"btn.icon\"\r\n [label]=\"btn.label | translate\"\r\n [variant]=\"btn.variant\"\r\n [size]=\"btn.size\"\r\n [severity]=\"btn.severity\"\r\n [model]=\"btn.splitActions\"\r\n [permission]=\"btn.permission\"\r\n (clicked)=\"onSingleItemAction(btn)\"\r\n ></lib-generic-button>\r\n }\r\n }\r\n }\r\n\r\n <!-- \u0623\u0632\u0631\u0627\u0631 \u0645\u062A\u0639\u062F\u062F\u0629 \u0627\u0644\u0639\u0646\u0627\u0635\u0631 -->\r\n @if (selectedItems.length > 0) {\r\n @for (btn of bulkActionButtons; track trackByIdx($index)) {\r\n @if (!btn.visible || (btn.visible && btn.visible === true)) {\r\n <lib-generic-button\r\n [icon]=\"btn.icon\"\r\n [label]=\"btn.label | translate\"\r\n [variant]=\"btn.variant\"\r\n [size]=\"btn.size\"\r\n [severity]=\"btn.severity\"\r\n [model]=\"btn.splitActions\"\r\n [permission]=\"btn.permission\"\r\n (clicked)=\"onInternalBulkAction(btn)\"\r\n ></lib-generic-button>\r\n }\r\n }\r\n }\r\n\r\n <!-- \u0623\u0632\u0631\u0627\u0631 \u0627\u0644\u0625\u0636\u0627\u0641\u0629 -->\r\n @for (btn of addButtonConfigs; track trackByIdx($index)) {\r\n @if (!btn.visible || (btn.visible && btn.visible === true)) {\r\n <lib-generic-button\r\n [icon]=\"btn.icon\"\r\n [label]=\"btn.label | translate\"\r\n [variant]=\"btn.variant\"\r\n [size]=\"btn.size\"\r\n [severity]=\"btn.severity\"\r\n [model]=\"btn.splitActions\"\r\n [permission]=\"btn.permission\"\r\n (clicked)=\"handleButtonClick(btn)\"\r\n ></lib-generic-button>\r\n }\r\n }\r\n }\r\n </div>\r\n</div>\r\n}\r\n\r\n@if (mode !== 'form-only' && mode !== 'detail') {\r\n<div class=\"mt-2 mb-4 flex items-center justify-between\">\r\n <!-- \u0627\u0644\u0628\u062D\u062B -->\r\n @if (showSearch && filters) {\r\n <lib-generic-search-advanced\r\n [model]=\"filterModel\"\r\n [fields]=\"filters\"\r\n [enableQueryBuilder]=\"true\"\r\n (search)=\"applySearch($event)\"\r\n (paginationChange)=\"paginationChange($event)\"\r\n >\r\n</lib-generic-search-advanced>\r\n } @else {\r\n <div></div>\r\n }\r\n\r\n <!-- \u0623\u062F\u0648\u0627\u062A \u0625\u0636\u0627\u0641\u064A\u0629 -->\r\n <div class=\"flex items-center gap-3 rtl:space-x-reverse\">\r\n <!-- Refresh Button -->\r\n <p-button\r\n icon=\"pi pi-refresh\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"hidden xs:block\"\r\n (onClick)=\"reset()\"\r\n />\r\n\r\n <p-divider layout=\"vertical\" class=\"m-0 p-0 hidden xs:block\" />\r\n\r\n\r\n <p-button (click)=\"menu.toggle($event)\" class=\"xs:block\" severity=\"secondary\" outlined icon=\"pi pi-ellipsis-v\"/>\r\n <p-menu #menu [model]=\"actions\" [popup]=\"true\" />\r\n <!-- Pagination Controls -->\r\n <div class=\"flex items-center gap-1 rtl:space-x-reverse\">\r\n <!-- First Page Button -->\r\n <p-button\r\n [icon]=\"isRTL ? 'pi pi-angle-double-right' : 'pi pi-angle-double-left'\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"hidden xs:block\"\r\n (click)=\"goFirst()\"\r\n [disabled]=\"isFirstPage()\"\r\n ></p-button>\r\n\r\n <!-- Previous Page Button -->\r\n <p-button\r\n [icon]=\"isRTL ? 'pi pi-chevron-right' : 'pi pi-chevron-left'\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"xs:block\"\r\n (click)=\"goPrev()\"\r\n [disabled]=\"isFirstPage()\"\r\n ></p-button>\r\n\r\n\r\n <!-- Current Page Display with Dropdown -->\r\n <div class=\"relative\">\r\n\r\n <p-button\r\n [label]=\"currentPage + ' / ' + totalPages()\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"hidden xs:block\"\r\n (click)=\"showPageMenu = !showPageMenu\"\r\n pTooltip=\"{{totalRecords}}\"\r\n tooltipPosition=\"top\"\r\n />\r\n\r\n\r\n </div>\r\n <!-- Next Page Button -->\r\n <p-button\r\n [icon]=\"isRTL ? 'pi pi-chevron-left' : 'pi pi-chevron-right'\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"xs:block\"\r\n (click)=\"goNext()\"\r\n [disabled]=\"isLastPage()\"\r\n ></p-button>\r\n\r\n <!-- Last Page Button -->\r\n <p-button\r\n [icon]=\"isRTL ? 'pi pi-angle-double-left' : 'pi pi-angle-double-right'\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"hidden xs:block\"\r\n (click)=\"goLast()\"\r\n [disabled]=\"isLastPage()\"\r\n ></p-button>\r\n </div>\r\n </div>\r\n</div>\r\n}\r\n", dependencies: [{ kind: "component", type: GenericButton, selector: "lib-generic-button", inputs: ["model", "type", "icon", "label", "variant", "severity", "size", "iconPosition", "disabled", "loading", "ariaLabel", "extraClasses", "permission"], outputs: ["clicked", "itemClick"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: BreadcrumbComponent, selector: "app-breadcrumb", inputs: ["breadcrumb"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "buttonProps", "autofocus", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: DividerModule }, { kind: "component", type: i2.Divider, selector: "p-divider", inputs: ["styleClass", "layout", "type", "align"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i3.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "component", type: Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaLabel", "ariaLabelledBy", "id", "tabindex", "appendTo"], outputs: ["onShow", "onHide", "onBlur", "onFocus"] }, { kind: "component", type: GenericSearchAdvanced, selector: "lib-generic-search-advanced", inputs: ["model", "fields", "enableQueryBuilder", "odataConfig"], outputs: ["search", "paginationChange", "odataSearch"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
126
218
  }
127
219
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: GenericCrudHeaderComponent, decorators: [{
128
220
  type: Component,
@@ -132,9 +224,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImpor
132
224
  BreadcrumbComponent,
133
225
  CommonModule,
134
226
  ButtonModule,
135
- GenericSearch,
136
- DividerModule
137
- ], template: "@if (mode !== 'form-only' && mode !== 'detail') {\r\n<div class=\"flex items-start gap-2 justify-between\">\r\n <div>\r\n <app-breadcrumb\r\n class=\"xs:block hidden\"\r\n [breadcrumb]=\"breadcrumb\"\r\n ></app-breadcrumb>\r\n </div>\r\n\r\n <div class=\"flex items-center gap-2 justify-end flex-wrap\">\r\n @if (mode === 'full') {\r\n\r\n <!-- \u0623\u0632\u0631\u0627\u0631 \u0627\u0644\u0639\u0646\u0627\u0635\u0631 \u0627\u0644\u0645\u0641\u0631\u062F\u0629 -->\r\n <ng-container *ngIf=\"isSingleItemSelected\">\r\n <ng-container\r\n *ngFor=\"let btn of singleActionButtons; trackBy: trackByIdx\"\r\n >\r\n @if (!btn.visible || (btn.visible && btn.visible === true)) {\r\n <lib-generic-button\r\n [icon]=\"btn.icon\"\r\n [label]=\"btn.label | translate\"\r\n [variant]=\"btn.variant\"\r\n [size]=\"btn.size\"\r\n [severity]=\"btn.severity\"\r\n [model]=\"btn.splitActions\"\r\n [permission]=\"btn.permission\"\r\n (clicked)=\"onSingleItemAction(btn)\"\r\n ></lib-generic-button>\r\n }\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- \u0623\u0632\u0631\u0627\u0631 \u0645\u062A\u0639\u062F\u062F\u0629 \u0627\u0644\u0639\u0646\u0627\u0635\u0631 -->\r\n <ng-container *ngIf=\"selectedItems.length > 0\">\r\n <ng-container *ngFor=\"let btn of bulkActionButtons; trackBy: trackByIdx\">\r\n @if (!btn.visible || (btn.visible && btn.visible === true)) {\r\n <lib-generic-button\r\n [icon]=\"btn.icon\"\r\n [label]=\"btn.label | translate\"\r\n [variant]=\"btn.variant\"\r\n [size]=\"btn.size\"\r\n [severity]=\"btn.severity\"\r\n [model]=\"btn.splitActions\"\r\n [permission]=\"btn.permission\"\r\n (clicked)=\"onInternalBulkAction(btn)\"\r\n ></lib-generic-button>\r\n }\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- \u0623\u0632\u0631\u0627\u0631 \u0627\u0644\u0625\u0636\u0627\u0641\u0629 -->\r\n <ng-container *ngFor=\"let btn of addButtonConfigs; trackBy: trackByIdx\">\r\n @if (!btn.visible || (btn.visible && btn.visible === true)) {\r\n <lib-generic-button\r\n [icon]=\"btn.icon\"\r\n [label]=\"btn.label | translate\"\r\n [variant]=\"btn.variant\"\r\n [size]=\"btn.size\"\r\n [severity]=\"btn.severity\"\r\n [model]=\"btn.splitActions\"\r\n [permission]=\"btn.permission\"\r\n (clicked)=\"handleButtonClick(btn)\"\r\n ></lib-generic-button>\r\n }\r\n </ng-container>\r\n }\r\n </div>\r\n</div>\r\n} @if (mode !== 'form-only' && mode !== 'detail') {\r\n<div class=\"mt-2 mb-4 flex items-center justify-between\">\r\n <!-- \u0627\u0644\u0628\u062D\u062B -->\r\n <ng-container *ngIf=\"showSearch && filters; else emptySearch\">\r\n <lib-generic-search\r\n [model]=\"filterModel\"\r\n [fields]=\"filters\"\r\n (search)=\"applySearch($event)\"\r\n (reset)=\"reset()\"\r\n ></lib-generic-search>\r\n </ng-container>\r\n <ng-template #emptySearch></ng-template>\r\n\r\n <!-- \u0623\u062F\u0648\u0627\u062A \u0625\u0636\u0627\u0641\u064A\u0629 -->\r\n <div class=\"flex items-center gap-3\">\r\n <p-button\r\n icon=\"pi pi-refresh\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"xs:block hidden\"\r\n (onClick)=\"reset()\"\r\n />\r\n <p-divider layout=\"vertical\" class=\"m-0 p-0 xs:block hidden\" />\r\n <p-button\r\n icon=\"pi pi-sort\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"xs:block hidden\"\r\n />\r\n <p-button\r\n label=\"{{totalRecords}}\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"xs:block hidden\"\r\n />\r\n <p-button\r\n icon=\"pi pi-chevron-right\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"xs:block\"\r\n (click)=\"goNext()\"\r\n [disabled]=\"isLastPage()\"\r\n ></p-button>\r\n\r\n <p-button\r\n icon=\"pi pi-chevron-left\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"xs:block\"\r\n (click)=\"goPrev()\"\r\n [disabled]=\"isFirstPage()\"\r\n ></p-button>\r\n\r\n\r\n </div>\r\n</div>\r\n}\r\n" }]
227
+ DividerModule,
228
+ FormsModule,
229
+ ReactiveFormsModule,
230
+ TooltipModule,
231
+ Menu,
232
+ GenericSearchAdvanced
233
+ ], providers: [DialogService], template: "@if (mode !== 'form-only' && mode !== 'detail') {\r\n<div class=\"flex items-start gap-2 justify-between\">\r\n <div>\r\n <app-breadcrumb\r\n class=\"xs:block hidden\"\r\n [breadcrumb]=\"breadcrumb\"\r\n ></app-breadcrumb>\r\n </div>\r\n\r\n <div class=\"flex items-center gap-2 justify-end flex-wrap\">\r\n @if (mode === 'full') {\r\n <!-- \u0623\u0632\u0631\u0627\u0631 \u0627\u0644\u0639\u0646\u0627\u0635\u0631 \u0627\u0644\u0645\u0641\u0631\u062F\u0629 -->\r\n @if (isSingleItemSelected) {\r\n @for (btn of singleActionButtons; track trackByIdx($index)) {\r\n @if (!btn.visible || (btn.visible && btn.visible === true)) {\r\n <lib-generic-button\r\n [icon]=\"btn.icon\"\r\n [label]=\"btn.label | translate\"\r\n [variant]=\"btn.variant\"\r\n [size]=\"btn.size\"\r\n [severity]=\"btn.severity\"\r\n [model]=\"btn.splitActions\"\r\n [permission]=\"btn.permission\"\r\n (clicked)=\"onSingleItemAction(btn)\"\r\n ></lib-generic-button>\r\n }\r\n }\r\n }\r\n\r\n <!-- \u0623\u0632\u0631\u0627\u0631 \u0645\u062A\u0639\u062F\u062F\u0629 \u0627\u0644\u0639\u0646\u0627\u0635\u0631 -->\r\n @if (selectedItems.length > 0) {\r\n @for (btn of bulkActionButtons; track trackByIdx($index)) {\r\n @if (!btn.visible || (btn.visible && btn.visible === true)) {\r\n <lib-generic-button\r\n [icon]=\"btn.icon\"\r\n [label]=\"btn.label | translate\"\r\n [variant]=\"btn.variant\"\r\n [size]=\"btn.size\"\r\n [severity]=\"btn.severity\"\r\n [model]=\"btn.splitActions\"\r\n [permission]=\"btn.permission\"\r\n (clicked)=\"onInternalBulkAction(btn)\"\r\n ></lib-generic-button>\r\n }\r\n }\r\n }\r\n\r\n <!-- \u0623\u0632\u0631\u0627\u0631 \u0627\u0644\u0625\u0636\u0627\u0641\u0629 -->\r\n @for (btn of addButtonConfigs; track trackByIdx($index)) {\r\n @if (!btn.visible || (btn.visible && btn.visible === true)) {\r\n <lib-generic-button\r\n [icon]=\"btn.icon\"\r\n [label]=\"btn.label | translate\"\r\n [variant]=\"btn.variant\"\r\n [size]=\"btn.size\"\r\n [severity]=\"btn.severity\"\r\n [model]=\"btn.splitActions\"\r\n [permission]=\"btn.permission\"\r\n (clicked)=\"handleButtonClick(btn)\"\r\n ></lib-generic-button>\r\n }\r\n }\r\n }\r\n </div>\r\n</div>\r\n}\r\n\r\n@if (mode !== 'form-only' && mode !== 'detail') {\r\n<div class=\"mt-2 mb-4 flex items-center justify-between\">\r\n <!-- \u0627\u0644\u0628\u062D\u062B -->\r\n @if (showSearch && filters) {\r\n <lib-generic-search-advanced\r\n [model]=\"filterModel\"\r\n [fields]=\"filters\"\r\n [enableQueryBuilder]=\"true\"\r\n (search)=\"applySearch($event)\"\r\n (paginationChange)=\"paginationChange($event)\"\r\n >\r\n</lib-generic-search-advanced>\r\n } @else {\r\n <div></div>\r\n }\r\n\r\n <!-- \u0623\u062F\u0648\u0627\u062A \u0625\u0636\u0627\u0641\u064A\u0629 -->\r\n <div class=\"flex items-center gap-3 rtl:space-x-reverse\">\r\n <!-- Refresh Button -->\r\n <p-button\r\n icon=\"pi pi-refresh\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"hidden xs:block\"\r\n (onClick)=\"reset()\"\r\n />\r\n\r\n <p-divider layout=\"vertical\" class=\"m-0 p-0 hidden xs:block\" />\r\n\r\n\r\n <p-button (click)=\"menu.toggle($event)\" class=\"xs:block\" severity=\"secondary\" outlined icon=\"pi pi-ellipsis-v\"/>\r\n <p-menu #menu [model]=\"actions\" [popup]=\"true\" />\r\n <!-- Pagination Controls -->\r\n <div class=\"flex items-center gap-1 rtl:space-x-reverse\">\r\n <!-- First Page Button -->\r\n <p-button\r\n [icon]=\"isRTL ? 'pi pi-angle-double-right' : 'pi pi-angle-double-left'\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"hidden xs:block\"\r\n (click)=\"goFirst()\"\r\n [disabled]=\"isFirstPage()\"\r\n ></p-button>\r\n\r\n <!-- Previous Page Button -->\r\n <p-button\r\n [icon]=\"isRTL ? 'pi pi-chevron-right' : 'pi pi-chevron-left'\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"xs:block\"\r\n (click)=\"goPrev()\"\r\n [disabled]=\"isFirstPage()\"\r\n ></p-button>\r\n\r\n\r\n <!-- Current Page Display with Dropdown -->\r\n <div class=\"relative\">\r\n\r\n <p-button\r\n [label]=\"currentPage + ' / ' + totalPages()\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"hidden xs:block\"\r\n (click)=\"showPageMenu = !showPageMenu\"\r\n pTooltip=\"{{totalRecords}}\"\r\n tooltipPosition=\"top\"\r\n />\r\n\r\n\r\n </div>\r\n <!-- Next Page Button -->\r\n <p-button\r\n [icon]=\"isRTL ? 'pi pi-chevron-left' : 'pi pi-chevron-right'\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"xs:block\"\r\n (click)=\"goNext()\"\r\n [disabled]=\"isLastPage()\"\r\n ></p-button>\r\n\r\n <!-- Last Page Button -->\r\n <p-button\r\n [icon]=\"isRTL ? 'pi pi-angle-double-left' : 'pi pi-angle-double-right'\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"hidden xs:block\"\r\n (click)=\"goLast()\"\r\n [disabled]=\"isLastPage()\"\r\n ></p-button>\r\n </div>\r\n </div>\r\n</div>\r\n}\r\n" }]
138
234
  }], propDecorators: { mode: [{
139
235
  type: Input
140
236
  }], breadcrumb: [{
@@ -161,6 +257,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImpor
161
257
  type: Input
162
258
  }], totalRecords: [{
163
259
  type: Input
260
+ }], apiName: [{
261
+ type: Input
262
+ }], actions: [{
263
+ type: Input
164
264
  }], singleItemAction: [{
165
265
  type: Output
166
266
  }], bulkAction: [{
@@ -472,7 +572,7 @@ class GenericCrudTableComponent {
472
572
  });
473
573
  }
474
574
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: GenericCrudTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
475
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.8", type: GenericCrudTableComponent, isStandalone: true, selector: "app-generic-crud-table", inputs: { data: "data", formFields: "formFields", columns: "columns", dialogMaxWidth: "dialogMaxWidth", isViewMode: "isViewMode", displayMode: "displayMode", useConfirmOnSave: "useConfirmOnSave", isEditMode: "isEditMode", drawerVisible: "drawerVisible", dialogVisible: "dialogVisible", model: "model", loading: "loading", errorMsg: "errorMsg", errorMessage: "errorMessage", actions: "actions", actionsMode: "actionsMode", beforeSaveTransform: "beforeSaveTransform", filters: "filters", filterModel: "filterModel", showSearch: "showSearch", first: "first", rows: "rows", totalRecords: "totalRecords", rowSelectable: "rowSelectable", scrollHeight: "scrollHeight", paginator: "paginator", service: "service", apiName: "apiName", idField: "idField", showRowSelectionCheckbox: "showRowSelectionCheckbox", showAddButton: "showAddButton", addPermissionName: "addPermissionName", addButtonConfigs: "addButtonConfigs", createEditActions: "createEditActions", supportSubPage: "supportSubPage", tabs: "tabs", bulkActionButtons: "bulkActionButtons", singleActionButtons: "singleActionButtons", breadcrumb: "breadcrumb", mode: "mode", forceState: "forceState", hideTable: "hideTable", autoShowForm: "autoShowForm" }, outputs: { action: "action", bulkAction: "bulkAction", singleAction: "singleAction", afterSave: "afterSave", afterDelete: "afterDelete", beforeSave: "beforeSave", beforeDelete: "beforeDelete", formCancel: "formCancel", formInit: "formInit", dataLoaded: "dataLoaded", selectionChange: "selectionChange", error: "error", search: "search", pageChange: "pageChange", onSearch: "onSearch", visibleChange: "visibleChange", rowSelect: "rowSelect" }, viewQueries: [{ propertyName: "genericTable", first: true, predicate: ["genericTable"], descendants: true }, { propertyName: "dialog", first: true, predicate: ["dialog"], descendants: true }], ngImport: i0, template: "<div\r\n [class]=\"mode !== 'form-only' && mode !== 'detail' ? tableClass : ''\"\r\n>\r\n <app-generic-crud-header\r\n [mode]=\"mode\"\r\n [breadcrumb]=\"breadcrumb_\"\r\n [isSingleItemSelected]=\"isSingleItemSelected\"\r\n [selectedItems]=\"_selectedRows\"\r\n [singleActionButtons]=\"singleActionButtons\"\r\n [bulkActionButtons]=\"bulkActionButtons\"\r\n [addButtonConfigs]=\"addButtonConfigs\"\r\n [filters]=\"filters\"\r\n [filterModel]=\"filterModel\"\r\n [showSearch]=\"showSearch\"\r\n (singleItemAction)=\"onSingleItemAction($event)\"\r\n (bulkAction)=\"onInternalBulkAction($event)\"\r\n (action)=\"action.emit($event)\"\r\n (search)=\"applySearch($event)\"\r\n (resetSearch)=\"applySearch('')\"\r\n (paginateChange)=\"onHeaderPaginateChange($event)\"\r\n [first]=\"first\"\r\n [rows]=\"rows\"\r\n [totalRecords]=\"totalRecords\"\r\n/>\r\n\r\n @if (!hideTable) {\r\n <lib-generic-table\r\n [data]=\"data\"\r\n [columns]=\"columns\"\r\n [paginator]=\"paginator\"\r\n [loading]=\"loading\"\r\n [actions]=\"actions\"\r\n [actionsMode]=\"actionsMode\"\r\n [first]=\"first\"\r\n [rows]=\"rows\"\r\n [totalRecords]=\"totalRecords\"\r\n [sortField]=\"sortField\"\r\n [sortOrder]=\"sortOrder\"\r\n [addButtonConfigs]=\"addButtonConfigs\"\r\n [globalFilterFields]=\"globalFilterFields\"\r\n [scrollHeight]=\"scrollHeight\"\r\n [showRowSelectionCheckbox]=\"showRowSelectionCheckbox\"\r\n (action)=\"action.emit($event)\"\r\n (onAddNew)=\"action.emit({ name: 'add', row: null! })\"\r\n (pageChange)=\"onLazyLoad($event)\"\r\n [rowSelectable]=\"rowSelectable\"\r\n (rowSelect)=\"onRowClick($event)\"\r\n [(selection)]=\"_selectedRows\"\r\n #genericTable\r\n ></lib-generic-table>\r\n\r\n }\r\n\r\n <app-generic-dialog\r\n #dialog\r\n [service]=\"service\"\r\n [formFields]=\"formFields\"\r\n [model]=\"model\"\r\n [apiName]=\"apiName\"\r\n [idField]=\"idField\"\r\n [dialogMaxWidth]=\"dialogMaxWidth\"\r\n [displayMode]=\"displayMode\"\r\n [mode]=\"mode\"\r\n [forceState]=\"forceState\"\r\n [drawerVisible]=\"drawerVisible\"\r\n [dialogVisible]=\"dialogVisible\"\r\n [isViewMode]=\"isViewMode\"\r\n [isEditMode]=\"isEditMode\"\r\n [useConfirmOnSave]=\"useConfirmOnSave\"\r\n [loading]=\"loading\"\r\n [errorMsg]=\"errorMsg\"\r\n [errorMessage]=\"errorMessage\"\r\n [beforeSaveTransform]=\"beforeSaveTransform\"\r\n (action)=\"action.emit($event)\"\r\n (afterSave)=\"afterSave.emit($event);onSubmit();\"\r\n (afterDelete)=\"afterDelete.emit($event)\"\r\n (beforeSave)=\"beforeSave.emit($event)\"\r\n (beforeDelete)=\"beforeDelete.emit($event)\"\r\n (formCancel)=\"formCancel.emit()\"\r\n (formInit)=\"formInit.emit($event)\"\r\n (dataLoaded)=\"dataLoaded.emit($event)\"\r\n (selectionChange)=\"selectionChange.emit($event)\"\r\n (error)=\"error.emit($event)\"\r\n (visibleChange)=\"visibleChange.emit($event)\"\r\n >\r\n </app-generic-dialog>\r\n\r\n <app-detail-view\r\n [displayMode]=\"displayMode\"\r\n [mode]=\"mode\"\r\n [title]=\"breadcrumb_?.[0]?.label || 'Detail'\"\r\n [service]=\"service\"\r\n [apiName]=\"apiName\"\r\n [idField]=\"idField\"\r\n [actions]=\"actions\"\r\n [formFields]=\"formFields\"\r\n [model]=\"model\"\r\n [tabs]=\"tabs\"\r\n [loading]=\"loading\"\r\n [breadcrumb]=\"breadcrumb_\"\r\n [createEditActions]=\"createEditActions\"\r\n (action)=\"action.emit($event)\"\r\n >\r\n </app-detail-view>\r\n\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TableModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: GenericTable, selector: "lib-generic-table", inputs: ["data", "columns", "loading", "actions", "actionsPosition", "actionsMode", "first", "rows", "totalRecords", "sortField", "sortOrder", "globalFilterFields", "addButtonConfigs", "scrollHeight", "rowSelectable", "selection", "paginator", "showRowSelectionCheckbox"], outputs: ["action", "pageChange", "onAddNew", "rowSelect", "selectionChange"] }, { kind: "ngmodule", type: ToolbarModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: DividerModule }, { kind: "ngmodule", type: IconFieldModule }, { kind: "ngmodule", type: DrawerModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: MessageModule }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: GenericDialogComponent, selector: "app-generic-dialog", inputs: ["form", "service", "formFields", "model", "apiName", "idField", "dialogMaxWidth", "displayMode", "mode", "forceState", "drawerVisible", "dialogVisible", "isViewMode", "isEditMode", "useConfirmOnSave", "loading", "errorMsg", "errorMessage", "beforeSaveTransform", "hideTable", "autoShowForm"], outputs: ["action", "afterSave", "afterDelete", "beforeSave", "beforeDelete", "formCancel", "formInit", "dataLoaded", "selectionChange", "error", "visibleChange"] }, { kind: "component", type: GenericCrudHeaderComponent, selector: "app-generic-crud-header", inputs: ["mode", "breadcrumb", "isSingleItemSelected", "selectedItems", "singleActionButtons", "bulkActionButtons", "addButtonConfigs", "filters", "filterModel", "showSearch", "first", "rows", "totalRecords"], outputs: ["singleItemAction", "bulkAction", "search", "resetSearch", "action", "paginateChange"] }, { kind: "component", type: GenericViewComponent, selector: "app-detail-view", inputs: ["title", "actions", "createEditActions", "tabs", "viewMode", "breadcrumb", "service", "formFields", "apiName", "idField", "standaloneMode", "isViewMode", "isCreateMode", "isEditMode", "model", "displayMode", "mode", "loading"], outputs: ["action", "afterDelete"] }] });
575
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.8", type: GenericCrudTableComponent, isStandalone: true, selector: "app-generic-crud-table", inputs: { data: "data", formFields: "formFields", columns: "columns", dialogMaxWidth: "dialogMaxWidth", isViewMode: "isViewMode", displayMode: "displayMode", useConfirmOnSave: "useConfirmOnSave", isEditMode: "isEditMode", drawerVisible: "drawerVisible", dialogVisible: "dialogVisible", model: "model", loading: "loading", errorMsg: "errorMsg", errorMessage: "errorMessage", actions: "actions", actionsMode: "actionsMode", beforeSaveTransform: "beforeSaveTransform", filters: "filters", filterModel: "filterModel", showSearch: "showSearch", first: "first", rows: "rows", totalRecords: "totalRecords", rowSelectable: "rowSelectable", scrollHeight: "scrollHeight", paginator: "paginator", service: "service", apiName: "apiName", idField: "idField", showRowSelectionCheckbox: "showRowSelectionCheckbox", showAddButton: "showAddButton", addPermissionName: "addPermissionName", addButtonConfigs: "addButtonConfigs", createEditActions: "createEditActions", supportSubPage: "supportSubPage", tabs: "tabs", bulkActionButtons: "bulkActionButtons", singleActionButtons: "singleActionButtons", breadcrumb: "breadcrumb", mode: "mode", forceState: "forceState", hideTable: "hideTable", autoShowForm: "autoShowForm" }, outputs: { action: "action", bulkAction: "bulkAction", singleAction: "singleAction", afterSave: "afterSave", afterDelete: "afterDelete", beforeSave: "beforeSave", beforeDelete: "beforeDelete", formCancel: "formCancel", formInit: "formInit", dataLoaded: "dataLoaded", selectionChange: "selectionChange", error: "error", search: "search", pageChange: "pageChange", onSearch: "onSearch", visibleChange: "visibleChange", rowSelect: "rowSelect" }, viewQueries: [{ propertyName: "genericTable", first: true, predicate: ["genericTable"], descendants: true }, { propertyName: "dialog", first: true, predicate: ["dialog"], descendants: true }], ngImport: i0, template: "<div\r\n [class]=\"mode !== 'form-only' && mode !== 'detail' ? tableClass : ''\"\r\n>\r\n <app-generic-crud-header\r\n [mode]=\"mode\"\r\n [breadcrumb]=\"breadcrumb_\"\r\n [isSingleItemSelected]=\"isSingleItemSelected\"\r\n [selectedItems]=\"_selectedRows\"\r\n [singleActionButtons]=\"singleActionButtons\"\r\n [bulkActionButtons]=\"bulkActionButtons\"\r\n [addButtonConfigs]=\"addButtonConfigs\"\r\n [filters]=\"filters\"\r\n [filterModel]=\"filterModel\"\r\n [showSearch]=\"showSearch\"\r\n (singleItemAction)=\"onSingleItemAction($event)\"\r\n (bulkAction)=\"onInternalBulkAction($event)\"\r\n (action)=\"action.emit($event)\"\r\n (search)=\"applySearch($event)\"\r\n (resetSearch)=\"applySearch('')\"\r\n (paginateChange)=\"onHeaderPaginateChange($event)\"\r\n [first]=\"first\"\r\n [rows]=\"rows\"\r\n [totalRecords]=\"totalRecords\"\r\n/>\r\n\r\n @if (!hideTable) {\r\n <lib-generic-table\r\n [data]=\"data\"\r\n [columns]=\"columns\"\r\n [paginator]=\"paginator\"\r\n [loading]=\"loading\"\r\n [actions]=\"actions\"\r\n [actionsMode]=\"actionsMode\"\r\n [first]=\"first\"\r\n [rows]=\"rows\"\r\n [totalRecords]=\"totalRecords\"\r\n [sortField]=\"sortField\"\r\n [sortOrder]=\"sortOrder\"\r\n [addButtonConfigs]=\"addButtonConfigs\"\r\n [globalFilterFields]=\"globalFilterFields\"\r\n [scrollHeight]=\"scrollHeight\"\r\n [showRowSelectionCheckbox]=\"showRowSelectionCheckbox\"\r\n (action)=\"action.emit($event)\"\r\n (onAddNew)=\"action.emit({ name: 'add', row: null! })\"\r\n (pageChange)=\"onLazyLoad($event)\"\r\n [rowSelectable]=\"rowSelectable\"\r\n (rowSelect)=\"onRowClick($event)\"\r\n [(selection)]=\"_selectedRows\"\r\n #genericTable\r\n ></lib-generic-table>\r\n\r\n }\r\n\r\n <app-generic-dialog\r\n #dialog\r\n [service]=\"service\"\r\n [formFields]=\"formFields\"\r\n [model]=\"model\"\r\n [apiName]=\"apiName\"\r\n [idField]=\"idField\"\r\n [dialogMaxWidth]=\"dialogMaxWidth\"\r\n [displayMode]=\"displayMode\"\r\n [mode]=\"mode\"\r\n [forceState]=\"forceState\"\r\n [drawerVisible]=\"drawerVisible\"\r\n [dialogVisible]=\"dialogVisible\"\r\n [isViewMode]=\"isViewMode\"\r\n [isEditMode]=\"isEditMode\"\r\n [useConfirmOnSave]=\"useConfirmOnSave\"\r\n [loading]=\"loading\"\r\n [errorMsg]=\"errorMsg\"\r\n [errorMessage]=\"errorMessage\"\r\n [beforeSaveTransform]=\"beforeSaveTransform\"\r\n (action)=\"action.emit($event)\"\r\n (afterSave)=\"afterSave.emit($event);onSubmit();\"\r\n (afterDelete)=\"afterDelete.emit($event)\"\r\n (beforeSave)=\"beforeSave.emit($event)\"\r\n (beforeDelete)=\"beforeDelete.emit($event)\"\r\n (formCancel)=\"formCancel.emit()\"\r\n (formInit)=\"formInit.emit($event)\"\r\n (dataLoaded)=\"dataLoaded.emit($event)\"\r\n (selectionChange)=\"selectionChange.emit($event)\"\r\n (error)=\"error.emit($event)\"\r\n (visibleChange)=\"visibleChange.emit($event)\"\r\n >\r\n </app-generic-dialog>\r\n\r\n <app-detail-view\r\n [displayMode]=\"displayMode\"\r\n [mode]=\"mode\"\r\n [title]=\"breadcrumb_?.[0]?.label || 'Detail'\"\r\n [service]=\"service\"\r\n [apiName]=\"apiName\"\r\n [idField]=\"idField\"\r\n [actions]=\"actions\"\r\n [formFields]=\"formFields\"\r\n [model]=\"model\"\r\n [tabs]=\"tabs\"\r\n [loading]=\"loading\"\r\n [breadcrumb]=\"breadcrumb_\"\r\n [createEditActions]=\"createEditActions\"\r\n (action)=\"action.emit($event)\"\r\n >\r\n </app-detail-view>\r\n\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TableModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: GenericTable, selector: "lib-generic-table", inputs: ["data", "columns", "loading", "actions", "actionsPosition", "actionsMode", "first", "rows", "totalRecords", "sortField", "sortOrder", "globalFilterFields", "addButtonConfigs", "scrollHeight", "rowSelectable", "selection", "paginator", "showRowSelectionCheckbox"], outputs: ["action", "pageChange", "onAddNew", "rowSelect", "selectionChange"] }, { kind: "ngmodule", type: ToolbarModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: DividerModule }, { kind: "ngmodule", type: IconFieldModule }, { kind: "ngmodule", type: DrawerModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: MessageModule }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: GenericDialogComponent, selector: "app-generic-dialog", inputs: ["form", "service", "formFields", "model", "apiName", "idField", "dialogMaxWidth", "displayMode", "mode", "forceState", "drawerVisible", "dialogVisible", "isViewMode", "isEditMode", "useConfirmOnSave", "loading", "errorMsg", "errorMessage", "beforeSaveTransform", "hideTable", "autoShowForm"], outputs: ["action", "afterSave", "afterDelete", "beforeSave", "beforeDelete", "formCancel", "formInit", "dataLoaded", "selectionChange", "error", "visibleChange"] }, { kind: "component", type: GenericCrudHeaderComponent, selector: "app-generic-crud-header", inputs: ["mode", "breadcrumb", "isSingleItemSelected", "selectedItems", "singleActionButtons", "bulkActionButtons", "addButtonConfigs", "filters", "filterModel", "showSearch", "first", "rows", "totalRecords", "apiName", "actions"], outputs: ["singleItemAction", "bulkAction", "search", "resetSearch", "action", "paginateChange"] }, { kind: "component", type: GenericViewComponent, selector: "app-detail-view", inputs: ["title", "actions", "createEditActions", "tabs", "viewMode", "breadcrumb", "service", "formFields", "apiName", "idField", "standaloneMode", "isViewMode", "isCreateMode", "isEditMode", "model", "displayMode", "mode", "loading"], outputs: ["action", "afterDelete"] }] });
476
576
  }
477
577
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: GenericCrudTableComponent, decorators: [{
478
578
  type: Component,