@igo2/common 1.14.1 → 1.14.3
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/esm2020/igo2-common.mjs +4 -4
- package/esm2020/lib/action/action.module.mjs +26 -26
- package/esm2020/lib/action/actionbar/actionbar-item.component.mjs +251 -251
- package/esm2020/lib/action/actionbar/actionbar.component.mjs +369 -369
- package/esm2020/lib/action/actionbar/actionbar.module.mjs +56 -56
- package/esm2020/lib/action/index.mjs +2 -2
- package/esm2020/lib/action/shared/action.enums.mjs +6 -6
- package/esm2020/lib/action/shared/action.interfaces.mjs +1 -1
- package/esm2020/lib/action/shared/index.mjs +3 -3
- package/esm2020/lib/action/shared/store.mjs +7 -7
- package/esm2020/lib/backdrop/backdrop.component.mjs +25 -25
- package/esm2020/lib/backdrop/backdrop.module.mjs +24 -24
- package/esm2020/lib/backdrop/index.mjs +1 -1
- package/esm2020/lib/badge-icon/badge-icon.directive.mjs +141 -125
- package/esm2020/lib/badge-icon/badge-icon.module.mjs +25 -25
- package/esm2020/lib/badge-icon/index.mjs +1 -1
- package/esm2020/lib/clickout/clickout.directive.mjs +31 -31
- package/esm2020/lib/clickout/clickout.module.mjs +23 -23
- package/esm2020/lib/clickout/index.mjs +1 -1
- package/esm2020/lib/clone/clone.module.mjs +23 -23
- package/esm2020/lib/clone/clone.pipe.mjs +23 -23
- package/esm2020/lib/clone/index.mjs +1 -1
- package/esm2020/lib/collapsible/collapse.directive.mjs +54 -54
- package/esm2020/lib/collapsible/collapsible.component.mjs +56 -56
- package/esm2020/lib/collapsible/collapsible.module.mjs +26 -26
- package/esm2020/lib/collapsible/index.mjs +2 -2
- package/esm2020/lib/confirm-dialog/confirm-dialog.component.mjs +43 -43
- package/esm2020/lib/confirm-dialog/confirm-dialog.module.mjs +28 -28
- package/esm2020/lib/confirm-dialog/confirm-dialog.service.mjs +21 -21
- package/esm2020/lib/confirm-dialog/index.mjs +2 -2
- package/esm2020/lib/context-menu/context-menu.directive.mjs +102 -102
- package/esm2020/lib/context-menu/context-menu.module.mjs +24 -24
- package/esm2020/lib/context-menu/index.mjs +2 -2
- package/esm2020/lib/context-menu/long-press.directive.mjs +62 -62
- package/esm2020/lib/custom-html/custom-html.component.mjs +27 -27
- package/esm2020/lib/custom-html/custom-html.module.mjs +46 -46
- package/esm2020/lib/custom-html/custom-html.pipe.mjs +17 -17
- package/esm2020/lib/custom-html/index.mjs +2 -2
- package/esm2020/lib/dom/dom.interfaces.mjs +1 -1
- package/esm2020/lib/dom/dom.module.mjs +22 -22
- package/esm2020/lib/dom/dom.service.mjs +29 -29
- package/esm2020/lib/dom/index.mjs +2 -2
- package/esm2020/lib/drag-drop/drag-drop.directive.mjs +87 -87
- package/esm2020/lib/drag-drop/drag-drop.module.mjs +23 -23
- package/esm2020/lib/drag-drop/index.mjs +1 -1
- package/esm2020/lib/dynamic-component/dynamic-component.module.mjs +30 -30
- package/esm2020/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.mjs +121 -121
- package/esm2020/lib/dynamic-component/dynamic-outlet/dynamic-outlet.module.mjs +27 -27
- package/esm2020/lib/dynamic-component/index.mjs +2 -2
- package/esm2020/lib/dynamic-component/shared/dynamic-component.interfaces.mjs +1 -1
- package/esm2020/lib/dynamic-component/shared/dynamic-component.mjs +173 -173
- package/esm2020/lib/dynamic-component/shared/dynamic-component.service.mjs +28 -28
- package/esm2020/lib/dynamic-component/shared/index.mjs +3 -3
- package/esm2020/lib/entity/entity-selector/entity-selector.component.mjs +193 -193
- package/esm2020/lib/entity/entity-selector/entity-selector.module.mjs +31 -31
- package/esm2020/lib/entity/entity-table/entity-table-row.directive.mjs +136 -136
- package/esm2020/lib/entity/entity-table/entity-table.component.mjs +1368 -1368
- package/esm2020/lib/entity/entity-table/entity-table.module.mjs +101 -101
- package/esm2020/lib/entity/entity-table-paginator/entity-table-paginator.component.mjs +131 -131
- package/esm2020/lib/entity/entity-table-paginator/entity-table-paginator.interface.mjs +1 -1
- package/esm2020/lib/entity/entity-table-paginator/entity-table-paginator.module.mjs +27 -27
- package/esm2020/lib/entity/entity.module.mjs +30 -30
- package/esm2020/lib/entity/index.mjs +5 -5
- package/esm2020/lib/entity/shared/entity.enums.mjs +27 -27
- package/esm2020/lib/entity/shared/entity.interfaces.mjs +1 -1
- package/esm2020/lib/entity/shared/entity.utils.mjs +66 -66
- package/esm2020/lib/entity/shared/index.mjs +9 -9
- package/esm2020/lib/entity/shared/state.mjs +190 -190
- package/esm2020/lib/entity/shared/store.mjs +287 -287
- package/esm2020/lib/entity/shared/strategies/filter-custom-function.mjs +78 -78
- package/esm2020/lib/entity/shared/strategies/filter-selection.mjs +83 -83
- package/esm2020/lib/entity/shared/strategies/index.mjs +3 -3
- package/esm2020/lib/entity/shared/strategies/strategy.mjs +74 -74
- package/esm2020/lib/entity/shared/transaction.mjs +315 -315
- package/esm2020/lib/entity/shared/view.mjs +314 -314
- package/esm2020/lib/entity/shared/watcher.mjs +119 -119
- package/esm2020/lib/flexible/flexible.component.mjs +147 -147
- package/esm2020/lib/flexible/flexible.module.mjs +23 -23
- package/esm2020/lib/flexible/flexible.type.mjs +1 -1
- package/esm2020/lib/flexible/index.mjs +2 -2
- package/esm2020/lib/form/form/form.component.mjs +116 -116
- package/esm2020/lib/form/form/form.module.mjs +39 -39
- package/esm2020/lib/form/form-field/form-field-select.component.mjs +126 -126
- package/esm2020/lib/form/form-field/form-field-text.component.mjs +103 -103
- package/esm2020/lib/form/form-field/form-field-textarea.component.mjs +104 -104
- package/esm2020/lib/form/form-field/form-field.component.mjs +71 -71
- package/esm2020/lib/form/form-field/form-field.module.mjs +73 -73
- package/esm2020/lib/form/form-field/index.mjs +4 -4
- package/esm2020/lib/form/form-group/form-group.component.mjs +104 -104
- package/esm2020/lib/form/form-group/form-group.module.mjs +39 -39
- package/esm2020/lib/form/form.module.mjs +48 -48
- package/esm2020/lib/form/index.mjs +4 -4
- package/esm2020/lib/form/shared/form-field-component.mjs +6 -6
- package/esm2020/lib/form/shared/form-field.service.mjs +28 -28
- package/esm2020/lib/form/shared/form.interfaces.mjs +1 -1
- package/esm2020/lib/form/shared/form.service.mjs +80 -80
- package/esm2020/lib/form/shared/form.utils.mjs +39 -39
- package/esm2020/lib/form/shared/index.mjs +5 -5
- package/esm2020/lib/home-button/home-button.component.mjs +30 -30
- package/esm2020/lib/home-button/home-button.module.mjs +40 -40
- package/esm2020/lib/home-button/index.mjs +1 -1
- package/esm2020/lib/image/image-error.directive.mjs +34 -34
- package/esm2020/lib/image/image.module.mjs +24 -24
- package/esm2020/lib/image/index.mjs +2 -2
- package/esm2020/lib/image/secure-image.pipe.mjs +58 -58
- package/esm2020/lib/interactive-tour/index.mjs +4 -4
- package/esm2020/lib/interactive-tour/interactive-tour.component.mjs +134 -134
- package/esm2020/lib/interactive-tour/interactive-tour.interface.mjs +1 -1
- package/esm2020/lib/interactive-tour/interactive-tour.loader.mjs +43 -43
- package/esm2020/lib/interactive-tour/interactive-tour.module.mjs +39 -39
- package/esm2020/lib/interactive-tour/interactive-tour.service.mjs +284 -284
- package/esm2020/lib/json-dialog/index.mjs +2 -2
- package/esm2020/lib/json-dialog/json-dialog.component.mjs +108 -108
- package/esm2020/lib/json-dialog/json-dialog.module.mjs +28 -28
- package/esm2020/lib/json-dialog/json-dialog.service.mjs +23 -23
- package/esm2020/lib/keyvalue/index.mjs +1 -1
- package/esm2020/lib/keyvalue/keyvalue.module.mjs +23 -23
- package/esm2020/lib/keyvalue/keyvalue.pipe.mjs +17 -17
- package/esm2020/lib/list/index.mjs +2 -2
- package/esm2020/lib/list/list-item.directive.mjs +164 -164
- package/esm2020/lib/list/list.component.mjs +261 -261
- package/esm2020/lib/list/list.module.mjs +28 -28
- package/esm2020/lib/panel/index.mjs +1 -1
- package/esm2020/lib/panel/panel.component.mjs +58 -58
- package/esm2020/lib/panel/panel.module.mjs +18 -18
- package/esm2020/lib/sidenav/index.mjs +1 -1
- package/esm2020/lib/sidenav/sidenav-shim.directive.mjs +54 -54
- package/esm2020/lib/sidenav/sidenav.module.mjs +23 -23
- package/esm2020/lib/spinner/index.mjs +2 -2
- package/esm2020/lib/spinner/spinner-activity.directive.mjs +46 -46
- package/esm2020/lib/spinner/spinner.component.mjs +34 -34
- package/esm2020/lib/spinner/spinner.module.mjs +20 -20
- package/esm2020/lib/stop-propagation/index.mjs +2 -2
- package/esm2020/lib/stop-propagation/stop-drop-propagation.directive.mjs +21 -21
- package/esm2020/lib/stop-propagation/stop-propagation.directive.mjs +20 -20
- package/esm2020/lib/stop-propagation/stop-propagation.module.mjs +24 -24
- package/esm2020/lib/table/index.mjs +5 -5
- package/esm2020/lib/table/table-action-color.enum.mjs +6 -6
- package/esm2020/lib/table/table-database.mjs +27 -27
- package/esm2020/lib/table/table-datasource.mjs +60 -60
- package/esm2020/lib/table/table-model.interface.mjs +1 -1
- package/esm2020/lib/table/table.component.mjs +296 -296
- package/esm2020/lib/table/table.module.mjs +66 -66
- package/esm2020/lib/tool/index.mjs +2 -2
- package/esm2020/lib/tool/shared/index.mjs +5 -5
- package/esm2020/lib/tool/shared/tool-component.mjs +8 -8
- package/esm2020/lib/tool/shared/tool.interface.mjs +1 -1
- package/esm2020/lib/tool/shared/tool.service.mjs +42 -42
- package/esm2020/lib/tool/shared/toolbox.enums.mjs +6 -6
- package/esm2020/lib/tool/shared/toolbox.mjs +178 -178
- package/esm2020/lib/tool/tool.module.mjs +31 -31
- package/esm2020/lib/tool/toolbox/toolbox.animation.mjs +9 -9
- package/esm2020/lib/tool/toolbox/toolbox.component.mjs +254 -254
- package/esm2020/lib/tool/toolbox/toolbox.module.mjs +35 -35
- package/esm2020/lib/widget/index.mjs +2 -2
- package/esm2020/lib/widget/shared/index.mjs +3 -3
- package/esm2020/lib/widget/shared/widget.interfaces.mjs +1 -1
- package/esm2020/lib/widget/shared/widget.mjs +3 -3
- package/esm2020/lib/widget/shared/widget.service.mjs +19 -19
- package/esm2020/lib/widget/widget-outlet/widget-outlet.component.mjs +115 -115
- package/esm2020/lib/widget/widget-outlet/widget-outlet.module.mjs +31 -31
- package/esm2020/lib/widget/widget.module.mjs +31 -31
- package/esm2020/lib/workspace/index.mjs +3 -3
- package/esm2020/lib/workspace/shared/index.mjs +3 -3
- package/esm2020/lib/workspace/shared/store.mjs +39 -39
- package/esm2020/lib/workspace/shared/workspace.interfaces.mjs +1 -1
- package/esm2020/lib/workspace/shared/workspace.mjs +116 -116
- package/esm2020/lib/workspace/workspace-selector/workspace-selector.component.mjs +50 -50
- package/esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs +31 -31
- package/esm2020/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.mjs +87 -87
- package/esm2020/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.module.mjs +31 -31
- package/esm2020/lib/workspace/workspace.module.mjs +26 -26
- package/esm2020/public_api.mjs +73 -73
- package/fesm2015/igo2-common.mjs +10003 -9987
- package/fesm2015/igo2-common.mjs.map +1 -1
- package/fesm2020/igo2-common.mjs +9306 -9290
- package/fesm2020/igo2-common.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/action/action.module.d.ts +8 -8
- package/lib/action/actionbar/actionbar-item.component.d.ts +78 -78
- package/lib/action/actionbar/actionbar.component.d.ts +146 -146
- package/lib/action/actionbar/actionbar.module.d.ts +20 -20
- 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 -32
- 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/index.d.ts +2 -2
- 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 +10 -10
- 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-table/entity-table-row.directive.d.ts +69 -69
- package/lib/entity/entity-table/entity-table.component.d.ts +327 -327
- package/lib/entity/entity-table/entity-table.module.d.ts +29 -29
- 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.module.d.ts +10 -10
- 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 +114 -114
- package/lib/entity/shared/entity.utils.d.ts +49 -49
- package/lib/entity/shared/index.d.ts +9 -9
- package/lib/entity/shared/state.d.ts +103 -103
- package/lib/entity/shared/store.d.ts +176 -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 +168 -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 +34 -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 +57 -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/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/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/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/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 +17 -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/toolbox/toolbox.animation.d.ts +2 -2
- package/lib/tool/toolbox/toolbox.component.d.ts +127 -127
- package/lib/tool/toolbox/toolbox.module.d.ts +13 -13
- 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/package.json +3 -3
- package/public_api.d.ts +70 -70
|
@@ -1,297 +1,297 @@
|
|
|
1
|
-
import { Component, 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 { TableDataSource } from './table-datasource';
|
|
8
|
-
import { TableActionColor } from './table-action-color.enum';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "@angular/common";
|
|
11
|
-
import * as i2 from "@angular/material/icon";
|
|
12
|
-
import * as i3 from "@angular/material/button";
|
|
13
|
-
import * as i4 from "@angular/material/table";
|
|
14
|
-
import * as i5 from "@angular/material/form-field";
|
|
15
|
-
import * as i6 from "@angular/material/input";
|
|
16
|
-
import * as i7 from "@angular/material/sort";
|
|
17
|
-
import * as i8 from "@angular/material/checkbox";
|
|
18
|
-
import * as i9 from "@ngx-translate/core";
|
|
19
|
-
const _c0 = ["filter"];
|
|
20
|
-
function TableComponent_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
21
|
-
i0.ɵɵelementStart(0, "div", 12)(1, "mat-form-field", 13);
|
|
22
|
-
i0.ɵɵelement(2, "input", 14, 15);
|
|
23
|
-
i0.ɵɵpipe(4, "translate");
|
|
24
|
-
i0.ɵɵelementEnd()();
|
|
25
|
-
} if (rf & 2) {
|
|
26
|
-
i0.ɵɵadvance(2);
|
|
27
|
-
i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(4, 1, "igo.common.table.filter"));
|
|
28
|
-
} }
|
|
29
|
-
function TableComponent_th_6_Template(rf, ctx) { if (rf & 1) {
|
|
30
|
-
const _r11 = i0.ɵɵgetCurrentView();
|
|
31
|
-
i0.ɵɵelementStart(0, "th", 16)(1, "mat-checkbox", 17);
|
|
32
|
-
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); });
|
|
33
|
-
i0.ɵɵelementEnd()();
|
|
34
|
-
} if (rf & 2) {
|
|
35
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
|
36
|
-
i0.ɵɵadvance(1);
|
|
37
|
-
i0.ɵɵproperty("checked", ctx_r2.selection.hasValue() && ctx_r2.isAllSelected())("indeterminate", ctx_r2.selection.hasValue() && !ctx_r2.isAllSelected());
|
|
38
|
-
} }
|
|
39
|
-
function TableComponent_td_7_Template(rf, ctx) { if (rf & 1) {
|
|
40
|
-
const _r15 = i0.ɵɵgetCurrentView();
|
|
41
|
-
i0.ɵɵelementStart(0, "td", 18)(1, "mat-checkbox", 19);
|
|
42
|
-
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); });
|
|
43
|
-
i0.ɵɵelementEnd()();
|
|
44
|
-
} if (rf & 2) {
|
|
45
|
-
const row_r12 = ctx.$implicit;
|
|
46
|
-
const ctx_r3 = i0.ɵɵnextContext();
|
|
47
|
-
i0.ɵɵadvance(1);
|
|
48
|
-
i0.ɵɵproperty("checked", ctx_r3.selection.isSelected(row_r12));
|
|
49
|
-
} }
|
|
50
|
-
function TableComponent_ng_container_8_ng_container_1_th_1_Template(rf, ctx) { if (rf & 1) {
|
|
51
|
-
i0.ɵɵelementStart(0, "th", 25);
|
|
52
|
-
i0.ɵɵtext(1);
|
|
53
|
-
i0.ɵɵelementEnd();
|
|
54
|
-
} if (rf & 2) {
|
|
55
|
-
const column_r16 = i0.ɵɵnextContext(2).$implicit;
|
|
56
|
-
i0.ɵɵadvance(1);
|
|
57
|
-
i0.ɵɵtextInterpolate1(" ", column_r16.title, " ");
|
|
58
|
-
} }
|
|
59
|
-
function TableComponent_ng_container_8_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
60
|
-
i0.ɵɵelementContainerStart(0);
|
|
61
|
-
i0.ɵɵtemplate(1, TableComponent_ng_container_8_ng_container_1_th_1_Template, 2, 1, "th", 24);
|
|
62
|
-
i0.ɵɵelementContainerEnd();
|
|
63
|
-
} }
|
|
64
|
-
function TableComponent_ng_container_8_ng_container_2_th_1_Template(rf, ctx) { if (rf & 1) {
|
|
65
|
-
i0.ɵɵelementStart(0, "th", 16);
|
|
66
|
-
i0.ɵɵtext(1);
|
|
67
|
-
i0.ɵɵelementEnd();
|
|
68
|
-
} if (rf & 2) {
|
|
69
|
-
const column_r16 = i0.ɵɵnextContext(2).$implicit;
|
|
70
|
-
i0.ɵɵadvance(1);
|
|
71
|
-
i0.ɵɵtextInterpolate1(" ", column_r16.title, " ");
|
|
72
|
-
} }
|
|
73
|
-
function TableComponent_ng_container_8_ng_container_2_Template(rf, ctx) { if (rf & 1) {
|
|
74
|
-
i0.ɵɵelementContainerStart(0);
|
|
75
|
-
i0.ɵɵtemplate(1, TableComponent_ng_container_8_ng_container_2_th_1_Template, 2, 1, "th", 6);
|
|
76
|
-
i0.ɵɵelementContainerEnd();
|
|
77
|
-
} }
|
|
78
|
-
const _c1 = function () { return {}; };
|
|
79
|
-
function TableComponent_ng_container_8_ng_container_3_td_1_Template(rf, ctx) { if (rf & 1) {
|
|
80
|
-
i0.ɵɵelementStart(0, "td", 27);
|
|
81
|
-
i0.ɵɵtext(1);
|
|
82
|
-
i0.ɵɵelementEnd();
|
|
83
|
-
} if (rf & 2) {
|
|
84
|
-
const row_r27 = ctx.$implicit;
|
|
85
|
-
const column_r16 = i0.ɵɵnextContext(2).$implicit;
|
|
86
|
-
const ctx_r26 = i0.ɵɵnextContext();
|
|
87
|
-
i0.ɵɵproperty("ngClass", ctx_r26.model.cellClassFunc ? ctx_r26.model.cellClassFunc(row_r27, column_r16) : i0.ɵɵpureFunction0(2, _c1));
|
|
88
|
-
i0.ɵɵadvance(1);
|
|
89
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r26.getValue(row_r27, column_r16.name), " ");
|
|
90
|
-
} }
|
|
91
|
-
function TableComponent_ng_container_8_ng_container_3_Template(rf, ctx) { if (rf & 1) {
|
|
92
|
-
i0.ɵɵelementContainerStart(0);
|
|
93
|
-
i0.ɵɵtemplate(1, TableComponent_ng_container_8_ng_container_3_td_1_Template, 2, 3, "td", 26);
|
|
94
|
-
i0.ɵɵelementContainerEnd();
|
|
95
|
-
} }
|
|
96
|
-
function TableComponent_ng_container_8_ng_template_4_td_0_Template(rf, ctx) { if (rf & 1) {
|
|
97
|
-
i0.ɵɵelement(0, "td", 29);
|
|
98
|
-
} if (rf & 2) {
|
|
99
|
-
const row_r30 = ctx.$implicit;
|
|
100
|
-
const column_r16 = i0.ɵɵnextContext(2).$implicit;
|
|
101
|
-
const ctx_r29 = i0.ɵɵnextContext();
|
|
102
|
-
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);
|
|
103
|
-
} }
|
|
104
|
-
function TableComponent_ng_container_8_ng_template_4_Template(rf, ctx) { if (rf & 1) {
|
|
105
|
-
i0.ɵɵtemplate(0, TableComponent_ng_container_8_ng_template_4_td_0_Template, 1, 3, "td", 28);
|
|
106
|
-
} }
|
|
107
|
-
function TableComponent_ng_container_8_Template(rf, ctx) { if (rf & 1) {
|
|
108
|
-
i0.ɵɵelementContainerStart(0, 20);
|
|
109
|
-
i0.ɵɵtemplate(1, TableComponent_ng_container_8_ng_container_1_Template, 2, 0, "ng-container", 21);
|
|
110
|
-
i0.ɵɵtemplate(2, TableComponent_ng_container_8_ng_container_2_Template, 2, 0, "ng-container", 21);
|
|
111
|
-
i0.ɵɵtemplate(3, TableComponent_ng_container_8_ng_container_3_Template, 2, 0, "ng-container", 22);
|
|
112
|
-
i0.ɵɵtemplate(4, TableComponent_ng_container_8_ng_template_4_Template, 1, 0, "ng-template", null, 23, i0.ɵɵtemplateRefExtractor);
|
|
113
|
-
i0.ɵɵelementContainerEnd();
|
|
114
|
-
} if (rf & 2) {
|
|
115
|
-
const column_r16 = ctx.$implicit;
|
|
116
|
-
const _r20 = i0.ɵɵreference(5);
|
|
117
|
-
i0.ɵɵproperty("matColumnDef", column_r16.name);
|
|
118
|
-
i0.ɵɵadvance(1);
|
|
119
|
-
i0.ɵɵproperty("ngIf", column_r16.sortable);
|
|
120
|
-
i0.ɵɵadvance(1);
|
|
121
|
-
i0.ɵɵproperty("ngIf", !column_r16.sortable);
|
|
122
|
-
i0.ɵɵadvance(1);
|
|
123
|
-
i0.ɵɵproperty("ngIf", !column_r16.html)("ngIfElse", _r20);
|
|
124
|
-
} }
|
|
125
|
-
function TableComponent_th_10_Template(rf, ctx) { if (rf & 1) {
|
|
126
|
-
i0.ɵɵelement(0, "th", 16);
|
|
127
|
-
} }
|
|
128
|
-
function TableComponent_td_11_button_1_Template(rf, ctx) { if (rf & 1) {
|
|
129
|
-
const _r36 = i0.ɵɵgetCurrentView();
|
|
130
|
-
i0.ɵɵelementStart(0, "button", 31);
|
|
131
|
-
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)); });
|
|
132
|
-
i0.ɵɵelement(1, "mat-icon", 32);
|
|
133
|
-
i0.ɵɵelementEnd();
|
|
134
|
-
} if (rf & 2) {
|
|
135
|
-
const action_r34 = ctx.$implicit;
|
|
136
|
-
const ctx_r33 = i0.ɵɵnextContext(2);
|
|
137
|
-
i0.ɵɵproperty("color", ctx_r33.getActionColor(action_r34.color));
|
|
138
|
-
i0.ɵɵadvance(1);
|
|
139
|
-
i0.ɵɵpropertyInterpolate("svgIcon", action_r34.icon);
|
|
140
|
-
} }
|
|
141
|
-
function TableComponent_td_11_Template(rf, ctx) { if (rf & 1) {
|
|
142
|
-
i0.ɵɵelementStart(0, "td", 18);
|
|
143
|
-
i0.ɵɵtemplate(1, TableComponent_td_11_button_1_Template, 2, 2, "button", 30);
|
|
144
|
-
i0.ɵɵelementEnd();
|
|
145
|
-
} if (rf & 2) {
|
|
146
|
-
const ctx_r6 = i0.ɵɵnextContext();
|
|
147
|
-
i0.ɵɵadvance(1);
|
|
148
|
-
i0.ɵɵproperty("ngForOf", ctx_r6.model.actions);
|
|
149
|
-
} }
|
|
150
|
-
function TableComponent_tr_12_Template(rf, ctx) { if (rf & 1) {
|
|
151
|
-
i0.ɵɵelement(0, "tr", 33);
|
|
152
|
-
} }
|
|
153
|
-
function TableComponent_tr_13_Template(rf, ctx) { if (rf & 1) {
|
|
154
|
-
const _r40 = i0.ɵɵgetCurrentView();
|
|
155
|
-
i0.ɵɵelementStart(0, "tr", 34);
|
|
156
|
-
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)); });
|
|
157
|
-
i0.ɵɵelementEnd();
|
|
158
|
-
} if (rf & 2) {
|
|
159
|
-
const row_r38 = ctx.$implicit;
|
|
160
|
-
const ctx_r8 = i0.ɵɵnextContext();
|
|
161
|
-
i0.ɵɵproperty("ngClass", ctx_r8.model.rowClassFunc ? ctx_r8.model.rowClassFunc(row_r38) : i0.ɵɵpureFunction0(1, _c1));
|
|
162
|
-
} }
|
|
163
|
-
export class TableComponent {
|
|
164
|
-
constructor() {
|
|
165
|
-
this._hasFIlterInput = true;
|
|
166
|
-
this.selection = new SelectionModel(true, []);
|
|
167
|
-
this.select = new EventEmitter();
|
|
168
|
-
}
|
|
169
|
-
get database() {
|
|
170
|
-
return this._database;
|
|
171
|
-
}
|
|
172
|
-
set database(value) {
|
|
173
|
-
this._database = value;
|
|
174
|
-
}
|
|
175
|
-
get model() {
|
|
176
|
-
return this._model;
|
|
177
|
-
}
|
|
178
|
-
set model(value) {
|
|
179
|
-
this._model = value;
|
|
180
|
-
}
|
|
181
|
-
get hasFilterInput() {
|
|
182
|
-
return this._hasFIlterInput;
|
|
183
|
-
}
|
|
184
|
-
set hasFilterInput(value) {
|
|
185
|
-
this._hasFIlterInput = value;
|
|
186
|
-
}
|
|
187
|
-
ngOnInit() {
|
|
188
|
-
this.dataSource = new TableDataSource(this.database, this.model, this.sort);
|
|
189
|
-
if (this.model) {
|
|
190
|
-
this.displayedColumns = this.model.columns
|
|
191
|
-
.filter(c => c.displayed !== false)
|
|
192
|
-
.map(c => c.name);
|
|
193
|
-
if (this.model.selectionCheckbox) {
|
|
194
|
-
this.displayedColumns.unshift('selectionCheckbox');
|
|
195
|
-
}
|
|
196
|
-
if (this.model.actions && this.model.actions.length) {
|
|
197
|
-
this.displayedColumns.push('action');
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
this.selection.changed.subscribe(e => this.select.emit(e));
|
|
201
|
-
}
|
|
202
|
-
ngAfterViewInit() {
|
|
203
|
-
if (this.filter) {
|
|
204
|
-
fromEvent(this.filter.nativeElement, 'keyup')
|
|
205
|
-
.pipe(debounceTime(150), distinctUntilChanged())
|
|
206
|
-
.subscribe(() => {
|
|
207
|
-
if (!this.dataSource) {
|
|
208
|
-
return;
|
|
209
|
-
}
|
|
210
|
-
this.dataSource.filter = this.filter.nativeElement.value;
|
|
211
|
-
});
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
ngOnChanges(change) {
|
|
215
|
-
if (change.database) {
|
|
216
|
-
this.dataSource = new TableDataSource(this.database, this.model, this.sort);
|
|
217
|
-
this.selection.clear();
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
getActionColor(colorId) {
|
|
221
|
-
return TableActionColor[colorId];
|
|
222
|
-
}
|
|
223
|
-
getValue(row, key) {
|
|
224
|
-
return ObjectUtils.resolve(row, key);
|
|
225
|
-
}
|
|
226
|
-
/** Whether the number of selected elements matches the total number of rows. */
|
|
227
|
-
isAllSelected() {
|
|
228
|
-
const numSelected = this.selection.selected.length;
|
|
229
|
-
const numRows = this.database.data.length;
|
|
230
|
-
return numSelected === numRows;
|
|
231
|
-
}
|
|
232
|
-
/** Selects all rows if they are not all selected; otherwise clear selection. */
|
|
233
|
-
masterToggle() {
|
|
234
|
-
this.isAllSelected()
|
|
235
|
-
? this.selection.clear()
|
|
236
|
-
: this.database.data.forEach(row => this.selection.select(row));
|
|
237
|
-
}
|
|
238
|
-
handleClickAction(event, action, row) {
|
|
239
|
-
event.stopPropagation();
|
|
240
|
-
action.click(row);
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
TableComponent.ɵfac = function TableComponent_Factory(t) { return new (t || TableComponent)(); };
|
|
244
|
-
TableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TableComponent, selectors: [["igo-table"]], viewQuery: function TableComponent_Query(rf, ctx) { if (rf & 1) {
|
|
245
|
-
i0.ɵɵviewQuery(_c0, 5);
|
|
246
|
-
i0.ɵɵviewQuery(MatSort, 7);
|
|
247
|
-
} if (rf & 2) {
|
|
248
|
-
let _t;
|
|
249
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.filter = _t.first);
|
|
250
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.sort = _t.first);
|
|
251
|
-
} }, 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) {
|
|
252
|
-
i0.ɵɵelementStart(0, "div", 0);
|
|
253
|
-
i0.ɵɵtemplate(1, TableComponent_div_1_Template, 5, 3, "div", 1);
|
|
254
|
-
i0.ɵɵelementStart(2, "div", 2)(3, "table", 3, 4);
|
|
255
|
-
i0.ɵɵelementContainerStart(5, 5);
|
|
256
|
-
i0.ɵɵtemplate(6, TableComponent_th_6_Template, 2, 2, "th", 6);
|
|
257
|
-
i0.ɵɵtemplate(7, TableComponent_td_7_Template, 2, 1, "td", 7);
|
|
258
|
-
i0.ɵɵelementContainerEnd();
|
|
259
|
-
i0.ɵɵtemplate(8, TableComponent_ng_container_8_Template, 6, 5, "ng-container", 8);
|
|
260
|
-
i0.ɵɵelementContainerStart(9, 9);
|
|
261
|
-
i0.ɵɵtemplate(10, TableComponent_th_10_Template, 1, 0, "th", 6);
|
|
262
|
-
i0.ɵɵtemplate(11, TableComponent_td_11_Template, 2, 1, "td", 7);
|
|
263
|
-
i0.ɵɵelementContainerEnd();
|
|
264
|
-
i0.ɵɵtemplate(12, TableComponent_tr_12_Template, 1, 0, "tr", 10);
|
|
265
|
-
i0.ɵɵtemplate(13, TableComponent_tr_13_Template, 1, 2, "tr", 11);
|
|
266
|
-
i0.ɵɵelementEnd()()();
|
|
267
|
-
} if (rf & 2) {
|
|
268
|
-
i0.ɵɵadvance(1);
|
|
269
|
-
i0.ɵɵproperty("ngIf", ctx.hasFilterInput);
|
|
270
|
-
i0.ɵɵadvance(2);
|
|
271
|
-
i0.ɵɵproperty("dataSource", ctx.dataSource);
|
|
272
|
-
i0.ɵɵadvance(5);
|
|
273
|
-
i0.ɵɵproperty("ngForOf", ctx.model.columns);
|
|
274
|
-
i0.ɵɵadvance(4);
|
|
275
|
-
i0.ɵɵproperty("matHeaderRowDef", ctx.displayedColumns);
|
|
276
|
-
i0.ɵɵadvance(1);
|
|
277
|
-
i0.ɵɵproperty("matRowDefColumns", ctx.displayedColumns);
|
|
278
|
-
} }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i2.MatIcon, i3.MatButton, 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-header-cell[_ngcontent-%COMP%]{padding-right:5px}button[_ngcontent-%COMP%]{margin-right:10px}"] });
|
|
279
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableComponent, [{
|
|
280
|
-
type: Component,
|
|
281
|
-
args: [{ selector: 'igo-table', template: "<div class='table-box'>\n <div class='table-header' *ngIf=\"hasFilterInput\">\n <mat-form-field floatPlaceholder='never'>\n <input matInput #filter [placeholder]=\"'igo.common.table.filter' | translate\">\n </mat-form-field>\n </div>\n\n <div class='table-container'>\n <table mat-table #table [dataSource]='dataSource' matSort>\n\n <!-- Checkbox Column -->\n <ng-container matColumnDef=\"selectionCheckbox\">\n <th mat-header-cell *matHeaderCellDef>\n <mat-checkbox (change)=\"$event ? masterToggle() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\">\n </mat-checkbox>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <mat-checkbox (click)=\"$event.stopPropagation()\"\n (change)=\"$event ? selection.toggle(row) : null\"\n [checked]=\"selection.isSelected(row)\">\n </mat-checkbox>\n </td>\n </ng-container>\n\n <ng-container [matColumnDef]='column.name' *ngFor='let column of model.columns'>\n <ng-container *ngIf='column.sortable'>\n <th mat-header-cell *matHeaderCellDef mat-sort-header> {{column.title}} </th>\n </ng-container>\n\n <ng-container *ngIf='!column.sortable'>\n <th mat-header-cell *matHeaderCellDef> {{column.title}} </th>\n </ng-container>\n\n <ng-container *ngIf=\"!column.html; else cellHTML\">\n <td mat-cell *matCellDef='let row' class=\"mat-cell-text\"\n [ngClass]=\"model.cellClassFunc ? model.cellClassFunc(row, column) : {}\">\n {{getValue(row, column.name)}}\n </td>\n </ng-container>\n\n <ng-template #cellHTML>\n <td mat-cell *matCellDef='let row' class=\"mat-cell-text\"\n [ngClass]=\"model.cellClassFunc ? model.cellClassFunc(row, column) : {}\"\n [innerHTML]=\"getValue(row, column.name)\">\n </td>\n </ng-template>\n </ng-container>\n\n <!-- Action Column -->\n <ng-container matColumnDef='action'>\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef='let row'>\n <button *ngFor='let action of model.actions'\n mat-mini-fab\n [color]='getActionColor(action.color)'\n (click)='handleClickAction($event, action, row)'>\n <mat-icon svgIcon=\"{{action.icon}}\"></mat-icon>\n </button>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef='displayedColumns;'></tr>\n <tr mat-row\n *matRowDef='let row; columns: displayedColumns;'\n [ngClass]=\"model.rowClassFunc ? model.rowClassFunc(row) : {}\"\n (click)=\"selection.toggle(row)\">\n </tr>\n\n </table>\n </div>\n\n</div>\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-header-cell{padding-right:5px}button{margin-right:10px}\n"] }]
|
|
282
|
-
}], null, { database: [{
|
|
283
|
-
type: Input
|
|
284
|
-
}], model: [{
|
|
285
|
-
type: Input
|
|
286
|
-
}], hasFilterInput: [{
|
|
287
|
-
type: Input
|
|
288
|
-
}], select: [{
|
|
289
|
-
type: Output
|
|
290
|
-
}], filter: [{
|
|
291
|
-
type: ViewChild,
|
|
292
|
-
args: ['filter']
|
|
293
|
-
}], sort: [{
|
|
294
|
-
type: ViewChild,
|
|
295
|
-
args: [MatSort, { static: true }]
|
|
296
|
-
}] }); })();
|
|
1
|
+
import { Component, 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 { TableDataSource } from './table-datasource';
|
|
8
|
+
import { TableActionColor } from './table-action-color.enum';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@angular/common";
|
|
11
|
+
import * as i2 from "@angular/material/icon";
|
|
12
|
+
import * as i3 from "@angular/material/button";
|
|
13
|
+
import * as i4 from "@angular/material/table";
|
|
14
|
+
import * as i5 from "@angular/material/form-field";
|
|
15
|
+
import * as i6 from "@angular/material/input";
|
|
16
|
+
import * as i7 from "@angular/material/sort";
|
|
17
|
+
import * as i8 from "@angular/material/checkbox";
|
|
18
|
+
import * as i9 from "@ngx-translate/core";
|
|
19
|
+
const _c0 = ["filter"];
|
|
20
|
+
function TableComponent_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
21
|
+
i0.ɵɵelementStart(0, "div", 12)(1, "mat-form-field", 13);
|
|
22
|
+
i0.ɵɵelement(2, "input", 14, 15);
|
|
23
|
+
i0.ɵɵpipe(4, "translate");
|
|
24
|
+
i0.ɵɵelementEnd()();
|
|
25
|
+
} if (rf & 2) {
|
|
26
|
+
i0.ɵɵadvance(2);
|
|
27
|
+
i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(4, 1, "igo.common.table.filter"));
|
|
28
|
+
} }
|
|
29
|
+
function TableComponent_th_6_Template(rf, ctx) { if (rf & 1) {
|
|
30
|
+
const _r11 = i0.ɵɵgetCurrentView();
|
|
31
|
+
i0.ɵɵelementStart(0, "th", 16)(1, "mat-checkbox", 17);
|
|
32
|
+
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); });
|
|
33
|
+
i0.ɵɵelementEnd()();
|
|
34
|
+
} if (rf & 2) {
|
|
35
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
36
|
+
i0.ɵɵadvance(1);
|
|
37
|
+
i0.ɵɵproperty("checked", ctx_r2.selection.hasValue() && ctx_r2.isAllSelected())("indeterminate", ctx_r2.selection.hasValue() && !ctx_r2.isAllSelected());
|
|
38
|
+
} }
|
|
39
|
+
function TableComponent_td_7_Template(rf, ctx) { if (rf & 1) {
|
|
40
|
+
const _r15 = i0.ɵɵgetCurrentView();
|
|
41
|
+
i0.ɵɵelementStart(0, "td", 18)(1, "mat-checkbox", 19);
|
|
42
|
+
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); });
|
|
43
|
+
i0.ɵɵelementEnd()();
|
|
44
|
+
} if (rf & 2) {
|
|
45
|
+
const row_r12 = ctx.$implicit;
|
|
46
|
+
const ctx_r3 = i0.ɵɵnextContext();
|
|
47
|
+
i0.ɵɵadvance(1);
|
|
48
|
+
i0.ɵɵproperty("checked", ctx_r3.selection.isSelected(row_r12));
|
|
49
|
+
} }
|
|
50
|
+
function TableComponent_ng_container_8_ng_container_1_th_1_Template(rf, ctx) { if (rf & 1) {
|
|
51
|
+
i0.ɵɵelementStart(0, "th", 25);
|
|
52
|
+
i0.ɵɵtext(1);
|
|
53
|
+
i0.ɵɵelementEnd();
|
|
54
|
+
} if (rf & 2) {
|
|
55
|
+
const column_r16 = i0.ɵɵnextContext(2).$implicit;
|
|
56
|
+
i0.ɵɵadvance(1);
|
|
57
|
+
i0.ɵɵtextInterpolate1(" ", column_r16.title, " ");
|
|
58
|
+
} }
|
|
59
|
+
function TableComponent_ng_container_8_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
60
|
+
i0.ɵɵelementContainerStart(0);
|
|
61
|
+
i0.ɵɵtemplate(1, TableComponent_ng_container_8_ng_container_1_th_1_Template, 2, 1, "th", 24);
|
|
62
|
+
i0.ɵɵelementContainerEnd();
|
|
63
|
+
} }
|
|
64
|
+
function TableComponent_ng_container_8_ng_container_2_th_1_Template(rf, ctx) { if (rf & 1) {
|
|
65
|
+
i0.ɵɵelementStart(0, "th", 16);
|
|
66
|
+
i0.ɵɵtext(1);
|
|
67
|
+
i0.ɵɵelementEnd();
|
|
68
|
+
} if (rf & 2) {
|
|
69
|
+
const column_r16 = i0.ɵɵnextContext(2).$implicit;
|
|
70
|
+
i0.ɵɵadvance(1);
|
|
71
|
+
i0.ɵɵtextInterpolate1(" ", column_r16.title, " ");
|
|
72
|
+
} }
|
|
73
|
+
function TableComponent_ng_container_8_ng_container_2_Template(rf, ctx) { if (rf & 1) {
|
|
74
|
+
i0.ɵɵelementContainerStart(0);
|
|
75
|
+
i0.ɵɵtemplate(1, TableComponent_ng_container_8_ng_container_2_th_1_Template, 2, 1, "th", 6);
|
|
76
|
+
i0.ɵɵelementContainerEnd();
|
|
77
|
+
} }
|
|
78
|
+
const _c1 = function () { return {}; };
|
|
79
|
+
function TableComponent_ng_container_8_ng_container_3_td_1_Template(rf, ctx) { if (rf & 1) {
|
|
80
|
+
i0.ɵɵelementStart(0, "td", 27);
|
|
81
|
+
i0.ɵɵtext(1);
|
|
82
|
+
i0.ɵɵelementEnd();
|
|
83
|
+
} if (rf & 2) {
|
|
84
|
+
const row_r27 = ctx.$implicit;
|
|
85
|
+
const column_r16 = i0.ɵɵnextContext(2).$implicit;
|
|
86
|
+
const ctx_r26 = i0.ɵɵnextContext();
|
|
87
|
+
i0.ɵɵproperty("ngClass", ctx_r26.model.cellClassFunc ? ctx_r26.model.cellClassFunc(row_r27, column_r16) : i0.ɵɵpureFunction0(2, _c1));
|
|
88
|
+
i0.ɵɵadvance(1);
|
|
89
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r26.getValue(row_r27, column_r16.name), " ");
|
|
90
|
+
} }
|
|
91
|
+
function TableComponent_ng_container_8_ng_container_3_Template(rf, ctx) { if (rf & 1) {
|
|
92
|
+
i0.ɵɵelementContainerStart(0);
|
|
93
|
+
i0.ɵɵtemplate(1, TableComponent_ng_container_8_ng_container_3_td_1_Template, 2, 3, "td", 26);
|
|
94
|
+
i0.ɵɵelementContainerEnd();
|
|
95
|
+
} }
|
|
96
|
+
function TableComponent_ng_container_8_ng_template_4_td_0_Template(rf, ctx) { if (rf & 1) {
|
|
97
|
+
i0.ɵɵelement(0, "td", 29);
|
|
98
|
+
} if (rf & 2) {
|
|
99
|
+
const row_r30 = ctx.$implicit;
|
|
100
|
+
const column_r16 = i0.ɵɵnextContext(2).$implicit;
|
|
101
|
+
const ctx_r29 = i0.ɵɵnextContext();
|
|
102
|
+
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);
|
|
103
|
+
} }
|
|
104
|
+
function TableComponent_ng_container_8_ng_template_4_Template(rf, ctx) { if (rf & 1) {
|
|
105
|
+
i0.ɵɵtemplate(0, TableComponent_ng_container_8_ng_template_4_td_0_Template, 1, 3, "td", 28);
|
|
106
|
+
} }
|
|
107
|
+
function TableComponent_ng_container_8_Template(rf, ctx) { if (rf & 1) {
|
|
108
|
+
i0.ɵɵelementContainerStart(0, 20);
|
|
109
|
+
i0.ɵɵtemplate(1, TableComponent_ng_container_8_ng_container_1_Template, 2, 0, "ng-container", 21);
|
|
110
|
+
i0.ɵɵtemplate(2, TableComponent_ng_container_8_ng_container_2_Template, 2, 0, "ng-container", 21);
|
|
111
|
+
i0.ɵɵtemplate(3, TableComponent_ng_container_8_ng_container_3_Template, 2, 0, "ng-container", 22);
|
|
112
|
+
i0.ɵɵtemplate(4, TableComponent_ng_container_8_ng_template_4_Template, 1, 0, "ng-template", null, 23, i0.ɵɵtemplateRefExtractor);
|
|
113
|
+
i0.ɵɵelementContainerEnd();
|
|
114
|
+
} if (rf & 2) {
|
|
115
|
+
const column_r16 = ctx.$implicit;
|
|
116
|
+
const _r20 = i0.ɵɵreference(5);
|
|
117
|
+
i0.ɵɵproperty("matColumnDef", column_r16.name);
|
|
118
|
+
i0.ɵɵadvance(1);
|
|
119
|
+
i0.ɵɵproperty("ngIf", column_r16.sortable);
|
|
120
|
+
i0.ɵɵadvance(1);
|
|
121
|
+
i0.ɵɵproperty("ngIf", !column_r16.sortable);
|
|
122
|
+
i0.ɵɵadvance(1);
|
|
123
|
+
i0.ɵɵproperty("ngIf", !column_r16.html)("ngIfElse", _r20);
|
|
124
|
+
} }
|
|
125
|
+
function TableComponent_th_10_Template(rf, ctx) { if (rf & 1) {
|
|
126
|
+
i0.ɵɵelement(0, "th", 16);
|
|
127
|
+
} }
|
|
128
|
+
function TableComponent_td_11_button_1_Template(rf, ctx) { if (rf & 1) {
|
|
129
|
+
const _r36 = i0.ɵɵgetCurrentView();
|
|
130
|
+
i0.ɵɵelementStart(0, "button", 31);
|
|
131
|
+
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)); });
|
|
132
|
+
i0.ɵɵelement(1, "mat-icon", 32);
|
|
133
|
+
i0.ɵɵelementEnd();
|
|
134
|
+
} if (rf & 2) {
|
|
135
|
+
const action_r34 = ctx.$implicit;
|
|
136
|
+
const ctx_r33 = i0.ɵɵnextContext(2);
|
|
137
|
+
i0.ɵɵproperty("color", ctx_r33.getActionColor(action_r34.color));
|
|
138
|
+
i0.ɵɵadvance(1);
|
|
139
|
+
i0.ɵɵpropertyInterpolate("svgIcon", action_r34.icon);
|
|
140
|
+
} }
|
|
141
|
+
function TableComponent_td_11_Template(rf, ctx) { if (rf & 1) {
|
|
142
|
+
i0.ɵɵelementStart(0, "td", 18);
|
|
143
|
+
i0.ɵɵtemplate(1, TableComponent_td_11_button_1_Template, 2, 2, "button", 30);
|
|
144
|
+
i0.ɵɵelementEnd();
|
|
145
|
+
} if (rf & 2) {
|
|
146
|
+
const ctx_r6 = i0.ɵɵnextContext();
|
|
147
|
+
i0.ɵɵadvance(1);
|
|
148
|
+
i0.ɵɵproperty("ngForOf", ctx_r6.model.actions);
|
|
149
|
+
} }
|
|
150
|
+
function TableComponent_tr_12_Template(rf, ctx) { if (rf & 1) {
|
|
151
|
+
i0.ɵɵelement(0, "tr", 33);
|
|
152
|
+
} }
|
|
153
|
+
function TableComponent_tr_13_Template(rf, ctx) { if (rf & 1) {
|
|
154
|
+
const _r40 = i0.ɵɵgetCurrentView();
|
|
155
|
+
i0.ɵɵelementStart(0, "tr", 34);
|
|
156
|
+
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)); });
|
|
157
|
+
i0.ɵɵelementEnd();
|
|
158
|
+
} if (rf & 2) {
|
|
159
|
+
const row_r38 = ctx.$implicit;
|
|
160
|
+
const ctx_r8 = i0.ɵɵnextContext();
|
|
161
|
+
i0.ɵɵproperty("ngClass", ctx_r8.model.rowClassFunc ? ctx_r8.model.rowClassFunc(row_r38) : i0.ɵɵpureFunction0(1, _c1));
|
|
162
|
+
} }
|
|
163
|
+
export class TableComponent {
|
|
164
|
+
constructor() {
|
|
165
|
+
this._hasFIlterInput = true;
|
|
166
|
+
this.selection = new SelectionModel(true, []);
|
|
167
|
+
this.select = new EventEmitter();
|
|
168
|
+
}
|
|
169
|
+
get database() {
|
|
170
|
+
return this._database;
|
|
171
|
+
}
|
|
172
|
+
set database(value) {
|
|
173
|
+
this._database = value;
|
|
174
|
+
}
|
|
175
|
+
get model() {
|
|
176
|
+
return this._model;
|
|
177
|
+
}
|
|
178
|
+
set model(value) {
|
|
179
|
+
this._model = value;
|
|
180
|
+
}
|
|
181
|
+
get hasFilterInput() {
|
|
182
|
+
return this._hasFIlterInput;
|
|
183
|
+
}
|
|
184
|
+
set hasFilterInput(value) {
|
|
185
|
+
this._hasFIlterInput = value;
|
|
186
|
+
}
|
|
187
|
+
ngOnInit() {
|
|
188
|
+
this.dataSource = new TableDataSource(this.database, this.model, this.sort);
|
|
189
|
+
if (this.model) {
|
|
190
|
+
this.displayedColumns = this.model.columns
|
|
191
|
+
.filter(c => c.displayed !== false)
|
|
192
|
+
.map(c => c.name);
|
|
193
|
+
if (this.model.selectionCheckbox) {
|
|
194
|
+
this.displayedColumns.unshift('selectionCheckbox');
|
|
195
|
+
}
|
|
196
|
+
if (this.model.actions && this.model.actions.length) {
|
|
197
|
+
this.displayedColumns.push('action');
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
this.selection.changed.subscribe(e => this.select.emit(e));
|
|
201
|
+
}
|
|
202
|
+
ngAfterViewInit() {
|
|
203
|
+
if (this.filter) {
|
|
204
|
+
fromEvent(this.filter.nativeElement, 'keyup')
|
|
205
|
+
.pipe(debounceTime(150), distinctUntilChanged())
|
|
206
|
+
.subscribe(() => {
|
|
207
|
+
if (!this.dataSource) {
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
this.dataSource.filter = this.filter.nativeElement.value;
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
ngOnChanges(change) {
|
|
215
|
+
if (change.database) {
|
|
216
|
+
this.dataSource = new TableDataSource(this.database, this.model, this.sort);
|
|
217
|
+
this.selection.clear();
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
getActionColor(colorId) {
|
|
221
|
+
return TableActionColor[colorId];
|
|
222
|
+
}
|
|
223
|
+
getValue(row, key) {
|
|
224
|
+
return ObjectUtils.resolve(row, key);
|
|
225
|
+
}
|
|
226
|
+
/** Whether the number of selected elements matches the total number of rows. */
|
|
227
|
+
isAllSelected() {
|
|
228
|
+
const numSelected = this.selection.selected.length;
|
|
229
|
+
const numRows = this.database.data.length;
|
|
230
|
+
return numSelected === numRows;
|
|
231
|
+
}
|
|
232
|
+
/** Selects all rows if they are not all selected; otherwise clear selection. */
|
|
233
|
+
masterToggle() {
|
|
234
|
+
this.isAllSelected()
|
|
235
|
+
? this.selection.clear()
|
|
236
|
+
: this.database.data.forEach(row => this.selection.select(row));
|
|
237
|
+
}
|
|
238
|
+
handleClickAction(event, action, row) {
|
|
239
|
+
event.stopPropagation();
|
|
240
|
+
action.click(row);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
TableComponent.ɵfac = function TableComponent_Factory(t) { return new (t || TableComponent)(); };
|
|
244
|
+
TableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TableComponent, selectors: [["igo-table"]], viewQuery: function TableComponent_Query(rf, ctx) { if (rf & 1) {
|
|
245
|
+
i0.ɵɵviewQuery(_c0, 5);
|
|
246
|
+
i0.ɵɵviewQuery(MatSort, 7);
|
|
247
|
+
} if (rf & 2) {
|
|
248
|
+
let _t;
|
|
249
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.filter = _t.first);
|
|
250
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.sort = _t.first);
|
|
251
|
+
} }, 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) {
|
|
252
|
+
i0.ɵɵelementStart(0, "div", 0);
|
|
253
|
+
i0.ɵɵtemplate(1, TableComponent_div_1_Template, 5, 3, "div", 1);
|
|
254
|
+
i0.ɵɵelementStart(2, "div", 2)(3, "table", 3, 4);
|
|
255
|
+
i0.ɵɵelementContainerStart(5, 5);
|
|
256
|
+
i0.ɵɵtemplate(6, TableComponent_th_6_Template, 2, 2, "th", 6);
|
|
257
|
+
i0.ɵɵtemplate(7, TableComponent_td_7_Template, 2, 1, "td", 7);
|
|
258
|
+
i0.ɵɵelementContainerEnd();
|
|
259
|
+
i0.ɵɵtemplate(8, TableComponent_ng_container_8_Template, 6, 5, "ng-container", 8);
|
|
260
|
+
i0.ɵɵelementContainerStart(9, 9);
|
|
261
|
+
i0.ɵɵtemplate(10, TableComponent_th_10_Template, 1, 0, "th", 6);
|
|
262
|
+
i0.ɵɵtemplate(11, TableComponent_td_11_Template, 2, 1, "td", 7);
|
|
263
|
+
i0.ɵɵelementContainerEnd();
|
|
264
|
+
i0.ɵɵtemplate(12, TableComponent_tr_12_Template, 1, 0, "tr", 10);
|
|
265
|
+
i0.ɵɵtemplate(13, TableComponent_tr_13_Template, 1, 2, "tr", 11);
|
|
266
|
+
i0.ɵɵelementEnd()()();
|
|
267
|
+
} if (rf & 2) {
|
|
268
|
+
i0.ɵɵadvance(1);
|
|
269
|
+
i0.ɵɵproperty("ngIf", ctx.hasFilterInput);
|
|
270
|
+
i0.ɵɵadvance(2);
|
|
271
|
+
i0.ɵɵproperty("dataSource", ctx.dataSource);
|
|
272
|
+
i0.ɵɵadvance(5);
|
|
273
|
+
i0.ɵɵproperty("ngForOf", ctx.model.columns);
|
|
274
|
+
i0.ɵɵadvance(4);
|
|
275
|
+
i0.ɵɵproperty("matHeaderRowDef", ctx.displayedColumns);
|
|
276
|
+
i0.ɵɵadvance(1);
|
|
277
|
+
i0.ɵɵproperty("matRowDefColumns", ctx.displayedColumns);
|
|
278
|
+
} }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i2.MatIcon, i3.MatButton, 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-header-cell[_ngcontent-%COMP%]{padding-right:5px}button[_ngcontent-%COMP%]{margin-right:10px}"] });
|
|
279
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TableComponent, [{
|
|
280
|
+
type: Component,
|
|
281
|
+
args: [{ selector: 'igo-table', template: "<div class='table-box'>\n <div class='table-header' *ngIf=\"hasFilterInput\">\n <mat-form-field floatPlaceholder='never'>\n <input matInput #filter [placeholder]=\"'igo.common.table.filter' | translate\">\n </mat-form-field>\n </div>\n\n <div class='table-container'>\n <table mat-table #table [dataSource]='dataSource' matSort>\n\n <!-- Checkbox Column -->\n <ng-container matColumnDef=\"selectionCheckbox\">\n <th mat-header-cell *matHeaderCellDef>\n <mat-checkbox (change)=\"$event ? masterToggle() : null\"\n [checked]=\"selection.hasValue() && isAllSelected()\"\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\">\n </mat-checkbox>\n </th>\n <td mat-cell *matCellDef=\"let row\">\n <mat-checkbox (click)=\"$event.stopPropagation()\"\n (change)=\"$event ? selection.toggle(row) : null\"\n [checked]=\"selection.isSelected(row)\">\n </mat-checkbox>\n </td>\n </ng-container>\n\n <ng-container [matColumnDef]='column.name' *ngFor='let column of model.columns'>\n <ng-container *ngIf='column.sortable'>\n <th mat-header-cell *matHeaderCellDef mat-sort-header> {{column.title}} </th>\n </ng-container>\n\n <ng-container *ngIf='!column.sortable'>\n <th mat-header-cell *matHeaderCellDef> {{column.title}} </th>\n </ng-container>\n\n <ng-container *ngIf=\"!column.html; else cellHTML\">\n <td mat-cell *matCellDef='let row' class=\"mat-cell-text\"\n [ngClass]=\"model.cellClassFunc ? model.cellClassFunc(row, column) : {}\">\n {{getValue(row, column.name)}}\n </td>\n </ng-container>\n\n <ng-template #cellHTML>\n <td mat-cell *matCellDef='let row' class=\"mat-cell-text\"\n [ngClass]=\"model.cellClassFunc ? model.cellClassFunc(row, column) : {}\"\n [innerHTML]=\"getValue(row, column.name)\">\n </td>\n </ng-template>\n </ng-container>\n\n <!-- Action Column -->\n <ng-container matColumnDef='action'>\n <th mat-header-cell *matHeaderCellDef></th>\n <td mat-cell *matCellDef='let row'>\n <button *ngFor='let action of model.actions'\n mat-mini-fab\n [color]='getActionColor(action.color)'\n (click)='handleClickAction($event, action, row)'>\n <mat-icon svgIcon=\"{{action.icon}}\"></mat-icon>\n </button>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef='displayedColumns;'></tr>\n <tr mat-row\n *matRowDef='let row; columns: displayedColumns;'\n [ngClass]=\"model.rowClassFunc ? model.rowClassFunc(row) : {}\"\n (click)=\"selection.toggle(row)\">\n </tr>\n\n </table>\n </div>\n\n</div>\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-header-cell{padding-right:5px}button{margin-right:10px}\n"] }]
|
|
282
|
+
}], null, { database: [{
|
|
283
|
+
type: Input
|
|
284
|
+
}], model: [{
|
|
285
|
+
type: Input
|
|
286
|
+
}], hasFilterInput: [{
|
|
287
|
+
type: Input
|
|
288
|
+
}], select: [{
|
|
289
|
+
type: Output
|
|
290
|
+
}], filter: [{
|
|
291
|
+
type: ViewChild,
|
|
292
|
+
args: ['filter']
|
|
293
|
+
}], sort: [{
|
|
294
|
+
type: ViewChild,
|
|
295
|
+
args: [MatSort, { static: true }]
|
|
296
|
+
}] }); })();
|
|
297
297
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvdGFibGUvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvdGFibGUvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFJTixZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVqQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSTFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ3JCM0QsK0JBQWlELHlCQUFBO0lBRTdDLGdDQUE4RTs7SUFDaEYsaUJBQWlCLEVBQUE7O0lBRFMsZUFBcUQ7SUFBckQsNkVBQXFEOzs7O0lBUzNFLDhCQUFzQyx1QkFBQTtJQUN0QiwwS0FBVSx3QkFBUyxzQkFBYyxHQUFHLElBQUksQ0FBQSxJQUFDO0lBR3ZELGlCQUFlLEVBQUE7OztJQUZELGVBQW1EO0lBQW5ELCtFQUFtRCx5RUFBQTs7OztJQUluRSw4QkFBbUMsdUJBQUE7SUFDbkIsNEdBQVMsd0JBQXdCLElBQUMsd05BQ3hCLHdCQUFTLGlDQUFxQixHQUFHLElBQUksQ0FB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N0QsZ0VBSUs7UUFFUCxpQkFBUSxFQUFBLEVBQUE7O1FBckVpQixlQUFvQjtRQUFwQix5Q0FBb0I7UUFPckIsZUFBeUI7UUFBekIsMkNBQXlCO1FBa0JlLGVBQWdCO1FBQWhCLDJDQUFnQjtRQXFDMUQsZUFBa0M7UUFBbEMsc0RBQWtDO1FBRS9CLGVBQTBCO1FBQTFCLHVEQUEwQjs7dUZEcEMxQyxjQUFjO2NBTDFCLFNBQVM7MkJBQ0UsV0FBVztnQkFNakIsUUFBUTtrQkFEWCxLQUFLO1lBVUYsS0FBSztrQkFEUixLQUFLO1lBVUYsY0FBYztrQkFEakIsS0FBSztZQWNOLE1BQU07a0JBREwsTUFBTTtZQU9jLE1BQU07a0JBQTFCLFNBQVM7bUJBQUMsUUFBUTtZQUNtQixJQUFJO2tCQUF6QyxTQUFTO21CQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIFZpZXdDaGlsZCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIEFmdGVyVmlld0luaXQsXG4gIEV2ZW50RW1pdHRlclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFNvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcblxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBPYmplY3RVdGlscyB9IGZyb20gJ0BpZ28yL3V0aWxzJztcblxuaW1wb3J0IHsgVGFibGVNb2RlbCB9IGZyb20gJy4vdGFibGUtbW9kZWwuaW50ZXJmYWNlJztcbmltcG9ydCB7IFRhYmxlRGF0YWJhc2UgfSBmcm9tICcuL3RhYmxlLWRhdGFiYXNlJztcbmltcG9ydCB7IFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJy4vdGFibGUtZGF0YXNvdXJjZSc7XG5pbXBvcnQgeyBUYWJsZUFjdGlvbkNvbG9yIH0gZnJvbSAnLi90YWJsZS1hY3Rpb24tY29sb3IuZW51bSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpXG4gIGdldCBkYXRhYmFzZSgpOiBUYWJsZURhdGFiYXNlIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YWJhc2U7XG4gIH1cbiAgc2V0IGRhdGFiYXNlKHZhbHVlOiBUYWJsZURhdGFiYXNlKSB7XG4gICAgdGhpcy5fZGF0YWJhc2UgPSB2YWx1ZTtcbiAgfVxuICBwcml2YXRlIF9kYXRhYmFzZTogVGFibGVEYXRhYmFzZTtcblxuICBASW5wdXQoKVxuICBnZXQgbW9kZWwoKTogVGFibGVNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMuX21vZGVsO1xuICB9XG4gIHNldCBtb2RlbCh2YWx1ZTogVGFibGVNb2RlbCkge1xuICAgIHRoaXMuX21vZGVsID0gdmFsdWU7XG4gIH1cbiAgcHJpdmF0ZSBfbW9kZWw6IFRhYmxlTW9kZWw7XG5cbiAgQElucHV0KClcbiAgZ2V0IGhhc0ZpbHRlcklucHV0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9oYXNGSWx0ZXJJbnB1dDtcbiAgfVxuICBzZXQgaGFzRmlsdGVySW5wdXQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9oYXNGSWx0ZXJJbnB1dCA9IHZhbHVlO1xuICB9XG4gIHByaXZhdGUgX2hhc0ZJbHRlcklucHV0ID0gdHJ1ZTtcblxuICBwdWJsaWMgZGlzcGxheWVkQ29sdW1ucztcbiAgcHVibGljIGRhdGFTb3VyY2U6IFRhYmxlRGF0YVNvdXJjZSB8IG51bGw7XG4gIHB1YmxpYyBzZWxlY3Rpb24gPSBuZXcgU2VsZWN0aW9uTW9kZWw8YW55Pih0cnVlLCBbXSk7XG5cbiAgQE91dHB1dCgpXG4gIHNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8e1xuICAgIGFkZGVkOiBhbnlbXTtcbiAgICByZW1vdmVkOiBhbnlbXTtcbiAgICBzb3VyY2U6IFNlbGVjdGlvbk1vZGVsPGFueT47XG4gIH0+KCk7XG5cbiAgQFZpZXdDaGlsZCgnZmlsdGVyJykgZmlsdGVyOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKE1hdFNvcnQsIHsgc3RhdGljOiB0cnVlIH0pIHNvcnQ6IE1hdFNvcnQ7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5kYXRhU291cmNlID0gbmV3IFRhYmxlRGF0YVNvdXJjZSh0aGlzLmRhdGFiYXNlLCB0aGlzLm1vZGVsLCB0aGlzLnNvcnQpO1xuXG4gICAgaWYgKHRoaXMubW9kZWwpIHtcbiAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucyA9IHRoaXMubW9kZWwuY29sdW1uc1xuICAgICAgICAuZmlsdGVyKGMgPT4gYy5kaXNwbGF5ZWQgIT09IGZhbHNlKVxuICAgICAgICAubWFwKGMgPT4gYy5uYW1lKTtcblxuICAgICAgaWYgKHRoaXMubW9kZWwuc2VsZWN0aW9uQ2hlY2tib3gpIHtcbiAgICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLnVuc2hpZnQoJ3NlbGVjdGlvbkNoZWNrYm94Jyk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5tb2RlbC5hY3Rpb25zICYmIHRoaXMubW9kZWwuYWN0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLnB1c2goJ2FjdGlvbicpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc2VsZWN0aW9uLmNoYW5nZWQuc3Vic2NyaWJlKGUgPT4gdGhpcy5zZWxlY3QuZW1pdChlKSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMuZmlsdGVyKSB7XG4gICAgICBmcm9tRXZlbnQodGhpcy5maWx0ZXIubmF0aXZlRWxlbWVudCwgJ2tleXVwJylcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgZGVib3VuY2VUaW1lKDE1MCksXG4gICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIGlmICghdGhpcy5kYXRhU291cmNlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS5maWx0ZXIgPSB0aGlzLmZpbHRlci5uYXRpdmVFbGVtZW50LnZhbHVlO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2UpIHtcbiAgICBpZiAoY2hhbmdlLmRhdGFiYXNlKSB7XG4gICAgICB0aGlzLmRhdGFTb3VyY2UgPSBuZXcgVGFibGVEYXRhU291cmNlKFxuICAgICAgICB0aGlzLmRhdGFiYXNlLFxuICAgICAgICB0aGlzLm1vZGVsLFxuICAgICAgICB0aGlzLnNvcnRcbiAgICAgICk7XG4gICAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcigpO1xuICAgIH1cbiAgfVxuXG4gIGdldEFjdGlvbkNvbG9yKGNvbG9ySWQ6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIFRhYmxlQWN0aW9uQ29sb3JbY29sb3JJZF07XG4gIH1cblxuICBnZXRWYWx1ZShyb3csIGtleSkge1xuICAgIHJldHVybiBPYmplY3RVdGlscy5yZXNvbHZlKHJvdywga2V5KTtcbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBudW1iZXIgb2Ygc2VsZWN0ZWQgZWxlbWVudHMgbWF0Y2hlcyB0aGUgdG90YWwgbnVtYmVyIG9mIHJvd3MuICovXG4gIGlzQWxsU2VsZWN0ZWQoKSB7XG4gICAgY29uc3QgbnVtU2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5sZW5ndGg7XG4gICAgY29uc3QgbnVtUm93cyA9IHRoaXMuZGF0YWJhc2UuZGF0YS5sZW5ndGg7XG4gICAgcmV0dXJuIG51bVNlbGVjdGVkID09PSBudW1Sb3dzO1xuICB9XG5cbiAgLyoqIFNlbGVjdHMgYWxsIHJvd3MgaWYgdGhleSBhcmUgbm90IGFsbCBzZWxlY3RlZDsgb3RoZXJ3aXNlIGNsZWFyIHNlbGVjdGlvbi4gKi9cbiAgbWFzdGVyVG9nZ2xlKCkge1xuICAgIHRoaXMuaXNBbGxTZWxlY3RlZCgpXG4gICAgICA/IHRoaXMuc2VsZWN0aW9uLmNsZWFyKClcbiAgICAgIDogdGhpcy5kYXRhYmFzZS5kYXRhLmZvckVhY2gocm93ID0+IHRoaXMuc2VsZWN0aW9uLnNlbGVjdChyb3cpKTtcbiAgfVxuXG4gIGhhbmRsZUNsaWNrQWN0aW9uKGV2ZW50LCBhY3Rpb24sIHJvdykge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGFjdGlvbi5jbGljayhyb3cpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPSd0YWJsZS1ib3gnPlxuICA8ZGl2IGNsYXNzPSd0YWJsZS1oZWFkZXInICpuZ0lmPVwiaGFzRmlsdGVySW5wdXRcIj5cbiAgICA8bWF0LWZvcm0tZmllbGQgZmxvYXRQbGFjZWhvbGRlcj0nbmV2ZXInPlxuICAgICAgPGlucHV0IG1hdElucHV0ICNmaWx0ZXIgW3BsYWNlaG9sZGVyXT1cIidpZ28uY29tbW9uLnRhYmxlLmZpbHRlcicgfCB0cmFuc2xhdGVcIj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPSd0YWJsZS1jb250YWluZXInPlxuICAgIDx0YWJsZSBtYXQtdGFibGUgI3RhYmxlIFtkYXRhU291cmNlXT0nZGF0YVNvdXJjZScgbWF0U29ydD5cblxuICAgICAgPCEtLSBDaGVja2JveCBDb2x1bW4gLS0+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInNlbGVjdGlvbkNoZWNrYm94XCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+XG4gICAgICAgICAgPG1hdC1jaGVja2JveCAoY2hhbmdlKT1cIiRldmVudCA/IG1hc3RlclRvZ2dsZSgpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3Rpb24uaGFzVmFsdWUoKSAmJiBpc0FsbFNlbGVjdGVkKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwic2VsZWN0aW9uLmhhc1ZhbHVlKCkgJiYgIWlzQWxsU2VsZWN0ZWQoKVwiPlxuICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgICA8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcm93XCI+XG4gICAgICAgICAgPG1hdC1jaGVja2JveCAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiJGV2ZW50ID8gc2VsZWN0aW9uLnRvZ2dsZShyb3cpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3Rpb24uaXNTZWxlY3RlZChyb3cpXCI+XG4gICAgICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT0nY29sdW1uLm5hbWUnICpuZ0Zvcj0nbGV0IGNvbHVtbiBvZiBtb2RlbC5jb2x1bW5zJz5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj0nY29sdW1uLnNvcnRhYmxlJz5cbiAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj4ge3tjb2x1bW4udGl0bGV9fSA8L3RoPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPSchY29sdW1uLnNvcnRhYmxlJz5cbiAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiB7e2NvbHVtbi50aXRsZX19IDwvdGg+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY29sdW1uLmh0bWw7IGVsc2UgY2VsbEhUTUxcIj5cbiAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9J2xldCByb3cnIGNsYXNzPVwibWF0LWNlbGwtdGV4dFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJtb2RlbC5jZWxsQ2xhc3NGdW5jID8gbW9kZWwuY2VsbENsYXNzRnVuYyhyb3csIGNvbHVtbikgOiB7fVwiPlxuICAgICAgICAgICAge3tnZXRWYWx1ZShyb3csIGNvbHVtbi5uYW1lKX19XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNjZWxsSFRNTD5cbiAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9J2xldCByb3cnIGNsYXNzPVwibWF0LWNlbGwtdGV4dFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJtb2RlbC5jZWxsQ2xhc3NGdW5jID8gbW9kZWwuY2VsbENsYXNzRnVuYyhyb3csIGNvbHVtbikgOiB7fVwiXG4gICAgICAgICAgICBbaW5uZXJIVE1MXT1cImdldFZhbHVlKHJvdywgY29sdW1uLm5hbWUpXCI+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8IS0tIEFjdGlvbiBDb2x1bW4gLS0+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj0nYWN0aW9uJz5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj48L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9J2xldCByb3cnPlxuICAgICAgICAgIDxidXR0b24gKm5nRm9yPSdsZXQgYWN0aW9uIG9mIG1vZGVsLmFjdGlvbnMnXG4gICAgICAgICAgbWF0LW1pbmktZmFiXG4gICAgICAgICAgW2NvbG9yXT0nZ2V0QWN0aW9uQ29sb3IoYWN0aW9uLmNvbG9yKSdcbiAgICAgICAgICAoY2xpY2spPSdoYW5kbGVDbGlja0FjdGlvbigkZXZlbnQsIGFjdGlvbiwgcm93KSc+XG4gICAgICAgICAgICA8bWF0LWljb24gc3ZnSWNvbj1cInt7YWN0aW9uLmljb259fVwiPjwvbWF0LWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9J2Rpc3BsYXllZENvbHVtbnM7Jz48L3RyPlxuICAgICAgPHRyIG1hdC1yb3dcbiAgICAgICAgKm1hdFJvd0RlZj0nbGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1uczsnXG4gICAgICAgIFtuZ0NsYXNzXT1cIm1vZGVsLnJvd0NsYXNzRnVuYyA/IG1vZGVsLnJvd0NsYXNzRnVuYyhyb3cpIDoge31cIlxuICAgICAgICAoY2xpY2spPVwic2VsZWN0aW9uLnRvZ2dsZShyb3cpXCI+XG4gICAgICA8L3RyPlxuXG4gICAgPC90YWJsZT5cbiAgPC9kaXY+XG5cbjwvZGl2PlxuIl19
|