@acorex/components 6.5.26 → 6.5.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/karma.conf.js +32 -0
- package/ng-package.json +10 -0
- package/package.json +12 -32
- package/src/lib/accordion/accordion.component.ts +43 -0
- package/src/lib/accordion/accordion.module.ts +11 -0
- package/src/lib/accordion/api.ts +2 -0
- package/src/lib/base/base-page.class.ts +116 -0
- package/src/lib/base/components.class.ts +9 -0
- package/src/lib/base/element.class.ts +344 -0
- package/src/lib/base/events.class.ts +32 -0
- package/src/lib/button/button.component.html +17 -0
- package/src/lib/button/button.component.ts +72 -0
- package/src/lib/button/button.module.ts +14 -0
- package/src/lib/calendar/calendar-box/calendar-box.component.html +68 -0
- package/src/lib/calendar/calendar-box/calendar-box.component.ts +461 -0
- package/src/lib/calendar/calendar-box/calendar-box.module.ts +16 -0
- package/src/lib/calendar/scheduler/scheduler-views.property.ts +38 -0
- package/{lib/calendar/scheduler/scheduler.class.d.ts → src/lib/calendar/scheduler/scheduler.class.ts} +20 -6
- package/src/lib/calendar/scheduler/scheduler.component.html +9 -0
- package/src/lib/calendar/scheduler/scheduler.component.scss +181 -0
- package/src/lib/calendar/scheduler/scheduler.component.ts +249 -0
- package/src/lib/calendar/scheduler/scheduler.module.ts +45 -0
- package/src/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.ts +133 -0
- package/src/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.ts +33 -0
- package/src/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.html +43 -0
- package/src/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.scss +66 -0
- package/src/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.ts +50 -0
- package/src/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.html +45 -0
- package/src/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.scss +19 -0
- package/src/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.ts +103 -0
- package/src/lib/calendar/scheduler/views/month/scheduler-month-view.component.html +39 -0
- package/src/lib/calendar/scheduler/views/month/scheduler-month-view.component.scss +55 -0
- package/src/lib/calendar/scheduler/views/month/scheduler-month-view.component.ts +233 -0
- package/src/lib/calendar/scheduler/views/scheduler-view.component.ts +124 -0
- package/src/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.html +50 -0
- package/src/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.scss +4 -0
- package/src/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.ts +92 -0
- package/src/lib/checkbox/checkbox.component.html +22 -0
- package/src/lib/checkbox/checkbox.component.ts +107 -0
- package/src/lib/checkbox/checkbox.module.ts +11 -0
- package/src/lib/color-picker/color-box/color-box.component.html +37 -0
- package/src/lib/color-picker/color-box/color-box.component.scss +60 -0
- package/src/lib/color-picker/color-box/color-box.component.ts +438 -0
- package/src/lib/color-picker/color-picker.component.html +31 -0
- package/src/lib/color-picker/color-picker.component.ts +87 -0
- package/src/lib/color-picker/color-picker.module.ts +16 -0
- package/src/lib/context-menu/context-menu.component.html +42 -0
- package/src/lib/context-menu/context-menu.component.ts +78 -0
- package/src/lib/context-menu/context-menu.directive.ts +159 -0
- package/src/lib/context-menu/context-menu.module.ts +15 -0
- package/src/lib/data-filter/columns/filter-column-date.component.ts +123 -0
- package/src/lib/data-filter/columns/filter-column-number.component.ts +100 -0
- package/src/lib/data-filter/columns/filter-column-selection.component.ts +69 -0
- package/src/lib/data-filter/columns/filter-column-string.component.ts +100 -0
- package/src/lib/data-filter/filter-panel/filter-panel.component.html +120 -0
- package/src/lib/data-filter/filter-panel/filter-panel.component.scss +143 -0
- package/src/lib/data-filter/filter-panel/filter-panel.component.ts +266 -0
- package/src/lib/data-filter/filter.class.ts +73 -0
- package/src/lib/data-filter/filter.module.ts +52 -0
- package/src/lib/data-filter/toolbar/filter-toolbar.component.html +5 -0
- package/src/lib/data-filter/toolbar/filter-toolbar.component.scss +17 -0
- package/src/lib/data-filter/toolbar/filter-toolbar.component.ts +179 -0
- package/src/lib/data-list/core/data-list.component.ts +62 -0
- package/src/lib/data-list/list/list.component.html +32 -0
- package/src/lib/data-list/list/list.component.scss +64 -0
- package/src/lib/data-list/list/list.component.ts +149 -0
- package/src/lib/data-list/list/list.module.ts +14 -0
- package/src/lib/data-list/list/toolbar-list-view.component.ts +63 -0
- package/src/lib/data-source/datasource.component.ts +50 -0
- package/src/lib/data-source/datasource.module.ts +11 -0
- package/{lib/data-source/read-param.d.ts → src/lib/data-source/read-param.ts} +13 -3
- package/src/lib/date-picker/date-picker.component.html +30 -0
- package/src/lib/date-picker/date-picker.component.scss +5 -0
- package/src/lib/date-picker/date-picker.component.ts +720 -0
- package/src/lib/date-picker/date-picker.module.ts +17 -0
- package/src/lib/dialog/dialog.component.html +5 -0
- package/src/lib/dialog/dialog.component.scss +32 -0
- package/src/lib/dialog/dialog.component.ts +32 -0
- package/src/lib/dialog/dialog.module.ts +13 -0
- package/src/lib/dialog/dialog.service.ts +178 -0
- package/src/lib/drawer/content.component.ts +18 -0
- package/src/lib/drawer/drawer-container.component.ts +37 -0
- package/src/lib/drawer/drawer.component.ts +151 -0
- package/src/lib/drawer/drawer.module.ts +16 -0
- package/src/lib/dropdown/dropdown.component.html +26 -0
- package/src/lib/dropdown/dropdown.component.scss +8 -0
- package/src/lib/dropdown/dropdown.component.ts +197 -0
- package/src/lib/dropdown/dropdown.module.ts +19 -0
- package/src/lib/fieldset/fieldset.component.html +6 -0
- package/src/lib/fieldset/fieldset.component.ts +49 -0
- package/src/lib/fieldset/fieldset.module.ts +11 -0
- package/src/lib/form-group/form-group.component.html +15 -0
- package/src/lib/form-group/form-group.component.ts +39 -0
- package/src/lib/form-group/form-group.module.ts +14 -0
- package/src/lib/label/label.component.html +5 -0
- package/src/lib/label/label.component.ts +18 -0
- package/src/lib/label/label.module.ts +14 -0
- package/src/lib/loading/loading-indicator.component.html +27 -0
- package/src/lib/loading/loading-indicator.component.ts +16 -0
- package/src/lib/loading/loading-panel.component.ts +37 -0
- package/src/lib/loading/loading.module.ts +13 -0
- package/src/lib/loading/loading.service.ts +44 -0
- package/src/lib/menu/menu-item.component.ts +41 -0
- package/src/lib/menu/menu.component.html +74 -0
- package/src/lib/menu/menu.component.ts +111 -0
- package/src/lib/menu/menu.module.ts +13 -0
- package/src/lib/menu/menu2.component.scss +59 -0
- package/src/lib/menu/menu2.component.ts +98 -0
- package/src/lib/number-box/number-box.component.html +32 -0
- package/src/lib/number-box/number-box.component.ts +641 -0
- package/src/lib/number-box/number-box.module.ts +13 -0
- package/src/lib/page/content.component.ts +18 -0
- package/src/lib/page/footer.component.ts +13 -0
- package/src/lib/page/page.component.ts +43 -0
- package/src/lib/page/page.module.ts +14 -0
- package/src/lib/panel-box/panel-box.component.html +19 -0
- package/src/lib/panel-box/panel-box.component.scss +25 -0
- package/src/lib/panel-box/panel-box.component.ts +87 -0
- package/src/lib/panel-box/panel-box.module.ts +10 -0
- package/src/lib/password-box/password-box.component.html +22 -0
- package/src/lib/password-box/password-box.component.ts +30 -0
- package/src/lib/password-box/password-box.module.ts +16 -0
- package/src/lib/popover/custom-cdk-overlay.service.ts +82 -0
- package/src/lib/popover/overlay.service.ts +102 -0
- package/src/lib/popover/popover.component.html +5 -0
- package/src/lib/popover/popover.component.scss +9 -0
- package/src/lib/popover/popover.component.ts +130 -0
- package/src/lib/popover/popover.module.ts +11 -0
- package/src/lib/popup/popup.component.html +33 -0
- package/src/lib/popup/popup.component.scss +167 -0
- package/src/lib/popup/popup.component.ts +184 -0
- package/src/lib/popup/popup.module.ts +16 -0
- package/src/lib/popup/popup.service.ts +103 -0
- package/src/lib/progress-bar/progress-bar.component.html +5 -0
- package/src/lib/progress-bar/progress-bar.component.ts +10 -0
- package/src/lib/progress-bar/progress-bar.module.ts +11 -0
- package/src/lib/property-editor/editors/check-editor/check-editor.ts +44 -0
- package/src/lib/property-editor/editors/check-editor/check.module.ts +14 -0
- package/src/lib/property-editor/editors/color-editor/color.editor.ts +30 -0
- package/src/lib/property-editor/editors/color-editor/color.module.ts +20 -0
- package/src/lib/property-editor/editors/column-editor/column.editor.html +75 -0
- package/src/lib/property-editor/editors/column-editor/column.editor.scss +193 -0
- package/src/lib/property-editor/editors/column-editor/column.editor.ts +124 -0
- package/src/lib/property-editor/editors/column-editor/column.module.ts +28 -0
- package/src/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.html +80 -0
- package/src/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.scss +71 -0
- package/src/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.ts +232 -0
- package/src/lib/property-editor/editors/conditional-color-editor/conditional-color.module.ts +52 -0
- package/src/lib/property-editor/editors/date-editor/date.editor.ts +49 -0
- package/src/lib/property-editor/editors/date-editor/date.module.ts +20 -0
- package/src/lib/property-editor/editors/number-editor/number.editor.ts +46 -0
- package/src/lib/property-editor/editors/number-editor/number.module.ts +20 -0
- package/src/lib/property-editor/editors/range-editor/range.editor.html +67 -0
- package/src/lib/property-editor/editors/range-editor/range.editor.scss +68 -0
- package/src/lib/property-editor/editors/range-editor/range.editor.ts +153 -0
- package/src/lib/property-editor/editors/range-editor/range.module.ts +37 -0
- package/src/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.html +8 -0
- package/src/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.ts +70 -0
- package/src/lib/property-editor/editors/selectbox-editor/selectbox.editor.html +8 -0
- package/src/lib/property-editor/editors/selectbox-editor/selectbox.editor.ts +77 -0
- package/src/lib/property-editor/editors/selectbox-editor/selectbox.module.ts +18 -0
- package/src/lib/property-editor/editors/selection-editor/selection-editor.ts +52 -0
- package/src/lib/property-editor/editors/selection-editor/selection.module.ts +14 -0
- package/src/lib/property-editor/editors/switch-editor/number.editor.ts +26 -0
- package/src/lib/property-editor/editors/switch-editor/number.module.ts +21 -0
- package/src/lib/property-editor/editors/text-editor/text.editor.html +5 -0
- package/src/lib/property-editor/editors/text-editor/text.editor.ts +31 -0
- package/src/lib/property-editor/editors/text-editor/text.module.ts +20 -0
- package/src/lib/property-editor/editors/textarea-editor/textarea.editor.html +9 -0
- package/src/lib/property-editor/editors/textarea-editor/textarea.editor.ts +37 -0
- package/src/lib/property-editor/editors/textarea-editor/textarea.module.ts +20 -0
- package/src/lib/property-editor/editors/time-editor/time.editor.ts +38 -0
- package/src/lib/property-editor/editors/time-editor/time.module.ts +20 -0
- package/src/lib/property-editor/property-editor-renderer.directive.ts +165 -0
- package/src/lib/property-editor/property-editor.class.ts +178 -0
- package/src/lib/property-editor/property-editor.module.ts +115 -0
- package/src/lib/query-builder/query-builder-group.component.html +68 -0
- package/src/lib/query-builder/query-builder-group.component.ts +122 -0
- package/src/lib/query-builder/query-builder-popup/query-builder-popup.component.html +82 -0
- package/src/lib/query-builder/query-builder-popup/query-builder-popup.component.ts +178 -0
- package/src/lib/query-builder/query-builder-rule.component.html +135 -0
- package/src/lib/query-builder/query-builder-rule.component.ts +390 -0
- package/src/lib/query-builder/query-builder.class.ts +53 -0
- package/src/lib/query-builder/query-builder.component.html +3 -0
- package/src/lib/query-builder/query-builder.component.scss +286 -0
- package/src/lib/query-builder/query-builder.component.ts +220 -0
- package/src/lib/query-builder/query-builder.module.ts +44 -0
- package/src/lib/query-builder/query-builder.service.ts +188 -0
- package/src/lib/search-bar/search-bar.component.html +30 -0
- package/src/lib/search-bar/search-bar.component.scss +114 -0
- package/src/lib/search-bar/search-bar.component.ts +287 -0
- package/src/lib/search-bar/search-bar.module.ts +33 -0
- package/src/lib/searchbox/searchbox.component.html +25 -0
- package/src/lib/searchbox/searchbox.component.ts +85 -0
- package/src/lib/searchbox/searchbox.module.ts +17 -0
- package/src/lib/selectbox/selectbox.component.html +100 -0
- package/src/lib/selectbox/selectbox.component.ts +984 -0
- package/src/lib/selectbox/selectbox.module.ts +31 -0
- package/src/lib/selectbox/selectbox2.component.html +78 -0
- package/src/lib/selectbox/selectbox2.component.ts +603 -0
- package/src/lib/selection-list/selection-list.component.html +21 -0
- package/src/lib/selection-list/selection-list.component.ts +115 -0
- package/src/lib/selection-list/selection-list.module.ts +13 -0
- package/src/lib/switch/switch.component.html +4 -0
- package/src/lib/switch/switch.component.scss +65 -0
- package/src/lib/switch/switch.component.ts +57 -0
- package/src/lib/switch/switch.module.ts +14 -0
- package/src/lib/tab-page/tab-page-Renderer.component.ts +70 -0
- package/src/lib/tab-page/tab-page-host.component.ts +110 -0
- package/src/lib/tab-page/tab-page.module.ts +13 -0
- package/src/lib/tab-page/tab-page.service.ts +176 -0
- package/src/lib/tab-strip/tab-strip.component.html +6 -0
- package/src/lib/tab-strip/tab-strip.component.ts +47 -0
- package/src/lib/tab-strip/tab-strip.module.ts +11 -0
- package/src/lib/tab-view/dynamic-tabs.directive.ts +17 -0
- package/src/lib/tab-view/tab-view.component.html +33 -0
- package/src/lib/tab-view/tab-view.component.scss +0 -0
- package/src/lib/tab-view/tab-view.component.ts +129 -0
- package/src/lib/tab-view/tab-view.module.ts +12 -0
- package/src/lib/tab-view/tab.component.html +8 -0
- package/src/lib/tab-view/tab.component.ts +15 -0
- package/src/lib/textarea/textarea.component.html +13 -0
- package/src/lib/textarea/textarea.component.ts +24 -0
- package/src/lib/textarea/textarea.module.ts +14 -0
- package/src/lib/textbox/textbox.component.html +22 -0
- package/src/lib/textbox/textbox.component.ts +38 -0
- package/src/lib/textbox/textbox.module.ts +16 -0
- package/src/lib/time-picker/time-picker.component.html +21 -0
- package/src/lib/time-picker/time-picker.component.ts +1003 -0
- package/src/lib/time-picker/time-picker.module.ts +15 -0
- package/src/lib/toast/toast-message/toast-message.component.html +17 -0
- package/src/lib/toast/toast-message/toast-message.component.scss +75 -0
- package/src/lib/toast/toast-message/toast-message.component.ts +64 -0
- package/src/lib/toast/toast-wrapper/toast-wrapper.component.scss +15 -0
- package/src/lib/toast/toast-wrapper/toast-wrapper.component.ts +13 -0
- package/src/lib/toast/toast.module.ts +12 -0
- package/src/lib/toast/toast.service.ts +64 -0
- package/src/lib/toolbar/group-button/toolbar-group-button.component.ts +54 -0
- package/src/lib/toolbar/menu/toolbar-menu.component.html +4 -0
- package/src/lib/toolbar/menu/toolbar-menu.component.ts +81 -0
- package/src/lib/toolbar/search/toolbar-search.component.html +4 -0
- package/src/lib/toolbar/search/toolbar-search.component.scss +24 -0
- package/src/lib/toolbar/search/toolbar-search.component.ts +61 -0
- package/src/lib/toolbar/title/toolbar-title.component.ts +35 -0
- package/src/lib/toolbar/toolbar-item.ts +4 -0
- package/src/lib/toolbar/toolbar.component.html +4 -0
- package/src/lib/toolbar/toolbar.component.scss +9 -0
- package/src/lib/toolbar/toolbar.component.ts +16 -0
- package/src/lib/toolbar/toolbar.module.ts +25 -0
- package/src/lib/tooltip/tooltip.directive.ts +101 -0
- package/src/lib/tooltip/tooltip.module.ts +11 -0
- package/src/lib/tree-side-menu/tree-side-menu.component.html +43 -0
- package/src/lib/tree-side-menu/tree-side-menu.component.ts +698 -0
- package/src/lib/tree-side-menu/tree-side-menu.module.ts +19 -0
- package/src/lib/tree-view/tree-view.component.html +46 -0
- package/src/lib/tree-view/tree-view.component.ts +835 -0
- package/src/lib/tree-view/tree-view.module.ts +16 -0
- package/src/lib/upload-file/upload-file.component.html +16 -0
- package/src/lib/upload-file/upload-file.component.ts +230 -0
- package/src/lib/upload-file/upload-file.events.ts +11 -0
- package/src/lib/upload-file/upload-file.module.ts +16 -0
- package/src/lib/validation/validation-form.component.ts +78 -0
- package/src/lib/validation/validation-rule.widget.ts +112 -0
- package/src/lib/validation/validation.class.ts +22 -0
- package/src/lib/validation/validation.component.ts +92 -0
- package/src/lib/validation/validation.module.ts +28 -0
- package/{public-api.d.ts → src/public-api.ts} +61 -2
- package/src/test.ts +28 -0
- package/tsconfig.lib.json +25 -0
- package/tsconfig.lib.prod.json +6 -0
- package/tsconfig.spec.json +17 -0
- package/tslint.json +17 -0
- package/acorex-components.d.ts +0 -5
- package/esm2020/acorex-components.mjs +0 -5
- package/esm2020/lib/accordion/accordion.component.mjs +0 -44
- package/esm2020/lib/accordion/accordion.module.mjs +0 -20
- package/esm2020/lib/base/base-page.class.mjs +0 -94
- package/esm2020/lib/base/components.class.mjs +0 -17
- package/esm2020/lib/base/element.class.mjs +0 -294
- package/esm2020/lib/base/events.class.mjs +0 -11
- package/esm2020/lib/button/button.component.mjs +0 -71
- package/esm2020/lib/button/button.module.mjs +0 -21
- package/esm2020/lib/calendar/calendar-box/calendar-box.component.mjs +0 -413
- package/esm2020/lib/calendar/calendar-box/calendar-box.module.mjs +0 -22
- package/esm2020/lib/calendar/scheduler/scheduler-views.property.mjs +0 -54
- package/esm2020/lib/calendar/scheduler/scheduler.class.mjs +0 -18
- package/esm2020/lib/calendar/scheduler/scheduler.component.mjs +0 -213
- package/esm2020/lib/calendar/scheduler/scheduler.module.mjs +0 -68
- package/esm2020/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.mjs +0 -132
- package/esm2020/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.mjs +0 -37
- package/esm2020/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.mjs +0 -47
- package/esm2020/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.mjs +0 -95
- package/esm2020/lib/calendar/scheduler/views/month/scheduler-month-view.component.mjs +0 -204
- package/esm2020/lib/calendar/scheduler/views/scheduler-view.component.mjs +0 -99
- package/esm2020/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.mjs +0 -77
- package/esm2020/lib/checkbox/checkbox.component.mjs +0 -98
- package/esm2020/lib/checkbox/checkbox.module.mjs +0 -20
- package/esm2020/lib/color-picker/color-box/color-box.component.mjs +0 -422
- package/esm2020/lib/color-picker/color-picker.component.mjs +0 -82
- package/esm2020/lib/color-picker/color-picker.module.mjs +0 -24
- package/esm2020/lib/context-menu/context-menu.component.mjs +0 -65
- package/esm2020/lib/context-menu/context-menu.directive.mjs +0 -135
- package/esm2020/lib/context-menu/context-menu.module.mjs +0 -20
- package/esm2020/lib/data-filter/columns/filter-column-date.component.mjs +0 -138
- package/esm2020/lib/data-filter/columns/filter-column-number.component.mjs +0 -117
- package/esm2020/lib/data-filter/columns/filter-column-selection.component.mjs +0 -74
- package/esm2020/lib/data-filter/columns/filter-column-string.component.mjs +0 -117
- package/esm2020/lib/data-filter/filter-panel/filter-panel.component.mjs +0 -258
- package/esm2020/lib/data-filter/filter.class.mjs +0 -44
- package/esm2020/lib/data-filter/filter.module.mjs +0 -90
- package/esm2020/lib/data-filter/toolbar/filter-toolbar.component.mjs +0 -166
- package/esm2020/lib/data-list/core/data-list.component.mjs +0 -40
- package/esm2020/lib/data-list/list/list.component.mjs +0 -124
- package/esm2020/lib/data-list/list/list.module.mjs +0 -22
- package/esm2020/lib/data-list/list/toolbar-list-view.component.mjs +0 -85
- package/esm2020/lib/data-source/datasource.component.mjs +0 -47
- package/esm2020/lib/data-source/datasource.module.mjs +0 -18
- package/esm2020/lib/data-source/read-param.mjs +0 -5
- package/esm2020/lib/date-picker/date-picker.component.mjs +0 -702
- package/esm2020/lib/date-picker/date-picker.module.mjs +0 -25
- package/esm2020/lib/dialog/dialog.component.mjs +0 -24
- package/esm2020/lib/dialog/dialog.module.mjs +0 -21
- package/esm2020/lib/dialog/dialog.service.mjs +0 -150
- package/esm2020/lib/drawer/content.component.mjs +0 -18
- package/esm2020/lib/drawer/drawer-container.component.mjs +0 -36
- package/esm2020/lib/drawer/drawer.component.mjs +0 -142
- package/esm2020/lib/drawer/drawer.module.mjs +0 -23
- package/esm2020/lib/dropdown/dropdown.component.mjs +0 -176
- package/esm2020/lib/dropdown/dropdown.module.mjs +0 -26
- package/esm2020/lib/fieldset/fieldset.component.mjs +0 -59
- package/esm2020/lib/fieldset/fieldset.module.mjs +0 -19
- package/esm2020/lib/form-group/form-group.component.mjs +0 -34
- package/esm2020/lib/form-group/form-group.module.mjs +0 -21
- package/esm2020/lib/label/label.component.mjs +0 -19
- package/esm2020/lib/label/label.module.mjs +0 -21
- package/esm2020/lib/loading/loading-indicator.component.mjs +0 -17
- package/esm2020/lib/loading/loading-panel.component.mjs +0 -44
- package/esm2020/lib/loading/loading.module.mjs +0 -21
- package/esm2020/lib/loading/loading.service.mjs +0 -45
- package/esm2020/lib/menu/menu-item.component.mjs +0 -47
- package/esm2020/lib/menu/menu.component.mjs +0 -86
- package/esm2020/lib/menu/menu.module.mjs +0 -22
- package/esm2020/lib/menu/menu2.component.mjs +0 -96
- package/esm2020/lib/number-box/number-box.component.mjs +0 -622
- package/esm2020/lib/number-box/number-box.module.mjs +0 -21
- package/esm2020/lib/page/content.component.mjs +0 -32
- package/esm2020/lib/page/footer.component.mjs +0 -19
- package/esm2020/lib/page/page.component.mjs +0 -53
- package/esm2020/lib/page/page.module.mjs +0 -22
- package/esm2020/lib/panel-box/panel-box.component.mjs +0 -88
- package/esm2020/lib/panel-box/panel-box.module.mjs +0 -19
- package/esm2020/lib/password-box/password-box.component.mjs +0 -31
- package/esm2020/lib/password-box/password-box.module.mjs +0 -23
- package/esm2020/lib/popover/custom-cdk-overlay.service.mjs +0 -48
- package/esm2020/lib/popover/overlay.service.mjs +0 -90
- package/esm2020/lib/popover/popover.component.mjs +0 -127
- package/esm2020/lib/popover/popover.module.mjs +0 -19
- package/esm2020/lib/popup/popup.component.mjs +0 -147
- package/esm2020/lib/popup/popup.module.mjs +0 -25
- package/esm2020/lib/popup/popup.service.mjs +0 -93
- package/esm2020/lib/progress-bar/progress-bar.component.mjs +0 -19
- package/esm2020/lib/progress-bar/progress-bar.module.mjs +0 -19
- package/esm2020/lib/property-editor/editors/check-editor/check-editor.mjs +0 -61
- package/esm2020/lib/property-editor/editors/check-editor/check.module.mjs +0 -22
- package/esm2020/lib/property-editor/editors/color-editor/color.editor.mjs +0 -38
- package/esm2020/lib/property-editor/editors/color-editor/color.module.mjs +0 -24
- package/esm2020/lib/property-editor/editors/column-editor/column.editor.mjs +0 -115
- package/esm2020/lib/property-editor/editors/column-editor/column.module.mjs +0 -32
- package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.mjs +0 -211
- package/esm2020/lib/property-editor/editors/conditional-color-editor/conditional-color.module.mjs +0 -78
- package/esm2020/lib/property-editor/editors/date-editor/date.editor.mjs +0 -51
- package/esm2020/lib/property-editor/editors/date-editor/date.module.mjs +0 -24
- package/esm2020/lib/property-editor/editors/number-editor/number.editor.mjs +0 -63
- package/esm2020/lib/property-editor/editors/number-editor/number.module.mjs +0 -24
- package/esm2020/lib/property-editor/editors/range-editor/range.editor.mjs +0 -140
- package/esm2020/lib/property-editor/editors/range-editor/range.module.mjs +0 -61
- package/esm2020/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.mjs +0 -72
- package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.editor.mjs +0 -71
- package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.module.mjs +0 -25
- package/esm2020/lib/property-editor/editors/selection-editor/selection-editor.mjs +0 -69
- package/esm2020/lib/property-editor/editors/selection-editor/selection.module.mjs +0 -22
- package/esm2020/lib/property-editor/editors/switch-editor/number.editor.mjs +0 -29
- package/esm2020/lib/property-editor/editors/switch-editor/number.module.mjs +0 -25
- package/esm2020/lib/property-editor/editors/text-editor/text.editor.mjs +0 -32
- package/esm2020/lib/property-editor/editors/text-editor/text.module.mjs +0 -24
- package/esm2020/lib/property-editor/editors/textarea-editor/textarea.editor.mjs +0 -32
- package/esm2020/lib/property-editor/editors/textarea-editor/textarea.module.mjs +0 -24
- package/esm2020/lib/property-editor/editors/time-editor/time.editor.mjs +0 -43
- package/esm2020/lib/property-editor/editors/time-editor/time.module.mjs +0 -24
- package/esm2020/lib/property-editor/property-editor-renderer.directive.mjs +0 -154
- package/esm2020/lib/property-editor/property-editor.class.mjs +0 -101
- package/esm2020/lib/property-editor/property-editor.module.mjs +0 -196
- package/esm2020/lib/query-builder/query-builder-group.component.mjs +0 -124
- package/esm2020/lib/query-builder/query-builder-popup/query-builder-popup.component.mjs +0 -171
- package/esm2020/lib/query-builder/query-builder-rule.component.mjs +0 -395
- package/esm2020/lib/query-builder/query-builder.class.mjs +0 -20
- package/esm2020/lib/query-builder/query-builder.component.mjs +0 -82
- package/esm2020/lib/query-builder/query-builder.module.mjs +0 -62
- package/esm2020/lib/query-builder/query-builder.service.mjs +0 -197
- package/esm2020/lib/search-bar/search-bar.component.mjs +0 -283
- package/esm2020/lib/search-bar/search-bar.module.mjs +0 -63
- package/esm2020/lib/searchbox/searchbox.component.mjs +0 -79
- package/esm2020/lib/searchbox/searchbox.module.mjs +0 -24
- package/esm2020/lib/selectbox/selectbox.component.mjs +0 -961
- package/esm2020/lib/selectbox/selectbox.module.mjs +0 -44
- package/esm2020/lib/selectbox/selectbox2.component.mjs +0 -574
- package/esm2020/lib/selection-list/selection-list.component.mjs +0 -108
- package/esm2020/lib/selection-list/selection-list.module.mjs +0 -21
- package/esm2020/lib/switch/switch.component.mjs +0 -51
- package/esm2020/lib/switch/switch.module.mjs +0 -20
- package/esm2020/lib/tab-page/tab-page-Renderer.component.mjs +0 -71
- package/esm2020/lib/tab-page/tab-page-host.component.mjs +0 -116
- package/esm2020/lib/tab-page/tab-page.module.mjs +0 -21
- package/esm2020/lib/tab-page/tab-page.service.mjs +0 -156
- package/esm2020/lib/tab-strip/tab-strip.component.mjs +0 -36
- package/esm2020/lib/tab-strip/tab-strip.module.mjs +0 -19
- package/esm2020/lib/tab-view/dynamic-tabs.directive.mjs +0 -24
- package/esm2020/lib/tab-view/tab-view.component.mjs +0 -105
- package/esm2020/lib/tab-view/tab-view.module.mjs +0 -21
- package/esm2020/lib/tab-view/tab.component.mjs +0 -30
- package/esm2020/lib/textarea/textarea.component.mjs +0 -26
- package/esm2020/lib/textarea/textarea.module.mjs +0 -21
- package/esm2020/lib/textbox/textbox.component.mjs +0 -39
- package/esm2020/lib/textbox/textbox.module.mjs +0 -24
- package/esm2020/lib/time-picker/time-picker.component.mjs +0 -943
- package/esm2020/lib/time-picker/time-picker.module.mjs +0 -22
- package/esm2020/lib/toast/toast-message/toast-message.component.mjs +0 -74
- package/esm2020/lib/toast/toast-wrapper/toast-wrapper.component.mjs +0 -13
- package/esm2020/lib/toast/toast.module.mjs +0 -21
- package/esm2020/lib/toast/toast.service.mjs +0 -44
- package/esm2020/lib/toolbar/group-button/toolbar-group-button.component.mjs +0 -78
- package/esm2020/lib/toolbar/menu/toolbar-menu.component.mjs +0 -57
- package/esm2020/lib/toolbar/search/toolbar-search.component.mjs +0 -54
- package/esm2020/lib/toolbar/title/toolbar-title.component.mjs +0 -47
- package/esm2020/lib/toolbar/toolbar-item.mjs +0 -6
- package/esm2020/lib/toolbar/toolbar.component.mjs +0 -13
- package/esm2020/lib/toolbar/toolbar.module.mjs +0 -40
- package/esm2020/lib/tooltip/tooltip.directive.mjs +0 -100
- package/esm2020/lib/tooltip/tooltip.module.mjs +0 -19
- package/esm2020/lib/tree-side-menu/tree-side-menu.component.mjs +0 -646
- package/esm2020/lib/tree-side-menu/tree-side-menu.module.mjs +0 -35
- package/esm2020/lib/tree-view/tree-view.component.mjs +0 -775
- package/esm2020/lib/tree-view/tree-view.module.mjs +0 -22
- package/esm2020/lib/upload-file/upload-file.component.mjs +0 -208
- package/esm2020/lib/upload-file/upload-file.events.mjs +0 -2
- package/esm2020/lib/upload-file/upload-file.module.mjs +0 -24
- package/esm2020/lib/validation/validation-form.component.mjs +0 -65
- package/esm2020/lib/validation/validation-rule.widget.mjs +0 -111
- package/esm2020/lib/validation/validation.class.mjs +0 -2
- package/esm2020/lib/validation/validation.component.mjs +0 -89
- package/esm2020/lib/validation/validation.module.mjs +0 -34
- package/esm2020/public-api.mjs +0 -158
- package/fesm2015/acorex-components.mjs +0 -15988
- package/fesm2015/acorex-components.mjs.map +0 -1
- package/fesm2020/acorex-components.mjs +0 -15923
- package/fesm2020/acorex-components.mjs.map +0 -1
- package/lib/accordion/accordion.component.d.ts +0 -13
- package/lib/accordion/accordion.module.d.ts +0 -9
- package/lib/base/base-page.class.d.ts +0 -46
- package/lib/base/components.class.d.ts +0 -10
- package/lib/base/element.class.d.ts +0 -106
- package/lib/base/events.class.d.ts +0 -18
- package/lib/button/button.component.d.ts +0 -21
- package/lib/button/button.module.d.ts +0 -8
- package/lib/calendar/calendar-box/calendar-box.component.d.ts +0 -81
- package/lib/calendar/calendar-box/calendar-box.module.d.ts +0 -11
- package/lib/calendar/scheduler/scheduler-views.property.d.ts +0 -19
- package/lib/calendar/scheduler/scheduler.component.d.ts +0 -39
- package/lib/calendar/scheduler/scheduler.module.d.ts +0 -21
- package/lib/calendar/scheduler/toolbars/scheduler-toolbar-navigator.d.ts +0 -25
- package/lib/calendar/scheduler/toolbars/scheduler-toolbar-views.d.ts +0 -14
- package/lib/calendar/scheduler/views/agenda/scheduler-agenda-view.component.d.ts +0 -16
- package/lib/calendar/scheduler/views/daytime/scheduler-daytime-view.component.d.ts +0 -26
- package/lib/calendar/scheduler/views/month/scheduler-month-view.component.d.ts +0 -37
- package/lib/calendar/scheduler/views/scheduler-view.component.d.ts +0 -28
- package/lib/calendar/scheduler/views/timeline/scheduler-timeline-view.component.d.ts +0 -24
- package/lib/checkbox/checkbox.component.d.ts +0 -30
- package/lib/checkbox/checkbox.module.d.ts +0 -9
- package/lib/color-picker/color-box/color-box.component.d.ts +0 -25
- package/lib/color-picker/color-picker.component.d.ts +0 -30
- package/lib/color-picker/color-picker.module.d.ts +0 -13
- package/lib/context-menu/context-menu.component.d.ts +0 -22
- package/lib/context-menu/context-menu.directive.d.ts +0 -38
- package/lib/context-menu/context-menu.module.d.ts +0 -9
- package/lib/data-filter/columns/filter-column-date.component.d.ts +0 -22
- package/lib/data-filter/columns/filter-column-number.component.d.ts +0 -15
- package/lib/data-filter/columns/filter-column-selection.component.d.ts +0 -18
- package/lib/data-filter/columns/filter-column-string.component.d.ts +0 -15
- package/lib/data-filter/filter-panel/filter-panel.component.d.ts +0 -45
- package/lib/data-filter/filter.class.d.ts +0 -40
- package/lib/data-filter/filter.module.d.ts +0 -24
- package/lib/data-filter/toolbar/filter-toolbar.component.d.ts +0 -25
- package/lib/data-list/core/data-list.component.d.ts +0 -15
- package/lib/data-list/list/list.component.d.ts +0 -40
- package/lib/data-list/list/list.module.d.ts +0 -11
- package/lib/data-list/list/toolbar-list-view.component.d.ts +0 -17
- package/lib/data-source/datasource.component.d.ts +0 -16
- package/lib/data-source/datasource.module.d.ts +0 -7
- package/lib/date-picker/date-picker.component.d.ts +0 -81
- package/lib/date-picker/date-picker.module.d.ts +0 -14
- package/lib/dialog/dialog.component.d.ts +0 -14
- package/lib/dialog/dialog.module.d.ts +0 -10
- package/lib/dialog/dialog.service.d.ts +0 -36
- package/lib/drawer/content.component.d.ts +0 -7
- package/lib/drawer/drawer-container.component.d.ts +0 -10
- package/lib/drawer/drawer.component.d.ts +0 -34
- package/lib/drawer/drawer.module.d.ts +0 -10
- package/lib/dropdown/dropdown.component.d.ts +0 -38
- package/lib/dropdown/dropdown.module.d.ts +0 -13
- package/lib/fieldset/fieldset.component.d.ts +0 -11
- package/lib/fieldset/fieldset.module.d.ts +0 -8
- package/lib/form-group/form-group.component.d.ts +0 -14
- package/lib/form-group/form-group.module.d.ts +0 -8
- package/lib/label/label.component.d.ts +0 -9
- package/lib/label/label.module.d.ts +0 -8
- package/lib/loading/loading-indicator.component.d.ts +0 -9
- package/lib/loading/loading-panel.component.d.ts +0 -13
- package/lib/loading/loading.module.d.ts +0 -10
- package/lib/loading/loading.service.d.ts +0 -13
- package/lib/menu/menu-item.component.d.ts +0 -18
- package/lib/menu/menu.component.d.ts +0 -35
- package/lib/menu/menu.module.d.ts +0 -11
- package/lib/menu/menu2.component.d.ts +0 -21
- package/lib/number-box/number-box.component.d.ts +0 -52
- package/lib/number-box/number-box.module.d.ts +0 -10
- package/lib/page/content.component.d.ts +0 -8
- package/lib/page/footer.component.d.ts +0 -5
- package/lib/page/page.component.d.ts +0 -16
- package/lib/page/page.module.d.ts +0 -11
- package/lib/panel-box/panel-box.component.d.ts +0 -19
- package/lib/panel-box/panel-box.module.d.ts +0 -8
- package/lib/password-box/password-box.component.d.ts +0 -12
- package/lib/password-box/password-box.module.d.ts +0 -10
- package/lib/popover/custom-cdk-overlay.service.d.ts +0 -19
- package/lib/popover/overlay.service.d.ts +0 -31
- package/lib/popover/popover.component.d.ts +0 -34
- package/lib/popover/popover.module.d.ts +0 -8
- package/lib/popup/popup.component.d.ts +0 -40
- package/lib/popup/popup.module.d.ts +0 -13
- package/lib/popup/popup.service.d.ts +0 -22
- package/lib/progress-bar/progress-bar.component.d.ts +0 -7
- package/lib/progress-bar/progress-bar.module.d.ts +0 -8
- package/lib/property-editor/editors/check-editor/check-editor.d.ts +0 -19
- package/lib/property-editor/editors/check-editor/check.module.d.ts +0 -11
- package/lib/property-editor/editors/color-editor/color.editor.d.ts +0 -13
- package/lib/property-editor/editors/color-editor/color.module.d.ts +0 -12
- package/lib/property-editor/editors/column-editor/column.editor.d.ts +0 -34
- package/lib/property-editor/editors/column-editor/column.module.d.ts +0 -20
- package/lib/property-editor/editors/conditional-color-editor/conditional-color.editor.d.ts +0 -44
- package/lib/property-editor/editors/conditional-color-editor/conditional-color.module.d.ts +0 -19
- package/lib/property-editor/editors/date-editor/date.editor.d.ts +0 -28
- package/lib/property-editor/editors/date-editor/date.module.d.ts +0 -12
- package/lib/property-editor/editors/number-editor/number.editor.d.ts +0 -20
- package/lib/property-editor/editors/number-editor/number.module.d.ts +0 -12
- package/lib/property-editor/editors/range-editor/range.editor.d.ts +0 -29
- package/lib/property-editor/editors/range-editor/range.module.d.ts +0 -18
- package/lib/property-editor/editors/searchbar-selectbox-editor/searchbar-selectbox-editor.d.ts +0 -29
- package/lib/property-editor/editors/selectbox-editor/selectbox.editor.d.ts +0 -28
- package/lib/property-editor/editors/selectbox-editor/selectbox.module.d.ts +0 -14
- package/lib/property-editor/editors/selection-editor/selection-editor.d.ts +0 -25
- package/lib/property-editor/editors/selection-editor/selection.module.d.ts +0 -11
- package/lib/property-editor/editors/switch-editor/number.editor.d.ts +0 -11
- package/lib/property-editor/editors/switch-editor/number.module.d.ts +0 -13
- package/lib/property-editor/editors/text-editor/text.editor.d.ts +0 -18
- package/lib/property-editor/editors/text-editor/text.module.d.ts +0 -12
- package/lib/property-editor/editors/textarea-editor/textarea.editor.d.ts +0 -17
- package/lib/property-editor/editors/textarea-editor/textarea.module.d.ts +0 -12
- package/lib/property-editor/editors/time-editor/time.editor.d.ts +0 -17
- package/lib/property-editor/editors/time-editor/time.module.d.ts +0 -12
- package/lib/property-editor/property-editor-renderer.directive.d.ts +0 -30
- package/lib/property-editor/property-editor.class.d.ts +0 -92
- package/lib/property-editor/property-editor.module.d.ts +0 -21
- package/lib/query-builder/query-builder-group.component.d.ts +0 -33
- package/lib/query-builder/query-builder-popup/query-builder-popup.component.d.ts +0 -35
- package/lib/query-builder/query-builder-rule.component.d.ts +0 -45
- package/lib/query-builder/query-builder.class.d.ts +0 -45
- package/lib/query-builder/query-builder.component.d.ts +0 -27
- package/lib/query-builder/query-builder.module.d.ts +0 -23
- package/lib/query-builder/query-builder.service.d.ts +0 -18
- package/lib/search-bar/search-bar.component.d.ts +0 -61
- package/lib/search-bar/search-bar.module.d.ts +0 -18
- package/lib/searchbox/searchbox.component.d.ts +0 -22
- package/lib/searchbox/searchbox.module.d.ts +0 -13
- package/lib/selectbox/selectbox.component.d.ts +0 -118
- package/lib/selectbox/selectbox.module.d.ts +0 -15
- package/lib/selectbox/selectbox2.component.d.ts +0 -103
- package/lib/selection-list/selection-list.component.d.ts +0 -32
- package/lib/selection-list/selection-list.module.d.ts +0 -10
- package/lib/switch/switch.component.d.ts +0 -20
- package/lib/switch/switch.module.d.ts +0 -9
- package/lib/tab-page/tab-page-Renderer.component.d.ts +0 -16
- package/lib/tab-page/tab-page-host.component.d.ts +0 -25
- package/lib/tab-page/tab-page.module.d.ts +0 -10
- package/lib/tab-page/tab-page.service.d.ts +0 -30
- package/lib/tab-strip/tab-strip.component.d.ts +0 -28
- package/lib/tab-strip/tab-strip.module.d.ts +0 -8
- package/lib/tab-view/dynamic-tabs.directive.d.ts +0 -16
- package/lib/tab-view/tab-view.component.d.ts +0 -26
- package/lib/tab-view/tab-view.module.d.ts +0 -10
- package/lib/tab-view/tab.component.d.ts +0 -12
- package/lib/textarea/textarea.component.d.ts +0 -12
- package/lib/textarea/textarea.module.d.ts +0 -8
- package/lib/textbox/textbox.component.d.ts +0 -16
- package/lib/textbox/textbox.module.d.ts +0 -11
- package/lib/time-picker/time-picker.component.d.ts +0 -52
- package/lib/time-picker/time-picker.module.d.ts +0 -11
- package/lib/toast/toast-message/toast-message.component.d.ts +0 -18
- package/lib/toast/toast-wrapper/toast-wrapper.component.d.ts +0 -8
- package/lib/toast/toast.module.d.ts +0 -9
- package/lib/toast/toast.service.d.ts +0 -18
- package/lib/toolbar/group-button/toolbar-group-button.component.d.ts +0 -12
- package/lib/toolbar/menu/toolbar-menu.component.d.ts +0 -24
- package/lib/toolbar/search/toolbar-search.component.d.ts +0 -16
- package/lib/toolbar/title/toolbar-title.component.d.ts +0 -9
- package/lib/toolbar/toolbar-item.d.ts +0 -3
- package/lib/toolbar/toolbar.component.d.ts +0 -8
- package/lib/toolbar/toolbar.module.d.ts +0 -14
- package/lib/tooltip/tooltip.directive.d.ts +0 -21
- package/lib/tooltip/tooltip.module.d.ts +0 -8
- package/lib/tree-side-menu/tree-side-menu.component.d.ts +0 -111
- package/lib/tree-side-menu/tree-side-menu.module.d.ts +0 -11
- package/lib/tree-view/tree-view.component.d.ts +0 -121
- package/lib/tree-view/tree-view.module.d.ts +0 -11
- package/lib/upload-file/upload-file.component.d.ts +0 -42
- package/lib/upload-file/upload-file.events.d.ts +0 -10
- package/lib/upload-file/upload-file.module.d.ts +0 -13
- package/lib/validation/validation-form.component.d.ts +0 -19
- package/lib/validation/validation-rule.widget.d.ts +0 -23
- package/lib/validation/validation.class.d.ts +0 -16
- package/lib/validation/validation.component.d.ts +0 -25
- package/lib/validation/validation.module.d.ts +0 -11
@@ -0,0 +1,115 @@
|
|
1
|
+
import { Component, Input, ChangeDetectionStrategy, ChangeDetectorRef, ViewEncapsulation, EventEmitter } from '@angular/core';
|
2
|
+
import { Output } from '@angular/core';
|
3
|
+
import { AXSelectionList } from '@acorex/core';
|
4
|
+
import { AXBaseComponent, AXBaseSizableComponent, AXBaseValueComponent, AXElementSize, AXValidatableComponent } from '../base/element.class';
|
5
|
+
|
6
|
+
@Component({
|
7
|
+
selector: 'ax-selection-list',
|
8
|
+
templateUrl: './selection-list.component.html',
|
9
|
+
encapsulation: ViewEncapsulation.None,
|
10
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
11
|
+
})
|
12
|
+
export class AXSelectionListComponent extends AXValidatableComponent implements AXBaseSizableComponent, AXBaseComponent {
|
13
|
+
private _selectedItems: any[] = [];
|
14
|
+
|
15
|
+
@Input()
|
16
|
+
readonly: boolean;
|
17
|
+
|
18
|
+
@Input()
|
19
|
+
value: boolean;
|
20
|
+
|
21
|
+
@Input()
|
22
|
+
disabled: boolean;
|
23
|
+
|
24
|
+
@Input()
|
25
|
+
size: AXElementSize = 'md';
|
26
|
+
|
27
|
+
@Input()
|
28
|
+
direction: string = 'horizontal';
|
29
|
+
|
30
|
+
@Input()
|
31
|
+
items: Array<AXSelectionList> = [];
|
32
|
+
|
33
|
+
@Input()
|
34
|
+
mode: string = 'single';
|
35
|
+
|
36
|
+
@Input()
|
37
|
+
textField: string = 'text';
|
38
|
+
|
39
|
+
@Input()
|
40
|
+
valueField: string = 'value';
|
41
|
+
|
42
|
+
@Output()
|
43
|
+
selectionChanged: EventEmitter<any> = new EventEmitter<any>();
|
44
|
+
|
45
|
+
@Output()
|
46
|
+
selectedItemsChange: EventEmitter<any[]> = new EventEmitter<any[]>();
|
47
|
+
|
48
|
+
|
49
|
+
@Input()
|
50
|
+
public get selectedItems(): any[] {
|
51
|
+
return this._selectedItems || [];
|
52
|
+
}
|
53
|
+
public set selectedItems(v: any[]) {
|
54
|
+
this._selectedItems = v;
|
55
|
+
this.selectedItemsChange.emit(this.selectedItems);
|
56
|
+
this.cdr.detectChanges();
|
57
|
+
}
|
58
|
+
|
59
|
+
@Output()
|
60
|
+
selectedValuesChange: EventEmitter<any[]> = new EventEmitter<any[]>();
|
61
|
+
|
62
|
+
|
63
|
+
@Input()
|
64
|
+
public get selectedValues(): any[] {
|
65
|
+
return this._selectedItems.map((c) => c[this.valueField]) || [];
|
66
|
+
}
|
67
|
+
public set selectedValues(v: any[]) {
|
68
|
+
const old = this.selectedValues;
|
69
|
+
if (v == null) {
|
70
|
+
v = [];
|
71
|
+
}
|
72
|
+
if (JSON.stringify(old) != JSON.stringify(v)) {
|
73
|
+
this.selectedItems = this.items.filter((c) => v.includes(c[this.valueField]));
|
74
|
+
this.selectedValuesChange.emit(this.selectedValues);
|
75
|
+
}
|
76
|
+
}
|
77
|
+
|
78
|
+
ngAfterViewInit(): void {
|
79
|
+
this.cdr.detectChanges();
|
80
|
+
}
|
81
|
+
|
82
|
+
constructor(private cdr: ChangeDetectorRef) {
|
83
|
+
super();
|
84
|
+
}
|
85
|
+
|
86
|
+
onCheckValueChange(value: any, checked: boolean) {
|
87
|
+
if (!this.disabled) {
|
88
|
+
if (this.mode === 'single') {
|
89
|
+
this.selectedValues = [value];
|
90
|
+
} else {
|
91
|
+
if (checked) {
|
92
|
+
if (!this.selectedValues.includes(value)) {
|
93
|
+
this.selectedValues = [...this.selectedValues, ...[value]];
|
94
|
+
}
|
95
|
+
} else {
|
96
|
+
this.selectedValues = this.selectedValues.filter((c) => c !== value);
|
97
|
+
}
|
98
|
+
}
|
99
|
+
}
|
100
|
+
}
|
101
|
+
focus(): void { }
|
102
|
+
|
103
|
+
onvalueChanged(e) {
|
104
|
+
if (!this.disabled) {
|
105
|
+
this.selectedItemsChange.emit([e]);
|
106
|
+
}
|
107
|
+
}
|
108
|
+
|
109
|
+
|
110
|
+
checkBoxClick(e, data) {
|
111
|
+
debugger
|
112
|
+
this.selectionChanged.emit({ valueField: data[this.valueField], value: e.value });
|
113
|
+
}
|
114
|
+
|
115
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { NgModule } from '@angular/core';
|
2
|
+
import { CommonModule } from '@angular/common';
|
3
|
+
import { AXSelectionListComponent } from './selection-list.component';
|
4
|
+
import { AXCheckBoxModule } from '../checkbox/checkbox.module';
|
5
|
+
import { FormsModule } from '@angular/forms';
|
6
|
+
|
7
|
+
@NgModule({
|
8
|
+
declarations: [AXSelectionListComponent],
|
9
|
+
imports: [CommonModule, FormsModule, AXCheckBoxModule],
|
10
|
+
exports: [AXSelectionListComponent],
|
11
|
+
providers: []
|
12
|
+
})
|
13
|
+
export class AXSelectionListModule { }
|
@@ -0,0 +1,65 @@
|
|
1
|
+
.ax {
|
2
|
+
&.ax-switch {
|
3
|
+
position: relative;
|
4
|
+
display: inline-block;
|
5
|
+
width: 46px;
|
6
|
+
height: 25px;
|
7
|
+
margin: 5px;
|
8
|
+
|
9
|
+
>input {
|
10
|
+
opacity: 0;
|
11
|
+
width: 0;
|
12
|
+
height: 0;
|
13
|
+
|
14
|
+
&:checked {
|
15
|
+
&+.slider {
|
16
|
+
background-color: var(--ax-primary-color);
|
17
|
+
|
18
|
+
&::before {
|
19
|
+
-webkit-transform: translateX(21px);
|
20
|
+
-ms-transform: translateX(21px);
|
21
|
+
transform: translateX(21px);
|
22
|
+
}
|
23
|
+
}
|
24
|
+
}
|
25
|
+
}
|
26
|
+
|
27
|
+
&:focus-within {
|
28
|
+
.slider {
|
29
|
+
outline: 1px solid var(--ax-primary-color);
|
30
|
+
}
|
31
|
+
}
|
32
|
+
|
33
|
+
.slider {
|
34
|
+
position: absolute;
|
35
|
+
cursor: pointer;
|
36
|
+
top: 0;
|
37
|
+
left: 0;
|
38
|
+
right: 0;
|
39
|
+
bottom: 0;
|
40
|
+
background-color: #ccc;
|
41
|
+
-webkit-transition: 0.2s;
|
42
|
+
transition: 0.2s;
|
43
|
+
|
44
|
+
&::before {
|
45
|
+
content: "";
|
46
|
+
position: absolute;
|
47
|
+
height: 21px;
|
48
|
+
width: 21px;
|
49
|
+
left: 2px;
|
50
|
+
bottom: 2px;
|
51
|
+
background-color: white;
|
52
|
+
-webkit-transition: 0.2s;
|
53
|
+
transition: 0.2s;
|
54
|
+
}
|
55
|
+
|
56
|
+
&.round {
|
57
|
+
border-radius: 25px;
|
58
|
+
|
59
|
+
&:before {
|
60
|
+
border-radius: 50%;
|
61
|
+
}
|
62
|
+
}
|
63
|
+
}
|
64
|
+
}
|
65
|
+
}
|
@@ -0,0 +1,57 @@
|
|
1
|
+
import { Component, ChangeDetectorRef, ChangeDetectionStrategy, ViewEncapsulation, Output, Input, EventEmitter } from '@angular/core';
|
2
|
+
import { AXBaseComponent, AXBaseSizableComponent, AXBaseValueComponent, AXElementSize } from '../base/element.class';
|
3
|
+
import { AXValueEvent } from '../base/events.class';
|
4
|
+
|
5
|
+
@Component({
|
6
|
+
selector: 'ax-switch',
|
7
|
+
templateUrl: './switch.component.html',
|
8
|
+
styleUrls: ['./switch.component.scss'],
|
9
|
+
encapsulation: ViewEncapsulation.None,
|
10
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
11
|
+
})
|
12
|
+
export class AXSwitchComponent extends AXBaseComponent implements AXBaseSizableComponent, AXBaseValueComponent<boolean> {
|
13
|
+
|
14
|
+
|
15
|
+
@Output()
|
16
|
+
onValueChanged: EventEmitter<AXValueEvent<boolean>> = new EventEmitter<AXValueEvent<boolean>>();
|
17
|
+
|
18
|
+
@Output()
|
19
|
+
valueChange: EventEmitter<boolean> = new EventEmitter<boolean>();
|
20
|
+
|
21
|
+
@Input()
|
22
|
+
tabIndex: number = 0;
|
23
|
+
|
24
|
+
private _value: boolean;
|
25
|
+
@Input()
|
26
|
+
public get value(): boolean {
|
27
|
+
return this._value;
|
28
|
+
}
|
29
|
+
public set value(v: boolean) {
|
30
|
+
if (this._value !== v) {
|
31
|
+
const oldValue = this._value;
|
32
|
+
this._value = v;
|
33
|
+
this.valueChange.emit(v);
|
34
|
+
this.onValueChanged.emit({
|
35
|
+
component: this,
|
36
|
+
oldValue,
|
37
|
+
value: v
|
38
|
+
});
|
39
|
+
}
|
40
|
+
}
|
41
|
+
|
42
|
+
|
43
|
+
@Input()
|
44
|
+
readonly: boolean;
|
45
|
+
|
46
|
+
@Input()
|
47
|
+
disabled: boolean;
|
48
|
+
|
49
|
+
@Input()
|
50
|
+
size: AXElementSize = 'md';
|
51
|
+
|
52
|
+
constructor(protected cdr: ChangeDetectorRef) {
|
53
|
+
super();
|
54
|
+
}
|
55
|
+
|
56
|
+
focus(): void { }
|
57
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { NgModule } from '@angular/core';
|
2
|
+
import { CommonModule } from '@angular/common';
|
3
|
+
import { FormsModule } from '@angular/forms';
|
4
|
+
import { AXSwitchComponent } from './switch.component';
|
5
|
+
|
6
|
+
@NgModule({
|
7
|
+
declarations: [AXSwitchComponent],
|
8
|
+
imports: [CommonModule, FormsModule],
|
9
|
+
exports: [AXSwitchComponent],
|
10
|
+
providers: []
|
11
|
+
})
|
12
|
+
export class AXSwitchModule {
|
13
|
+
|
14
|
+
}
|
@@ -0,0 +1,70 @@
|
|
1
|
+
import { Component, ViewChild, ViewContainerRef, ComponentFactoryResolver, ComponentRef, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';
|
2
|
+
import { AXTabPageService } from './tab-page.service';
|
3
|
+
import { TAB_META_KEY } from '../base/base-page.class';
|
4
|
+
import { AXTabPageHostComponent } from './tab-page-host.component';
|
5
|
+
import { Subscription } from 'rxjs';
|
6
|
+
|
7
|
+
|
8
|
+
@Component({
|
9
|
+
selector: 'ax-tab-page-renderer',
|
10
|
+
template: `<template #container></template>`,
|
11
|
+
host: { 'class': 'ax tab-page-renderer' }
|
12
|
+
})
|
13
|
+
export class AXTabPageRendererComponent {
|
14
|
+
|
15
|
+
childs: ComponentRef<AXTabPageHostComponent>[] = [];
|
16
|
+
|
17
|
+
@ViewChild('container', { read: ViewContainerRef }) container: ViewContainerRef;
|
18
|
+
|
19
|
+
private subscriptions: Subscription[] = [];
|
20
|
+
|
21
|
+
constructor(
|
22
|
+
private resolver: ComponentFactoryResolver,
|
23
|
+
private tabService: AXTabPageService,
|
24
|
+
private cdr: ChangeDetectorRef
|
25
|
+
) {
|
26
|
+
this.subscriptions.push(tabService.activated.subscribe(tab => {
|
27
|
+
this.childs.forEach((v: ComponentRef<AXTabPageHostComponent>) => {
|
28
|
+
v.changeDetectorRef.detach();
|
29
|
+
v.location.nativeElement.hidden = true;
|
30
|
+
});
|
31
|
+
const v = this.childs.find(t => (t as any).uid === tab[TAB_META_KEY].uid) as ComponentRef<AXTabPageHostComponent>;
|
32
|
+
if (v) {
|
33
|
+
v.location.nativeElement.hidden = false;
|
34
|
+
v.changeDetectorRef.reattach();
|
35
|
+
v.instance.active();
|
36
|
+
}
|
37
|
+
else {
|
38
|
+
try {
|
39
|
+
const factory = this.resolver.resolveComponentFactory(AXTabPageHostComponent);
|
40
|
+
const componentRef = this.container.createComponent(factory);
|
41
|
+
(componentRef as any).uid = tab[TAB_META_KEY].uid;
|
42
|
+
const host = componentRef.instance as AXTabPageHostComponent;
|
43
|
+
host.tab = tab;
|
44
|
+
this.childs.push(componentRef);
|
45
|
+
setTimeout(() => {
|
46
|
+
componentRef.changeDetectorRef.detectChanges();
|
47
|
+
//host.active();
|
48
|
+
}, 10);
|
49
|
+
} catch (error) {
|
50
|
+
console.error(error);
|
51
|
+
}
|
52
|
+
}
|
53
|
+
}));
|
54
|
+
|
55
|
+
this.subscriptions.push(tabService.closed.subscribe(tab => {
|
56
|
+
const hostref = this.childs.find(c => (c as any).uid === tab[TAB_META_KEY].uid);
|
57
|
+
if (hostref) {
|
58
|
+
hostref.destroy();
|
59
|
+
}
|
60
|
+
this.childs = this.childs.filter(c => (c as any).uid !== tab[TAB_META_KEY].uid);
|
61
|
+
}));
|
62
|
+
}
|
63
|
+
|
64
|
+
ngOnDestroy() {
|
65
|
+
this.tabService.clear();
|
66
|
+
this.subscriptions.forEach(s => {
|
67
|
+
s.unsubscribe();
|
68
|
+
});
|
69
|
+
}
|
70
|
+
}
|
@@ -0,0 +1,110 @@
|
|
1
|
+
import { Component, OnInit, ViewChild, ViewContainerRef, ComponentFactoryResolver, ElementRef, ComponentRef, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';
|
2
|
+
import { AXTabPage, AXTabPageService } from './tab-page.service';
|
3
|
+
import { AXRenderService } from '@acorex/core';
|
4
|
+
import { AXBasePageComponent, AXPageCloseEvent, TAB_META_KEY } from '../base/base-page.class';
|
5
|
+
import { AXLoadingService } from '../loading/loading.service';
|
6
|
+
|
7
|
+
@Component({
|
8
|
+
selector: 'ax-tab-page-host',
|
9
|
+
template: `
|
10
|
+
<div class='ax-loading-host'>
|
11
|
+
<div class='ax-tab-page-host' >
|
12
|
+
<div [hidden]="isLoading" style="height:100%" class='ax-tab-page-host-container'>
|
13
|
+
<ng-template #container></ng-template>
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
</div>
|
17
|
+
`
|
18
|
+
})
|
19
|
+
|
20
|
+
export class AXTabPageHostComponent implements OnInit {
|
21
|
+
|
22
|
+
tab: AXTabPage;
|
23
|
+
private componentRef: ComponentRef<any>;
|
24
|
+
isLoading: boolean;
|
25
|
+
_loadingId: number;
|
26
|
+
|
27
|
+
@ViewChild('container', { read: ViewContainerRef, static: true })
|
28
|
+
private container: ViewContainerRef;
|
29
|
+
|
30
|
+
constructor(
|
31
|
+
private resolver: ComponentFactoryResolver,
|
32
|
+
private ref: ElementRef<HTMLDivElement>,
|
33
|
+
private rendererService: AXRenderService,
|
34
|
+
private tabService: AXTabPageService,
|
35
|
+
private loadingService: AXLoadingService,
|
36
|
+
private cdr: ChangeDetectorRef,
|
37
|
+
) {
|
38
|
+
}
|
39
|
+
|
40
|
+
|
41
|
+
ngOnInit() {
|
42
|
+
this.isLoading = true;
|
43
|
+
}
|
44
|
+
|
45
|
+
active() {
|
46
|
+
const func = this.componentRef?.instance?.onActivated;
|
47
|
+
if (func) {
|
48
|
+
const f = (func as Function).bind(this.componentRef.instance);
|
49
|
+
f()
|
50
|
+
}
|
51
|
+
}
|
52
|
+
|
53
|
+
async ngAfterViewInit() {
|
54
|
+
this._loadingId = this.loadingService.show(this.ref.nativeElement.querySelector('.ax-tab-page-host-container'));
|
55
|
+
//
|
56
|
+
let data: any = {};
|
57
|
+
//
|
58
|
+
let component: any;
|
59
|
+
if (typeof this.tab.content === 'string') {
|
60
|
+
const route = await this.rendererService.findLoadedComponentByRoute(this.tab.content, 20);
|
61
|
+
component = route?.component;
|
62
|
+
data = Object.assign(data, route.data);
|
63
|
+
}
|
64
|
+
else if (typeof this.tab.content === 'function') {
|
65
|
+
component = this.tab.content;
|
66
|
+
}
|
67
|
+
if (component == null) {
|
68
|
+
// TODO: 404 page component
|
69
|
+
this.isLoading = false;
|
70
|
+
console.error(`Invalid page Component! ${this.tab.content}`);
|
71
|
+
return;
|
72
|
+
}
|
73
|
+
//
|
74
|
+
data = Object.assign(data, this.tab.data);
|
75
|
+
//
|
76
|
+
try {
|
77
|
+
const factory = this.resolver.resolveComponentFactory(component);
|
78
|
+
this.componentRef = this.container.createComponent(factory);
|
79
|
+
if (!this.componentRef.instance.onClosed) {
|
80
|
+
throw Error('The Component must be inherited from AXBasePageComponent!');
|
81
|
+
}
|
82
|
+
this.componentRef.instance.onClosed.subscribe((e: AXPageCloseEvent) => {
|
83
|
+
this.tabService.close(this.tab);
|
84
|
+
});
|
85
|
+
//
|
86
|
+
const com = this.componentRef.instance as any;
|
87
|
+
//
|
88
|
+
Object.assign(com, data);
|
89
|
+
//
|
90
|
+
this.tab[TAB_META_KEY].component = com;
|
91
|
+
this.isLoading = false;
|
92
|
+
this.loadingService.hide(this._loadingId);
|
93
|
+
this.componentRef.changeDetectorRef.detectChanges();
|
94
|
+
} catch (error) {
|
95
|
+
// TODO: 404 page component
|
96
|
+
console.error(error);
|
97
|
+
} finally {
|
98
|
+
//this.isLoading = false;
|
99
|
+
}
|
100
|
+
}
|
101
|
+
|
102
|
+
ngOnDestroy() {
|
103
|
+
if (this.componentRef) {
|
104
|
+
this.componentRef.hostView.destroy();
|
105
|
+
this.componentRef.destroy();
|
106
|
+
this.container.clear();
|
107
|
+
}
|
108
|
+
this.loadingService.hide(this._loadingId);
|
109
|
+
}
|
110
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { NgModule } from '@angular/core';
|
2
|
+
import { CommonModule } from '@angular/common';
|
3
|
+
import { AXTabPageRendererComponent } from './tab-page-Renderer.component';
|
4
|
+
import { AXLoadingModule } from '../loading/loading.module';
|
5
|
+
import { AXTabPageHostComponent } from './tab-page-host.component';
|
6
|
+
|
7
|
+
@NgModule({
|
8
|
+
declarations: [AXTabPageRendererComponent, AXTabPageHostComponent],
|
9
|
+
imports: [CommonModule, AXLoadingModule],
|
10
|
+
exports: [AXTabPageRendererComponent],
|
11
|
+
providers: []
|
12
|
+
})
|
13
|
+
export class AXTabPageModule { }
|
@@ -0,0 +1,176 @@
|
|
1
|
+
import { Injectable, EventEmitter } from '@angular/core';
|
2
|
+
import { Subject } from 'rxjs';
|
3
|
+
import { AXHtmlUtil } from '@acorex/core';
|
4
|
+
import { AXPageClosing, AXPageResult, TAB_META_KEY, AXPageClosedPromise } from '../base/base-page.class';
|
5
|
+
|
6
|
+
export interface AXTabPage {
|
7
|
+
title: string;
|
8
|
+
content: any;
|
9
|
+
closable?: boolean;
|
10
|
+
data?: any;
|
11
|
+
pinned?: boolean;
|
12
|
+
}
|
13
|
+
|
14
|
+
|
15
|
+
|
16
|
+
@Injectable({ providedIn: 'root' })
|
17
|
+
export class AXTabPageService {
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
tabs: AXTabPage[] = new Array<AXTabPage>();
|
22
|
+
opened = new Subject<AXTabPage>();
|
23
|
+
activated = new Subject<AXTabPage>();
|
24
|
+
closed = new Subject<AXTabPage>();
|
25
|
+
changed = new Subject();
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
constructor() { }
|
30
|
+
|
31
|
+
open(content: any, title: string): AXPageClosedPromise;
|
32
|
+
open(content: any, title: string, data?: any): AXPageClosedPromise;
|
33
|
+
open(options: AXTabPage): AXPageClosedPromise;
|
34
|
+
|
35
|
+
open(arg1, arg2?, arg3?) {
|
36
|
+
let newTab: AXTabPage;
|
37
|
+
if (typeof arg1 === 'object') {
|
38
|
+
const options = Object.assign({ closable: true }, arg1);
|
39
|
+
newTab = {
|
40
|
+
title: options.title,
|
41
|
+
closable: options.closable,
|
42
|
+
content: options.content,
|
43
|
+
data: options.data,
|
44
|
+
pinned: options.pinned
|
45
|
+
};
|
46
|
+
} else {
|
47
|
+
newTab = {
|
48
|
+
title: arg2,
|
49
|
+
closable: true,
|
50
|
+
content: arg1,
|
51
|
+
data: arg3,
|
52
|
+
};
|
53
|
+
}
|
54
|
+
newTab[TAB_META_KEY] = {};
|
55
|
+
newTab[TAB_META_KEY].uid = AXHtmlUtil.getUID();
|
56
|
+
//
|
57
|
+
const existTab = this.tabs.find((c) => newTab[TAB_META_KEY].uid && c[TAB_META_KEY].uid === newTab[TAB_META_KEY].uid) ||
|
58
|
+
this.findExistTab(newTab.content, newTab.data);
|
59
|
+
//
|
60
|
+
if (existTab) {
|
61
|
+
return Promise.resolve(this.active(existTab));
|
62
|
+
}
|
63
|
+
this.tabs.push(newTab);
|
64
|
+
this.tabs
|
65
|
+
.filter((c) => c[TAB_META_KEY].uid !== newTab[TAB_META_KEY].uid)
|
66
|
+
.forEach((t) => {
|
67
|
+
t[TAB_META_KEY].active = false;
|
68
|
+
});
|
69
|
+
this.opened.next(newTab);
|
70
|
+
this.active(newTab);
|
71
|
+
const promise = new AXPageClosedPromise((resolve) => {
|
72
|
+
newTab[TAB_META_KEY].close = (e) => {
|
73
|
+
if (resolve) {
|
74
|
+
delete e.cancel;
|
75
|
+
resolve(e);
|
76
|
+
}
|
77
|
+
};
|
78
|
+
});
|
79
|
+
promise['closeMethod'] = () => { this.close(newTab); };
|
80
|
+
return promise;
|
81
|
+
}
|
82
|
+
|
83
|
+
close(tab: AXTabPage) {
|
84
|
+
const e = { cancel: false };
|
85
|
+
const closingFunc = tab[TAB_META_KEY].component?.onClosing;
|
86
|
+
if (closingFunc) {
|
87
|
+
const res = closingFunc(e);
|
88
|
+
if (res instanceof Promise) {
|
89
|
+
res.then(() => {
|
90
|
+
if (e == null || e.cancel !== true) {
|
91
|
+
this.doCloseAction(tab, e);
|
92
|
+
}
|
93
|
+
});
|
94
|
+
}
|
95
|
+
else {
|
96
|
+
if (e == null || e.cancel !== true) {
|
97
|
+
this.doCloseAction(tab, e);
|
98
|
+
}
|
99
|
+
}
|
100
|
+
} else {
|
101
|
+
this.doCloseAction(tab, e);
|
102
|
+
}
|
103
|
+
}
|
104
|
+
|
105
|
+
private doCloseAction(tab: AXTabPage, e: AXPageClosing): void {
|
106
|
+
const currentTab = this.tabs.find((c) => c[TAB_META_KEY].uid == tab[TAB_META_KEY].uid);
|
107
|
+
if (!currentTab) {
|
108
|
+
return;
|
109
|
+
}
|
110
|
+
const index = this.tabs.indexOf(currentTab);
|
111
|
+
this.tabs = this.tabs.filter(c => c != currentTab);
|
112
|
+
const prev = index > 0 ? this.tabs[index - 1] : this.tabs[0];
|
113
|
+
if (prev) {
|
114
|
+
this.active(prev);
|
115
|
+
}
|
116
|
+
this.closed.next(currentTab);
|
117
|
+
this.changed.next(null);
|
118
|
+
if (currentTab[TAB_META_KEY].close) {
|
119
|
+
currentTab[TAB_META_KEY].close(e);
|
120
|
+
}
|
121
|
+
}
|
122
|
+
|
123
|
+
active(tab: AXTabPage): AXPageResult;
|
124
|
+
active(uid: string): AXPageResult;
|
125
|
+
active(): AXPageResult;
|
126
|
+
active(arg1?): AXPageResult {
|
127
|
+
if (!arg1) {
|
128
|
+
return {
|
129
|
+
sender: this.tabs.find((c) => c[TAB_META_KEY].active === true)
|
130
|
+
}
|
131
|
+
}
|
132
|
+
if (typeof arg1 === 'object') {
|
133
|
+
const tab = <AXTabPage>arg1;
|
134
|
+
tab[TAB_META_KEY].active = true;
|
135
|
+
this.tabs
|
136
|
+
.filter((c) => c[TAB_META_KEY].uid !== tab[TAB_META_KEY].uid)
|
137
|
+
.forEach((t) => {
|
138
|
+
t[TAB_META_KEY].active = false;
|
139
|
+
});
|
140
|
+
this.activated.next(tab);
|
141
|
+
this.changed.next(null);
|
142
|
+
return {
|
143
|
+
sender: tab
|
144
|
+
}
|
145
|
+
} else if (typeof arg1 === 'string') {
|
146
|
+
const tab = this.tabs.find((c) => c[TAB_META_KEY].uid === arg1);
|
147
|
+
if (tab) {
|
148
|
+
return this.active(tab);
|
149
|
+
}
|
150
|
+
return null;
|
151
|
+
}
|
152
|
+
}
|
153
|
+
|
154
|
+
clear(): void {
|
155
|
+
this.tabs.forEach((c) => {
|
156
|
+
this.close(c);
|
157
|
+
});
|
158
|
+
this.tabs = [];
|
159
|
+
}
|
160
|
+
|
161
|
+
private findExistTab(component: any, data: any): AXTabPage {
|
162
|
+
try {
|
163
|
+
if (!data) {
|
164
|
+
data = {};
|
165
|
+
}
|
166
|
+
const result = this.tabs.find((c: any) =>
|
167
|
+
c.content === component &&
|
168
|
+
((!c.data) ||
|
169
|
+
JSON.stringify(data) === JSON.stringify(c.data))
|
170
|
+
);
|
171
|
+
return result;
|
172
|
+
} catch (error) {
|
173
|
+
return null;
|
174
|
+
}
|
175
|
+
}
|
176
|
+
}
|
@@ -0,0 +1,6 @@
|
|
1
|
+
<ul class="tab-strip-container">
|
2
|
+
<ng-container *ngFor="let item of items">
|
3
|
+
<li *ngIf="!!item.visible || item.visible == undefined" [class.active]="item.active"
|
4
|
+
[class.disabled]="item.disable" (click)="handleClick(item)">{{item.text}}</li>
|
5
|
+
</ng-container>
|
6
|
+
</ul>
|
@@ -0,0 +1,47 @@
|
|
1
|
+
import { Component, OnInit, Input, Output, EventEmitter, ElementRef } from '@angular/core';
|
2
|
+
import { AXBaseEvent } from '../base/events.class';
|
3
|
+
|
4
|
+
export declare class AXTabStripItem {
|
5
|
+
id: string;
|
6
|
+
name?: string;
|
7
|
+
text?: string;
|
8
|
+
tooltip?: string;
|
9
|
+
icon?: string;
|
10
|
+
visible?: boolean;
|
11
|
+
disable?: boolean;
|
12
|
+
data?: any;
|
13
|
+
style?: string;
|
14
|
+
active?: boolean;
|
15
|
+
}
|
16
|
+
|
17
|
+
export class AXTabStripChangedEvent extends AXBaseEvent {
|
18
|
+
seledtedTab: AXTabStripItem;
|
19
|
+
}
|
20
|
+
|
21
|
+
@Component({
|
22
|
+
selector: 'ax-tab-strip',
|
23
|
+
templateUrl: './tab-strip.component.html'
|
24
|
+
})
|
25
|
+
export class AXTabStripComponent implements OnInit {
|
26
|
+
constructor(private ref: ElementRef) {}
|
27
|
+
|
28
|
+
ngOnInit(): void {}
|
29
|
+
|
30
|
+
@Input()
|
31
|
+
items: AXTabStripItem[] = [];
|
32
|
+
|
33
|
+
@Output()
|
34
|
+
onTabChanged: EventEmitter<AXTabStripChangedEvent> = new EventEmitter<AXTabStripChangedEvent>();
|
35
|
+
|
36
|
+
handleClick(i: AXTabStripItem) {
|
37
|
+
if (!i.disable) {
|
38
|
+
this.items.forEach((c) => (c.active = false));
|
39
|
+
i.active = true;
|
40
|
+
this.onTabChanged.emit({
|
41
|
+
component: this,
|
42
|
+
seledtedTab: i,
|
43
|
+
htmlElement: this.ref.nativeElement
|
44
|
+
});
|
45
|
+
}
|
46
|
+
}
|
47
|
+
}
|