@igo2/common 1.15.4 → 16.0.0-rc.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/common-theme.scss +19 -0
- package/{esm2020 → esm2022}/igo2-common.mjs +4 -4
- package/esm2022/lib/action/action.module.mjs +20 -0
- package/esm2022/lib/action/actionbar/actionbar-item.component.mjs +270 -0
- package/esm2022/lib/action/actionbar/actionbar.component.mjs +389 -0
- package/{esm2020 → esm2022}/lib/action/actionbar/actionbar.module.mjs +57 -57
- package/{esm2020 → esm2022}/lib/action/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/action/shared/action.enums.mjs +7 -7
- package/{esm2020 → esm2022}/lib/action/shared/action.interfaces.mjs +2 -2
- package/{esm2020 → esm2022}/lib/action/shared/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/action/shared/store.mjs +8 -8
- package/esm2022/lib/backdrop/backdrop.component.mjs +27 -0
- package/{esm2020 → esm2022}/lib/backdrop/backdrop.module.mjs +25 -25
- package/{esm2020 → esm2022}/lib/backdrop/index.mjs +2 -2
- package/esm2022/lib/badge-icon/badge-icon.directive.mjs +150 -0
- package/{esm2020 → esm2022}/lib/badge-icon/badge-icon.module.mjs +26 -26
- package/{esm2020 → esm2022}/lib/badge-icon/index.mjs +2 -2
- package/esm2022/lib/clickout/clickout.directive.mjs +33 -0
- package/{esm2020 → esm2022}/lib/clickout/clickout.module.mjs +24 -24
- package/{esm2020 → esm2022}/lib/clickout/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/clone/clone.module.mjs +24 -24
- package/esm2022/lib/clone/clone.pipe.mjs +24 -0
- package/{esm2020 → esm2022}/lib/clone/index.mjs +2 -2
- package/esm2022/lib/collapsible/collapse.directive.mjs +58 -0
- package/esm2022/lib/collapsible/collapsible.component.mjs +54 -0
- package/{esm2020 → esm2022}/lib/collapsible/collapsible.module.mjs +27 -27
- package/{esm2020 → esm2022}/lib/collapsible/index.mjs +3 -3
- package/esm2022/lib/color-picker-form-field/color-picker-form-field.component.mjs +121 -0
- package/esm2022/lib/color-picker-form-field/color-picker-form-field.module.mjs +32 -0
- package/esm2022/lib/color-picker-form-field/index.mjs +2 -0
- package/esm2022/lib/confirm-dialog/confirm-dialog.component.mjs +47 -0
- package/{esm2020 → esm2022}/lib/confirm-dialog/confirm-dialog.module.mjs +29 -29
- package/esm2022/lib/confirm-dialog/confirm-dialog.service.mjs +29 -0
- package/{esm2020 → esm2022}/lib/confirm-dialog/index.mjs +3 -3
- package/esm2022/lib/context-menu/context-menu.directive.mjs +110 -0
- package/{esm2020 → esm2022}/lib/context-menu/context-menu.module.mjs +25 -25
- package/{esm2020 → esm2022}/lib/context-menu/index.mjs +3 -3
- package/esm2022/lib/context-menu/long-press.directive.mjs +67 -0
- package/esm2022/lib/custom-html/custom-html.component.mjs +27 -0
- package/{esm2020 → esm2022}/lib/custom-html/custom-html.module.mjs +47 -47
- package/{esm2020 → esm2022}/lib/custom-html/custom-html.pipe.mjs +20 -18
- package/{esm2020 → esm2022}/lib/custom-html/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/dom/dom.interfaces.mjs +2 -2
- package/{esm2020 → esm2022}/lib/dom/dom.module.mjs +21 -23
- package/esm2022/lib/dom/dom.service.mjs +35 -0
- package/{esm2020 → esm2022}/lib/dom/index.mjs +3 -3
- package/esm2022/lib/drag-drop/drag-drop.directive.mjs +85 -0
- package/{esm2020 → esm2022}/lib/drag-drop/drag-drop.module.mjs +24 -24
- package/{esm2020 → esm2022}/lib/drag-drop/index.mjs +2 -2
- package/esm2022/lib/dynamic-component/dynamic-component.module.mjs +20 -0
- package/esm2022/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.mjs +138 -0
- package/esm2022/lib/dynamic-component/dynamic-outlet/dynamic-outlet.module.mjs +22 -0
- package/{esm2020 → esm2022}/lib/dynamic-component/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/dynamic-component/shared/dynamic-component.interfaces.mjs +2 -2
- package/esm2022/lib/dynamic-component/shared/dynamic-component.mjs +183 -0
- package/{esm2020 → esm2022}/lib/dynamic-component/shared/dynamic-component.service.mjs +30 -29
- package/{esm2020 → esm2022}/lib/dynamic-component/shared/index.mjs +4 -4
- package/esm2022/lib/entity/entity-selector/entity-selector.component.mjs +214 -0
- package/esm2022/lib/entity/entity-selector/entity-selector.module.mjs +24 -0
- package/esm2022/lib/entity/entity-table/entity-table-row.directive.mjs +139 -0
- package/esm2022/lib/entity/entity-table/entity-table.component.mjs +1455 -0
- package/esm2022/lib/entity/entity-table/entity-table.module.mjs +96 -0
- package/esm2022/lib/entity/entity-table-paginator/entity-table-paginator.component.mjs +167 -0
- package/esm2022/lib/entity/entity-table-paginator/entity-table-paginator.interface.mjs +2 -0
- package/esm2022/lib/entity/entity-table-paginator/entity-table-paginator.module.mjs +22 -0
- package/{esm2020 → esm2022}/lib/entity/entity.module.mjs +29 -31
- package/{esm2020 → esm2022}/lib/entity/index.mjs +6 -6
- package/{esm2020 → esm2022}/lib/entity/shared/entity.enums.mjs +28 -28
- package/esm2022/lib/entity/shared/entity.interfaces.mjs +2 -0
- package/esm2022/lib/entity/shared/entity.utils.mjs +73 -0
- package/esm2022/lib/entity/shared/index.mjs +11 -0
- package/esm2022/lib/entity/shared/state.mjs +194 -0
- package/esm2022/lib/entity/shared/store-strategy.mjs +73 -0
- package/esm2022/lib/entity/shared/store.mjs +256 -0
- package/esm2022/lib/entity/shared/strategies/filter-custom-function.mjs +80 -0
- package/esm2022/lib/entity/shared/strategies/filter-selection.mjs +81 -0
- package/{esm2020 → esm2022}/lib/entity/shared/strategies/index.mjs +4 -4
- package/esm2022/lib/entity/shared/strategies/strategy.mjs +78 -0
- package/esm2022/lib/entity/shared/transaction.mjs +329 -0
- package/esm2022/lib/entity/shared/view.mjs +330 -0
- package/esm2022/lib/entity/shared/watcher.mjs +135 -0
- package/esm2022/lib/flexible/flexible.component.mjs +153 -0
- package/{esm2020 → esm2022}/lib/flexible/flexible.module.mjs +24 -24
- package/{esm2020 → esm2022}/lib/flexible/flexible.type.mjs +2 -2
- package/{esm2020 → esm2022}/lib/flexible/index.mjs +3 -3
- package/esm2022/lib/form/form/form.component.mjs +125 -0
- package/esm2022/lib/form/form/form.module.mjs +23 -0
- package/esm2022/lib/form/form-field/form-field-select.component.mjs +140 -0
- package/esm2022/lib/form/form-field/form-field-text.component.mjs +113 -0
- package/esm2022/lib/form/form-field/form-field-textarea.component.mjs +114 -0
- package/esm2022/lib/form/form-field/form-field.component.mjs +78 -0
- package/{esm2020 → esm2022}/lib/form/form-field/form-field.module.mjs +74 -74
- package/{esm2020 → esm2022}/lib/form/form-field/index.mjs +5 -5
- package/esm2022/lib/form/form-group/form-group.component.mjs +115 -0
- package/esm2022/lib/form/form-group/form-group.module.mjs +36 -0
- package/esm2022/lib/form/form.module.mjs +27 -0
- package/{esm2020 → esm2022}/lib/form/index.mjs +5 -5
- package/{esm2020 → esm2022}/lib/form/shared/form-field-component.mjs +7 -7
- package/esm2022/lib/form/shared/form-field.service.mjs +29 -0
- package/esm2022/lib/form/shared/form.interfaces.mjs +2 -0
- package/esm2022/lib/form/shared/form.service.mjs +82 -0
- package/esm2022/lib/form/shared/form.utils.mjs +40 -0
- package/{esm2020 → esm2022}/lib/form/shared/index.mjs +6 -6
- package/esm2022/lib/home-button/home-button.component.mjs +30 -0
- package/{esm2020 → esm2022}/lib/home-button/home-button.module.mjs +41 -41
- package/{esm2020 → esm2022}/lib/home-button/index.mjs +2 -2
- package/esm2022/lib/image/image-error.directive.mjs +36 -0
- package/{esm2020 → esm2022}/lib/image/image.module.mjs +25 -25
- package/{esm2020 → esm2022}/lib/image/index.mjs +3 -3
- package/esm2022/lib/image/secure-image.pipe.mjs +65 -0
- package/{esm2020 → esm2022}/lib/interactive-tour/index.mjs +5 -5
- package/esm2022/lib/interactive-tour/interactive-tour.component.mjs +161 -0
- package/esm2022/lib/interactive-tour/interactive-tour.interface.mjs +2 -0
- package/esm2022/lib/interactive-tour/interactive-tour.loader.mjs +49 -0
- package/{esm2020 → esm2022}/lib/interactive-tour/interactive-tour.module.mjs +40 -40
- package/esm2022/lib/interactive-tour/interactive-tour.service.mjs +297 -0
- package/{esm2020 → esm2022}/lib/json-dialog/index.mjs +3 -3
- package/esm2022/lib/json-dialog/json-dialog.component.mjs +114 -0
- package/{esm2020 → esm2022}/lib/json-dialog/json-dialog.module.mjs +29 -29
- package/{esm2020 → esm2022}/lib/json-dialog/json-dialog.service.mjs +26 -24
- package/{esm2020 → esm2022}/lib/keyvalue/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/keyvalue/keyvalue.module.mjs +24 -24
- package/{esm2020 → esm2022}/lib/keyvalue/keyvalue.pipe.mjs +18 -18
- package/{esm2020 → esm2022}/lib/list/index.mjs +3 -3
- package/esm2022/lib/list/list-item.directive.mjs +167 -0
- package/esm2022/lib/list/list.component.mjs +268 -0
- package/{esm2020 → esm2022}/lib/list/list.module.mjs +29 -29
- package/{esm2020 → esm2022}/lib/panel/index.mjs +2 -2
- package/esm2022/lib/panel/panel.component.mjs +60 -0
- package/{esm2020 → esm2022}/lib/panel/panel.module.mjs +19 -19
- package/{esm2020 → esm2022}/lib/sidenav/index.mjs +2 -2
- package/esm2022/lib/sidenav/sidenav-shim.directive.mjs +59 -0
- package/{esm2020 → esm2022}/lib/sidenav/sidenav.module.mjs +24 -24
- package/{esm2020 → esm2022}/lib/spinner/index.mjs +3 -3
- package/esm2022/lib/spinner/spinner-activity.directive.mjs +55 -0
- package/esm2022/lib/spinner/spinner.component.mjs +38 -0
- package/{esm2020 → esm2022}/lib/spinner/spinner.module.mjs +21 -21
- package/{esm2020 → esm2022}/lib/stop-propagation/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/stop-propagation/stop-drop-propagation.directive.mjs +22 -22
- package/{esm2020 → esm2022}/lib/stop-propagation/stop-propagation.directive.mjs +21 -21
- package/{esm2020 → esm2022}/lib/stop-propagation/stop-propagation.module.mjs +25 -25
- package/{esm2020 → esm2022}/lib/table/index.mjs +6 -6
- package/{esm2020 → esm2022}/lib/table/table-action-color.enum.mjs +7 -7
- package/esm2022/lib/table/table-database.mjs +28 -0
- package/esm2022/lib/table/table-datasource.mjs +64 -0
- package/esm2022/lib/table/table-model.interface.mjs +2 -0
- package/esm2022/lib/table/table.component.mjs +302 -0
- package/{esm2020 → esm2022}/lib/table/table.module.mjs +67 -67
- package/{esm2020 → esm2022}/lib/tool/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/tool/shared/index.mjs +6 -6
- package/esm2022/lib/tool/shared/tool-component.mjs +9 -0
- package/esm2022/lib/tool/shared/tool.interface.mjs +2 -0
- package/esm2022/lib/tool/shared/tool.service.mjs +43 -0
- package/{esm2020 → esm2022}/lib/tool/shared/toolbox.enums.mjs +7 -7
- package/esm2022/lib/tool/shared/toolbox.mjs +184 -0
- package/esm2022/lib/tool/tool.module.mjs +26 -0
- package/{esm2020 → esm2022}/lib/tool/toolbox/toolbox.animation.mjs +10 -10
- package/esm2022/lib/tool/toolbox/toolbox.component.mjs +273 -0
- package/esm2022/lib/tool/toolbox/toolbox.module.mjs +24 -0
- package/{esm2020 → esm2022}/lib/widget/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/widget/shared/index.mjs +4 -4
- package/esm2022/lib/widget/shared/widget.interfaces.mjs +2 -0
- package/{esm2020 → esm2022}/lib/widget/shared/widget.mjs +4 -4
- package/esm2022/lib/widget/shared/widget.service.mjs +22 -0
- package/esm2022/lib/widget/widget-outlet/widget-outlet.component.mjs +124 -0
- package/esm2022/lib/widget/widget-outlet/widget-outlet.module.mjs +23 -0
- package/esm2022/lib/widget/widget.module.mjs +21 -0
- package/{esm2020 → esm2022}/lib/workspace/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/workspace/shared/index.mjs +4 -4
- package/esm2022/lib/workspace/shared/store.mjs +37 -0
- package/{esm2020 → esm2022}/lib/workspace/shared/workspace.interfaces.mjs +2 -2
- package/esm2022/lib/workspace/shared/workspace.mjs +143 -0
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.component.mjs +58 -0
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +23 -0
- package/esm2022/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.mjs +94 -0
- package/esm2022/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.module.mjs +23 -0
- package/esm2022/lib/workspace/workspace.module.mjs +20 -0
- package/esm2022/public_api.mjs +76 -0
- package/{fesm2020 → fesm2022}/igo2-common.mjs +9837 -9345
- package/fesm2022/igo2-common.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/action/action.module.d.ts +8 -8
- package/lib/action/action.theming.scss +5 -0
- package/lib/action/actionbar/actionbar-item.component.d.ts +78 -78
- package/lib/action/actionbar/actionbar-item.theming.scss +32 -0
- package/lib/action/actionbar/actionbar.component.d.ts +147 -146
- package/lib/action/actionbar/actionbar.module.d.ts +20 -20
- package/lib/action/actionbar/actionbar.theming.scss +22 -0
- package/lib/action/index.d.ts +2 -2
- package/lib/action/shared/action.enums.d.ts +5 -5
- package/lib/action/shared/action.interfaces.d.ts +17 -17
- package/lib/action/shared/index.d.ts +3 -3
- package/lib/action/shared/store.d.ts +8 -8
- package/lib/backdrop/backdrop.component.d.ts +9 -9
- package/lib/backdrop/backdrop.module.d.ts +10 -10
- package/lib/backdrop/index.d.ts +1 -1
- package/lib/badge-icon/badge-icon.directive.d.ts +36 -36
- package/lib/badge-icon/badge-icon.module.d.ts +11 -11
- package/lib/badge-icon/index.d.ts +1 -1
- package/lib/clickout/clickout.directive.d.ts +10 -10
- package/lib/clickout/clickout.module.d.ts +9 -9
- package/lib/clickout/index.d.ts +1 -1
- package/lib/clone/clone.module.d.ts +9 -9
- package/lib/clone/clone.pipe.d.ts +7 -7
- package/lib/clone/index.d.ts +1 -1
- package/lib/collapsible/collapse.directive.d.ts +19 -19
- package/lib/collapsible/collapsible.component.d.ts +13 -13
- package/lib/collapsible/collapsible.module.d.ts +12 -12
- package/lib/collapsible/collapsible.theming.scss +22 -0
- package/lib/collapsible/index.d.ts +2 -2
- package/lib/color-picker-form-field/color-picker-form-field.component.d.ts +26 -0
- package/lib/color-picker-form-field/color-picker-form-field.module.d.ts +10 -0
- package/lib/color-picker-form-field/index.d.ts +1 -0
- package/lib/confirm-dialog/confirm-dialog.component.d.ts +9 -9
- package/lib/confirm-dialog/confirm-dialog.module.d.ts +12 -12
- package/lib/confirm-dialog/confirm-dialog.service.d.ts +12 -12
- package/lib/confirm-dialog/index.d.ts +2 -2
- package/lib/context-menu/context-menu.directive.d.ts +21 -21
- package/lib/context-menu/context-menu.module.d.ts +10 -10
- package/lib/context-menu/index.d.ts +2 -2
- package/lib/context-menu/long-press.directive.d.ts +20 -20
- package/lib/custom-html/custom-html.component.d.ts +9 -9
- package/lib/custom-html/custom-html.module.d.ts +16 -16
- package/lib/custom-html/custom-html.pipe.d.ts +10 -10
- package/lib/custom-html/index.d.ts +2 -2
- package/lib/dom/dom.interfaces.d.ts +10 -10
- package/lib/dom/dom.module.d.ts +8 -8
- package/lib/dom/dom.service.d.ts +10 -10
- package/lib/dom/index.d.ts +2 -2
- package/lib/drag-drop/drag-drop.directive.d.ts +14 -14
- package/lib/drag-drop/drag-drop.module.d.ts +9 -9
- package/lib/drag-drop/index.d.ts +1 -1
- package/lib/dynamic-component/dynamic-component.module.d.ts +8 -8
- package/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.d.ts +70 -70
- package/lib/dynamic-component/dynamic-outlet/dynamic-outlet.module.d.ts +11 -11
- package/lib/dynamic-component/index.d.ts +2 -2
- package/lib/dynamic-component/shared/dynamic-component.d.ts +88 -88
- package/lib/dynamic-component/shared/dynamic-component.interfaces.d.ts +3 -3
- package/lib/dynamic-component/shared/dynamic-component.service.d.ts +18 -18
- package/lib/dynamic-component/shared/index.d.ts +3 -3
- package/lib/entity/entity-selector/entity-selector.component.d.ts +92 -92
- package/lib/entity/entity-selector/entity-selector.module.d.ts +13 -13
- package/lib/entity/entity-selector/entity-selector.theming.scss +21 -0
- package/lib/entity/entity-table/entity-table-row.directive.d.ts +69 -69
- package/lib/entity/entity-table/entity-table.component.d.ts +327 -333
- package/lib/entity/entity-table/entity-table.module.d.ts +29 -29
- package/lib/entity/entity-table/entity-table.theming.scss +34 -0
- package/lib/entity/entity-table-paginator/entity-table-paginator.component.d.ts +49 -49
- package/lib/entity/entity-table-paginator/entity-table-paginator.interface.d.ts +8 -8
- package/lib/entity/entity-table-paginator/entity-table-paginator.module.d.ts +11 -11
- package/lib/entity/entity-table-paginator/entity-table-paginator.theming.scss +21 -0
- package/lib/entity/entity.module.d.ts +10 -10
- package/lib/entity/entity.theming.scss +10 -0
- package/lib/entity/index.d.ts +5 -5
- package/lib/entity/shared/entity.enums.d.ts +23 -23
- package/lib/entity/shared/entity.interfaces.d.ts +95 -114
- package/lib/entity/shared/entity.utils.d.ts +49 -49
- package/lib/entity/shared/index.d.ts +10 -9
- package/lib/entity/shared/state.d.ts +108 -103
- package/lib/entity/shared/store-strategy.d.ts +38 -0
- package/lib/entity/shared/store.d.ts +147 -176
- package/lib/entity/shared/strategies/filter-custom-function.d.ts +51 -51
- package/lib/entity/shared/strategies/filter-selection.d.ts +48 -48
- package/lib/entity/shared/strategies/index.d.ts +3 -3
- package/lib/entity/shared/strategies/strategy.d.ts +56 -56
- package/lib/entity/shared/transaction.d.ts +180 -168
- package/lib/entity/shared/view.d.ts +193 -193
- package/lib/entity/shared/watcher.d.ts +72 -72
- package/lib/flexible/flexible.component.d.ts +41 -41
- package/lib/flexible/flexible.module.d.ts +9 -9
- package/lib/flexible/flexible.type.d.ts +2 -2
- package/lib/flexible/index.d.ts +2 -2
- package/lib/form/form/form.component.d.ts +53 -53
- package/lib/form/form/form.module.d.ts +12 -12
- package/lib/form/form-field/form-field-select.component.d.ts +48 -48
- package/lib/form/form-field/form-field-text.component.d.ts +41 -41
- package/lib/form/form-field/form-field-textarea.component.d.ts +41 -41
- package/lib/form/form-field/form-field.component.d.ts +29 -34
- package/lib/form/form-field/form-field.module.d.ts +21 -21
- package/lib/form/form-field/index.d.ts +4 -4
- package/lib/form/form-group/form-group.component.d.ts +49 -49
- package/lib/form/form-group/form-group.module.d.ts +14 -14
- package/lib/form/form.module.d.ts +13 -13
- package/lib/form/index.d.ts +4 -4
- package/lib/form/shared/form-field-component.d.ts +1 -1
- package/lib/form/shared/form-field.service.d.ts +19 -19
- package/lib/form/shared/form.interfaces.d.ts +61 -57
- package/lib/form/shared/form.service.d.ts +15 -15
- package/lib/form/shared/form.utils.d.ts +11 -11
- package/lib/form/shared/index.d.ts +5 -5
- package/lib/home-button/home-button.component.d.ts +9 -9
- package/lib/home-button/home-button.module.d.ts +15 -15
- package/lib/home-button/home-button.theming.scss +18 -0
- package/lib/home-button/index.d.ts +1 -1
- package/lib/image/image-error.directive.d.ts +11 -11
- package/lib/image/image.module.d.ts +10 -10
- package/lib/image/index.d.ts +2 -2
- package/lib/image/secure-image.pipe.d.ts +13 -13
- package/lib/interactive-tour/index.d.ts +4 -4
- package/lib/interactive-tour/interactive-tour.component.d.ts +30 -30
- package/lib/interactive-tour/interactive-tour.interface.d.ts +32 -32
- package/lib/interactive-tour/interactive-tour.loader.d.ts +18 -18
- package/lib/interactive-tour/interactive-tour.module.d.ts +12 -12
- package/lib/interactive-tour/interactive-tour.service.d.ts +29 -29
- package/lib/interactive-tour/interactive-tour.theming.scss +32 -0
- package/lib/json-dialog/index.d.ts +2 -2
- package/lib/json-dialog/json-dialog.component.d.ts +13 -13
- package/lib/json-dialog/json-dialog.module.d.ts +13 -13
- package/lib/json-dialog/json-dialog.service.d.ts +10 -10
- package/lib/keyvalue/index.d.ts +1 -1
- package/lib/keyvalue/keyvalue.module.d.ts +9 -9
- package/lib/keyvalue/keyvalue.pipe.d.ts +7 -7
- package/lib/list/index.d.ts +2 -2
- package/lib/list/list-item.directive.d.ts +43 -43
- package/lib/list/list.component.d.ts +51 -51
- package/lib/list/list.module.d.ts +14 -14
- package/lib/list/list.theming.scss +40 -0
- package/lib/panel/index.d.ts +1 -1
- package/lib/panel/panel.component.d.ts +10 -10
- package/lib/panel/panel.module.d.ts +8 -8
- package/lib/panel/panel.theming.scss +30 -0
- package/lib/sidenav/index.d.ts +1 -1
- package/lib/sidenav/sidenav-shim.directive.d.ts +20 -20
- package/lib/sidenav/sidenav.module.d.ts +9 -9
- package/lib/spinner/index.d.ts +2 -2
- package/lib/spinner/spinner-activity.directive.d.ts +32 -32
- package/lib/spinner/spinner.component.d.ts +12 -12
- package/lib/spinner/spinner.module.d.ts +10 -10
- package/lib/stop-propagation/index.d.ts +2 -2
- package/lib/stop-propagation/stop-drop-propagation.directive.d.ts +6 -6
- package/lib/stop-propagation/stop-propagation.directive.d.ts +6 -6
- package/lib/stop-propagation/stop-propagation.module.d.ts +10 -10
- package/lib/table/index.d.ts +5 -5
- package/lib/table/table-action-color.enum.d.ts +5 -5
- package/lib/table/table-database.d.ts +10 -10
- package/lib/table/table-datasource.d.ts +18 -17
- package/lib/table/table-model.interface.d.ts +28 -28
- package/lib/table/table.component.d.ts +40 -40
- package/lib/table/table.module.d.ts +20 -20
- package/lib/tool/index.d.ts +2 -2
- package/lib/tool/shared/index.d.ts +5 -5
- package/lib/tool/shared/tool-component.d.ts +2 -2
- package/lib/tool/shared/tool.interface.d.ts +18 -18
- package/lib/tool/shared/tool.service.d.ts +30 -30
- package/lib/tool/shared/toolbox.d.ts +95 -95
- package/lib/tool/shared/toolbox.enums.d.ts +5 -5
- package/lib/tool/tool.module.d.ts +10 -10
- package/lib/tool/tool.theming.scss +5 -0
- package/lib/tool/toolbox/toolbox.animation.d.ts +2 -2
- package/lib/tool/toolbox/toolbox.component.d.ts +128 -127
- package/lib/tool/toolbox/toolbox.module.d.ts +13 -13
- package/lib/tool/toolbox/toolbox.theming.scss +105 -0
- package/lib/widget/index.d.ts +2 -2
- package/lib/widget/shared/index.d.ts +3 -3
- package/lib/widget/shared/widget.d.ts +4 -4
- package/lib/widget/shared/widget.interfaces.d.ts +12 -12
- package/lib/widget/shared/widget.service.d.ts +10 -10
- package/lib/widget/widget-outlet/widget-outlet.component.d.ts +71 -71
- package/lib/widget/widget-outlet/widget-outlet.module.d.ts +12 -12
- package/lib/widget/widget.module.d.ts +8 -8
- package/lib/workspace/index.d.ts +3 -3
- package/lib/workspace/shared/index.d.ts +3 -3
- package/lib/workspace/shared/store.d.ts +20 -20
- package/lib/workspace/shared/workspace.d.ts +108 -108
- package/lib/workspace/shared/workspace.interfaces.d.ts +11 -11
- package/lib/workspace/workspace-selector/workspace-selector.component.d.ts +39 -39
- package/lib/workspace/workspace-selector/workspace-selector.module.d.ts +12 -12
- package/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.d.ts +57 -57
- package/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.module.d.ts +12 -12
- package/lib/workspace/workspace.module.d.ts +9 -9
- package/locale/en.common.json +43 -0
- package/locale/fr.common.json +43 -0
- package/package.json +30 -28
- package/public_api.d.ts +72 -70
- package/style/partial/common-utils.scss +9 -0
- package/style/partial/common.variables.scss +8 -8
- package/style/style.css +204 -0
- package/esm2020/lib/action/action.module.mjs +0 -27
- package/esm2020/lib/action/actionbar/actionbar-item.component.mjs +0 -252
- package/esm2020/lib/action/actionbar/actionbar.component.mjs +0 -370
- package/esm2020/lib/backdrop/backdrop.component.mjs +0 -26
- package/esm2020/lib/badge-icon/badge-icon.directive.mjs +0 -141
- package/esm2020/lib/clickout/clickout.directive.mjs +0 -32
- package/esm2020/lib/clone/clone.pipe.mjs +0 -24
- package/esm2020/lib/collapsible/collapse.directive.mjs +0 -55
- package/esm2020/lib/collapsible/collapsible.component.mjs +0 -57
- package/esm2020/lib/confirm-dialog/confirm-dialog.component.mjs +0 -44
- package/esm2020/lib/confirm-dialog/confirm-dialog.service.mjs +0 -24
- package/esm2020/lib/context-menu/context-menu.directive.mjs +0 -103
- package/esm2020/lib/context-menu/long-press.directive.mjs +0 -67
- package/esm2020/lib/custom-html/custom-html.component.mjs +0 -28
- package/esm2020/lib/dom/dom.service.mjs +0 -30
- package/esm2020/lib/drag-drop/drag-drop.directive.mjs +0 -88
- package/esm2020/lib/dynamic-component/dynamic-component.module.mjs +0 -31
- package/esm2020/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.mjs +0 -122
- package/esm2020/lib/dynamic-component/dynamic-outlet/dynamic-outlet.module.mjs +0 -28
- package/esm2020/lib/dynamic-component/shared/dynamic-component.mjs +0 -174
- package/esm2020/lib/entity/entity-selector/entity-selector.component.mjs +0 -194
- package/esm2020/lib/entity/entity-selector/entity-selector.module.mjs +0 -32
- package/esm2020/lib/entity/entity-table/entity-table-row.directive.mjs +0 -137
- package/esm2020/lib/entity/entity-table/entity-table.component.mjs +0 -1376
- package/esm2020/lib/entity/entity-table/entity-table.module.mjs +0 -102
- package/esm2020/lib/entity/entity-table-paginator/entity-table-paginator.component.mjs +0 -132
- package/esm2020/lib/entity/entity-table-paginator/entity-table-paginator.interface.mjs +0 -2
- package/esm2020/lib/entity/entity-table-paginator/entity-table-paginator.module.mjs +0 -28
- package/esm2020/lib/entity/shared/entity.interfaces.mjs +0 -2
- package/esm2020/lib/entity/shared/entity.utils.mjs +0 -67
- package/esm2020/lib/entity/shared/index.mjs +0 -10
- package/esm2020/lib/entity/shared/state.mjs +0 -191
- package/esm2020/lib/entity/shared/store.mjs +0 -288
- package/esm2020/lib/entity/shared/strategies/filter-custom-function.mjs +0 -79
- package/esm2020/lib/entity/shared/strategies/filter-selection.mjs +0 -84
- package/esm2020/lib/entity/shared/strategies/strategy.mjs +0 -75
- package/esm2020/lib/entity/shared/transaction.mjs +0 -316
- package/esm2020/lib/entity/shared/view.mjs +0 -315
- package/esm2020/lib/entity/shared/watcher.mjs +0 -120
- package/esm2020/lib/flexible/flexible.component.mjs +0 -148
- package/esm2020/lib/form/form/form.component.mjs +0 -117
- package/esm2020/lib/form/form/form.module.mjs +0 -40
- package/esm2020/lib/form/form-field/form-field-select.component.mjs +0 -127
- package/esm2020/lib/form/form-field/form-field-text.component.mjs +0 -104
- package/esm2020/lib/form/form-field/form-field-textarea.component.mjs +0 -105
- package/esm2020/lib/form/form-field/form-field.component.mjs +0 -72
- package/esm2020/lib/form/form-group/form-group.component.mjs +0 -105
- package/esm2020/lib/form/form-group/form-group.module.mjs +0 -40
- package/esm2020/lib/form/form.module.mjs +0 -49
- package/esm2020/lib/form/shared/form-field.service.mjs +0 -29
- package/esm2020/lib/form/shared/form.interfaces.mjs +0 -2
- package/esm2020/lib/form/shared/form.service.mjs +0 -81
- package/esm2020/lib/form/shared/form.utils.mjs +0 -40
- package/esm2020/lib/home-button/home-button.component.mjs +0 -31
- package/esm2020/lib/image/image-error.directive.mjs +0 -35
- package/esm2020/lib/image/secure-image.pipe.mjs +0 -59
- package/esm2020/lib/interactive-tour/interactive-tour.component.mjs +0 -135
- package/esm2020/lib/interactive-tour/interactive-tour.interface.mjs +0 -2
- package/esm2020/lib/interactive-tour/interactive-tour.loader.mjs +0 -44
- package/esm2020/lib/interactive-tour/interactive-tour.service.mjs +0 -285
- package/esm2020/lib/json-dialog/json-dialog.component.mjs +0 -109
- package/esm2020/lib/list/list-item.directive.mjs +0 -165
- package/esm2020/lib/list/list.component.mjs +0 -262
- package/esm2020/lib/panel/panel.component.mjs +0 -59
- package/esm2020/lib/sidenav/sidenav-shim.directive.mjs +0 -55
- package/esm2020/lib/spinner/spinner-activity.directive.mjs +0 -47
- package/esm2020/lib/spinner/spinner.component.mjs +0 -35
- package/esm2020/lib/table/table-database.mjs +0 -28
- package/esm2020/lib/table/table-datasource.mjs +0 -61
- package/esm2020/lib/table/table-model.interface.mjs +0 -2
- package/esm2020/lib/table/table.component.mjs +0 -297
- package/esm2020/lib/tool/shared/tool-component.mjs +0 -9
- package/esm2020/lib/tool/shared/tool.interface.mjs +0 -2
- package/esm2020/lib/tool/shared/tool.service.mjs +0 -43
- package/esm2020/lib/tool/shared/toolbox.mjs +0 -179
- package/esm2020/lib/tool/tool.module.mjs +0 -32
- package/esm2020/lib/tool/toolbox/toolbox.component.mjs +0 -255
- package/esm2020/lib/tool/toolbox/toolbox.module.mjs +0 -36
- package/esm2020/lib/widget/shared/widget.interfaces.mjs +0 -2
- package/esm2020/lib/widget/shared/widget.service.mjs +0 -20
- package/esm2020/lib/widget/widget-outlet/widget-outlet.component.mjs +0 -116
- package/esm2020/lib/widget/widget-outlet/widget-outlet.module.mjs +0 -32
- package/esm2020/lib/widget/widget.module.mjs +0 -32
- package/esm2020/lib/workspace/shared/store.mjs +0 -40
- package/esm2020/lib/workspace/shared/workspace.mjs +0 -117
- package/esm2020/lib/workspace/workspace-selector/workspace-selector.component.mjs +0 -51
- package/esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs +0 -32
- package/esm2020/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.mjs +0 -88
- package/esm2020/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.module.mjs +0 -32
- package/esm2020/lib/workspace/workspace.module.mjs +0 -27
- package/esm2020/public_api.mjs +0 -74
- package/fesm2015/igo2-common.mjs +0 -10329
- package/fesm2015/igo2-common.mjs.map +0 -1
- package/fesm2020/igo2-common.mjs.map +0 -1
- package/style/common.theming.scss +0 -12
- package/style/partial/action.scss +0 -18
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { StopDropPropagationDirective } from './stop-drop-propagation.directive';
|
|
3
|
-
import { StopPropagationDirective } from './stop-propagation.directive';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class IgoStopPropagationModule {
|
|
6
|
-
static forRoot() {
|
|
7
|
-
return {
|
|
8
|
-
ngModule: IgoStopPropagationModule,
|
|
9
|
-
providers: []
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoStopPropagationModule, [{
|
|
17
|
-
type: NgModule,
|
|
18
|
-
args: [{
|
|
19
|
-
imports: [],
|
|
20
|
-
declarations: [StopDropPropagationDirective, StopPropagationDirective],
|
|
21
|
-
exports: [StopDropPropagationDirective, StopPropagationDirective]
|
|
22
|
-
}]
|
|
23
|
-
}], null, null); })();
|
|
24
|
-
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoStopPropagationModule, { declarations: [StopDropPropagationDirective, StopPropagationDirective], exports: [StopDropPropagationDirective, StopPropagationDirective] }); })();
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { StopDropPropagationDirective } from './stop-drop-propagation.directive';
|
|
3
|
+
import { StopPropagationDirective } from './stop-propagation.directive';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class IgoStopPropagationModule {
|
|
6
|
+
static forRoot() {
|
|
7
|
+
return {
|
|
8
|
+
ngModule: IgoStopPropagationModule,
|
|
9
|
+
providers: []
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
static ɵfac = function IgoStopPropagationModule_Factory(t) { return new (t || IgoStopPropagationModule)(); };
|
|
13
|
+
static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoStopPropagationModule });
|
|
14
|
+
static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
|
|
15
|
+
}
|
|
16
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoStopPropagationModule, [{
|
|
17
|
+
type: NgModule,
|
|
18
|
+
args: [{
|
|
19
|
+
imports: [],
|
|
20
|
+
declarations: [StopDropPropagationDirective, StopPropagationDirective],
|
|
21
|
+
exports: [StopDropPropagationDirective, StopPropagationDirective]
|
|
22
|
+
}]
|
|
23
|
+
}], null, null); })();
|
|
24
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoStopPropagationModule, { declarations: [StopDropPropagationDirective, StopPropagationDirective], exports: [StopDropPropagationDirective, StopPropagationDirective] }); })();
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcC1wcm9wYWdhdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9zdG9wLXByb3BhZ2F0aW9uL3N0b3AtcHJvcGFnYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQU94RSxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSx3QkFBd0I7WUFDbEMsU0FBUyxFQUFFLEVBQUU7U0FDZCxDQUFDO0lBQ0osQ0FBQztrRkFOVSx3QkFBd0I7NERBQXhCLHdCQUF3Qjs7O3VGQUF4Qix3QkFBd0I7Y0FMcEMsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRSxFQUFFO2dCQUNYLFlBQVksRUFBRSxDQUFDLDRCQUE0QixFQUFFLHdCQUF3QixDQUFDO2dCQUN0RSxPQUFPLEVBQUUsQ0FBQyw0QkFBNEIsRUFBRSx3QkFBd0IsQ0FBQzthQUNsRTs7d0ZBQ1ksd0JBQXdCLG1CQUhwQiw0QkFBNEIsRUFBRSx3QkFBd0IsYUFDM0QsNEJBQTRCLEVBQUUsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3BEcm9wUHJvcGFnYXRpb25EaXJlY3RpdmUgfSBmcm9tICcuL3N0b3AtZHJvcC1wcm9wYWdhdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU3RvcFByb3BhZ2F0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9zdG9wLXByb3BhZ2F0aW9uLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtdLFxuICBkZWNsYXJhdGlvbnM6IFtTdG9wRHJvcFByb3BhZ2F0aW9uRGlyZWN0aXZlLCBTdG9wUHJvcGFnYXRpb25EaXJlY3RpdmVdLFxuICBleHBvcnRzOiBbU3RvcERyb3BQcm9wYWdhdGlvbkRpcmVjdGl2ZSwgU3RvcFByb3BhZ2F0aW9uRGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBJZ29TdG9wUHJvcGFnYXRpb25Nb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPElnb1N0b3BQcm9wYWdhdGlvbk1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogSWdvU3RvcFByb3BhZ2F0aW9uTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export * from './table.component';
|
|
2
|
-
export * from './table-database';
|
|
3
|
-
export * from './table-datasource';
|
|
4
|
-
export * from './table-model.interface';
|
|
5
|
-
export * from './table-action-color.enum';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './table.component';
|
|
2
|
+
export * from './table-database';
|
|
3
|
+
export * from './table-datasource';
|
|
4
|
+
export * from './table-model.interface';
|
|
5
|
+
export * from './table-action-color.enum';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi90YWJsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3RhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLWRhdGFiYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUtZGF0YXNvdXJjZSc7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLW1vZGVsLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLWFjdGlvbi1jb2xvci5lbnVtJztcbiJdfQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export var TableActionColor;
|
|
2
|
-
(function (TableActionColor) {
|
|
3
|
-
TableActionColor[TableActionColor["primary"] = 0] = "primary";
|
|
4
|
-
TableActionColor[TableActionColor["accent"] = 1] = "accent";
|
|
5
|
-
TableActionColor[TableActionColor["warn"] = 2] = "warn";
|
|
6
|
-
})(TableActionColor || (TableActionColor = {}));
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export var TableActionColor;
|
|
2
|
+
(function (TableActionColor) {
|
|
3
|
+
TableActionColor[TableActionColor["primary"] = 0] = "primary";
|
|
4
|
+
TableActionColor[TableActionColor["accent"] = 1] = "accent";
|
|
5
|
+
TableActionColor[TableActionColor["warn"] = 2] = "warn";
|
|
6
|
+
})(TableActionColor || (TableActionColor = {}));
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYWN0aW9uLWNvbG9yLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi90YWJsZS90YWJsZS1hY3Rpb24tY29sb3IuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxnQkFJWDtBQUpELFdBQVksZ0JBQWdCO0lBQzFCLDZEQUFPLENBQUE7SUFDUCwyREFBTSxDQUFBO0lBQ04sdURBQUksQ0FBQTtBQUNOLENBQUMsRUFKVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBSTNCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gVGFibGVBY3Rpb25Db2xvciB7XG4gIHByaW1hcnksXG4gIGFjY2VudCxcbiAgd2FyblxufVxuIl19
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { BehaviorSubject } from 'rxjs';
|
|
2
|
+
export class TableDatabase {
|
|
3
|
+
/** Stream that emits whenever the data has been modified. */
|
|
4
|
+
dataChange = new BehaviorSubject([]);
|
|
5
|
+
get data() {
|
|
6
|
+
return this.dataChange.value;
|
|
7
|
+
}
|
|
8
|
+
constructor(data) {
|
|
9
|
+
if (data) {
|
|
10
|
+
this.dataChange.next(data);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
set(data) {
|
|
14
|
+
this.dataChange.next(data);
|
|
15
|
+
}
|
|
16
|
+
add(item) {
|
|
17
|
+
const copiedData = this.data.slice();
|
|
18
|
+
copiedData.push(item);
|
|
19
|
+
this.set(copiedData);
|
|
20
|
+
}
|
|
21
|
+
remove(item) {
|
|
22
|
+
const copiedData = this.data.slice();
|
|
23
|
+
const index = copiedData.indexOf(item);
|
|
24
|
+
copiedData.splice(index, 1);
|
|
25
|
+
this.set(copiedData);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi90YWJsZS90YWJsZS1kYXRhYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLDZEQUE2RDtJQUM3RCxVQUFVLEdBQTJCLElBQUksZUFBZSxDQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQUVELFlBQVksSUFBSztRQUNmLElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBRUQsR0FBRyxDQUFDLElBQUk7UUFDTixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsR0FBRyxDQUFDLElBQUk7UUFDTixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3JDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQUk7UUFDVCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3JDLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNsYXNzIFRhYmxlRGF0YWJhc2Uge1xuICAvKiogU3RyZWFtIHRoYXQgZW1pdHMgd2hlbmV2ZXIgdGhlIGRhdGEgaGFzIGJlZW4gbW9kaWZpZWQuICovXG4gIGRhdGFDaGFuZ2U6IEJlaGF2aW9yU3ViamVjdDxhbnlbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueVtdPihbXSk7XG4gIGdldCBkYXRhKCk6IGFueVtdIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhQ2hhbmdlLnZhbHVlO1xuICB9XG5cbiAgY29uc3RydWN0b3IoZGF0YT8pIHtcbiAgICBpZiAoZGF0YSkge1xuICAgICAgdGhpcy5kYXRhQ2hhbmdlLm5leHQoZGF0YSk7XG4gICAgfVxuICB9XG5cbiAgc2V0KGRhdGEpIHtcbiAgICB0aGlzLmRhdGFDaGFuZ2UubmV4dChkYXRhKTtcbiAgfVxuXG4gIGFkZChpdGVtKSB7XG4gICAgY29uc3QgY29waWVkRGF0YSA9IHRoaXMuZGF0YS5zbGljZSgpO1xuICAgIGNvcGllZERhdGEucHVzaChpdGVtKTtcbiAgICB0aGlzLnNldChjb3BpZWREYXRhKTtcbiAgfVxuXG4gIHJlbW92ZShpdGVtKSB7XG4gICAgY29uc3QgY29waWVkRGF0YSA9IHRoaXMuZGF0YS5zbGljZSgpO1xuICAgIGNvbnN0IGluZGV4ID0gY29waWVkRGF0YS5pbmRleE9mKGl0ZW0pO1xuICAgIGNvcGllZERhdGEuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB0aGlzLnNldChjb3BpZWREYXRhKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { DataSource } from '@angular/cdk/table';
|
|
2
|
+
import { BehaviorSubject, merge } from 'rxjs';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
import { ObjectUtils } from '@igo2/utils';
|
|
5
|
+
export class TableDataSource extends DataSource {
|
|
6
|
+
_database;
|
|
7
|
+
_model;
|
|
8
|
+
_sort;
|
|
9
|
+
get filter() {
|
|
10
|
+
return this._filterChange.value;
|
|
11
|
+
}
|
|
12
|
+
set filter(filter) {
|
|
13
|
+
this._filterChange.next(filter);
|
|
14
|
+
}
|
|
15
|
+
_filterChange = new BehaviorSubject('');
|
|
16
|
+
constructor(_database, _model, _sort) {
|
|
17
|
+
super();
|
|
18
|
+
this._database = _database;
|
|
19
|
+
this._model = _model;
|
|
20
|
+
this._sort = _sort;
|
|
21
|
+
}
|
|
22
|
+
// Connect function called by the table to retrieve one stream containing
|
|
23
|
+
// the data to render.
|
|
24
|
+
connect() {
|
|
25
|
+
if (!this._database) {
|
|
26
|
+
return merge([]);
|
|
27
|
+
}
|
|
28
|
+
const displayDataChanges = [
|
|
29
|
+
this._database.dataChange,
|
|
30
|
+
this._filterChange,
|
|
31
|
+
this._sort.sortChange
|
|
32
|
+
];
|
|
33
|
+
return merge(...displayDataChanges).pipe(map(() => {
|
|
34
|
+
return this.getFilteredData(this._database.data);
|
|
35
|
+
}), map((data) => {
|
|
36
|
+
return this.getSortedData(data);
|
|
37
|
+
}));
|
|
38
|
+
}
|
|
39
|
+
disconnect() { }
|
|
40
|
+
getFilteredData(data) {
|
|
41
|
+
if (!this.filter) {
|
|
42
|
+
return data;
|
|
43
|
+
}
|
|
44
|
+
return data.slice().filter((item) => {
|
|
45
|
+
const searchStr = this._model.columns
|
|
46
|
+
.filter((c) => c.filterable)
|
|
47
|
+
.map((c) => ObjectUtils.resolve(item, c.name))
|
|
48
|
+
.join(' ')
|
|
49
|
+
.toLowerCase();
|
|
50
|
+
return searchStr.indexOf(this.filter.toLowerCase()) !== -1;
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
getSortedData(data) {
|
|
54
|
+
if (!this._sort.active || this._sort.direction === '') {
|
|
55
|
+
return data;
|
|
56
|
+
}
|
|
57
|
+
return data.sort((a, b) => {
|
|
58
|
+
const propertyA = ObjectUtils.resolve(a, this._sort.active);
|
|
59
|
+
const propertyB = ObjectUtils.resolve(b, this._sort.active);
|
|
60
|
+
return ObjectUtils.naturalCompare(propertyB, propertyA, this._sort.direction);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZGF0YXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL3RhYmxlL3RhYmxlLWRhdGFzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR2hELE9BQU8sRUFBYyxlQUFlLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSzFDLE1BQU0sT0FBTyxlQUFnQixTQUFRLFVBQWU7SUFVeEM7SUFDQTtJQUNBO0lBWFYsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztJQUNsQyxDQUFDO0lBQ0QsSUFBSSxNQUFNLENBQUMsTUFBYztRQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBQ08sYUFBYSxHQUFHLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRWhELFlBQ1UsU0FBd0IsRUFDeEIsTUFBa0IsRUFDbEIsS0FBYztRQUV0QixLQUFLLEVBQUUsQ0FBQztRQUpBLGNBQVMsR0FBVCxTQUFTLENBQWU7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQUNsQixVQUFLLEdBQUwsS0FBSyxDQUFTO0lBR3hCLENBQUM7SUFFRCx5RUFBeUU7SUFDekUsc0JBQXNCO0lBQ3RCLE9BQU87UUFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQixPQUFPLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNsQjtRQUNELE1BQU0sa0JBQWtCLEdBQUc7WUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVO1lBQ3pCLElBQUksQ0FBQyxhQUFhO1lBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVTtTQUN0QixDQUFDO1FBRUYsT0FBTyxLQUFLLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLElBQUksQ0FDdEMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNQLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ1gsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsVUFBVSxLQUFJLENBQUM7SUFFZixlQUFlLENBQUMsSUFBSTtRQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQixPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7WUFDdkMsTUFBTSxTQUFTLEdBQVcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPO2lCQUMxQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7aUJBQzNCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUM3QyxJQUFJLENBQUMsR0FBRyxDQUFDO2lCQUNULFdBQVcsRUFBRSxDQUFDO1lBRWpCLE9BQU8sU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDN0QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQUk7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxLQUFLLEVBQUUsRUFBRTtZQUNyRCxPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3hCLE1BQU0sU0FBUyxHQUFvQixXQUFXLENBQUMsT0FBTyxDQUNwRCxDQUFDLEVBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ2xCLENBQUM7WUFDRixNQUFNLFNBQVMsR0FBb0IsV0FBVyxDQUFDLE9BQU8sQ0FDcEQsQ0FBQyxFQUNELElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUNsQixDQUFDO1lBRUYsT0FBTyxXQUFXLENBQUMsY0FBYyxDQUMvQixTQUFTLEVBQ1QsU0FBUyxFQUNULElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUNyQixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RhYmxlJztcclxuaW1wb3J0IHsgTWF0U29ydCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xyXG5cclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgQmVoYXZpb3JTdWJqZWN0LCBtZXJnZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBPYmplY3RVdGlscyB9IGZyb20gJ0BpZ28yL3V0aWxzJztcclxuXHJcbmltcG9ydCB7IFRhYmxlTW9kZWwgfSBmcm9tICcuL3RhYmxlLW1vZGVsLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IFRhYmxlRGF0YWJhc2UgfSBmcm9tICcuL3RhYmxlLWRhdGFiYXNlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBUYWJsZURhdGFTb3VyY2UgZXh0ZW5kcyBEYXRhU291cmNlPGFueT4ge1xyXG4gIGdldCBmaWx0ZXIoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9maWx0ZXJDaGFuZ2UudmFsdWU7XHJcbiAgfVxyXG4gIHNldCBmaWx0ZXIoZmlsdGVyOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2ZpbHRlckNoYW5nZS5uZXh0KGZpbHRlcik7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2ZpbHRlckNoYW5nZSA9IG5ldyBCZWhhdmlvclN1YmplY3QoJycpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2RhdGFiYXNlOiBUYWJsZURhdGFiYXNlLFxyXG4gICAgcHJpdmF0ZSBfbW9kZWw6IFRhYmxlTW9kZWwsXHJcbiAgICBwcml2YXRlIF9zb3J0OiBNYXRTb3J0XHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgLy8gQ29ubmVjdCBmdW5jdGlvbiBjYWxsZWQgYnkgdGhlIHRhYmxlIHRvIHJldHJpZXZlIG9uZSBzdHJlYW0gY29udGFpbmluZ1xyXG4gIC8vIHRoZSBkYXRhIHRvIHJlbmRlci5cclxuICBjb25uZWN0KCk6IE9ic2VydmFibGU8YW55W10+IHtcclxuICAgIGlmICghdGhpcy5fZGF0YWJhc2UpIHtcclxuICAgICAgcmV0dXJuIG1lcmdlKFtdKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGRpc3BsYXlEYXRhQ2hhbmdlcyA9IFtcclxuICAgICAgdGhpcy5fZGF0YWJhc2UuZGF0YUNoYW5nZSxcclxuICAgICAgdGhpcy5fZmlsdGVyQ2hhbmdlLFxyXG4gICAgICB0aGlzLl9zb3J0LnNvcnRDaGFuZ2VcclxuICAgIF07XHJcblxyXG4gICAgcmV0dXJuIG1lcmdlKC4uLmRpc3BsYXlEYXRhQ2hhbmdlcykucGlwZShcclxuICAgICAgbWFwKCgpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRGaWx0ZXJlZERhdGEodGhpcy5fZGF0YWJhc2UuZGF0YSk7XHJcbiAgICAgIH0pLFxyXG4gICAgICBtYXAoKGRhdGEpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRTb3J0ZWREYXRhKGRhdGEpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGRpc2Nvbm5lY3QoKSB7fVxyXG5cclxuICBnZXRGaWx0ZXJlZERhdGEoZGF0YSk6IGFueVtdIHtcclxuICAgIGlmICghdGhpcy5maWx0ZXIpIHtcclxuICAgICAgcmV0dXJuIGRhdGE7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZGF0YS5zbGljZSgpLmZpbHRlcigoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IHNlYXJjaFN0cjogc3RyaW5nID0gdGhpcy5fbW9kZWwuY29sdW1uc1xyXG4gICAgICAgIC5maWx0ZXIoKGMpID0+IGMuZmlsdGVyYWJsZSlcclxuICAgICAgICAubWFwKChjKSA9PiBPYmplY3RVdGlscy5yZXNvbHZlKGl0ZW0sIGMubmFtZSkpXHJcbiAgICAgICAgLmpvaW4oJyAnKVxyXG4gICAgICAgIC50b0xvd2VyQ2FzZSgpO1xyXG5cclxuICAgICAgcmV0dXJuIHNlYXJjaFN0ci5pbmRleE9mKHRoaXMuZmlsdGVyLnRvTG93ZXJDYXNlKCkpICE9PSAtMTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0U29ydGVkRGF0YShkYXRhKTogYW55W10ge1xyXG4gICAgaWYgKCF0aGlzLl9zb3J0LmFjdGl2ZSB8fCB0aGlzLl9zb3J0LmRpcmVjdGlvbiA9PT0gJycpIHtcclxuICAgICAgcmV0dXJuIGRhdGE7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGRhdGEuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICBjb25zdCBwcm9wZXJ0eUE6IG51bWJlciB8IHN0cmluZyA9IE9iamVjdFV0aWxzLnJlc29sdmUoXHJcbiAgICAgICAgYSxcclxuICAgICAgICB0aGlzLl9zb3J0LmFjdGl2ZVxyXG4gICAgICApO1xyXG4gICAgICBjb25zdCBwcm9wZXJ0eUI6IG51bWJlciB8IHN0cmluZyA9IE9iamVjdFV0aWxzLnJlc29sdmUoXHJcbiAgICAgICAgYixcclxuICAgICAgICB0aGlzLl9zb3J0LmFjdGl2ZVxyXG4gICAgICApO1xyXG5cclxuICAgICAgcmV0dXJuIE9iamVjdFV0aWxzLm5hdHVyYWxDb21wYXJlKFxyXG4gICAgICAgIHByb3BlcnR5QixcclxuICAgICAgICBwcm9wZXJ0eUEsXHJcbiAgICAgICAgdGhpcy5fc29ydC5kaXJlY3Rpb25cclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbW9kZWwuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvdGFibGUvdGFibGUtbW9kZWwuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWJsZUFjdGlvbkNvbG9yIH0gZnJvbSAnLi90YWJsZS1hY3Rpb24tY29sb3IuZW51bSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQ29sdW1uIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBzb3J0YWJsZT86IGJvb2xlYW47XHJcbiAgZmlsdGVyYWJsZT86IGJvb2xlYW47XHJcbiAgZGlzcGxheWVkPzogYm9vbGVhbjtcclxuICBodG1sPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUm93Q2xhc3NGdW5jID0gKHJvdzogYW55KSA9PiB7XHJcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ2VsbENsYXNzRnVuYyA9IChcclxuICByb3c6IGFueSxcclxuICBjb2x1bW46IFRhYmxlQ29sdW1uXHJcbikgPT4ge1xyXG4gIFtrZXk6IHN0cmluZ106IHN0cmluZztcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENsaWNrQWN0aW9uID0gKGl0ZW06IGFueSkgPT4gdm9pZDtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVBY3Rpb24ge1xyXG4gIGljb246IHN0cmluZztcclxuICBjb2xvcj86IFRhYmxlQWN0aW9uQ29sb3I7XHJcbiAgY2xpY2s6IENsaWNrQWN0aW9uO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlTW9kZWwge1xyXG4gIGNvbHVtbnM6IFRhYmxlQ29sdW1uW107XHJcbiAgYWN0aW9ucz86IFRhYmxlQWN0aW9uW107XHJcbiAgc2VsZWN0aW9uQ2hlY2tib3g/OiBib29sZWFuO1xyXG4gIHJvd0NsYXNzRnVuYz86IFJvd0NsYXNzRnVuYztcclxuICBjZWxsQ2xhc3NGdW5jPzogQ2VsbENsYXNzRnVuYztcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
import { Component, ElementRef, ViewChild, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import { MatSort } from '@angular/material/sort';
|
|
3
|
+
import { SelectionModel } from '@angular/cdk/collections';
|
|
4
|
+
import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
|
|
5
|
+
import { fromEvent } from 'rxjs';
|
|
6
|
+
import { ObjectUtils } from '@igo2/utils';
|
|
7
|
+
import { TableDatabase } from './table-database';
|
|
8
|
+
import { TableDataSource } from './table-datasource';
|
|
9
|
+
import { TableActionColor } from './table-action-color.enum';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@angular/common";
|
|
12
|
+
import * as i2 from "@angular/material/icon";
|
|
13
|
+
import * as i3 from "@angular/material/button";
|
|
14
|
+
import * as i4 from "@angular/material/table";
|
|
15
|
+
import * as i5 from "@angular/material/form-field";
|
|
16
|
+
import * as i6 from "@angular/material/input";
|
|
17
|
+
import * as i7 from "@angular/material/sort";
|
|
18
|
+
import * as i8 from "@angular/material/checkbox";
|
|
19
|
+
import * as i9 from "@ngx-translate/core";
|
|
20
|
+
const _c0 = ["filter"];
|
|
21
|
+
function TableComponent_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
22
|
+
i0.ɵɵelementStart(0, "div", 12)(1, "mat-form-field", 13);
|
|
23
|
+
i0.ɵɵelement(2, "input", 14, 15);
|
|
24
|
+
i0.ɵɵpipe(4, "translate");
|
|
25
|
+
i0.ɵɵelementEnd()();
|
|
26
|
+
} if (rf & 2) {
|
|
27
|
+
i0.ɵɵadvance(2);
|
|
28
|
+
i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(4, 1, "igo.common.table.filter"));
|
|
29
|
+
} }
|
|
30
|
+
function TableComponent_th_6_Template(rf, ctx) { if (rf & 1) {
|
|
31
|
+
const _r11 = i0.ɵɵgetCurrentView();
|
|
32
|
+
i0.ɵɵelementStart(0, "th", 16)(1, "mat-checkbox", 17);
|
|
33
|
+
i0.ɵɵlistener("change", function TableComponent_th_6_Template_mat_checkbox_change_1_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView($event ? ctx_r10.masterToggle() : null); });
|
|
34
|
+
i0.ɵɵelementEnd()();
|
|
35
|
+
} if (rf & 2) {
|
|
36
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
37
|
+
i0.ɵɵadvance(1);
|
|
38
|
+
i0.ɵɵproperty("checked", ctx_r2.selection.hasValue() && ctx_r2.isAllSelected())("indeterminate", ctx_r2.selection.hasValue() && !ctx_r2.isAllSelected());
|
|
39
|
+
} }
|
|
40
|
+
function TableComponent_td_7_Template(rf, ctx) { if (rf & 1) {
|
|
41
|
+
const _r15 = i0.ɵɵgetCurrentView();
|
|
42
|
+
i0.ɵɵelementStart(0, "td", 18)(1, "mat-checkbox", 19);
|
|
43
|
+
i0.ɵɵlistener("click", function TableComponent_td_7_Template_mat_checkbox_click_1_listener($event) { return $event.stopPropagation(); })("change", function TableComponent_td_7_Template_mat_checkbox_change_1_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r15); const row_r12 = restoredCtx.$implicit; const ctx_r14 = i0.ɵɵnextContext(); return i0.ɵɵresetView($event ? ctx_r14.selection.toggle(row_r12) : null); });
|
|
44
|
+
i0.ɵɵelementEnd()();
|
|
45
|
+
} if (rf & 2) {
|
|
46
|
+
const row_r12 = ctx.$implicit;
|
|
47
|
+
const ctx_r3 = i0.ɵɵnextContext();
|
|
48
|
+
i0.ɵɵadvance(1);
|
|
49
|
+
i0.ɵɵproperty("checked", ctx_r3.selection.isSelected(row_r12));
|
|
50
|
+
} }
|
|
51
|
+
function TableComponent_ng_container_8_ng_container_1_th_1_Template(rf, ctx) { if (rf & 1) {
|
|
52
|
+
i0.ɵɵelementStart(0, "th", 25);
|
|
53
|
+
i0.ɵɵtext(1);
|
|
54
|
+
i0.ɵɵelementEnd();
|
|
55
|
+
} if (rf & 2) {
|
|
56
|
+
const column_r16 = i0.ɵɵnextContext(2).$implicit;
|
|
57
|
+
i0.ɵɵadvance(1);
|
|
58
|
+
i0.ɵɵtextInterpolate1(" ", column_r16.title, " ");
|
|
59
|
+
} }
|
|
60
|
+
function TableComponent_ng_container_8_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
61
|
+
i0.ɵɵelementContainerStart(0);
|
|
62
|
+
i0.ɵɵtemplate(1, TableComponent_ng_container_8_ng_container_1_th_1_Template, 2, 1, "th", 24);
|
|
63
|
+
i0.ɵɵelementContainerEnd();
|
|
64
|
+
} }
|
|
65
|
+
function TableComponent_ng_container_8_ng_container_2_th_1_Template(rf, ctx) { if (rf & 1) {
|
|
66
|
+
i0.ɵɵelementStart(0, "th", 16);
|
|
67
|
+
i0.ɵɵtext(1);
|
|
68
|
+
i0.ɵɵelementEnd();
|
|
69
|
+
} if (rf & 2) {
|
|
70
|
+
const column_r16 = i0.ɵɵnextContext(2).$implicit;
|
|
71
|
+
i0.ɵɵadvance(1);
|
|
72
|
+
i0.ɵɵtextInterpolate(column_r16.title);
|
|
73
|
+
} }
|
|
74
|
+
function TableComponent_ng_container_8_ng_container_2_Template(rf, ctx) { if (rf & 1) {
|
|
75
|
+
i0.ɵɵelementContainerStart(0);
|
|
76
|
+
i0.ɵɵtemplate(1, TableComponent_ng_container_8_ng_container_2_th_1_Template, 2, 1, "th", 6);
|
|
77
|
+
i0.ɵɵelementContainerEnd();
|
|
78
|
+
} }
|
|
79
|
+
const _c1 = function () { return {}; };
|
|
80
|
+
function TableComponent_ng_container_8_ng_container_3_td_1_Template(rf, ctx) { if (rf & 1) {
|
|
81
|
+
i0.ɵɵelementStart(0, "td", 27);
|
|
82
|
+
i0.ɵɵtext(1);
|
|
83
|
+
i0.ɵɵelementEnd();
|
|
84
|
+
} if (rf & 2) {
|
|
85
|
+
const row_r27 = ctx.$implicit;
|
|
86
|
+
const column_r16 = i0.ɵɵnextContext(2).$implicit;
|
|
87
|
+
const ctx_r26 = i0.ɵɵnextContext();
|
|
88
|
+
i0.ɵɵproperty("ngClass", ctx_r26.model.cellClassFunc ? ctx_r26.model.cellClassFunc(row_r27, column_r16) : i0.ɵɵpureFunction0(2, _c1));
|
|
89
|
+
i0.ɵɵadvance(1);
|
|
90
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r26.getValue(row_r27, column_r16.name), " ");
|
|
91
|
+
} }
|
|
92
|
+
function TableComponent_ng_container_8_ng_container_3_Template(rf, ctx) { if (rf & 1) {
|
|
93
|
+
i0.ɵɵelementContainerStart(0);
|
|
94
|
+
i0.ɵɵtemplate(1, TableComponent_ng_container_8_ng_container_3_td_1_Template, 2, 3, "td", 26);
|
|
95
|
+
i0.ɵɵelementContainerEnd();
|
|
96
|
+
} }
|
|
97
|
+
function TableComponent_ng_container_8_ng_template_4_td_0_Template(rf, ctx) { if (rf & 1) {
|
|
98
|
+
i0.ɵɵelement(0, "td", 29);
|
|
99
|
+
} if (rf & 2) {
|
|
100
|
+
const row_r30 = ctx.$implicit;
|
|
101
|
+
const column_r16 = i0.ɵɵnextContext(2).$implicit;
|
|
102
|
+
const ctx_r29 = i0.ɵɵnextContext();
|
|
103
|
+
i0.ɵɵproperty("ngClass", ctx_r29.model.cellClassFunc ? ctx_r29.model.cellClassFunc(row_r30, column_r16) : i0.ɵɵpureFunction0(2, _c1))("innerHTML", ctx_r29.getValue(row_r30, column_r16.name), i0.ɵɵsanitizeHtml);
|
|
104
|
+
} }
|
|
105
|
+
function TableComponent_ng_container_8_ng_template_4_Template(rf, ctx) { if (rf & 1) {
|
|
106
|
+
i0.ɵɵtemplate(0, TableComponent_ng_container_8_ng_template_4_td_0_Template, 1, 3, "td", 28);
|
|
107
|
+
} }
|
|
108
|
+
function TableComponent_ng_container_8_Template(rf, ctx) { if (rf & 1) {
|
|
109
|
+
i0.ɵɵelementContainerStart(0, 20);
|
|
110
|
+
i0.ɵɵtemplate(1, TableComponent_ng_container_8_ng_container_1_Template, 2, 0, "ng-container", 21);
|
|
111
|
+
i0.ɵɵtemplate(2, TableComponent_ng_container_8_ng_container_2_Template, 2, 0, "ng-container", 21);
|
|
112
|
+
i0.ɵɵtemplate(3, TableComponent_ng_container_8_ng_container_3_Template, 2, 0, "ng-container", 22);
|
|
113
|
+
i0.ɵɵtemplate(4, TableComponent_ng_container_8_ng_template_4_Template, 1, 0, "ng-template", null, 23, i0.ɵɵtemplateRefExtractor);
|
|
114
|
+
i0.ɵɵelementContainerEnd();
|
|
115
|
+
} if (rf & 2) {
|
|
116
|
+
const column_r16 = ctx.$implicit;
|
|
117
|
+
const _r20 = i0.ɵɵreference(5);
|
|
118
|
+
i0.ɵɵproperty("matColumnDef", column_r16.name);
|
|
119
|
+
i0.ɵɵadvance(1);
|
|
120
|
+
i0.ɵɵproperty("ngIf", column_r16.sortable);
|
|
121
|
+
i0.ɵɵadvance(1);
|
|
122
|
+
i0.ɵɵproperty("ngIf", !column_r16.sortable);
|
|
123
|
+
i0.ɵɵadvance(1);
|
|
124
|
+
i0.ɵɵproperty("ngIf", !column_r16.html)("ngIfElse", _r20);
|
|
125
|
+
} }
|
|
126
|
+
function TableComponent_th_10_Template(rf, ctx) { if (rf & 1) {
|
|
127
|
+
i0.ɵɵelement(0, "th", 16);
|
|
128
|
+
} }
|
|
129
|
+
function TableComponent_td_11_button_1_Template(rf, ctx) { if (rf & 1) {
|
|
130
|
+
const _r36 = i0.ɵɵgetCurrentView();
|
|
131
|
+
i0.ɵɵelementStart(0, "button", 31);
|
|
132
|
+
i0.ɵɵlistener("click", function TableComponent_td_11_button_1_Template_button_click_0_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r36); const action_r34 = restoredCtx.$implicit; const row_r32 = i0.ɵɵnextContext().$implicit; const ctx_r35 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r35.handleClickAction($event, action_r34, row_r32)); });
|
|
133
|
+
i0.ɵɵelement(1, "mat-icon", 32);
|
|
134
|
+
i0.ɵɵelementEnd();
|
|
135
|
+
} if (rf & 2) {
|
|
136
|
+
const action_r34 = ctx.$implicit;
|
|
137
|
+
const ctx_r33 = i0.ɵɵnextContext(2);
|
|
138
|
+
i0.ɵɵproperty("color", ctx_r33.getActionColor(action_r34.color));
|
|
139
|
+
i0.ɵɵadvance(1);
|
|
140
|
+
i0.ɵɵpropertyInterpolate("svgIcon", action_r34.icon);
|
|
141
|
+
} }
|
|
142
|
+
function TableComponent_td_11_Template(rf, ctx) { if (rf & 1) {
|
|
143
|
+
i0.ɵɵelementStart(0, "td", 18);
|
|
144
|
+
i0.ɵɵtemplate(1, TableComponent_td_11_button_1_Template, 2, 2, "button", 30);
|
|
145
|
+
i0.ɵɵelementEnd();
|
|
146
|
+
} if (rf & 2) {
|
|
147
|
+
const ctx_r6 = i0.ɵɵnextContext();
|
|
148
|
+
i0.ɵɵadvance(1);
|
|
149
|
+
i0.ɵɵproperty("ngForOf", ctx_r6.model.actions);
|
|
150
|
+
} }
|
|
151
|
+
function TableComponent_tr_12_Template(rf, ctx) { if (rf & 1) {
|
|
152
|
+
i0.ɵɵelement(0, "tr", 33);
|
|
153
|
+
} }
|
|
154
|
+
function TableComponent_tr_13_Template(rf, ctx) { if (rf & 1) {
|
|
155
|
+
const _r40 = i0.ɵɵgetCurrentView();
|
|
156
|
+
i0.ɵɵelementStart(0, "tr", 34);
|
|
157
|
+
i0.ɵɵlistener("click", function TableComponent_tr_13_Template_tr_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r40); const row_r38 = restoredCtx.$implicit; const ctx_r39 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r39.selection.toggle(row_r38)); });
|
|
158
|
+
i0.ɵɵelementEnd();
|
|
159
|
+
} if (rf & 2) {
|
|
160
|
+
const row_r38 = ctx.$implicit;
|
|
161
|
+
const ctx_r8 = i0.ɵɵnextContext();
|
|
162
|
+
i0.ɵɵproperty("ngClass", ctx_r8.model.rowClassFunc ? ctx_r8.model.rowClassFunc(row_r38) : i0.ɵɵpureFunction0(1, _c1));
|
|
163
|
+
} }
|
|
164
|
+
export class TableComponent {
|
|
165
|
+
get database() {
|
|
166
|
+
return this._database;
|
|
167
|
+
}
|
|
168
|
+
set database(value) {
|
|
169
|
+
this._database = value;
|
|
170
|
+
}
|
|
171
|
+
_database;
|
|
172
|
+
get model() {
|
|
173
|
+
return this._model;
|
|
174
|
+
}
|
|
175
|
+
set model(value) {
|
|
176
|
+
this._model = value;
|
|
177
|
+
}
|
|
178
|
+
_model;
|
|
179
|
+
get hasFilterInput() {
|
|
180
|
+
return this._hasFIlterInput;
|
|
181
|
+
}
|
|
182
|
+
set hasFilterInput(value) {
|
|
183
|
+
this._hasFIlterInput = value;
|
|
184
|
+
}
|
|
185
|
+
_hasFIlterInput = true;
|
|
186
|
+
displayedColumns;
|
|
187
|
+
dataSource;
|
|
188
|
+
selection = new SelectionModel(true, []);
|
|
189
|
+
select = new EventEmitter();
|
|
190
|
+
filter;
|
|
191
|
+
sort;
|
|
192
|
+
ngOnInit() {
|
|
193
|
+
this.dataSource = new TableDataSource(this.database, this.model, this.sort);
|
|
194
|
+
if (this.model) {
|
|
195
|
+
this.displayedColumns = this.model.columns
|
|
196
|
+
.filter((c) => c.displayed !== false)
|
|
197
|
+
.map((c) => c.name);
|
|
198
|
+
if (this.model.selectionCheckbox) {
|
|
199
|
+
this.displayedColumns.unshift('selectionCheckbox');
|
|
200
|
+
}
|
|
201
|
+
if (this.model.actions && this.model.actions.length) {
|
|
202
|
+
this.displayedColumns.push('action');
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
this.selection.changed.subscribe((e) => this.select.emit(e));
|
|
206
|
+
}
|
|
207
|
+
ngAfterViewInit() {
|
|
208
|
+
if (this.filter) {
|
|
209
|
+
fromEvent(this.filter.nativeElement, 'keyup')
|
|
210
|
+
.pipe(debounceTime(150), distinctUntilChanged())
|
|
211
|
+
.subscribe(() => {
|
|
212
|
+
if (!this.dataSource) {
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
this.dataSource.filter = this.filter.nativeElement.value;
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
ngOnChanges(change) {
|
|
220
|
+
if (change.database) {
|
|
221
|
+
this.dataSource = new TableDataSource(this.database, this.model, this.sort);
|
|
222
|
+
this.selection.clear();
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
getActionColor(colorId) {
|
|
226
|
+
return TableActionColor[colorId];
|
|
227
|
+
}
|
|
228
|
+
getValue(row, key) {
|
|
229
|
+
return ObjectUtils.resolve(row, key);
|
|
230
|
+
}
|
|
231
|
+
/** Whether the number of selected elements matches the total number of rows. */
|
|
232
|
+
isAllSelected() {
|
|
233
|
+
const numSelected = this.selection.selected.length;
|
|
234
|
+
const numRows = this.database.data.length;
|
|
235
|
+
return numSelected === numRows;
|
|
236
|
+
}
|
|
237
|
+
/** Selects all rows if they are not all selected; otherwise clear selection. */
|
|
238
|
+
masterToggle() {
|
|
239
|
+
this.isAllSelected()
|
|
240
|
+
? this.selection.clear()
|
|
241
|
+
: this.database.data.forEach((row) => this.selection.select(row));
|
|
242
|
+
}
|
|
243
|
+
handleClickAction(event, action, row) {
|
|
244
|
+
event.stopPropagation();
|
|
245
|
+
action.click(row);
|
|
246
|
+
}
|
|
247
|
+
static ɵfac = function TableComponent_Factory(t) { return new (t || TableComponent)(); };
|
|
248
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TableComponent, selectors: [["igo-table"]], viewQuery: function TableComponent_Query(rf, ctx) { if (rf & 1) {
|
|
249
|
+
i0.ɵɵviewQuery(_c0, 5);
|
|
250
|
+
i0.ɵɵviewQuery(MatSort, 7);
|
|
251
|
+
} if (rf & 2) {
|
|
252
|
+
let _t;
|
|
253
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.filter = _t.first);
|
|
254
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.sort = _t.first);
|
|
255
|
+
} }, inputs: { database: "database", model: "model", hasFilterInput: "hasFilterInput" }, outputs: { select: "select" }, features: [i0.ɵɵNgOnChangesFeature], decls: 14, vars: 5, consts: [[1, "table-box"], ["class", "table-header", 4, "ngIf"], [1, "table-container"], ["mat-table", "", "matSort", "", 3, "dataSource"], ["table", ""], ["matColumnDef", "selectionCheckbox"], ["mat-header-cell", "", 4, "matHeaderCellDef"], ["mat-cell", "", 4, "matCellDef"], [3, "matColumnDef", 4, "ngFor", "ngForOf"], ["matColumnDef", "action"], ["mat-header-row", "", 4, "matHeaderRowDef"], ["mat-row", "", 3, "ngClass", "click", 4, "matRowDef", "matRowDefColumns"], [1, "table-header"], ["floatPlaceholder", "never"], ["matInput", "", 3, "placeholder"], ["filter", ""], ["mat-header-cell", ""], [3, "checked", "indeterminate", "change"], ["mat-cell", ""], [3, "checked", "click", "change"], [3, "matColumnDef"], [4, "ngIf"], [4, "ngIf", "ngIfElse"], ["cellHTML", ""], ["mat-header-cell", "", "mat-sort-header", "", 4, "matHeaderCellDef"], ["mat-header-cell", "", "mat-sort-header", ""], ["mat-cell", "", "class", "mat-cell-text", 3, "ngClass", 4, "matCellDef"], ["mat-cell", "", 1, "mat-cell-text", 3, "ngClass"], ["mat-cell", "", "class", "mat-cell-text", 3, "ngClass", "innerHTML", 4, "matCellDef"], ["mat-cell", "", 1, "mat-cell-text", 3, "ngClass", "innerHTML"], ["mat-mini-fab", "", 3, "color", "click", 4, "ngFor", "ngForOf"], ["mat-mini-fab", "", 3, "color", "click"], [3, "svgIcon"], ["mat-header-row", ""], ["mat-row", "", 3, "ngClass", "click"]], template: function TableComponent_Template(rf, ctx) { if (rf & 1) {
|
|
256
|
+
i0.ɵɵelementStart(0, "div", 0);
|
|
257
|
+
i0.ɵɵtemplate(1, TableComponent_div_1_Template, 5, 3, "div", 1);
|
|
258
|
+
i0.ɵɵelementStart(2, "div", 2)(3, "table", 3, 4);
|
|
259
|
+
i0.ɵɵelementContainerStart(5, 5);
|
|
260
|
+
i0.ɵɵtemplate(6, TableComponent_th_6_Template, 2, 2, "th", 6);
|
|
261
|
+
i0.ɵɵtemplate(7, TableComponent_td_7_Template, 2, 1, "td", 7);
|
|
262
|
+
i0.ɵɵelementContainerEnd();
|
|
263
|
+
i0.ɵɵtemplate(8, TableComponent_ng_container_8_Template, 6, 5, "ng-container", 8);
|
|
264
|
+
i0.ɵɵelementContainerStart(9, 9);
|
|
265
|
+
i0.ɵɵtemplate(10, TableComponent_th_10_Template, 1, 0, "th", 6);
|
|
266
|
+
i0.ɵɵtemplate(11, TableComponent_td_11_Template, 2, 1, "td", 7);
|
|
267
|
+
i0.ɵɵelementContainerEnd();
|
|
268
|
+
i0.ɵɵtemplate(12, TableComponent_tr_12_Template, 1, 0, "tr", 10);
|
|
269
|
+
i0.ɵɵtemplate(13, TableComponent_tr_13_Template, 1, 2, "tr", 11);
|
|
270
|
+
i0.ɵɵelementEnd()()();
|
|
271
|
+
} if (rf & 2) {
|
|
272
|
+
i0.ɵɵadvance(1);
|
|
273
|
+
i0.ɵɵproperty("ngIf", ctx.hasFilterInput);
|
|
274
|
+
i0.ɵɵadvance(2);
|
|
275
|
+
i0.ɵɵproperty("dataSource", ctx.dataSource);
|
|
276
|
+
i0.ɵɵadvance(5);
|
|
277
|
+
i0.ɵɵproperty("ngForOf", ctx.model.columns);
|
|
278
|
+
i0.ɵɵadvance(4);
|
|
279
|
+
i0.ɵɵproperty("matHeaderRowDef", ctx.displayedColumns);
|
|
280
|
+
i0.ɵɵadvance(1);
|
|
281
|
+
i0.ɵɵproperty("matRowDefColumns", ctx.displayedColumns);
|
|
282
|
+
} }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i2.MatIcon, i3.MatMiniFabButton, i4.MatTable, i4.MatHeaderCellDef, i4.MatHeaderRowDef, i4.MatColumnDef, i4.MatCellDef, i4.MatRowDef, i4.MatHeaderCell, i4.MatCell, i4.MatHeaderRow, i4.MatRow, i5.MatFormField, i6.MatInput, i7.MatSort, i7.MatSortHeader, i8.MatCheckbox, i9.TranslatePipe], styles: ["[_nghost-%COMP%]{width:100%;height:100%;display:block}.table-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:auto;flex:1 1 auto}.table-box[_ngcontent-%COMP%]{height:100%;display:flex;flex-direction:column}.table-header[_ngcontent-%COMP%]{min-height:64px;max-width:500px;display:flex;flex:0 1 auto;align-items:baseline;padding:8px 24px 0;font-size:20px;justify-content:space-between}tr[mat-header-row][_ngcontent-%COMP%], tr[mat-row][_ngcontent-%COMP%]{height:60px}.mat-cell-text[_ngcontent-%COMP%]{overflow:hidden;word-wrap:break-word}td[mat-cell][_ngcontent-%COMP%]{padding-right:15px}th.mat-mdc-header-cell[_ngcontent-%COMP%]{padding-right:5px}button[_ngcontent-%COMP%]{margin-right:10px}"] });
|
|
283
|
+
}
|
|
284
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableComponent, [{
|
|
285
|
+
type: Component,
|
|
286
|
+
args: [{ selector: 'igo-table', template: "<div class=\"table-box\">\r\n <div class=\"table-header\" *ngIf=\"hasFilterInput\">\r\n <mat-form-field floatPlaceholder=\"never\">\r\n <input\r\n matInput\r\n #filter\r\n [placeholder]=\"'igo.common.table.filter' | translate\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"table-container\">\r\n <table mat-table #table [dataSource]=\"dataSource\" matSort>\r\n <!-- Checkbox Column -->\r\n <ng-container matColumnDef=\"selectionCheckbox\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <mat-checkbox\r\n (change)=\"$event ? masterToggle() : null\"\r\n [checked]=\"selection.hasValue() && isAllSelected()\"\r\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\"\r\n >\r\n </mat-checkbox>\r\n </th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n <mat-checkbox\r\n (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? selection.toggle(row) : null\"\r\n [checked]=\"selection.isSelected(row)\"\r\n >\r\n </mat-checkbox>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container\r\n [matColumnDef]=\"column.name\"\r\n *ngFor=\"let column of model.columns\"\r\n >\r\n <ng-container *ngIf=\"column.sortable\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\r\n {{ column.title }}\r\n </th>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!column.sortable\">\r\n <th mat-header-cell *matHeaderCellDef>{{ column.title }}</th>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!column.html; else cellHTML\">\r\n <td\r\n mat-cell\r\n *matCellDef=\"let row\"\r\n class=\"mat-cell-text\"\r\n [ngClass]=\"\r\n model.cellClassFunc ? model.cellClassFunc(row, column) : {}\r\n \"\r\n >\r\n {{ getValue(row, column.name) }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-template #cellHTML>\r\n <td\r\n mat-cell\r\n *matCellDef=\"let row\"\r\n class=\"mat-cell-text\"\r\n [ngClass]=\"\r\n model.cellClassFunc ? model.cellClassFunc(row, column) : {}\r\n \"\r\n [innerHTML]=\"getValue(row, column.name)\"\r\n ></td>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <!-- Action Column -->\r\n <ng-container matColumnDef=\"action\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n <button\r\n *ngFor=\"let action of model.actions\"\r\n mat-mini-fab\r\n [color]=\"getActionColor(action.color)\"\r\n (click)=\"handleClickAction($event, action, row)\"\r\n >\r\n <mat-icon svgIcon=\"{{ action.icon }}\"></mat-icon>\r\n </button>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let row; columns: displayedColumns\"\r\n [ngClass]=\"model.rowClassFunc ? model.rowClassFunc(row) : {}\"\r\n (click)=\"selection.toggle(row)\"\r\n ></tr>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: [":host{width:100%;height:100%;display:block}.table-container{display:flex;flex-direction:column;height:100%;overflow:auto;flex:1 1 auto}.table-box{height:100%;display:flex;flex-direction:column}.table-header{min-height:64px;max-width:500px;display:flex;flex:0 1 auto;align-items:baseline;padding:8px 24px 0;font-size:20px;justify-content:space-between}tr[mat-header-row],tr[mat-row]{height:60px}.mat-cell-text{overflow:hidden;word-wrap:break-word}td[mat-cell]{padding-right:15px}th.mat-mdc-header-cell{padding-right:5px}button{margin-right:10px}\n"] }]
|
|
287
|
+
}], null, { database: [{
|
|
288
|
+
type: Input
|
|
289
|
+
}], model: [{
|
|
290
|
+
type: Input
|
|
291
|
+
}], hasFilterInput: [{
|
|
292
|
+
type: Input
|
|
293
|
+
}], select: [{
|
|
294
|
+
type: Output
|
|
295
|
+
}], filter: [{
|
|
296
|
+
type: ViewChild,
|
|
297
|
+
args: ['filter']
|
|
298
|
+
}], sort: [{
|
|
299
|
+
type: ViewChild,
|
|
300
|
+
args: [MatSort, { static: true }]
|
|
301
|
+
}] }); })();
|
|
302
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvdGFibGUvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvdGFibGUvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBSU4sWUFBWSxFQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUcxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7Ozs7O0lDckIzRCwrQkFBaUQseUJBQUE7SUFFN0MsZ0NBSUU7O0lBQ0osaUJBQWlCLEVBQUE7O0lBRmIsZUFBcUQ7SUFBckQsNkVBQXFEOzs7O0lBU3JELDhCQUFzQyx1QkFBQTtJQUVsQywwS0FBVSx3QkFBUyxzQkFBYyxHQUFHLElBQUksQ0FBQSxJQUFDO0lBSTNDLGlCQUFlLEVBQUE7OztJQUhiLGVBQW1EO0lBQW5ELCtFQUFtRCx5RUFBQTs7OztJQUt2RCw4QkFBbUMsdUJBQUE7SUFFL0Is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QkFBNkIsa0JBQUE7WUFHekIsZ0NBQStDO1lBQzdDLDZEQU9LO1lBQ0wsNkRBT0s7WUFDUCwwQkFBZTtZQUVmLGlGQXNDZTtZQUdmLGdDQUFvQztZQUNsQywrREFBMkM7WUFDM0MsK0RBU0s7WUFDUCwwQkFBZTtZQUVmLGdFQUE0RDtZQUM1RCxnRUFLTTtZQUNSLGlCQUFRLEVBQUEsRUFBQTs7WUE5RmlCLGVBQW9CO1lBQXBCLHlDQUFvQjtZQVdyQixlQUF5QjtZQUF6QiwyQ0FBeUI7WUF1QjFCLGVBQWdCO1lBQWhCLDJDQUFnQjtZQXFEakIsZUFBaUM7WUFBakMsc0RBQWlDO1lBRzlCLGVBQXlCO1lBQXpCLHVEQUF5Qjs7O3VGRDlEekMsY0FBYztjQUwxQixTQUFTOzJCQUNFLFdBQVc7Z0JBTWpCLFFBQVE7a0JBRFgsS0FBSztZQVVGLEtBQUs7a0JBRFIsS0FBSztZQVVGLGNBQWM7a0JBRGpCLEtBQUs7WUFjTixNQUFNO2tCQURMLE1BQU07WUFPYyxNQUFNO2tCQUExQixTQUFTO21CQUFDLFFBQVE7WUFDbUIsSUFBSTtrQkFBekMsU0FBUzttQkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkluaXQsXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBFdmVudEVtaXR0ZXJcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0U29ydCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xyXG5pbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XHJcblxyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IE9iamVjdFV0aWxzIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xyXG5cclxuaW1wb3J0IHsgVGFibGVNb2RlbCB9IGZyb20gJy4vdGFibGUtbW9kZWwuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgVGFibGVEYXRhYmFzZSB9IGZyb20gJy4vdGFibGUtZGF0YWJhc2UnO1xyXG5pbXBvcnQgeyBUYWJsZURhdGFTb3VyY2UgfSBmcm9tICcuL3RhYmxlLWRhdGFzb3VyY2UnO1xyXG5pbXBvcnQgeyBUYWJsZUFjdGlvbkNvbG9yIH0gZnJvbSAnLi90YWJsZS1hY3Rpb24tY29sb3IuZW51bSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby10YWJsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90YWJsZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICBASW5wdXQoKVxyXG4gIGdldCBkYXRhYmFzZSgpOiBUYWJsZURhdGFiYXNlIHtcclxuICAgIHJldHVybiB0aGlzLl9kYXRhYmFzZTtcclxuICB9XHJcbiAgc2V0IGRhdGFiYXNlKHZhbHVlOiBUYWJsZURhdGFiYXNlKSB7XHJcbiAgICB0aGlzLl9kYXRhYmFzZSA9IHZhbHVlO1xyXG4gIH1cclxuICBwcml2YXRlIF9kYXRhYmFzZTogVGFibGVEYXRhYmFzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgbW9kZWwoKTogVGFibGVNb2RlbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fbW9kZWw7XHJcbiAgfVxyXG4gIHNldCBtb2RlbCh2YWx1ZTogVGFibGVNb2RlbCkge1xyXG4gICAgdGhpcy5fbW9kZWwgPSB2YWx1ZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfbW9kZWw6IFRhYmxlTW9kZWw7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IGhhc0ZpbHRlcklucHV0KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2hhc0ZJbHRlcklucHV0O1xyXG4gIH1cclxuICBzZXQgaGFzRmlsdGVySW5wdXQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX2hhc0ZJbHRlcklucHV0ID0gdmFsdWU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2hhc0ZJbHRlcklucHV0ID0gdHJ1ZTtcclxuXHJcbiAgcHVibGljIGRpc3BsYXllZENvbHVtbnM7XHJcbiAgcHVibGljIGRhdGFTb3VyY2U6IFRhYmxlRGF0YVNvdXJjZSB8IG51bGw7XHJcbiAgcHVibGljIHNlbGVjdGlvbiA9IG5ldyBTZWxlY3Rpb25Nb2RlbDxhbnk+KHRydWUsIFtdKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgc2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICBhZGRlZDogYW55W107XHJcbiAgICByZW1vdmVkOiBhbnlbXTtcclxuICAgIHNvdXJjZTogU2VsZWN0aW9uTW9kZWw8YW55PjtcclxuICB9PigpO1xyXG5cclxuICBAVmlld0NoaWxkKCdmaWx0ZXInKSBmaWx0ZXI6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZChNYXRTb3J0LCB7IHN0YXRpYzogdHJ1ZSB9KSBzb3J0OiBNYXRTb3J0O1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBUYWJsZURhdGFTb3VyY2UodGhpcy5kYXRhYmFzZSwgdGhpcy5tb2RlbCwgdGhpcy5zb3J0KTtcclxuXHJcbiAgICBpZiAodGhpcy5tb2RlbCkge1xyXG4gICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSB0aGlzLm1vZGVsLmNvbHVtbnNcclxuICAgICAgICAuZmlsdGVyKChjKSA9PiBjLmRpc3BsYXllZCAhPT0gZmFsc2UpXHJcbiAgICAgICAgLm1hcCgoYykgPT4gYy5uYW1lKTtcclxuXHJcbiAgICAgIGlmICh0aGlzLm1vZGVsLnNlbGVjdGlvbkNoZWNrYm94KSB7XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLnVuc2hpZnQoJ3NlbGVjdGlvbkNoZWNrYm94Jyk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMubW9kZWwuYWN0aW9ucyAmJiB0aGlzLm1vZGVsLmFjdGlvbnMubGVuZ3RoKSB7XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLnB1c2goJ2FjdGlvbicpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZWxlY3Rpb24uY2hhbmdlZC5zdWJzY3JpYmUoKGUpID0+IHRoaXMuc2VsZWN0LmVtaXQoZSkpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgaWYgKHRoaXMuZmlsdGVyKSB7XHJcbiAgICAgIGZyb21FdmVudCh0aGlzLmZpbHRlci5uYXRpdmVFbGVtZW50LCAna2V5dXAnKVxyXG4gICAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxNTApLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgaWYgKCF0aGlzLmRhdGFTb3VyY2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5kYXRhU291cmNlLmZpbHRlciA9IHRoaXMuZmlsdGVyLm5hdGl2ZUVsZW1lbnQudmFsdWU7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2UpIHtcclxuICAgIGlmIChjaGFuZ2UuZGF0YWJhc2UpIHtcclxuICAgICAgdGhpcy5kYXRhU291cmNlID0gbmV3IFRhYmxlRGF0YVNvdXJjZShcclxuICAgICAgICB0aGlzLmRhdGFiYXNlLFxyXG4gICAgICAgIHRoaXMubW9kZWwsXHJcbiAgICAgICAgdGhpcy5zb3J0XHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuc2VsZWN0aW9uLmNsZWFyKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRBY3Rpb25Db2xvcihjb2xvcklkOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIFRhYmxlQWN0aW9uQ29sb3JbY29sb3JJZF07XHJcbiAgfVxyXG5cclxuICBnZXRWYWx1ZShyb3csIGtleSkge1xyXG4gICAgcmV0dXJuIE9iamVjdFV0aWxzLnJlc29sdmUocm93LCBrZXkpO1xyXG4gIH1cclxuXHJcbiAgLyoqIFdoZXRoZXIgdGhlIG51bWJlciBvZiBzZWxlY3RlZCBlbGVtZW50cyBtYXRjaGVzIHRoZSB0b3RhbCBudW1iZXIgb2Ygcm93cy4gKi9cclxuICBpc0FsbFNlbGVjdGVkKCkge1xyXG4gICAgY29uc3QgbnVtU2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5sZW5ndGg7XHJcbiAgICBjb25zdCBudW1Sb3dzID0gdGhpcy5kYXRhYmFzZS5kYXRhLmxlbmd0aDtcclxuICAgIHJldHVybiBudW1TZWxlY3RlZCA9PT0gbnVtUm93cztcclxuICB9XHJcblxyXG4gIC8qKiBTZWxlY3RzIGFsbCByb3dzIGlmIHRoZXkgYXJlIG5vdCBhbGwgc2VsZWN0ZWQ7IG90aGVyd2lzZSBjbGVhciBzZWxlY3Rpb24uICovXHJcbiAgbWFzdGVyVG9nZ2xlKCkge1xyXG4gICAgdGhpcy5pc0FsbFNlbGVjdGVkKClcclxuICAgICAgPyB0aGlzLnNlbGVjdGlvbi5jbGVhcigpXHJcbiAgICAgIDogdGhpcy5kYXRhYmFzZS5kYXRhLmZvckVhY2goKHJvdykgPT4gdGhpcy5zZWxlY3Rpb24uc2VsZWN0KHJvdykpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlQ2xpY2tBY3Rpb24oZXZlbnQsIGFjdGlvbiwgcm93KSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGFjdGlvbi5jbGljayhyb3cpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwidGFibGUtYm94XCI+XHJcbiAgPGRpdiBjbGFzcz1cInRhYmxlLWhlYWRlclwiICpuZ0lmPVwiaGFzRmlsdGVySW5wdXRcIj5cclxuICAgIDxtYXQtZm9ybS1maWVsZCBmbG9hdFBsYWNlaG9sZGVyPVwibmV2ZXJcIj5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAjZmlsdGVyXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidpZ28uY29tbW9uLnRhYmxlLmZpbHRlcicgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAvPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbnRhaW5lclwiPlxyXG4gICAgPHRhYmxlIG1hdC10YWJsZSAjdGFibGUgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiIG1hdFNvcnQ+XHJcbiAgICAgIDwhLS0gQ2hlY2tib3ggQ29sdW1uIC0tPlxyXG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInNlbGVjdGlvbkNoZWNrYm94XCI+XHJcbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5cclxuICAgICAgICAgIDxtYXQtY2hlY2tib3hcclxuICAgICAgICAgICAgKGNoYW5nZSk9XCIkZXZlbnQgPyBtYXN0ZXJUb2dnbGUoKSA6IG51bGxcIlxyXG4gICAgICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3Rpb24uaGFzVmFsdWUoKSAmJiBpc0FsbFNlbGVjdGVkKClcIlxyXG4gICAgICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJzZWxlY3Rpb24uaGFzVmFsdWUoKSAmJiAhaXNBbGxTZWxlY3RlZCgpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxyXG4gICAgICAgIDwvdGg+XHJcbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHJvd1wiPlxyXG4gICAgICAgICAgPG1hdC1jaGVja2JveFxyXG4gICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICAgICAgKGNoYW5nZSk9XCIkZXZlbnQgPyBzZWxlY3Rpb24udG9nZ2xlKHJvdykgOiBudWxsXCJcclxuICAgICAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0aW9uLmlzU2VsZWN0ZWQocm93KVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8L21hdC1jaGVja2JveD5cclxuICAgICAgICA8L3RkPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICBbbWF0Q29sdW1uRGVmXT1cImNvbHVtbi5uYW1lXCJcclxuICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIG1vZGVsLmNvbHVtbnNcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi5zb3J0YWJsZVwiPlxyXG4gICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+XHJcbiAgICAgICAgICAgIHt7IGNvbHVtbi50aXRsZSB9fVxyXG4gICAgICAgICAgPC90aD5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjb2x1bW4uc29ydGFibGVcIj5cclxuICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+e3sgY29sdW1uLnRpdGxlIH19PC90aD5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjb2x1bW4uaHRtbDsgZWxzZSBjZWxsSFRNTFwiPlxyXG4gICAgICAgICAgPHRkXHJcbiAgICAgICAgICAgIG1hdC1jZWxsXHJcbiAgICAgICAgICAgICptYXRDZWxsRGVmPVwibGV0IHJvd1wiXHJcbiAgICAgICAgICAgIGNsYXNzPVwibWF0LWNlbGwtdGV4dFwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIlxyXG4gICAgICAgICAgICAgIG1vZGVsLmNlbGxDbGFzc0Z1bmMgPyBtb2RlbC5jZWxsQ2xhc3NGdW5jKHJvdywgY29sdW1uKSA6IHt9XHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7IGdldFZhbHVlKHJvdywgY29sdW1uLm5hbWUpIH19XHJcbiAgICAgICAgICA8L3RkPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI2NlbGxIVE1MPlxyXG4gICAgICAgICAgPHRkXHJcbiAgICAgICAgICAgIG1hdC1jZWxsXHJcbiAgICAgICAgICAgICptYXRDZWxsRGVmPVwibGV0IHJvd1wiXHJcbiAgICAgICAgICAgIGNsYXNzPVwibWF0LWNlbGwtdGV4dFwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIlxyXG4gICAgICAgICAgICAgIG1vZGVsLmNlbGxDbGFzc0Z1bmMgPyBtb2RlbC5jZWxsQ2xhc3NGdW5jKHJvdywgY29sdW1uKSA6IHt9XHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiZ2V0VmFsdWUocm93LCBjb2x1bW4ubmFtZSlcIlxyXG4gICAgICAgICAgPjwvdGQ+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICA8IS0tIEFjdGlvbiBDb2x1bW4gLS0+XHJcbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiYWN0aW9uXCI+XHJcbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj48L3RoPlxyXG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIj5cclxuICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBtb2RlbC5hY3Rpb25zXCJcclxuICAgICAgICAgICAgbWF0LW1pbmktZmFiXHJcbiAgICAgICAgICAgIFtjb2xvcl09XCJnZXRBY3Rpb25Db2xvcihhY3Rpb24uY29sb3IpXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUNsaWNrQWN0aW9uKCRldmVudCwgYWN0aW9uLCByb3cpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJ7eyBhY3Rpb24uaWNvbiB9fVwiPjwvbWF0LWljb24+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L3RkPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uc1wiPjwvdHI+XHJcbiAgICAgIDx0clxyXG4gICAgICAgIG1hdC1yb3dcclxuICAgICAgICAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1uc1wiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwibW9kZWwucm93Q2xhc3NGdW5jID8gbW9kZWwucm93Q2xhc3NGdW5jKHJvdykgOiB7fVwiXHJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdGlvbi50b2dnbGUocm93KVwiXHJcbiAgICAgID48L3RyPlxyXG4gICAgPC90YWJsZT5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|