@igo2/common 1.14.2 → 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 +140 -140
- 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 +1367 -1367
- 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 -10003
- package/fesm2020/igo2-common.mjs +9306 -9306
- 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 -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/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,117 +1,117 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewChild } from '@angular/core';
|
|
2
|
-
import { t } from 'typy';
|
|
3
|
-
import { getAllFormFields } from '../shared/form.utils';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/common";
|
|
6
|
-
import * as i2 from "@angular/forms";
|
|
7
|
-
const _c0 = ["buttons"];
|
|
8
|
-
const _c1 = ["*", [["", "formButtons", ""]]];
|
|
9
|
-
const _c2 = function (a0) { return { "igo-form-body-with-buttons": a0 }; };
|
|
10
|
-
const _c3 = ["*", "[formButtons]"];
|
|
11
|
-
/**
|
|
12
|
-
* A configurable form
|
|
13
|
-
*/
|
|
14
|
-
export class FormComponent {
|
|
15
|
-
constructor() {
|
|
16
|
-
/**
|
|
17
|
-
* Form autocomplete
|
|
18
|
-
*/
|
|
19
|
-
this.autocomplete = 'off';
|
|
20
|
-
/**
|
|
21
|
-
* Event emitted when the form is submitted
|
|
22
|
-
*/
|
|
23
|
-
this.submitForm = new EventEmitter();
|
|
24
|
-
}
|
|
25
|
-
get hasButtons() {
|
|
26
|
-
return this.buttons.nativeElement.children.length !== 0;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Is the entity or the template change, recreate the form or repopulate it.
|
|
30
|
-
* @internal
|
|
31
|
-
*/
|
|
32
|
-
ngOnChanges(changes) {
|
|
33
|
-
const formData = changes.formData;
|
|
34
|
-
if (formData && formData.currentValue !== formData.previousValue) {
|
|
35
|
-
if (formData.currentValue === undefined) {
|
|
36
|
-
this.clear();
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
this.setData(formData.currentValue);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Transform the form data to a feature and emit an event
|
|
45
|
-
* @param event Form submit event
|
|
46
|
-
* @internal
|
|
47
|
-
*/
|
|
48
|
-
onSubmit() {
|
|
49
|
-
this.submitForm.emit(this.getData());
|
|
50
|
-
}
|
|
51
|
-
getData() {
|
|
52
|
-
const data = {};
|
|
53
|
-
getAllFormFields(this.form).forEach((field) => {
|
|
54
|
-
this.updateDataWithFormField(data, field);
|
|
55
|
-
});
|
|
56
|
-
return data;
|
|
57
|
-
}
|
|
58
|
-
setData(data) {
|
|
59
|
-
this.form.fields.forEach((field) => {
|
|
60
|
-
field.control.setValue(t(data, field.name).safeObject);
|
|
61
|
-
});
|
|
62
|
-
this.form.groups.forEach((group) => {
|
|
63
|
-
group.fields.forEach((field) => {
|
|
64
|
-
field.control.setValue(t(data, field.name).safeObject);
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
updateDataWithFormField(data, field) {
|
|
69
|
-
const control = field.control;
|
|
70
|
-
if (!control.disabled) {
|
|
71
|
-
data[field.name] = control.value;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Clear form
|
|
76
|
-
*/
|
|
77
|
-
clear() {
|
|
78
|
-
this.form.control.reset();
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
FormComponent.ɵfac = function FormComponent_Factory(t) { return new (t || FormComponent)(); };
|
|
82
|
-
FormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormComponent, selectors: [["igo-form"]], viewQuery: function FormComponent_Query(rf, ctx) { if (rf & 1) {
|
|
83
|
-
i0.ɵɵviewQuery(_c0, 7);
|
|
84
|
-
} if (rf & 2) {
|
|
85
|
-
let _t;
|
|
86
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.buttons = _t.first);
|
|
87
|
-
} }, inputs: { form: "form", formData: "formData", autocomplete: "autocomplete" }, outputs: { submitForm: "submitForm" }, features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c3, decls: 7, vars: 5, consts: [[3, "autocomplete", "formGroup", "ngSubmit"], [1, "igo-form-body", 3, "ngClass"], [1, "igo-form-content"], [1, "igo-form-buttons"], ["buttons", ""]], template: function FormComponent_Template(rf, ctx) { if (rf & 1) {
|
|
88
|
-
i0.ɵɵprojectionDef(_c1);
|
|
89
|
-
i0.ɵɵelementStart(0, "form", 0);
|
|
90
|
-
i0.ɵɵlistener("ngSubmit", function FormComponent_Template_form_ngSubmit_0_listener() { return ctx.onSubmit(); });
|
|
91
|
-
i0.ɵɵelementStart(1, "div", 1)(2, "div", 2);
|
|
92
|
-
i0.ɵɵprojection(3);
|
|
93
|
-
i0.ɵɵelementEnd();
|
|
94
|
-
i0.ɵɵelementStart(4, "div", 3, 4);
|
|
95
|
-
i0.ɵɵprojection(6, 1);
|
|
96
|
-
i0.ɵɵelementEnd()()();
|
|
97
|
-
} if (rf & 2) {
|
|
98
|
-
i0.ɵɵproperty("autocomplete", ctx.autocomplete)("formGroup", ctx.form.control);
|
|
99
|
-
i0.ɵɵadvance(1);
|
|
100
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c2, ctx.hasButtons));
|
|
101
|
-
} }, dependencies: [i1.NgClass, i2.ɵNgNoValidate, i2.NgControlStatusGroup, i2.FormGroupDirective], styles: ["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{width:100%;height:100%}.igo-form-body[_ngcontent-%COMP%], .igo-form-content[_ngcontent-%COMP%]{height:100%}.igo-form-body-with-buttons[_ngcontent-%COMP%] .igo-form-content[_ngcontent-%COMP%]{height:calc(100% - 56px)}.igo-form-content[_ngcontent-%COMP%]{display:flex}"], changeDetection: 0 });
|
|
102
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormComponent, [{
|
|
103
|
-
type: Component,
|
|
104
|
-
args: [{ selector: 'igo-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "\n<form\n [autocomplete]=\"autocomplete\"\n [formGroup]=\"form.control\"\n (ngSubmit)=\"onSubmit()\">\n <div class=\"igo-form-body\" [ngClass]=\"{'igo-form-body-with-buttons': hasButtons}\">\n <div class=\"igo-form-content\">\n <ng-content></ng-content>\n </div>\n <div #buttons class=\"igo-form-buttons\">\n <ng-content select=\"[formButtons]\"></ng-content>\n </div>\n </div>\n</form>\n", styles: [":host{display:block}form{width:100%;height:100%}.igo-form-body,.igo-form-content{height:100%}.igo-form-body-with-buttons .igo-form-content{height:calc(100% - 56px)}.igo-form-content{display:flex}\n"] }]
|
|
105
|
-
}], function () { return []; }, { form: [{
|
|
106
|
-
type: Input
|
|
107
|
-
}], formData: [{
|
|
108
|
-
type: Input
|
|
109
|
-
}], autocomplete: [{
|
|
110
|
-
type: Input
|
|
111
|
-
}], submitForm: [{
|
|
112
|
-
type: Output
|
|
113
|
-
}], buttons: [{
|
|
114
|
-
type: ViewChild,
|
|
115
|
-
args: ['buttons', { static: true }]
|
|
116
|
-
}] }); })();
|
|
1
|
+
import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewChild } from '@angular/core';
|
|
2
|
+
import { t } from 'typy';
|
|
3
|
+
import { getAllFormFields } from '../shared/form.utils';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
import * as i2 from "@angular/forms";
|
|
7
|
+
const _c0 = ["buttons"];
|
|
8
|
+
const _c1 = ["*", [["", "formButtons", ""]]];
|
|
9
|
+
const _c2 = function (a0) { return { "igo-form-body-with-buttons": a0 }; };
|
|
10
|
+
const _c3 = ["*", "[formButtons]"];
|
|
11
|
+
/**
|
|
12
|
+
* A configurable form
|
|
13
|
+
*/
|
|
14
|
+
export class FormComponent {
|
|
15
|
+
constructor() {
|
|
16
|
+
/**
|
|
17
|
+
* Form autocomplete
|
|
18
|
+
*/
|
|
19
|
+
this.autocomplete = 'off';
|
|
20
|
+
/**
|
|
21
|
+
* Event emitted when the form is submitted
|
|
22
|
+
*/
|
|
23
|
+
this.submitForm = new EventEmitter();
|
|
24
|
+
}
|
|
25
|
+
get hasButtons() {
|
|
26
|
+
return this.buttons.nativeElement.children.length !== 0;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Is the entity or the template change, recreate the form or repopulate it.
|
|
30
|
+
* @internal
|
|
31
|
+
*/
|
|
32
|
+
ngOnChanges(changes) {
|
|
33
|
+
const formData = changes.formData;
|
|
34
|
+
if (formData && formData.currentValue !== formData.previousValue) {
|
|
35
|
+
if (formData.currentValue === undefined) {
|
|
36
|
+
this.clear();
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
this.setData(formData.currentValue);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Transform the form data to a feature and emit an event
|
|
45
|
+
* @param event Form submit event
|
|
46
|
+
* @internal
|
|
47
|
+
*/
|
|
48
|
+
onSubmit() {
|
|
49
|
+
this.submitForm.emit(this.getData());
|
|
50
|
+
}
|
|
51
|
+
getData() {
|
|
52
|
+
const data = {};
|
|
53
|
+
getAllFormFields(this.form).forEach((field) => {
|
|
54
|
+
this.updateDataWithFormField(data, field);
|
|
55
|
+
});
|
|
56
|
+
return data;
|
|
57
|
+
}
|
|
58
|
+
setData(data) {
|
|
59
|
+
this.form.fields.forEach((field) => {
|
|
60
|
+
field.control.setValue(t(data, field.name).safeObject);
|
|
61
|
+
});
|
|
62
|
+
this.form.groups.forEach((group) => {
|
|
63
|
+
group.fields.forEach((field) => {
|
|
64
|
+
field.control.setValue(t(data, field.name).safeObject);
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
updateDataWithFormField(data, field) {
|
|
69
|
+
const control = field.control;
|
|
70
|
+
if (!control.disabled) {
|
|
71
|
+
data[field.name] = control.value;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Clear form
|
|
76
|
+
*/
|
|
77
|
+
clear() {
|
|
78
|
+
this.form.control.reset();
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
FormComponent.ɵfac = function FormComponent_Factory(t) { return new (t || FormComponent)(); };
|
|
82
|
+
FormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormComponent, selectors: [["igo-form"]], viewQuery: function FormComponent_Query(rf, ctx) { if (rf & 1) {
|
|
83
|
+
i0.ɵɵviewQuery(_c0, 7);
|
|
84
|
+
} if (rf & 2) {
|
|
85
|
+
let _t;
|
|
86
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.buttons = _t.first);
|
|
87
|
+
} }, inputs: { form: "form", formData: "formData", autocomplete: "autocomplete" }, outputs: { submitForm: "submitForm" }, features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c3, decls: 7, vars: 5, consts: [[3, "autocomplete", "formGroup", "ngSubmit"], [1, "igo-form-body", 3, "ngClass"], [1, "igo-form-content"], [1, "igo-form-buttons"], ["buttons", ""]], template: function FormComponent_Template(rf, ctx) { if (rf & 1) {
|
|
88
|
+
i0.ɵɵprojectionDef(_c1);
|
|
89
|
+
i0.ɵɵelementStart(0, "form", 0);
|
|
90
|
+
i0.ɵɵlistener("ngSubmit", function FormComponent_Template_form_ngSubmit_0_listener() { return ctx.onSubmit(); });
|
|
91
|
+
i0.ɵɵelementStart(1, "div", 1)(2, "div", 2);
|
|
92
|
+
i0.ɵɵprojection(3);
|
|
93
|
+
i0.ɵɵelementEnd();
|
|
94
|
+
i0.ɵɵelementStart(4, "div", 3, 4);
|
|
95
|
+
i0.ɵɵprojection(6, 1);
|
|
96
|
+
i0.ɵɵelementEnd()()();
|
|
97
|
+
} if (rf & 2) {
|
|
98
|
+
i0.ɵɵproperty("autocomplete", ctx.autocomplete)("formGroup", ctx.form.control);
|
|
99
|
+
i0.ɵɵadvance(1);
|
|
100
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c2, ctx.hasButtons));
|
|
101
|
+
} }, dependencies: [i1.NgClass, i2.ɵNgNoValidate, i2.NgControlStatusGroup, i2.FormGroupDirective], styles: ["[_nghost-%COMP%]{display:block}form[_ngcontent-%COMP%]{width:100%;height:100%}.igo-form-body[_ngcontent-%COMP%], .igo-form-content[_ngcontent-%COMP%]{height:100%}.igo-form-body-with-buttons[_ngcontent-%COMP%] .igo-form-content[_ngcontent-%COMP%]{height:calc(100% - 56px)}.igo-form-content[_ngcontent-%COMP%]{display:flex}"], changeDetection: 0 });
|
|
102
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormComponent, [{
|
|
103
|
+
type: Component,
|
|
104
|
+
args: [{ selector: 'igo-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "\n<form\n [autocomplete]=\"autocomplete\"\n [formGroup]=\"form.control\"\n (ngSubmit)=\"onSubmit()\">\n <div class=\"igo-form-body\" [ngClass]=\"{'igo-form-body-with-buttons': hasButtons}\">\n <div class=\"igo-form-content\">\n <ng-content></ng-content>\n </div>\n <div #buttons class=\"igo-form-buttons\">\n <ng-content select=\"[formButtons]\"></ng-content>\n </div>\n </div>\n</form>\n", styles: [":host{display:block}form{width:100%;height:100%}.igo-form-body,.igo-form-content{height:100%}.igo-form-body-with-buttons .igo-form-content{height:calc(100% - 56px)}.igo-form-content{display:flex}\n"] }]
|
|
105
|
+
}], function () { return []; }, { form: [{
|
|
106
|
+
type: Input
|
|
107
|
+
}], formData: [{
|
|
108
|
+
type: Input
|
|
109
|
+
}], autocomplete: [{
|
|
110
|
+
type: Input
|
|
111
|
+
}], submitForm: [{
|
|
112
|
+
type: Output
|
|
113
|
+
}], buttons: [{
|
|
114
|
+
type: ViewChild,
|
|
115
|
+
args: ['buttons', { static: true }]
|
|
116
|
+
}] }); })();
|
|
117
117
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9mb3JtL2Zvcm0vZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9mb3JtL2Zvcm0vZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUdaLHVCQUF1QixFQUN2QixTQUFTLEVBRVYsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd6QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7QUFFeEQ7O0dBRUc7QUFPSCxNQUFNLE9BQU8sYUFBYTtJQTRCeEI7UUFoQkE7O1dBRUc7UUFDTSxpQkFBWSxHQUFXLEtBQUssQ0FBQztRQUV0Qzs7V0FFRztRQUNPLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBd0IsQ0FBQztJQVFqRCxDQUFDO0lBSmhCLElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUlEOzs7T0FHRztJQUNILFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ2xDLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxZQUFZLEtBQUssUUFBUSxDQUFDLGFBQWEsRUFBRTtZQUNoRSxJQUFJLFFBQVEsQ0FBQyxZQUFZLEtBQUssU0FBUyxFQUFFO2dCQUN2QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDZDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNyQztTQUNGO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELE9BQU87UUFDTCxNQUFNLElBQUksR0FBRyxFQUFFLENBQUM7UUFDaEIsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQWdCLEVBQUUsRUFBRTtZQUN2RCxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU8sT0FBTyxDQUFDLElBQTBCO1FBQ3hDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQWdCLEVBQUUsRUFBRTtZQUM1QyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN6RCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQXFCLEVBQUUsRUFBRTtZQUNqRCxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQWdCLEVBQUUsRUFBRTtnQkFDeEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDekQsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxJQUEyQixFQUFFLEtBQWdCO1FBQzNFLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ssS0FBSztRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzVCLENBQUM7OzBFQXRGVSxhQUFhO2dFQUFiLGFBQWE7Ozs7Ozs7UUN6QjFCLCtCQUcwQjtRQUF4Qiw4RkFBWSxjQUFVLElBQUM7UUFDdkIsOEJBQWtGLGFBQUE7UUFFOUUsa0JBQXlCO1FBQzNCLGlCQUFNO1FBQ04saUNBQXVDO1FBQ3JDLHFCQUFnRDtRQUNsRCxpQkFBTSxFQUFBLEVBQUE7O1FBVFIsK0NBQTZCLCtCQUFBO1FBR0YsZUFBc0Q7UUFBdEQsb0VBQXNEOzt1RkRxQnRFLGFBQWE7Y0FOekIsU0FBUzsyQkFDRSxVQUFVLG1CQUdILHVCQUF1QixDQUFDLE1BQU07c0NBT3RDLElBQUk7a0JBQVosS0FBSztZQUtHLFFBQVE7a0JBQWhCLEtBQUs7WUFLRyxZQUFZO2tCQUFwQixLQUFLO1lBS0ksVUFBVTtrQkFBbkIsTUFBTTtZQUVpQyxPQUFPO2tCQUE5QyxTQUFTO21CQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25DaGFuZ2VzLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgVmlld0NoaWxkLFxuICBFbGVtZW50UmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyB0IH0gZnJvbSAndHlweSc7XG5cbmltcG9ydCB7IEZvcm0sIEZvcm1GaWVsZCwgRm9ybUZpZWxkR3JvdXAgfSBmcm9tICcuLi9zaGFyZWQvZm9ybS5pbnRlcmZhY2VzJztcbmltcG9ydCB7IGdldEFsbEZvcm1GaWVsZHMgfSBmcm9tICcuLi9zaGFyZWQvZm9ybS51dGlscyc7XG5cbi8qKlxuICogQSBjb25maWd1cmFibGUgZm9ybVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcblxuICAvKipcbiAgICogRm9ybVxuICAgKi9cbiAgQElucHV0KCkgZm9ybTogRm9ybTtcblxuICAvKipcbiAgICogSW5wdXQgZGF0YVxuICAgKi9cbiAgQElucHV0KCkgZm9ybURhdGE6IHsgW2tleTogc3RyaW5nXTogYW55fTtcblxuICAvKipcbiAgICogRm9ybSBhdXRvY29tcGxldGVcbiAgICovXG4gIEBJbnB1dCgpIGF1dG9jb21wbGV0ZTogc3RyaW5nID0gJ29mZic7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgZm9ybSBpcyBzdWJtaXR0ZWRcbiAgICovXG4gIEBPdXRwdXQoKSBzdWJtaXRGb3JtID0gbmV3IEV2ZW50RW1pdHRlcjx7W2tleTogc3RyaW5nXTogYW55fT4oKTtcblxuICBAVmlld0NoaWxkKCdidXR0b25zJywgeyBzdGF0aWM6IHRydWUgfSkgYnV0dG9uczogRWxlbWVudFJlZjtcblxuICBnZXQgaGFzQnV0dG9ucygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5idXR0b25zLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoICE9PSAwO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIC8qKlxuICAgKiBJcyB0aGUgZW50aXR5IG9yIHRoZSB0ZW1wbGF0ZSBjaGFuZ2UsIHJlY3JlYXRlIHRoZSBmb3JtIG9yIHJlcG9wdWxhdGUgaXQuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGNvbnN0IGZvcm1EYXRhID0gY2hhbmdlcy5mb3JtRGF0YTtcbiAgICBpZiAoZm9ybURhdGEgJiYgZm9ybURhdGEuY3VycmVudFZhbHVlICE9PSBmb3JtRGF0YS5wcmV2aW91c1ZhbHVlKSB7XG4gICAgICBpZiAoZm9ybURhdGEuY3VycmVudFZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5jbGVhcigpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZXREYXRhKGZvcm1EYXRhLmN1cnJlbnRWYWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybSB0aGUgZm9ybSBkYXRhIHRvIGEgZmVhdHVyZSBhbmQgZW1pdCBhbiBldmVudFxuICAgKiBAcGFyYW0gZXZlbnQgRm9ybSBzdWJtaXQgZXZlbnRcbiAgICogQGludGVybmFsXG4gICAqL1xuICBvblN1Ym1pdCgpIHtcbiAgICB0aGlzLnN1Ym1pdEZvcm0uZW1pdCh0aGlzLmdldERhdGEoKSk7XG4gIH1cblxuICBnZXREYXRhKCk6IHsgW2tleTogc3RyaW5nXTogYW55fSB7XG4gICAgY29uc3QgZGF0YSA9IHt9O1xuICAgIGdldEFsbEZvcm1GaWVsZHModGhpcy5mb3JtKS5mb3JFYWNoKChmaWVsZDogRm9ybUZpZWxkKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZURhdGFXaXRoRm9ybUZpZWxkKGRhdGEsIGZpZWxkKTtcbiAgICB9KTtcbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RGF0YShkYXRhOiB7W2tleTogc3RyaW5nXTogYW55fSkge1xuICAgIHRoaXMuZm9ybS5maWVsZHMuZm9yRWFjaCgoZmllbGQ6IEZvcm1GaWVsZCkgPT4ge1xuICAgICAgZmllbGQuY29udHJvbC5zZXRWYWx1ZSh0KGRhdGEsIGZpZWxkLm5hbWUpLnNhZmVPYmplY3QpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5mb3JtLmdyb3Vwcy5mb3JFYWNoKChncm91cDogRm9ybUZpZWxkR3JvdXApID0+IHtcbiAgICAgIGdyb3VwLmZpZWxkcy5mb3JFYWNoKChmaWVsZDogRm9ybUZpZWxkKSA9PiB7XG4gICAgICAgIGZpZWxkLmNvbnRyb2wuc2V0VmFsdWUodChkYXRhLCBmaWVsZC5uYW1lKS5zYWZlT2JqZWN0KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVEYXRhV2l0aEZvcm1GaWVsZChkYXRhOiB7IFtrZXk6IHN0cmluZ106IGFueX0sIGZpZWxkOiBGb3JtRmllbGQpIHtcbiAgICBjb25zdCBjb250cm9sID0gZmllbGQuY29udHJvbDtcbiAgICBpZiAoIWNvbnRyb2wuZGlzYWJsZWQpIHtcbiAgICAgIGRhdGFbZmllbGQubmFtZV0gPSBjb250cm9sLnZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhciBmb3JtXG4gICAqL1xuICBwcml2YXRlIGNsZWFyKCkge1xuICAgIHRoaXMuZm9ybS5jb250cm9sLnJlc2V0KCk7XG4gIH1cblxufVxuIiwiXG48Zm9ybVxuICBbYXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZVwiXG4gIFtmb3JtR3JvdXBdPVwiZm9ybS5jb250cm9sXCJcbiAgKG5nU3VibWl0KT1cIm9uU3VibWl0KClcIj5cbiAgPGRpdiBjbGFzcz1cImlnby1mb3JtLWJvZHlcIiBbbmdDbGFzc109XCJ7J2lnby1mb3JtLWJvZHktd2l0aC1idXR0b25zJzogaGFzQnV0dG9uc31cIj5cbiAgICA8ZGl2IGNsYXNzPVwiaWdvLWZvcm0tY29udGVudFwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgI2J1dHRvbnMgY2xhc3M9XCJpZ28tZm9ybS1idXR0b25zXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZm9ybUJ1dHRvbnNdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZm9ybT5cbiJdfQ==
|
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
-
import { FormComponent } from './form.component';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
/**
|
|
7
|
-
* @ignore
|
|
8
|
-
*/
|
|
9
|
-
export class IgoFormFormModule {
|
|
10
|
-
}
|
|
11
|
-
IgoFormFormModule.ɵfac = function IgoFormFormModule_Factory(t) { return new (t || IgoFormFormModule)(); };
|
|
12
|
-
IgoFormFormModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoFormFormModule });
|
|
13
|
-
IgoFormFormModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
|
|
14
|
-
FormsModule,
|
|
15
|
-
ReactiveFormsModule, FormsModule,
|
|
16
|
-
ReactiveFormsModule] });
|
|
17
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoFormFormModule, [{
|
|
18
|
-
type: NgModule,
|
|
19
|
-
args: [{
|
|
20
|
-
imports: [
|
|
21
|
-
CommonModule,
|
|
22
|
-
FormsModule,
|
|
23
|
-
ReactiveFormsModule
|
|
24
|
-
],
|
|
25
|
-
exports: [
|
|
26
|
-
FormComponent,
|
|
27
|
-
FormsModule,
|
|
28
|
-
ReactiveFormsModule
|
|
29
|
-
],
|
|
30
|
-
declarations: [
|
|
31
|
-
FormComponent
|
|
32
|
-
]
|
|
33
|
-
}]
|
|
34
|
-
}], null, null); })();
|
|
35
|
-
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoFormFormModule, { declarations: [FormComponent], imports: [CommonModule,
|
|
36
|
-
FormsModule,
|
|
37
|
-
ReactiveFormsModule], exports: [FormComponent,
|
|
38
|
-
FormsModule,
|
|
39
|
-
ReactiveFormsModule] }); })();
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { FormComponent } from './form.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
/**
|
|
7
|
+
* @ignore
|
|
8
|
+
*/
|
|
9
|
+
export class IgoFormFormModule {
|
|
10
|
+
}
|
|
11
|
+
IgoFormFormModule.ɵfac = function IgoFormFormModule_Factory(t) { return new (t || IgoFormFormModule)(); };
|
|
12
|
+
IgoFormFormModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoFormFormModule });
|
|
13
|
+
IgoFormFormModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
|
|
14
|
+
FormsModule,
|
|
15
|
+
ReactiveFormsModule, FormsModule,
|
|
16
|
+
ReactiveFormsModule] });
|
|
17
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoFormFormModule, [{
|
|
18
|
+
type: NgModule,
|
|
19
|
+
args: [{
|
|
20
|
+
imports: [
|
|
21
|
+
CommonModule,
|
|
22
|
+
FormsModule,
|
|
23
|
+
ReactiveFormsModule
|
|
24
|
+
],
|
|
25
|
+
exports: [
|
|
26
|
+
FormComponent,
|
|
27
|
+
FormsModule,
|
|
28
|
+
ReactiveFormsModule
|
|
29
|
+
],
|
|
30
|
+
declarations: [
|
|
31
|
+
FormComponent
|
|
32
|
+
]
|
|
33
|
+
}]
|
|
34
|
+
}], null, null); })();
|
|
35
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoFormFormModule, { declarations: [FormComponent], imports: [CommonModule,
|
|
36
|
+
FormsModule,
|
|
37
|
+
ReactiveFormsModule], exports: [FormComponent,
|
|
38
|
+
FormsModule,
|
|
39
|
+
ReactiveFormsModule] }); })();
|
|
40
40
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9mb3JtL2Zvcm0vZm9ybS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFakQ7O0dBRUc7QUFnQkgsTUFBTSxPQUFPLGlCQUFpQjs7a0ZBQWpCLGlCQUFpQjttRUFBakIsaUJBQWlCO3VFQWIxQixZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQixFQUluQixXQUFXO1FBQ1gsbUJBQW1CO3VGQU1WLGlCQUFpQjtjQWY3QixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osV0FBVztvQkFDWCxtQkFBbUI7aUJBQ3BCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxhQUFhO29CQUNiLFdBQVc7b0JBQ1gsbUJBQW1CO2lCQUNwQjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osYUFBYTtpQkFDZDthQUNGOzt3RkFDWSxpQkFBaUIsbUJBSDFCLGFBQWEsYUFWYixZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQixhQUduQixhQUFhO1FBQ2IsV0FBVztRQUNYLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEZvcm1Db21wb25lbnQgfSBmcm9tICcuL2Zvcm0uY29tcG9uZW50JztcblxuLyoqXG4gKiBAaWdub3JlXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRm9ybUNvbXBvbmVudCxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEZvcm1Db21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBJZ29Gb3JtRm9ybU1vZHVsZSB7fVxuIl19
|
|
@@ -1,127 +1,127 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { Input, Component, ChangeDetectionStrategy } from '@angular/core';
|
|
3
|
-
import { BehaviorSubject, } from 'rxjs';
|
|
4
|
-
import { formControlIsRequired, getControlErrorMessage } from '../shared/form.utils';
|
|
5
|
-
import { IgoFormFieldComponent } from '../shared/form-field-component';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/common";
|
|
8
|
-
import * as i2 from "@angular/forms";
|
|
9
|
-
import * as i3 from "@angular/material/icon";
|
|
10
|
-
import * as i4 from "@angular/material/form-field";
|
|
11
|
-
import * as i5 from "@angular/material/select";
|
|
12
|
-
import * as i6 from "@angular/material/core";
|
|
13
|
-
import * as i7 from "@ngx-translate/core";
|
|
14
|
-
function FormFieldSelectComponent_mat_option_2_Template(rf, ctx) { if (rf & 1) {
|
|
15
|
-
i0.ɵɵelementStart(0, "mat-option", 4);
|
|
16
|
-
i0.ɵɵtext(1);
|
|
17
|
-
i0.ɵɵelementEnd();
|
|
18
|
-
} if (rf & 2) {
|
|
19
|
-
const choice_r3 = ctx.$implicit;
|
|
20
|
-
i0.ɵɵproperty("value", choice_r3.value);
|
|
21
|
-
i0.ɵɵadvance(1);
|
|
22
|
-
i0.ɵɵtextInterpolate1(" ", choice_r3.title, " ");
|
|
23
|
-
} }
|
|
24
|
-
function FormFieldSelectComponent_mat_icon_4_Template(rf, ctx) { if (rf & 1) {
|
|
25
|
-
const _r5 = i0.ɵɵgetCurrentView();
|
|
26
|
-
i0.ɵɵelementStart(0, "mat-icon", 5);
|
|
27
|
-
i0.ɵɵlistener("click", function FormFieldSelectComponent_mat_icon_4_Template_mat_icon_click_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.onDisableSwitchClick()); });
|
|
28
|
-
i0.ɵɵpipe(1, "async");
|
|
29
|
-
i0.ɵɵelementEnd();
|
|
30
|
-
} if (rf & 2) {
|
|
31
|
-
const ctx_r1 = i0.ɵɵnextContext();
|
|
32
|
-
i0.ɵɵproperty("svgIcon", i0.ɵɵpipeBind1(1, 1, ctx_r1.disabled$) === true ? "checkbox-blank-outline" : "checkbox-marked-outline");
|
|
33
|
-
} }
|
|
34
|
-
function FormFieldSelectComponent_mat_error_5_Template(rf, ctx) { if (rf & 1) {
|
|
35
|
-
i0.ɵɵelementStart(0, "mat-error");
|
|
36
|
-
i0.ɵɵtext(1);
|
|
37
|
-
i0.ɵɵpipe(2, "translate");
|
|
38
|
-
i0.ɵɵelementEnd();
|
|
39
|
-
} if (rf & 2) {
|
|
40
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
|
41
|
-
i0.ɵɵadvance(1);
|
|
42
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r2.getErrorMessage()));
|
|
43
|
-
} }
|
|
44
|
-
/**
|
|
45
|
-
* This component renders a select field
|
|
46
|
-
*/
|
|
47
|
-
let FormFieldSelectComponent = class FormFieldSelectComponent {
|
|
48
|
-
constructor() {
|
|
49
|
-
this.disabled$ = new BehaviorSubject(false);
|
|
50
|
-
this.choices$ = new BehaviorSubject([]);
|
|
51
|
-
/**
|
|
52
|
-
* Wheter a disable switch should be available
|
|
53
|
-
*/
|
|
54
|
-
this.disableSwitch = false;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Select input choices
|
|
58
|
-
*/
|
|
59
|
-
set choices(value) { this.choices$.next(value); }
|
|
60
|
-
get choices() { return this.choices$.value; }
|
|
61
|
-
/**
|
|
62
|
-
* Whether the field is required
|
|
63
|
-
*/
|
|
64
|
-
get required() {
|
|
65
|
-
return formControlIsRequired(this.formControl);
|
|
66
|
-
}
|
|
67
|
-
ngOnInit() {
|
|
68
|
-
this.disabled$.next(this.formControl.disabled);
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Get error message
|
|
72
|
-
*/
|
|
73
|
-
getErrorMessage() {
|
|
74
|
-
return getControlErrorMessage(this.formControl, this.errors);
|
|
75
|
-
}
|
|
76
|
-
onDisableSwitchClick() {
|
|
77
|
-
this.toggleDisabled();
|
|
78
|
-
}
|
|
79
|
-
toggleDisabled() {
|
|
80
|
-
const disabled = !this.disabled$.value;
|
|
81
|
-
if (disabled === true) {
|
|
82
|
-
this.formControl.disable();
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
this.formControl.enable();
|
|
86
|
-
}
|
|
87
|
-
this.disabled$.next(disabled);
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
FormFieldSelectComponent.ɵfac = function FormFieldSelectComponent_Factory(t) { return new (t || FormFieldSelectComponent)(); };
|
|
91
|
-
FormFieldSelectComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormFieldSelectComponent, selectors: [["igo-form-field-select"]], inputs: { choices: "choices", formControl: "formControl", placeholder: "placeholder", errors: "errors", disableSwitch: "disableSwitch" }, decls: 6, vars: 8, consts: [[3, "required", "placeholder", "formControl"], [3, "value", 4, "ngFor", "ngForOf"], ["class", "igo-form-disable-switch", "matPrefix", "", 3, "svgIcon", "click", 4, "ngIf"], [4, "ngIf"], [3, "value"], ["matPrefix", "", 1, "igo-form-disable-switch", 3, "svgIcon", "click"]], template: function FormFieldSelectComponent_Template(rf, ctx) { if (rf & 1) {
|
|
92
|
-
i0.ɵɵelementStart(0, "mat-form-field")(1, "mat-select", 0);
|
|
93
|
-
i0.ɵɵtemplate(2, FormFieldSelectComponent_mat_option_2_Template, 2, 2, "mat-option", 1);
|
|
94
|
-
i0.ɵɵpipe(3, "async");
|
|
95
|
-
i0.ɵɵelementEnd();
|
|
96
|
-
i0.ɵɵtemplate(4, FormFieldSelectComponent_mat_icon_4_Template, 2, 3, "mat-icon", 2);
|
|
97
|
-
i0.ɵɵtemplate(5, FormFieldSelectComponent_mat_error_5_Template, 3, 3, "mat-error", 3);
|
|
98
|
-
i0.ɵɵelementEnd();
|
|
99
|
-
} if (rf & 2) {
|
|
100
|
-
i0.ɵɵadvance(1);
|
|
101
|
-
i0.ɵɵproperty("required", ctx.required)("placeholder", ctx.placeholder)("formControl", ctx.formControl);
|
|
102
|
-
i0.ɵɵadvance(1);
|
|
103
|
-
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(3, 6, ctx.choices$));
|
|
104
|
-
i0.ɵɵadvance(2);
|
|
105
|
-
i0.ɵɵproperty("ngIf", ctx.disableSwitch === true);
|
|
106
|
-
i0.ɵɵadvance(1);
|
|
107
|
-
i0.ɵɵproperty("ngIf", ctx.formControl.errors);
|
|
108
|
-
} }, dependencies: [i1.NgForOf, i1.NgIf, i2.NgControlStatus, i2.RequiredValidator, i2.FormControlDirective, i3.MatIcon, i4.MatError, i4.MatFormField, i4.MatPrefix, i5.MatSelect, i6.MatOption, i1.AsyncPipe, i7.TranslatePipe], encapsulation: 2, changeDetection: 0 });
|
|
109
|
-
FormFieldSelectComponent = __decorate([
|
|
110
|
-
IgoFormFieldComponent('select')
|
|
111
|
-
], FormFieldSelectComponent);
|
|
112
|
-
export { FormFieldSelectComponent };
|
|
113
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormFieldSelectComponent, [{
|
|
114
|
-
type: Component,
|
|
115
|
-
args: [{ selector: 'igo-form-field-select', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field>\n <mat-select\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <mat-option *ngFor=\"let choice of choices$ | async\" [value]=\"choice.value\">\n {{choice.title}}\n </mat-option>\n </mat-select>\n <mat-icon\n *ngIf=\"disableSwitch === true\"\n class=\"igo-form-disable-switch\"\n [svgIcon]=\"(disabled$ | async) === true ? 'checkbox-blank-outline' : 'checkbox-marked-outline'\"\n (click)=\"onDisableSwitchClick()\"\n matPrefix>\n </mat-icon>\n <mat-error *ngIf=\"formControl.errors\">{{getErrorMessage() | translate}}</mat-error>\n</mat-form-field>\n" }]
|
|
116
|
-
}], null, { choices: [{
|
|
117
|
-
type: Input
|
|
118
|
-
}], formControl: [{
|
|
119
|
-
type: Input
|
|
120
|
-
}], placeholder: [{
|
|
121
|
-
type: Input
|
|
122
|
-
}], errors: [{
|
|
123
|
-
type: Input
|
|
124
|
-
}], disableSwitch: [{
|
|
125
|
-
type: Input
|
|
126
|
-
}] }); })();
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Input, Component, ChangeDetectionStrategy } from '@angular/core';
|
|
3
|
+
import { BehaviorSubject, } from 'rxjs';
|
|
4
|
+
import { formControlIsRequired, getControlErrorMessage } from '../shared/form.utils';
|
|
5
|
+
import { IgoFormFieldComponent } from '../shared/form-field-component';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common";
|
|
8
|
+
import * as i2 from "@angular/forms";
|
|
9
|
+
import * as i3 from "@angular/material/icon";
|
|
10
|
+
import * as i4 from "@angular/material/form-field";
|
|
11
|
+
import * as i5 from "@angular/material/select";
|
|
12
|
+
import * as i6 from "@angular/material/core";
|
|
13
|
+
import * as i7 from "@ngx-translate/core";
|
|
14
|
+
function FormFieldSelectComponent_mat_option_2_Template(rf, ctx) { if (rf & 1) {
|
|
15
|
+
i0.ɵɵelementStart(0, "mat-option", 4);
|
|
16
|
+
i0.ɵɵtext(1);
|
|
17
|
+
i0.ɵɵelementEnd();
|
|
18
|
+
} if (rf & 2) {
|
|
19
|
+
const choice_r3 = ctx.$implicit;
|
|
20
|
+
i0.ɵɵproperty("value", choice_r3.value);
|
|
21
|
+
i0.ɵɵadvance(1);
|
|
22
|
+
i0.ɵɵtextInterpolate1(" ", choice_r3.title, " ");
|
|
23
|
+
} }
|
|
24
|
+
function FormFieldSelectComponent_mat_icon_4_Template(rf, ctx) { if (rf & 1) {
|
|
25
|
+
const _r5 = i0.ɵɵgetCurrentView();
|
|
26
|
+
i0.ɵɵelementStart(0, "mat-icon", 5);
|
|
27
|
+
i0.ɵɵlistener("click", function FormFieldSelectComponent_mat_icon_4_Template_mat_icon_click_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.onDisableSwitchClick()); });
|
|
28
|
+
i0.ɵɵpipe(1, "async");
|
|
29
|
+
i0.ɵɵelementEnd();
|
|
30
|
+
} if (rf & 2) {
|
|
31
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
32
|
+
i0.ɵɵproperty("svgIcon", i0.ɵɵpipeBind1(1, 1, ctx_r1.disabled$) === true ? "checkbox-blank-outline" : "checkbox-marked-outline");
|
|
33
|
+
} }
|
|
34
|
+
function FormFieldSelectComponent_mat_error_5_Template(rf, ctx) { if (rf & 1) {
|
|
35
|
+
i0.ɵɵelementStart(0, "mat-error");
|
|
36
|
+
i0.ɵɵtext(1);
|
|
37
|
+
i0.ɵɵpipe(2, "translate");
|
|
38
|
+
i0.ɵɵelementEnd();
|
|
39
|
+
} if (rf & 2) {
|
|
40
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
41
|
+
i0.ɵɵadvance(1);
|
|
42
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r2.getErrorMessage()));
|
|
43
|
+
} }
|
|
44
|
+
/**
|
|
45
|
+
* This component renders a select field
|
|
46
|
+
*/
|
|
47
|
+
let FormFieldSelectComponent = class FormFieldSelectComponent {
|
|
48
|
+
constructor() {
|
|
49
|
+
this.disabled$ = new BehaviorSubject(false);
|
|
50
|
+
this.choices$ = new BehaviorSubject([]);
|
|
51
|
+
/**
|
|
52
|
+
* Wheter a disable switch should be available
|
|
53
|
+
*/
|
|
54
|
+
this.disableSwitch = false;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Select input choices
|
|
58
|
+
*/
|
|
59
|
+
set choices(value) { this.choices$.next(value); }
|
|
60
|
+
get choices() { return this.choices$.value; }
|
|
61
|
+
/**
|
|
62
|
+
* Whether the field is required
|
|
63
|
+
*/
|
|
64
|
+
get required() {
|
|
65
|
+
return formControlIsRequired(this.formControl);
|
|
66
|
+
}
|
|
67
|
+
ngOnInit() {
|
|
68
|
+
this.disabled$.next(this.formControl.disabled);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Get error message
|
|
72
|
+
*/
|
|
73
|
+
getErrorMessage() {
|
|
74
|
+
return getControlErrorMessage(this.formControl, this.errors);
|
|
75
|
+
}
|
|
76
|
+
onDisableSwitchClick() {
|
|
77
|
+
this.toggleDisabled();
|
|
78
|
+
}
|
|
79
|
+
toggleDisabled() {
|
|
80
|
+
const disabled = !this.disabled$.value;
|
|
81
|
+
if (disabled === true) {
|
|
82
|
+
this.formControl.disable();
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
this.formControl.enable();
|
|
86
|
+
}
|
|
87
|
+
this.disabled$.next(disabled);
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
FormFieldSelectComponent.ɵfac = function FormFieldSelectComponent_Factory(t) { return new (t || FormFieldSelectComponent)(); };
|
|
91
|
+
FormFieldSelectComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormFieldSelectComponent, selectors: [["igo-form-field-select"]], inputs: { choices: "choices", formControl: "formControl", placeholder: "placeholder", errors: "errors", disableSwitch: "disableSwitch" }, decls: 6, vars: 8, consts: [[3, "required", "placeholder", "formControl"], [3, "value", 4, "ngFor", "ngForOf"], ["class", "igo-form-disable-switch", "matPrefix", "", 3, "svgIcon", "click", 4, "ngIf"], [4, "ngIf"], [3, "value"], ["matPrefix", "", 1, "igo-form-disable-switch", 3, "svgIcon", "click"]], template: function FormFieldSelectComponent_Template(rf, ctx) { if (rf & 1) {
|
|
92
|
+
i0.ɵɵelementStart(0, "mat-form-field")(1, "mat-select", 0);
|
|
93
|
+
i0.ɵɵtemplate(2, FormFieldSelectComponent_mat_option_2_Template, 2, 2, "mat-option", 1);
|
|
94
|
+
i0.ɵɵpipe(3, "async");
|
|
95
|
+
i0.ɵɵelementEnd();
|
|
96
|
+
i0.ɵɵtemplate(4, FormFieldSelectComponent_mat_icon_4_Template, 2, 3, "mat-icon", 2);
|
|
97
|
+
i0.ɵɵtemplate(5, FormFieldSelectComponent_mat_error_5_Template, 3, 3, "mat-error", 3);
|
|
98
|
+
i0.ɵɵelementEnd();
|
|
99
|
+
} if (rf & 2) {
|
|
100
|
+
i0.ɵɵadvance(1);
|
|
101
|
+
i0.ɵɵproperty("required", ctx.required)("placeholder", ctx.placeholder)("formControl", ctx.formControl);
|
|
102
|
+
i0.ɵɵadvance(1);
|
|
103
|
+
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(3, 6, ctx.choices$));
|
|
104
|
+
i0.ɵɵadvance(2);
|
|
105
|
+
i0.ɵɵproperty("ngIf", ctx.disableSwitch === true);
|
|
106
|
+
i0.ɵɵadvance(1);
|
|
107
|
+
i0.ɵɵproperty("ngIf", ctx.formControl.errors);
|
|
108
|
+
} }, dependencies: [i1.NgForOf, i1.NgIf, i2.NgControlStatus, i2.RequiredValidator, i2.FormControlDirective, i3.MatIcon, i4.MatError, i4.MatFormField, i4.MatPrefix, i5.MatSelect, i6.MatOption, i1.AsyncPipe, i7.TranslatePipe], encapsulation: 2, changeDetection: 0 });
|
|
109
|
+
FormFieldSelectComponent = __decorate([
|
|
110
|
+
IgoFormFieldComponent('select')
|
|
111
|
+
], FormFieldSelectComponent);
|
|
112
|
+
export { FormFieldSelectComponent };
|
|
113
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormFieldSelectComponent, [{
|
|
114
|
+
type: Component,
|
|
115
|
+
args: [{ selector: 'igo-form-field-select', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field>\n <mat-select\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <mat-option *ngFor=\"let choice of choices$ | async\" [value]=\"choice.value\">\n {{choice.title}}\n </mat-option>\n </mat-select>\n <mat-icon\n *ngIf=\"disableSwitch === true\"\n class=\"igo-form-disable-switch\"\n [svgIcon]=\"(disabled$ | async) === true ? 'checkbox-blank-outline' : 'checkbox-marked-outline'\"\n (click)=\"onDisableSwitchClick()\"\n matPrefix>\n </mat-icon>\n <mat-error *ngIf=\"formControl.errors\">{{getErrorMessage() | translate}}</mat-error>\n</mat-form-field>\n" }]
|
|
116
|
+
}], null, { choices: [{
|
|
117
|
+
type: Input
|
|
118
|
+
}], formControl: [{
|
|
119
|
+
type: Input
|
|
120
|
+
}], placeholder: [{
|
|
121
|
+
type: Input
|
|
122
|
+
}], errors: [{
|
|
123
|
+
type: Input
|
|
124
|
+
}], disableSwitch: [{
|
|
125
|
+
type: Input
|
|
126
|
+
}] }); })();
|
|
127
127
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQtc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2Zvcm0vZm9ybS1maWVsZC9mb3JtLWZpZWxkLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLEtBQUssRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBRXhCLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxlQUFlLEdBQUcsTUFBTSxNQUFNLENBQUM7QUFFeEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFckYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7Ozs7SUNQbkUscUNBQTJFO0lBQ3pFLFlBQ0Y7SUFBQSxpQkFBYTs7O0lBRnVDLHVDQUFzQjtJQUN4RSxlQUNGO0lBREUsZ0RBQ0Y7Ozs7SUFFRixtQ0FLWTtJQURWLDRLQUFTLGVBQUEsNkJBQXNCLENBQUEsSUFBQzs7SUFFbEMsaUJBQVc7OztJQUhULGdJQUErRjs7O0lBSWpHLGlDQUFzQztJQUFBLFlBQWlDOztJQUFBLGlCQUFZOzs7SUFBN0MsZUFBaUM7SUFBakMsb0VBQWlDOztBREZ6RTs7R0FFRztJQU9VLHdCQUF3QixTQUF4Qix3QkFBd0I7O1FBRTFCLGNBQVMsR0FBNkIsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFRakUsYUFBUSxHQUE2QyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQWlCdEY7O1dBRUc7UUFDTSxrQkFBYSxHQUFZLEtBQUssQ0FBQztLQWtDekM7SUE1REM7O09BRUc7SUFDSCxJQUNJLE9BQU8sQ0FBQyxLQUE4QixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRSxJQUFJLE9BQU8sS0FBOEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUF1QnRFOztPQUVHO0lBQ0gsSUFBSSxRQUFRO1FBQ1YsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRDs7T0FFRztJQUNILGVBQWU7UUFDYixPQUFPLHNCQUFzQixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTyxjQUFjO1FBQ3BCLE1BQU0sUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7UUFDdkMsSUFBSSxRQUFRLEtBQUssSUFBSSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDNUI7YUFBTTtZQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDM0I7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDO0NBRUYsQ0FBQTtnR0FoRVksd0JBQXdCOzJFQUF4Qix3QkFBd0I7UUN2QnJDLHNDQUFnQixvQkFBQTtRQUtaLHVGQUVhOztRQUNmLGlCQUFhO1FBQ2IsbUZBTVc7UUFDWCxxRkFBbUY7UUFDckYsaUJBQWlCOztRQWZiLGVBQXFCO1FBQXJCLHVDQUFxQixnQ0FBQSxnQ0FBQTtRQUdVLGVBQW1CO1FBQW5CLDREQUFtQjtRQUtqRCxlQUE0QjtRQUE1QixpREFBNEI7UUFNbkIsZUFBd0I7UUFBeEIsNkNBQXdCOztBRE96Qix3QkFBd0I7SUFOcEMscUJBQXFCLENBQUMsUUFBUSxDQUFDO0dBTW5CLHdCQUF3QixDQWdFcEM7U0FoRVksd0JBQXdCO3VGQUF4Qix3QkFBd0I7Y0FMcEMsU0FBUzsyQkFDRSx1QkFBdUIsbUJBRWhCLHVCQUF1QixDQUFDLE1BQU07Z0JBVTNDLE9BQU87a0JBRFYsS0FBSztZQVFHLFdBQVc7a0JBQW5CLEtBQUs7WUFLRyxXQUFXO2tCQUFuQixLQUFLO1lBS0csTUFBTTtrQkFBZCxLQUFLO1lBS0csYUFBYTtrQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIElucHV0LFxuICBDb21wb25lbnQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBPbkluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBmb3JtQ29udHJvbElzUmVxdWlyZWQsIGdldENvbnRyb2xFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi9zaGFyZWQvZm9ybS51dGlscyc7XG5pbXBvcnQgeyBGb3JtRmllbGRTZWxlY3RDaG9pY2UgfSBmcm9tICcuLi9zaGFyZWQvZm9ybS5pbnRlcmZhY2VzJztcbmltcG9ydCB7IElnb0Zvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4uL3NoYXJlZC9mb3JtLWZpZWxkLWNvbXBvbmVudCc7XG5cbi8qKlxuICogVGhpcyBjb21wb25lbnQgcmVuZGVycyBhIHNlbGVjdCBmaWVsZFxuICovXG5ASWdvRm9ybUZpZWxkQ29tcG9uZW50KCdzZWxlY3QnKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLWZvcm0tZmllbGQtc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZmllbGQtc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUZpZWxkU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICByZWFkb25seSBkaXNhYmxlZCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIC8qKlxuICAgKiBTZWxlY3QgaW5wdXQgY2hvaWNlc1xuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGNob2ljZXModmFsdWU6IEZvcm1GaWVsZFNlbGVjdENob2ljZVtdKSB7IHRoaXMuY2hvaWNlcyQubmV4dCh2YWx1ZSk7IH1cbiAgZ2V0IGNob2ljZXMoKTogRm9ybUZpZWxkU2VsZWN0Q2hvaWNlW10geyByZXR1cm4gdGhpcy5jaG9pY2VzJC52YWx1ZTsgfVxuICByZWFkb25seSBjaG9pY2VzJDogQmVoYXZpb3JTdWJqZWN0PEZvcm1GaWVsZFNlbGVjdENob2ljZVtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xuXG4gIC8qKlxuICAgKiBUaGUgZmllbGQncyBmb3JtIGNvbnRyb2xcbiAgICovXG4gIEBJbnB1dCgpIGZvcm1Db250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2w7XG5cbiAgLyoqXG4gICAqIEZpZWxkIHBsYWNlaG9sZGVyXG4gICAqL1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBGaWVsZCBwbGFjZWhvbGRlclxuICAgKi9cbiAgQElucHV0KCkgZXJyb3JzOiB7W2tleTogc3RyaW5nXTogc3RyaW5nfTtcblxuICAvKipcbiAgICogV2hldGVyIGEgZGlzYWJsZSBzd2l0Y2ggc2hvdWxkIGJlIGF2YWlsYWJsZVxuICAgKi9cbiAgQElucHV0KCkgZGlzYWJsZVN3aXRjaDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBmaWVsZCBpcyByZXF1aXJlZFxuICAgKi9cbiAgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmb3JtQ29udHJvbElzUmVxdWlyZWQodGhpcy5mb3JtQ29udHJvbCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmRpc2FibGVkJC5uZXh0KHRoaXMuZm9ybUNvbnRyb2wuZGlzYWJsZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBlcnJvciBtZXNzYWdlXG4gICAqL1xuICBnZXRFcnJvck1lc3NhZ2UoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0Q29udHJvbEVycm9yTWVzc2FnZSh0aGlzLmZvcm1Db250cm9sLCB0aGlzLmVycm9ycyk7XG4gIH1cblxuICBvbkRpc2FibGVTd2l0Y2hDbGljaygpIHtcbiAgICB0aGlzLnRvZ2dsZURpc2FibGVkKCk7XG4gIH1cblxuICBwcml2YXRlIHRvZ2dsZURpc2FibGVkKCkge1xuICAgIGNvbnN0IGRpc2FibGVkID0gIXRoaXMuZGlzYWJsZWQkLnZhbHVlO1xuICAgIGlmIChkaXNhYmxlZCA9PT0gdHJ1ZSkge1xuICAgICAgdGhpcy5mb3JtQ29udHJvbC5kaXNhYmxlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuZW5hYmxlKCk7XG4gICAgfVxuICAgIHRoaXMuZGlzYWJsZWQkLm5leHQoZGlzYWJsZWQpO1xuICB9XG5cbn1cbiIsIjxtYXQtZm9ybS1maWVsZD5cbiAgPG1hdC1zZWxlY3RcbiAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCI+XG4gICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGNob2ljZSBvZiBjaG9pY2VzJCB8IGFzeW5jXCIgW3ZhbHVlXT1cImNob2ljZS52YWx1ZVwiPlxuICAgICAge3tjaG9pY2UudGl0bGV9fVxuICAgIDwvbWF0LW9wdGlvbj5cbiAgPC9tYXQtc2VsZWN0PlxuICA8bWF0LWljb25cbiAgICAqbmdJZj1cImRpc2FibGVTd2l0Y2ggPT09IHRydWVcIlxuICAgIGNsYXNzPVwiaWdvLWZvcm0tZGlzYWJsZS1zd2l0Y2hcIlxuICAgIFtzdmdJY29uXT1cIihkaXNhYmxlZCQgfCBhc3luYykgPT09IHRydWUgPyAnY2hlY2tib3gtYmxhbmstb3V0bGluZScgOiAnY2hlY2tib3gtbWFya2VkLW91dGxpbmUnXCJcbiAgICAoY2xpY2spPVwib25EaXNhYmxlU3dpdGNoQ2xpY2soKVwiXG4gICAgbWF0UHJlZml4PlxuICA8L21hdC1pY29uPlxuICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybUNvbnRyb2wuZXJyb3JzXCI+e3tnZXRFcnJvck1lc3NhZ2UoKSB8IHRyYW5zbGF0ZX19PC9tYXQtZXJyb3I+XG48L21hdC1mb3JtLWZpZWxkPlxuIl19
|