keevo-components 1.5.191 → 1.5.193
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/README.md +24 -24
- 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 +500 -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 +4706 -0
- package/fesm2015/keevo-components.mjs.map +1 -0
- package/fesm2020/keevo-components.mjs +4697 -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} +6 -7
- 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 +105 -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} +134 -156
- 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,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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQtY3J1ZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9hcGkvYmFzZS1jb21wb25lbnRzL2Jhc2UtY29tcG9uZW50LWNydWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUUsV0FBVyxFQUFnQixNQUFNLDBCQUEwQixDQUFDOzs7O0FBT3JFLE1BQU0sT0FBZ0IsaUJBQWlCO0lBS3JDLFlBQ1MsYUFBNEIsRUFDNUIsbUJBQXdDO1FBRHhDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFMMUMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixnQkFBVyxHQUFRLEVBQUUsQ0FBQztJQUs3QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNPLFVBQVUsQ0FBQyxhQUF3QixFQUFFLGdCQUEwQixFQUFFLFlBQTJCO1FBQ3BHLFdBQVcsQ0FBQyxVQUFVLENBQ3BCLElBQUksQ0FBQyxhQUFhLEVBQ2xCLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsWUFBWSxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVEOzs7T0FHRztJQUNPLGlCQUFpQixDQUFDLEdBQW9CO1FBQzlDLEdBQUc7WUFDRCxrQkFBa0I7YUFDakIsU0FBUyxDQUFDO1lBQ1QsSUFBSSxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDO2dCQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUN2QixDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7T0FHRztJQUNPLFVBQVUsQ0FBQyxHQUFRO1FBQzNCLElBQUksR0FBRyxFQUFFO1lBQ1AsSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFO2dCQUNmLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ2xEO1NBQ0Y7SUFDSCxDQUFDOzs4R0EzRG1CLGlCQUFpQjtrR0FBakIsaUJBQWlCLG9EQUYzQixFQUFFOzJGQUVRLGlCQUFpQjtrQkFIdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIFR5cGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3JtU2VydmljZSwgcGFyYW1zRGlhbG9nIH0gZnJvbSBcIi4uL3NlcnZpY2VzL2Zvcm0uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJydcclxufSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VDb21wb25lbnRDcnVkIHtcclxuXHJcbiAgcHVibGljIGlzUmVwb3J0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGl0ZW1zUmVwb3J0OiBhbnkgPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcclxuICAgIHB1YmxpYyBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZWNoYSB1bSByZWxhdMOzcmlvXHJcbiAgICovXHJcbiAgcHVibGljIGNsb3NlUmVwb3J0KCkge1xyXG4gICAgdGhpcy5pc1JlcG9ydCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWJyZSB1bSBmb3JtIGRpYWxvZ1xyXG4gICAqIEBwYXJhbSBjb21wb25lbnRUeXBlIC0gQ29tcG9uZW50ZSBxdWUgc2Vyw6EgcmVuZGVyaXphZG9cclxuICAgKiBAcGFyYW0gY2FsbEJhY2tGdW5jdGlvbiAtIEZ1bsOnw6NvIGRlIGNhbGxiYWNrIHF1ZSBkZXZlcsOhIHNlciBjaGFtYWRhIGFww7NzIG8gZmVjaGFtZW50byBkbyBkaWFsb2dcclxuICAgKiBAcGFyYW0gcGFyYW1zRGlhbG9nIC0gUGFyw6JtZXRyb3MgZG8gZGlhbG9nXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIG9wZW5EaWFsb2coY29tcG9uZW50VHlwZTogVHlwZTxhbnk+LCBjYWxsQmFja0Z1bmN0aW9uOiBGdW5jdGlvbiwgcGFyYW1zRGlhbG9nPzogcGFyYW1zRGlhbG9nKSB7XHJcbiAgICBGb3JtU2VydmljZS5vcGVuRGlhbG9nKFxyXG4gICAgICB0aGlzLmRpYWxvZ1NlcnZpY2UsXHJcbiAgICAgIGNvbXBvbmVudFR5cGUsXHJcbiAgICAgIGNhbGxCYWNrRnVuY3Rpb24sXHJcbiAgICAgIHBhcmFtc0RpYWxvZyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbXByaW1lIHVtIHJlbGF0w7NyaW8gbmEgdGVsYVxyXG4gICAqIEBwYXJhbSBvYnMgLSBPYnNlcnZhYmxlIGNvbSBvIGNhcnJlZ2FtZW50byBkbyByZWxhdMOzcmlvXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIHByaW50UmVwb3J0RmlsdGVyKG9iczogT2JzZXJ2YWJsZTxhbnk+KSB7XHJcbiAgICBvYnNcclxuICAgICAgLy8ucGlwZShsb2FkaW5nKCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5pdGVtc1JlcG9ydCA9IHJlcztcclxuICAgICAgICAgIHRoaXMuaXNSZXBvcnQgPSB0cnVlO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0RXJyb3IoZSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFeGliZSB1bSB0b2FzdCBjb20gdW0gZXJyb1xyXG4gICAqIEBwYXJhbSBlcnIgLSBFcnJvXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIHRvYXN0RXJyb3IoZXJyOiBhbnkpIHtcclxuICAgIGlmIChlcnIpIHtcclxuICAgICAgaWYgKGVyci5tZXNzYWdlKSB7XHJcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnRvYXN0RXJyb3IoZXJyLm1lc3NhZ2UpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
import { Component, Input } from "@angular/core";
|
|
2
|
+
import { BaseComponentDropDown } from "./base-component-dropdown";
|
|
3
|
+
import { FormsModule, ReactiveFormsModule } from "@angular/forms";
|
|
4
|
+
import { KeevoComponentsModule } from "../../keevo-components.module";
|
|
5
|
+
import { PrimeNgModule } from "../modules/primeng.module";
|
|
6
|
+
import { LabelModule } from "../../label/label.module";
|
|
7
|
+
import { kvErrorModule } from "../components/error/kverror.module";
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/forms";
|
|
10
|
+
import * as i2 from "primeng/api";
|
|
11
|
+
import * as i3 from "primeng/button";
|
|
12
|
+
import * as i4 from "@angular/common";
|
|
13
|
+
import * as i5 from "primeng/tooltip";
|
|
14
|
+
import * as i6 from "primeng/divider";
|
|
15
|
+
import * as i7 from "primeng/dropdown";
|
|
16
|
+
import * as i8 from "../../label/label.component";
|
|
17
|
+
import * as i9 from "../components/error/error.component";
|
|
18
|
+
export class BaseComponentDropdownNew extends BaseComponentDropDown {
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
if (this.dropDowValue)
|
|
21
|
+
this.value = this.dropDowValue;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
BaseComponentDropdownNew.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseComponentDropdownNew, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
+
BaseComponentDropdownNew.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: BaseComponentDropdownNew, isStandalone: true, selector: "app-base-dropdown", inputs: { formGroup: "formGroup", formControlName: "formControlName", dropDowValue: "dropDowValue", itemTemplate: "itemTemplate", selectedItemTemplate: "selectedItemTemplate" }, usesInheritance: true, ngImport: i0, template: `
|
|
26
|
+
<span>
|
|
27
|
+
<kv-label
|
|
28
|
+
[componentId]="componentId"
|
|
29
|
+
[label]="label"
|
|
30
|
+
/>
|
|
31
|
+
<p-dropdown
|
|
32
|
+
appendTo="body"
|
|
33
|
+
[class]="baseInputClass"
|
|
34
|
+
[disabled]="disabled"
|
|
35
|
+
[filter]="filter"
|
|
36
|
+
[inputId]="componentId"
|
|
37
|
+
[(ngModel)]="value"
|
|
38
|
+
[options]="filteredOptions"
|
|
39
|
+
[optionLabel]="optionLabel"
|
|
40
|
+
[optionValue]="optionValue"
|
|
41
|
+
[optionDisabled]="optionDisabled"
|
|
42
|
+
[group]="group"
|
|
43
|
+
[optionGroupLabel]="optionGroupLabel"
|
|
44
|
+
[optionGroupChildren]="optionGroupChildren"
|
|
45
|
+
[showClear]="showClear"
|
|
46
|
+
[lazy]="lazy"
|
|
47
|
+
scrollHeight="250px"
|
|
48
|
+
(onBlur)="onInputBlur($event)"
|
|
49
|
+
(onClick)="onInputClick($event)"
|
|
50
|
+
(onChange)="onInputChange($event)"
|
|
51
|
+
(onFilter)="onInputFilter($event)"
|
|
52
|
+
[style]="{'width':widthField}"
|
|
53
|
+
[panelStyle]="{ width: widthField, overflow: 'auto' }"
|
|
54
|
+
styleClass="inputs"
|
|
55
|
+
>
|
|
56
|
+
|
|
57
|
+
<ng-template
|
|
58
|
+
*ngIf="showAddButton"
|
|
59
|
+
pTemplate="footer"
|
|
60
|
+
>
|
|
61
|
+
<p-divider></p-divider>
|
|
62
|
+
<div class="flex flex-wrap card-container p-1">
|
|
63
|
+
<div class="flex justify-content-center">
|
|
64
|
+
<button
|
|
65
|
+
pButton
|
|
66
|
+
label="Incluir"
|
|
67
|
+
pTooltip="Clique aqui para incluir um novo registro"
|
|
68
|
+
tooltipPosition="bottom"
|
|
69
|
+
icon="pi pi-plus"
|
|
70
|
+
class="p-button-rounded p-button-success mr-2"
|
|
71
|
+
(click)="addClick($event)"
|
|
72
|
+
></button>
|
|
73
|
+
</div>
|
|
74
|
+
</div>
|
|
75
|
+
</ng-template>
|
|
76
|
+
|
|
77
|
+
<ng-template
|
|
78
|
+
let-selectedItem
|
|
79
|
+
pTemplate="item"
|
|
80
|
+
*ngIf="itemTemplate"
|
|
81
|
+
>
|
|
82
|
+
<ng-container
|
|
83
|
+
[ngTemplateOutlet]="itemTemplate"
|
|
84
|
+
[ngTemplateOutletContext]="{ $implicit: selectedItem }"
|
|
85
|
+
>
|
|
86
|
+
</ng-container>
|
|
87
|
+
</ng-template>
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
<ng-template
|
|
91
|
+
let-item
|
|
92
|
+
pTemplate="selectedItem"
|
|
93
|
+
*ngIf="selectedItemTemplate"
|
|
94
|
+
>
|
|
95
|
+
<ng-container
|
|
96
|
+
[ngTemplateOutlet]="selectedItemTemplate"
|
|
97
|
+
[ngTemplateOutletContext]="{ $implicit: item }"
|
|
98
|
+
>
|
|
99
|
+
|
|
100
|
+
</ng-container>
|
|
101
|
+
</ng-template>
|
|
102
|
+
|
|
103
|
+
</p-dropdown>
|
|
104
|
+
|
|
105
|
+
<kv-error [hasError]="hasControlError()">{{ erroMessage() }}</kv-error>
|
|
106
|
+
</span>
|
|
107
|
+
<ng-content></ng-content>
|
|
108
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: KeevoComponentsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: PrimeNgModule }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i3.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i6.Divider, selector: "p-divider", inputs: ["styleClass", "style", "layout", "type", "align"] }, { kind: "component", type: i7.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "overlayDirection", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: LabelModule }, { kind: "component", type: i8.LabelComponent, selector: "kv-label", inputs: ["componentId", "label"] }, { kind: "ngmodule", type: kvErrorModule }, { kind: "component", type: i9.ErrorComponent, selector: "kv-error", inputs: ["formControl", "hasError"] }] });
|
|
109
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseComponentDropdownNew, decorators: [{
|
|
110
|
+
type: Component,
|
|
111
|
+
args: [{
|
|
112
|
+
selector: 'app-base-dropdown',
|
|
113
|
+
template: `
|
|
114
|
+
<span>
|
|
115
|
+
<kv-label
|
|
116
|
+
[componentId]="componentId"
|
|
117
|
+
[label]="label"
|
|
118
|
+
/>
|
|
119
|
+
<p-dropdown
|
|
120
|
+
appendTo="body"
|
|
121
|
+
[class]="baseInputClass"
|
|
122
|
+
[disabled]="disabled"
|
|
123
|
+
[filter]="filter"
|
|
124
|
+
[inputId]="componentId"
|
|
125
|
+
[(ngModel)]="value"
|
|
126
|
+
[options]="filteredOptions"
|
|
127
|
+
[optionLabel]="optionLabel"
|
|
128
|
+
[optionValue]="optionValue"
|
|
129
|
+
[optionDisabled]="optionDisabled"
|
|
130
|
+
[group]="group"
|
|
131
|
+
[optionGroupLabel]="optionGroupLabel"
|
|
132
|
+
[optionGroupChildren]="optionGroupChildren"
|
|
133
|
+
[showClear]="showClear"
|
|
134
|
+
[lazy]="lazy"
|
|
135
|
+
scrollHeight="250px"
|
|
136
|
+
(onBlur)="onInputBlur($event)"
|
|
137
|
+
(onClick)="onInputClick($event)"
|
|
138
|
+
(onChange)="onInputChange($event)"
|
|
139
|
+
(onFilter)="onInputFilter($event)"
|
|
140
|
+
[style]="{'width':widthField}"
|
|
141
|
+
[panelStyle]="{ width: widthField, overflow: 'auto' }"
|
|
142
|
+
styleClass="inputs"
|
|
143
|
+
>
|
|
144
|
+
|
|
145
|
+
<ng-template
|
|
146
|
+
*ngIf="showAddButton"
|
|
147
|
+
pTemplate="footer"
|
|
148
|
+
>
|
|
149
|
+
<p-divider></p-divider>
|
|
150
|
+
<div class="flex flex-wrap card-container p-1">
|
|
151
|
+
<div class="flex justify-content-center">
|
|
152
|
+
<button
|
|
153
|
+
pButton
|
|
154
|
+
label="Incluir"
|
|
155
|
+
pTooltip="Clique aqui para incluir um novo registro"
|
|
156
|
+
tooltipPosition="bottom"
|
|
157
|
+
icon="pi pi-plus"
|
|
158
|
+
class="p-button-rounded p-button-success mr-2"
|
|
159
|
+
(click)="addClick($event)"
|
|
160
|
+
></button>
|
|
161
|
+
</div>
|
|
162
|
+
</div>
|
|
163
|
+
</ng-template>
|
|
164
|
+
|
|
165
|
+
<ng-template
|
|
166
|
+
let-selectedItem
|
|
167
|
+
pTemplate="item"
|
|
168
|
+
*ngIf="itemTemplate"
|
|
169
|
+
>
|
|
170
|
+
<ng-container
|
|
171
|
+
[ngTemplateOutlet]="itemTemplate"
|
|
172
|
+
[ngTemplateOutletContext]="{ $implicit: selectedItem }"
|
|
173
|
+
>
|
|
174
|
+
</ng-container>
|
|
175
|
+
</ng-template>
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
<ng-template
|
|
179
|
+
let-item
|
|
180
|
+
pTemplate="selectedItem"
|
|
181
|
+
*ngIf="selectedItemTemplate"
|
|
182
|
+
>
|
|
183
|
+
<ng-container
|
|
184
|
+
[ngTemplateOutlet]="selectedItemTemplate"
|
|
185
|
+
[ngTemplateOutletContext]="{ $implicit: item }"
|
|
186
|
+
>
|
|
187
|
+
|
|
188
|
+
</ng-container>
|
|
189
|
+
</ng-template>
|
|
190
|
+
|
|
191
|
+
</p-dropdown>
|
|
192
|
+
|
|
193
|
+
<kv-error [hasError]="hasControlError()">{{ erroMessage() }}</kv-error>
|
|
194
|
+
</span>
|
|
195
|
+
<ng-content></ng-content>
|
|
196
|
+
`,
|
|
197
|
+
standalone: true,
|
|
198
|
+
imports: [KeevoComponentsModule, ReactiveFormsModule, FormsModule, PrimeNgModule, LabelModule, kvErrorModule]
|
|
199
|
+
}]
|
|
200
|
+
}], propDecorators: { formGroup: [{
|
|
201
|
+
type: Input
|
|
202
|
+
}], formControlName: [{
|
|
203
|
+
type: Input
|
|
204
|
+
}], dropDowValue: [{
|
|
205
|
+
type: Input
|
|
206
|
+
}], itemTemplate: [{
|
|
207
|
+
type: Input
|
|
208
|
+
}], selectedItemTemplate: [{
|
|
209
|
+
type: Input
|
|
210
|
+
}] } });
|
|
211
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQtZHJvcGRvd24tbmV3LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2FwaS9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQtZHJvcGRvd24tbmV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQ2pFLE9BQU8sRUFBYSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7Ozs7Ozs7QUEyRm5FLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxxQkFBcUI7SUFTdEQsUUFBUTtRQUNiLElBQUksSUFBSSxDQUFDLFlBQVk7WUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQ3ZDLENBQUM7O3FIQVpRLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLHNSQXZGdkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBbUZULDJEQUVTLHFCQUFxQiw4QkFBRSxtQkFBbUIsc0lBQUUsV0FBVyxzUEFBRSxhQUFhLDRoRUFBRSxXQUFXLHNJQUFFLGFBQWE7MkZBRW5HLHdCQUF3QjtrQkF6RnBDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQW1GVDtvQkFDRCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsYUFBYSxDQUFDO2lCQUNoSDs4QkFHWSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudERyb3BEb3duIH0gZnJvbSBcIi4vYmFzZS1jb21wb25lbnQtZHJvcGRvd25cIlxyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IEtlZXZvQ29tcG9uZW50c01vZHVsZSB9IGZyb20gXCIuLi8uLi9rZWV2by1jb21wb25lbnRzLm1vZHVsZVwiO1xyXG5pbXBvcnQgeyBQcmltZU5nTW9kdWxlIH0gZnJvbSBcIi4uL21vZHVsZXMvcHJpbWVuZy5tb2R1bGVcIjtcclxuaW1wb3J0IHsgTGFiZWxNb2R1bGUgfSBmcm9tIFwiLi4vLi4vbGFiZWwvbGFiZWwubW9kdWxlXCI7XHJcbmltcG9ydCB7IGt2RXJyb3JNb2R1bGUgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9lcnJvci9rdmVycm9yLm1vZHVsZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2FwcC1iYXNlLWRyb3Bkb3duJyxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICA8c3Bhbj5cclxuICAgICAgPGt2LWxhYmVsXHJcbiAgICAgICAgW2NvbXBvbmVudElkXT1cImNvbXBvbmVudElkXCJcclxuICAgICAgICBbbGFiZWxdPVwibGFiZWxcIlxyXG4gICAgICAvPlxyXG4gICAgICA8cC1kcm9wZG93blxyXG4gICAgICAgIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgW2NsYXNzXT1cImJhc2VJbnB1dENsYXNzXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgIFtmaWx0ZXJdPVwiZmlsdGVyXCJcclxuICAgICAgICBbaW5wdXRJZF09XCJjb21wb25lbnRJZFwiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgW29wdGlvbnNdPVwiZmlsdGVyZWRPcHRpb25zXCJcclxuICAgICAgICBbb3B0aW9uTGFiZWxdPVwib3B0aW9uTGFiZWxcIlxyXG4gICAgICAgIFtvcHRpb25WYWx1ZV09XCJvcHRpb25WYWx1ZVwiXHJcbiAgICAgICAgW29wdGlvbkRpc2FibGVkXT1cIm9wdGlvbkRpc2FibGVkXCJcclxuICAgICAgICBbZ3JvdXBdPVwiZ3JvdXBcIlxyXG4gICAgICAgIFtvcHRpb25Hcm91cExhYmVsXT1cIm9wdGlvbkdyb3VwTGFiZWxcIlxyXG4gICAgICAgIFtvcHRpb25Hcm91cENoaWxkcmVuXT1cIm9wdGlvbkdyb3VwQ2hpbGRyZW5cIlxyXG4gICAgICAgIFtzaG93Q2xlYXJdPVwic2hvd0NsZWFyXCJcclxuICAgICAgICBbbGF6eV09XCJsYXp5XCJcclxuICAgICAgICBzY3JvbGxIZWlnaHQ9XCIyNTBweFwiXHJcbiAgICAgICAgKG9uQmx1cik9XCJvbklucHV0Qmx1cigkZXZlbnQpXCJcclxuICAgICAgICAob25DbGljayk9XCJvbklucHV0Q2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgKG9uQ2hhbmdlKT1cIm9uSW5wdXRDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgKG9uRmlsdGVyKT1cIm9uSW5wdXRGaWx0ZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgW3N0eWxlXT1cInsnd2lkdGgnOndpZHRoRmllbGR9XCJcclxuICAgICAgICBbcGFuZWxTdHlsZV09XCJ7IHdpZHRoOiB3aWR0aEZpZWxkLCBvdmVyZmxvdzogJ2F1dG8nIH1cIlxyXG4gICAgICAgIHN0eWxlQ2xhc3M9XCJpbnB1dHNcIlxyXG4gICAgICA+XHJcblxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZVxyXG4gICAgICAgICAgKm5nSWY9XCJzaG93QWRkQnV0dG9uXCJcclxuICAgICAgICAgIHBUZW1wbGF0ZT1cImZvb3RlclwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPHAtZGl2aWRlcj48L3AtZGl2aWRlcj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBjYXJkLWNvbnRhaW5lciBwLTFcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgIHBCdXR0b25cclxuICAgICAgICAgICAgICAgIGxhYmVsPVwiSW5jbHVpclwiXHJcbiAgICAgICAgICAgICAgICBwVG9vbHRpcD1cIkNsaXF1ZSBhcXVpIHBhcmEgaW5jbHVpciB1bSBub3ZvIHJlZ2lzdHJvXCJcclxuICAgICAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiXHJcbiAgICAgICAgICAgICAgICBpY29uPVwicGkgcGktcGx1c1wiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInAtYnV0dG9uLXJvdW5kZWQgcC1idXR0b24tc3VjY2VzcyBtci0yXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJhZGRDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICA+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgPG5nLXRlbXBsYXRlXHJcbiAgICAgICAgICBsZXQtc2VsZWN0ZWRJdGVtXHJcbiAgICAgICAgICBwVGVtcGxhdGU9XCJpdGVtXCJcclxuICAgICAgICAgICpuZ0lmPVwiaXRlbVRlbXBsYXRlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1UZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogc2VsZWN0ZWRJdGVtIH1cIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcblxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZVxyXG4gICAgICAgICAgbGV0LWl0ZW1cclxuICAgICAgICAgIHBUZW1wbGF0ZT1cInNlbGVjdGVkSXRlbVwiXHJcbiAgICAgICAgICAqbmdJZj1cInNlbGVjdGVkSXRlbVRlbXBsYXRlXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNlbGVjdGVkSXRlbVRlbXBsYXRlXCJcclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtIH1cIlxyXG4gICAgICAgICAgPlxyXG5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICA8L3AtZHJvcGRvd24+XHJcblxyXG4gICAgICA8a3YtZXJyb3IgW2hhc0Vycm9yXT1cImhhc0NvbnRyb2xFcnJvcigpXCI+e3sgZXJyb01lc3NhZ2UoKSB9fTwva3YtZXJyb3I+XHJcbiAgICA8L3NwYW4+XHJcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICBgLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtLZWV2b0NvbXBvbmVudHNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIEZvcm1zTW9kdWxlLCBQcmltZU5nTW9kdWxlLCBMYWJlbE1vZHVsZSwga3ZFcnJvck1vZHVsZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEJhc2VDb21wb25lbnREcm9wZG93bk5ldyBleHRlbmRzIEJhc2VDb21wb25lbnREcm9wRG93biB7XHJcblxyXG4gICAgQElucHV0KCkgZm9ybUdyb3VwITogRm9ybUdyb3VwO1xyXG4gICAgQElucHV0KCkgZm9ybUNvbnRyb2xOYW1lITogc3RyaW5nO1xyXG5cclxuICAgIEBJbnB1dCgpIGRyb3BEb3dWYWx1ZSE6IGFueTtcclxuICAgIEBJbnB1dCgpIGl0ZW1UZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgICBASW5wdXQoKSBzZWxlY3RlZEl0ZW1UZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gICAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuZHJvcERvd1ZhbHVlKVxyXG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5kcm9wRG93VmFsdWU7XHJcbiAgICB9XHJcblxyXG59Il19
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
2
|
+
import { of } from 'rxjs';
|
|
3
|
+
import { BaseComponentInput } from './base-component-input';
|
|
4
|
+
import { ObjectService } from '../services/object.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../services/component.service";
|
|
7
|
+
import * as i2 from "primeng/dynamicdialog";
|
|
8
|
+
export class BaseComponentDropDown extends BaseComponentInput {
|
|
9
|
+
constructor(componentService, dialogService) {
|
|
10
|
+
super(componentService);
|
|
11
|
+
this.dialogService = dialogService;
|
|
12
|
+
this.filter = true;
|
|
13
|
+
this.lazy = false;
|
|
14
|
+
this.showAddButton = false;
|
|
15
|
+
this.showClear = true;
|
|
16
|
+
this.onAddClick = new EventEmitter();
|
|
17
|
+
this.onClick = new EventEmitter();
|
|
18
|
+
this.onSelectionChange = new EventEmitter();
|
|
19
|
+
this.onSelectionValue = new EventEmitter();
|
|
20
|
+
this.requestComplete = new EventEmitter();
|
|
21
|
+
this.registerOnTouched(() => { });
|
|
22
|
+
}
|
|
23
|
+
ngOnInit() {
|
|
24
|
+
super.ngOnInit();
|
|
25
|
+
this.setPlaceHolder('Selecione um valor');
|
|
26
|
+
if (!this.lazy)
|
|
27
|
+
this.carregarCombo();
|
|
28
|
+
}
|
|
29
|
+
addClick(event) {
|
|
30
|
+
this.onAddClick.emit(event);
|
|
31
|
+
}
|
|
32
|
+
carregarCombo(filtro) {
|
|
33
|
+
if (filtro) {
|
|
34
|
+
this.carregarComboObs(this.listarCombo(filtro));
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
this.carregarComboObs(this.listar());
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
carregarComboObs(obs) {
|
|
41
|
+
if (obs) {
|
|
42
|
+
obs
|
|
43
|
+
.subscribe({
|
|
44
|
+
next: (data) => {
|
|
45
|
+
this.options = data;
|
|
46
|
+
this.filteredOptions = data;
|
|
47
|
+
this.requestComplete.emit(true);
|
|
48
|
+
},
|
|
49
|
+
error: (error) => {
|
|
50
|
+
console.log(error);
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
filterOptions(field, value) {
|
|
56
|
+
if (this.options) {
|
|
57
|
+
let lista = ObjectService.filterObject(this.options, field, value);
|
|
58
|
+
if (lista?.length > 0) {
|
|
59
|
+
of(lista).subscribe((opts) => {
|
|
60
|
+
this.filteredOptions = opts;
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
else
|
|
64
|
+
this.filteredOptions = [];
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
listar() { }
|
|
68
|
+
listarCombo(value) { }
|
|
69
|
+
openDialog(componentType, width, height) {
|
|
70
|
+
const ref = this.dialogService.open(componentType, {
|
|
71
|
+
width: width || '70%',
|
|
72
|
+
height: height,
|
|
73
|
+
closable: false,
|
|
74
|
+
maximizable: true,
|
|
75
|
+
data: { popup: true },
|
|
76
|
+
});
|
|
77
|
+
ref.onClose.subscribe((id) => {
|
|
78
|
+
if (id) {
|
|
79
|
+
this.listar().subscribe((data) => {
|
|
80
|
+
this.options = data;
|
|
81
|
+
this.filteredOptions = data;
|
|
82
|
+
if (id)
|
|
83
|
+
this.formControl?.setValue(id);
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
onInputChange(event) {
|
|
89
|
+
this.onSelectionValue.emit(event);
|
|
90
|
+
if (this.formControl) {
|
|
91
|
+
const controlName = this.getName(this.formControl);
|
|
92
|
+
if (controlName) {
|
|
93
|
+
let currentItem = ObjectService.findObject(this.options, controlName, event.value);
|
|
94
|
+
this.onSelectionChange.emit(currentItem);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
onInputClick(event) {
|
|
99
|
+
this.onClick.emit(event);
|
|
100
|
+
}
|
|
101
|
+
onInputFilter(event) {
|
|
102
|
+
if (event) {
|
|
103
|
+
if (event.filter) {
|
|
104
|
+
if (event.filter.length > 2) {
|
|
105
|
+
this.carregarCombo({ termoPesquisa: event.filter });
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
writeValue(value) {
|
|
111
|
+
if (this.lazy && value) {
|
|
112
|
+
this.carregarCombo({ id: value });
|
|
113
|
+
}
|
|
114
|
+
this.value = value;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
BaseComponentDropDown.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseComponentDropDown, deps: [{ token: i1.ComponentService }, { token: i2.DialogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
118
|
+
BaseComponentDropDown.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: BaseComponentDropDown, selector: "ng-component", inputs: { filteredOptions: "filteredOptions", options: "options", optionLabel: "optionLabel", optionValue: "optionValue", optionDisabled: "optionDisabled", group: "group", optionGroupLabel: "optionGroupLabel", optionGroupChildren: "optionGroupChildren", filter: "filter", lazy: "lazy", showAddButton: "showAddButton", showClear: "showClear", widthField: "widthField" }, outputs: { onAddClick: "onAddClick", onClick: "onClick", onSelectionChange: "onSelectionChange", onSelectionValue: "onSelectionValue", requestComplete: "requestComplete" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
119
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseComponentDropDown, decorators: [{
|
|
120
|
+
type: Component,
|
|
121
|
+
args: [{
|
|
122
|
+
template: '',
|
|
123
|
+
}]
|
|
124
|
+
}], ctorParameters: function () { return [{ type: i1.ComponentService }, { type: i2.DialogService }]; }, propDecorators: { filteredOptions: [{
|
|
125
|
+
type: Input
|
|
126
|
+
}], options: [{
|
|
127
|
+
type: Input
|
|
128
|
+
}], optionLabel: [{
|
|
129
|
+
type: Input
|
|
130
|
+
}], optionValue: [{
|
|
131
|
+
type: Input
|
|
132
|
+
}], optionDisabled: [{
|
|
133
|
+
type: Input
|
|
134
|
+
}], group: [{
|
|
135
|
+
type: Input
|
|
136
|
+
}], optionGroupLabel: [{
|
|
137
|
+
type: Input
|
|
138
|
+
}], optionGroupChildren: [{
|
|
139
|
+
type: Input
|
|
140
|
+
}], filter: [{
|
|
141
|
+
type: Input
|
|
142
|
+
}], lazy: [{
|
|
143
|
+
type: Input
|
|
144
|
+
}], showAddButton: [{
|
|
145
|
+
type: Input
|
|
146
|
+
}], showClear: [{
|
|
147
|
+
type: Input
|
|
148
|
+
}], widthField: [{
|
|
149
|
+
type: Input
|
|
150
|
+
}], onAddClick: [{
|
|
151
|
+
type: Output
|
|
152
|
+
}], onClick: [{
|
|
153
|
+
type: Output
|
|
154
|
+
}], onSelectionChange: [{
|
|
155
|
+
type: Output
|
|
156
|
+
}], onSelectionValue: [{
|
|
157
|
+
type: Output
|
|
158
|
+
}], requestComplete: [{
|
|
159
|
+
type: Output
|
|
160
|
+
}] } });
|
|
161
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQtZHJvcGRvd24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvYXBpL2Jhc2UtY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudC1kcm9wZG93bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBTTNELE1BQU0sT0FBZ0IscUJBQXNCLFNBQVEsa0JBQXVCO0lBeUJ6RSxZQUNFLGdCQUFrQyxFQUMxQixhQUE0QjtRQUVwQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUZoQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQWY3QixXQUFNLEdBQVksSUFBSSxDQUFDO1FBQ3ZCLFNBQUksR0FBWSxLQUFLLENBQUM7UUFFdEIsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDL0IsY0FBUyxHQUFZLElBQUksQ0FBQztRQUd6QixlQUFVLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbkQsWUFBTyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hELHNCQUFpQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzFELHFCQUFnQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3pELG9CQUFlLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFPaEUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFUSxR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LFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7bUlBR1UsZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVHlwZSxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudElucHV0IH0gZnJvbSAnLi9iYXNlLWNvbXBvbmVudC1pbnB1dCc7XHJcbmltcG9ydCB7IENvbXBvbmVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb21wb25lbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IE9iamVjdFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9vYmplY3Quc2VydmljZSc7XHJcbmltcG9ydCB7IGZpbHRyb0NvbWJvIH0gZnJvbSAnLi4vY29tcG9uZW50cy9kcm9wZG93bi9maWx0cm8uY29tYm8nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGU6ICcnLFxyXG59KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUNvbXBvbmVudERyb3BEb3duIGV4dGVuZHMgQmFzZUNvbXBvbmVudElucHV0PGFueT4gaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBmaWx0ZXJlZE9wdGlvbnMhOiBhbnlbXTtcclxuICBASW5wdXQoKSBvcHRpb25zITogYW55W107XHJcbiAgQElucHV0KCkgb3B0aW9uTGFiZWwhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgb3B0aW9uVmFsdWUhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgb3B0aW9uRGlzYWJsZWQhOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIGdyb3VwITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBvcHRpb25Hcm91cExhYmVsITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG9wdGlvbkdyb3VwQ2hpbGRyZW4hOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIGZpbHRlcjogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgbGF6eTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBzaG93QWRkQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2hvd0NsZWFyOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSB3aWR0aEZpZWxkPzogc3RyaW5nO1xyXG5cclxuICBAT3V0cHV0KCkgb25BZGRDbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvblNlbGVjdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uU2VsZWN0aW9uVmFsdWU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSByZXF1ZXN0Q29tcGxldGU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGNvbXBvbmVudFNlcnZpY2U6IENvbXBvbmVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKGNvbXBvbmVudFNlcnZpY2UpO1xyXG4gICAgdGhpcy5yZWdpc3Rlck9uVG91Y2hlZCgoKSA9PiB7IH0pO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgdGhpcy5zZXRQbGFjZUhvbGRlcignU2VsZWNpb25lIHVtIHZhbG9yJyk7XHJcblxyXG4gICAgaWYgKCF0aGlzLmxhenkpIHRoaXMuY2FycmVnYXJDb21ibygpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGFkZENsaWNrKGV2ZW50OiBFdmVudCkge1xyXG4gICAgdGhpcy5vbkFkZENsaWNrLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNhcnJlZ2FyQ29tYm8oZmlsdHJvPzogZmlsdHJvQ29tYm8pOiB2b2lkIHtcclxuICAgIGlmIChmaWx0cm8pIHtcclxuICAgICAgdGhpcy5jYXJyZWdhckNvbWJvT2JzKHRoaXMubGlzdGFyQ29tYm8oZmlsdHJvKSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5jYXJyZWdhckNvbWJvT2JzKHRoaXMubGlzdGFyKCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjYXJyZWdhckNvbWJvT2JzKG9iczogT2JzZXJ2YWJsZTxhbnk+KSB7XHJcbiAgICBpZiAob2JzKSB7XHJcbiAgICAgIG9ic1xyXG4gICAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDogKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSBkYXRhO1xyXG4gICAgICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IGRhdGE7XHJcbiAgICAgICAgICAgIHRoaXMucmVxdWVzdENvbXBsZXRlLmVtaXQodHJ1ZSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZXJyb3I6IChlcnJvcjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZmlsdGVyT3B0aW9ucyhmaWVsZDogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5vcHRpb25zKSB7XHJcbiAgICAgIGxldCBsaXN0YSA9IE9iamVjdFNlcnZpY2UuZmlsdGVyT2JqZWN0KHRoaXMub3B0aW9ucywgZmllbGQsIHZhbHVlKTtcclxuICAgICAgaWYgKGxpc3RhPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgb2YobGlzdGEpLnN1YnNjcmliZSgob3B0czogYW55W10pID0+IHtcclxuICAgICAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gb3B0cztcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgbGlzdGFyKCk6IGFueSB7IH1cclxuICBwcm90ZWN0ZWQgbGlzdGFyQ29tYm8odmFsdWU6IGFueSk6IGFueSB7IH1cclxuXHJcbiAgcHJvdGVjdGVkIG9wZW5EaWFsb2coXHJcbiAgICBjb21wb25lbnRUeXBlOiBUeXBlPGFueT4sXHJcbiAgICB3aWR0aD86IHN0cmluZyxcclxuICAgIGhlaWdodD86IHN0cmluZ1xyXG4gICkge1xyXG4gICAgY29uc3QgcmVmID0gdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4oY29tcG9uZW50VHlwZSwge1xyXG4gICAgICB3aWR0aDogd2lkdGggfHwgJzcwJScsXHJcbiAgICAgIGhlaWdodDogaGVpZ2h0LFxyXG4gICAgICBjbG9zYWJsZTogZmFsc2UsXHJcbiAgICAgIG1heGltaXphYmxlOiB0cnVlLFxyXG4gICAgICBkYXRhOiB7IHBvcHVwOiB0cnVlIH0sXHJcbiAgICB9KTtcclxuXHJcbiAgICByZWYub25DbG9zZS5zdWJzY3JpYmUoKGlkOiBhbnkpID0+IHtcclxuICAgICAgaWYgKGlkKSB7XHJcbiAgICAgICAgdGhpcy5saXN0YXIoKS5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5vcHRpb25zID0gZGF0YTtcclxuICAgICAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gZGF0YTtcclxuICAgICAgICAgIGlmIChpZCkgdGhpcy5mb3JtQ29udHJvbD8uc2V0VmFsdWUoaWQpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBvbklucHV0Q2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMub25TZWxlY3Rpb25WYWx1ZS5lbWl0KGV2ZW50KTtcclxuXHJcbiAgICBpZiAodGhpcy5mb3JtQ29udHJvbCkge1xyXG4gICAgICBjb25zdCBjb250cm9sTmFtZSA9IHRoaXMuZ2V0TmFtZSh0aGlzLmZvcm1Db250cm9sIGFzIEZvcm1Db250cm9sKTtcclxuICAgICAgaWYgKGNvbnRyb2xOYW1lKSB7XHJcbiAgICAgICAgbGV0IGN1cnJlbnRJdGVtID0gT2JqZWN0U2VydmljZS5maW5kT2JqZWN0KFxyXG4gICAgICAgICAgdGhpcy5vcHRpb25zLFxyXG4gICAgICAgICAgY29udHJvbE5hbWUsXHJcbiAgICAgICAgICBldmVudC52YWx1ZVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5vblNlbGVjdGlvbkNoYW5nZS5lbWl0KGN1cnJlbnRJdGVtKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25JbnB1dENsaWNrKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMub25DbGljay5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIG9uSW5wdXRGaWx0ZXIoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgIGlmIChldmVudC5maWx0ZXIpIHtcclxuICAgICAgICBpZiAoZXZlbnQuZmlsdGVyLmxlbmd0aCA+IDIpIHtcclxuICAgICAgICAgIHRoaXMuY2FycmVnYXJDb21ibyh7IHRlcm1vUGVzcXVpc2E6IGV2ZW50LmZpbHRlciB9IGFzIGZpbHRyb0NvbWJvKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMubGF6eSAmJiB2YWx1ZSkge1xyXG4gICAgICB0aGlzLmNhcnJlZ2FyQ29tYm8oeyBpZDogdmFsdWUgfSBhcyBmaWx0cm9Db21ibyk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { Component, ContentChildren, EventEmitter, Input, Output, ViewChildren } from "@angular/core";
|
|
2
|
+
import { BaseComponent } from './base-component';
|
|
3
|
+
import { ErrorComponent } from '../components/error/error.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../services/component.service";
|
|
6
|
+
export class BaseComponentInput extends BaseComponent {
|
|
7
|
+
constructor(componentService) {
|
|
8
|
+
super();
|
|
9
|
+
this.componentService = componentService;
|
|
10
|
+
this.hasError = false;
|
|
11
|
+
this.placeholder = '';
|
|
12
|
+
this.onBlur = new EventEmitter();
|
|
13
|
+
this.onInput = new EventEmitter();
|
|
14
|
+
this.onClose = new EventEmitter();
|
|
15
|
+
}
|
|
16
|
+
get baseInputClass() {
|
|
17
|
+
return `${this.hasError ? 'ng-invalid ng-dirty' : ''} !important`;
|
|
18
|
+
}
|
|
19
|
+
erroMessage() {
|
|
20
|
+
if (!this.formControl?.errors)
|
|
21
|
+
return;
|
|
22
|
+
let message = '';
|
|
23
|
+
if (this.formControl.errors) {
|
|
24
|
+
const objErrors = this.formControl.errors;
|
|
25
|
+
if (objErrors.erroMessage)
|
|
26
|
+
message = objErrors.erroMessage;
|
|
27
|
+
}
|
|
28
|
+
return message;
|
|
29
|
+
}
|
|
30
|
+
getName(control) {
|
|
31
|
+
return Object.entries(control.parent?.controls ?? []).find(([_, value]) => value === control)?.[0] ?? null;
|
|
32
|
+
}
|
|
33
|
+
hasControlError() {
|
|
34
|
+
if (!this.formControl)
|
|
35
|
+
return false;
|
|
36
|
+
return (this.formControl.dirty || this.formControl.touched) && this.formControl.errors !== null;
|
|
37
|
+
}
|
|
38
|
+
ngAfterViewInit() {
|
|
39
|
+
this.viewErrors.forEach(c => {
|
|
40
|
+
c.emitError.subscribe(res => {
|
|
41
|
+
this.hasError = res;
|
|
42
|
+
this.componentService.changeDetectorRef.detectChanges();
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
ngAfterContentInit() {
|
|
47
|
+
this.contentErrors.forEach(c => {
|
|
48
|
+
c.emitError.subscribe(res => {
|
|
49
|
+
this.hasError = res;
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
ngOnInit() {
|
|
54
|
+
this.formControl = this.componentService.getFormControl();
|
|
55
|
+
}
|
|
56
|
+
onInputBlur(event) {
|
|
57
|
+
if (this.onTouched)
|
|
58
|
+
this.onTouched();
|
|
59
|
+
this.onBlur.emit(event);
|
|
60
|
+
}
|
|
61
|
+
onInputClose(event) {
|
|
62
|
+
this.onClose.emit(event);
|
|
63
|
+
}
|
|
64
|
+
onInputInput(event) {
|
|
65
|
+
this.onInput.emit(event);
|
|
66
|
+
}
|
|
67
|
+
setPlaceHolder(p) {
|
|
68
|
+
if (!this.placeholder)
|
|
69
|
+
this.placeholder = p;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
BaseComponentInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseComponentInput, deps: [{ token: i1.ComponentService }], target: i0.ɵɵFactoryTarget.Component });
|
|
73
|
+
BaseComponentInput.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: BaseComponentInput, selector: "ng-component", inputs: { placeholder: "placeholder" }, outputs: { onBlur: "onBlur", onInput: "onInput", onClose: "onClose" }, queries: [{ propertyName: "contentErrors", predicate: ErrorComponent }], viewQueries: [{ propertyName: "viewErrors", predicate: ErrorComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseComponentInput, decorators: [{
|
|
75
|
+
type: Component,
|
|
76
|
+
args: [{
|
|
77
|
+
template: '',
|
|
78
|
+
}]
|
|
79
|
+
}], ctorParameters: function () { return [{ type: i1.ComponentService }]; }, propDecorators: { placeholder: [{
|
|
80
|
+
type: Input
|
|
81
|
+
}], onBlur: [{
|
|
82
|
+
type: Output
|
|
83
|
+
}], onInput: [{
|
|
84
|
+
type: Output
|
|
85
|
+
}], onClose: [{
|
|
86
|
+
type: Output
|
|
87
|
+
}], viewErrors: [{
|
|
88
|
+
type: ViewChildren,
|
|
89
|
+
args: [ErrorComponent]
|
|
90
|
+
}], contentErrors: [{
|
|
91
|
+
type: ContentChildren,
|
|
92
|
+
args: [ErrorComponent]
|
|
93
|
+
}] } });
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQtaW5wdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvYXBpL2Jhc2UtY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudC1pbnB1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7O0FBS3JFLE1BQU0sT0FBZ0Isa0JBQXNCLFNBQVEsYUFBZ0I7SUFjbEUsWUFBK0IsZ0JBQWtDO1FBQy9ELEtBQUssRUFBRSxDQUFDO1FBRHFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFYdkQsYUFBUSxHQUF3QixLQUFLLENBQUM7UUFFdkMsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFFeEIsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQy9DLFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoRCxZQUFPLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFPMUQsQ0FBQztJQUVELElBQVcsY0FBYztRQUN2QixPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDO0lBQ3BFLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsTUFBTTtZQUFFLE9BQU87UUFFdEMsSUFBSSxPQUFPLEdBQVcsRUFBRSxDQUFDO1FBRXpCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUU7WUFD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ImltcG9ydCB7XHJcbiAgQWZ0ZXJDb250ZW50SW5pdCxcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENvbXBvbmVudCxcclxuICBDb250ZW50Q2hpbGRyZW4sXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgUXVlcnlMaXN0LFxyXG4gIFZpZXdDaGlsZHJlblxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UtY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB7IENvbXBvbmVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb21wb25lbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IEVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9lcnJvci9lcnJvci5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGU6ICcnLFxyXG59KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUNvbXBvbmVudElucHV0PFQ+IGV4dGVuZHMgQmFzZUNvbXBvbmVudDxUPiBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcblxyXG4gIHByb3RlY3RlZCBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2wgfCB1bmRlZmluZWQ7XHJcbiAgcHJvdGVjdGVkIGhhc0Vycm9yOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgQE91dHB1dCgpIG9uQmx1cjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uSW5wdXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbkNsb3NlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQFZpZXdDaGlsZHJlbihFcnJvckNvbXBvbmVudCkgdmlld0Vycm9ycyE6IFF1ZXJ5TGlzdDxFcnJvckNvbXBvbmVudD47XHJcbiAgQENvbnRlbnRDaGlsZHJlbihFcnJvckNvbXBvbmVudCkgY29udGVudEVycm9ycyE6IFF1ZXJ5TGlzdDxFcnJvckNvbXBvbmVudD47XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByZWFkb25seSBjb21wb25lbnRTZXJ2aWNlOiBDb21wb25lbnRTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBiYXNlSW5wdXRDbGFzcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAke3RoaXMuaGFzRXJyb3IgPyAnbmctaW52YWxpZCBuZy1kaXJ0eScgOiAnJ30gIWltcG9ydGFudGA7XHJcbiAgfVxyXG5cclxuICBlcnJvTWVzc2FnZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gICAgaWYgKCF0aGlzLmZvcm1Db250cm9sPy5lcnJvcnMpIHJldHVybjtcclxuXHJcbiAgICBsZXQgbWVzc2FnZTogc3RyaW5nID0gJyc7XHJcblxyXG4gICAgaWYgKHRoaXMuZm9ybUNvbnRyb2wuZXJyb3JzKSB7XHJcbiAgICAgIGNvbnN0IG9iakVycm9ycyA9IHRoaXMuZm9ybUNvbnRyb2wuZXJyb3JzIGFzIGFueTtcclxuICAgICAgaWYgKG9iakVycm9ycy5lcnJvTWVzc2FnZSkgbWVzc2FnZSA9IG9iakVycm9ycy5lcnJvTWVzc2FnZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbWVzc2FnZTtcclxuICB9XHJcblxyXG4gIGdldE5hbWUoY29udHJvbDogRm9ybUNvbnRyb2wpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIHJldHVybiBPYmplY3QuZW50cmllcyhjb250cm9sLnBhcmVudD8uY29udHJvbHMgPz8gW10pLmZpbmQoKFtfLCB2YWx1ZV0pID0+IHZhbHVlID09PSBjb250cm9sKT8uWzBdID8/IG51bGw7XHJcbiAgfVxyXG5cclxuICBoYXNDb250cm9sRXJyb3IoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuZm9ybUNvbnRyb2wpIHJldHVybiBmYWxzZTtcclxuICAgIHJldHVybiAodGhpcy5mb3JtQ29udHJvbC5kaXJ0eSB8fCB0aGlzLmZvcm1Db250cm9sLnRvdWNoZWQpICYmIHRoaXMuZm9ybUNvbnRyb2wuZXJyb3JzICE9PSBudWxsO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy52aWV3RXJyb3JzLmZvckVhY2goYyA9PiB7XHJcbiAgICAgIGMuZW1pdEVycm9yLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgIHRoaXMuaGFzRXJyb3IgPSByZXM7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRTZXJ2aWNlLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcclxuICAgIHRoaXMuY29udGVudEVycm9ycy5mb3JFYWNoKGMgPT4ge1xyXG4gICAgICBjLmVtaXRFcnJvci5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICB0aGlzLmhhc0Vycm9yID0gcmVzO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sID0gdGhpcy5jb21wb25lbnRTZXJ2aWNlLmdldEZvcm1Db250cm9sKCk7XHJcbiAgfVxyXG5cclxuICBvbklucHV0Qmx1cihldmVudDogRXZlbnQpIHtcclxuICAgIGlmICh0aGlzLm9uVG91Y2hlZClcclxuICAgICAgdGhpcy5vblRvdWNoZWQoKTtcclxuXHJcbiAgICB0aGlzLm9uQmx1ci5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIG9uSW5wdXRDbG9zZShldmVudDogRXZlbnQpIHtcclxuICAgIHRoaXMub25DbG9zZS5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIG9uSW5wdXRJbnB1dChldmVudDogRXZlbnQpIHtcclxuICAgIHRoaXMub25JbnB1dC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBzZXRQbGFjZUhvbGRlcihwOiBzdHJpbmcpIHtcclxuICAgIGlmICghdGhpcy5wbGFjZWhvbGRlcikgdGhpcy5wbGFjZWhvbGRlciA9IHA7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|