keevo-components 1.5.191 → 1.5.192
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/keevo-components.mjs +5 -0
- package/esm2020/lib/api/base-components/base-component-button.mjs +36 -0
- package/esm2020/lib/api/base-components/base-component-chart.mjs +92 -0
- package/esm2020/lib/api/base-components/base-component-crud-form.mjs +270 -0
- package/esm2020/lib/api/base-components/base-component-crud-list.mjs +68 -0
- package/esm2020/lib/api/base-components/base-component-crud.mjs +65 -0
- package/esm2020/lib/api/base-components/base-component-dropdown-new.mjs +211 -0
- package/esm2020/lib/api/base-components/base-component-dropdown.mjs +161 -0
- package/esm2020/lib/api/base-components/base-component-input.mjs +94 -0
- package/esm2020/lib/api/base-components/base-component-multi-select.mjs +128 -0
- package/esm2020/lib/api/base-components/base-component.mjs +49 -0
- package/esm2020/lib/api/components/chart/chart.config.mjs +2 -0
- package/esm2020/lib/api/components/chart/chart.model.mjs +2 -0
- package/esm2020/lib/api/components/chart/orchart.config.mjs +2 -0
- package/esm2020/lib/api/components/chart/orchart.item.mjs +2 -0
- package/esm2020/lib/api/components/dropdown/filtro.combo.mjs +2 -0
- package/esm2020/lib/api/components/error/error.component.mjs +26 -0
- package/esm2020/lib/api/components/error/kverror.module.mjs +35 -0
- package/esm2020/lib/api/components/table/action-item.mjs +2 -0
- package/esm2020/lib/api/components/table/kv-menuitem.mjs +3 -0
- package/esm2020/lib/api/components/table/table.config.column.mjs +2 -0
- package/esm2020/lib/api/components/table/table.config.mjs +2 -0
- package/esm2020/lib/api/components/table/table.paginate.mjs +9 -0
- package/esm2020/lib/api/helpers/component-providers.mjs +16 -0
- package/esm2020/lib/api/helpers/keevo-validators.mjs +64 -0
- package/esm2020/lib/api/helpers/translate-primeng.mjs +23 -0
- package/esm2020/lib/api/models/menu/menu.model.mjs +2 -0
- package/esm2020/lib/api/models/menu/menucompleto.model.mjs +2 -0
- package/esm2020/lib/api/models/menu/sistemamenu.model.mjs +2 -0
- package/esm2020/lib/api/modules/primeng.module.mjs +247 -0
- package/esm2020/lib/api/services/base.api.service.mjs +74 -0
- package/esm2020/lib/api/services/component.service.mjs +27 -0
- package/esm2020/lib/api/services/form.service.mjs +84 -0
- package/esm2020/lib/api/services/imagens.service.mjs +22 -0
- package/esm2020/lib/api/services/notification.service.mjs +67 -0
- package/esm2020/lib/api/services/object.service.mjs +26 -0
- package/esm2020/lib/buttons/button-personalize/button-personalize.component.mjs +17 -0
- package/esm2020/lib/buttons/button-popup/button-popup.component.mjs +31 -0
- package/esm2020/lib/buttons/button-secondary/button-secondary.component.mjs +17 -0
- package/esm2020/lib/buttons/button-success/button-success.component.mjs +17 -0
- package/esm2020/lib/buttons/kvbutton.module.mjs +39 -0
- package/esm2020/lib/chart/chart.component.mjs +145 -0
- package/esm2020/lib/chart/kvchart.module.mjs +32 -0
- package/esm2020/lib/directives/template.directive.mjs +24 -0
- package/esm2020/lib/inputs/check/check.component.mjs +26 -0
- package/esm2020/lib/inputs/dropdown/dropdown.component.mjs +37 -0
- package/esm2020/lib/inputs/editor/editor.component.mjs +70 -0
- package/esm2020/lib/inputs/input-calendar/input-calendar.component.mjs +89 -0
- package/esm2020/lib/inputs/input-mask/input-mask.component.mjs +23 -0
- package/esm2020/lib/inputs/input-number/input-number.component.mjs +59 -0
- package/esm2020/lib/inputs/input-password/input-password.component.mjs +33 -0
- package/esm2020/lib/inputs/input-text/input-text.component.mjs +21 -0
- package/esm2020/lib/inputs/input-text-checkbox/input-text-checkbox.component.mjs +38 -0
- package/esm2020/lib/inputs/input-textarea/input-textarea.component.mjs +43 -0
- package/esm2020/lib/inputs/input-time/input-time.component.mjs +24 -0
- package/esm2020/lib/inputs/kvinputs.module.mjs +108 -0
- package/esm2020/lib/inputs/multi-select/multi-select.component.mjs +38 -0
- package/esm2020/lib/inputs/radio-group/radio-group.component.mjs +53 -0
- package/esm2020/lib/inputs/switch/switch.component.mjs +32 -0
- package/esm2020/lib/keevo-components.module.mjs +105 -0
- package/esm2020/lib/label/label.component.mjs +15 -0
- package/esm2020/lib/label/label.module.mjs +24 -0
- package/esm2020/lib/loader/kvloader.module.mjs +28 -0
- package/esm2020/lib/loader/loader.component.mjs +17 -0
- package/esm2020/lib/loader/loader.service.mjs +29 -0
- package/esm2020/lib/login/kvlogin.module.mjs +47 -0
- package/esm2020/lib/login/login.component.mjs +52 -0
- package/esm2020/lib/menu/kvmenu.module.mjs +43 -0
- package/esm2020/lib/menu/menu.component.mjs +237 -0
- package/esm2020/lib/orgchart/orgchart.component.mjs +100 -0
- package/esm2020/lib/orgchart/orgchart.module.mjs +24 -0
- package/esm2020/lib/page-form/kv-page-form.module.mjs +38 -0
- package/esm2020/lib/page-form/page-form.component.mjs +144 -0
- package/esm2020/lib/picklist/kvpicklist.module.mjs +32 -0
- package/esm2020/lib/picklist/picklist.component.mjs +48 -0
- package/esm2020/lib/pipes/codigofile.pipe.mjs +19 -0
- package/esm2020/lib/pipes/cpfcnpj.pipe.mjs +25 -0
- package/esm2020/lib/pipes/pipes.module.mjs +34 -0
- package/esm2020/lib/pipes/telefone.pipe.mjs +45 -0
- package/esm2020/lib/table/kvtable.module.mjs +32 -0
- package/esm2020/lib/table/table.component.mjs +499 -0
- package/esm2020/lib/tree-table/kv-treetable.component.mjs +371 -0
- package/esm2020/lib/tree-table/kv-treetable.module.mjs +32 -0
- package/esm2020/lib/tree-view/kvtree-view.module.mjs +28 -0
- package/esm2020/lib/tree-view/tree-view.component.mjs +29 -0
- package/esm2020/lib/workspace/kvworkspace.module.mjs +47 -0
- package/esm2020/lib/workspace/workspace.component.mjs +77 -0
- package/esm2020/public-api.mjs +138 -0
- package/fesm2015/keevo-components.mjs +4705 -0
- package/fesm2015/keevo-components.mjs.map +1 -0
- package/fesm2020/keevo-components.mjs +4696 -0
- package/fesm2020/keevo-components.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/api/base-components/base-component-button.d.ts +14 -0
- package/lib/api/base-components/base-component-chart.d.ts +40 -0
- package/lib/api/base-components/base-component-crud-form.d.ts +137 -0
- package/lib/api/base-components/base-component-crud-list.d.ts +63 -0
- package/lib/api/base-components/base-component-crud.d.ts +36 -0
- package/lib/api/base-components/base-component-dropdown-new.d.ts +14 -0
- package/lib/api/base-components/base-component-dropdown.d.ts +42 -0
- package/lib/api/base-components/base-component-input.d.ts +31 -0
- package/lib/api/base-components/base-component-multi-select.d.ts +35 -0
- package/lib/api/base-components/base-component.d.ts +21 -0
- package/lib/api/components/chart/chart.config.d.ts +11 -0
- package/lib/api/components/chart/chart.model.d.ts +9 -0
- package/lib/api/components/chart/orchart.config.d.ts +35 -0
- package/lib/api/components/chart/orchart.item.d.ts +26 -0
- package/lib/api/components/dropdown/filtro.combo.d.ts +4 -0
- package/lib/api/components/error/error.component.d.ts +12 -0
- package/lib/api/components/error/kverror.module.d.ts +10 -0
- package/lib/api/components/table/action-item.d.ts +5 -0
- package/lib/api/components/table/kv-menuitem.d.ts +9 -0
- package/lib/api/components/table/table.config.column.d.ts +21 -0
- package/lib/api/components/table/table.config.d.ts +17 -0
- package/lib/api/components/table/table.paginate.d.ts +6 -0
- package/lib/api/helpers/component-providers.d.ts +2 -0
- package/lib/api/helpers/keevo-validators.d.ts +10 -0
- package/lib/api/helpers/translate-primeng.d.ts +4 -0
- package/lib/api/models/menu/menu.model.d.ts +10 -0
- package/{src/lib/api/models/menu/menucompleto.model.ts → lib/api/models/menu/menucompleto.model.d.ts} +3 -4
- package/lib/api/models/menu/sistemamenu.model.d.ts +8 -0
- package/lib/api/modules/primeng.module.d.ts +60 -0
- package/lib/api/services/base.api.service.d.ts +25 -0
- package/lib/api/services/component.service.d.ts +11 -0
- package/lib/api/services/form.service.d.ts +27 -0
- package/lib/api/services/imagens.service.d.ts +8 -0
- package/lib/api/services/notification.service.d.ts +25 -0
- package/lib/api/services/object.service.d.ts +8 -0
- package/lib/buttons/button-personalize/button-personalize.component.d.ts +7 -0
- package/lib/buttons/button-popup/button-popup.component.d.ts +13 -0
- package/lib/buttons/button-secondary/button-secondary.component.d.ts +7 -0
- package/lib/buttons/button-success/button-success.component.d.ts +7 -0
- package/lib/buttons/kvbutton.module.d.ts +11 -0
- package/lib/chart/chart.component.d.ts +56 -0
- package/lib/chart/kvchart.module.d.ts +10 -0
- package/lib/directives/template.directive.d.ts +11 -0
- package/lib/inputs/check/check.component.d.ts +11 -0
- package/lib/inputs/dropdown/dropdown.component.d.ts +14 -0
- package/lib/inputs/editor/editor.component.d.ts +39 -0
- package/lib/inputs/input-calendar/input-calendar.component.d.ts +27 -0
- package/lib/inputs/input-mask/input-mask.component.d.ts +10 -0
- package/lib/inputs/input-number/input-number.component.d.ts +19 -0
- package/lib/inputs/input-password/input-password.component.d.ts +13 -0
- package/lib/inputs/input-text/input-text.component.d.ts +9 -0
- package/lib/inputs/input-text-checkbox/input-text-checkbox.component.d.ts +15 -0
- package/lib/inputs/input-textarea/input-textarea.component.d.ts +16 -0
- package/lib/inputs/input-time/input-time.component.d.ts +10 -0
- package/lib/inputs/kvinputs.module.d.ts +25 -0
- package/lib/inputs/multi-select/multi-select.component.d.ts +12 -0
- package/lib/inputs/radio-group/radio-group.component.d.ts +18 -0
- package/lib/inputs/switch/switch.component.d.ts +13 -0
- package/lib/keevo-components.module.d.ts +19 -0
- package/lib/label/label.component.d.ts +7 -0
- package/lib/label/label.module.d.ts +8 -0
- package/lib/loader/kvloader.module.d.ts +9 -0
- package/lib/loader/loader.component.d.ts +8 -0
- package/lib/loader/loader.service.d.ts +10 -0
- package/lib/login/kvlogin.module.d.ts +13 -0
- package/lib/login/login.component.d.ts +30 -0
- package/lib/menu/kvmenu.module.d.ts +12 -0
- package/lib/menu/menu.component.d.ts +74 -0
- package/lib/orgchart/orgchart.component.d.ts +27 -0
- package/lib/orgchart/orgchart.module.d.ts +9 -0
- package/lib/page-form/kv-page-form.module.d.ts +11 -0
- package/lib/page-form/page-form.component.d.ts +69 -0
- package/lib/picklist/kvpicklist.module.d.ts +10 -0
- package/lib/picklist/picklist.component.d.ts +20 -0
- package/lib/pipes/codigofile.pipe.d.ts +7 -0
- package/lib/pipes/cpfcnpj.pipe.d.ts +7 -0
- package/lib/pipes/pipes.module.d.ts +10 -0
- package/lib/pipes/telefone.pipe.d.ts +7 -0
- package/lib/table/kvtable.module.d.ts +10 -0
- package/lib/table/table.component.d.ts +104 -0
- package/lib/tree-table/kv-treetable.component.d.ts +84 -0
- package/lib/tree-table/kv-treetable.module.d.ts +11 -0
- package/lib/tree-view/kvtree-view.module.d.ts +9 -0
- package/lib/tree-view/tree-view.component.d.ts +14 -0
- package/lib/workspace/kvworkspace.module.d.ts +13 -0
- package/lib/workspace/workspace.component.d.ts +28 -0
- package/package.json +22 -3
- package/{src/public-api.ts → public-api.d.ts} +14 -36
- package/ng-package.json +0 -7
- package/src/assets/.gitkeep +0 -0
- package/src/assets/images/LogoEvo.png +0 -0
- package/src/assets/images/LogoPequenaEvo.png +0 -0
- package/src/assets/images/background.png +0 -0
- package/src/assets/images/keepass-logo.png +0 -0
- package/src/assets/images/keepass-logo.svg +0 -74
- package/src/assets/images/keevo-logo.png +0 -0
- package/src/assets/images/logokeevo_2.png +0 -0
- package/src/index.ts +0 -1
- package/src/lib/api/base-components/base-component-button.ts +0 -27
- package/src/lib/api/base-components/base-component-chart.ts +0 -105
- package/src/lib/api/base-components/base-component-crud-form.ts +0 -328
- package/src/lib/api/base-components/base-component-crud-list.ts +0 -111
- package/src/lib/api/base-components/base-component-crud.ts +0 -70
- package/src/lib/api/base-components/base-component-dropdown-new.ts +0 -112
- package/src/lib/api/base-components/base-component-dropdown.ts +0 -164
- package/src/lib/api/base-components/base-component-input.ts +0 -107
- package/src/lib/api/base-components/base-component-multi-select.ts +0 -136
- package/src/lib/api/base-components/base-component.ts +0 -46
- package/src/lib/api/components/chart/chart.config.ts +0 -12
- package/src/lib/api/components/chart/chart.model.ts +0 -9
- package/src/lib/api/components/chart/orchart.config.ts +0 -41
- package/src/lib/api/components/chart/orchart.item.ts +0 -33
- package/src/lib/api/components/dropdown/filtro.combo.ts +0 -4
- package/src/lib/api/components/error/error.component.html +0 -3
- package/src/lib/api/components/error/error.component.scss +0 -5
- package/src/lib/api/components/error/error.component.ts +0 -22
- package/src/lib/api/components/error/kverror.module.ts +0 -23
- package/src/lib/api/components/table/action-item.ts +0 -5
- package/src/lib/api/components/table/kv-menuitem.ts +0 -10
- package/src/lib/api/components/table/table.config.column.ts +0 -21
- package/src/lib/api/components/table/table.config.ts +0 -20
- package/src/lib/api/components/table/table.paginate.ts +0 -6
- package/src/lib/api/helpers/component-providers.ts +0 -16
- package/src/lib/api/helpers/keevo-validators.ts +0 -77
- package/src/lib/api/helpers/translate-primeng.ts +0 -25
- package/src/lib/api/models/menu/menu.model.ts +0 -10
- package/src/lib/api/models/menu/sistemamenu.model.ts +0 -8
- package/src/lib/api/modules/primeng.module.ts +0 -125
- package/src/lib/api/services/base.api.service.ts +0 -115
- package/src/lib/api/services/component.service.ts +0 -22
- package/src/lib/api/services/form.service.ts +0 -105
- package/src/lib/api/services/imagens.service.ts +0 -20
- package/src/lib/api/services/notification.service.ts +0 -82
- package/src/lib/api/services/object.service.ts +0 -20
- package/src/lib/buttons/button-personalize/button-personalize.component.html +0 -11
- package/src/lib/buttons/button-personalize/button-personalize.component.scss +0 -3
- package/src/lib/buttons/button-personalize/button-personalize.component.ts +0 -13
- package/src/lib/buttons/button-popup/button-popup.component.html +0 -12
- package/src/lib/buttons/button-popup/button-popup.component.scss +0 -13
- package/src/lib/buttons/button-popup/button-popup.component.ts +0 -30
- package/src/lib/buttons/button-secondary/button-secondary.component.html +0 -12
- package/src/lib/buttons/button-secondary/button-secondary.component.scss +0 -14
- package/src/lib/buttons/button-secondary/button-secondary.component.ts +0 -13
- package/src/lib/buttons/button-success/button-success.component.html +0 -11
- package/src/lib/buttons/button-success/button-success.component.scss +0 -13
- package/src/lib/buttons/button-success/button-success.component.ts +0 -13
- package/src/lib/buttons/kvbutton.module.ts +0 -25
- package/src/lib/chart/chart.component.html +0 -38
- package/src/lib/chart/chart.component.scss +0 -0
- package/src/lib/chart/chart.component.spec.ts +0 -28
- package/src/lib/chart/chart.component.ts +0 -141
- package/src/lib/chart/kvchart.module.ts +0 -20
- package/src/lib/directives/template.directive.ts +0 -15
- package/src/lib/inputs/check/check.component.html +0 -11
- package/src/lib/inputs/check/check.component.scss +0 -13
- package/src/lib/inputs/check/check.component.ts +0 -24
- package/src/lib/inputs/dropdown/dropdown.component.html +0 -91
- package/src/lib/inputs/dropdown/dropdown.component.scss +0 -0
- package/src/lib/inputs/dropdown/dropdown.component.ts +0 -28
- package/src/lib/inputs/editor/editor.component.html +0 -90
- package/src/lib/inputs/editor/editor.component.scss +0 -4
- package/src/lib/inputs/editor/editor.component.ts +0 -80
- package/src/lib/inputs/input-calendar/input-calendar.component.html +0 -30
- package/src/lib/inputs/input-calendar/input-calendar.component.scss +0 -0
- package/src/lib/inputs/input-calendar/input-calendar.component.ts +0 -81
- package/src/lib/inputs/input-mask/input-mask.component.html +0 -20
- package/src/lib/inputs/input-mask/input-mask.component.scss +0 -0
- package/src/lib/inputs/input-mask/input-mask.component.ts +0 -20
- package/src/lib/inputs/input-number/input-number.component.html +0 -22
- package/src/lib/inputs/input-number/input-number.component.scss +0 -0
- package/src/lib/inputs/input-number/input-number.component.ts +0 -52
- package/src/lib/inputs/input-password/input-password.component.html +0 -23
- package/src/lib/inputs/input-password/input-password.component.scss +0 -0
- package/src/lib/inputs/input-password/input-password.component.ts +0 -23
- package/src/lib/inputs/input-text/input-text.component.html +0 -20
- package/src/lib/inputs/input-text/input-text.component.scss +0 -18
- package/src/lib/inputs/input-text/input-text.component.ts +0 -17
- package/src/lib/inputs/input-text-checkbox/input-text-checkbox.component.html +0 -32
- package/src/lib/inputs/input-text-checkbox/input-text-checkbox.component.scss +0 -0
- package/src/lib/inputs/input-text-checkbox/input-text-checkbox.component.spec.ts +0 -23
- package/src/lib/inputs/input-text-checkbox/input-text-checkbox.component.ts +0 -36
- package/src/lib/inputs/input-textarea/input-textarea.component.html +0 -22
- package/src/lib/inputs/input-textarea/input-textarea.component.scss +0 -0
- package/src/lib/inputs/input-textarea/input-textarea.component.ts +0 -33
- package/src/lib/inputs/input-time/input-time.component.html +0 -23
- package/src/lib/inputs/input-time/input-time.component.scss +0 -0
- package/src/lib/inputs/input-time/input-time.component.ts +0 -20
- package/src/lib/inputs/kvinputs.module.ts +0 -64
- package/src/lib/inputs/multi-select/multi-select.component.html +0 -28
- package/src/lib/inputs/multi-select/multi-select.component.scss +0 -8
- package/src/lib/inputs/multi-select/multi-select.component.ts +0 -31
- package/src/lib/inputs/radio-group/radio-group.component.html +0 -19
- package/src/lib/inputs/radio-group/radio-group.component.scss +0 -15
- package/src/lib/inputs/radio-group/radio-group.component.ts +0 -50
- package/src/lib/inputs/switch/switch.component.html +0 -12
- package/src/lib/inputs/switch/switch.component.scss +0 -3
- package/src/lib/inputs/switch/switch.component.ts +0 -30
- package/src/lib/keevo-components.module.ts +0 -50
- package/src/lib/label/label.component.html +0 -6
- package/src/lib/label/label.component.scss +0 -9
- package/src/lib/label/label.component.spec.ts +0 -23
- package/src/lib/label/label.component.ts +0 -13
- package/src/lib/label/label.module.ts +0 -18
- package/src/lib/loader/kvloader.module.ts +0 -17
- package/src/lib/loader/loader.component.html +0 -1
- package/src/lib/loader/loader.component.ts +0 -14
- package/src/lib/loader/loader.service.ts +0 -26
- package/src/lib/login/kvlogin.module.ts +0 -28
- package/src/lib/login/login.component.html +0 -108
- package/src/lib/login/login.component.scss +0 -48
- package/src/lib/login/login.component.spec.ts +0 -23
- package/src/lib/login/login.component.ts +0 -65
- package/src/lib/menu/kvmenu.module.ts +0 -27
- package/src/lib/menu/menu.component.html +0 -342
- package/src/lib/menu/menu.component.scss +0 -210
- package/src/lib/menu/menu.component.spec.ts +0 -23
- package/src/lib/menu/menu.component.ts +0 -246
- package/src/lib/orgchart/orgchart.component.html +0 -58
- package/src/lib/orgchart/orgchart.component.scss +0 -21
- package/src/lib/orgchart/orgchart.component.ts +0 -118
- package/src/lib/orgchart/orgchart.module.ts +0 -14
- package/src/lib/page-form/kv-page-form.module.ts +0 -22
- package/src/lib/page-form/page-form.component.html +0 -57
- package/src/lib/page-form/page-form.component.scss +0 -72
- package/src/lib/page-form/page-form.component.spec.ts +0 -28
- package/src/lib/page-form/page-form.component.ts +0 -121
- package/src/lib/picklist/kvpicklist.module.ts +0 -20
- package/src/lib/picklist/picklist.component.html +0 -17
- package/src/lib/picklist/picklist.component.scss +0 -0
- package/src/lib/picklist/picklist.component.spec.ts +0 -26
- package/src/lib/picklist/picklist.component.ts +0 -27
- package/src/lib/pipes/codigofile.pipe.ts +0 -15
- package/src/lib/pipes/cpfcnpj.pipe.ts +0 -21
- package/src/lib/pipes/pipes.module.ts +0 -22
- package/src/lib/pipes/telefone.pipe.ts +0 -38
- package/src/lib/styles-components.scss +0 -11
- package/src/lib/table/kvtable.module.ts +0 -22
- package/src/lib/table/table.component.html +0 -473
- package/src/lib/table/table.component.scss +0 -240
- package/src/lib/table/table.component.spec.ts +0 -28
- package/src/lib/table/table.component.ts +0 -546
- package/src/lib/tree-table/kv-treetable.component.html +0 -649
- package/src/lib/tree-table/kv-treetable.component.scss +0 -315
- package/src/lib/tree-table/kv-treetable.component.ts +0 -390
- package/src/lib/tree-table/kv-treetable.module.ts +0 -18
- package/src/lib/tree-view/kvtree-view.module.ts +0 -19
- package/src/lib/tree-view/tree-view.component.html +0 -9
- package/src/lib/tree-view/tree-view.component.scss +0 -0
- package/src/lib/tree-view/tree-view.component.spec.ts +0 -23
- package/src/lib/tree-view/tree-view.component.ts +0 -29
- package/src/lib/workspace/kvworkspace.module.ts +0 -29
- package/src/lib/workspace/workspace.component.html +0 -108
- package/src/lib/workspace/workspace.component.scss +0 -83
- package/src/lib/workspace/workspace.component.ts +0 -75
- package/tsconfig.lib.json +0 -14
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -14
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2Vldm8tY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2tlZXZvLWNvbXBvbmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class BaseComponentButton {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.icon = '';
|
|
6
|
+
this.label = '';
|
|
7
|
+
this.loading = false;
|
|
8
|
+
this.disabled = false;
|
|
9
|
+
this.color = 'bg-blue-100';
|
|
10
|
+
this.onClick = new EventEmitter();
|
|
11
|
+
}
|
|
12
|
+
click(event) {
|
|
13
|
+
this.onClick.emit();
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
BaseComponentButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseComponentButton, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
17
|
+
BaseComponentButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: BaseComponentButton, selector: "ng-component", inputs: { icon: "icon", label: "label", loading: "loading", disabled: "disabled", color: "color" }, outputs: { onClick: "onClick" }, ngImport: i0, template: '', isInline: true });
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseComponentButton, decorators: [{
|
|
19
|
+
type: Component,
|
|
20
|
+
args: [{
|
|
21
|
+
template: '',
|
|
22
|
+
}]
|
|
23
|
+
}], ctorParameters: function () { return []; }, propDecorators: { icon: [{
|
|
24
|
+
type: Input
|
|
25
|
+
}], label: [{
|
|
26
|
+
type: Input
|
|
27
|
+
}], loading: [{
|
|
28
|
+
type: Input
|
|
29
|
+
}], disabled: [{
|
|
30
|
+
type: Input
|
|
31
|
+
}], color: [{
|
|
32
|
+
type: Input
|
|
33
|
+
}], onClick: [{
|
|
34
|
+
type: Output
|
|
35
|
+
}] } });
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQtYnV0dG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2FwaS9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQtYnV0dG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7O0FBS3ZCLE1BQU0sT0FBTyxtQkFBbUI7SUFXOUI7UUFUUyxTQUFJLEdBQVcsRUFBRSxDQUFDO1FBQ2xCLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUN6QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLFVBQUssR0FBVyxhQUFhLENBQUM7UUFHN0IsWUFBTyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTFDLENBQUM7SUFFakIsS0FBSyxDQUFDLEtBQVU7UUFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7O2dIQWZVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLHlMQUZwQixFQUFFOzJGQUVELG1CQUFtQjtrQkFIL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYjswRUFHVSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFHSSxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogJycsXG59KVxuZXhwb3J0IGNsYXNzIEJhc2VDb21wb25lbnRCdXR0b24ge1xuXG4gIEBJbnB1dCgpIGljb246IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgY29sb3I6IHN0cmluZyA9ICdiZy1ibHVlLTEwMCc7XG5cblxuICBAT3V0cHV0KCkgb25DbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBjbGljayhldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNsaWNrLmVtaXQoKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { Component, EventEmitter, Output, ViewChild } from "@angular/core";
|
|
2
|
+
import { ChartComponent, PeriodosChart } from "../../chart/chart.component";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class BaseChartComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.selectedData = 0;
|
|
7
|
+
this.enablePeriodos = [];
|
|
8
|
+
this.periodos = PeriodosChart;
|
|
9
|
+
this.onPrintReport = new EventEmitter();
|
|
10
|
+
}
|
|
11
|
+
changeData(event) {
|
|
12
|
+
if (event) {
|
|
13
|
+
this.selectedData = event?.value;
|
|
14
|
+
this.loadData();
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
ngOnInit() {
|
|
18
|
+
this.loadData();
|
|
19
|
+
}
|
|
20
|
+
loadGraphic(obs) {
|
|
21
|
+
obs
|
|
22
|
+
.subscribe({
|
|
23
|
+
next: (data) => {
|
|
24
|
+
this.chartConfig = this.assembleGraphic(data);
|
|
25
|
+
this.chartComponent?.reInit(this.chartConfig);
|
|
26
|
+
},
|
|
27
|
+
error: (error) => { },
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
assembleGraphic(data) {
|
|
31
|
+
let labels = [];
|
|
32
|
+
let datasets = [];
|
|
33
|
+
// Tratando legendas
|
|
34
|
+
data.map((element) => {
|
|
35
|
+
if (element.labels && !labels.includes(element.labels)) {
|
|
36
|
+
labels.push(element.labels);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
//Descobrindo quantas dimensões tem o gráfico
|
|
40
|
+
let numDatasets = Math.max(...data.map(o => o.numDatasets));
|
|
41
|
+
//Populando datasets
|
|
42
|
+
for (let i = 0; i <= numDatasets; i++) {
|
|
43
|
+
let backgroundColor = [];
|
|
44
|
+
let hoverBackgroundColor = [];
|
|
45
|
+
let borderColor = [];
|
|
46
|
+
let values = [];
|
|
47
|
+
let labelDataset = '';
|
|
48
|
+
data.filter((obj) => {
|
|
49
|
+
return obj.numDatasets === i;
|
|
50
|
+
}).map((obj) => {
|
|
51
|
+
if (obj.backgroundColor && !backgroundColor.includes(obj.backgroundColor)) {
|
|
52
|
+
backgroundColor.push(obj.backgroundColor);
|
|
53
|
+
}
|
|
54
|
+
if (obj.borderColor && !borderColor.includes(obj.borderColor)) {
|
|
55
|
+
borderColor.push(obj.borderColor);
|
|
56
|
+
}
|
|
57
|
+
if (obj.hoverBackgroundColor && !hoverBackgroundColor.includes(obj.hoverBackgroundColor)) {
|
|
58
|
+
hoverBackgroundColor.push(obj.hoverBackgroundColor);
|
|
59
|
+
}
|
|
60
|
+
if (obj.labelDataset)
|
|
61
|
+
labelDataset = obj.labelDataset;
|
|
62
|
+
values.push(obj.datasets);
|
|
63
|
+
});
|
|
64
|
+
datasets.push({
|
|
65
|
+
label: labelDataset,
|
|
66
|
+
backgroundColor: backgroundColor,
|
|
67
|
+
hoverBackgroundColor: hoverBackgroundColor,
|
|
68
|
+
borderColor: borderColor?.length === 0 ? undefined : borderColor,
|
|
69
|
+
data: values
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
let dados = {
|
|
73
|
+
labels: labels,
|
|
74
|
+
datasets: datasets
|
|
75
|
+
};
|
|
76
|
+
return dados;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
BaseChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
80
|
+
BaseChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: BaseChartComponent, selector: "ng-component", outputs: { onPrintReport: "onPrintReport" }, viewQueries: [{ propertyName: "chartComponent", first: true, predicate: ChartComponent, descendants: true }], ngImport: i0, template: '', isInline: true });
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseChartComponent, decorators: [{
|
|
82
|
+
type: Component,
|
|
83
|
+
args: [{
|
|
84
|
+
template: ''
|
|
85
|
+
}]
|
|
86
|
+
}], ctorParameters: function () { return []; }, propDecorators: { chartComponent: [{
|
|
87
|
+
type: ViewChild,
|
|
88
|
+
args: [ChartComponent]
|
|
89
|
+
}], onPrintReport: [{
|
|
90
|
+
type: Output
|
|
91
|
+
}] } });
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQtY2hhcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvYXBpL2Jhc2UtY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudC1jaGFydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS25GLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBSzVFLE1BQU0sT0FBZ0Isa0JBQWtCO0lBV3RDO1FBUkEsaUJBQVksR0FBVyxDQUFDLENBQUM7UUFDekIsbUJBQWMsR0FBYSxFQUFFLENBQUM7UUFDOUIsYUFBUSxHQUFHLGFBQWEsQ0FBQztRQUlmLGtCQUFhLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFaEQsQ0FBQztJQUVQLFVBQVUsQ0FBQyxLQUFVO1FBQzdCLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLEVBQUUsS0FBSyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNqQjtJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQ2pCLENBQUM7SUFJUyxXQUFXLENBQUMsR0FBb0I7UUFDeEMsR0FBRzthQUNBLFNBQVMsQ0FBQztZQUNULElBQUksRUFBRSxDQUFDLElBQVMsRUFBRSxFQUFFO2dCQUNsQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBb0IsQ0FBQyxDQUFDO2dCQUM5RCxJQUFJLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDaEQsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEtB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QUVRLGtCQUFrQjtrQkFIdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYjswRUFRNEIsY0FBYztzQkFBeEMsU0FBUzt1QkFBQyxjQUFjO2dCQUVmLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcblxuaW1wb3J0IHsgY2hhcnRNb2RlbCB9IGZyb20gXCIuLi9jb21wb25lbnRzL2NoYXJ0L2NoYXJ0Lm1vZGVsXCI7XG5pbXBvcnQgeyBDaGFydENvbmZpZywgQ2hhcnREYXRhc2V0Q29uZmlnIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvY2hhcnQvY2hhcnQuY29uZmlnXCI7XG5pbXBvcnQgeyBDaGFydENvbXBvbmVudCwgUGVyaW9kb3NDaGFydCB9IGZyb20gXCIuLi8uLi9jaGFydC9jaGFydC5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlQ2hhcnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGNoYXJ0Q29uZmlnITogQ2hhcnRDb25maWc7XG4gIHNlbGVjdGVkRGF0YTogbnVtYmVyID0gMDtcbiAgZW5hYmxlUGVyaW9kb3M6IG51bWJlcltdID0gW107XG4gIHBlcmlvZG9zID0gUGVyaW9kb3NDaGFydDtcblxuICBAVmlld0NoaWxkKENoYXJ0Q29tcG9uZW50KSBjaGFydENvbXBvbmVudD86IENoYXJ0Q29tcG9uZW50O1xuXG4gIEBPdXRwdXQoKSBvblByaW50UmVwb3J0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIHByb3RlY3RlZCBjaGFuZ2VEYXRhKGV2ZW50OiBhbnkpIHtcbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRhID0gZXZlbnQ/LnZhbHVlO1xuICAgICAgdGhpcy5sb2FkRGF0YSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubG9hZERhdGEoKVxuICB9XG5cbiAgYWJzdHJhY3QgbG9hZERhdGEoKTogdm9pZDtcblxuICBwcm90ZWN0ZWQgbG9hZEdyYXBoaWMob2JzOiBPYnNlcnZhYmxlPGFueT4pIHtcbiAgICBvYnNcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAoZGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5jaGFydENvbmZpZyA9IHRoaXMuYXNzZW1ibGVHcmFwaGljKGRhdGEgYXMgY2hhcnRNb2RlbFtdKTtcbiAgICAgICAgICB0aGlzLmNoYXJ0Q29tcG9uZW50Py5yZUluaXQodGhpcy5jaGFydENvbmZpZyk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiAoZXJyb3I6IGFueSkgPT4geyB9LFxuICAgICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXNzZW1ibGVHcmFwaGljKGRhdGE6IGNoYXJ0TW9kZWxbXSkge1xuICAgIGxldCBsYWJlbHM6IHN0cmluZ1tdID0gW107XG4gICAgbGV0IGRhdGFzZXRzOiBDaGFydERhdGFzZXRDb25maWdbXSA9IFtdO1xuXG4gICAgLy8gVHJhdGFuZG8gbGVnZW5kYXNcbiAgICBkYXRhLm1hcCgoZWxlbWVudDogYW55KSA9PiB7XG4gICAgICBpZiAoZWxlbWVudC5sYWJlbHMgJiYgIWxhYmVscy5pbmNsdWRlcyhlbGVtZW50LmxhYmVscykpIHtcbiAgICAgICAgbGFiZWxzLnB1c2goZWxlbWVudC5sYWJlbHMpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy9EZXNjb2JyaW5kbyBxdWFudGFzIGRpbWVuc8O1ZXMgdGVtIG8gZ3LDoWZpY29cbiAgICBsZXQgbnVtRGF0YXNldHMgPSBNYXRoLm1heCguLi5kYXRhLm1hcChvID0+IG8ubnVtRGF0YXNldHMpKTtcblxuICAgIC8vUG9wdWxhbmRvIGRhdGFzZXRzXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPD0gbnVtRGF0YXNldHM7IGkrKykge1xuICAgICAgbGV0IGJhY2tncm91bmRDb2xvcjogc3RyaW5nW10gPSBbXTtcbiAgICAgIGxldCBob3ZlckJhY2tncm91bmRDb2xvcjogc3RyaW5nW10gPSBbXTtcbiAgICAgIGxldCBib3JkZXJDb2xvcjogc3RyaW5nW10gPSBbXTtcbiAgICAgIGxldCB2YWx1ZXM6IG51bWJlcltdID0gW107XG4gICAgICBsZXQgbGFiZWxEYXRhc2V0OiBzdHJpbmcgPSAnJztcblxuICAgICAgZGF0YS5maWx0ZXIoKG9iaikgPT4ge1xuICAgICAgICByZXR1cm4gb2JqLm51bURhdGFzZXRzID09PSBpO1xuICAgICAgfSkubWFwKChvYmopID0+IHtcbiAgICAgICAgaWYgKG9iai5iYWNrZ3JvdW5kQ29sb3IgJiYgIWJhY2tncm91bmRDb2xvci5pbmNsdWRlcyhvYmouYmFja2dyb3VuZENvbG9yKSkge1xuICAgICAgICAgIGJhY2tncm91bmRDb2xvci5wdXNoKG9iai5iYWNrZ3JvdW5kQ29sb3IpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvYmouYm9yZGVyQ29sb3IgJiYgIWJvcmRlckNvbG9yLmluY2x1ZGVzKG9iai5ib3JkZXJDb2xvcikpIHtcbiAgICAgICAgICBib3JkZXJDb2xvci5wdXNoKG9iai5ib3JkZXJDb2xvcik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9iai5ob3ZlckJhY2tncm91bmRDb2xvciAmJiAhaG92ZXJCYWNrZ3JvdW5kQ29sb3IuaW5jbHVkZXMob2JqLmhvdmVyQmFja2dyb3VuZENvbG9yKSkge1xuICAgICAgICAgIGhvdmVyQmFja2dyb3VuZENvbG9yLnB1c2gob2JqLmhvdmVyQmFja2dyb3VuZENvbG9yKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob2JqLmxhYmVsRGF0YXNldCkgbGFiZWxEYXRhc2V0ID0gb2JqLmxhYmVsRGF0YXNldDtcblxuICAgICAgICB2YWx1ZXMucHVzaChvYmouZGF0YXNldHMpO1xuICAgICAgfSk7XG5cbiAgICAgIGRhdGFzZXRzLnB1c2goXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogbGFiZWxEYXRhc2V0LFxuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogYmFja2dyb3VuZENvbG9yLFxuICAgICAgICAgIGhvdmVyQmFja2dyb3VuZENvbG9yOiBob3ZlckJhY2tncm91bmRDb2xvcixcbiAgICAgICAgICBib3JkZXJDb2xvcjogYm9yZGVyQ29sb3I/Lmxlbmd0aCA9PT0gMCA/IHVuZGVmaW5lZCA6IGJvcmRlckNvbG9yLFxuICAgICAgICAgIGRhdGE6IHZhbHVlc1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cblxuICAgIGxldCBkYWRvczogQ2hhcnRDb25maWcgPSB7XG4gICAgICBsYWJlbHM6IGxhYmVscyxcbiAgICAgIGRhdGFzZXRzOiBkYXRhc2V0c1xuICAgIH07XG5cbiAgICByZXR1cm4gZGFkb3M7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
import { Component } from "@angular/core";
|
|
2
|
+
import { FormGroup } from "@angular/forms";
|
|
3
|
+
import { combineLatest, filter, finalize } from "rxjs";
|
|
4
|
+
import { BaseComponentCrud } from "./base-component-crud";
|
|
5
|
+
import { FormService } from "../services/form.service";
|
|
6
|
+
import { loading } from "../../loader/loader.service";
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "primeng/dynamicdialog";
|
|
9
|
+
import * as i2 from "../services/notification.service";
|
|
10
|
+
import * as i3 from "@angular/router";
|
|
11
|
+
export class BaseComponentCrudForm extends BaseComponentCrud {
|
|
12
|
+
constructor(dialogService, notificationService, activatedRoute, dynamicDialogRef, dynamicDialogConfig, router) {
|
|
13
|
+
super(dialogService, notificationService);
|
|
14
|
+
this.activatedRoute = activatedRoute;
|
|
15
|
+
this.dynamicDialogRef = dynamicDialogRef;
|
|
16
|
+
this.dynamicDialogConfig = dynamicDialogConfig;
|
|
17
|
+
this.router = router;
|
|
18
|
+
this.isAccordionExpanded = false;
|
|
19
|
+
this.isNewRegistry = false;
|
|
20
|
+
this.isSaveLoading = false;
|
|
21
|
+
this.isView = false;
|
|
22
|
+
this.formGroup = new FormGroup({});
|
|
23
|
+
this.actions = [];
|
|
24
|
+
this.popup = false;
|
|
25
|
+
this.registry = null;
|
|
26
|
+
this.onSetFormValues = false;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Método disparado para tratamento das notificações do backend
|
|
30
|
+
* @param err - Notificação
|
|
31
|
+
*/
|
|
32
|
+
backendError(err) {
|
|
33
|
+
if (err) {
|
|
34
|
+
if (err.status == 404) {
|
|
35
|
+
this.notificationService.toastError(err.error.item2[0].message);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
else if (err.status == 400) {
|
|
39
|
+
// Erros de validação de domínio do backend
|
|
40
|
+
if (Array.isArray(err.error)) {
|
|
41
|
+
if (err.error?.length) {
|
|
42
|
+
if (err.error.length == 1 && err.error[0].key == '') {
|
|
43
|
+
this.notificationService.toastError(err.error[0].message);
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
this.invalidForm(err.error);
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
else if (err.error?.title) {
|
|
51
|
+
// Erro de json no backend
|
|
52
|
+
this.notificationService.toastError(err.error.title);
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
else if (err.status == 415) {
|
|
57
|
+
if (err.error?.title) {
|
|
58
|
+
// Erro de json no backend
|
|
59
|
+
this.notificationService.toastError(err.error.title);
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
// Qualquer outro tipo de erro que tenha mensagem
|
|
64
|
+
if (err.message) {
|
|
65
|
+
this.notificationService.toastError(err.message);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Método disparado ao clicar no botão de cancelamento
|
|
71
|
+
*/
|
|
72
|
+
cancel() {
|
|
73
|
+
this.notificationService.question({
|
|
74
|
+
type: 'question',
|
|
75
|
+
message: 'Deseja cancelar a operação?',
|
|
76
|
+
accept: () => {
|
|
77
|
+
this.navigateList();
|
|
78
|
+
},
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Verifica se houveram alterações nos componentes do formControl
|
|
83
|
+
* @param controls - Nomes do controles no formGroup
|
|
84
|
+
* @returns Observable
|
|
85
|
+
*/
|
|
86
|
+
detectFormControlChanges(controls) {
|
|
87
|
+
const controlList = [];
|
|
88
|
+
controls.forEach(controlName => controlList.push(this.formGroup.controls[controlName].valueChanges));
|
|
89
|
+
return combineLatest(controlList).pipe(filter(() => !this.onSetFormValues));
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Método responsável por desabilitar um componente
|
|
93
|
+
* @param controlName - Nome do controle no formGroup
|
|
94
|
+
*/
|
|
95
|
+
disableComponent(controlName) {
|
|
96
|
+
FormService.disableControl(this.formGroup, controlName);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Método responsável por limpar e desabilitar um componente
|
|
100
|
+
* @param controlName - Nome do controle no formGroup
|
|
101
|
+
* @param value - Valor default
|
|
102
|
+
*/
|
|
103
|
+
disableAndClearComponent(controlName, value) {
|
|
104
|
+
FormService.disableAndClearControl(this.formGroup, controlName, value);
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Método responsável por habilitar um componente
|
|
108
|
+
* @param controlName - Nome do controle no formGroup
|
|
109
|
+
*/
|
|
110
|
+
enableComponent(controName) {
|
|
111
|
+
FormService.enableControl(this.formGroup, controName);
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Método que retorna o valor de um componente
|
|
115
|
+
* @param controlName - Nome do controle no formGroup
|
|
116
|
+
* @returns - Valor
|
|
117
|
+
*/
|
|
118
|
+
getFormValue(controlName) {
|
|
119
|
+
return FormService.getFormValue(this.formGroup, controlName);
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Verifica se o componente possui erro
|
|
123
|
+
* @param controlName - Nome do controle no formGroup
|
|
124
|
+
*/
|
|
125
|
+
hasControlError(controlName, errorCode) {
|
|
126
|
+
return FormService.hasControlError(this.formGroup, controlName, errorCode);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Seta inconsistências para o fomulário
|
|
130
|
+
* @param notification - Lista de notificações
|
|
131
|
+
*/
|
|
132
|
+
invalidForm(notification) {
|
|
133
|
+
FormService.invalidForm(this.formGroup, notification);
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Método responsável pelo carregamento da tela
|
|
137
|
+
* @param obs - Observable responsável pelo salvamento dos dados
|
|
138
|
+
*/
|
|
139
|
+
loadData(obs) {
|
|
140
|
+
obs
|
|
141
|
+
.pipe(loading())
|
|
142
|
+
.subscribe((data) => {
|
|
143
|
+
this.isNewRegistry = false;
|
|
144
|
+
this.registry = data;
|
|
145
|
+
this.setFormValues(this.registry);
|
|
146
|
+
this.loadGrids();
|
|
147
|
+
this.setTitlePopup();
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
loadGrids() { }
|
|
151
|
+
/**
|
|
152
|
+
* Método disparado para retornar a lista
|
|
153
|
+
*/
|
|
154
|
+
navigateList(id = null) {
|
|
155
|
+
if (this.popup) {
|
|
156
|
+
this.dynamicDialogRef.close(id);
|
|
157
|
+
}
|
|
158
|
+
else if (this.dadosTela?.rotaListar) {
|
|
159
|
+
this.router.navigate([this.dadosTela.rotaListar]);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
ngOnDestroy() {
|
|
163
|
+
if (this.dynamicDialogRef) {
|
|
164
|
+
this.dynamicDialogRef.close();
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
ngOnInit() {
|
|
168
|
+
this.configureForm();
|
|
169
|
+
this.popup = this.dynamicDialogConfig?.data?.popup || false;
|
|
170
|
+
this.activatedRoute.params.subscribe((params) => {
|
|
171
|
+
if (params['id']) {
|
|
172
|
+
this.loadForm(params['id']);
|
|
173
|
+
}
|
|
174
|
+
else if (this.dynamicDialogConfig?.data?.id) {
|
|
175
|
+
this.loadForm(this.dynamicDialogConfig.data.id);
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
this.isNewRegistry = true;
|
|
179
|
+
this.loadGrids();
|
|
180
|
+
this.setTitlePopup();
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Método disparado para salvar dados
|
|
186
|
+
* @param obs - Observable responsável pelo salvamento dos dados
|
|
187
|
+
*/
|
|
188
|
+
saveData(obs) {
|
|
189
|
+
obs
|
|
190
|
+
.pipe((src) => {
|
|
191
|
+
this.isSaveLoading = true;
|
|
192
|
+
return src.pipe(finalize(() => {
|
|
193
|
+
this.isSaveLoading = false;
|
|
194
|
+
}));
|
|
195
|
+
})
|
|
196
|
+
.subscribe({
|
|
197
|
+
next: (res) => {
|
|
198
|
+
this.notificationService.toastSuccess(res.item2[0].message);
|
|
199
|
+
this.navigateList(res.item1);
|
|
200
|
+
},
|
|
201
|
+
error: (e) => {
|
|
202
|
+
this.backendError(e);
|
|
203
|
+
},
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Método se atualiza o valor de um componente do formGroup
|
|
208
|
+
* @param controName - Nome do controle
|
|
209
|
+
* @param value - Valor para atualização
|
|
210
|
+
*/
|
|
211
|
+
setControlValue(controName, value) {
|
|
212
|
+
FormService.setControlValue(this.formGroup, controName, value);
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Atualiza valores dos componentes do formGroup
|
|
216
|
+
* @param values - Valores para atualização
|
|
217
|
+
*/
|
|
218
|
+
setFormValues(values) {
|
|
219
|
+
this.onSetFormValues = true;
|
|
220
|
+
this.formGroup.patchValue(values, { emitEvent: false });
|
|
221
|
+
this.onSetFormValues = false;
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Seta o título do popup
|
|
225
|
+
*/
|
|
226
|
+
setTitlePopup() {
|
|
227
|
+
if (this.popup) {
|
|
228
|
+
if (this.dynamicDialogConfig)
|
|
229
|
+
this.dynamicDialogConfig.header = this.dadosTela?.tituloForm;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Atualiza o validador de um componente do formGroup
|
|
234
|
+
* @param controName - Nome do controle
|
|
235
|
+
* @param validators - Regra de validação
|
|
236
|
+
*/
|
|
237
|
+
setValidators(controName, validators) {
|
|
238
|
+
FormService.setValidators(this.formGroup, controName, validators);
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Dispara os métodos de validações do formulário
|
|
242
|
+
* @returns - True/False
|
|
243
|
+
*/
|
|
244
|
+
validateForm() {
|
|
245
|
+
let valid = false;
|
|
246
|
+
if (this.formGroup && this.formGroup.valid) {
|
|
247
|
+
valid = true;
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
this.isAccordionExpanded = true;
|
|
251
|
+
this.invalidForm();
|
|
252
|
+
if (this.dadosTela?.mensagemValidacao) {
|
|
253
|
+
this.notificationService.dialog({
|
|
254
|
+
type: 'alert',
|
|
255
|
+
message: 'Verifique os campos obrigatórios.',
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
return valid;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
BaseComponentCrudForm.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseComponentCrudForm, deps: [{ token: i1.DialogService }, { token: i2.NotificationService }, { token: i3.ActivatedRoute }, { token: i1.DynamicDialogRef }, { token: i1.DynamicDialogConfig }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
263
|
+
BaseComponentCrudForm.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: BaseComponentCrudForm, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
264
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseComponentCrudForm, decorators: [{
|
|
265
|
+
type: Component,
|
|
266
|
+
args: [{
|
|
267
|
+
template: ''
|
|
268
|
+
}]
|
|
269
|
+
}], ctorParameters: function () { return [{ type: i1.DialogService }, { type: i2.NotificationService }, { type: i3.ActivatedRoute }, { type: i1.DynamicDialogRef }, { type: i1.DynamicDialogConfig }, { type: i3.Router }]; } });
|
|
270
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQtY3J1ZC1mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2FwaS9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQtY3J1ZC1mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxTQUFTLEVBQWUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXZELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7QUFZdEQsTUFBTSxPQUFnQixxQkFBc0IsU0FBUSxpQkFBaUI7SUFnQm5FLFlBQ0UsYUFBNEIsRUFDNUIsbUJBQXdDLEVBQzlCLGNBQThCLEVBQzlCLGdCQUFrQyxFQUNsQyxtQkFBd0MsRUFDeEMsTUFBYztRQUN4QixLQUFLLENBRUQsYUFBYSxFQUNiLG1CQUFtQixDQUNwQixDQUFDO1FBUk0sbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBcEJoQix3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDNUIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUVmLGNBQVMsR0FBYyxJQUFJLFNBQVMsQ0FBQyxF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InNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UsIER5bmFtaWNEaWFsb2dDb25maWcsIER5bmFtaWNEaWFsb2dSZWYgfSBmcm9tIFwicHJpbWVuZy9keW5hbWljZGlhbG9nXCI7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIFZhbGlkYXRvckZuIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0LCBmaWx0ZXIsIGZpbmFsaXplIH0gZnJvbSBcInJ4anNcIjtcblxuaW1wb3J0IHsgQWN0aW9uSXRlbSB9IGZyb20gXCIuLi9jb21wb25lbnRzL3RhYmxlL2FjdGlvbi1pdGVtXCI7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50Q3J1ZCB9IGZyb20gXCIuL2Jhc2UtY29tcG9uZW50LWNydWRcIjtcbmltcG9ydCB7IEZvcm1TZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL2Zvcm0uc2VydmljZVwiO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9ub3RpZmljYXRpb24uc2VydmljZVwiO1xuaW1wb3J0IHsgbG9hZGluZyB9IGZyb20gXCIuLi8uLi9sb2FkZXIvbG9hZGVyLnNlcnZpY2VcIjtcblxuZXhwb3J0IGludGVyZmFjZSBEYWRvc1RlbGEge1xuICBzdWJUaXR1bG9Gb3JtOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHRpdHVsb0Zvcm06IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgcm90YUxpc3Rhcjogc3RyaW5nO1xuICBtZW5zYWdlbVZhbGlkYWNhbzogYm9vbGVhblxufVxuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VDb21wb25lbnRDcnVkRm9ybSBleHRlbmRzIEJhc2VDb21wb25lbnRDcnVkIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHByb3RlY3RlZCBpc0FjY29yZGlvbkV4cGFuZGVkID0gZmFsc2U7XG4gIHByb3RlY3RlZCBpc05ld1JlZ2lzdHJ5ID0gZmFsc2U7XG4gIHByb3RlY3RlZCBpc1NhdmVMb2FkaW5nID0gZmFsc2U7XG4gIHByb3RlY3RlZCBpc1ZpZXcgPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgZm9ybUdyb3VwOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcbiAgcHJvdGVjdGVkIGFjdGlvbnM6IEFjdGlvbkl0ZW1bXSA9IFtdO1xuXG4gIHByb3RlY3RlZCBkYWRvc1RlbGE6IERhZG9zVGVsYSB8IHVuZGVmaW5lZDtcbiAgcHJvdGVjdGVkIHBvcHVwOiBib29sZWFuID0gZmFsc2U7XG4gIHByb3RlY3RlZCByZWdpc3RyeTogYW55ID0gbnVsbDtcblxuICBwcml2YXRlIG9uU2V0Rm9ybVZhbHVlczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXG4gICAgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByb3RlY3RlZCBkeW5hbWljRGlhbG9nUmVmOiBEeW5hbWljRGlhbG9nUmVmLFxuICAgIHByb3RlY3RlZCBkeW5hbWljRGlhbG9nQ29uZmlnOiBEeW5hbWljRGlhbG9nQ29uZmlnLFxuICAgIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlcikge1xuICAgIHN1cGVyXG4gICAgICAoXG4gICAgICAgIGRpYWxvZ1NlcnZpY2UsXG4gICAgICAgIG5vdGlmaWNhdGlvblNlcnZpY2VcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogTcOpdG9kbyBkaXNwYXJhZG8gcGFyYSBjb25maWd1cmHDp8OjbyBkbyBmb3JtXG4gICAqL1xuICBhYnN0cmFjdCBjb25maWd1cmVGb3JtKCk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIE3DqXRvZG8gZGlzcGFyYWRvIHBhcmEgbyBjYXJyZWdhbWVudG8gZG8gZm9ybVxuICAgKiBAcGFyYW0gaWRcbiAgICovXG4gIGFic3RyYWN0IGxvYWRGb3JtKGlkOiBhbnkpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBNw6l0b2RvIGRpc3BhcmFkbyBwYXJhIHNhbHZhbWVudG8gZG9zIGRhZG9zXG4gICAqL1xuICBhYnN0cmFjdCBzYXZlKCk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIE3DqXRvZG8gZGlzcGFyYWRvIHBhcmEgdHJhdGFtZW50byBkYXMgbm90aWZpY2HDp8O1ZXMgZG8gYmFja2VuZFxuICAgKiBAcGFyYW0gZXJyIC0gTm90aWZpY2HDp8Ojb1xuICAgKi9cbiAgcHJvdGVjdGVkIGJhY2tlbmRFcnJvcihlcnI6IGFueSk6IHZvaWQge1xuICAgIGlmIChlcnIpIHtcbiAgICAgIGlmIChlcnIuc3RhdHVzID09IDQwNCkge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UudG9hc3RFcnJvcihlcnIuZXJyb3IuaXRlbTJbMF0ubWVzc2FnZSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYgKGVyci5zdGF0dXMgPT0gNDAwKSB7XG4gICAgICAgIC8vIEVycm9zIGRlIHZhbGlkYcOnw6NvIGRlIGRvbcOtbmlvIGRvIGJhY2tlbmRcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZXJyLmVycm9yKSkge1xuICAgICAgICAgIGlmIChlcnIuZXJyb3I/Lmxlbmd0aCkge1xuXG4gICAgICAgICAgICBpZiAoZXJyLmVycm9yLmxlbmd0aCA9PSAxICYmIGVyci5lcnJvclswXS5rZXkgPT0gJycpIHtcbiAgICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnRvYXN0RXJyb3IoZXJyLmVycm9yWzBdLm1lc3NhZ2UpO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuaW52YWxpZEZvcm0oZXJyLmVycm9yKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZXJyLmVycm9yPy50aXRsZSkge1xuICAgICAgICAgIC8vIEVycm8gZGUganNvbiBubyBiYWNrZW5kXG4gICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnRvYXN0RXJyb3IoZXJyLmVycm9yLnRpdGxlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGVsc2UgaWYgKGVyci5zdGF0dXMgPT0gNDE1KSB7XG4gICAgICAgIGlmIChlcnIuZXJyb3I/LnRpdGxlKSB7XG4gICAgICAgICAgLy8gRXJybyBkZSBqc29uIG5vIGJhY2tlbmRcbiAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UudG9hc3RFcnJvcihlcnIuZXJyb3IudGl0bGUpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBRdWFscXVlciBvdXRybyB0aXBvIGRlIGVycm8gcXVlIHRlbmhhIG1lbnNhZ2VtXG4gICAgICBpZiAoZXJyLm1lc3NhZ2UpIHtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnRvYXN0RXJyb3IoZXJyLm1lc3NhZ2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNw6l0b2RvIGRpc3BhcmFkbyBhbyBjbGljYXIgbm8gYm90w6NvIGRlIGNhbmNlbGFtZW50b1xuICAgKi9cbiAgcHJvdGVjdGVkIGNhbmNlbCgpIHtcbiAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UucXVlc3Rpb24oe1xuICAgICAgdHlwZTogJ3F1ZXN0aW9uJyxcbiAgICAgIG1lc3NhZ2U6ICdEZXNlamEgY2FuY2VsYXIgYSBvcGVyYcOnw6NvPycsXG4gICAgICBhY2NlcHQ6ICgpID0+IHtcbiAgICAgICAgdGhpcy5uYXZpZ2F0ZUxpc3QoKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVmVyaWZpY2Egc2UgaG91dmVyYW0gYWx0ZXJhw6fDtWVzIG5vcyBjb21wb25lbnRlcyBkbyBmb3JtQ29udHJvbFxuICAgKiBAcGFyYW0gY29udHJvbHMgLSBOb21lcyBkbyBjb250cm9sZXMgbm8gZm9ybUdyb3VwXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGVcbiAgICovXG4gIHByb3RlY3RlZCBkZXRlY3RGb3JtQ29udHJvbENoYW5nZXMoY29udHJvbHM6IEFycmF5PHN0cmluZz4pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IGNvbnRyb2xMaXN0OiBPYnNlcnZhYmxlPGFueT5bXSA9IFtdO1xuICAgIGNvbnRyb2xzLmZvckVhY2goY29udHJvbE5hbWUgPT4gY29udHJvbExpc3QucHVzaCh0aGlzLmZvcm1Hcm91cC5jb250cm9sc1tjb250cm9sTmFtZV0udmFsdWVDaGFuZ2VzKSk7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoY29udHJvbExpc3QpLnBpcGUoZmlsdGVyKCgpID0+ICF0aGlzLm9uU2V0Rm9ybVZhbHVlcykpO1xuICB9XG5cbiAgLyoqXG4gICAqIE3DqXRvZG8gcmVzcG9uc8OhdmVsIHBvciBkZXNhYmlsaXRhciB1bSBjb21wb25lbnRlXG4gICAqIEBwYXJhbSBjb250cm9sTmFtZSAtIE5vbWUgZG8gY29udHJvbGUgbm8gZm9ybUdyb3VwXG4gICAqL1xuICBwcm90ZWN0ZWQgZGlzYWJsZUNvbXBvbmVudChjb250cm9sTmFtZTogc3RyaW5nKSB7XG4gICAgRm9ybVNlcnZpY2UuZGlzYWJsZUNvbnRyb2wodGhpcy5mb3JtR3JvdXAsIGNvbnRyb2xOYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNw6l0b2RvIHJlc3BvbnPDoXZlbCBwb3IgbGltcGFyIGUgZGVzYWJpbGl0YXIgdW0gY29tcG9uZW50ZVxuICAgKiBAcGFyYW0gY29udHJvbE5hbWUgLSBOb21lIGRvIGNvbnRyb2xlIG5vIGZvcm1Hcm91cFxuICAgKiBAcGFyYW0gdmFsdWUgLSBWYWxvciBkZWZhdWx0XG4gICAqL1xuICBwcm90ZWN0ZWQgZGlzYWJsZUFuZENsZWFyQ29tcG9uZW50KGNvbnRyb2xOYW1lOiBzdHJpbmcsIHZhbHVlPzogYW55KSB7XG4gICAgRm9ybVNlcnZpY2UuZGlzYWJsZUFuZENsZWFyQ29udHJvbCh0aGlzLmZvcm1Hcm91cCwgY29udHJvbE5hbWUsIHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNw6l0b2RvIHJlc3BvbnPDoXZlbCBwb3IgaGFiaWxpdGFyIHVtIGNvbXBvbmVudGVcbiAgICogQHBhcmFtIGNvbnRyb2xOYW1lIC0gTm9tZSBkbyBjb250cm9sZSBubyBmb3JtR3JvdXBcbiAgICovXG4gIHByb3RlY3RlZCBlbmFibGVDb21wb25lbnQoY29udHJvTmFtZTogc3RyaW5nKSB7XG4gICAgRm9ybVNlcnZpY2UuZW5hYmxlQ29udHJvbCh0aGlzLmZvcm1Hcm91cCwgY29udHJvTmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogTcOpdG9kbyBxdWUgcmV0b3JuYSBvIHZhbG9yIGRlIHVtIGNvbXBvbmVudGVcbiAgICogQHBhcmFtIGNvbnRyb2xOYW1lIC0gTm9tZSBkbyBjb250cm9sZSBubyBmb3JtR3JvdXBcbiAgICogQHJldHVybnMgLSBWYWxvclxuICAgKi9cbiAgcHJvdGVjdGVkIGdldEZvcm1WYWx1ZTxUPihjb250cm9sTmFtZTogc3RyaW5nKTogVCB7XG4gICAgcmV0dXJuIEZvcm1TZXJ2aWNlLmdldEZvcm1WYWx1ZTxUPih0aGlzLmZvcm1Hcm91cCwgY29udHJvbE5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZlcmlmaWNhIHNlIG8gY29tcG9uZW50ZSBwb3NzdWkgZXJyb1xuICAgKiBAcGFyYW0gY29udHJvbE5hbWUgLSBOb21lIGRvIGNvbnRyb2xlIG5vIGZvcm1Hcm91cFxuICAgKi9cbiAgcHJvdGVjdGVkIGhhc0NvbnRyb2xFcnJvcihjb250cm9sTmFtZTogc3RyaW5nLCBlcnJvckNvZGU/OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gRm9ybVNlcnZpY2UuaGFzQ29udHJvbEVycm9yKHRoaXMuZm9ybUdyb3VwLCBjb250cm9sTmFtZSwgZXJyb3JDb2RlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRhIGluY29uc2lzdMOqbmNpYXMgcGFyYSBvIGZvbXVsw6FyaW9cbiAgICogQHBhcmFtIG5vdGlmaWNhdGlvbiAtIExpc3RhIGRlIG5vdGlmaWNhw6fDtWVzXG4gICAqL1xuICBwcm90ZWN0ZWQgaW52YWxpZEZvcm0obm90aWZpY2F0aW9uPzogYW55KSB7XG4gICAgRm9ybVNlcnZpY2UuaW52YWxpZEZvcm0odGhpcy5mb3JtR3JvdXAsIG5vdGlmaWNhdGlvbik7XG4gIH1cblxuICAvKipcbiAgICogTcOpdG9kbyByZXNwb25zw6F2ZWwgcGVsbyBjYXJyZWdhbWVudG8gZGEgdGVsYVxuICAgKiBAcGFyYW0gb2JzIC0gT2JzZXJ2YWJsZSByZXNwb25zw6F2ZWwgcGVsbyBzYWx2YW1lbnRvIGRvcyBkYWRvc1xuICAgKi9cbiAgcHVibGljIGxvYWREYXRhPFQ+KG9iczogT2JzZXJ2YWJsZTxhbnk+KSB7XG4gICAgb2JzXG4gICAgICAucGlwZShsb2FkaW5nKCkpXG4gICAgICAuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5pc05ld1JlZ2lzdHJ5ID0gZmFsc2U7XG4gICAgICAgIHRoaXMucmVnaXN0cnkgPSBkYXRhIGFzIFQ7XG4gICAgICAgIHRoaXMuc2V0Rm9ybVZhbHVlcyh0aGlzLnJlZ2lzdHJ5KTtcbiAgICAgICAgdGhpcy5sb2FkR3JpZHMoKTtcbiAgICAgICAgdGhpcy5zZXRUaXRsZVBvcHVwKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBsb2FkR3JpZHMoKSB7IH1cblxuICAvKipcbiAgICogTcOpdG9kbyBkaXNwYXJhZG8gcGFyYSByZXRvcm5hciBhIGxpc3RhXG4gICAqL1xuICBwcm90ZWN0ZWQgbmF2aWdhdGVMaXN0KGlkOiBhbnkgPSBudWxsKSB7XG4gICAgaWYgKHRoaXMucG9wdXApIHtcbiAgICAgIHRoaXMuZHluYW1pY0RpYWxvZ1JlZi5jbG9zZShpZCk7XG4gICAgfVxuICAgIGVsc2UgaWYgKHRoaXMuZGFkb3NUZWxhPy5yb3RhTGlzdGFyKSB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5kYWRvc1RlbGEucm90YUxpc3Rhcl0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5keW5hbWljRGlhbG9nUmVmKSB7XG4gICAgICB0aGlzLmR5bmFtaWNEaWFsb2dSZWYuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jb25maWd1cmVGb3JtKCk7XG5cbiAgICB0aGlzLnBvcHVwID0gdGhpcy5keW5hbWljRGlhbG9nQ29uZmlnPy5kYXRhPy5wb3B1cCB8fCBmYWxzZTtcblxuICAgIHRoaXMuYWN0aXZhdGVkUm91dGUucGFyYW1zLnN1YnNjcmliZSgocGFyYW1zOiBhbnkpID0+IHtcbiAgICAgIGlmIChwYXJhbXNbJ2lkJ10pIHtcbiAgICAgICAgdGhpcy5sb2FkRm9ybShwYXJhbXNbJ2lkJ10pO1xuICAgICAgfVxuICAgICAgZWxzZSBpZiAodGhpcy5keW5hbWljRGlhbG9nQ29uZmlnPy5kYXRhPy5pZCkge1xuICAgICAgICB0aGlzLmxvYWRGb3JtKHRoaXMuZHluYW1pY0RpYWxvZ0NvbmZpZy5kYXRhLmlkKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICB0aGlzLmlzTmV3UmVnaXN0cnkgPSB0cnVlO1xuICAgICAgICB0aGlzLmxvYWRHcmlkcygpO1xuICAgICAgICB0aGlzLnNldFRpdGxlUG9wdXAoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNw6l0b2RvIGRpc3BhcmFkbyBwYXJhIHNhbHZhciBkYWRvc1xuICAgKiBAcGFyYW0gb2JzIC0gT2JzZXJ2YWJsZSByZXNwb25zw6F2ZWwgcGVsbyBzYWx2YW1lbnRvIGRvcyBkYWRvc1xuICAgKi9cbiAgcHJvdGVjdGVkIHNhdmVEYXRhKG9iczogT2JzZXJ2YWJsZTxhbnk+KSB7XG4gICAgb2JzXG4gICAgICAucGlwZSgoc3JjOiBPYnNlcnZhYmxlPGFueT4pID0+IHtcbiAgICAgICAgdGhpcy5pc1NhdmVMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHNyYy5waXBlKGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmlzU2F2ZUxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgfSkpO1xuICAgICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UudG9hc3RTdWNjZXNzKHJlcy5pdGVtMlswXS5tZXNzYWdlKTtcbiAgICAgICAgICB0aGlzLm5hdmlnYXRlTGlzdChyZXMuaXRlbTEpO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKGUpID0+IHtcbiAgICAgICAgICB0aGlzLmJhY2tlbmRFcnJvcihlKTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE3DqXRvZG8gc2UgYXR1YWxpemEgbyB2YWxvciBkZSB1bSBjb21wb25lbnRlIGRvIGZvcm1Hcm91cFxuICAgKiBAcGFyYW0gY29udHJvTmFtZSAtIE5vbWUgZG8gY29udHJvbGVcbiAgICogQHBhcmFtIHZhbHVlIC0gVmFsb3IgcGFyYSBhdHVhbGl6YcOnw6NvXG4gICAqL1xuICBwcm90ZWN0ZWQgc2V0Q29udHJvbFZhbHVlKGNvbnRyb05hbWU6IHN0cmluZywgdmFsdWU6IGFueSkge1xuICAgIEZvcm1TZXJ2aWNlLnNldENvbnRyb2xWYWx1ZSh0aGlzLmZvcm1Hcm91cCwgY29udHJvTmFtZSwgdmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEF0dWFsaXphIHZhbG9yZXMgZG9zIGNvbXBvbmVudGVzIGRvIGZvcm1Hcm91cFxuICAgKiBAcGFyYW0gdmFsdWVzIC0gVmFsb3JlcyBwYXJhIGF0dWFsaXphw6fDo29cbiAgICovXG4gIHByb3RlY3RlZCBzZXRGb3JtVmFsdWVzKHZhbHVlczogYW55KSB7XG4gICAgdGhpcy5vblNldEZvcm1WYWx1ZXMgPSB0cnVlO1xuICAgIHRoaXMuZm9ybUdyb3VwLnBhdGNoVmFsdWUodmFsdWVzLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgdGhpcy5vblNldEZvcm1WYWx1ZXMgPSBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRhIG8gdMOtdHVsbyBkbyBwb3B1cFxuICAgKi9cbiAgcHJpdmF0ZSBzZXRUaXRsZVBvcHVwKCkge1xuICAgIGlmICh0aGlzLnBvcHVwKSB7XG4gICAgICBpZiAodGhpcy5keW5hbWljRGlhbG9nQ29uZmlnKVxuICAgICAgICB0aGlzLmR5bmFtaWNEaWFsb2dDb25maWcuaGVhZGVyID0gdGhpcy5kYWRvc1RlbGE/LnRpdHVsb0Zvcm07XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEF0dWFsaXphIG8gdmFsaWRhZG9yIGRlIHVtIGNvbXBvbmVudGUgZG8gZm9ybUdyb3VwXG4gICAqIEBwYXJhbSBjb250cm9OYW1lIC0gTm9tZSBkbyBjb250cm9sZVxuICAgKiBAcGFyYW0gdmFsaWRhdG9ycyAtIFJlZ3JhIGRlIHZhbGlkYcOnw6NvXG4gICAqL1xuICBwcm90ZWN0ZWQgc2V0VmFsaWRhdG9ycyhjb250cm9OYW1lOiBzdHJpbmcsIHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuIHwgVmFsaWRhdG9yRm5bXSB8IG51bGwpIHtcbiAgICBGb3JtU2VydmljZS5zZXRWYWxpZGF0b3JzKHRoaXMuZm9ybUdyb3VwLCBjb250cm9OYW1lLCB2YWxpZGF0b3JzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNwYXJhIG9zIG3DqXRvZG9zIGRlIHZhbGlkYcOnw7VlcyBkbyBmb3JtdWzDoXJpb1xuICAgKiBAcmV0dXJucyAtIFRydWUvRmFsc2VcbiAgICovXG4gIHByb3RlY3RlZCB2YWxpZGF0ZUZvcm0oKTogYm9vbGVhbiB7XG4gICAgbGV0IHZhbGlkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBpZiAodGhpcy5mb3JtR3JvdXAgJiYgdGhpcy5mb3JtR3JvdXAudmFsaWQpIHtcbiAgICAgIHZhbGlkID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pc0FjY29yZGlvbkV4cGFuZGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuaW52YWxpZEZvcm0oKTtcblxuICAgICAgaWYgKHRoaXMuZGFkb3NUZWxhPy5tZW5zYWdlbVZhbGlkYWNhbykge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuZGlhbG9nKHtcbiAgICAgICAgICB0eXBlOiAnYWxlcnQnLFxuICAgICAgICAgIG1lc3NhZ2U6ICdWZXJpZmlxdWUgb3MgY2FtcG9zIG9icmlnYXTDs3Jpb3MuJyxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbGlkO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Component } from "@angular/core";
|
|
2
|
+
import { BaseComponentCrud } from "./base-component-crud";
|
|
3
|
+
import { TablePaginate } from "../components/table/table.paginate";
|
|
4
|
+
import { loading } from "../../loader/loader.service";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "primeng/dynamicdialog";
|
|
7
|
+
import * as i2 from "../services/notification.service";
|
|
8
|
+
import * as i3 from "@angular/router";
|
|
9
|
+
export class BaseComponentCrudList extends BaseComponentCrud {
|
|
10
|
+
constructor(dialogService, notificationService, router) {
|
|
11
|
+
super(dialogService, notificationService);
|
|
12
|
+
this.router = router;
|
|
13
|
+
this.totalRecords = 0;
|
|
14
|
+
this.actionsPageList = [];
|
|
15
|
+
}
|
|
16
|
+
ngOnInit() {
|
|
17
|
+
this.loadFilters();
|
|
18
|
+
this.configureTable();
|
|
19
|
+
// Tabela não configurada para paginação
|
|
20
|
+
if (!this.tableConfig.lazy)
|
|
21
|
+
this.loadTable(new TablePaginate());
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Método que seta o registro selecionado na tabela
|
|
25
|
+
* @param event - Registro
|
|
26
|
+
*/
|
|
27
|
+
activeItem(event) {
|
|
28
|
+
this.selectedItem = event;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Método que dispara o carregamento da tabela
|
|
32
|
+
* @param obs - Observable de carregamento dos dados
|
|
33
|
+
*/
|
|
34
|
+
loadData(obs) {
|
|
35
|
+
obs
|
|
36
|
+
.pipe(loading())
|
|
37
|
+
.subscribe({
|
|
38
|
+
next: (res) => {
|
|
39
|
+
this.totalRecords = res.item1;
|
|
40
|
+
this.dataSource = res.item2;
|
|
41
|
+
},
|
|
42
|
+
error: (e) => {
|
|
43
|
+
this.toastError(e);
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Método que dispara a paginação
|
|
49
|
+
*/
|
|
50
|
+
paginate(event) {
|
|
51
|
+
this.loadTable(event);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Método que dispara a atualização da página inteira
|
|
55
|
+
*/
|
|
56
|
+
refresh() {
|
|
57
|
+
this.loadTable(new TablePaginate());
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
BaseComponentCrudList.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseComponentCrudList, deps: [{ token: i1.DialogService }, { token: i2.NotificationService }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
61
|
+
BaseComponentCrudList.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: BaseComponentCrudList, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseComponentCrudList, decorators: [{
|
|
63
|
+
type: Component,
|
|
64
|
+
args: [{
|
|
65
|
+
template: ''
|
|
66
|
+
}]
|
|
67
|
+
}], ctorParameters: function () { return [{ type: i1.DialogService }, { type: i2.NotificationService }, { type: i3.Router }]; } });
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQtY3J1ZC1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2FwaS9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQtY3J1ZC1saXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFJbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBS25FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7QUFLdEQsTUFBTSxPQUFnQixxQkFBc0IsU0FBUSxpQkFBaUI7SUFRbkUsWUFDRSxhQUE0QixFQUM1QixtQkFBd0MsRUFDakMsTUFBYztRQUNyQixLQUFLLENBRUQsYUFBYSxFQUNiLG1CQUFtQixDQUNwQixDQUFDO1FBTEcsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQU52QixpQkFBWSxHQUFXLENBQUMsQ0FBQztRQUN6QixvQkFBZSxHQUFpQixFQUFFLENBQUM7SUFXbkMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXRCLHdDQUF3QztRQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJO1lBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUE4QkQ7OztPQUdHO0lBQ08sVUFBVSxDQUFDLEtBQVU7UUFDN0IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7T0FHRztJQUNPLFFBQVEsQ0FBQyxHQUFvQjtRQUNyQyxHQUFHO2FBQ0EsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ2YsU0FBUyxDQUFDO1lBQ1QsSUFBSSxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQztnQkFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFBO1lBQzdCLENBQUM7WUFDRCxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDWCxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7O09BRUc7SUFDTyxRQUFRLENBQUMsS0FBVTtRQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7T0FFRztJQUNPLE9BQU87UUFDZixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksYUFBYSxFQUFFLENBQUMsQ0FBQztJQUN0QyxDQUFDOztrSEE5Rm1CLHFCQUFxQjtzR0FBckIscUJBQXFCLDJFQUYvQixFQUFFOzJGQUVRLHFCQUFxQjtrQkFIMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tIFwicHJpbWVuZy9keW5hbWljZGlhbG9nXCI7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5cbmltcG9ydCB7IEJhc2VDb21wb25lbnRDcnVkIH0gZnJvbSBcIi4vYmFzZS1jb21wb25lbnQtY3J1ZFwiO1xuaW1wb3J0IHsgVGFibGVQYWdpbmF0ZSB9IGZyb20gXCIuLi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLnBhZ2luYXRlXCI7XG5pbXBvcnQgeyBUYWJsZUNvbmZpZyB9IGZyb20gXCIuLi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbmZpZ1wiO1xuaW1wb3J0IHsgQWN0aW9uSXRlbSB9IGZyb20gXCIuLi9jb21wb25lbnRzL3RhYmxlL2FjdGlvbi1pdGVtXCI7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL25vdGlmaWNhdGlvbi5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IGxvYWRpbmcgfSBmcm9tIFwiLi4vLi4vbG9hZGVyL2xvYWRlci5zZXJ2aWNlXCI7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUNvbXBvbmVudENydWRMaXN0IGV4dGVuZHMgQmFzZUNvbXBvbmVudENydWQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGRhdGFTb3VyY2U6IGFueTtcbiAgc2VsZWN0ZWRJdGVtOiBhbnk7XG4gIHRhYmxlQ29uZmlnITogVGFibGVDb25maWc7XG4gIHRvdGFsUmVjb3JkczogbnVtYmVyID0gMDtcbiAgYWN0aW9uc1BhZ2VMaXN0OiBBY3Rpb25JdGVtW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlLFxuICAgIG5vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2UsXG4gICAgcHVibGljIHJvdXRlcjogUm91dGVyKSB7XG4gICAgc3VwZXJcbiAgICAgIChcbiAgICAgICAgZGlhbG9nU2VydmljZSxcbiAgICAgICAgbm90aWZpY2F0aW9uU2VydmljZVxuICAgICAgKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubG9hZEZpbHRlcnMoKTtcbiAgICB0aGlzLmNvbmZpZ3VyZVRhYmxlKCk7XG5cbiAgICAvLyBUYWJlbGEgbsOjbyBjb25maWd1cmFkYSBwYXJhIHBhZ2luYcOnw6NvXG4gICAgaWYgKCF0aGlzLnRhYmxlQ29uZmlnLmxhenkpXG4gICAgICB0aGlzLmxvYWRUYWJsZShuZXcgVGFibGVQYWdpbmF0ZSgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNw6l0b2RvIGRpc3BhcmFkbyBwYXJhIGNvbmZpZ3VyYcOnw6NvIGRhcyB0YWJlbGFzIGRvIGNvbXBvbmVudGUgZGUgbGlzdGFcbiAgICovXG4gIGFic3RyYWN0IGNvbmZpZ3VyZVRhYmxlKCk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIE3DqXRvZG8gZGlzcGFyYWRvIHBhcmEgZWRpw6fDo28gZGUgcmVnaXN0cm9zXG4gICAqIEBwYXJhbSByZWdpc3RyeSAtIFJlZ2lzdHJvIHF1ZSBlc3TDoSBzZW5kbyBlZGl0YWRvXG4gICAqXG4gICAqL1xuICBhYnN0cmFjdCBlZGl0KHJlZ2lzdHJ5OiBhbnkpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBNw6l0b2RvIGRpc3BhcmFkbyBwYXJhIGNhcnJlZ2FtZW50byBkb3MgZmlsdHJvcyBkYSB0ZWxhXG4gICAqL1xuICBhYnN0cmFjdCBsb2FkRmlsdGVycygpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBNw6l0b2RvIGRpc3BhcmFkbyBwYXJhIGNhcnJlZ2FyIGEgdGFiZWxhIGRvIGNvbXBvbmVudGUgZGUgbGlzdGFcbiAgICogQHBhcmFtIHRhYmxlUGFnaW5hdGUgLSBDbGFzc2UgZG9zIGRhZG9zIGRhIHBhZ2luYcOnw6NvIGRhIHRhYmVsYVxuICAgKi9cbiAgYWJzdHJhY3QgbG9hZFRhYmxlKHRhYmxlUGFnaW5hdGU6IFRhYmxlUGFnaW5hdGUpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBNw6l0b2RvIGRpc3BhcmFkbyBhbyBjbGljYXIgbm8gYm90w6NvIGRlIG5vdm8gcmVnaXN0cm9cbiAgICovXG4gIGFic3RyYWN0IG5ld1JlZ2lzdHJ5KCk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIE3DqXRvZG8gcXVlIHNldGEgbyByZWdpc3RybyBzZWxlY2lvbmFkbyBuYSB0YWJlbGFcbiAgICogQHBhcmFtIGV2ZW50IC0gUmVnaXN0cm9cbiAgICovXG4gIHByb3RlY3RlZCBhY3RpdmVJdGVtKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IGV2ZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIE3DqXRvZG8gcXVlIGRpc3BhcmEgbyBjYXJyZWdhbWVudG8gZGEgdGFiZWxhXG4gICAqIEBwYXJhbSBvYnMgLSBPYnNlcnZhYmxlIGRlIGNhcnJlZ2FtZW50byBkb3MgZGFkb3NcbiAgICovXG4gIHByb3RlY3RlZCBsb2FkRGF0YShvYnM6IE9ic2VydmFibGU8YW55Pikge1xuICAgIG9ic1xuICAgICAgLnBpcGUobG9hZGluZygpKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMudG90YWxSZWNvcmRzID0gcmVzLml0ZW0xO1xuICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IHJlcy5pdGVtMlxuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKGUpID0+IHtcbiAgICAgICAgICB0aGlzLnRvYXN0RXJyb3IoZSk7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNw6l0b2RvIHF1ZSBkaXNwYXJhIGEgcGFnaW5hw6fDo29cbiAgICovXG4gIHByb3RlY3RlZCBwYWdpbmF0ZShldmVudDogYW55KSB7XG4gICAgdGhpcy5sb2FkVGFibGUoZXZlbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIE3DqXRvZG8gcXVlIGRpc3BhcmEgYSBhdHVhbGl6YcOnw6NvIGRhIHDDoWdpbmEgaW50ZWlyYVxuICAgKi9cbiAgcHJvdGVjdGVkIHJlZnJlc2goKSB7XG4gICAgdGhpcy5sb2FkVGFibGUobmV3IFRhYmxlUGFnaW5hdGUoKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { Component } from "@angular/core";
|
|
2
|
+
import { FormService } from "../services/form.service";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "primeng/dynamicdialog";
|
|
5
|
+
import * as i2 from "../services/notification.service";
|
|
6
|
+
export class BaseComponentCrud {
|
|
7
|
+
constructor(dialogService, notificationService) {
|
|
8
|
+
this.dialogService = dialogService;
|
|
9
|
+
this.notificationService = notificationService;
|
|
10
|
+
this.isReport = false;
|
|
11
|
+
this.itemsReport = [];
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Fecha um relatório
|
|
15
|
+
*/
|
|
16
|
+
closeReport() {
|
|
17
|
+
this.isReport = false;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Abre um form dialog
|
|
21
|
+
* @param componentType - Componente que será renderizado
|
|
22
|
+
* @param callBackFunction - Função de callback que deverá ser chamada após o fechamento do dialog
|
|
23
|
+
* @param paramsDialog - Parâmetros do dialog
|
|
24
|
+
*/
|
|
25
|
+
openDialog(componentType, callBackFunction, paramsDialog) {
|
|
26
|
+
FormService.openDialog(this.dialogService, componentType, callBackFunction, paramsDialog);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Imprime um relatório na tela
|
|
30
|
+
* @param obs - Observable com o carregamento do relatório
|
|
31
|
+
*/
|
|
32
|
+
printReportFilter(obs) {
|
|
33
|
+
obs
|
|
34
|
+
//.pipe(loading())
|
|
35
|
+
.subscribe({
|
|
36
|
+
next: (res) => {
|
|
37
|
+
this.itemsReport = res;
|
|
38
|
+
this.isReport = true;
|
|
39
|
+
},
|
|
40
|
+
error: (e) => {
|
|
41
|
+
this.toastError(e);
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Exibe um toast com um erro
|
|
47
|
+
* @param err - Erro
|
|
48
|
+
*/
|
|
49
|
+
toastError(err) {
|
|
50
|
+
if (err) {
|
|
51
|
+
if (err.message) {
|
|
52
|
+
this.notificationService.toastError(err.message);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
BaseComponentCrud.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseComponentCrud, deps: [{ token: i1.DialogService }, { token: i2.NotificationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
58
|
+
BaseComponentCrud.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: BaseComponentCrud, selector: "ng-component", ngImport: i0, template: '', isInline: true });
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseComponentCrud, decorators: [{
|
|
60
|
+
type: Component,
|
|
61
|
+
args: [{
|
|
62
|
+
template: ''
|
|
63
|
+
}]
|
|
64
|
+
}], ctorParameters: function () { return [{ type: i1.DialogService }, { type: i2.NotificationService }]; } });
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQtY3J1ZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9hcGkvYmFzZS1jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50LWNydWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUUsV0FBVyxFQUFnQixNQUFNLDBCQUEwQixDQUFDOzs7O0FBT3JFLE1BQU0sT0FBZ0IsaUJBQWlCO0lBS3JDLFlBQ1MsYUFBNEIsRUFDNUIsbUJBQXdDO1FBRHhDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFMMUMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixnQkFBVyxHQUFRLEVBQUUsQ0FBQztJQUs3QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNPLFVBQVUsQ0FBQyxhQUF3QixFQUFFLGdCQUEwQixFQUFFLFlBQTJCO1FBQ3BHLFdBQVcsQ0FBQyxVQUFVLENBQ3BCLElBQUksQ0FBQyxhQUFhLEVBQ2xCLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsWUFBWSxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVEOzs7T0FHRztJQUNPLGlCQUFpQixDQUFDLEdBQW9CO1FBQzlDLEdBQUc7WUFDRCxrQkFBa0I7YUFDakIsU0FBUyxDQUFDO1lBQ1QsSUFBSSxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDO2dCQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUN2QixDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7T0FHRztJQUNPLFVBQVUsQ0FBQyxHQUFRO1FBQzNCLElBQUksR0FBRyxFQUFFO1lBQ1AsSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFO2dCQUNmLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ2xEO1NBQ0Y7SUFDSCxDQUFDOzs4R0EzRG1CLGlCQUFpQjtrR0FBakIsaUJBQWlCLG9EQUYzQixFQUFFOzJGQUVRLGlCQUFpQjtrQkFIdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBUeXBlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1TZXJ2aWNlLCBwYXJhbXNEaWFsb2cgfSBmcm9tIFwiLi4vc2VydmljZXMvZm9ybS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VDb21wb25lbnRDcnVkIHtcblxuICBwdWJsaWMgaXNSZXBvcnQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGl0ZW1zUmVwb3J0OiBhbnkgPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcbiAgICBwdWJsaWMgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSkge1xuICB9XG5cbiAgLyoqXG4gICAqIEZlY2hhIHVtIHJlbGF0w7NyaW9cbiAgICovXG4gIHB1YmxpYyBjbG9zZVJlcG9ydCgpIHtcbiAgICB0aGlzLmlzUmVwb3J0ID0gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogQWJyZSB1bSBmb3JtIGRpYWxvZ1xuICAgKiBAcGFyYW0gY29tcG9uZW50VHlwZSAtIENvbXBvbmVudGUgcXVlIHNlcsOhIHJlbmRlcml6YWRvXG4gICAqIEBwYXJhbSBjYWxsQmFja0Z1bmN0aW9uIC0gRnVuw6fDo28gZGUgY2FsbGJhY2sgcXVlIGRldmVyw6Egc2VyIGNoYW1hZGEgYXDDs3MgbyBmZWNoYW1lbnRvIGRvIGRpYWxvZ1xuICAgKiBAcGFyYW0gcGFyYW1zRGlhbG9nIC0gUGFyw6JtZXRyb3MgZG8gZGlhbG9nXG4gICAqL1xuICBwcm90ZWN0ZWQgb3BlbkRpYWxvZyhjb21wb25lbnRUeXBlOiBUeXBlPGFueT4sIGNhbGxCYWNrRnVuY3Rpb246IEZ1bmN0aW9uLCBwYXJhbXNEaWFsb2c/OiBwYXJhbXNEaWFsb2cpIHtcbiAgICBGb3JtU2VydmljZS5vcGVuRGlhbG9nKFxuICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLFxuICAgICAgY29tcG9uZW50VHlwZSxcbiAgICAgIGNhbGxCYWNrRnVuY3Rpb24sXG4gICAgICBwYXJhbXNEaWFsb2cpO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcHJpbWUgdW0gcmVsYXTDs3JpbyBuYSB0ZWxhXG4gICAqIEBwYXJhbSBvYnMgLSBPYnNlcnZhYmxlIGNvbSBvIGNhcnJlZ2FtZW50byBkbyByZWxhdMOzcmlvXG4gICAqL1xuICBwcm90ZWN0ZWQgcHJpbnRSZXBvcnRGaWx0ZXIob2JzOiBPYnNlcnZhYmxlPGFueT4pIHtcbiAgICBvYnNcbiAgICAgIC8vLnBpcGUobG9hZGluZygpKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMuaXRlbXNSZXBvcnQgPSByZXM7XG4gICAgICAgICAgdGhpcy5pc1JlcG9ydCA9IHRydWU7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiAoZSkgPT4ge1xuICAgICAgICAgIHRoaXMudG9hc3RFcnJvcihlKTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4aWJlIHVtIHRvYXN0IGNvbSB1bSBlcnJvXG4gICAqIEBwYXJhbSBlcnIgLSBFcnJvXG4gICAqL1xuICBwcm90ZWN0ZWQgdG9hc3RFcnJvcihlcnI6IGFueSkge1xuICAgIGlmIChlcnIpIHtcbiAgICAgIGlmIChlcnIubWVzc2FnZSkge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UudG9hc3RFcnJvcihlcnIubWVzc2FnZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
|