@acorex/components 5.1.2 → 5.1.6
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/README.md +2 -23
- package/karma.conf.js +32 -0
- package/ng-package.json +10 -0
- package/package.json +13 -35
- 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/src/lib/calendar/scheduler/scheduler.class.ts +50 -0
- 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/src/lib/data-source/read-param.ts +50 -0
- 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 +110 -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 +117 -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 +173 -0
- package/src/lib/popup/popup.component.ts +182 -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 +31 -0
- package/src/lib/search-bar/search-bar.component.scss +24 -0
- package/src/lib/search-bar/search-bar.component.ts +250 -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 +45 -0
- package/src/lib/tree-view/tree-view.component.ts +781 -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 +189 -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/src/public-api.ts +214 -0
- 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/action-sheet/action-sheet-item.component.mjs +0 -37
- package/esm2020/lib/action-sheet/action-sheet.component.mjs +0 -87
- package/esm2020/lib/action-sheet/action-sheet.module.mjs +0 -22
- package/esm2020/lib/action-sheet/index.mjs +0 -4
- package/esm2020/lib/alert/alert-button.component.mjs +0 -51
- package/esm2020/lib/alert/alert-content.component.mjs +0 -21
- package/esm2020/lib/alert/alert-footer.component.mjs +0 -27
- package/esm2020/lib/alert/alert-suffix.component.mjs +0 -27
- package/esm2020/lib/alert/alert-title.component.mjs +0 -23
- package/esm2020/lib/alert/alert.component.mjs +0 -123
- package/esm2020/lib/alert/alert.module.mjs +0 -44
- package/esm2020/lib/alert/index.mjs +0 -8
- package/esm2020/lib/avatar/avatar-group.component.mjs +0 -17
- package/esm2020/lib/avatar/avatar.component.mjs +0 -42
- package/esm2020/lib/avatar/avatar.module.mjs +0 -22
- package/esm2020/lib/avatar/index.mjs +0 -4
- package/esm2020/lib/badge/badge.component.mjs +0 -28
- package/esm2020/lib/badge/badge.module.mjs +0 -21
- package/esm2020/lib/badge/index.mjs +0 -3
- package/esm2020/lib/base/common.module.mjs +0 -19
- package/esm2020/lib/base/custom-cdk-overlay.service.mjs +0 -47
- package/esm2020/lib/base/drawing.class.mjs +0 -11
- package/esm2020/lib/base/events.class.mjs +0 -58
- package/esm2020/lib/base/index.mjs +0 -8
- package/esm2020/lib/base/infinite-scroll.directive.mjs +0 -63
- package/esm2020/lib/base/mixin/base-components.class.mjs +0 -100
- package/esm2020/lib/base/mixin/base-menu-mixin.class.mjs +0 -135
- package/esm2020/lib/base/mixin/button-mixin.class.mjs +0 -91
- package/esm2020/lib/base/mixin/clickable-mixin.class.mjs +0 -24
- package/esm2020/lib/base/mixin/color-look-mixing.class.mjs +0 -48
- package/esm2020/lib/base/mixin/constratctor.mjs +0 -2
- package/esm2020/lib/base/mixin/datalist-component.class.mjs +0 -145
- package/esm2020/lib/base/mixin/datalist.class.mjs +0 -3
- package/esm2020/lib/base/mixin/dropdown-mixin.class.mjs +0 -102
- package/esm2020/lib/base/mixin/index.mjs +0 -3
- package/esm2020/lib/base/mixin/interactive-mixin.class.mjs +0 -83
- package/esm2020/lib/base/mixin/loading-mixin.class.mjs +0 -18
- package/esm2020/lib/base/mixin/mixin.class.mjs +0 -27
- package/esm2020/lib/base/mixin/selection-component.class.mjs +0 -181
- package/esm2020/lib/base/mixin/sizable-mixin.class.mjs +0 -18
- package/esm2020/lib/base/mixin/textbox-mixin.class.mjs +0 -34
- package/esm2020/lib/base/mixin/value-mixin.class.mjs +0 -209
- package/esm2020/lib/base/overlay.service.mjs +0 -91
- package/esm2020/lib/base/responsive.directive.mjs +0 -34
- package/esm2020/lib/base/styles.class.mjs +0 -4
- package/esm2020/lib/breadcrumbs/breadcrumbs-item.class.mjs +0 -2
- package/esm2020/lib/breadcrumbs/breadcrumbs-item.component.mjs +0 -20
- package/esm2020/lib/breadcrumbs/breadcrumbs.component.mjs +0 -18
- package/esm2020/lib/breadcrumbs/breadcrumbs.module.mjs +0 -20
- package/esm2020/lib/breadcrumbs/index.mjs +0 -5
- package/esm2020/lib/button/button-group.component.mjs +0 -124
- package/esm2020/lib/button/button-item.class.mjs +0 -2
- package/esm2020/lib/button/button-item.component.mjs +0 -80
- package/esm2020/lib/button/button.component.mjs +0 -63
- package/esm2020/lib/button/button.module.mjs +0 -33
- package/esm2020/lib/button/index.mjs +0 -6
- package/esm2020/lib/calendar/calendar.class.mjs +0 -126
- package/esm2020/lib/calendar/calendar.component.mjs +0 -279
- package/esm2020/lib/calendar/calendar.module.mjs +0 -25
- package/esm2020/lib/calendar/index.mjs +0 -3
- package/esm2020/lib/carousel/carousel-arrows.component.mjs +0 -54
- package/esm2020/lib/carousel/carousel-item.component.mjs +0 -21
- package/esm2020/lib/carousel/carousel-pager.component.mjs +0 -74
- package/esm2020/lib/carousel/carousel-splidejs.class.mjs +0 -88
- package/esm2020/lib/carousel/carousel.class.mjs +0 -10
- package/esm2020/lib/carousel/carousel.component.mjs +0 -389
- package/esm2020/lib/carousel/carousel.module.mjs +0 -24
- package/esm2020/lib/carousel/index.mjs +0 -7
- package/esm2020/lib/checkbox/checkbox.component.mjs +0 -41
- package/esm2020/lib/checkbox/checkbox.module.mjs +0 -21
- package/esm2020/lib/checkbox/index.mjs +0 -3
- package/esm2020/lib/collapse/collapse-group.component.mjs +0 -46
- package/esm2020/lib/collapse/collapse.component.mjs +0 -43
- package/esm2020/lib/collapse/collapse.module.mjs +0 -20
- package/esm2020/lib/collapse/index.mjs +0 -4
- package/esm2020/lib/datalist/datalist.component.mjs +0 -75
- package/esm2020/lib/datalist/datalist.module.mjs +0 -24
- package/esm2020/lib/datalist/index.mjs +0 -3
- package/esm2020/lib/datepicker/datepicker.component.mjs +0 -178
- package/esm2020/lib/datepicker/datepicker.module.mjs +0 -47
- package/esm2020/lib/datepicker/index.mjs +0 -3
- package/esm2020/lib/decorators/addon.component.mjs +0 -20
- package/esm2020/lib/decorators/content.component.mjs +0 -26
- package/esm2020/lib/decorators/decorators.module.mjs +0 -25
- package/esm2020/lib/decorators/header.component.mjs +0 -26
- package/esm2020/lib/decorators/index.mjs +0 -8
- package/esm2020/lib/decorators/prefix.component.mjs +0 -26
- package/esm2020/lib/decorators/suffix.component.mjs +0 -26
- package/esm2020/lib/dialog/dialog.class.mjs +0 -2
- package/esm2020/lib/dialog/dialog.component.mjs +0 -40
- package/esm2020/lib/dialog/dialog.module.mjs +0 -26
- package/esm2020/lib/dialog/dialog.service.mjs +0 -144
- package/esm2020/lib/dialog/index.mjs +0 -5
- package/esm2020/lib/drawer/drawer-container.component.mjs +0 -83
- package/esm2020/lib/drawer/drawer-content.component.mjs +0 -27
- package/esm2020/lib/drawer/drawer.component.mjs +0 -172
- package/esm2020/lib/drawer/drawer.module.mjs +0 -23
- package/esm2020/lib/drawer/index.mjs +0 -5
- package/esm2020/lib/dropdown/dropdown-panel.component.mjs +0 -80
- package/esm2020/lib/dropdown/dropdown.module.mjs +0 -24
- package/esm2020/lib/dropdown/index.mjs +0 -3
- package/esm2020/lib/form/form-field.component.mjs +0 -20
- package/esm2020/lib/form/form-field.module.mjs +0 -21
- package/esm2020/lib/form/form-hint.component.mjs +0 -20
- package/esm2020/lib/form/form.component.mjs +0 -59
- package/esm2020/lib/form/index.mjs +0 -5
- package/esm2020/lib/icon/icon.component.mjs +0 -28
- package/esm2020/lib/icon/icon.module.mjs +0 -21
- package/esm2020/lib/icon/index.mjs +0 -3
- package/esm2020/lib/input-mask/index.mjs +0 -3
- package/esm2020/lib/input-mask/input-mask.component.mjs +0 -56
- package/esm2020/lib/input-mask/input-mask.module.mjs +0 -24
- package/esm2020/lib/label/index.mjs +0 -3
- package/esm2020/lib/label/label.component.mjs +0 -25
- package/esm2020/lib/label/label.module.mjs +0 -21
- package/esm2020/lib/loading/index.mjs +0 -6
- package/esm2020/lib/loading/loading-spinner.component.mjs +0 -35
- package/esm2020/lib/loading/loading.component.mjs +0 -62
- package/esm2020/lib/loading/loading.directive.mjs +0 -67
- package/esm2020/lib/loading/loading.module.mjs +0 -35
- package/esm2020/lib/loading/loading.service.mjs +0 -154
- package/esm2020/lib/menu/index.mjs +0 -3
- package/esm2020/lib/menu/menu.component.mjs +0 -76
- package/esm2020/lib/menu/menu.module.mjs +0 -24
- package/esm2020/lib/number-box/index.mjs +0 -3
- package/esm2020/lib/number-box/number-box.component.mjs +0 -221
- package/esm2020/lib/number-box/number-box.module.mjs +0 -38
- package/esm2020/lib/page/base-page.class.mjs +0 -86
- package/esm2020/lib/page/index.mjs +0 -6
- package/esm2020/lib/page/page-footer.component.mjs +0 -28
- package/esm2020/lib/page/page-header.component.mjs +0 -28
- package/esm2020/lib/page/page.component.mjs +0 -58
- package/esm2020/lib/page/page.module.mjs +0 -19
- package/esm2020/lib/password-box/index.mjs +0 -3
- package/esm2020/lib/password-box/password-box.component.mjs +0 -59
- package/esm2020/lib/password-box/password-box.module.mjs +0 -35
- package/esm2020/lib/picker/index.mjs +0 -3
- package/esm2020/lib/picker/picker.component.mjs +0 -24
- package/esm2020/lib/picker/picker.module.mjs +0 -20
- package/esm2020/lib/popover/index.mjs +0 -3
- package/esm2020/lib/popover/popover.component.mjs +0 -231
- package/esm2020/lib/popover/popover.module.mjs +0 -19
- package/esm2020/lib/popup/index.mjs +0 -4
- package/esm2020/lib/popup/popup.component.mjs +0 -122
- package/esm2020/lib/popup/popup.module.mjs +0 -25
- package/esm2020/lib/popup/popup.service.mjs +0 -95
- package/esm2020/lib/progress-bar/index.mjs +0 -3
- package/esm2020/lib/progress-bar/progress-bar.component.mjs +0 -34
- package/esm2020/lib/progress-bar/progress-bar.module.mjs +0 -19
- package/esm2020/lib/radio/index.mjs +0 -3
- package/esm2020/lib/radio/radio.component.mjs +0 -34
- package/esm2020/lib/radio/radio.module.mjs +0 -22
- package/esm2020/lib/range-slider/index.mjs +0 -3
- package/esm2020/lib/range-slider/range-slider.component.mjs +0 -16
- package/esm2020/lib/range-slider/range-slider.module.mjs +0 -21
- package/esm2020/lib/rating/index.mjs +0 -3
- package/esm2020/lib/rating/rating.component.mjs +0 -41
- package/esm2020/lib/rating/rating.component.module.mjs +0 -19
- package/esm2020/lib/result/index.mjs +0 -3
- package/esm2020/lib/result/result.component.mjs +0 -23
- package/esm2020/lib/result/result.module.mjs +0 -19
- package/esm2020/lib/selectbox/index.mjs +0 -3
- package/esm2020/lib/selectbox/selectbox.component.mjs +0 -322
- package/esm2020/lib/selectbox/selectbox.module.mjs +0 -69
- package/esm2020/lib/selection-list/index.mjs +0 -3
- package/esm2020/lib/selection-list/selection-list.component.mjs +0 -50
- package/esm2020/lib/selection-list/selection-list.module.mjs +0 -24
- package/esm2020/lib/switch/index.mjs +0 -3
- package/esm2020/lib/switch/switch.component.mjs +0 -33
- package/esm2020/lib/switch/switch.module.mjs +0 -21
- package/esm2020/lib/tabs/index.mjs +0 -6
- package/esm2020/lib/tabs/tab-content.directive.mjs +0 -29
- package/esm2020/lib/tabs/tab-item.component.mjs +0 -121
- package/esm2020/lib/tabs/tabs.class.mjs +0 -4
- package/esm2020/lib/tabs/tabs.component.mjs +0 -95
- package/esm2020/lib/tabs/tabs.module.mjs +0 -25
- package/esm2020/lib/textarea/index.mjs +0 -3
- package/esm2020/lib/textarea/textarea.component.mjs +0 -25
- package/esm2020/lib/textarea/textarea.module.mjs +0 -26
- package/esm2020/lib/textbox/index.mjs +0 -3
- package/esm2020/lib/textbox/textbox.component.mjs +0 -27
- package/esm2020/lib/textbox/textbox.module.mjs +0 -43
- package/esm2020/lib/time-box/index.mjs +0 -3
- package/esm2020/lib/time-box/time-box.component.mjs +0 -262
- package/esm2020/lib/time-box/time-box.module.mjs +0 -32
- package/esm2020/lib/toast/index.mjs +0 -5
- package/esm2020/lib/toast/toast.class.mjs +0 -2
- package/esm2020/lib/toast/toast.component.mjs +0 -52
- package/esm2020/lib/toast/toast.module.mjs +0 -22
- package/esm2020/lib/toast/toast.service.mjs +0 -114
- package/esm2020/lib/tooltip/index.mjs +0 -4
- package/esm2020/lib/tooltip/tooltip.component.mjs +0 -38
- package/esm2020/lib/tooltip/tooltip.directive.mjs +0 -86
- package/esm2020/lib/tooltip/tooltip.module.mjs +0 -23
- package/esm2020/lib/treeview/index.mjs +0 -3
- package/esm2020/lib/treeview/tree-view.component.mjs +0 -108
- package/esm2020/lib/treeview/tree-view.module.mjs +0 -20
- package/esm2020/lib/validation/index.mjs +0 -3
- package/esm2020/lib/validation/validation-rule.widget.mjs +0 -113
- package/esm2020/lib/validation/validation.class.mjs +0 -2
- package/esm2020/lib/validation/validation.module.mjs +0 -32
- package/esm2020/public-api.mjs +0 -51
- package/fesm2015/acorex-components.mjs +0 -8045
- package/fesm2015/acorex-components.mjs.map +0 -1
- package/fesm2020/acorex-components.mjs +0 -8012
- package/fesm2020/acorex-components.mjs.map +0 -1
- package/lib/action-sheet/action-sheet-item.component.d.ts +0 -15
- package/lib/action-sheet/action-sheet.component.d.ts +0 -19
- package/lib/action-sheet/action-sheet.module.d.ts +0 -11
- package/lib/action-sheet/index.d.ts +0 -3
- package/lib/alert/alert-button.component.d.ts +0 -13
- package/lib/alert/alert-content.component.d.ts +0 -5
- package/lib/alert/alert-footer.component.d.ts +0 -5
- package/lib/alert/alert-suffix.component.d.ts +0 -5
- package/lib/alert/alert-title.component.d.ts +0 -5
- package/lib/alert/alert.component.d.ts +0 -75
- package/lib/alert/alert.module.d.ts +0 -14
- package/lib/alert/index.d.ts +0 -7
- package/lib/avatar/avatar-group.component.d.ts +0 -8
- package/lib/avatar/avatar.component.d.ts +0 -22
- package/lib/avatar/avatar.module.d.ts +0 -9
- package/lib/avatar/index.d.ts +0 -3
- package/lib/badge/badge.component.d.ts +0 -41
- package/lib/badge/badge.module.d.ts +0 -8
- package/lib/badge/index.d.ts +0 -2
- package/lib/base/common.module.d.ts +0 -8
- package/lib/base/custom-cdk-overlay.service.d.ts +0 -19
- package/lib/base/drawing.class.d.ts +0 -9
- package/lib/base/events.class.d.ts +0 -85
- package/lib/base/index.d.ts +0 -7
- package/lib/base/infinite-scroll.directive.d.ts +0 -25
- package/lib/base/mixin/base-components.class.d.ts +0 -85
- package/lib/base/mixin/base-menu-mixin.class.d.ts +0 -51
- package/lib/base/mixin/button-mixin.class.d.ts +0 -63
- package/lib/base/mixin/clickable-mixin.class.d.ts +0 -35
- package/lib/base/mixin/color-look-mixing.class.d.ts +0 -43
- package/lib/base/mixin/constratctor.d.ts +0 -4
- package/lib/base/mixin/datalist-component.class.d.ts +0 -57
- package/lib/base/mixin/datalist.class.d.ts +0 -11
- package/lib/base/mixin/dropdown-mixin.class.d.ts +0 -48
- package/lib/base/mixin/index.d.ts +0 -2
- package/lib/base/mixin/interactive-mixin.class.d.ts +0 -59
- package/lib/base/mixin/loading-mixin.class.d.ts +0 -39
- package/lib/base/mixin/mixin.class.d.ts +0 -686
- package/lib/base/mixin/selection-component.class.d.ts +0 -60
- package/lib/base/mixin/sizable-mixin.class.d.ts +0 -33
- package/lib/base/mixin/textbox-mixin.class.d.ts +0 -56
- package/lib/base/mixin/value-mixin.class.d.ts +0 -64
- package/lib/base/overlay.service.d.ts +0 -31
- package/lib/base/responsive.directive.d.ts +0 -10
- package/lib/base/styles.class.d.ts +0 -17
- package/lib/breadcrumbs/breadcrumbs-item.class.d.ts +0 -9
- package/lib/breadcrumbs/breadcrumbs-item.component.d.ts +0 -12
- package/lib/breadcrumbs/breadcrumbs.component.d.ts +0 -11
- package/lib/breadcrumbs/breadcrumbs.module.d.ts +0 -9
- package/lib/breadcrumbs/index.d.ts +0 -4
- package/lib/button/button-group.component.d.ts +0 -36
- package/lib/button/button-item.class.d.ts +0 -22
- package/lib/button/button-item.component.d.ts +0 -79
- package/lib/button/button.component.d.ts +0 -21
- package/lib/button/button.module.d.ts +0 -12
- package/lib/button/index.d.ts +0 -5
- package/lib/calendar/calendar.class.d.ts +0 -50
- package/lib/calendar/calendar.component.d.ts +0 -41
- package/lib/calendar/calendar.module.d.ts +0 -12
- package/lib/calendar/index.d.ts +0 -2
- package/lib/carousel/carousel-arrows.component.d.ts +0 -14
- package/lib/carousel/carousel-item.component.d.ts +0 -8
- package/lib/carousel/carousel-pager.component.d.ts +0 -22
- package/lib/carousel/carousel-splidejs.class.d.ts +0 -18
- package/lib/carousel/carousel.class.d.ts +0 -66
- package/lib/carousel/carousel.component.d.ts +0 -98
- package/lib/carousel/carousel.module.d.ts +0 -11
- package/lib/carousel/index.d.ts +0 -6
- package/lib/checkbox/checkbox.component.d.ts +0 -11
- package/lib/checkbox/checkbox.module.d.ts +0 -10
- package/lib/checkbox/index.d.ts +0 -2
- package/lib/collapse/collapse-group.component.d.ts +0 -14
- package/lib/collapse/collapse.component.d.ts +0 -17
- package/lib/collapse/collapse.module.d.ts +0 -9
- package/lib/collapse/index.d.ts +0 -3
- package/lib/datalist/datalist.component.d.ts +0 -25
- package/lib/datalist/datalist.module.d.ts +0 -11
- package/lib/datalist/index.d.ts +0 -2
- package/lib/datepicker/datepicker.component.d.ts +0 -150
- package/lib/datepicker/datepicker.module.d.ts +0 -16
- package/lib/datepicker/index.d.ts +0 -2
- package/lib/decorators/addon.component.d.ts +0 -8
- package/lib/decorators/content.component.d.ts +0 -8
- package/lib/decorators/decorators.module.d.ts +0 -12
- package/lib/decorators/header.component.d.ts +0 -8
- package/lib/decorators/index.d.ts +0 -7
- package/lib/decorators/prefix.component.d.ts +0 -8
- package/lib/decorators/suffix.component.d.ts +0 -8
- package/lib/dialog/dialog.class.d.ts +0 -12
- package/lib/dialog/dialog.component.d.ts +0 -15
- package/lib/dialog/dialog.module.d.ts +0 -13
- package/lib/dialog/dialog.service.d.ts +0 -36
- package/lib/dialog/index.d.ts +0 -4
- package/lib/drawer/drawer-container.component.d.ts +0 -13
- package/lib/drawer/drawer-content.component.d.ts +0 -8
- package/lib/drawer/drawer.component.d.ts +0 -33
- package/lib/drawer/drawer.module.d.ts +0 -10
- package/lib/drawer/index.d.ts +0 -4
- package/lib/dropdown/dropdown-panel.component.d.ts +0 -27
- package/lib/dropdown/dropdown.module.d.ts +0 -13
- package/lib/dropdown/index.d.ts +0 -2
- package/lib/form/form-field.component.d.ts +0 -8
- package/lib/form/form-field.module.d.ts +0 -10
- package/lib/form/form-hint.component.d.ts +0 -8
- package/lib/form/form.component.d.ts +0 -21
- package/lib/form/index.d.ts +0 -4
- package/lib/icon/icon.component.d.ts +0 -10
- package/lib/icon/icon.module.d.ts +0 -8
- package/lib/icon/index.d.ts +0 -2
- package/lib/input-mask/index.d.ts +0 -2
- package/lib/input-mask/input-mask.component.d.ts +0 -25
- package/lib/input-mask/input-mask.module.d.ts +0 -10
- package/lib/label/index.d.ts +0 -2
- package/lib/label/label.component.d.ts +0 -12
- package/lib/label/label.module.d.ts +0 -8
- package/lib/loading/index.d.ts +0 -5
- package/lib/loading/loading-spinner.component.d.ts +0 -6
- package/lib/loading/loading.component.d.ts +0 -21
- package/lib/loading/loading.directive.d.ts +0 -22
- package/lib/loading/loading.module.d.ts +0 -13
- package/lib/loading/loading.service.d.ts +0 -48
- package/lib/menu/index.d.ts +0 -2
- package/lib/menu/menu.component.d.ts +0 -37
- package/lib/menu/menu.module.d.ts +0 -11
- package/lib/number-box/index.d.ts +0 -2
- package/lib/number-box/number-box.component.d.ts +0 -75
- package/lib/number-box/number-box.module.d.ts +0 -13
- package/lib/page/base-page.class.d.ts +0 -45
- package/lib/page/index.d.ts +0 -5
- package/lib/page/page-footer.component.d.ts +0 -7
- package/lib/page/page-header.component.d.ts +0 -7
- package/lib/page/page.component.d.ts +0 -14
- package/lib/page/page.module.d.ts +0 -8
- package/lib/password-box/index.d.ts +0 -2
- package/lib/password-box/password-box.component.d.ts +0 -23
- package/lib/password-box/password-box.module.d.ts +0 -12
- package/lib/picker/index.d.ts +0 -2
- package/lib/picker/picker.component.d.ts +0 -18
- package/lib/picker/picker.module.d.ts +0 -9
- package/lib/popover/index.d.ts +0 -2
- package/lib/popover/popover.component.d.ts +0 -46
- package/lib/popover/popover.module.d.ts +0 -8
- package/lib/popup/index.d.ts +0 -3
- package/lib/popup/popup.component.d.ts +0 -45
- package/lib/popup/popup.module.d.ts +0 -12
- package/lib/popup/popup.service.d.ts +0 -38
- package/lib/progress-bar/index.d.ts +0 -2
- package/lib/progress-bar/progress-bar.component.d.ts +0 -18
- package/lib/progress-bar/progress-bar.module.d.ts +0 -8
- package/lib/radio/index.d.ts +0 -2
- package/lib/radio/radio.component.d.ts +0 -17
- package/lib/radio/radio.module.d.ts +0 -9
- package/lib/range-slider/index.d.ts +0 -2
- package/lib/range-slider/range-slider.component.d.ts +0 -8
- package/lib/range-slider/range-slider.module.d.ts +0 -8
- package/lib/rating/index.d.ts +0 -2
- package/lib/rating/rating.component.d.ts +0 -21
- package/lib/rating/rating.component.module.d.ts +0 -8
- package/lib/result/index.d.ts +0 -2
- package/lib/result/result.component.d.ts +0 -12
- package/lib/result/result.module.d.ts +0 -8
- package/lib/selectbox/index.d.ts +0 -2
- package/lib/selectbox/selectbox.component.d.ts +0 -74
- package/lib/selectbox/selectbox.module.d.ts +0 -20
- package/lib/selection-list/index.d.ts +0 -2
- package/lib/selection-list/selection-list.component.d.ts +0 -21
- package/lib/selection-list/selection-list.module.d.ts +0 -13
- package/lib/switch/index.d.ts +0 -2
- package/lib/switch/switch.component.d.ts +0 -12
- package/lib/switch/switch.module.d.ts +0 -10
- package/lib/tabs/index.d.ts +0 -5
- package/lib/tabs/tab-content.directive.d.ts +0 -11
- package/lib/tabs/tab-item.component.d.ts +0 -49
- package/lib/tabs/tabs.class.d.ts +0 -6
- package/lib/tabs/tabs.component.d.ts +0 -24
- package/lib/tabs/tabs.module.d.ts +0 -12
- package/lib/textarea/index.d.ts +0 -2
- package/lib/textarea/textarea.component.d.ts +0 -12
- package/lib/textarea/textarea.module.d.ts +0 -9
- package/lib/textbox/index.d.ts +0 -2
- package/lib/textbox/textbox.component.d.ts +0 -16
- package/lib/textbox/textbox.module.d.ts +0 -13
- package/lib/time-box/index.d.ts +0 -2
- package/lib/time-box/time-box.component.d.ts +0 -48
- package/lib/time-box/time-box.module.d.ts +0 -11
- package/lib/toast/index.d.ts +0 -4
- package/lib/toast/toast.class.d.ts +0 -14
- package/lib/toast/toast.component.d.ts +0 -24
- package/lib/toast/toast.module.d.ts +0 -9
- package/lib/toast/toast.service.d.ts +0 -18
- package/lib/tooltip/index.d.ts +0 -3
- package/lib/tooltip/tooltip.component.d.ts +0 -10
- package/lib/tooltip/tooltip.directive.d.ts +0 -18
- package/lib/tooltip/tooltip.module.d.ts +0 -10
- package/lib/treeview/index.d.ts +0 -2
- package/lib/treeview/tree-view.component.d.ts +0 -33
- package/lib/treeview/tree-view.module.d.ts +0 -9
- package/lib/validation/index.d.ts +0 -2
- package/lib/validation/validation-rule.widget.d.ts +0 -25
- package/lib/validation/validation.class.d.ts +0 -17
- package/lib/validation/validation.module.d.ts +0 -9
- package/public-api.d.ts +0 -49
|
@@ -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
|
+
}
|