@acorex/components 4.1.6 → 4.2.0
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 +13 -33
- 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 +115 -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 +106 -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 +723 -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/drawer.component.html +5 -0
- package/src/lib/drawer/drawer.component.ts +53 -0
- package/src/lib/drawer/drawer.module.ts +11 -0
- package/src/lib/dropdown/dropdown.component.html +25 -0
- package/src/lib/dropdown/dropdown.component.scss +9 -0
- package/src/lib/dropdown/dropdown.component.ts +200 -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 +65 -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/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 +47 -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/selectbox-editor/selectbox.editor.html +15 -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 +21 -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 +4 -0
- package/src/lib/property-editor/editors/text-editor/text.editor.ts +35 -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 +181 -0
- package/src/lib/property-editor/property-editor.class.ts +178 -0
- package/src/lib/property-editor/property-editor.module.ts +97 -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 +134 -0
- package/src/lib/query-builder/query-builder-rule.component.ts +353 -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 +42 -0
- package/src/lib/query-builder/query-builder.service.ts +181 -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 +98 -0
- package/src/lib/selectbox/selectbox.component.ts +980 -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 +103 -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 +68 -0
- package/src/lib/tab-page/tab-page-host.component.ts +103 -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 +77 -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 -92
- 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 -705
- 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/drawer.component.mjs +0 -54
- package/esm2020/lib/drawer/drawer.module.mjs +0 -20
- package/esm2020/lib/dropdown/dropdown.component.mjs +0 -177
- 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 -33
- 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 -87
- package/esm2020/lib/popover/popover.component.mjs +0 -115
- package/esm2020/lib/popover/popover.module.mjs +0 -19
- package/esm2020/lib/popup/popup.component.mjs +0 -146
- 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/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 -60
- 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/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/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 -30
- 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 -152
- package/esm2020/lib/property-editor/property-editor.class.mjs +0 -101
- package/esm2020/lib/property-editor/property-editor.module.mjs +0 -161
- 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 -357
- 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 -59
- package/esm2020/lib/query-builder/query-builder.service.mjs +0 -191
- 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 -955
- 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 -101
- 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 -69
- package/esm2020/lib/tab-page/tab-page-host.component.mjs +0 -109
- 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 -726
- package/esm2020/lib/tree-view/tree-view.module.mjs +0 -22
- package/esm2020/lib/upload-file/upload-file.component.mjs +0 -170
- 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 -64
- 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 -154
- package/fesm2015/acorex-components.mjs +0 -15087
- package/fesm2015/acorex-components.mjs.map +0 -1
- package/fesm2020/acorex-components.mjs +0 -15034
- 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 -45
- 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/drawer.component.d.ts +0 -10
- package/lib/drawer/drawer.module.d.ts +0 -9
- 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 -30
- package/lib/popover/popover.component.d.ts +0 -30
- package/lib/popover/popover.module.d.ts +0 -8
- package/lib/popup/popup.component.d.ts +0 -39
- 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/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 -19
- 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/selectbox-editor/selectbox.editor.d.ts +0 -28
- package/lib/property-editor/editors/selectbox-editor/selectbox.module.d.ts +0 -13
- 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 -15
- 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 -67
- package/lib/property-editor/property-editor.module.d.ts +0 -19
- 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 -22
- package/lib/query-builder/query-builder.service.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 -116
- 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 -30
- 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 -26
- 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 -117
- package/lib/tree-view/tree-view.module.d.ts +0 -11
- package/lib/upload-file/upload-file.component.d.ts +0 -38
- 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,220 @@
|
|
|
1
|
+
import { AXBaseComponent } from '../base/element.class';
|
|
2
|
+
import { Component, Input, Output, EventEmitter, ElementRef, ViewEncapsulation, ViewChild } from '@angular/core';
|
|
3
|
+
import { AXTranslator, AXHtmlUtil } from '@acorex/core';
|
|
4
|
+
import { AXQueryBuilderGroup, AXQueryBuilderGroupEvent, AXQueryBuilderGroupItem } from './query-builder.class';
|
|
5
|
+
import { AXQueryBuilderGroupComponent } from './query-builder-group.component';
|
|
6
|
+
import { AXToastService } from '../toast/toast.service';
|
|
7
|
+
|
|
8
|
+
@Component({
|
|
9
|
+
selector: 'ax-query-builder',
|
|
10
|
+
templateUrl: './query-builder.component.html',
|
|
11
|
+
styleUrls: ['./query-builder.component.scss'],
|
|
12
|
+
encapsulation: ViewEncapsulation.None
|
|
13
|
+
})
|
|
14
|
+
export class AXQueryBuilderComponent extends AXBaseComponent {
|
|
15
|
+
@ViewChild('queryGroup') queryGroup: AXQueryBuilderGroupComponent;
|
|
16
|
+
|
|
17
|
+
@Input()
|
|
18
|
+
query: AXQueryBuilderGroup;
|
|
19
|
+
|
|
20
|
+
@Input()
|
|
21
|
+
mode: 'new' | 'edit' = 'new';
|
|
22
|
+
|
|
23
|
+
rootGroup: AXQueryBuilderGroup = new AXQueryBuilderGroup();
|
|
24
|
+
|
|
25
|
+
ngOnInit(): void {
|
|
26
|
+
this.rootGroup.condition = this.query.condition ? this.query.condition : 'AND';
|
|
27
|
+
this.rootGroup.items = this.query.items ? this.query.items : [];
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
constructor(private ref: ElementRef, private toast: AXToastService) {
|
|
31
|
+
super();
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
@Input()
|
|
35
|
+
fields: any[] = [];
|
|
36
|
+
|
|
37
|
+
// @Input()
|
|
38
|
+
// mode: 'immediate' | 'click' = 'click';
|
|
39
|
+
|
|
40
|
+
@Output()
|
|
41
|
+
onRuleChanged: EventEmitter<AXQueryBuilderGroupEvent> = new EventEmitter<AXQueryBuilderGroupEvent>();
|
|
42
|
+
|
|
43
|
+
saved: boolean = false;
|
|
44
|
+
|
|
45
|
+
public getQueryBuilder() {
|
|
46
|
+
return { groups: this.rootGroup };
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
ruleChanged(e) {
|
|
50
|
+
this.onRuleChanged.emit({ component: this, groups: this.rootGroup });
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
public saveRule() {
|
|
54
|
+
/// return this.queryGroup.saveRule();
|
|
55
|
+
return new Promise((resolve, reject) => {
|
|
56
|
+
this.saved = true;
|
|
57
|
+
for (let i = 0; i < this.rootGroup.items.length; i++) {
|
|
58
|
+
if (this.saved == true) {
|
|
59
|
+
this.findNullValue(this.rootGroup.items[i]);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
if (this.saved == true) {
|
|
63
|
+
resolve(this.rootGroup);
|
|
64
|
+
} else {
|
|
65
|
+
reject();
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
findNullValue(gr) {
|
|
71
|
+
if (this.saved == true) {
|
|
72
|
+
if (gr.condition) {
|
|
73
|
+
for (let i = 0; i < gr.items.length; i++) {
|
|
74
|
+
this.findNullValue(gr.items[i]);
|
|
75
|
+
}
|
|
76
|
+
} else {
|
|
77
|
+
if (gr.onDemandLabel == '????|') {
|
|
78
|
+
this.saved = false;
|
|
79
|
+
this.toast.error('لطفا نام متغیر های مورد نیاز را کامل کنید');
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// selectionFieldsChanged(e, rules: AXQueryBuilderRule) {
|
|
86
|
+
//
|
|
87
|
+
// rules.dataField = e.selectedItems[0].dataField;
|
|
88
|
+
// rules.caption = e.selectedItems[0].caption;
|
|
89
|
+
// rules.dataType = e.selectedItems[0].dataType;
|
|
90
|
+
|
|
91
|
+
// // TO DO chack dataType For Def operator and Value
|
|
92
|
+
// if (rules.dataType == 'string') {
|
|
93
|
+
// rules.operator = this.operatorStringItem[0].id;
|
|
94
|
+
// rules.value = 'null';
|
|
95
|
+
// }
|
|
96
|
+
// if (rules.dataType == 'number') {
|
|
97
|
+
// rules.operator = this.operatorNumberItem[0].id;
|
|
98
|
+
// rules.value = '0';
|
|
99
|
+
// }
|
|
100
|
+
|
|
101
|
+
// this.onRuleChanged.emit({ groups: this.rootGroup, queryString: this.getQueryDisplay(), component: this, htmlElement: this.ref.nativeElement })
|
|
102
|
+
// }
|
|
103
|
+
|
|
104
|
+
// selectionOparatorChanged(e, rules: AXQueryBuilderRule) {
|
|
105
|
+
// rules.operator = e.selectedItems[0].id;
|
|
106
|
+
// }
|
|
107
|
+
|
|
108
|
+
// provideDataFields = (e) => {
|
|
109
|
+
// return new Promise((resolve) => {
|
|
110
|
+
// resolve(this.fields);
|
|
111
|
+
// });
|
|
112
|
+
// }
|
|
113
|
+
|
|
114
|
+
// provideDataOperatorString = (e) => {
|
|
115
|
+
// return new Promise((resolve) => {
|
|
116
|
+
// resolve(this.operatorStringItem);
|
|
117
|
+
// });
|
|
118
|
+
// }
|
|
119
|
+
// provideDataOperatorNumber = (e) => {
|
|
120
|
+
// return new Promise((resolve) => {
|
|
121
|
+
// resolve(this.operatorNumberItem);
|
|
122
|
+
// });
|
|
123
|
+
// }
|
|
124
|
+
|
|
125
|
+
// private getQueryDisplay(gr = this.list, _condition = this.list[0].condition) {
|
|
126
|
+
// var cap: string = '(';
|
|
127
|
+
|
|
128
|
+
// for (let j = 0; j < gr.length; j++) {
|
|
129
|
+
// if (j > 0) {
|
|
130
|
+
// cap = cap + _condition;
|
|
131
|
+
// }
|
|
132
|
+
// cap = cap + " ( ";
|
|
133
|
+
// for (let i = 0; i < gr[j].items.length; i++) {
|
|
134
|
+
// if (gr[j].items[i].value && gr[j].items[i].operator && gr[j].items[i].caption || ((gr[j].items[i].operator == "is-empty" || gr[j].items[i].operator == "is-not-empty") && gr[j].items[i].caption)) {
|
|
135
|
+
// var opr: string;
|
|
136
|
+
// if (gr[j].items[i].dataType == "number" || gr[j].items[i].dataType == "date" || gr[j].items[i].dataType == "dateTime") {
|
|
137
|
+
// let d = this.operatorNumberItem.filter(c => c.id == gr[j].items[i].operator);
|
|
138
|
+
// opr = d[0].text;
|
|
139
|
+
// } else {
|
|
140
|
+
// let d = this.operatorStringItem.filter(c => c.id == gr[j].items[i].operator);
|
|
141
|
+
// opr = d[0].text;
|
|
142
|
+
// }
|
|
143
|
+
// if ((gr[j].items[i].operator == "is-empty" || gr[j].items[i].operator == "is-not-empty")) {
|
|
144
|
+
|
|
145
|
+
// if (i === gr[j].items.length - 1) {
|
|
146
|
+
// cap = cap + " " + "[" + gr[j].items[i].caption + "]";
|
|
147
|
+
// } else {
|
|
148
|
+
// cap = cap + " " + "[" + gr[j].items[i].caption + "]" + " " + opr + " " + gr[j].condition;
|
|
149
|
+
// }
|
|
150
|
+
// } else {
|
|
151
|
+
// var val: string;
|
|
152
|
+
|
|
153
|
+
// if (gr[j].items[i].dataType == 'date') {
|
|
154
|
+
// // val = moment(item.value).locale('fa').format('YYYY/MM/DD');
|
|
155
|
+
// } else if (gr[j].items[i].dataType == 'dateTime') {
|
|
156
|
+
// // val = moment(item.value).locale('fa').format('HH:mm YYYY/MM/DD');
|
|
157
|
+
// } else {
|
|
158
|
+
// val = gr[j].items[i].value;
|
|
159
|
+
// }
|
|
160
|
+
// if (i === gr[j].items.length - 1) {
|
|
161
|
+
// cap = cap + " " + "[" + gr[j].items[i].caption + "]" + " " + opr + " " + val
|
|
162
|
+
// } else {
|
|
163
|
+
// cap = cap + " " + "[" + gr[j].items[i].caption + "]" + " " + opr + " " + val + " " + gr[j].condition
|
|
164
|
+
// }
|
|
165
|
+
|
|
166
|
+
// }
|
|
167
|
+
// }
|
|
168
|
+
// }
|
|
169
|
+
|
|
170
|
+
// if (gr[j].groups && gr[j].groups.length > 0) {
|
|
171
|
+
// let c = this.getQueryDisplay(gr[j].groups, gr[j].condition);
|
|
172
|
+
// if (c != "( ) ") {
|
|
173
|
+
// if (gr[j].items.length > 0 || j > 0) {
|
|
174
|
+
// cap = cap + " " + gr[j].condition + " " + c + " ";
|
|
175
|
+
// } else {
|
|
176
|
+
// cap = cap + " " + c + " ";
|
|
177
|
+
// }
|
|
178
|
+
|
|
179
|
+
// }
|
|
180
|
+
// }
|
|
181
|
+
|
|
182
|
+
// cap = cap + " ) ";
|
|
183
|
+
// };
|
|
184
|
+
|
|
185
|
+
// cap = cap + " ) ";
|
|
186
|
+
// return cap;
|
|
187
|
+
// }
|
|
188
|
+
|
|
189
|
+
// deleteGroup(groupOut: AXQueryBuilderGroup, groupIn: AXQueryBuilderGroup) {
|
|
190
|
+
// groupOut.items = groupOut.items.filter(c => c.id != groupIn.id);
|
|
191
|
+
// }
|
|
192
|
+
|
|
193
|
+
// deleteRule1(group: AXQueryBuilderGroup, rule: AXQueryBuilderRule) {
|
|
194
|
+
// group.items = group.items.filter(c => c.id != rule.id);
|
|
195
|
+
// }
|
|
196
|
+
|
|
197
|
+
// addRule(group: AXQueryBuilderGroup) {
|
|
198
|
+
// const item: AXQueryBuilderRule = new AXQueryBuilderRule();
|
|
199
|
+
// group.items.push(item);
|
|
200
|
+
// }
|
|
201
|
+
|
|
202
|
+
// addGroupAND(group: AXQueryBuilderGroup) {
|
|
203
|
+
// this.addGroupOnClick(group);
|
|
204
|
+
// group.condition = "AND";
|
|
205
|
+
// }
|
|
206
|
+
// addGroupOR(group: AXQueryBuilderGroup) {
|
|
207
|
+
// this.addGroupOnClick(group);
|
|
208
|
+
// group.condition = "OR";
|
|
209
|
+
// }
|
|
210
|
+
|
|
211
|
+
// addGroupOnClick(groups: AXQueryBuilderGroup) {
|
|
212
|
+
// let r: AXQueryBuilderGroup = new AXQueryBuilderGroup();
|
|
213
|
+
// r.condition = "";
|
|
214
|
+
// r.items = [];
|
|
215
|
+
// if (groups.items == undefined) {
|
|
216
|
+
// groups.items = [];
|
|
217
|
+
// }
|
|
218
|
+
// groups.items.push(r);
|
|
219
|
+
// }
|
|
220
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { AXQueryBuilderComponent } from './query-builder.component';
|
|
3
|
+
import { AXButtonModule } from '../button/button.module';
|
|
4
|
+
import { CommonModule } from '@angular/common';
|
|
5
|
+
import { AXPanelBoxModule } from '../panel-box/panel-box.module';
|
|
6
|
+
import { AXSelectBoxModule } from '../selectbox/selectbox.module';
|
|
7
|
+
import { AXTextBoxModule } from '../textbox/textbox.module';
|
|
8
|
+
import { AXQueryBuilderRuleComponent } from './query-builder-rule.component';
|
|
9
|
+
import { AXQueryBuilderGroupComponent } from './query-builder-group.component';
|
|
10
|
+
import { AXTranslatorModule } from '@acorex/core';
|
|
11
|
+
import { AXNumberBoxModule } from '../number-box/number-box.module';
|
|
12
|
+
import { AXDataSourceModule } from '../data-source/datasource.module';
|
|
13
|
+
import { AXFormGroupModule } from '../form-group/form-group.module';
|
|
14
|
+
import { AXQueryBuilderPopupComponent } from './query-builder-popup/query-builder-popup.component';
|
|
15
|
+
import { AXLabelModule } from '../label/label.module';
|
|
16
|
+
import { AXCheckBoxModule } from '../checkbox/checkbox.module';
|
|
17
|
+
import { AXValidationModule } from '../validation/validation.module';
|
|
18
|
+
import { AXQueryBuilderService } from './query-builder.service';
|
|
19
|
+
|
|
20
|
+
const MODUELS = [
|
|
21
|
+
CommonModule,
|
|
22
|
+
AXButtonModule,
|
|
23
|
+
AXPanelBoxModule,
|
|
24
|
+
AXSelectBoxModule,
|
|
25
|
+
AXDataSourceModule,
|
|
26
|
+
AXTextBoxModule,
|
|
27
|
+
AXNumberBoxModule,
|
|
28
|
+
AXFormGroupModule,
|
|
29
|
+
AXTranslatorModule,
|
|
30
|
+
AXLabelModule,
|
|
31
|
+
AXCheckBoxModule,
|
|
32
|
+
AXValidationModule
|
|
33
|
+
]
|
|
34
|
+
|
|
35
|
+
@NgModule({
|
|
36
|
+
declarations: [AXQueryBuilderComponent, AXQueryBuilderGroupComponent, AXQueryBuilderRuleComponent, AXQueryBuilderPopupComponent],
|
|
37
|
+
imports: [MODUELS],
|
|
38
|
+
exports: [AXQueryBuilderComponent],
|
|
39
|
+
providers: [AXQueryBuilderService]
|
|
40
|
+
})
|
|
41
|
+
|
|
42
|
+
export class AXQueryBuilderModule { }
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { AXQueryBuilderGroup, AXQueryBuilderStringType } from './query-builder.class';
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { AXPopupService } from '../popup/popup.service';
|
|
4
|
+
import { AXQueryBuilderPopupComponent } from './query-builder-popup/query-builder-popup.component';
|
|
5
|
+
import { AXToastService } from '../toast/toast.service';
|
|
6
|
+
@Injectable({ providedIn: 'root' })
|
|
7
|
+
export class AXQueryBuilderService {
|
|
8
|
+
constructor(private popup: AXPopupService, private toast: AXToastService) {}
|
|
9
|
+
canOpen: boolean = false;
|
|
10
|
+
canRun: boolean = false;
|
|
11
|
+
public runQuery(group: AXQueryBuilderGroup, provideData) {
|
|
12
|
+
return new Promise((resolve) => {
|
|
13
|
+
this.canOpen = false;
|
|
14
|
+
for (let i = 0; i < group.items.length; i++) {
|
|
15
|
+
this.getNoValueRule(group.items[i]);
|
|
16
|
+
}
|
|
17
|
+
if (this.canOpen) {
|
|
18
|
+
this.canRun = true;
|
|
19
|
+
for (let i = 0; i < group.items.length; i++) {
|
|
20
|
+
if (this.canRun == true) {
|
|
21
|
+
this.findNullValue(group.items[i]);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
if (this.canRun) {
|
|
25
|
+
this.popup.open(AXQueryBuilderPopupComponent, { data: { group: group, provideData: provideData }, title: 'دریافت مقادیر' }).then((c) => {
|
|
26
|
+
resolve(c);
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
} else {
|
|
30
|
+
resolve(group);
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
findNullValue(gr) {
|
|
36
|
+
if (this.canRun == true) {
|
|
37
|
+
if (gr.condition) {
|
|
38
|
+
for (let i = 0; i < gr.items.length; i++) {
|
|
39
|
+
this.findNullValue(gr.items[i]);
|
|
40
|
+
}
|
|
41
|
+
} else {
|
|
42
|
+
if (gr.onDemandLabel == '????|') {
|
|
43
|
+
this.canRun = false;
|
|
44
|
+
this.toast.error('لطفا نام متغیر های مورد نیاز را کامل کنید');
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
private getNoValueRule(gr) {
|
|
51
|
+
// for (let i = 0; i < gr.items.length; i++) {
|
|
52
|
+
if (gr.condition) {
|
|
53
|
+
for (let i = 0; i < gr.items.length; i++) {
|
|
54
|
+
this.getNoValueRule(gr.items[i]);
|
|
55
|
+
}
|
|
56
|
+
} else {
|
|
57
|
+
if (gr.onDemandLabel?.indexOf('????') == 0) {
|
|
58
|
+
this.canOpen = true;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// }
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
async getQueryStringSimple(group: AXQueryBuilderGroup) {
|
|
66
|
+
return new Promise<string>(async (resolve, reject) => {
|
|
67
|
+
var query: string;
|
|
68
|
+
if (group.items.length > 0) {
|
|
69
|
+
query = ' ( ';
|
|
70
|
+
}
|
|
71
|
+
var id = 0;
|
|
72
|
+
for await (const iterator of group.items) {
|
|
73
|
+
const item: any = group.items[id];
|
|
74
|
+
if (item.condition) {
|
|
75
|
+
await this.getQueryStringSimple(item).then((c) => {
|
|
76
|
+
query = query + c;
|
|
77
|
+
});
|
|
78
|
+
} else {
|
|
79
|
+
let codeOperator: string = null;
|
|
80
|
+
switch (item.operator) {
|
|
81
|
+
case 'equal':
|
|
82
|
+
codeOperator = '==';
|
|
83
|
+
break;
|
|
84
|
+
case 'not-equal':
|
|
85
|
+
codeOperator = '!=';
|
|
86
|
+
break;
|
|
87
|
+
case 'not-null':
|
|
88
|
+
codeOperator = '!= null';
|
|
89
|
+
break;
|
|
90
|
+
case 'null':
|
|
91
|
+
codeOperator = '== null';
|
|
92
|
+
break;
|
|
93
|
+
case 'gt':
|
|
94
|
+
codeOperator = '>';
|
|
95
|
+
break;
|
|
96
|
+
case 'gte':
|
|
97
|
+
codeOperator = '>=';
|
|
98
|
+
break;
|
|
99
|
+
case 'lt':
|
|
100
|
+
codeOperator = '<';
|
|
101
|
+
break;
|
|
102
|
+
case 'lte':
|
|
103
|
+
codeOperator = '<=';
|
|
104
|
+
break;
|
|
105
|
+
case 'contains':
|
|
106
|
+
codeOperator = item.operator;
|
|
107
|
+
break;
|
|
108
|
+
case 'start-with':
|
|
109
|
+
codeOperator = item.operator;
|
|
110
|
+
break;
|
|
111
|
+
case 'end-with':
|
|
112
|
+
codeOperator = item.operator;
|
|
113
|
+
break;
|
|
114
|
+
default:
|
|
115
|
+
codeOperator = item.operator;
|
|
116
|
+
break;
|
|
117
|
+
}
|
|
118
|
+
query = query + ' ' + item.caption + ' ' + codeOperator + ' ' + item.text;
|
|
119
|
+
}
|
|
120
|
+
if (id !== group.items.length - 1 && query != ' ( ') {
|
|
121
|
+
query = query + ' ' + group.condition;
|
|
122
|
+
}
|
|
123
|
+
id += 1;
|
|
124
|
+
}
|
|
125
|
+
if (group.items.length > 0) {
|
|
126
|
+
query = query + ' ) ';
|
|
127
|
+
}
|
|
128
|
+
resolve(query);
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
public getQueryString(group: AXQueryBuilderGroup, type: AXQueryBuilderStringType): string {
|
|
133
|
+
let query = '';
|
|
134
|
+
switch (type) {
|
|
135
|
+
case 'simple':
|
|
136
|
+
if (group.items.length > 0) {
|
|
137
|
+
query = ' ( ';
|
|
138
|
+
}
|
|
139
|
+
for (let i = 0; i < group.items.length; i++) {
|
|
140
|
+
const item = group.items[i];
|
|
141
|
+
if (item instanceof AXQueryBuilderGroup) {
|
|
142
|
+
query = query + item.queryString;
|
|
143
|
+
} else {
|
|
144
|
+
query = query + ' ' + item.caption + ' ' + item.operator + ' ' + item.value;
|
|
145
|
+
}
|
|
146
|
+
if (i !== group.items.length - 1 && query != ' ( ') {
|
|
147
|
+
query = query + ' ' + group.condition;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
if (group.items.length > 0) {
|
|
151
|
+
query = query + ' ) ';
|
|
152
|
+
}
|
|
153
|
+
break;
|
|
154
|
+
|
|
155
|
+
case 'elastic':
|
|
156
|
+
if (group.items.length > 0) {
|
|
157
|
+
query = ' ( ';
|
|
158
|
+
}
|
|
159
|
+
for (let i = 0; i < group.items.length; i++) {
|
|
160
|
+
const item = group.items[i];
|
|
161
|
+
if (item instanceof AXQueryBuilderGroup) {
|
|
162
|
+
query = query + item.queryStringElastic;
|
|
163
|
+
} else {
|
|
164
|
+
query = query + ' ' + item.dataField + ' ' + item.operator + ' ' + item.value;
|
|
165
|
+
}
|
|
166
|
+
if (i !== group.items.length - 1 && query != ' ( ') {
|
|
167
|
+
query = query + ' ' + group.condition;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
if (group.items.length > 0) {
|
|
171
|
+
query = query + ' ) ';
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
break;
|
|
175
|
+
case 'sql':
|
|
176
|
+
break;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
return query;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<div class="ax form-item" [class.disabled]="disabled" [attr.id]="uid">
|
|
2
|
+
<div class="ax items-wrapper">
|
|
3
|
+
<ng-content select="[start]">
|
|
4
|
+
</ng-content>
|
|
5
|
+
</div>
|
|
6
|
+
<div class="content" #content>
|
|
7
|
+
<div class="ax input form-control {{size}}" [class.disabled]="disabled" [class.readonly]="readonly"
|
|
8
|
+
[class.icon]="icon">
|
|
9
|
+
<input #input type="text" class="ax {{size}}" [(ngModel)]="value"
|
|
10
|
+
(input)="onSearchChanged($event.target.value)" [placeholder]="placeholder" [readonly]="readonly"
|
|
11
|
+
[disabled]="disabled" [ngClass]="setTextAlign()" [class.clear]="value && allowClear"
|
|
12
|
+
(focus)="handleInputFocus($event)" (blur)="handleInputBlur($event)" (keyup)="handleKeyEvent($event)"
|
|
13
|
+
(keydown)="handleKeyEvent($event)">
|
|
14
|
+
<i class="{{icon}}" *ngIf="icon"></i>
|
|
15
|
+
</div>
|
|
16
|
+
</div>
|
|
17
|
+
<div class="ax items-wrapper">
|
|
18
|
+
<ax-button [size]="size" *ngIf="value && allowClear" icon="far fa-times" type="danger blank" (click)="clear()" [tabIndex]="-1">
|
|
19
|
+
</ax-button>
|
|
20
|
+
<ax-button [size]="size" type="light blank" icon="far fa-search" end (click)="click($event)" [tabIndex]="-1">
|
|
21
|
+
</ax-button>
|
|
22
|
+
<ng-content select="[end]">
|
|
23
|
+
</ng-content>
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { Component, OnInit, Input, Output, EventEmitter, ChangeDetectorRef, ElementRef, ChangeDetectionStrategy, ViewChild } from '@angular/core';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
|
|
4
|
+
import { AXBaseTextComponent } from '../base/element.class';
|
|
5
|
+
import { AXBaseEvent, AXValueEvent } from '../base/events.class';
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
@Component({
|
|
9
|
+
selector: 'ax-search-box',
|
|
10
|
+
templateUrl: './searchbox.component.html',
|
|
11
|
+
host: { style:'width: 100%' },
|
|
12
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
13
|
+
})
|
|
14
|
+
export class AXSearchBoxComponent extends AXBaseTextComponent {
|
|
15
|
+
|
|
16
|
+
@Output()
|
|
17
|
+
public textChanged: EventEmitter<AXValueEvent<any>> = new EventEmitter<AXValueEvent<any>>();
|
|
18
|
+
@Output()
|
|
19
|
+
onButtonClick: EventEmitter<AXValueEvent<any>> = new EventEmitter<AXValueEvent<any>>();
|
|
20
|
+
|
|
21
|
+
@Input()
|
|
22
|
+
placeholder: string = 'جستجو ...';
|
|
23
|
+
|
|
24
|
+
constructor(protected cdr: ChangeDetectorRef, ref: ElementRef) {
|
|
25
|
+
super(cdr, ref);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
private _text: string;
|
|
29
|
+
@Input()
|
|
30
|
+
public get text(): string {
|
|
31
|
+
return this._text;
|
|
32
|
+
}
|
|
33
|
+
public set text(v: string) {
|
|
34
|
+
if (v !== this._text) {
|
|
35
|
+
const old = this._text;
|
|
36
|
+
this._text = v;
|
|
37
|
+
this.textChanged.emit({
|
|
38
|
+
component: this,
|
|
39
|
+
value: v,
|
|
40
|
+
oldValue: old
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
ngOnInit() {
|
|
46
|
+
this.value = '';
|
|
47
|
+
this.text = '';
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
onSearchChanged(text: string) {
|
|
51
|
+
if (!this.searchChangeObserver) {
|
|
52
|
+
Observable.create(observer => {
|
|
53
|
+
|
|
54
|
+
this.searchChangeObserver = observer;
|
|
55
|
+
})
|
|
56
|
+
.pipe(debounceTime(this.delay))
|
|
57
|
+
.pipe(distinctUntilChanged())
|
|
58
|
+
.subscribe(c => {
|
|
59
|
+
this.text = c;
|
|
60
|
+
this.value = c;
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
this.searchChangeObserver.next(text);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
@Input()
|
|
68
|
+
delay: number = 500;
|
|
69
|
+
|
|
70
|
+
private searchChangeObserver: any;
|
|
71
|
+
|
|
72
|
+
handleKeyEvent(e: KeyboardEvent) {
|
|
73
|
+
// this.searchChangeObserver.next(this.text);
|
|
74
|
+
this.onkey.emit(e);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
click(e: MouseEvent) {
|
|
78
|
+
this.onButtonClick.emit({
|
|
79
|
+
component: this,
|
|
80
|
+
htmlElement: this.ref.nativeElement,
|
|
81
|
+
value: this.text
|
|
82
|
+
});
|
|
83
|
+
// this.searchChangeObserver.next(this.text);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { AXSearchBoxComponent } from './searchbox.component';
|
|
4
|
+
import { AXTextBoxModule } from '../textbox/textbox.module';
|
|
5
|
+
import { AXButtonModule } from '../button/button.module';
|
|
6
|
+
import { AXFormGroupModule } from '../form-group/form-group.module';
|
|
7
|
+
import { AXTranslatorModule } from '@acorex/core';
|
|
8
|
+
import { FormsModule } from '@angular/forms';
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
@NgModule({
|
|
12
|
+
declarations: [AXSearchBoxComponent],
|
|
13
|
+
imports: [CommonModule, AXTextBoxModule, AXButtonModule, AXFormGroupModule, AXTranslatorModule, FormsModule],
|
|
14
|
+
exports: [AXSearchBoxComponent],
|
|
15
|
+
providers: []
|
|
16
|
+
})
|
|
17
|
+
export class AXSearchBoxModule { }
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
<ax-drop-down [size]="size" [rtl]="rtl" [showDropDownButton]="showDropDownButton" [disabled]="disabled"
|
|
2
|
+
[readonly]="readonly" #d (dropdownToggle)="dropdownToggleSelecBox($event)">
|
|
3
|
+
<ng-container start>
|
|
4
|
+
<ng-content select="[start]">
|
|
5
|
+
</ng-content>
|
|
6
|
+
</ng-container>
|
|
7
|
+
<ng-container header>
|
|
8
|
+
<div class="ax chips-container" [horizontalScroll]="40">
|
|
9
|
+
<div class="chips" [class.chips-blank]="mode === 'single'" [title]="item[textField]"
|
|
10
|
+
*ngFor="let item of selectedItems">
|
|
11
|
+
<span class="chips-text">
|
|
12
|
+
{{item[textField]}}
|
|
13
|
+
</span>
|
|
14
|
+
<span class="close-icon" (click)="handleItemRemoveClick(item)"
|
|
15
|
+
*ngIf="(readonly!=true || itemRemove ==true)&& disabled!=true && (allowNull==true || (selectedItems.length > 1))">
|
|
16
|
+
<i class="far fa-times close"></i>
|
|
17
|
+
</span>
|
|
18
|
+
</div>
|
|
19
|
+
<div class="search-wrapper" (click)="onTextBoxClick($event)">
|
|
20
|
+
<ax-text-box #textBoxSelectBox [textAlign]="textAlign"
|
|
21
|
+
[placeholder]="selectedItems.length == 0 ? placeholder : ''" [readonly]="readonly"
|
|
22
|
+
[disabled]="disabled" (onkey)="handleKeyEvent($event)" [size]="size"
|
|
23
|
+
(onFocus)="onFocusTextBox($event)">
|
|
24
|
+
</ax-text-box>
|
|
25
|
+
</div>
|
|
26
|
+
</div>
|
|
27
|
+
</ng-container>
|
|
28
|
+
<ng-container end>
|
|
29
|
+
<ng-content select="[end]">
|
|
30
|
+
</ng-content>
|
|
31
|
+
</ng-container>
|
|
32
|
+
|
|
33
|
+
<ng-container panel>
|
|
34
|
+
<div *ngIf="allowSearch" class="search-wrapper" style="padding: 0.7em;">
|
|
35
|
+
<ax-search-box #serchBox [(value)]="text" (onkey)="handleKeyEventSearch($event)"
|
|
36
|
+
(textChanged)="textChanged($event)" (onButtonClick)="textChanged($event)">
|
|
37
|
+
</ax-search-box>
|
|
38
|
+
</div>
|
|
39
|
+
<div class="ax list-container">
|
|
40
|
+
<div #listContainer class="list-container-items" (scroll)="scrolled($event)">
|
|
41
|
+
<ng-container *ngIf="getItems().length>0; then thenTemplate; else elseTemplate"></ng-container>
|
|
42
|
+
<ng-template #thenTemplate>
|
|
43
|
+
<div [class.ax-state-disabled]="isItemDisabled(item)" class="list-item"
|
|
44
|
+
*ngFor="let item of getItems();let i = index" [class.focused]="i==currentfocusedIndex"
|
|
45
|
+
[class.selected]="isItemSelected(item)" (click)="handleItemClick($event,item)">
|
|
46
|
+
<div style="display: flex;">
|
|
47
|
+
<ax-check-box *ngIf="showCheckBox" [size]="size" [value]="isItemSelected(item)"
|
|
48
|
+
[disabled]="(!allowNull && selectedItems.length === 1 && isItemSelected(item)) || isItemDisabled(item)"
|
|
49
|
+
(onClick)="handleItemClick($event,item)">
|
|
50
|
+
</ax-check-box>
|
|
51
|
+
<ng-container *ngIf="rowTemplate; else elseTemplate">
|
|
52
|
+
<div style="white-space: nowrap;text-overflow: ellipsis;overflow: hidden;flex: 1;"
|
|
53
|
+
[title]="item[textField]"
|
|
54
|
+
[ngStyle]="(showCheckBox) ? {'padding-inline-start': '0.5rem'}:''">
|
|
55
|
+
<ng-container *ngTemplateOutlet="rowTemplate; context:{ $implicit: item }">
|
|
56
|
+
</ng-container>
|
|
57
|
+
</div>
|
|
58
|
+
|
|
59
|
+
</ng-container>
|
|
60
|
+
<ng-template #elseTemplate>
|
|
61
|
+
<div style="white-space: nowrap;text-overflow: ellipsis;overflow: hidden;flex: 1;"
|
|
62
|
+
[title]="item[textField]"
|
|
63
|
+
[ngStyle]="(showCheckBox) ? {'padding-inline-start': '0.5rem'}:''">
|
|
64
|
+
{{ item[textField] }}
|
|
65
|
+
</div>
|
|
66
|
+
</ng-template>
|
|
67
|
+
|
|
68
|
+
</div>
|
|
69
|
+
|
|
70
|
+
</div>
|
|
71
|
+
|
|
72
|
+
</ng-template>
|
|
73
|
+
<div *ngIf="showLoading" class="ax-pad-sm" style="text-align: center;">
|
|
74
|
+
<i class="far fa-spinner-third fa-pulse fa-2x" style="color: var(--ax-primary-color);"></i>
|
|
75
|
+
|
|
76
|
+
</div>
|
|
77
|
+
<!-- <ax-loading-indicator ></ax-loading-indicator> -->
|
|
78
|
+
<ng-template #elseTemplate>
|
|
79
|
+
<ng-container *ngIf="showLoading == true; then searchTemplate else noDataTemplate"></ng-container>
|
|
80
|
+
<ng-template #searchTemplate>
|
|
81
|
+
<div class="list-item">
|
|
82
|
+
{{'common.searching' | trans}}
|
|
83
|
+
</div>
|
|
84
|
+
</ng-template>
|
|
85
|
+
<ng-template #noDataTemplate>
|
|
86
|
+
<div class="list-item">
|
|
87
|
+
{{'common.noDataFound' | trans}}
|
|
88
|
+
</div>
|
|
89
|
+
</ng-template>
|
|
90
|
+
|
|
91
|
+
</ng-template>
|
|
92
|
+
|
|
93
|
+
</div>
|
|
94
|
+
|
|
95
|
+
</div>
|
|
96
|
+
</ng-container>
|
|
97
|
+
|
|
98
|
+
</ax-drop-down>
|