@igo2/common 1.15.4 → 16.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common-theme.scss +19 -0
- package/{esm2020 → esm2022}/igo2-common.mjs +4 -4
- package/esm2022/lib/action/action.module.mjs +20 -0
- package/esm2022/lib/action/actionbar/actionbar-item.component.mjs +270 -0
- package/esm2022/lib/action/actionbar/actionbar.component.mjs +389 -0
- package/{esm2020 → esm2022}/lib/action/actionbar/actionbar.module.mjs +57 -57
- package/{esm2020 → esm2022}/lib/action/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/action/shared/action.enums.mjs +7 -7
- package/esm2022/lib/action/shared/action.interfaces.mjs +2 -0
- package/{esm2020 → esm2022}/lib/action/shared/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/action/shared/store.mjs +8 -8
- package/esm2022/lib/backdrop/backdrop.component.mjs +27 -0
- package/{esm2020 → esm2022}/lib/backdrop/backdrop.module.mjs +25 -25
- package/{esm2020 → esm2022}/lib/backdrop/index.mjs +2 -2
- package/esm2022/lib/badge-icon/badge-icon.directive.mjs +150 -0
- package/{esm2020 → esm2022}/lib/badge-icon/badge-icon.module.mjs +26 -26
- package/{esm2020 → esm2022}/lib/badge-icon/index.mjs +2 -2
- package/esm2022/lib/clickout/clickout.directive.mjs +33 -0
- package/{esm2020 → esm2022}/lib/clickout/clickout.module.mjs +24 -24
- package/{esm2020 → esm2022}/lib/clickout/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/clone/clone.module.mjs +24 -24
- package/esm2022/lib/clone/clone.pipe.mjs +24 -0
- package/{esm2020 → esm2022}/lib/clone/index.mjs +2 -2
- package/esm2022/lib/collapsible/collapse.directive.mjs +58 -0
- package/esm2022/lib/collapsible/collapsible.component.mjs +54 -0
- package/{esm2020 → esm2022}/lib/collapsible/collapsible.module.mjs +27 -27
- package/{esm2020 → esm2022}/lib/collapsible/index.mjs +3 -3
- package/esm2022/lib/color-picker-form-field/color-picker-form-field.component.mjs +121 -0
- package/esm2022/lib/color-picker-form-field/color-picker-form-field.module.mjs +32 -0
- package/esm2022/lib/color-picker-form-field/index.mjs +2 -0
- package/esm2022/lib/confirm-dialog/confirm-dialog.component.mjs +47 -0
- package/{esm2020 → esm2022}/lib/confirm-dialog/confirm-dialog.module.mjs +29 -29
- package/esm2022/lib/confirm-dialog/confirm-dialog.service.mjs +29 -0
- package/{esm2020 → esm2022}/lib/confirm-dialog/index.mjs +3 -3
- package/esm2022/lib/context-menu/context-menu.directive.mjs +110 -0
- package/{esm2020 → esm2022}/lib/context-menu/context-menu.module.mjs +25 -25
- package/{esm2020 → esm2022}/lib/context-menu/index.mjs +3 -3
- package/esm2022/lib/context-menu/long-press.directive.mjs +67 -0
- package/esm2022/lib/custom-html/custom-html.component.mjs +27 -0
- package/{esm2020 → esm2022}/lib/custom-html/custom-html.module.mjs +47 -47
- package/esm2022/lib/custom-html/custom-html.pipe.mjs +20 -0
- package/{esm2020 → esm2022}/lib/custom-html/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/dom/dom.interfaces.mjs +2 -2
- package/{esm2020 → esm2022}/lib/dom/dom.module.mjs +21 -23
- package/esm2022/lib/dom/dom.service.mjs +35 -0
- package/{esm2020 → esm2022}/lib/dom/index.mjs +3 -3
- package/esm2022/lib/drag-drop/drag-drop.directive.mjs +85 -0
- package/{esm2020 → esm2022}/lib/drag-drop/drag-drop.module.mjs +24 -24
- package/{esm2020 → esm2022}/lib/drag-drop/index.mjs +2 -2
- package/esm2022/lib/dynamic-component/dynamic-component.module.mjs +20 -0
- package/esm2022/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.mjs +138 -0
- package/esm2022/lib/dynamic-component/dynamic-outlet/dynamic-outlet.module.mjs +22 -0
- package/{esm2020 → esm2022}/lib/dynamic-component/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/dynamic-component/shared/dynamic-component.interfaces.mjs +2 -2
- package/esm2022/lib/dynamic-component/shared/dynamic-component.mjs +183 -0
- package/esm2022/lib/dynamic-component/shared/dynamic-component.service.mjs +30 -0
- package/{esm2020 → esm2022}/lib/dynamic-component/shared/index.mjs +4 -4
- package/esm2022/lib/entity/entity-selector/entity-selector.component.mjs +214 -0
- package/esm2022/lib/entity/entity-selector/entity-selector.module.mjs +24 -0
- package/esm2022/lib/entity/entity-table/entity-table-row.directive.mjs +139 -0
- package/esm2022/lib/entity/entity-table/entity-table.component.mjs +1455 -0
- package/{esm2020 → esm2022}/lib/entity/entity-table/entity-table.module.mjs +96 -102
- package/esm2022/lib/entity/entity-table-paginator/entity-table-paginator.component.mjs +167 -0
- package/esm2022/lib/entity/entity-table-paginator/entity-table-paginator.interface.mjs +2 -0
- package/esm2022/lib/entity/entity-table-paginator/entity-table-paginator.module.mjs +22 -0
- package/{esm2020 → esm2022}/lib/entity/entity.module.mjs +29 -31
- package/{esm2020 → esm2022}/lib/entity/index.mjs +6 -6
- package/{esm2020 → esm2022}/lib/entity/shared/entity.enums.mjs +28 -28
- package/esm2022/lib/entity/shared/entity.interfaces.mjs +2 -0
- package/esm2022/lib/entity/shared/entity.utils.mjs +73 -0
- package/esm2022/lib/entity/shared/index.mjs +11 -0
- package/esm2022/lib/entity/shared/state.mjs +194 -0
- package/esm2022/lib/entity/shared/store-strategy.mjs +73 -0
- package/esm2022/lib/entity/shared/store.mjs +256 -0
- package/esm2022/lib/entity/shared/strategies/filter-custom-function.mjs +80 -0
- package/esm2022/lib/entity/shared/strategies/filter-selection.mjs +81 -0
- package/{esm2020 → esm2022}/lib/entity/shared/strategies/index.mjs +4 -4
- package/esm2022/lib/entity/shared/strategies/strategy.mjs +78 -0
- package/esm2022/lib/entity/shared/transaction.mjs +329 -0
- package/esm2022/lib/entity/shared/view.mjs +330 -0
- package/esm2022/lib/entity/shared/watcher.mjs +135 -0
- package/esm2022/lib/flexible/flexible.component.mjs +153 -0
- package/{esm2020 → esm2022}/lib/flexible/flexible.module.mjs +24 -24
- package/{esm2020 → esm2022}/lib/flexible/flexible.type.mjs +2 -2
- package/{esm2020 → esm2022}/lib/flexible/index.mjs +3 -3
- package/esm2022/lib/form/form/form.component.mjs +125 -0
- package/esm2022/lib/form/form/form.module.mjs +23 -0
- package/esm2022/lib/form/form-field/form-field-select.component.mjs +140 -0
- package/esm2022/lib/form/form-field/form-field-text.component.mjs +113 -0
- package/esm2022/lib/form/form-field/form-field-textarea.component.mjs +114 -0
- package/esm2022/lib/form/form-field/form-field.component.mjs +78 -0
- package/{esm2020 → esm2022}/lib/form/form-field/form-field.module.mjs +74 -74
- package/{esm2020 → esm2022}/lib/form/form-field/index.mjs +5 -5
- package/esm2022/lib/form/form-group/form-group.component.mjs +115 -0
- package/esm2022/lib/form/form-group/form-group.module.mjs +36 -0
- package/esm2022/lib/form/form.module.mjs +27 -0
- package/{esm2020 → esm2022}/lib/form/index.mjs +5 -5
- package/{esm2020 → esm2022}/lib/form/shared/form-field-component.mjs +7 -7
- package/esm2022/lib/form/shared/form-field.service.mjs +29 -0
- package/esm2022/lib/form/shared/form.interfaces.mjs +2 -0
- package/esm2022/lib/form/shared/form.service.mjs +82 -0
- package/esm2022/lib/form/shared/form.utils.mjs +40 -0
- package/{esm2020 → esm2022}/lib/form/shared/index.mjs +6 -6
- package/esm2022/lib/home-button/home-button.component.mjs +30 -0
- package/{esm2020 → esm2022}/lib/home-button/home-button.module.mjs +41 -41
- package/{esm2020 → esm2022}/lib/home-button/index.mjs +2 -2
- package/esm2022/lib/image/image-error.directive.mjs +36 -0
- package/{esm2020 → esm2022}/lib/image/image.module.mjs +25 -25
- package/{esm2020 → esm2022}/lib/image/index.mjs +3 -3
- package/esm2022/lib/image/secure-image.pipe.mjs +65 -0
- package/{esm2020 → esm2022}/lib/interactive-tour/index.mjs +5 -5
- package/esm2022/lib/interactive-tour/interactive-tour.component.mjs +161 -0
- package/esm2022/lib/interactive-tour/interactive-tour.interface.mjs +2 -0
- package/esm2022/lib/interactive-tour/interactive-tour.loader.mjs +49 -0
- package/{esm2020 → esm2022}/lib/interactive-tour/interactive-tour.module.mjs +40 -40
- package/esm2022/lib/interactive-tour/interactive-tour.service.mjs +298 -0
- package/{esm2020 → esm2022}/lib/json-dialog/index.mjs +3 -3
- package/esm2022/lib/json-dialog/json-dialog.component.mjs +114 -0
- package/{esm2020 → esm2022}/lib/json-dialog/json-dialog.module.mjs +29 -29
- package/{esm2020 → esm2022}/lib/json-dialog/json-dialog.service.mjs +26 -24
- package/{esm2020 → esm2022}/lib/keyvalue/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/keyvalue/keyvalue.module.mjs +24 -24
- package/{esm2020 → esm2022}/lib/keyvalue/keyvalue.pipe.mjs +18 -18
- package/{esm2020 → esm2022}/lib/list/index.mjs +3 -3
- package/esm2022/lib/list/list-item.directive.mjs +167 -0
- package/esm2022/lib/list/list.component.mjs +268 -0
- package/{esm2020 → esm2022}/lib/list/list.module.mjs +29 -29
- package/{esm2020 → esm2022}/lib/panel/index.mjs +2 -2
- package/esm2022/lib/panel/panel.component.mjs +60 -0
- package/{esm2020 → esm2022}/lib/panel/panel.module.mjs +19 -19
- package/{esm2020 → esm2022}/lib/sidenav/index.mjs +2 -2
- package/esm2022/lib/sidenav/sidenav-shim.directive.mjs +59 -0
- package/{esm2020 → esm2022}/lib/sidenav/sidenav.module.mjs +24 -24
- package/{esm2020 → esm2022}/lib/spinner/index.mjs +3 -3
- package/esm2022/lib/spinner/spinner-activity.directive.mjs +55 -0
- package/esm2022/lib/spinner/spinner.component.mjs +38 -0
- package/{esm2020 → esm2022}/lib/spinner/spinner.module.mjs +21 -21
- package/{esm2020 → esm2022}/lib/stop-propagation/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/stop-propagation/stop-drop-propagation.directive.mjs +22 -22
- package/{esm2020 → esm2022}/lib/stop-propagation/stop-propagation.directive.mjs +21 -21
- package/{esm2020 → esm2022}/lib/stop-propagation/stop-propagation.module.mjs +25 -25
- package/{esm2020 → esm2022}/lib/table/index.mjs +6 -6
- package/{esm2020 → esm2022}/lib/table/table-action-color.enum.mjs +7 -7
- package/esm2022/lib/table/table-database.mjs +28 -0
- package/esm2022/lib/table/table-datasource.mjs +64 -0
- package/esm2022/lib/table/table-model.interface.mjs +2 -0
- package/esm2022/lib/table/table.component.mjs +302 -0
- package/{esm2020 → esm2022}/lib/table/table.module.mjs +67 -67
- package/{esm2020 → esm2022}/lib/tool/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/tool/shared/index.mjs +6 -6
- package/esm2022/lib/tool/shared/tool-component.mjs +9 -0
- package/esm2022/lib/tool/shared/tool.interface.mjs +2 -0
- package/esm2022/lib/tool/shared/tool.service.mjs +43 -0
- package/{esm2020 → esm2022}/lib/tool/shared/toolbox.enums.mjs +7 -7
- package/esm2022/lib/tool/shared/toolbox.mjs +184 -0
- package/esm2022/lib/tool/tool.module.mjs +26 -0
- package/{esm2020 → esm2022}/lib/tool/toolbox/toolbox.animation.mjs +10 -10
- package/esm2022/lib/tool/toolbox/toolbox.component.mjs +273 -0
- package/esm2022/lib/tool/toolbox/toolbox.module.mjs +24 -0
- package/{esm2020 → esm2022}/lib/widget/index.mjs +3 -3
- package/{esm2020 → esm2022}/lib/widget/shared/index.mjs +4 -4
- package/esm2022/lib/widget/shared/widget.interfaces.mjs +2 -0
- package/{esm2020 → esm2022}/lib/widget/shared/widget.mjs +4 -4
- package/esm2022/lib/widget/shared/widget.service.mjs +22 -0
- package/esm2022/lib/widget/widget-outlet/widget-outlet.component.mjs +124 -0
- package/esm2022/lib/widget/widget-outlet/widget-outlet.module.mjs +23 -0
- package/esm2022/lib/widget/widget.module.mjs +21 -0
- package/{esm2020 → esm2022}/lib/workspace/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/workspace/shared/index.mjs +4 -4
- package/esm2022/lib/workspace/shared/store.mjs +37 -0
- package/esm2022/lib/workspace/shared/workspace.interfaces.mjs +2 -0
- package/esm2022/lib/workspace/shared/workspace.mjs +143 -0
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.component.mjs +58 -0
- package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +23 -0
- package/esm2022/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.mjs +94 -0
- package/esm2022/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.module.mjs +23 -0
- package/esm2022/lib/workspace/workspace.module.mjs +20 -0
- package/esm2022/public_api.mjs +76 -0
- package/{fesm2020 → fesm2022}/igo2-common.mjs +9838 -9345
- package/fesm2022/igo2-common.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/action/action.module.d.ts +8 -8
- package/lib/action/action.theming.scss +5 -0
- package/lib/action/actionbar/actionbar-item.component.d.ts +78 -78
- package/lib/action/actionbar/actionbar-item.theming.scss +32 -0
- package/lib/action/actionbar/actionbar.component.d.ts +147 -146
- package/lib/action/actionbar/actionbar.module.d.ts +20 -20
- package/lib/action/actionbar/actionbar.theming.scss +22 -0
- package/lib/action/index.d.ts +2 -2
- package/lib/action/shared/action.enums.d.ts +5 -5
- package/lib/action/shared/action.interfaces.d.ts +17 -17
- package/lib/action/shared/index.d.ts +3 -3
- package/lib/action/shared/store.d.ts +8 -8
- package/lib/backdrop/backdrop.component.d.ts +9 -9
- package/lib/backdrop/backdrop.module.d.ts +10 -10
- package/lib/backdrop/index.d.ts +1 -1
- package/lib/badge-icon/badge-icon.directive.d.ts +36 -36
- package/lib/badge-icon/badge-icon.module.d.ts +11 -11
- package/lib/badge-icon/index.d.ts +1 -1
- package/lib/clickout/clickout.directive.d.ts +10 -10
- package/lib/clickout/clickout.module.d.ts +9 -9
- package/lib/clickout/index.d.ts +1 -1
- package/lib/clone/clone.module.d.ts +9 -9
- package/lib/clone/clone.pipe.d.ts +7 -7
- package/lib/clone/index.d.ts +1 -1
- package/lib/collapsible/collapse.directive.d.ts +19 -19
- package/lib/collapsible/collapsible.component.d.ts +13 -13
- package/lib/collapsible/collapsible.module.d.ts +12 -12
- package/lib/collapsible/collapsible.theming.scss +22 -0
- package/lib/collapsible/index.d.ts +2 -2
- package/lib/color-picker-form-field/color-picker-form-field.component.d.ts +26 -0
- package/lib/color-picker-form-field/color-picker-form-field.module.d.ts +10 -0
- package/lib/color-picker-form-field/index.d.ts +1 -0
- package/lib/confirm-dialog/confirm-dialog.component.d.ts +9 -9
- package/lib/confirm-dialog/confirm-dialog.module.d.ts +12 -12
- package/lib/confirm-dialog/confirm-dialog.service.d.ts +12 -12
- package/lib/confirm-dialog/index.d.ts +2 -2
- package/lib/context-menu/context-menu.directive.d.ts +21 -21
- package/lib/context-menu/context-menu.module.d.ts +10 -10
- package/lib/context-menu/index.d.ts +2 -2
- package/lib/context-menu/long-press.directive.d.ts +20 -20
- package/lib/custom-html/custom-html.component.d.ts +9 -9
- package/lib/custom-html/custom-html.module.d.ts +16 -16
- package/lib/custom-html/custom-html.pipe.d.ts +10 -10
- package/lib/custom-html/index.d.ts +2 -2
- package/lib/dom/dom.interfaces.d.ts +10 -10
- package/lib/dom/dom.module.d.ts +8 -8
- package/lib/dom/dom.service.d.ts +10 -10
- package/lib/dom/index.d.ts +2 -2
- package/lib/drag-drop/drag-drop.directive.d.ts +14 -14
- package/lib/drag-drop/drag-drop.module.d.ts +9 -9
- package/lib/drag-drop/index.d.ts +1 -1
- package/lib/dynamic-component/dynamic-component.module.d.ts +8 -8
- package/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.d.ts +70 -70
- package/lib/dynamic-component/dynamic-outlet/dynamic-outlet.module.d.ts +11 -11
- package/lib/dynamic-component/index.d.ts +2 -2
- package/lib/dynamic-component/shared/dynamic-component.d.ts +88 -88
- package/lib/dynamic-component/shared/dynamic-component.interfaces.d.ts +3 -3
- package/lib/dynamic-component/shared/dynamic-component.service.d.ts +18 -18
- package/lib/dynamic-component/shared/index.d.ts +3 -3
- package/lib/entity/entity-selector/entity-selector.component.d.ts +92 -92
- package/lib/entity/entity-selector/entity-selector.module.d.ts +13 -13
- package/lib/entity/entity-selector/entity-selector.theming.scss +21 -0
- package/lib/entity/entity-table/entity-table-row.directive.d.ts +69 -69
- package/lib/entity/entity-table/entity-table.component.d.ts +327 -333
- package/lib/entity/entity-table/entity-table.module.d.ts +29 -29
- package/lib/entity/entity-table/entity-table.theming.scss +34 -0
- package/lib/entity/entity-table-paginator/entity-table-paginator.component.d.ts +49 -49
- package/lib/entity/entity-table-paginator/entity-table-paginator.interface.d.ts +8 -8
- package/lib/entity/entity-table-paginator/entity-table-paginator.module.d.ts +11 -11
- package/lib/entity/entity-table-paginator/entity-table-paginator.theming.scss +21 -0
- package/lib/entity/entity.module.d.ts +10 -10
- package/lib/entity/entity.theming.scss +10 -0
- package/lib/entity/index.d.ts +5 -5
- package/lib/entity/shared/entity.enums.d.ts +23 -23
- package/lib/entity/shared/entity.interfaces.d.ts +95 -114
- package/lib/entity/shared/entity.utils.d.ts +49 -49
- package/lib/entity/shared/index.d.ts +10 -9
- package/lib/entity/shared/state.d.ts +108 -103
- package/lib/entity/shared/store-strategy.d.ts +38 -0
- package/lib/entity/shared/store.d.ts +147 -176
- package/lib/entity/shared/strategies/filter-custom-function.d.ts +51 -51
- package/lib/entity/shared/strategies/filter-selection.d.ts +48 -48
- package/lib/entity/shared/strategies/index.d.ts +3 -3
- package/lib/entity/shared/strategies/strategy.d.ts +56 -56
- package/lib/entity/shared/transaction.d.ts +180 -168
- package/lib/entity/shared/view.d.ts +193 -193
- package/lib/entity/shared/watcher.d.ts +72 -72
- package/lib/flexible/flexible.component.d.ts +41 -41
- package/lib/flexible/flexible.module.d.ts +9 -9
- package/lib/flexible/flexible.type.d.ts +2 -2
- package/lib/flexible/index.d.ts +2 -2
- package/lib/form/form/form.component.d.ts +53 -53
- package/lib/form/form/form.module.d.ts +12 -12
- package/lib/form/form-field/form-field-select.component.d.ts +48 -48
- package/lib/form/form-field/form-field-text.component.d.ts +41 -41
- package/lib/form/form-field/form-field-textarea.component.d.ts +41 -41
- package/lib/form/form-field/form-field.component.d.ts +29 -34
- package/lib/form/form-field/form-field.module.d.ts +21 -21
- package/lib/form/form-field/index.d.ts +4 -4
- package/lib/form/form-group/form-group.component.d.ts +49 -49
- package/lib/form/form-group/form-group.module.d.ts +14 -14
- package/lib/form/form.module.d.ts +13 -13
- package/lib/form/index.d.ts +4 -4
- package/lib/form/shared/form-field-component.d.ts +1 -1
- package/lib/form/shared/form-field.service.d.ts +19 -19
- package/lib/form/shared/form.interfaces.d.ts +61 -57
- package/lib/form/shared/form.service.d.ts +15 -15
- package/lib/form/shared/form.utils.d.ts +11 -11
- package/lib/form/shared/index.d.ts +5 -5
- package/lib/home-button/home-button.component.d.ts +9 -9
- package/lib/home-button/home-button.module.d.ts +15 -15
- package/lib/home-button/home-button.theming.scss +18 -0
- package/lib/home-button/index.d.ts +1 -1
- package/lib/image/image-error.directive.d.ts +11 -11
- package/lib/image/image.module.d.ts +10 -10
- package/lib/image/index.d.ts +2 -2
- package/lib/image/secure-image.pipe.d.ts +13 -13
- package/lib/interactive-tour/index.d.ts +4 -4
- package/lib/interactive-tour/interactive-tour.component.d.ts +30 -30
- package/lib/interactive-tour/interactive-tour.interface.d.ts +33 -32
- package/lib/interactive-tour/interactive-tour.loader.d.ts +18 -18
- package/lib/interactive-tour/interactive-tour.module.d.ts +12 -12
- package/lib/interactive-tour/interactive-tour.service.d.ts +29 -29
- package/lib/interactive-tour/interactive-tour.theming.scss +32 -0
- package/lib/json-dialog/index.d.ts +2 -2
- package/lib/json-dialog/json-dialog.component.d.ts +13 -13
- package/lib/json-dialog/json-dialog.module.d.ts +13 -13
- package/lib/json-dialog/json-dialog.service.d.ts +10 -10
- package/lib/keyvalue/index.d.ts +1 -1
- package/lib/keyvalue/keyvalue.module.d.ts +9 -9
- package/lib/keyvalue/keyvalue.pipe.d.ts +7 -7
- package/lib/list/index.d.ts +2 -2
- package/lib/list/list-item.directive.d.ts +43 -43
- package/lib/list/list.component.d.ts +51 -51
- package/lib/list/list.module.d.ts +14 -14
- package/lib/list/list.theming.scss +40 -0
- package/lib/panel/index.d.ts +1 -1
- package/lib/panel/panel.component.d.ts +10 -10
- package/lib/panel/panel.module.d.ts +8 -8
- package/lib/panel/panel.theming.scss +30 -0
- package/lib/sidenav/index.d.ts +1 -1
- package/lib/sidenav/sidenav-shim.directive.d.ts +20 -20
- package/lib/sidenav/sidenav.module.d.ts +9 -9
- package/lib/spinner/index.d.ts +2 -2
- package/lib/spinner/spinner-activity.directive.d.ts +32 -32
- package/lib/spinner/spinner.component.d.ts +12 -12
- package/lib/spinner/spinner.module.d.ts +10 -10
- package/lib/stop-propagation/index.d.ts +2 -2
- package/lib/stop-propagation/stop-drop-propagation.directive.d.ts +6 -6
- package/lib/stop-propagation/stop-propagation.directive.d.ts +6 -6
- package/lib/stop-propagation/stop-propagation.module.d.ts +10 -10
- package/lib/table/index.d.ts +5 -5
- package/lib/table/table-action-color.enum.d.ts +5 -5
- package/lib/table/table-database.d.ts +10 -10
- package/lib/table/table-datasource.d.ts +18 -17
- package/lib/table/table-model.interface.d.ts +28 -28
- package/lib/table/table.component.d.ts +40 -40
- package/lib/table/table.module.d.ts +20 -20
- package/lib/tool/index.d.ts +2 -2
- package/lib/tool/shared/index.d.ts +5 -5
- package/lib/tool/shared/tool-component.d.ts +2 -2
- package/lib/tool/shared/tool.interface.d.ts +18 -18
- package/lib/tool/shared/tool.service.d.ts +30 -30
- package/lib/tool/shared/toolbox.d.ts +95 -95
- package/lib/tool/shared/toolbox.enums.d.ts +5 -5
- package/lib/tool/tool.module.d.ts +10 -10
- package/lib/tool/tool.theming.scss +5 -0
- package/lib/tool/toolbox/toolbox.animation.d.ts +2 -2
- package/lib/tool/toolbox/toolbox.component.d.ts +128 -127
- package/lib/tool/toolbox/toolbox.module.d.ts +13 -13
- package/lib/tool/toolbox/toolbox.theming.scss +105 -0
- package/lib/widget/index.d.ts +2 -2
- package/lib/widget/shared/index.d.ts +3 -3
- package/lib/widget/shared/widget.d.ts +4 -4
- package/lib/widget/shared/widget.interfaces.d.ts +12 -12
- package/lib/widget/shared/widget.service.d.ts +10 -10
- package/lib/widget/widget-outlet/widget-outlet.component.d.ts +71 -71
- package/lib/widget/widget-outlet/widget-outlet.module.d.ts +12 -12
- package/lib/widget/widget.module.d.ts +8 -8
- package/lib/workspace/index.d.ts +3 -3
- package/lib/workspace/shared/index.d.ts +3 -3
- package/lib/workspace/shared/store.d.ts +20 -20
- package/lib/workspace/shared/workspace.d.ts +108 -108
- package/lib/workspace/shared/workspace.interfaces.d.ts +11 -11
- package/lib/workspace/workspace-selector/workspace-selector.component.d.ts +39 -39
- package/lib/workspace/workspace-selector/workspace-selector.module.d.ts +12 -12
- package/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.d.ts +57 -57
- package/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.module.d.ts +12 -12
- package/lib/workspace/workspace.module.d.ts +9 -9
- package/locale/en.common.json +43 -0
- package/locale/fr.common.json +43 -0
- package/package.json +31 -28
- package/public_api.d.ts +72 -70
- package/style/partial/common-utils.scss +9 -0
- package/style/partial/common.variables.scss +8 -8
- package/style/style.css +204 -0
- package/esm2020/lib/action/action.module.mjs +0 -27
- package/esm2020/lib/action/actionbar/actionbar-item.component.mjs +0 -252
- package/esm2020/lib/action/actionbar/actionbar.component.mjs +0 -370
- package/esm2020/lib/action/shared/action.interfaces.mjs +0 -2
- package/esm2020/lib/backdrop/backdrop.component.mjs +0 -26
- package/esm2020/lib/badge-icon/badge-icon.directive.mjs +0 -141
- package/esm2020/lib/clickout/clickout.directive.mjs +0 -32
- package/esm2020/lib/clone/clone.pipe.mjs +0 -24
- package/esm2020/lib/collapsible/collapse.directive.mjs +0 -55
- package/esm2020/lib/collapsible/collapsible.component.mjs +0 -57
- package/esm2020/lib/confirm-dialog/confirm-dialog.component.mjs +0 -44
- package/esm2020/lib/confirm-dialog/confirm-dialog.service.mjs +0 -24
- package/esm2020/lib/context-menu/context-menu.directive.mjs +0 -103
- package/esm2020/lib/context-menu/long-press.directive.mjs +0 -67
- package/esm2020/lib/custom-html/custom-html.component.mjs +0 -28
- package/esm2020/lib/custom-html/custom-html.pipe.mjs +0 -18
- package/esm2020/lib/dom/dom.service.mjs +0 -30
- package/esm2020/lib/drag-drop/drag-drop.directive.mjs +0 -88
- package/esm2020/lib/dynamic-component/dynamic-component.module.mjs +0 -31
- package/esm2020/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.mjs +0 -122
- package/esm2020/lib/dynamic-component/dynamic-outlet/dynamic-outlet.module.mjs +0 -28
- package/esm2020/lib/dynamic-component/shared/dynamic-component.mjs +0 -174
- package/esm2020/lib/dynamic-component/shared/dynamic-component.service.mjs +0 -29
- package/esm2020/lib/entity/entity-selector/entity-selector.component.mjs +0 -194
- package/esm2020/lib/entity/entity-selector/entity-selector.module.mjs +0 -32
- package/esm2020/lib/entity/entity-table/entity-table-row.directive.mjs +0 -137
- package/esm2020/lib/entity/entity-table/entity-table.component.mjs +0 -1376
- package/esm2020/lib/entity/entity-table-paginator/entity-table-paginator.component.mjs +0 -132
- package/esm2020/lib/entity/entity-table-paginator/entity-table-paginator.interface.mjs +0 -2
- package/esm2020/lib/entity/entity-table-paginator/entity-table-paginator.module.mjs +0 -28
- package/esm2020/lib/entity/shared/entity.interfaces.mjs +0 -2
- package/esm2020/lib/entity/shared/entity.utils.mjs +0 -67
- package/esm2020/lib/entity/shared/index.mjs +0 -10
- package/esm2020/lib/entity/shared/state.mjs +0 -191
- package/esm2020/lib/entity/shared/store.mjs +0 -288
- package/esm2020/lib/entity/shared/strategies/filter-custom-function.mjs +0 -79
- package/esm2020/lib/entity/shared/strategies/filter-selection.mjs +0 -84
- package/esm2020/lib/entity/shared/strategies/strategy.mjs +0 -75
- package/esm2020/lib/entity/shared/transaction.mjs +0 -316
- package/esm2020/lib/entity/shared/view.mjs +0 -315
- package/esm2020/lib/entity/shared/watcher.mjs +0 -120
- package/esm2020/lib/flexible/flexible.component.mjs +0 -148
- package/esm2020/lib/form/form/form.component.mjs +0 -117
- package/esm2020/lib/form/form/form.module.mjs +0 -40
- package/esm2020/lib/form/form-field/form-field-select.component.mjs +0 -127
- package/esm2020/lib/form/form-field/form-field-text.component.mjs +0 -104
- package/esm2020/lib/form/form-field/form-field-textarea.component.mjs +0 -105
- package/esm2020/lib/form/form-field/form-field.component.mjs +0 -72
- package/esm2020/lib/form/form-group/form-group.component.mjs +0 -105
- package/esm2020/lib/form/form-group/form-group.module.mjs +0 -40
- package/esm2020/lib/form/form.module.mjs +0 -49
- package/esm2020/lib/form/shared/form-field.service.mjs +0 -29
- package/esm2020/lib/form/shared/form.interfaces.mjs +0 -2
- package/esm2020/lib/form/shared/form.service.mjs +0 -81
- package/esm2020/lib/form/shared/form.utils.mjs +0 -40
- package/esm2020/lib/home-button/home-button.component.mjs +0 -31
- package/esm2020/lib/image/image-error.directive.mjs +0 -35
- package/esm2020/lib/image/secure-image.pipe.mjs +0 -59
- package/esm2020/lib/interactive-tour/interactive-tour.component.mjs +0 -135
- package/esm2020/lib/interactive-tour/interactive-tour.interface.mjs +0 -2
- package/esm2020/lib/interactive-tour/interactive-tour.loader.mjs +0 -44
- package/esm2020/lib/interactive-tour/interactive-tour.service.mjs +0 -285
- package/esm2020/lib/json-dialog/json-dialog.component.mjs +0 -109
- package/esm2020/lib/list/list-item.directive.mjs +0 -165
- package/esm2020/lib/list/list.component.mjs +0 -262
- package/esm2020/lib/panel/panel.component.mjs +0 -59
- package/esm2020/lib/sidenav/sidenav-shim.directive.mjs +0 -55
- package/esm2020/lib/spinner/spinner-activity.directive.mjs +0 -47
- package/esm2020/lib/spinner/spinner.component.mjs +0 -35
- package/esm2020/lib/table/table-database.mjs +0 -28
- package/esm2020/lib/table/table-datasource.mjs +0 -61
- package/esm2020/lib/table/table-model.interface.mjs +0 -2
- package/esm2020/lib/table/table.component.mjs +0 -297
- package/esm2020/lib/tool/shared/tool-component.mjs +0 -9
- package/esm2020/lib/tool/shared/tool.interface.mjs +0 -2
- package/esm2020/lib/tool/shared/tool.service.mjs +0 -43
- package/esm2020/lib/tool/shared/toolbox.mjs +0 -179
- package/esm2020/lib/tool/tool.module.mjs +0 -32
- package/esm2020/lib/tool/toolbox/toolbox.component.mjs +0 -255
- package/esm2020/lib/tool/toolbox/toolbox.module.mjs +0 -36
- package/esm2020/lib/widget/shared/widget.interfaces.mjs +0 -2
- package/esm2020/lib/widget/shared/widget.service.mjs +0 -20
- package/esm2020/lib/widget/widget-outlet/widget-outlet.component.mjs +0 -116
- package/esm2020/lib/widget/widget-outlet/widget-outlet.module.mjs +0 -32
- package/esm2020/lib/widget/widget.module.mjs +0 -32
- package/esm2020/lib/workspace/shared/store.mjs +0 -40
- package/esm2020/lib/workspace/shared/workspace.interfaces.mjs +0 -2
- package/esm2020/lib/workspace/shared/workspace.mjs +0 -117
- package/esm2020/lib/workspace/workspace-selector/workspace-selector.component.mjs +0 -51
- package/esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs +0 -32
- package/esm2020/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.mjs +0 -88
- package/esm2020/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.module.mjs +0 -32
- package/esm2020/lib/workspace/workspace.module.mjs +0 -27
- package/esm2020/public_api.mjs +0 -74
- package/fesm2015/igo2-common.mjs +0 -10329
- package/fesm2015/igo2-common.mjs.map +0 -1
- package/fesm2020/igo2-common.mjs.map +0 -1
- package/style/common.theming.scss +0 -12
- package/style/partial/action.scss +0 -18
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { Component, Input, ViewChild, ElementRef } from '@angular/core';
|
|
2
|
+
import { MediaService } from '@igo2/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@igo2/core";
|
|
5
|
+
const _c0 = ["flexibleMain"];
|
|
6
|
+
const _c1 = ["*", [["", "igoFlexibleFill", ""]]];
|
|
7
|
+
const _c2 = ["*", "[igoFlexibleFill]"];
|
|
8
|
+
export class FlexibleComponent {
|
|
9
|
+
el;
|
|
10
|
+
mediaService;
|
|
11
|
+
static transitionTime = 250;
|
|
12
|
+
main;
|
|
13
|
+
get initial() {
|
|
14
|
+
return this._initial;
|
|
15
|
+
}
|
|
16
|
+
set initial(value) {
|
|
17
|
+
this._initial = value;
|
|
18
|
+
}
|
|
19
|
+
_initial = '0';
|
|
20
|
+
get collapsed() {
|
|
21
|
+
return this._collapsed;
|
|
22
|
+
}
|
|
23
|
+
set collapsed(value) {
|
|
24
|
+
this._collapsed = value;
|
|
25
|
+
}
|
|
26
|
+
_collapsed = '0';
|
|
27
|
+
get expanded() {
|
|
28
|
+
return this._expanded;
|
|
29
|
+
}
|
|
30
|
+
set expanded(value) {
|
|
31
|
+
this._expanded = value;
|
|
32
|
+
}
|
|
33
|
+
_expanded = '100%';
|
|
34
|
+
get initialMobile() {
|
|
35
|
+
return this._initialMobile;
|
|
36
|
+
}
|
|
37
|
+
set initialMobile(value) {
|
|
38
|
+
this._initialMobile = value;
|
|
39
|
+
}
|
|
40
|
+
_initialMobile = this.expanded;
|
|
41
|
+
get collapsedMobile() {
|
|
42
|
+
return this._collapsedMobile;
|
|
43
|
+
}
|
|
44
|
+
set collapsedMobile(value) {
|
|
45
|
+
this._collapsedMobile = value;
|
|
46
|
+
}
|
|
47
|
+
_collapsedMobile = this.collapsed;
|
|
48
|
+
get expandedMobile() {
|
|
49
|
+
return this._expandedMobile;
|
|
50
|
+
}
|
|
51
|
+
set expandedMobile(value) {
|
|
52
|
+
this._expandedMobile = value;
|
|
53
|
+
}
|
|
54
|
+
_expandedMobile = this.expanded;
|
|
55
|
+
get direction() {
|
|
56
|
+
return this._direction;
|
|
57
|
+
}
|
|
58
|
+
set direction(value) {
|
|
59
|
+
this._direction = value;
|
|
60
|
+
}
|
|
61
|
+
_direction = 'column';
|
|
62
|
+
get state() {
|
|
63
|
+
return this._state;
|
|
64
|
+
}
|
|
65
|
+
set state(value) {
|
|
66
|
+
const sizes = {
|
|
67
|
+
initial: this.initial,
|
|
68
|
+
collapsed: this.collapsed,
|
|
69
|
+
expanded: this.expanded
|
|
70
|
+
};
|
|
71
|
+
if (this.mediaService.isMobile()) {
|
|
72
|
+
Object.assign(sizes, {
|
|
73
|
+
initial: this.initialMobile,
|
|
74
|
+
collapsed: this.collapsedMobile,
|
|
75
|
+
expanded: this.expandedMobile
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
const size = sizes[value];
|
|
79
|
+
if (size !== undefined) {
|
|
80
|
+
this.setSize(size);
|
|
81
|
+
setTimeout(() => {
|
|
82
|
+
this._state = value;
|
|
83
|
+
}, FlexibleComponent.transitionTime);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
_state = 'initial';
|
|
87
|
+
mediaService$$;
|
|
88
|
+
constructor(el, mediaService) {
|
|
89
|
+
this.el = el;
|
|
90
|
+
this.mediaService = mediaService;
|
|
91
|
+
}
|
|
92
|
+
ngOnInit() {
|
|
93
|
+
this.el.nativeElement.className += this.direction;
|
|
94
|
+
// Since this component supports different sizes
|
|
95
|
+
// on mobile, force a redraw when the media changes
|
|
96
|
+
this.mediaService$$ = this.mediaService.media$.subscribe((media) => (this.state = this.state));
|
|
97
|
+
}
|
|
98
|
+
ngOnDestroy() {
|
|
99
|
+
if (this.mediaService$$) {
|
|
100
|
+
this.mediaService$$.unsubscribe();
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
setSize(size) {
|
|
104
|
+
this._state = 'transition';
|
|
105
|
+
if (this.direction === 'column') {
|
|
106
|
+
this.main.nativeElement.style.height = size;
|
|
107
|
+
}
|
|
108
|
+
else if (this.direction === 'row') {
|
|
109
|
+
this.main.nativeElement.style.width = size;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
static ɵfac = function FlexibleComponent_Factory(t) { return new (t || FlexibleComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.MediaService)); };
|
|
113
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FlexibleComponent, selectors: [["igo-flexible"]], viewQuery: function FlexibleComponent_Query(rf, ctx) { if (rf & 1) {
|
|
114
|
+
i0.ɵɵviewQuery(_c0, 7);
|
|
115
|
+
} if (rf & 2) {
|
|
116
|
+
let _t;
|
|
117
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.main = _t.first);
|
|
118
|
+
} }, inputs: { initial: "initial", collapsed: "collapsed", expanded: "expanded", initialMobile: "initialMobile", collapsedMobile: "collapsedMobile", expandedMobile: "expandedMobile", direction: "direction", state: "state" }, ngContentSelectors: _c2, decls: 8, vars: 4, consts: [["flexibleMain", ""], [1, "igo-container"], [1, "igo-flexible-fill"]], template: function FlexibleComponent_Template(rf, ctx) { if (rf & 1) {
|
|
119
|
+
i0.ɵɵprojectionDef(_c1);
|
|
120
|
+
i0.ɵɵelementStart(0, "div", null, 0)(2, "div", 1);
|
|
121
|
+
i0.ɵɵprojection(3);
|
|
122
|
+
i0.ɵɵelementEnd()();
|
|
123
|
+
i0.ɵɵelementStart(4, "div", 2)(5, "div")(6, "div", 1);
|
|
124
|
+
i0.ɵɵprojection(7, 1);
|
|
125
|
+
i0.ɵɵelementEnd()()();
|
|
126
|
+
} if (rf & 2) {
|
|
127
|
+
i0.ɵɵclassMapInterpolate2("igo-flexible-main ", ctx.state, " ", ctx.direction, "");
|
|
128
|
+
} }, styles: ["[_nghost-%COMP%]{display:flex;height:100%;width:100%}.column[_nghost-%COMP%]{flex-direction:column}.row[_nghost-%COMP%]{flex-direction:row}[_nghost-%COMP%] .igo-flexible-main[_ngcontent-%COMP%]{flex:0 0 auto;overflow:hidden}[_nghost-%COMP%] .igo-flexible-main.column[_ngcontent-%COMP%]{transition:height .25s ease-in}[_nghost-%COMP%] .igo-flexible-main.row[_ngcontent-%COMP%]{transition:width .25s ease-in}[_nghost-%COMP%] .igo-flexible-fill[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{position:absolute;inset:0}[_nghost-%COMP%] .igo-container[_ngcontent-%COMP%]{height:100%;overflow:hidden;position:relative}[_nghost-%COMP%] .igo-flexible-fill{flex:1 1 auto;overflow:hidden;position:relative}[_nghost-%COMP%] .igo-content{height:100%;width:100%;overflow:auto}[_nghost-%COMP%] igo-panel{height:100%}"] });
|
|
129
|
+
}
|
|
130
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FlexibleComponent, [{
|
|
131
|
+
type: Component,
|
|
132
|
+
args: [{ selector: 'igo-flexible', template: "<div #flexibleMain class=\"igo-flexible-main {{ state }} {{ direction }}\">\n <div class=\"igo-container\">\n <ng-content></ng-content>\n </div>\n</div>\n<div class=\"igo-flexible-fill\">\n <div>\n <div class=\"igo-container\">\n <ng-content select=\"[igoFlexibleFill]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:flex;height:100%;width:100%}:host.column{flex-direction:column}:host.row{flex-direction:row}:host .igo-flexible-main{flex:0 0 auto;overflow:hidden}:host .igo-flexible-main.column{transition:height .25s ease-in}:host .igo-flexible-main.row{transition:width .25s ease-in}:host .igo-flexible-fill>div{position:absolute;inset:0}:host .igo-container{height:100%;overflow:hidden;position:relative}:host ::ng-deep .igo-flexible-fill{flex:1 1 auto;overflow:hidden;position:relative}:host ::ng-deep .igo-content{height:100%;width:100%;overflow:auto}:host ::ng-deep igo-panel{height:100%}\n"] }]
|
|
133
|
+
}], function () { return [{ type: i0.ElementRef }, { type: i1.MediaService }]; }, { main: [{
|
|
134
|
+
type: ViewChild,
|
|
135
|
+
args: ['flexibleMain', { static: true }]
|
|
136
|
+
}], initial: [{
|
|
137
|
+
type: Input
|
|
138
|
+
}], collapsed: [{
|
|
139
|
+
type: Input
|
|
140
|
+
}], expanded: [{
|
|
141
|
+
type: Input
|
|
142
|
+
}], initialMobile: [{
|
|
143
|
+
type: Input
|
|
144
|
+
}], collapsedMobile: [{
|
|
145
|
+
type: Input
|
|
146
|
+
}], expandedMobile: [{
|
|
147
|
+
type: Input
|
|
148
|
+
}], direction: [{
|
|
149
|
+
type: Input
|
|
150
|
+
}], state: [{
|
|
151
|
+
type: Input
|
|
152
|
+
}] }); })();
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxleGlibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvZmxleGlibGUvZmxleGlibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvZmxleGlibGUvZmxleGlibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFHVCxLQUFLLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQVMsWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFDOzs7Ozs7QUFTakQsTUFBTSxPQUFPLGlCQUFpQjtJQW9HbEI7SUFDQTtJQXBHVixNQUFNLENBQUMsY0FBYyxHQUFHLEdBQUcsQ0FBQztJQUVpQixJQUFJLENBQUM7SUFFbEQsSUFDSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUFhO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFDTyxRQUFRLEdBQUcsR0FBRyxDQUFDO0lBRXZCLElBQ0ksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBQ0QsSUFBSSxTQUFTLENBQUMsS0FBYTtRQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBQ08sVUFBVSxHQUFHLEdBQUcsQ0FBQztJQUV6QixJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQWE7UUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUNPLFNBQVMsR0FBRyxNQUFNLENBQUM7SUFFM0IsSUFDSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFDRCxJQUFJLGFBQWEsQ0FBQyxLQUFhO1FBQzdCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFDTyxjQUFjLEdBQVcsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUUvQyxJQUNJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUNELElBQUksZUFBZSxDQUFDLEtBQWE7UUFDL0IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUNoQyxDQUFDO0lBQ08sZ0JBQWdCLEdBQVcsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUVsRCxJQUNJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFDRCxJQUFJLGNBQWMsQ0FBQyxLQUFhO1FBQzlCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFDTyxlQUFlLEdBQVcsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUVoRCxJQUNJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUNELElBQUksU0FBUyxDQUFDLEtBQXdCO1FBQ3BDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFDTyxVQUFVLEdBQXNCLFFBQVEsQ0FBQztJQUVqRCxJQUNJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLEtBQW9CO1FBQzVCLE1BQU0sS0FBSyxHQUFHO1lBQ1osT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDeEIsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNoQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtnQkFDbkIsT0FBTyxFQUFFLElBQUksQ0FBQyxhQUFhO2dCQUMzQixTQUFTLEVBQUUsSUFBSSxDQUFDLGVBQWU7Z0JBQy9CLFFBQVEsRUFBRSxJQUFJLENBQUMsY0FBYzthQUM5QixDQUFDLENBQUM7U0FDSjtRQUVELE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7WUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuQixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLENBQUMsRUFBRSxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUN0QztJQUNILENBQUM7SUFDTyxNQUFNLEdBQWtCLFNBQVMsQ0FBQztJQUVsQyxjQUFjLENBQWU7SUFFckMsWUFDVSxFQUFjLEVBQ2QsWUFBMEI7UUFEMUIsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQ2pDLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUM7UUFFbEQsZ0RBQWdEO1FBQ2hELG1EQUFtRDtRQUNuRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FDdEQsQ0FBQyxLQUFZLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQzVDLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztJQUVPLE9BQU8sQ0FBQyxJQUFZO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDO1FBRTNCLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxRQUFRLEVBQUU7WUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7U0FDN0M7YUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssS0FBSyxFQUFFO1lBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1NBQzVDO0lBQ0gsQ0FBQzsyRUFoSVUsaUJBQWlCOzZEQUFqQixpQkFBaUI7Ozs7Ozs7WUNuQjlCLG9DQUF5RSxhQUFBO1lBRXJFLGtCQUF5QjtZQUMzQixpQkFBTSxFQUFBO1lBRVIsOEJBQStCLFVBQUEsYUFBQTtZQUd6QixxQkFBb0Q7WUFDdEQsaUJBQU0sRUFBQSxFQUFBOztZQVRTLGtGQUFxRDs7O3VGRG1CM0QsaUJBQWlCO2NBTDdCLFNBQVM7MkJBQ0UsY0FBYzt3RkFPcUIsSUFBSTtrQkFBaEQsU0FBUzttQkFBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBR3ZDLE9BQU87a0JBRFYsS0FBSztZQVVGLFNBQVM7a0JBRFosS0FBSztZQVVGLFFBQVE7a0JBRFgsS0FBSztZQVVGLGFBQWE7a0JBRGhCLEtBQUs7WUFVRixlQUFlO2tCQURsQixLQUFLO1lBVUYsY0FBYztrQkFEakIsS0FBSztZQVVGLFNBQVM7a0JBRFosS0FBSztZQVVGLEtBQUs7a0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0LFxuICBPbkRlc3Ryb3ksXG4gIElucHV0LFxuICBWaWV3Q2hpbGQsXG4gIEVsZW1lbnRSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTWVkaWEsIE1lZGlhU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuXG5pbXBvcnQgeyBGbGV4aWJsZVN0YXRlLCBGbGV4aWJsZURpcmVjdGlvbiB9IGZyb20gJy4vZmxleGlibGUudHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1mbGV4aWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mbGV4aWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZsZXhpYmxlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRmxleGlibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHN0YXRpYyB0cmFuc2l0aW9uVGltZSA9IDI1MDtcblxuICBAVmlld0NoaWxkKCdmbGV4aWJsZU1haW4nLCB7IHN0YXRpYzogdHJ1ZSB9KSBtYWluO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBpbml0aWFsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2luaXRpYWw7XG4gIH1cbiAgc2V0IGluaXRpYWwodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2luaXRpYWwgPSB2YWx1ZTtcbiAgfVxuICBwcml2YXRlIF9pbml0aWFsID0gJzAnO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBjb2xsYXBzZWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fY29sbGFwc2VkO1xuICB9XG4gIHNldCBjb2xsYXBzZWQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2NvbGxhcHNlZCA9IHZhbHVlO1xuICB9XG4gIHByaXZhdGUgX2NvbGxhcHNlZCA9ICcwJztcblxuICBASW5wdXQoKVxuICBnZXQgZXhwYW5kZWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZXhwYW5kZWQ7XG4gIH1cbiAgc2V0IGV4cGFuZGVkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9leHBhbmRlZCA9IHZhbHVlO1xuICB9XG4gIHByaXZhdGUgX2V4cGFuZGVkID0gJzEwMCUnO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBpbml0aWFsTW9iaWxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2luaXRpYWxNb2JpbGU7XG4gIH1cbiAgc2V0IGluaXRpYWxNb2JpbGUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2luaXRpYWxNb2JpbGUgPSB2YWx1ZTtcbiAgfVxuICBwcml2YXRlIF9pbml0aWFsTW9iaWxlOiBzdHJpbmcgPSB0aGlzLmV4cGFuZGVkO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBjb2xsYXBzZWRNb2JpbGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fY29sbGFwc2VkTW9iaWxlO1xuICB9XG4gIHNldCBjb2xsYXBzZWRNb2JpbGUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2NvbGxhcHNlZE1vYmlsZSA9IHZhbHVlO1xuICB9XG4gIHByaXZhdGUgX2NvbGxhcHNlZE1vYmlsZTogc3RyaW5nID0gdGhpcy5jb2xsYXBzZWQ7XG5cbiAgQElucHV0KClcbiAgZ2V0IGV4cGFuZGVkTW9iaWxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2V4cGFuZGVkTW9iaWxlO1xuICB9XG4gIHNldCBleHBhbmRlZE1vYmlsZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fZXhwYW5kZWRNb2JpbGUgPSB2YWx1ZTtcbiAgfVxuICBwcml2YXRlIF9leHBhbmRlZE1vYmlsZTogc3RyaW5nID0gdGhpcy5leHBhbmRlZDtcblxuICBASW5wdXQoKVxuICBnZXQgZGlyZWN0aW9uKCk6IEZsZXhpYmxlRGlyZWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fZGlyZWN0aW9uO1xuICB9XG4gIHNldCBkaXJlY3Rpb24odmFsdWU6IEZsZXhpYmxlRGlyZWN0aW9uKSB7XG4gICAgdGhpcy5fZGlyZWN0aW9uID0gdmFsdWU7XG4gIH1cbiAgcHJpdmF0ZSBfZGlyZWN0aW9uOiBGbGV4aWJsZURpcmVjdGlvbiA9ICdjb2x1bW4nO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBzdGF0ZSgpOiBGbGV4aWJsZVN0YXRlIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGU7XG4gIH1cbiAgc2V0IHN0YXRlKHZhbHVlOiBGbGV4aWJsZVN0YXRlKSB7XG4gICAgY29uc3Qgc2l6ZXMgPSB7XG4gICAgICBpbml0aWFsOiB0aGlzLmluaXRpYWwsXG4gICAgICBjb2xsYXBzZWQ6IHRoaXMuY29sbGFwc2VkLFxuICAgICAgZXhwYW5kZWQ6IHRoaXMuZXhwYW5kZWRcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMubWVkaWFTZXJ2aWNlLmlzTW9iaWxlKCkpIHtcbiAgICAgIE9iamVjdC5hc3NpZ24oc2l6ZXMsIHtcbiAgICAgICAgaW5pdGlhbDogdGhpcy5pbml0aWFsTW9iaWxlLFxuICAgICAgICBjb2xsYXBzZWQ6IHRoaXMuY29sbGFwc2VkTW9iaWxlLFxuICAgICAgICBleHBhbmRlZDogdGhpcy5leHBhbmRlZE1vYmlsZVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2l6ZSA9IHNpemVzW3ZhbHVlXTtcbiAgICBpZiAoc2l6ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnNldFNpemUoc2l6ZSk7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSB2YWx1ZTtcbiAgICAgIH0sIEZsZXhpYmxlQ29tcG9uZW50LnRyYW5zaXRpb25UaW1lKTtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBfc3RhdGU6IEZsZXhpYmxlU3RhdGUgPSAnaW5pdGlhbCc7XG5cbiAgcHJpdmF0ZSBtZWRpYVNlcnZpY2UkJDogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBtZWRpYVNlcnZpY2U6IE1lZGlhU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsYXNzTmFtZSArPSB0aGlzLmRpcmVjdGlvbjtcblxuICAgIC8vIFNpbmNlIHRoaXMgY29tcG9uZW50IHN1cHBvcnRzIGRpZmZlcmVudCBzaXplc1xuICAgIC8vIG9uIG1vYmlsZSwgZm9yY2UgYSByZWRyYXcgd2hlbiB0aGUgbWVkaWEgY2hhbmdlc1xuICAgIHRoaXMubWVkaWFTZXJ2aWNlJCQgPSB0aGlzLm1lZGlhU2VydmljZS5tZWRpYSQuc3Vic2NyaWJlKFxuICAgICAgKG1lZGlhOiBNZWRpYSkgPT4gKHRoaXMuc3RhdGUgPSB0aGlzLnN0YXRlKVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5tZWRpYVNlcnZpY2UkJCkge1xuICAgICAgdGhpcy5tZWRpYVNlcnZpY2UkJC51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0U2l6ZShzaXplOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9zdGF0ZSA9ICd0cmFuc2l0aW9uJztcblxuICAgIGlmICh0aGlzLmRpcmVjdGlvbiA9PT0gJ2NvbHVtbicpIHtcbiAgICAgIHRoaXMubWFpbi5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCA9IHNpemU7XG4gICAgfSBlbHNlIGlmICh0aGlzLmRpcmVjdGlvbiA9PT0gJ3JvdycpIHtcbiAgICAgIHRoaXMubWFpbi5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID0gc2l6ZTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgI2ZsZXhpYmxlTWFpbiBjbGFzcz1cImlnby1mbGV4aWJsZS1tYWluIHt7IHN0YXRlIH19IHt7IGRpcmVjdGlvbiB9fVwiPlxuICA8ZGl2IGNsYXNzPVwiaWdvLWNvbnRhaW5lclwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJpZ28tZmxleGlibGUtZmlsbFwiPlxuICA8ZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJpZ28tY29udGFpbmVyXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbaWdvRmxleGlibGVGaWxsXVwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { FlexibleComponent } from './flexible.component';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class IgoFlexibleModule {
|
|
5
|
-
static forRoot() {
|
|
6
|
-
return {
|
|
7
|
-
ngModule: IgoFlexibleModule,
|
|
8
|
-
providers: []
|
|
9
|
-
};
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoFlexibleModule, [{
|
|
16
|
-
type: NgModule,
|
|
17
|
-
args: [{
|
|
18
|
-
imports: [],
|
|
19
|
-
declarations: [FlexibleComponent],
|
|
20
|
-
exports: [FlexibleComponent]
|
|
21
|
-
}]
|
|
22
|
-
}], null, null); })();
|
|
23
|
-
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoFlexibleModule, { declarations: [FlexibleComponent], exports: [FlexibleComponent] }); })();
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { FlexibleComponent } from './flexible.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class IgoFlexibleModule {
|
|
5
|
+
static forRoot() {
|
|
6
|
+
return {
|
|
7
|
+
ngModule: IgoFlexibleModule,
|
|
8
|
+
providers: []
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
static ɵfac = function IgoFlexibleModule_Factory(t) { return new (t || IgoFlexibleModule)(); };
|
|
12
|
+
static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoFlexibleModule });
|
|
13
|
+
static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
|
|
14
|
+
}
|
|
15
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoFlexibleModule, [{
|
|
16
|
+
type: NgModule,
|
|
17
|
+
args: [{
|
|
18
|
+
imports: [],
|
|
19
|
+
declarations: [FlexibleComponent],
|
|
20
|
+
exports: [FlexibleComponent]
|
|
21
|
+
}]
|
|
22
|
+
}], null, null); })();
|
|
23
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoFlexibleModule, { declarations: [FlexibleComponent], exports: [FlexibleComponent] }); })();
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxleGlibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvZmxleGlibGUvZmxleGlibGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQU96RCxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxpQkFBaUI7WUFDM0IsU0FBUyxFQUFFLEVBQUU7U0FDZCxDQUFDO0lBQ0osQ0FBQzsyRUFOVSxpQkFBaUI7NERBQWpCLGlCQUFpQjs7O3VGQUFqQixpQkFBaUI7Y0FMN0IsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRSxFQUFFO2dCQUNYLFlBQVksRUFBRSxDQUFDLGlCQUFpQixDQUFDO2dCQUNqQyxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzthQUM3Qjs7d0ZBQ1ksaUJBQWlCLG1CQUhiLGlCQUFpQixhQUN0QixpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmxleGlibGVDb21wb25lbnQgfSBmcm9tICcuL2ZsZXhpYmxlLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtdLFxuICBkZWNsYXJhdGlvbnM6IFtGbGV4aWJsZUNvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtGbGV4aWJsZUNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgSWdvRmxleGlibGVNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPElnb0ZsZXhpYmxlTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBJZ29GbGV4aWJsZU1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW11cbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxleGlibGUudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2ZsZXhpYmxlL2ZsZXhpYmxlLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEZsZXhpYmxlU3RhdGUgPSAnaW5pdGlhbCcgfCAnY29sbGFwc2VkJyB8ICdleHBhbmRlZCcgfCAndHJhbnNpdGlvbic7XG5cbmV4cG9ydCB0eXBlIEZsZXhpYmxlRGlyZWN0aW9uID0gJ2NvbHVtbicgfCAncm93JztcbiJdfQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './flexible.type';
|
|
2
|
-
export * from './flexible.component';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './flexible.type';
|
|
2
|
+
export * from './flexible.component';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9mbGV4aWJsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZsZXhpYmxlLnR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9mbGV4aWJsZS5jb21wb25lbnQnO1xuIl19
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewChild, ElementRef } 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
|
+
/**
|
|
16
|
+
* Form
|
|
17
|
+
*/
|
|
18
|
+
form;
|
|
19
|
+
/**
|
|
20
|
+
* Input data
|
|
21
|
+
*/
|
|
22
|
+
formData;
|
|
23
|
+
/**
|
|
24
|
+
* Form autocomplete
|
|
25
|
+
*/
|
|
26
|
+
autocomplete = 'off';
|
|
27
|
+
/**
|
|
28
|
+
* Event emitted when the form is submitted
|
|
29
|
+
*/
|
|
30
|
+
submitForm = new EventEmitter();
|
|
31
|
+
buttons;
|
|
32
|
+
get hasButtons() {
|
|
33
|
+
return this.buttons.nativeElement.children.length !== 0;
|
|
34
|
+
}
|
|
35
|
+
constructor() { }
|
|
36
|
+
/**
|
|
37
|
+
* Is the entity or the template change, recreate the form or repopulate it.
|
|
38
|
+
* @internal
|
|
39
|
+
*/
|
|
40
|
+
ngOnChanges(changes) {
|
|
41
|
+
const formData = changes.formData;
|
|
42
|
+
if (formData && formData.currentValue !== formData.previousValue) {
|
|
43
|
+
if (formData.currentValue === undefined) {
|
|
44
|
+
this.clear();
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
this.setData(formData.currentValue);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Transform the form data to a feature and emit an event
|
|
53
|
+
* @param event Form submit event
|
|
54
|
+
* @internal
|
|
55
|
+
*/
|
|
56
|
+
onSubmit() {
|
|
57
|
+
this.submitForm.emit(this.getData());
|
|
58
|
+
}
|
|
59
|
+
getData() {
|
|
60
|
+
const data = {};
|
|
61
|
+
getAllFormFields(this.form).forEach((field) => {
|
|
62
|
+
this.updateDataWithFormField(data, field);
|
|
63
|
+
});
|
|
64
|
+
return data;
|
|
65
|
+
}
|
|
66
|
+
setData(data) {
|
|
67
|
+
this.form.fields.forEach((field) => {
|
|
68
|
+
field.control.setValue(t(data, field.name).safeObject);
|
|
69
|
+
});
|
|
70
|
+
this.form.groups.forEach((group) => {
|
|
71
|
+
group.fields.forEach((field) => {
|
|
72
|
+
field.control.setValue(t(data, field.name).safeObject);
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
updateDataWithFormField(data, field) {
|
|
77
|
+
const control = field.control;
|
|
78
|
+
if (!control.disabled) {
|
|
79
|
+
data[field.name] = control.value;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Clear form
|
|
84
|
+
*/
|
|
85
|
+
clear() {
|
|
86
|
+
this.form.control.reset();
|
|
87
|
+
}
|
|
88
|
+
static ɵfac = function FormComponent_Factory(t) { return new (t || FormComponent)(); };
|
|
89
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FormComponent, selectors: [["igo-form"]], viewQuery: function FormComponent_Query(rf, ctx) { if (rf & 1) {
|
|
90
|
+
i0.ɵɵviewQuery(_c0, 7);
|
|
91
|
+
} if (rf & 2) {
|
|
92
|
+
let _t;
|
|
93
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.buttons = _t.first);
|
|
94
|
+
} }, 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) {
|
|
95
|
+
i0.ɵɵprojectionDef(_c1);
|
|
96
|
+
i0.ɵɵelementStart(0, "form", 0);
|
|
97
|
+
i0.ɵɵlistener("ngSubmit", function FormComponent_Template_form_ngSubmit_0_listener() { return ctx.onSubmit(); });
|
|
98
|
+
i0.ɵɵelementStart(1, "div", 1)(2, "div", 2);
|
|
99
|
+
i0.ɵɵprojection(3);
|
|
100
|
+
i0.ɵɵelementEnd();
|
|
101
|
+
i0.ɵɵelementStart(4, "div", 3, 4);
|
|
102
|
+
i0.ɵɵprojection(6, 1);
|
|
103
|
+
i0.ɵɵelementEnd()()();
|
|
104
|
+
} if (rf & 2) {
|
|
105
|
+
i0.ɵɵproperty("autocomplete", ctx.autocomplete)("formGroup", ctx.form.control);
|
|
106
|
+
i0.ɵɵadvance(1);
|
|
107
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c2, ctx.hasButtons));
|
|
108
|
+
} }, 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 });
|
|
109
|
+
}
|
|
110
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormComponent, [{
|
|
111
|
+
type: Component,
|
|
112
|
+
args: [{ selector: 'igo-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form\n [autocomplete]=\"autocomplete\"\n [formGroup]=\"form.control\"\n (ngSubmit)=\"onSubmit()\"\n>\n <div\n class=\"igo-form-body\"\n [ngClass]=\"{ 'igo-form-body-with-buttons': hasButtons }\"\n >\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"] }]
|
|
113
|
+
}], function () { return []; }, { form: [{
|
|
114
|
+
type: Input
|
|
115
|
+
}], formData: [{
|
|
116
|
+
type: Input
|
|
117
|
+
}], autocomplete: [{
|
|
118
|
+
type: Input
|
|
119
|
+
}], submitForm: [{
|
|
120
|
+
type: Output
|
|
121
|
+
}], buttons: [{
|
|
122
|
+
type: ViewChild,
|
|
123
|
+
args: ['buttons', { static: true }]
|
|
124
|
+
}] }); })();
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9mb3JtL2Zvcm0vZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9mb3JtL2Zvcm0vZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUdaLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNYLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHekIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7O0FBRXhEOztHQUVHO0FBT0gsTUFBTSxPQUFPLGFBQWE7SUFDeEI7O09BRUc7SUFDTSxJQUFJLENBQU87SUFFcEI7O09BRUc7SUFDTSxRQUFRLENBQXlCO0lBRTFDOztPQUVHO0lBQ00sWUFBWSxHQUFXLEtBQUssQ0FBQztJQUV0Qzs7T0FFRztJQUNPLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBMEIsQ0FBQztJQUUxQixPQUFPLENBQWE7SUFFNUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsZ0JBQWUsQ0FBQztJQUVoQjs7O09BR0c7SUFDSCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNsQyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsWUFBWSxLQUFLLFFBQVEsQ0FBQyxhQUFhLEVBQUU7WUFDaEUsSUFBSSxRQUFRLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRTtnQkFDdkMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ2Q7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDckM7U0FDRjtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxPQUFPO1FBQ0wsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFnQixFQUFFLEVBQUU7WUFDdkQsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVPLE9BQU8sQ0FBQyxJQUE0QjtRQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFnQixFQUFFLEVBQUU7WUFDNUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFxQixFQUFFLEVBQUU7WUFDakQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFnQixFQUFFLEVBQUU7Z0JBQ3hDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3pELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sdUJBQXVCLENBQzdCLElBQTRCLEVBQzVCLEtBQWdCO1FBRWhCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ssS0FBSztRQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzVCLENBQUM7dUVBeEZVLGFBQWE7NkRBQWIsYUFBYTs7Ozs7OztZQzFCMUIsK0JBSUM7WUFEQyw4RkFBWSxjQUFVLElBQUM7WUFFdkIsOEJBR0MsYUFBQTtZQUVHLGtCQUF5QjtZQUMzQixpQkFBTTtZQUNOLGlDQUF1QztZQUNyQyxxQkFBZ0Q7WUFDbEQsaUJBQU0sRUFBQSxFQUFBOztZQWJSLCtDQUE2QiwrQkFBQTtZQU0zQixlQUF3RDtZQUF4RCxvRUFBd0Q7Ozt1RkRtQi9DLGFBQWE7Y0FOekIsU0FBUzsyQkFDRSxVQUFVLG1CQUdILHVCQUF1QixDQUFDLE1BQU07c0NBTXRDLElBQUk7a0JBQVosS0FBSztZQUtHLFFBQVE7a0JBQWhCLEtBQUs7WUFLRyxZQUFZO2tCQUFwQixLQUFLO1lBS0ksVUFBVTtrQkFBbkIsTUFBTTtZQUVpQyxPQUFPO2tCQUE5QyxTQUFTO21CQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25DaGFuZ2VzLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgVmlld0NoaWxkLFxuICBFbGVtZW50UmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyB0IH0gZnJvbSAndHlweSc7XG5cbmltcG9ydCB7IEZvcm0sIEZvcm1GaWVsZCwgRm9ybUZpZWxkR3JvdXAgfSBmcm9tICcuLi9zaGFyZWQvZm9ybS5pbnRlcmZhY2VzJztcbmltcG9ydCB7IGdldEFsbEZvcm1GaWVsZHMgfSBmcm9tICcuLi9zaGFyZWQvZm9ybS51dGlscyc7XG5cbi8qKlxuICogQSBjb25maWd1cmFibGUgZm9ybVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgLyoqXG4gICAqIEZvcm1cbiAgICovXG4gIEBJbnB1dCgpIGZvcm06IEZvcm07XG5cbiAgLyoqXG4gICAqIElucHV0IGRhdGFcbiAgICovXG4gIEBJbnB1dCgpIGZvcm1EYXRhOiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuXG4gIC8qKlxuICAgKiBGb3JtIGF1dG9jb21wbGV0ZVxuICAgKi9cbiAgQElucHV0KCkgYXV0b2NvbXBsZXRlOiBzdHJpbmcgPSAnb2ZmJztcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBmb3JtIGlzIHN1Ym1pdHRlZFxuICAgKi9cbiAgQE91dHB1dCgpIHN1Ym1pdEZvcm0gPSBuZXcgRXZlbnRFbWl0dGVyPHsgW2tleTogc3RyaW5nXTogYW55IH0+KCk7XG5cbiAgQFZpZXdDaGlsZCgnYnV0dG9ucycsIHsgc3RhdGljOiB0cnVlIH0pIGJ1dHRvbnM6IEVsZW1lbnRSZWY7XG5cbiAgZ2V0IGhhc0J1dHRvbnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYnV0dG9ucy5uYXRpdmVFbGVtZW50LmNoaWxkcmVuLmxlbmd0aCAhPT0gMDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICAvKipcbiAgICogSXMgdGhlIGVudGl0eSBvciB0aGUgdGVtcGxhdGUgY2hhbmdlLCByZWNyZWF0ZSB0aGUgZm9ybSBvciByZXBvcHVsYXRlIGl0LlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBjb25zdCBmb3JtRGF0YSA9IGNoYW5nZXMuZm9ybURhdGE7XG4gICAgaWYgKGZvcm1EYXRhICYmIGZvcm1EYXRhLmN1cnJlbnRWYWx1ZSAhPT0gZm9ybURhdGEucHJldmlvdXNWYWx1ZSkge1xuICAgICAgaWYgKGZvcm1EYXRhLmN1cnJlbnRWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuY2xlYXIoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2V0RGF0YShmb3JtRGF0YS5jdXJyZW50VmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm0gdGhlIGZvcm0gZGF0YSB0byBhIGZlYXR1cmUgYW5kIGVtaXQgYW4gZXZlbnRcbiAgICogQHBhcmFtIGV2ZW50IEZvcm0gc3VibWl0IGV2ZW50XG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgb25TdWJtaXQoKSB7XG4gICAgdGhpcy5zdWJtaXRGb3JtLmVtaXQodGhpcy5nZXREYXRhKCkpO1xuICB9XG5cbiAgZ2V0RGF0YSgpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICBjb25zdCBkYXRhID0ge307XG4gICAgZ2V0QWxsRm9ybUZpZWxkcyh0aGlzLmZvcm0pLmZvckVhY2goKGZpZWxkOiBGb3JtRmllbGQpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlRGF0YVdpdGhGb3JtRmllbGQoZGF0YSwgZmllbGQpO1xuICAgIH0pO1xuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXREYXRhKGRhdGE6IHsgW2tleTogc3RyaW5nXTogYW55IH0pIHtcbiAgICB0aGlzLmZvcm0uZmllbGRzLmZvckVhY2goKGZpZWxkOiBGb3JtRmllbGQpID0+IHtcbiAgICAgIGZpZWxkLmNvbnRyb2wuc2V0VmFsdWUodChkYXRhLCBmaWVsZC5uYW1lKS5zYWZlT2JqZWN0KTtcbiAgICB9KTtcblxuICAgIHRoaXMuZm9ybS5ncm91cHMuZm9yRWFjaCgoZ3JvdXA6IEZvcm1GaWVsZEdyb3VwKSA9PiB7XG4gICAgICBncm91cC5maWVsZHMuZm9yRWFjaCgoZmllbGQ6IEZvcm1GaWVsZCkgPT4ge1xuICAgICAgICBmaWVsZC5jb250cm9sLnNldFZhbHVlKHQoZGF0YSwgZmllbGQubmFtZSkuc2FmZU9iamVjdCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRGF0YVdpdGhGb3JtRmllbGQoXG4gICAgZGF0YTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSxcbiAgICBmaWVsZDogRm9ybUZpZWxkXG4gICkge1xuICAgIGNvbnN0IGNvbnRyb2wgPSBmaWVsZC5jb250cm9sO1xuICAgIGlmICghY29udHJvbC5kaXNhYmxlZCkge1xuICAgICAgZGF0YVtmaWVsZC5uYW1lXSA9IGNvbnRyb2wudmFsdWU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENsZWFyIGZvcm1cbiAgICovXG4gIHByaXZhdGUgY2xlYXIoKSB7XG4gICAgdGhpcy5mb3JtLmNvbnRyb2wucmVzZXQoKTtcbiAgfVxufVxuIiwiPGZvcm1cbiAgW2F1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVcIlxuICBbZm9ybUdyb3VwXT1cImZvcm0uY29udHJvbFwiXG4gIChuZ1N1Ym1pdCk9XCJvblN1Ym1pdCgpXCJcbj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiaWdvLWZvcm0tYm9keVwiXG4gICAgW25nQ2xhc3NdPVwieyAnaWdvLWZvcm0tYm9keS13aXRoLWJ1dHRvbnMnOiBoYXNCdXR0b25zIH1cIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cImlnby1mb3JtLWNvbnRlbnRcIj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICNidXR0b25zIGNsYXNzPVwiaWdvLWZvcm0tYnV0dG9uc1wiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Zvcm1CdXR0b25zXVwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Zvcm0+XG4iXX0=
|
|
@@ -0,0 +1,23 @@
|
|
|
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
|
+
static ɵfac = function IgoFormFormModule_Factory(t) { return new (t || IgoFormFormModule)(); };
|
|
11
|
+
static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoFormFormModule });
|
|
12
|
+
static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule, FormsModule, ReactiveFormsModule, FormsModule, ReactiveFormsModule] });
|
|
13
|
+
}
|
|
14
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoFormFormModule, [{
|
|
15
|
+
type: NgModule,
|
|
16
|
+
args: [{
|
|
17
|
+
imports: [CommonModule, FormsModule, ReactiveFormsModule],
|
|
18
|
+
exports: [FormComponent, FormsModule, ReactiveFormsModule],
|
|
19
|
+
declarations: [FormComponent]
|
|
20
|
+
}]
|
|
21
|
+
}], null, null); })();
|
|
22
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoFormFormModule, { declarations: [FormComponent], imports: [CommonModule, FormsModule, ReactiveFormsModule], exports: [FormComponent, FormsModule, ReactiveFormsModule] }); })();
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9mb3JtL2Zvcm0vZm9ybS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFakQ7O0dBRUc7QUFNSCxNQUFNLE9BQU8saUJBQWlCOzJFQUFqQixpQkFBaUI7NERBQWpCLGlCQUFpQjtnRUFKbEIsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFDL0IsV0FBVyxFQUFFLG1CQUFtQjs7dUZBRzlDLGlCQUFpQjtjQUw3QixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsQ0FBQztnQkFDekQsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsQ0FBQztnQkFDMUQsWUFBWSxFQUFFLENBQUMsYUFBYSxDQUFDO2FBQzlCOzt3RkFDWSxpQkFBaUIsbUJBRmIsYUFBYSxhQUZsQixZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixhQUM5QyxhQUFhLEVBQUUsV0FBVyxFQUFFLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEZvcm1Db21wb25lbnQgfSBmcm9tICcuL2Zvcm0uY29tcG9uZW50JztcblxuLyoqXG4gKiBAaWdub3JlXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcbiAgZXhwb3J0czogW0Zvcm1Db21wb25lbnQsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbRm9ybUNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgSWdvRm9ybUZvcm1Nb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,140 @@
|
|
|
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
|
+
export let FormFieldSelectComponent = class FormFieldSelectComponent {
|
|
48
|
+
disabled$ = new BehaviorSubject(false);
|
|
49
|
+
/**
|
|
50
|
+
* Select input choices
|
|
51
|
+
*/
|
|
52
|
+
set choices(value) {
|
|
53
|
+
this.choices$.next(value);
|
|
54
|
+
}
|
|
55
|
+
get choices() {
|
|
56
|
+
return this.choices$.value;
|
|
57
|
+
}
|
|
58
|
+
choices$ = new BehaviorSubject([]);
|
|
59
|
+
/**
|
|
60
|
+
* The field's form control
|
|
61
|
+
*/
|
|
62
|
+
formControl;
|
|
63
|
+
/**
|
|
64
|
+
* Field placeholder
|
|
65
|
+
*/
|
|
66
|
+
placeholder;
|
|
67
|
+
/**
|
|
68
|
+
* Field placeholder
|
|
69
|
+
*/
|
|
70
|
+
errors;
|
|
71
|
+
/**
|
|
72
|
+
* Wheter a disable switch should be available
|
|
73
|
+
*/
|
|
74
|
+
disableSwitch = false;
|
|
75
|
+
/**
|
|
76
|
+
* Whether the field is required
|
|
77
|
+
*/
|
|
78
|
+
get required() {
|
|
79
|
+
return formControlIsRequired(this.formControl);
|
|
80
|
+
}
|
|
81
|
+
ngOnInit() {
|
|
82
|
+
this.disabled$.next(this.formControl.disabled);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Get error message
|
|
86
|
+
*/
|
|
87
|
+
getErrorMessage() {
|
|
88
|
+
return getControlErrorMessage(this.formControl, this.errors);
|
|
89
|
+
}
|
|
90
|
+
onDisableSwitchClick() {
|
|
91
|
+
this.toggleDisabled();
|
|
92
|
+
}
|
|
93
|
+
toggleDisabled() {
|
|
94
|
+
const disabled = !this.disabled$.value;
|
|
95
|
+
if (disabled === true) {
|
|
96
|
+
this.formControl.disable();
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
this.formControl.enable();
|
|
100
|
+
}
|
|
101
|
+
this.disabled$.next(disabled);
|
|
102
|
+
}
|
|
103
|
+
static ɵfac = function FormFieldSelectComponent_Factory(t) { return new (t || FormFieldSelectComponent)(); };
|
|
104
|
+
static ɵ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) {
|
|
105
|
+
i0.ɵɵelementStart(0, "mat-form-field")(1, "mat-select", 0);
|
|
106
|
+
i0.ɵɵtemplate(2, FormFieldSelectComponent_mat_option_2_Template, 2, 2, "mat-option", 1);
|
|
107
|
+
i0.ɵɵpipe(3, "async");
|
|
108
|
+
i0.ɵɵelementEnd();
|
|
109
|
+
i0.ɵɵtemplate(4, FormFieldSelectComponent_mat_icon_4_Template, 2, 3, "mat-icon", 2);
|
|
110
|
+
i0.ɵɵtemplate(5, FormFieldSelectComponent_mat_error_5_Template, 3, 3, "mat-error", 3);
|
|
111
|
+
i0.ɵɵelementEnd();
|
|
112
|
+
} if (rf & 2) {
|
|
113
|
+
i0.ɵɵadvance(1);
|
|
114
|
+
i0.ɵɵproperty("required", ctx.required)("placeholder", ctx.placeholder)("formControl", ctx.formControl);
|
|
115
|
+
i0.ɵɵadvance(1);
|
|
116
|
+
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(3, 6, ctx.choices$));
|
|
117
|
+
i0.ɵɵadvance(2);
|
|
118
|
+
i0.ɵɵproperty("ngIf", ctx.disableSwitch === true);
|
|
119
|
+
i0.ɵɵadvance(1);
|
|
120
|
+
i0.ɵɵproperty("ngIf", ctx.formControl.errors);
|
|
121
|
+
} }, dependencies: [i1.NgForOf, i1.NgIf, i2.NgControlStatus, i2.RequiredValidator, i2.FormControlDirective, i3.MatIcon, i4.MatFormField, i4.MatError, i4.MatPrefix, i5.MatSelect, i6.MatOption, i1.AsyncPipe, i7.TranslatePipe], encapsulation: 2, changeDetection: 0 });
|
|
122
|
+
};
|
|
123
|
+
FormFieldSelectComponent = __decorate([
|
|
124
|
+
IgoFormFieldComponent('select')
|
|
125
|
+
], FormFieldSelectComponent);
|
|
126
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormFieldSelectComponent, [{
|
|
127
|
+
type: Component,
|
|
128
|
+
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 >\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]=\"\n (disabled$ | async) === true\n ? 'checkbox-blank-outline'\n : 'checkbox-marked-outline'\n \"\n (click)=\"onDisableSwitchClick()\"\n matPrefix\n >\n </mat-icon>\n <mat-error *ngIf=\"formControl.errors\">{{\n getErrorMessage() | translate\n }}</mat-error>\n</mat-form-field>\n" }]
|
|
129
|
+
}], null, { choices: [{
|
|
130
|
+
type: Input
|
|
131
|
+
}], formControl: [{
|
|
132
|
+
type: Input
|
|
133
|
+
}], placeholder: [{
|
|
134
|
+
type: Input
|
|
135
|
+
}], errors: [{
|
|
136
|
+
type: Input
|
|
137
|
+
}], disableSwitch: [{
|
|
138
|
+
type: Input
|
|
139
|
+
}] }); })();
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvZm9ybS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQtc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2Zvcm0vZm9ybS1maWVsZC9mb3JtLWZpZWxkLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLEtBQUssRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBRXhCLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkMsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdkIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7Ozs7OztJQ1RuRSxxQ0FBMkU7SUFDekUsWUFDRjtJQUFBLGlCQUFhOzs7SUFGdUMsdUNBQXNCO0lBQ3hFLGVBQ0Y7SUFERSxnREFDRjs7OztJQUVGLG1DQVVDO0lBRkMsNEtBQVMsZUFBQSw2QkFBc0IsQ0FBQSxJQUFDOztJQUdsQyxpQkFBVzs7O0lBUlQsZ0lBSUM7OztJQUtILGlDQUFzQztJQUFBLFlBRXBDOztJQUFBLGlCQUFZOzs7SUFGd0IsZUFFcEM7SUFGb0Msb0VBRXBDOztBRFBKOztHQUVHO0FBT0ksV0FBTSx3QkFBd0IsR0FBOUIsTUFBTSx3QkFBd0I7SUFDMUIsU0FBUyxHQUE2QixJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUUxRTs7T0FFRztJQUNILElBQ0ksT0FBTyxDQUFDLEtBQThCO1FBQ3hDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFDUSxRQUFRLEdBQ2YsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFMUI7O09BRUc7SUFDTSxXQUFXLENBQXFCO0lBRXpDOztPQUVHO0lBQ00sV0FBVyxDQUFTO0lBRTdCOztPQUVHO0lBQ00sTUFBTSxDQUE0QjtJQUUzQzs7T0FFRztJQUNNLGFBQWEsR0FBWSxLQUFLLENBQUM7SUFFeEM7O09BRUc7SUFDSCxJQUFJLFFBQVE7UUFDVixPQUFPLHFCQUFxQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZUFBZTtRQUNiLE9BQU8sc0JBQXNCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVPLGNBQWM7UUFDcEIsTUFBTSxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztRQUN2QyxJQUFJLFFBQVEsS0FBSyxJQUFJLEVBQUU7WUFDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUM1QjthQUFNO1lBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUMzQjtRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7a0ZBbEVVLHdCQUF3Qjs2REFBeEIsd0JBQXdCO1lDMUJyQyxzQ0FBZ0Isb0JBQUE7WUFNWix1RkFFYTs7WUFDZixpQkFBYTtZQUNiLG1GQVdXO1lBQ1gscUZBRWM7WUFDaEIsaUJBQWlCOztZQXZCYixlQUFxQjtZQUFyQix1Q0FBcUIsZ0NBQUEsZ0NBQUE7WUFJVSxlQUFtQjtZQUFuQiw0REFBbUI7WUFLakQsZUFBNEI7WUFBNUIsaURBQTRCO1lBV25CLGVBQXdCO1lBQXhCLDZDQUF3Qjs7O0FESXpCLHdCQUF3QjtJQU5wQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUM7R0FNbkIsd0JBQXdCLENBbUVwQzt1RkFuRVksd0JBQXdCO2NBTHBDLFNBQVM7MkJBQ0UsdUJBQXVCLG1CQUVoQix1QkFBdUIsQ0FBQyxNQUFNO2dCQVMzQyxPQUFPO2tCQURWLEtBQUs7WUFhRyxXQUFXO2tCQUFuQixLQUFLO1lBS0csV0FBVztrQkFBbkIsS0FBSztZQUtHLE1BQU07a0JBQWQsS0FBSztZQUtHLGFBQWE7a0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbnB1dCxcbiAgQ29tcG9uZW50LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgT25Jbml0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICBmb3JtQ29udHJvbElzUmVxdWlyZWQsXG4gIGdldENvbnRyb2xFcnJvck1lc3NhZ2Vcbn0gZnJvbSAnLi4vc2hhcmVkL2Zvcm0udXRpbHMnO1xuaW1wb3J0IHsgRm9ybUZpZWxkU2VsZWN0Q2hvaWNlIH0gZnJvbSAnLi4vc2hhcmVkL2Zvcm0uaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBJZ29Gb3JtRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi9zaGFyZWQvZm9ybS1maWVsZC1jb21wb25lbnQnO1xuXG4vKipcbiAqIFRoaXMgY29tcG9uZW50IHJlbmRlcnMgYSBzZWxlY3QgZmllbGRcbiAqL1xuQElnb0Zvcm1GaWVsZENvbXBvbmVudCgnc2VsZWN0JylcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1mb3JtLWZpZWxkLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWZpZWxkLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1GaWVsZFNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHJlYWRvbmx5IGRpc2FibGVkJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgLyoqXG4gICAqIFNlbGVjdCBpbnB1dCBjaG9pY2VzXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgY2hvaWNlcyh2YWx1ZTogRm9ybUZpZWxkU2VsZWN0Q2hvaWNlW10pIHtcbiAgICB0aGlzLmNob2ljZXMkLm5leHQodmFsdWUpO1xuICB9XG4gIGdldCBjaG9pY2VzKCk6IEZvcm1GaWVsZFNlbGVjdENob2ljZVtdIHtcbiAgICByZXR1cm4gdGhpcy5jaG9pY2VzJC52YWx1ZTtcbiAgfVxuICByZWFkb25seSBjaG9pY2VzJDogQmVoYXZpb3JTdWJqZWN0PEZvcm1GaWVsZFNlbGVjdENob2ljZVtdPiA9XG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdChbXSk7XG5cbiAgLyoqXG4gICAqIFRoZSBmaWVsZCdzIGZvcm0gY29udHJvbFxuICAgKi9cbiAgQElucHV0KCkgZm9ybUNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbDtcblxuICAvKipcbiAgICogRmllbGQgcGxhY2Vob2xkZXJcbiAgICovXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEZpZWxkIHBsYWNlaG9sZGVyXG4gICAqL1xuICBASW5wdXQoKSBlcnJvcnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIFdoZXRlciBhIGRpc2FibGUgc3dpdGNoIHNob3VsZCBiZSBhdmFpbGFibGVcbiAgICovXG4gIEBJbnB1dCgpIGRpc2FibGVTd2l0Y2g6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZmllbGQgaXMgcmVxdWlyZWRcbiAgICovXG4gIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZm9ybUNvbnRyb2xJc1JlcXVpcmVkKHRoaXMuZm9ybUNvbnRyb2wpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5kaXNhYmxlZCQubmV4dCh0aGlzLmZvcm1Db250cm9sLmRpc2FibGVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZXJyb3IgbWVzc2FnZVxuICAgKi9cbiAgZ2V0RXJyb3JNZXNzYWdlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGdldENvbnRyb2xFcnJvck1lc3NhZ2UodGhpcy5mb3JtQ29udHJvbCwgdGhpcy5lcnJvcnMpO1xuICB9XG5cbiAgb25EaXNhYmxlU3dpdGNoQ2xpY2soKSB7XG4gICAgdGhpcy50b2dnbGVEaXNhYmxlZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSB0b2dnbGVEaXNhYmxlZCgpIHtcbiAgICBjb25zdCBkaXNhYmxlZCA9ICF0aGlzLmRpc2FibGVkJC52YWx1ZTtcbiAgICBpZiAoZGlzYWJsZWQgPT09IHRydWUpIHtcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuZGlzYWJsZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm1Db250cm9sLmVuYWJsZSgpO1xuICAgIH1cbiAgICB0aGlzLmRpc2FibGVkJC5uZXh0KGRpc2FibGVkKTtcbiAgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkPlxuICA8bWF0LXNlbGVjdFxuICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICA+XG4gICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGNob2ljZSBvZiBjaG9pY2VzJCB8IGFzeW5jXCIgW3ZhbHVlXT1cImNob2ljZS52YWx1ZVwiPlxuICAgICAge3sgY2hvaWNlLnRpdGxlIH19XG4gICAgPC9tYXQtb3B0aW9uPlxuICA8L21hdC1zZWxlY3Q+XG4gIDxtYXQtaWNvblxuICAgICpuZ0lmPVwiZGlzYWJsZVN3aXRjaCA9PT0gdHJ1ZVwiXG4gICAgY2xhc3M9XCJpZ28tZm9ybS1kaXNhYmxlLXN3aXRjaFwiXG4gICAgW3N2Z0ljb25dPVwiXG4gICAgICAoZGlzYWJsZWQkIHwgYXN5bmMpID09PSB0cnVlXG4gICAgICAgID8gJ2NoZWNrYm94LWJsYW5rLW91dGxpbmUnXG4gICAgICAgIDogJ2NoZWNrYm94LW1hcmtlZC1vdXRsaW5lJ1xuICAgIFwiXG4gICAgKGNsaWNrKT1cIm9uRGlzYWJsZVN3aXRjaENsaWNrKClcIlxuICAgIG1hdFByZWZpeFxuICA+XG4gIDwvbWF0LWljb24+XG4gIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtQ29udHJvbC5lcnJvcnNcIj57e1xuICAgIGdldEVycm9yTWVzc2FnZSgpIHwgdHJhbnNsYXRlXG4gIH19PC9tYXQtZXJyb3I+XG48L21hdC1mb3JtLWZpZWxkPlxuIl19
|