@acorex/components 6.5.26 → 6.5.28
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.
- package/karma.conf.js +32 -0
- package/ng-package.json +10 -0
- package/package.json +12 -32
- package/src/lib/accordion/accordion.component.ts +43 -0
- package/src/lib/accordion/accordion.module.ts +11 -0
- package/src/lib/accordion/api.ts +2 -0
- package/src/lib/base/base-page.class.ts +116 -0
- package/src/lib/base/components.class.ts +9 -0
- package/src/lib/base/element.class.ts +344 -0
- package/src/lib/base/events.class.ts +32 -0
- package/src/lib/button/button.component.html +17 -0
- package/src/lib/button/button.component.ts +72 -0
- package/src/lib/button/button.module.ts +14 -0
- package/src/lib/calendar/calendar-box/calendar-box.component.html +68 -0
- package/src/lib/calendar/calendar-box/calendar-box.component.ts +461 -0
- package/src/lib/calendar/calendar-box/calendar-box.module.ts +16 -0
- package/src/lib/calendar/scheduler/scheduler-views.property.ts +38 -0
- package/{lib/calendar/scheduler/scheduler.class.d.ts → src/lib/calendar/scheduler/scheduler.class.ts} +20 -6
- package/src/lib/calendar/scheduler/scheduler.component.html +9 -0
- package/src/lib/calendar/scheduler/scheduler.component.scss +181 -0
- package/src/lib/calendar/scheduler/scheduler.component.ts +249 -0
- package/src/lib/calendar/scheduler/scheduler.module.ts +45 -0
- package/src/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.ts +133 -0
- package/src/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.ts +33 -0
- package/src/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.html +43 -0
- package/src/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.scss +66 -0
- package/src/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.ts +50 -0
- package/src/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.html +45 -0
- package/src/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.scss +19 -0
- package/src/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.ts +103 -0
- package/src/lib/calendar/scheduler/views/month/scheduler-month-view.component.html +39 -0
- package/src/lib/calendar/scheduler/views/month/scheduler-month-view.component.scss +55 -0
- package/src/lib/calendar/scheduler/views/month/scheduler-month-view.component.ts +233 -0
- package/src/lib/calendar/scheduler/views/scheduler-view.component.ts +124 -0
- package/src/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.html +50 -0
- package/src/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.scss +4 -0
- package/src/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.ts +92 -0
- package/src/lib/checkbox/checkbox.component.html +22 -0
- package/src/lib/checkbox/checkbox.component.ts +107 -0
- package/src/lib/checkbox/checkbox.module.ts +11 -0
- package/src/lib/color-picker/color-box/color-box.component.html +37 -0
- package/src/lib/color-picker/color-box/color-box.component.scss +60 -0
- package/src/lib/color-picker/color-box/color-box.component.ts +438 -0
- package/src/lib/color-picker/color-picker.component.html +31 -0
- package/src/lib/color-picker/color-picker.component.ts +87 -0
- package/src/lib/color-picker/color-picker.module.ts +16 -0
- package/src/lib/context-menu/context-menu.component.html +42 -0
- package/src/lib/context-menu/context-menu.component.ts +78 -0
- package/src/lib/context-menu/context-menu.directive.ts +159 -0
- package/src/lib/context-menu/context-menu.module.ts +15 -0
- package/src/lib/data-filter/columns/filter-column-date.component.ts +123 -0
- package/src/lib/data-filter/columns/filter-column-number.component.ts +100 -0
- package/src/lib/data-filter/columns/filter-column-selection.component.ts +69 -0
- package/src/lib/data-filter/columns/filter-column-string.component.ts +100 -0
- package/src/lib/data-filter/filter-panel/filter-panel.component.html +120 -0
- package/src/lib/data-filter/filter-panel/filter-panel.component.scss +143 -0
- package/src/lib/data-filter/filter-panel/filter-panel.component.ts +266 -0
- package/src/lib/data-filter/filter.class.ts +73 -0
- package/src/lib/data-filter/filter.module.ts +52 -0
- package/src/lib/data-filter/toolbar/filter-toolbar.component.html +5 -0
- package/src/lib/data-filter/toolbar/filter-toolbar.component.scss +17 -0
- package/src/lib/data-filter/toolbar/filter-toolbar.component.ts +179 -0
- package/src/lib/data-list/core/data-list.component.ts +62 -0
- package/src/lib/data-list/list/list.component.html +32 -0
- package/src/lib/data-list/list/list.component.scss +64 -0
- package/src/lib/data-list/list/list.component.ts +149 -0
- package/src/lib/data-list/list/list.module.ts +14 -0
- package/src/lib/data-list/list/toolbar-list-view.component.ts +63 -0
- package/src/lib/data-source/datasource.component.ts +50 -0
- package/src/lib/data-source/datasource.module.ts +11 -0
- package/{lib/data-source/read-param.d.ts → src/lib/data-source/read-param.ts} +13 -3
- package/src/lib/date-picker/date-picker.component.html +30 -0
- package/src/lib/date-picker/date-picker.component.scss +5 -0
- package/src/lib/date-picker/date-picker.component.ts +720 -0
- package/src/lib/date-picker/date-picker.module.ts +17 -0
- package/src/lib/dialog/dialog.component.html +5 -0
- package/src/lib/dialog/dialog.component.scss +32 -0
- package/src/lib/dialog/dialog.component.ts +32 -0
- package/src/lib/dialog/dialog.module.ts +13 -0
- package/src/lib/dialog/dialog.service.ts +178 -0
- package/src/lib/drawer/content.component.ts +18 -0
- package/src/lib/drawer/drawer-container.component.ts +37 -0
- package/src/lib/drawer/drawer.component.ts +151 -0
- package/src/lib/drawer/drawer.module.ts +16 -0
- package/src/lib/dropdown/dropdown.component.html +26 -0
- package/src/lib/dropdown/dropdown.component.scss +8 -0
- package/src/lib/dropdown/dropdown.component.ts +197 -0
- package/src/lib/dropdown/dropdown.module.ts +19 -0
- package/src/lib/fieldset/fieldset.component.html +6 -0
- package/src/lib/fieldset/fieldset.component.ts +49 -0
- package/src/lib/fieldset/fieldset.module.ts +11 -0
- package/src/lib/form-group/form-group.component.html +15 -0
- package/src/lib/form-group/form-group.component.ts +39 -0
- package/src/lib/form-group/form-group.module.ts +14 -0
- package/src/lib/label/label.component.html +5 -0
- package/src/lib/label/label.component.ts +18 -0
- package/src/lib/label/label.module.ts +14 -0
- package/src/lib/loading/loading-indicator.component.html +27 -0
- package/src/lib/loading/loading-indicator.component.ts +16 -0
- package/src/lib/loading/loading-panel.component.ts +37 -0
- package/src/lib/loading/loading.module.ts +13 -0
- package/src/lib/loading/loading.service.ts +44 -0
- package/src/lib/menu/menu-item.component.ts +41 -0
- package/src/lib/menu/menu.component.html +74 -0
- package/src/lib/menu/menu.component.ts +111 -0
- package/src/lib/menu/menu.module.ts +13 -0
- package/src/lib/menu/menu2.component.scss +59 -0
- package/src/lib/menu/menu2.component.ts +98 -0
- package/src/lib/number-box/number-box.component.html +32 -0
- package/src/lib/number-box/number-box.component.ts +641 -0
- package/src/lib/number-box/number-box.module.ts +13 -0
- package/src/lib/page/content.component.ts +18 -0
- package/src/lib/page/footer.component.ts +13 -0
- package/src/lib/page/page.component.ts +43 -0
- package/src/lib/page/page.module.ts +14 -0
- package/src/lib/panel-box/panel-box.component.html +19 -0
- package/src/lib/panel-box/panel-box.component.scss +25 -0
- package/src/lib/panel-box/panel-box.component.ts +87 -0
- package/src/lib/panel-box/panel-box.module.ts +10 -0
- package/src/lib/password-box/password-box.component.html +22 -0
- package/src/lib/password-box/password-box.component.ts +30 -0
- package/src/lib/password-box/password-box.module.ts +16 -0
- package/src/lib/popover/custom-cdk-overlay.service.ts +82 -0
- package/src/lib/popover/overlay.service.ts +102 -0
- package/src/lib/popover/popover.component.html +5 -0
- package/src/lib/popover/popover.component.scss +9 -0
- package/src/lib/popover/popover.component.ts +130 -0
- package/src/lib/popover/popover.module.ts +11 -0
- package/src/lib/popup/popup.component.html +33 -0
- package/src/lib/popup/popup.component.scss +167 -0
- package/src/lib/popup/popup.component.ts +184 -0
- package/src/lib/popup/popup.module.ts +16 -0
- package/src/lib/popup/popup.service.ts +103 -0
- package/src/lib/progress-bar/progress-bar.component.html +5 -0
- package/src/lib/progress-bar/progress-bar.component.ts +10 -0
- package/src/lib/progress-bar/progress-bar.module.ts +11 -0
- package/src/lib/property-editor/editors/check-editor/check-editor.ts +44 -0
- package/src/lib/property-editor/editors/check-editor/check.module.ts +14 -0
- package/src/lib/property-editor/editors/color-editor/color.editor.ts +30 -0
- package/src/lib/property-editor/editors/color-editor/color.module.ts +20 -0
- package/src/lib/property-editor/editors/column-editor/column.editor.html +75 -0
- package/src/lib/property-editor/editors/column-editor/column.editor.scss +193 -0
- package/src/lib/property-editor/editors/column-editor/column.editor.ts +124 -0
- package/src/lib/property-editor/editors/column-editor/column.module.ts +28 -0
- package/src/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.html +80 -0
- package/src/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.scss +71 -0
- package/src/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.ts +232 -0
- package/src/lib/property-editor/editors/conditional-color-editor/conditional-color.module.ts +52 -0
- package/src/lib/property-editor/editors/date-editor/date.editor.ts +49 -0
- package/src/lib/property-editor/editors/date-editor/date.module.ts +20 -0
- package/src/lib/property-editor/editors/number-editor/number.editor.ts +46 -0
- package/src/lib/property-editor/editors/number-editor/number.module.ts +20 -0
- package/src/lib/property-editor/editors/range-editor/range.editor.html +67 -0
- package/src/lib/property-editor/editors/range-editor/range.editor.scss +68 -0
- package/src/lib/property-editor/editors/range-editor/range.editor.ts +153 -0
- package/src/lib/property-editor/editors/range-editor/range.module.ts +37 -0
- package/src/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.html +8 -0
- package/src/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.ts +70 -0
- package/src/lib/property-editor/editors/selectbox-editor/selectbox.editor.html +8 -0
- package/src/lib/property-editor/editors/selectbox-editor/selectbox.editor.ts +77 -0
- package/src/lib/property-editor/editors/selectbox-editor/selectbox.module.ts +18 -0
- package/src/lib/property-editor/editors/selection-editor/selection-editor.ts +52 -0
- package/src/lib/property-editor/editors/selection-editor/selection.module.ts +14 -0
- package/src/lib/property-editor/editors/switch-editor/number.editor.ts +26 -0
- package/src/lib/property-editor/editors/switch-editor/number.module.ts +21 -0
- package/src/lib/property-editor/editors/text-editor/text.editor.html +5 -0
- package/src/lib/property-editor/editors/text-editor/text.editor.ts +31 -0
- package/src/lib/property-editor/editors/text-editor/text.module.ts +20 -0
- package/src/lib/property-editor/editors/textarea-editor/textarea.editor.html +9 -0
- package/src/lib/property-editor/editors/textarea-editor/textarea.editor.ts +37 -0
- package/src/lib/property-editor/editors/textarea-editor/textarea.module.ts +20 -0
- package/src/lib/property-editor/editors/time-editor/time.editor.ts +38 -0
- package/src/lib/property-editor/editors/time-editor/time.module.ts +20 -0
- package/src/lib/property-editor/property-editor-renderer.directive.ts +165 -0
- package/src/lib/property-editor/property-editor.class.ts +178 -0
- package/src/lib/property-editor/property-editor.module.ts +115 -0
- package/src/lib/query-builder/query-builder-group.component.html +68 -0
- package/src/lib/query-builder/query-builder-group.component.ts +122 -0
- package/src/lib/query-builder/query-builder-popup/query-builder-popup.component.html +82 -0
- package/src/lib/query-builder/query-builder-popup/query-builder-popup.component.ts +178 -0
- package/src/lib/query-builder/query-builder-rule.component.html +135 -0
- package/src/lib/query-builder/query-builder-rule.component.ts +390 -0
- package/src/lib/query-builder/query-builder.class.ts +53 -0
- package/src/lib/query-builder/query-builder.component.html +3 -0
- package/src/lib/query-builder/query-builder.component.scss +286 -0
- package/src/lib/query-builder/query-builder.component.ts +220 -0
- package/src/lib/query-builder/query-builder.module.ts +44 -0
- package/src/lib/query-builder/query-builder.service.ts +188 -0
- package/src/lib/search-bar/search-bar.component.html +30 -0
- package/src/lib/search-bar/search-bar.component.scss +114 -0
- package/src/lib/search-bar/search-bar.component.ts +287 -0
- package/src/lib/search-bar/search-bar.module.ts +33 -0
- package/src/lib/searchbox/searchbox.component.html +25 -0
- package/src/lib/searchbox/searchbox.component.ts +85 -0
- package/src/lib/searchbox/searchbox.module.ts +17 -0
- package/src/lib/selectbox/selectbox.component.html +100 -0
- package/src/lib/selectbox/selectbox.component.ts +984 -0
- package/src/lib/selectbox/selectbox.module.ts +31 -0
- package/src/lib/selectbox/selectbox2.component.html +78 -0
- package/src/lib/selectbox/selectbox2.component.ts +603 -0
- package/src/lib/selection-list/selection-list.component.html +21 -0
- package/src/lib/selection-list/selection-list.component.ts +115 -0
- package/src/lib/selection-list/selection-list.module.ts +13 -0
- package/src/lib/switch/switch.component.html +4 -0
- package/src/lib/switch/switch.component.scss +65 -0
- package/src/lib/switch/switch.component.ts +57 -0
- package/src/lib/switch/switch.module.ts +14 -0
- package/src/lib/tab-page/tab-page-Renderer.component.ts +70 -0
- package/src/lib/tab-page/tab-page-host.component.ts +110 -0
- package/src/lib/tab-page/tab-page.module.ts +13 -0
- package/src/lib/tab-page/tab-page.service.ts +176 -0
- package/src/lib/tab-strip/tab-strip.component.html +6 -0
- package/src/lib/tab-strip/tab-strip.component.ts +47 -0
- package/src/lib/tab-strip/tab-strip.module.ts +11 -0
- package/src/lib/tab-view/dynamic-tabs.directive.ts +17 -0
- package/src/lib/tab-view/tab-view.component.html +33 -0
- package/src/lib/tab-view/tab-view.component.scss +0 -0
- package/src/lib/tab-view/tab-view.component.ts +129 -0
- package/src/lib/tab-view/tab-view.module.ts +12 -0
- package/src/lib/tab-view/tab.component.html +8 -0
- package/src/lib/tab-view/tab.component.ts +15 -0
- package/src/lib/textarea/textarea.component.html +13 -0
- package/src/lib/textarea/textarea.component.ts +24 -0
- package/src/lib/textarea/textarea.module.ts +14 -0
- package/src/lib/textbox/textbox.component.html +22 -0
- package/src/lib/textbox/textbox.component.ts +38 -0
- package/src/lib/textbox/textbox.module.ts +16 -0
- package/src/lib/time-picker/time-picker.component.html +21 -0
- package/src/lib/time-picker/time-picker.component.ts +1003 -0
- package/src/lib/time-picker/time-picker.module.ts +15 -0
- package/src/lib/toast/toast-message/toast-message.component.html +17 -0
- package/src/lib/toast/toast-message/toast-message.component.scss +75 -0
- package/src/lib/toast/toast-message/toast-message.component.ts +64 -0
- package/src/lib/toast/toast-wrapper/toast-wrapper.component.scss +15 -0
- package/src/lib/toast/toast-wrapper/toast-wrapper.component.ts +13 -0
- package/src/lib/toast/toast.module.ts +12 -0
- package/src/lib/toast/toast.service.ts +64 -0
- package/src/lib/toolbar/group-button/toolbar-group-button.component.ts +54 -0
- package/src/lib/toolbar/menu/toolbar-menu.component.html +4 -0
- package/src/lib/toolbar/menu/toolbar-menu.component.ts +81 -0
- package/src/lib/toolbar/search/toolbar-search.component.html +4 -0
- package/src/lib/toolbar/search/toolbar-search.component.scss +24 -0
- package/src/lib/toolbar/search/toolbar-search.component.ts +61 -0
- package/src/lib/toolbar/title/toolbar-title.component.ts +35 -0
- package/src/lib/toolbar/toolbar-item.ts +4 -0
- package/src/lib/toolbar/toolbar.component.html +4 -0
- package/src/lib/toolbar/toolbar.component.scss +9 -0
- package/src/lib/toolbar/toolbar.component.ts +16 -0
- package/src/lib/toolbar/toolbar.module.ts +25 -0
- package/src/lib/tooltip/tooltip.directive.ts +101 -0
- package/src/lib/tooltip/tooltip.module.ts +11 -0
- package/src/lib/tree-side-menu/tree-side-menu.component.html +43 -0
- package/src/lib/tree-side-menu/tree-side-menu.component.ts +698 -0
- package/src/lib/tree-side-menu/tree-side-menu.module.ts +19 -0
- package/src/lib/tree-view/tree-view.component.html +46 -0
- package/src/lib/tree-view/tree-view.component.ts +835 -0
- package/src/lib/tree-view/tree-view.module.ts +16 -0
- package/src/lib/upload-file/upload-file.component.html +16 -0
- package/src/lib/upload-file/upload-file.component.ts +230 -0
- package/src/lib/upload-file/upload-file.events.ts +11 -0
- package/src/lib/upload-file/upload-file.module.ts +16 -0
- package/src/lib/validation/validation-form.component.ts +78 -0
- package/src/lib/validation/validation-rule.widget.ts +112 -0
- package/src/lib/validation/validation.class.ts +22 -0
- package/src/lib/validation/validation.component.ts +92 -0
- package/src/lib/validation/validation.module.ts +28 -0
- package/{public-api.d.ts → src/public-api.ts} +61 -2
- package/src/test.ts +28 -0
- package/tsconfig.lib.json +25 -0
- package/tsconfig.lib.prod.json +6 -0
- package/tsconfig.spec.json +17 -0
- package/tslint.json +17 -0
- package/acorex-components.d.ts +0 -5
- package/esm2020/acorex-components.mjs +0 -5
- package/esm2020/lib/accordion/accordion.component.mjs +0 -44
- package/esm2020/lib/accordion/accordion.module.mjs +0 -20
- package/esm2020/lib/base/base-page.class.mjs +0 -94
- package/esm2020/lib/base/components.class.mjs +0 -17
- package/esm2020/lib/base/element.class.mjs +0 -294
- package/esm2020/lib/base/events.class.mjs +0 -11
- package/esm2020/lib/button/button.component.mjs +0 -71
- package/esm2020/lib/button/button.module.mjs +0 -21
- package/esm2020/lib/calendar/calendar-box/calendar-box.component.mjs +0 -413
- package/esm2020/lib/calendar/calendar-box/calendar-box.module.mjs +0 -22
- package/esm2020/lib/calendar/scheduler/scheduler-views.property.mjs +0 -54
- package/esm2020/lib/calendar/scheduler/scheduler.class.mjs +0 -18
- package/esm2020/lib/calendar/scheduler/scheduler.component.mjs +0 -213
- package/esm2020/lib/calendar/scheduler/scheduler.module.mjs +0 -68
- package/esm2020/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.mjs +0 -132
- package/esm2020/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.mjs +0 -37
- package/esm2020/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.mjs +0 -47
- package/esm2020/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.mjs +0 -95
- package/esm2020/lib/calendar/scheduler/views/month/scheduler-month-view.component.mjs +0 -204
- package/esm2020/lib/calendar/scheduler/views/scheduler-view.component.mjs +0 -99
- package/esm2020/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.mjs +0 -77
- package/esm2020/lib/checkbox/checkbox.component.mjs +0 -98
- package/esm2020/lib/checkbox/checkbox.module.mjs +0 -20
- package/esm2020/lib/color-picker/color-box/color-box.component.mjs +0 -422
- package/esm2020/lib/color-picker/color-picker.component.mjs +0 -82
- package/esm2020/lib/color-picker/color-picker.module.mjs +0 -24
- package/esm2020/lib/context-menu/context-menu.component.mjs +0 -65
- package/esm2020/lib/context-menu/context-menu.directive.mjs +0 -135
- package/esm2020/lib/context-menu/context-menu.module.mjs +0 -20
- package/esm2020/lib/data-filter/columns/filter-column-date.component.mjs +0 -138
- package/esm2020/lib/data-filter/columns/filter-column-number.component.mjs +0 -117
- package/esm2020/lib/data-filter/columns/filter-column-selection.component.mjs +0 -74
- package/esm2020/lib/data-filter/columns/filter-column-string.component.mjs +0 -117
- package/esm2020/lib/data-filter/filter-panel/filter-panel.component.mjs +0 -258
- package/esm2020/lib/data-filter/filter.class.mjs +0 -44
- package/esm2020/lib/data-filter/filter.module.mjs +0 -90
- package/esm2020/lib/data-filter/toolbar/filter-toolbar.component.mjs +0 -166
- package/esm2020/lib/data-list/core/data-list.component.mjs +0 -40
- package/esm2020/lib/data-list/list/list.component.mjs +0 -124
- package/esm2020/lib/data-list/list/list.module.mjs +0 -22
- package/esm2020/lib/data-list/list/toolbar-list-view.component.mjs +0 -85
- package/esm2020/lib/data-source/datasource.component.mjs +0 -47
- package/esm2020/lib/data-source/datasource.module.mjs +0 -18
- package/esm2020/lib/data-source/read-param.mjs +0 -5
- package/esm2020/lib/date-picker/date-picker.component.mjs +0 -702
- package/esm2020/lib/date-picker/date-picker.module.mjs +0 -25
- package/esm2020/lib/dialog/dialog.component.mjs +0 -24
- package/esm2020/lib/dialog/dialog.module.mjs +0 -21
- package/esm2020/lib/dialog/dialog.service.mjs +0 -150
- package/esm2020/lib/drawer/content.component.mjs +0 -18
- package/esm2020/lib/drawer/drawer-container.component.mjs +0 -36
- package/esm2020/lib/drawer/drawer.component.mjs +0 -142
- package/esm2020/lib/drawer/drawer.module.mjs +0 -23
- package/esm2020/lib/dropdown/dropdown.component.mjs +0 -176
- package/esm2020/lib/dropdown/dropdown.module.mjs +0 -26
- package/esm2020/lib/fieldset/fieldset.component.mjs +0 -59
- package/esm2020/lib/fieldset/fieldset.module.mjs +0 -19
- package/esm2020/lib/form-group/form-group.component.mjs +0 -34
- package/esm2020/lib/form-group/form-group.module.mjs +0 -21
- package/esm2020/lib/label/label.component.mjs +0 -19
- package/esm2020/lib/label/label.module.mjs +0 -21
- package/esm2020/lib/loading/loading-indicator.component.mjs +0 -17
- package/esm2020/lib/loading/loading-panel.component.mjs +0 -44
- package/esm2020/lib/loading/loading.module.mjs +0 -21
- package/esm2020/lib/loading/loading.service.mjs +0 -45
- package/esm2020/lib/menu/menu-item.component.mjs +0 -47
- package/esm2020/lib/menu/menu.component.mjs +0 -86
- package/esm2020/lib/menu/menu.module.mjs +0 -22
- package/esm2020/lib/menu/menu2.component.mjs +0 -96
- package/esm2020/lib/number-box/number-box.component.mjs +0 -622
- package/esm2020/lib/number-box/number-box.module.mjs +0 -21
- package/esm2020/lib/page/content.component.mjs +0 -32
- package/esm2020/lib/page/footer.component.mjs +0 -19
- package/esm2020/lib/page/page.component.mjs +0 -53
- package/esm2020/lib/page/page.module.mjs +0 -22
- package/esm2020/lib/panel-box/panel-box.component.mjs +0 -88
- package/esm2020/lib/panel-box/panel-box.module.mjs +0 -19
- package/esm2020/lib/password-box/password-box.component.mjs +0 -31
- package/esm2020/lib/password-box/password-box.module.mjs +0 -23
- package/esm2020/lib/popover/custom-cdk-overlay.service.mjs +0 -48
- package/esm2020/lib/popover/overlay.service.mjs +0 -90
- package/esm2020/lib/popover/popover.component.mjs +0 -127
- package/esm2020/lib/popover/popover.module.mjs +0 -19
- package/esm2020/lib/popup/popup.component.mjs +0 -147
- package/esm2020/lib/popup/popup.module.mjs +0 -25
- package/esm2020/lib/popup/popup.service.mjs +0 -93
- package/esm2020/lib/progress-bar/progress-bar.component.mjs +0 -19
- package/esm2020/lib/progress-bar/progress-bar.module.mjs +0 -19
- package/esm2020/lib/property-editor/editors/check-editor/check-editor.mjs +0 -61
- package/esm2020/lib/property-editor/editors/check-editor/check.module.mjs +0 -22
- package/esm2020/lib/property-editor/editors/color-editor/color.editor.mjs +0 -38
- package/esm2020/lib/property-editor/editors/color-editor/color.module.mjs +0 -24
- package/esm2020/lib/property-editor/editors/column-editor/column.editor.mjs +0 -115
- package/esm2020/lib/property-editor/editors/column-editor/column.module.mjs +0 -32
- package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.mjs +0 -211
- package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.module.mjs +0 -78
- package/esm2020/lib/property-editor/editors/date-editor/date.editor.mjs +0 -51
- package/esm2020/lib/property-editor/editors/date-editor/date.module.mjs +0 -24
- package/esm2020/lib/property-editor/editors/number-editor/number.editor.mjs +0 -63
- package/esm2020/lib/property-editor/editors/number-editor/number.module.mjs +0 -24
- package/esm2020/lib/property-editor/editors/range-editor/range.editor.mjs +0 -140
- package/esm2020/lib/property-editor/editors/range-editor/range.module.mjs +0 -61
- package/esm2020/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.mjs +0 -72
- package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.editor.mjs +0 -71
- package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.module.mjs +0 -25
- package/esm2020/lib/property-editor/editors/selection-editor/selection-editor.mjs +0 -69
- package/esm2020/lib/property-editor/editors/selection-editor/selection.module.mjs +0 -22
- package/esm2020/lib/property-editor/editors/switch-editor/number.editor.mjs +0 -29
- package/esm2020/lib/property-editor/editors/switch-editor/number.module.mjs +0 -25
- package/esm2020/lib/property-editor/editors/text-editor/text.editor.mjs +0 -32
- package/esm2020/lib/property-editor/editors/text-editor/text.module.mjs +0 -24
- package/esm2020/lib/property-editor/editors/textarea-editor/textarea.editor.mjs +0 -32
- package/esm2020/lib/property-editor/editors/textarea-editor/textarea.module.mjs +0 -24
- package/esm2020/lib/property-editor/editors/time-editor/time.editor.mjs +0 -43
- package/esm2020/lib/property-editor/editors/time-editor/time.module.mjs +0 -24
- package/esm2020/lib/property-editor/property-editor-renderer.directive.mjs +0 -154
- package/esm2020/lib/property-editor/property-editor.class.mjs +0 -101
- package/esm2020/lib/property-editor/property-editor.module.mjs +0 -196
- package/esm2020/lib/query-builder/query-builder-group.component.mjs +0 -124
- package/esm2020/lib/query-builder/query-builder-popup/query-builder-popup.component.mjs +0 -171
- package/esm2020/lib/query-builder/query-builder-rule.component.mjs +0 -395
- package/esm2020/lib/query-builder/query-builder.class.mjs +0 -20
- package/esm2020/lib/query-builder/query-builder.component.mjs +0 -82
- package/esm2020/lib/query-builder/query-builder.module.mjs +0 -62
- package/esm2020/lib/query-builder/query-builder.service.mjs +0 -197
- package/esm2020/lib/search-bar/search-bar.component.mjs +0 -283
- package/esm2020/lib/search-bar/search-bar.module.mjs +0 -63
- package/esm2020/lib/searchbox/searchbox.component.mjs +0 -79
- package/esm2020/lib/searchbox/searchbox.module.mjs +0 -24
- package/esm2020/lib/selectbox/selectbox.component.mjs +0 -961
- package/esm2020/lib/selectbox/selectbox.module.mjs +0 -44
- package/esm2020/lib/selectbox/selectbox2.component.mjs +0 -574
- package/esm2020/lib/selection-list/selection-list.component.mjs +0 -108
- package/esm2020/lib/selection-list/selection-list.module.mjs +0 -21
- package/esm2020/lib/switch/switch.component.mjs +0 -51
- package/esm2020/lib/switch/switch.module.mjs +0 -20
- package/esm2020/lib/tab-page/tab-page-Renderer.component.mjs +0 -71
- package/esm2020/lib/tab-page/tab-page-host.component.mjs +0 -116
- package/esm2020/lib/tab-page/tab-page.module.mjs +0 -21
- package/esm2020/lib/tab-page/tab-page.service.mjs +0 -156
- package/esm2020/lib/tab-strip/tab-strip.component.mjs +0 -36
- package/esm2020/lib/tab-strip/tab-strip.module.mjs +0 -19
- package/esm2020/lib/tab-view/dynamic-tabs.directive.mjs +0 -24
- package/esm2020/lib/tab-view/tab-view.component.mjs +0 -105
- package/esm2020/lib/tab-view/tab-view.module.mjs +0 -21
- package/esm2020/lib/tab-view/tab.component.mjs +0 -30
- package/esm2020/lib/textarea/textarea.component.mjs +0 -26
- package/esm2020/lib/textarea/textarea.module.mjs +0 -21
- package/esm2020/lib/textbox/textbox.component.mjs +0 -39
- package/esm2020/lib/textbox/textbox.module.mjs +0 -24
- package/esm2020/lib/time-picker/time-picker.component.mjs +0 -943
- package/esm2020/lib/time-picker/time-picker.module.mjs +0 -22
- package/esm2020/lib/toast/toast-message/toast-message.component.mjs +0 -74
- package/esm2020/lib/toast/toast-wrapper/toast-wrapper.component.mjs +0 -13
- package/esm2020/lib/toast/toast.module.mjs +0 -21
- package/esm2020/lib/toast/toast.service.mjs +0 -44
- package/esm2020/lib/toolbar/group-button/toolbar-group-button.component.mjs +0 -78
- package/esm2020/lib/toolbar/menu/toolbar-menu.component.mjs +0 -57
- package/esm2020/lib/toolbar/search/toolbar-search.component.mjs +0 -54
- package/esm2020/lib/toolbar/title/toolbar-title.component.mjs +0 -47
- package/esm2020/lib/toolbar/toolbar-item.mjs +0 -6
- package/esm2020/lib/toolbar/toolbar.component.mjs +0 -13
- package/esm2020/lib/toolbar/toolbar.module.mjs +0 -40
- package/esm2020/lib/tooltip/tooltip.directive.mjs +0 -100
- package/esm2020/lib/tooltip/tooltip.module.mjs +0 -19
- package/esm2020/lib/tree-side-menu/tree-side-menu.component.mjs +0 -646
- package/esm2020/lib/tree-side-menu/tree-side-menu.module.mjs +0 -35
- package/esm2020/lib/tree-view/tree-view.component.mjs +0 -775
- package/esm2020/lib/tree-view/tree-view.module.mjs +0 -22
- package/esm2020/lib/upload-file/upload-file.component.mjs +0 -208
- package/esm2020/lib/upload-file/upload-file.events.mjs +0 -2
- package/esm2020/lib/upload-file/upload-file.module.mjs +0 -24
- package/esm2020/lib/validation/validation-form.component.mjs +0 -65
- package/esm2020/lib/validation/validation-rule.widget.mjs +0 -111
- package/esm2020/lib/validation/validation.class.mjs +0 -2
- package/esm2020/lib/validation/validation.component.mjs +0 -89
- package/esm2020/lib/validation/validation.module.mjs +0 -34
- package/esm2020/public-api.mjs +0 -158
- package/fesm2015/acorex-components.mjs +0 -15988
- package/fesm2015/acorex-components.mjs.map +0 -1
- package/fesm2020/acorex-components.mjs +0 -15923
- package/fesm2020/acorex-components.mjs.map +0 -1
- package/lib/accordion/accordion.component.d.ts +0 -13
- package/lib/accordion/accordion.module.d.ts +0 -9
- package/lib/base/base-page.class.d.ts +0 -46
- package/lib/base/components.class.d.ts +0 -10
- package/lib/base/element.class.d.ts +0 -106
- package/lib/base/events.class.d.ts +0 -18
- package/lib/button/button.component.d.ts +0 -21
- package/lib/button/button.module.d.ts +0 -8
- package/lib/calendar/calendar-box/calendar-box.component.d.ts +0 -81
- package/lib/calendar/calendar-box/calendar-box.module.d.ts +0 -11
- package/lib/calendar/scheduler/scheduler-views.property.d.ts +0 -19
- package/lib/calendar/scheduler/scheduler.component.d.ts +0 -39
- package/lib/calendar/scheduler/scheduler.module.d.ts +0 -21
- package/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.d.ts +0 -25
- package/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.d.ts +0 -14
- package/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.d.ts +0 -16
- package/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.d.ts +0 -26
- package/lib/calendar/scheduler/views/month/scheduler-month-view.component.d.ts +0 -37
- package/lib/calendar/scheduler/views/scheduler-view.component.d.ts +0 -28
- package/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.d.ts +0 -24
- package/lib/checkbox/checkbox.component.d.ts +0 -30
- package/lib/checkbox/checkbox.module.d.ts +0 -9
- package/lib/color-picker/color-box/color-box.component.d.ts +0 -25
- package/lib/color-picker/color-picker.component.d.ts +0 -30
- package/lib/color-picker/color-picker.module.d.ts +0 -13
- package/lib/context-menu/context-menu.component.d.ts +0 -22
- package/lib/context-menu/context-menu.directive.d.ts +0 -38
- package/lib/context-menu/context-menu.module.d.ts +0 -9
- package/lib/data-filter/columns/filter-column-date.component.d.ts +0 -22
- package/lib/data-filter/columns/filter-column-number.component.d.ts +0 -15
- package/lib/data-filter/columns/filter-column-selection.component.d.ts +0 -18
- package/lib/data-filter/columns/filter-column-string.component.d.ts +0 -15
- package/lib/data-filter/filter-panel/filter-panel.component.d.ts +0 -45
- package/lib/data-filter/filter.class.d.ts +0 -40
- package/lib/data-filter/filter.module.d.ts +0 -24
- package/lib/data-filter/toolbar/filter-toolbar.component.d.ts +0 -25
- package/lib/data-list/core/data-list.component.d.ts +0 -15
- package/lib/data-list/list/list.component.d.ts +0 -40
- package/lib/data-list/list/list.module.d.ts +0 -11
- package/lib/data-list/list/toolbar-list-view.component.d.ts +0 -17
- package/lib/data-source/datasource.component.d.ts +0 -16
- package/lib/data-source/datasource.module.d.ts +0 -7
- package/lib/date-picker/date-picker.component.d.ts +0 -81
- package/lib/date-picker/date-picker.module.d.ts +0 -14
- package/lib/dialog/dialog.component.d.ts +0 -14
- package/lib/dialog/dialog.module.d.ts +0 -10
- package/lib/dialog/dialog.service.d.ts +0 -36
- package/lib/drawer/content.component.d.ts +0 -7
- package/lib/drawer/drawer-container.component.d.ts +0 -10
- package/lib/drawer/drawer.component.d.ts +0 -34
- package/lib/drawer/drawer.module.d.ts +0 -10
- package/lib/dropdown/dropdown.component.d.ts +0 -38
- package/lib/dropdown/dropdown.module.d.ts +0 -13
- package/lib/fieldset/fieldset.component.d.ts +0 -11
- package/lib/fieldset/fieldset.module.d.ts +0 -8
- package/lib/form-group/form-group.component.d.ts +0 -14
- package/lib/form-group/form-group.module.d.ts +0 -8
- package/lib/label/label.component.d.ts +0 -9
- package/lib/label/label.module.d.ts +0 -8
- package/lib/loading/loading-indicator.component.d.ts +0 -9
- package/lib/loading/loading-panel.component.d.ts +0 -13
- package/lib/loading/loading.module.d.ts +0 -10
- package/lib/loading/loading.service.d.ts +0 -13
- package/lib/menu/menu-item.component.d.ts +0 -18
- package/lib/menu/menu.component.d.ts +0 -35
- package/lib/menu/menu.module.d.ts +0 -11
- package/lib/menu/menu2.component.d.ts +0 -21
- package/lib/number-box/number-box.component.d.ts +0 -52
- package/lib/number-box/number-box.module.d.ts +0 -10
- package/lib/page/content.component.d.ts +0 -8
- package/lib/page/footer.component.d.ts +0 -5
- package/lib/page/page.component.d.ts +0 -16
- package/lib/page/page.module.d.ts +0 -11
- package/lib/panel-box/panel-box.component.d.ts +0 -19
- package/lib/panel-box/panel-box.module.d.ts +0 -8
- package/lib/password-box/password-box.component.d.ts +0 -12
- package/lib/password-box/password-box.module.d.ts +0 -10
- package/lib/popover/custom-cdk-overlay.service.d.ts +0 -19
- package/lib/popover/overlay.service.d.ts +0 -31
- package/lib/popover/popover.component.d.ts +0 -34
- package/lib/popover/popover.module.d.ts +0 -8
- package/lib/popup/popup.component.d.ts +0 -40
- package/lib/popup/popup.module.d.ts +0 -13
- package/lib/popup/popup.service.d.ts +0 -22
- package/lib/progress-bar/progress-bar.component.d.ts +0 -7
- package/lib/progress-bar/progress-bar.module.d.ts +0 -8
- package/lib/property-editor/editors/check-editor/check-editor.d.ts +0 -19
- package/lib/property-editor/editors/check-editor/check.module.d.ts +0 -11
- package/lib/property-editor/editors/color-editor/color.editor.d.ts +0 -13
- package/lib/property-editor/editors/color-editor/color.module.d.ts +0 -12
- package/lib/property-editor/editors/column-editor/column.editor.d.ts +0 -34
- package/lib/property-editor/editors/column-editor/column.module.d.ts +0 -20
- package/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.d.ts +0 -44
- package/lib/property-editor/editors/conditional-color-editor/conditional-color.module.d.ts +0 -19
- package/lib/property-editor/editors/date-editor/date.editor.d.ts +0 -28
- package/lib/property-editor/editors/date-editor/date.module.d.ts +0 -12
- package/lib/property-editor/editors/number-editor/number.editor.d.ts +0 -20
- package/lib/property-editor/editors/number-editor/number.module.d.ts +0 -12
- package/lib/property-editor/editors/range-editor/range.editor.d.ts +0 -29
- package/lib/property-editor/editors/range-editor/range.module.d.ts +0 -18
- package/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.d.ts +0 -29
- package/lib/property-editor/editors/selectbox-editor/selectbox.editor.d.ts +0 -28
- package/lib/property-editor/editors/selectbox-editor/selectbox.module.d.ts +0 -14
- package/lib/property-editor/editors/selection-editor/selection-editor.d.ts +0 -25
- package/lib/property-editor/editors/selection-editor/selection.module.d.ts +0 -11
- package/lib/property-editor/editors/switch-editor/number.editor.d.ts +0 -11
- package/lib/property-editor/editors/switch-editor/number.module.d.ts +0 -13
- package/lib/property-editor/editors/text-editor/text.editor.d.ts +0 -18
- package/lib/property-editor/editors/text-editor/text.module.d.ts +0 -12
- package/lib/property-editor/editors/textarea-editor/textarea.editor.d.ts +0 -17
- package/lib/property-editor/editors/textarea-editor/textarea.module.d.ts +0 -12
- package/lib/property-editor/editors/time-editor/time.editor.d.ts +0 -17
- package/lib/property-editor/editors/time-editor/time.module.d.ts +0 -12
- package/lib/property-editor/property-editor-renderer.directive.d.ts +0 -30
- package/lib/property-editor/property-editor.class.d.ts +0 -92
- package/lib/property-editor/property-editor.module.d.ts +0 -21
- package/lib/query-builder/query-builder-group.component.d.ts +0 -33
- package/lib/query-builder/query-builder-popup/query-builder-popup.component.d.ts +0 -35
- package/lib/query-builder/query-builder-rule.component.d.ts +0 -45
- package/lib/query-builder/query-builder.class.d.ts +0 -45
- package/lib/query-builder/query-builder.component.d.ts +0 -27
- package/lib/query-builder/query-builder.module.d.ts +0 -23
- package/lib/query-builder/query-builder.service.d.ts +0 -18
- package/lib/search-bar/search-bar.component.d.ts +0 -61
- package/lib/search-bar/search-bar.module.d.ts +0 -18
- package/lib/searchbox/searchbox.component.d.ts +0 -22
- package/lib/searchbox/searchbox.module.d.ts +0 -13
- package/lib/selectbox/selectbox.component.d.ts +0 -118
- package/lib/selectbox/selectbox.module.d.ts +0 -15
- package/lib/selectbox/selectbox2.component.d.ts +0 -103
- package/lib/selection-list/selection-list.component.d.ts +0 -32
- package/lib/selection-list/selection-list.module.d.ts +0 -10
- package/lib/switch/switch.component.d.ts +0 -20
- package/lib/switch/switch.module.d.ts +0 -9
- package/lib/tab-page/tab-page-Renderer.component.d.ts +0 -16
- package/lib/tab-page/tab-page-host.component.d.ts +0 -25
- package/lib/tab-page/tab-page.module.d.ts +0 -10
- package/lib/tab-page/tab-page.service.d.ts +0 -30
- package/lib/tab-strip/tab-strip.component.d.ts +0 -28
- package/lib/tab-strip/tab-strip.module.d.ts +0 -8
- package/lib/tab-view/dynamic-tabs.directive.d.ts +0 -16
- package/lib/tab-view/tab-view.component.d.ts +0 -26
- package/lib/tab-view/tab-view.module.d.ts +0 -10
- package/lib/tab-view/tab.component.d.ts +0 -12
- package/lib/textarea/textarea.component.d.ts +0 -12
- package/lib/textarea/textarea.module.d.ts +0 -8
- package/lib/textbox/textbox.component.d.ts +0 -16
- package/lib/textbox/textbox.module.d.ts +0 -11
- package/lib/time-picker/time-picker.component.d.ts +0 -52
- package/lib/time-picker/time-picker.module.d.ts +0 -11
- package/lib/toast/toast-message/toast-message.component.d.ts +0 -18
- package/lib/toast/toast-wrapper/toast-wrapper.component.d.ts +0 -8
- package/lib/toast/toast.module.d.ts +0 -9
- package/lib/toast/toast.service.d.ts +0 -18
- package/lib/toolbar/group-button/toolbar-group-button.component.d.ts +0 -12
- package/lib/toolbar/menu/toolbar-menu.component.d.ts +0 -24
- package/lib/toolbar/search/toolbar-search.component.d.ts +0 -16
- package/lib/toolbar/title/toolbar-title.component.d.ts +0 -9
- package/lib/toolbar/toolbar-item.d.ts +0 -3
- package/lib/toolbar/toolbar.component.d.ts +0 -8
- package/lib/toolbar/toolbar.module.d.ts +0 -14
- package/lib/tooltip/tooltip.directive.d.ts +0 -21
- package/lib/tooltip/tooltip.module.d.ts +0 -8
- package/lib/tree-side-menu/tree-side-menu.component.d.ts +0 -111
- package/lib/tree-side-menu/tree-side-menu.module.d.ts +0 -11
- package/lib/tree-view/tree-view.component.d.ts +0 -121
- package/lib/tree-view/tree-view.module.d.ts +0 -11
- package/lib/upload-file/upload-file.component.d.ts +0 -42
- package/lib/upload-file/upload-file.events.d.ts +0 -10
- package/lib/upload-file/upload-file.module.d.ts +0 -13
- package/lib/validation/validation-form.component.d.ts +0 -19
- package/lib/validation/validation-rule.widget.d.ts +0 -23
- package/lib/validation/validation.class.d.ts +0 -16
- package/lib/validation/validation.component.d.ts +0 -25
- package/lib/validation/validation.module.d.ts +0 -11
@@ -0,0 +1,20 @@
|
|
1
|
+
import { NgModule } from '@angular/core';
|
2
|
+
import { CommonModule } from '@angular/common';
|
3
|
+
import { FormsModule } from '@angular/forms';
|
4
|
+
import { AXValidationModule } from '../../../validation/validation.module';
|
5
|
+
import { AXTimePickerModule } from '../../../time-picker/time-picker.module';
|
6
|
+
import { AXTimePropertyEditorComponent } from './time.editor';
|
7
|
+
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
@NgModule({
|
12
|
+
declarations: [AXTimePropertyEditorComponent],
|
13
|
+
imports: [CommonModule, FormsModule, AXTimePickerModule, AXValidationModule],
|
14
|
+
exports: [AXTimePropertyEditorComponent],
|
15
|
+
providers: []
|
16
|
+
})
|
17
|
+
export class AXTimePropertyEditorModule {
|
18
|
+
constructor() {
|
19
|
+
}
|
20
|
+
}
|
@@ -0,0 +1,165 @@
|
|
1
|
+
import { Directive, ViewContainerRef, ComponentFactoryResolver, Input, Output, EventEmitter, KeyValueDiffer, KeyValueDiffers } from '@angular/core';
|
2
|
+
import { AXProperyEditorComponent, AXProperyEditorValueChangeEvent, AXPropertyConfig } from './property-editor.class';
|
3
|
+
import { AXEventService, AXObjectUtil, AXRenderService, getPropByPath, setPropByPath } from '@acorex/core';
|
4
|
+
import { Subscription } from 'rxjs';
|
5
|
+
import { AXValidationFormComponent } from '../validation/validation-form.component';
|
6
|
+
|
7
|
+
@Directive({
|
8
|
+
selector: '[ax-property-editor-renderer]'
|
9
|
+
})
|
10
|
+
export class AXPropertyEditorRendererDirective {
|
11
|
+
private instance: AXProperyEditorComponent<any>;
|
12
|
+
|
13
|
+
@Input()
|
14
|
+
property: AXPropertyConfig;
|
15
|
+
|
16
|
+
@Input()
|
17
|
+
validationForm: AXValidationFormComponent;
|
18
|
+
|
19
|
+
private _context: any = {};
|
20
|
+
@Input()
|
21
|
+
public get context(): any {
|
22
|
+
return this._context;
|
23
|
+
}
|
24
|
+
public set context(v: any) {
|
25
|
+
this._context = v;
|
26
|
+
}
|
27
|
+
|
28
|
+
@Input()
|
29
|
+
host: any;
|
30
|
+
|
31
|
+
@Input()
|
32
|
+
groupId: any;
|
33
|
+
|
34
|
+
@Output()
|
35
|
+
onValueChange: EventEmitter<AXProperyEditorValueChangeEvent> = new EventEmitter<AXProperyEditorValueChangeEvent>();
|
36
|
+
|
37
|
+
private subscription: Subscription;
|
38
|
+
|
39
|
+
constructor(
|
40
|
+
private target: ViewContainerRef,
|
41
|
+
private componentFactoryResolver: ComponentFactoryResolver,
|
42
|
+
private renderService: AXRenderService,
|
43
|
+
private eventService: AXEventService
|
44
|
+
) {}
|
45
|
+
|
46
|
+
clear() {
|
47
|
+
if (this.instance?.value) {
|
48
|
+
this.instance.value = null;
|
49
|
+
}
|
50
|
+
}
|
51
|
+
|
52
|
+
ngOnInit(): void {
|
53
|
+
this.createComponent();
|
54
|
+
}
|
55
|
+
|
56
|
+
createComponent() {
|
57
|
+
this.renderService.findLoadedComponentByRoute(this.property.property.editorClass).then((c) => {
|
58
|
+
if (c) {
|
59
|
+
const factory = this.componentFactoryResolver.resolveComponentFactory(c.component);
|
60
|
+
const cmpRef = this.target.createComponent(factory);
|
61
|
+
this.instance = cmpRef.instance as AXProperyEditorComponent<any>;
|
62
|
+
this.subscription = this.instance.valueChange.subscribe((value) => {
|
63
|
+
this.property.value = value;
|
64
|
+
this.onValueChange.emit(this.property);
|
65
|
+
if (this.property?.property?.name) {
|
66
|
+
setTimeout(() => {
|
67
|
+
this.eventService.broadcast(`props-${this.groupId}-${this.property.property.name}`, this.property);
|
68
|
+
}, 0);
|
69
|
+
}
|
70
|
+
}) as any;
|
71
|
+
this.watchChanges();
|
72
|
+
this.assignProps();
|
73
|
+
this.instance.value = this.property.value;
|
74
|
+
|
75
|
+
// this.instance.onRenderCompleted.subscribe(() => {
|
76
|
+
|
77
|
+
// });
|
78
|
+
|
79
|
+
if (this.validationForm) {
|
80
|
+
this.instance.validatableComponentRegistered.subscribe((v) => {
|
81
|
+
this.validationForm.addWidget(v);
|
82
|
+
});
|
83
|
+
}
|
84
|
+
}
|
85
|
+
});
|
86
|
+
}
|
87
|
+
|
88
|
+
private watchChanges() {
|
89
|
+
const varsRegx = /((\$\{[a-zA-Z_0-9]+\})+)/gm;
|
90
|
+
const varNameRegx = /[a-zA-Z_0-9]+/gm;
|
91
|
+
const options = this.property.property.editorOptions;
|
92
|
+
if (!options) {
|
93
|
+
return;
|
94
|
+
}
|
95
|
+
for (const p in options) {
|
96
|
+
if (options.hasOwnProperty(p)) {
|
97
|
+
const opt = options[p];
|
98
|
+
const vars = typeof opt === 'string' ? opt?.match(varsRegx) : [];
|
99
|
+
// bind the props
|
100
|
+
if (vars?.length) {
|
101
|
+
vars.forEach((v) => {
|
102
|
+
const path = v.match(varNameRegx)?.length ? v.match(varNameRegx)[0] : null;
|
103
|
+
if (path) {
|
104
|
+
this.eventService.on(`props-${this.groupId}-${path}`, (e: AXPropertyConfig) => {
|
105
|
+
let execCode = opt.slice();
|
106
|
+
const params = {};
|
107
|
+
vars.forEach((vv) => {
|
108
|
+
const p2 = vv.match(varNameRegx)?.length ? vv.match(varNameRegx)[0] : null;
|
109
|
+
params[p2] = AXObjectUtil.deepCopy(this.context[p2]) || null;
|
110
|
+
execCode = execCode.replace(vv, `__params__.${p2}`);
|
111
|
+
});
|
112
|
+
|
113
|
+
const func = new Function('__params__', `try { return ${execCode}} catch(e){ return null; }`);
|
114
|
+
const val = func(params);
|
115
|
+
|
116
|
+
const keys = p.split('.');
|
117
|
+
const prop = Object.assign({}, this.instance[keys[0]]);
|
118
|
+
if (keys.length > 1) {
|
119
|
+
this.instance[keys[0]] = setPropByPath(prop, p, val);
|
120
|
+
} else {
|
121
|
+
setPropByPath(this.instance, p, val);
|
122
|
+
}
|
123
|
+
});
|
124
|
+
}
|
125
|
+
});
|
126
|
+
}
|
127
|
+
// else {
|
128
|
+
// this.assignProps();
|
129
|
+
// }
|
130
|
+
}
|
131
|
+
}
|
132
|
+
}
|
133
|
+
|
134
|
+
private assignProps() {
|
135
|
+
const options = this.property.property.editorOptions;
|
136
|
+
if (!options) {
|
137
|
+
return;
|
138
|
+
}
|
139
|
+
const varsRegx = /((\$\{[a-zA-Z_0-9]+\})+)/gm;
|
140
|
+
for (const p in options) {
|
141
|
+
if (options.hasOwnProperty(p)) {
|
142
|
+
const opt = options[p];
|
143
|
+
const vars = typeof opt === 'string' ? opt?.match(varsRegx) : [];
|
144
|
+
if (vars?.length) {
|
145
|
+
continue;
|
146
|
+
} else {
|
147
|
+
const val = typeof opt === 'function' ? opt({ data: this.context, host: this.host }, this.property) : opt;
|
148
|
+
if (val instanceof Promise) {
|
149
|
+
val.then((v) => {
|
150
|
+
setPropByPath(this.instance, p, val);
|
151
|
+
});
|
152
|
+
} else {
|
153
|
+
setPropByPath(this.instance, p, val);
|
154
|
+
}
|
155
|
+
}
|
156
|
+
}
|
157
|
+
}
|
158
|
+
}
|
159
|
+
|
160
|
+
ngOnDestroy() {
|
161
|
+
if (this.subscription) {
|
162
|
+
this.subscription.unsubscribe();
|
163
|
+
}
|
164
|
+
}
|
165
|
+
}
|
@@ -0,0 +1,178 @@
|
|
1
|
+
import { Input, Output, EventEmitter, ChangeDetectorRef, Directive } from '@angular/core';
|
2
|
+
import { Subject } from 'rxjs';
|
3
|
+
import { AXValidatableComponent } from '../base/element.class';
|
4
|
+
|
5
|
+
export type AXDataType = 'string' | 'number' | 'date' | 'boolean' | 'object';
|
6
|
+
export type AXControlType = 'textbox' | 'numberbox' | 'datePicker' | 'switch' | 'custom';
|
7
|
+
|
8
|
+
export interface AXPropertyDef {
|
9
|
+
name: string;
|
10
|
+
title: string;
|
11
|
+
hint?: string;
|
12
|
+
defaultValue?: any;
|
13
|
+
editorClass: any;
|
14
|
+
editorOptions?: any;
|
15
|
+
visible?: boolean | (() => boolean);
|
16
|
+
order?: number;
|
17
|
+
row?: number;
|
18
|
+
col?: number | AXPropertyColDef;
|
19
|
+
filterOptions?: FilterModel;
|
20
|
+
uniqueNumber?: number;
|
21
|
+
}
|
22
|
+
|
23
|
+
export interface FilterModel {
|
24
|
+
operator?: any;
|
25
|
+
filters?: FiltersModel[];
|
26
|
+
truncateDate?: boolean;
|
27
|
+
joinType?: string;
|
28
|
+
ignoreCase?: boolean;
|
29
|
+
logic?: 'and' | 'or';
|
30
|
+
advance?: boolean;
|
31
|
+
}
|
32
|
+
|
33
|
+
export interface FiltersModel {
|
34
|
+
name?: string;
|
35
|
+
value?: string;
|
36
|
+
field?: string;
|
37
|
+
filterOptions: FilterModel;
|
38
|
+
}
|
39
|
+
export interface AXPropertyColDef {
|
40
|
+
lg?: number;
|
41
|
+
md?: number;
|
42
|
+
sm?: number;
|
43
|
+
xs?: number;
|
44
|
+
}
|
45
|
+
|
46
|
+
export interface AXPropertyEditorDef {
|
47
|
+
title: string;
|
48
|
+
hint?: string;
|
49
|
+
defaultValue?: any;
|
50
|
+
editorClass: any;
|
51
|
+
editorOptions?: any;
|
52
|
+
visible?: boolean | (() => boolean);
|
53
|
+
order?: number;
|
54
|
+
}
|
55
|
+
|
56
|
+
export interface AXPropertyConfig {
|
57
|
+
property: AXPropertyDef;
|
58
|
+
value: any;
|
59
|
+
}
|
60
|
+
|
61
|
+
export interface AXProperyEditorValueChangeEvent {
|
62
|
+
property: AXPropertyDef;
|
63
|
+
value: any;
|
64
|
+
}
|
65
|
+
|
66
|
+
@Directive()
|
67
|
+
export abstract class AXProperyEditorComponent<T> {
|
68
|
+
readonly: boolean = false;
|
69
|
+
|
70
|
+
private _initiated: boolean = false;
|
71
|
+
private _valueBound: boolean = false;
|
72
|
+
|
73
|
+
public get initiated(): boolean {
|
74
|
+
return this._initiated && this._valueBound;
|
75
|
+
}
|
76
|
+
|
77
|
+
validatableComponentRegistered: Subject<AXValidatableComponent> = new Subject<AXValidatableComponent>();
|
78
|
+
|
79
|
+
registerForValidationForm(component?: AXValidatableComponent) {
|
80
|
+
this.validatableComponentRegistered.next(component);
|
81
|
+
}
|
82
|
+
|
83
|
+
@Output()
|
84
|
+
valueChange: EventEmitter<T> = new EventEmitter<T>();
|
85
|
+
|
86
|
+
@Output()
|
87
|
+
onRenderCompleted: EventEmitter<void> = new EventEmitter<void>();
|
88
|
+
|
89
|
+
private _value: T;
|
90
|
+
@Input()
|
91
|
+
public get value(): T {
|
92
|
+
return this._value;
|
93
|
+
}
|
94
|
+
|
95
|
+
public set value(v: T) {
|
96
|
+
if (v !== this._value) {
|
97
|
+
this._value = v;
|
98
|
+
this.valueChange.emit(v);
|
99
|
+
this.cdr.detectChanges();
|
100
|
+
//TODO: find better solution
|
101
|
+
setTimeout(() => {
|
102
|
+
this._valueBound = true;
|
103
|
+
}, 100);
|
104
|
+
}
|
105
|
+
}
|
106
|
+
|
107
|
+
constructor(protected cdr: ChangeDetectorRef) {
|
108
|
+
this.onRenderCompleted.subscribe(() => {
|
109
|
+
this._initiated = true;
|
110
|
+
});
|
111
|
+
}
|
112
|
+
|
113
|
+
uid: string;
|
114
|
+
|
115
|
+
handleValueChange(v: T) {
|
116
|
+
this.value = v;
|
117
|
+
}
|
118
|
+
}
|
119
|
+
|
120
|
+
export class AXPropertyDecorator {
|
121
|
+
cls: any;
|
122
|
+
property: string;
|
123
|
+
options: any;
|
124
|
+
|
125
|
+
constructor(cls: any, property: string, options: any) {
|
126
|
+
this.cls = cls;
|
127
|
+
this.property = property;
|
128
|
+
this.options = options;
|
129
|
+
}
|
130
|
+
}
|
131
|
+
|
132
|
+
// @dynamic
|
133
|
+
export class AXPropertyDecorators {
|
134
|
+
private static REGISTRY = new Array<AXPropertyDecorator>();
|
135
|
+
|
136
|
+
static register(cls: string, property: string, options?: any) {
|
137
|
+
const item = AXPropertyDecorators.REGISTRY.find((c) => c.cls === cls && c.property === property);
|
138
|
+
if (item) {
|
139
|
+
item.options = options;
|
140
|
+
} else {
|
141
|
+
AXPropertyDecorators.REGISTRY.push(new AXPropertyDecorator(cls, property, options));
|
142
|
+
}
|
143
|
+
}
|
144
|
+
|
145
|
+
static has(cls: string, property: string): boolean {
|
146
|
+
return AXPropertyDecorators.REGISTRY.some((c) => c.cls === cls && c.property === property);
|
147
|
+
}
|
148
|
+
|
149
|
+
static get(cls: string, property: string): AXPropertyDecorator {
|
150
|
+
return AXPropertyDecorators.REGISTRY.find((c) => c.cls === cls && c.property === property);
|
151
|
+
}
|
152
|
+
|
153
|
+
static isValid(property: string): boolean {
|
154
|
+
if (property) {
|
155
|
+
return AXPropertyDecorators.REGISTRY.some((c) => c.property === property);
|
156
|
+
}
|
157
|
+
return false;
|
158
|
+
}
|
159
|
+
|
160
|
+
static getProperties(target: any): AXPropertyDecorator[] {
|
161
|
+
const list: AXPropertyDecorator[] = [];
|
162
|
+
const p: any[] = Array<any>();
|
163
|
+
let superClass = Object.getPrototypeOf(target);
|
164
|
+
while (superClass.constructor.name !== 'Object') {
|
165
|
+
p.push(superClass.constructor);
|
166
|
+
superClass = Object.getPrototypeOf(superClass);
|
167
|
+
}
|
168
|
+
list.push(...AXPropertyDecorators.REGISTRY.filter((c) => p.includes(c.cls.constructor)));
|
169
|
+
return list;
|
170
|
+
}
|
171
|
+
}
|
172
|
+
|
173
|
+
export function propertyEditor(options: AXPropertyEditorDef) {
|
174
|
+
return (target: any, key: string) => {
|
175
|
+
(options as any).name = key;
|
176
|
+
AXPropertyDecorators.register(target, key, options);
|
177
|
+
};
|
178
|
+
}
|
@@ -0,0 +1,115 @@
|
|
1
|
+
import { NgModule } from '@angular/core';
|
2
|
+
import { RouterModule } from '@angular/router';
|
3
|
+
import { AXCheckBoxPropertyEditorComponent } from './editors/check-editor/check-editor';
|
4
|
+
import { AXCheckPropertyEditorModule } from './editors/check-editor/check.module';
|
5
|
+
import { AXColorPropertyEditorComponent } from './editors/color-editor/color.editor';
|
6
|
+
import { AXColorPropertyEditorModule } from './editors/color-editor/color.module';
|
7
|
+
import { ColumnPropertyEditorComponent } from './editors/column-editor/column.editor';
|
8
|
+
import { AXColumnPropertyEditorModule } from './editors/column-editor/column.module';
|
9
|
+
import { AXConditionalColorPropertyEditorComponent } from './editors/conditional-color-editor/conditional-color.editor';
|
10
|
+
import { AXConditionalColorPropertyEditorModule } from './editors/conditional-color-editor/conditional-color.module';
|
11
|
+
import { AXDatePropertyEditorComponent } from './editors/date-editor/date.editor';
|
12
|
+
import { AXDatePropertyEditorModule } from './editors/date-editor/date.module';
|
13
|
+
import { AXNumberBoxPropertyEditorComponent } from './editors/number-editor/number.editor';
|
14
|
+
import { AXNumberBoxPropertyEditorModule } from './editors/number-editor/number.module';
|
15
|
+
import { AXRangePropertyEditorComponent } from './editors/range-editor/range.editor';
|
16
|
+
import { AXRangePropertyEditorModule } from './editors/range-editor/range.module';
|
17
|
+
import { AXSearchBarSelectBoxEditorComponent } from './editors/searchbar-selectbox-editor/searchbar-selectbox-editor';
|
18
|
+
import { AXSelectBoxPropertyEditorComponent } from './editors/selectbox-editor/selectbox.editor';
|
19
|
+
import { AXSelectBoxPropertyEditorModule } from './editors/selectbox-editor/selectbox.module';
|
20
|
+
import { AXSelectionListPropertyEditorComponent } from './editors/selection-editor/selection-editor';
|
21
|
+
import { AXSelectionPropertyEditorModule } from './editors/selection-editor/selection.module';
|
22
|
+
import { AXSwitchPropertyEditorComponent } from './editors/switch-editor/number.editor';
|
23
|
+
import { AXSwitchPropertyEditorModule } from './editors/switch-editor/number.module';
|
24
|
+
import { AXTextPropertyEditorComponent } from './editors/text-editor/text.editor';
|
25
|
+
import { AXTextPropertyEditorModule } from './editors/text-editor/text.module';
|
26
|
+
import { AXTextareaPropertyEditorComponent } from './editors/textarea-editor/textarea.editor';
|
27
|
+
import { AXTextareaPropertyEditorModule } from './editors/textarea-editor/textarea.module';
|
28
|
+
import { AXTimePropertyEditorComponent } from './editors/time-editor/time.editor';
|
29
|
+
import { AXTimePropertyEditorModule } from './editors/time-editor/time.module';
|
30
|
+
import { AXPropertyEditorRendererDirective } from './property-editor-renderer.directive';
|
31
|
+
|
32
|
+
const WDIGET_MODULES = [
|
33
|
+
AXNumberBoxPropertyEditorModule,
|
34
|
+
AXTextPropertyEditorModule,
|
35
|
+
AXSelectBoxPropertyEditorModule,
|
36
|
+
AXRangePropertyEditorModule,
|
37
|
+
AXColorPropertyEditorModule,
|
38
|
+
AXConditionalColorPropertyEditorModule,
|
39
|
+
AXColumnPropertyEditorModule,
|
40
|
+
AXSwitchPropertyEditorModule,
|
41
|
+
AXDatePropertyEditorModule,
|
42
|
+
AXTimePropertyEditorModule,
|
43
|
+
AXTimePropertyEditorModule,
|
44
|
+
AXTextareaPropertyEditorModule,
|
45
|
+
AXCheckPropertyEditorModule,
|
46
|
+
AXSelectionPropertyEditorModule
|
47
|
+
];
|
48
|
+
|
49
|
+
@NgModule({
|
50
|
+
imports: [
|
51
|
+
WDIGET_MODULES,
|
52
|
+
RouterModule.forChild([
|
53
|
+
{
|
54
|
+
path: 'ax/editors/selection',
|
55
|
+
component: AXSelectionListPropertyEditorComponent
|
56
|
+
},
|
57
|
+
{
|
58
|
+
component: AXCheckBoxPropertyEditorComponent,
|
59
|
+
path: 'ax/editors/check'
|
60
|
+
},
|
61
|
+
{
|
62
|
+
component: AXTextPropertyEditorComponent,
|
63
|
+
path: 'ax/editors/text'
|
64
|
+
},
|
65
|
+
{
|
66
|
+
component: AXTextareaPropertyEditorComponent,
|
67
|
+
path: 'ax/editors/textarea'
|
68
|
+
},
|
69
|
+
{
|
70
|
+
component: AXSelectBoxPropertyEditorComponent,
|
71
|
+
path: 'ax/editors/select'
|
72
|
+
},
|
73
|
+
{
|
74
|
+
component: AXSearchBarSelectBoxEditorComponent,
|
75
|
+
path: 'ax/editors/selectBox'
|
76
|
+
},
|
77
|
+
{
|
78
|
+
component: AXNumberBoxPropertyEditorComponent,
|
79
|
+
path: 'ax/editors/number'
|
80
|
+
},
|
81
|
+
{
|
82
|
+
component: AXRangePropertyEditorComponent,
|
83
|
+
path: 'ax/editors/range'
|
84
|
+
},
|
85
|
+
{
|
86
|
+
component: AXConditionalColorPropertyEditorComponent,
|
87
|
+
path: 'ax/editors/conditional-color'
|
88
|
+
},
|
89
|
+
{
|
90
|
+
component: AXColorPropertyEditorComponent,
|
91
|
+
path: 'ax/editors/color'
|
92
|
+
},
|
93
|
+
{
|
94
|
+
component: AXSwitchPropertyEditorComponent,
|
95
|
+
path: 'ax/editors/switch'
|
96
|
+
},
|
97
|
+
{
|
98
|
+
component: ColumnPropertyEditorComponent,
|
99
|
+
path: 'ax/editors/column'
|
100
|
+
},
|
101
|
+
{
|
102
|
+
component: AXDatePropertyEditorComponent,
|
103
|
+
path: 'ax/editors/date'
|
104
|
+
},
|
105
|
+
{
|
106
|
+
component: AXTimePropertyEditorComponent,
|
107
|
+
path: 'ax/editors/time'
|
108
|
+
}
|
109
|
+
])
|
110
|
+
],
|
111
|
+
exports: [AXPropertyEditorRendererDirective],
|
112
|
+
declarations: [AXPropertyEditorRendererDirective],
|
113
|
+
providers: []
|
114
|
+
})
|
115
|
+
export class AXProppertyEditorModule {}
|
@@ -0,0 +1,68 @@
|
|
1
|
+
<div class="header">
|
2
|
+
<div class="condition" *ngIf="parent">
|
3
|
+
<div class="text {{parent.condition}}">
|
4
|
+
<span>{{parent.condition }}</span>
|
5
|
+
</div>
|
6
|
+
</div>
|
7
|
+
<div class="handler">
|
8
|
+
<i class="far fa-grip-lines-vertical"></i>
|
9
|
+
</div>
|
10
|
+
|
11
|
+
<div class="detail {{group.condition}}" (click)="changeDetailMode()">
|
12
|
+
<div class="collapsed" *ngIf="collapsed;else expandedTemplate">
|
13
|
+
{{group.queryString}}
|
14
|
+
</div>
|
15
|
+
<ng-template #expandedTemplate>
|
16
|
+
<div class="expanded">
|
17
|
+
<strong>{{group.condition == 'OR' ? 'یکی از' : 'همه' }} <span>شرایط زیر برقرار باشد</span> </strong>
|
18
|
+
</div>
|
19
|
+
</ng-template>
|
20
|
+
</div>
|
21
|
+
<div class="buttons-list">
|
22
|
+
<div class="button remove" *ngIf="parent && mode=='new'" (click)="handleRemoveClick()">
|
23
|
+
<i class="far fa-times ax-danger-color"></i>
|
24
|
+
</div>
|
25
|
+
<div class="button edit" *ngIf="mode=='new'" (click)="handleChangeClick()">
|
26
|
+
<i class="far fa-retweet ax-danger-color"></i>
|
27
|
+
</div>
|
28
|
+
</div>
|
29
|
+
</div>
|
30
|
+
<div class="rules" *ngIf="!collapsed">
|
31
|
+
<!-- <ax-validation-form #form> -->
|
32
|
+
|
33
|
+
<div *ngFor="let item of group.items" class="group-item">
|
34
|
+
<ng-container *ngIf="item.condition;else ruleTemplate">
|
35
|
+
<ax-query-group (groupRuleChanged)="ruleChanged($event)" [mode]="mode" [group]="item" [fields]="fields"
|
36
|
+
[parent]="group">
|
37
|
+
</ax-query-group>
|
38
|
+
</ng-container>
|
39
|
+
<ng-template #ruleTemplate>
|
40
|
+
<ax-query-rule #queryRule (ruleChanged)="ruleChanged($event)" [mode]="mode"
|
41
|
+
(onRuleDelete)="ruleDelete($event)" [rule]="item" [fields]="fields" [parent]="group">
|
42
|
+
</ax-query-rule>
|
43
|
+
</ng-template>
|
44
|
+
</div>
|
45
|
+
<!-- </ax-validation-form> -->
|
46
|
+
<div class="group-item" *ngIf="mode=='new'">
|
47
|
+
<div class="ax-query-rule">
|
48
|
+
<div class="condition">
|
49
|
+
</div>
|
50
|
+
<div class="handler">
|
51
|
+
<i class="far fa-grip-lines-vertical"></i>
|
52
|
+
</div>
|
53
|
+
<div class="add-rule" (click)="addRule()" *ngIf="mode=='new'">
|
54
|
+
<i class="far fa-plus"></i> <span>شرط</span>
|
55
|
+
</div>
|
56
|
+
<div class="add-group" (click)="addGroup()" *ngIf="!showGroupCondition && mode=='new'">
|
57
|
+
<i class="far fa-plus"></i> <span>گروه</span>
|
58
|
+
</div>
|
59
|
+
<div *ngIf="showGroupCondition && mode=='new'" class="add-condition OR" (click)="addGroupOR()">
|
60
|
+
<i class="far fa-plus"></i> <span>OR</span>
|
61
|
+
</div>
|
62
|
+
<div *ngIf="showGroupCondition && mode=='new'" class="add-condition AND" (click)="addGroupAND()">
|
63
|
+
<i class="far fa-plus"></i> <span>AND</span>
|
64
|
+
</div>
|
65
|
+
|
66
|
+
</div>
|
67
|
+
</div>
|
68
|
+
</div>
|
@@ -0,0 +1,122 @@
|
|
1
|
+
import { Component, OnInit, Input, ViewEncapsulation, Output, EventEmitter, ViewChild } from '@angular/core';
|
2
|
+
import { AXValidationFormComponent } from '../validation/validation-form.component';
|
3
|
+
import { AXQueryBuilderRuleComponent } from './query-builder-rule.component';
|
4
|
+
import { AXQueryBuilderGroup, AXQueryBuilderGroupEvent, AXQueryBuilderRuleEvent, AXQueryBuilderRule } from './query-builder.class';
|
5
|
+
import { AXQueryBuilderService } from './query-builder.service';
|
6
|
+
@Component({
|
7
|
+
selector: 'ax-query-group',
|
8
|
+
templateUrl: 'query-builder-group.component.html',
|
9
|
+
host: { class: 'ax ax-query-group' },
|
10
|
+
encapsulation: ViewEncapsulation.None
|
11
|
+
})
|
12
|
+
export class AXQueryBuilderGroupComponent implements OnInit {
|
13
|
+
@ViewChild('queryRule') queryRule: AXQueryBuilderRuleComponent;
|
14
|
+
@ViewChild(AXValidationFormComponent) form: AXValidationFormComponent;
|
15
|
+
@Input()
|
16
|
+
group: AXQueryBuilderGroup;
|
17
|
+
|
18
|
+
collapsed: boolean = false;
|
19
|
+
|
20
|
+
@Input()
|
21
|
+
parent: AXQueryBuilderGroup;
|
22
|
+
|
23
|
+
@Input()
|
24
|
+
fields: any[] = [];
|
25
|
+
|
26
|
+
@Input()
|
27
|
+
mode: 'new' | 'edit' = 'new';
|
28
|
+
|
29
|
+
//ruleIsEditing: boolean = true;
|
30
|
+
|
31
|
+
@Output()
|
32
|
+
groupRuleChanged: EventEmitter<AXQueryBuilderGroupEvent> = new EventEmitter<AXQueryBuilderGroupEvent>();
|
33
|
+
|
34
|
+
showGroupCondition: boolean = false;
|
35
|
+
|
36
|
+
constructor(private qs: AXQueryBuilderService) {}
|
37
|
+
|
38
|
+
ngOnInit() {}
|
39
|
+
|
40
|
+
ruleDelete(e: AXQueryBuilderRuleEvent) {
|
41
|
+
this.group.items = this.group.items.filter((c) => c !== e.items);
|
42
|
+
this.ruleChanged(null);
|
43
|
+
}
|
44
|
+
handleRemoveClick() {
|
45
|
+
this.parent.items = this.parent.items.filter((c) => c !== this.group);
|
46
|
+
this.groupRuleChanged.emit({ groups: this.group, component: this });
|
47
|
+
}
|
48
|
+
saveRule() {
|
49
|
+
// this.form.validate().then(c => {
|
50
|
+
// });
|
51
|
+
// return this.queryRule.saveRule();
|
52
|
+
}
|
53
|
+
addRule() {
|
54
|
+
const item: AXQueryBuilderRule = new AXQueryBuilderRule();
|
55
|
+
if (this.fields.length > 0) {
|
56
|
+
// item.caption = this.fields[0].caption;
|
57
|
+
// item.dataType = this.fields[0].dataType;
|
58
|
+
// item.dataField = this.fields[0].dataField;
|
59
|
+
} else {
|
60
|
+
}
|
61
|
+
item.operator = 'equal';
|
62
|
+
|
63
|
+
if (item.dataType === 'string') {
|
64
|
+
item.value = '';
|
65
|
+
}
|
66
|
+
if (item.dataType === 'number') {
|
67
|
+
item.value = 0;
|
68
|
+
}
|
69
|
+
|
70
|
+
if (this.group.items == undefined) {
|
71
|
+
this.group.items = [];
|
72
|
+
}
|
73
|
+
this.group.items.push(item);
|
74
|
+
this.ruleChanged(null);
|
75
|
+
}
|
76
|
+
addGroup() {
|
77
|
+
this.showGroupCondition = true;
|
78
|
+
}
|
79
|
+
addGroupOR() {
|
80
|
+
this.makeGroup('OR');
|
81
|
+
}
|
82
|
+
addGroupAND() {
|
83
|
+
this.makeGroup('AND');
|
84
|
+
}
|
85
|
+
makeGroup(_condition) {
|
86
|
+
let r: AXQueryBuilderGroup = new AXQueryBuilderGroup();
|
87
|
+
r.condition = _condition;
|
88
|
+
r.items = [];
|
89
|
+
r.queryString = '';
|
90
|
+
if (this.group.items == undefined) {
|
91
|
+
this.group.items = [];
|
92
|
+
}
|
93
|
+
this.group.items.push(r);
|
94
|
+
this.showGroupCondition = false;
|
95
|
+
this.ruleChanged(null);
|
96
|
+
}
|
97
|
+
changeDetailMode() {
|
98
|
+
//if (this.parent) {
|
99
|
+
this.collapsed = !this.collapsed;
|
100
|
+
// this.ruleIsEditing = false;
|
101
|
+
//}
|
102
|
+
}
|
103
|
+
|
104
|
+
handleChangeClick() {
|
105
|
+
if (this.group.condition == 'OR') {
|
106
|
+
this.group.condition = 'AND';
|
107
|
+
} else {
|
108
|
+
this.group.condition = 'OR';
|
109
|
+
}
|
110
|
+
this.ruleChanged(null);
|
111
|
+
}
|
112
|
+
|
113
|
+
ruleChanged(e) {
|
114
|
+
;
|
115
|
+
// this.group.queryString = this.qs.getQueryString(this.group, 'simple');
|
116
|
+
this.qs.getQueryStringSimple(this.group).then((c) => {
|
117
|
+
this.group.queryString = c;
|
118
|
+
this.group.queryStringElastic = this.qs.getQueryString(this.group, 'elastic');
|
119
|
+
this.groupRuleChanged.emit({ groups: this.group, component: this });
|
120
|
+
});
|
121
|
+
}
|
122
|
+
}
|