keevo-components 1.8.126 → 1.8.127
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/ng-package.json +7 -0
- package/package.json +30 -43
- 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 +74 -0
- package/src/assets/images/keevo-logo.png +0 -0
- package/src/assets/images/logokeevo_2.png +0 -0
- package/src/index.ts +1 -0
- package/src/lib/api/base-components/base-component-button.ts +29 -0
- package/src/lib/api/base-components/base-component-chart.ts +105 -0
- package/src/lib/api/base-components/base-component-crud-form.ts +361 -0
- package/src/lib/api/base-components/base-component-crud-list.ts +122 -0
- package/src/lib/api/base-components/base-component-crud.ts +70 -0
- package/src/lib/api/base-components/base-component-dropdown-external.ts +29 -0
- package/src/lib/api/base-components/base-component-dropdown-new.ts +112 -0
- package/src/lib/api/base-components/base-component-dropdown.ts +170 -0
- package/src/lib/api/base-components/base-component-input.ts +107 -0
- package/src/lib/api/base-components/base-component-multi-select.ts +136 -0
- package/src/lib/api/base-components/base-component.ts +47 -0
- package/src/lib/api/components/chart/chart.config.ts +12 -0
- package/src/lib/api/components/chart/chart.model.ts +9 -0
- package/src/lib/api/components/chart/orchart.config.ts +41 -0
- package/src/lib/api/components/chart/orchart.item.ts +33 -0
- package/src/lib/api/components/dropdown/filtro.combo.ts +4 -0
- package/src/lib/api/components/table/action-item.ts +11 -0
- package/src/lib/api/components/table/kv-menuitem.ts +198 -0
- package/src/lib/api/components/table/table-dropdown-control.ts +6 -0
- package/src/lib/api/components/table/table.config.column.ts +27 -0
- package/src/lib/api/components/table/table.config.ts +34 -0
- package/src/lib/api/components/table/table.paginate.ts +6 -0
- package/src/lib/api/components/table/tabledit.config.ts +10 -0
- package/src/lib/api/components/table/tableedit.config.column.ts +12 -0
- package/src/lib/api/components/tree-table/tree-table.config.ts +30 -0
- package/src/lib/api/directives/directives.module.ts +16 -0
- package/src/lib/api/directives/drag/drag.directive.ts +40 -0
- package/src/lib/api/directives/template/template.directive.ts +15 -0
- package/src/lib/api/helpers/component-providers.ts +16 -0
- package/src/lib/api/helpers/keevo-validators.ts +97 -0
- package/src/lib/api/helpers/severity-color.ts +77 -0
- package/src/lib/api/helpers/translate-primeng.ts +25 -0
- package/src/lib/api/modules/primeng.module.ts +134 -0
- package/src/lib/api/pipes/capitalize.pipe.ts +23 -0
- package/src/lib/api/pipes/cpfcnpj.pipe.ts +21 -0
- package/src/lib/api/pipes/mask.pipe.ts +24 -0
- package/src/lib/api/pipes/pipes.module.ts +26 -0
- package/src/lib/api/pipes/telefone.pipe.ts +38 -0
- package/src/lib/api/services/base.api.service.ts +115 -0
- package/src/lib/api/services/breadcrumbs.service.ts +58 -0
- package/src/lib/api/services/component.service.ts +32 -0
- package/src/lib/api/services/docs.service.ts +129 -0
- package/src/lib/api/services/form.service.ts +115 -0
- package/src/lib/api/services/imagens.service.ts +28 -0
- package/src/lib/api/services/notification.service.ts +85 -0
- package/src/lib/api/services/object.service.ts +33 -0
- package/{lib/api/types/severity.d.ts → src/lib/api/types/severity.ts} +3 -2
- package/src/lib/api/types/stimulsoft.reports.d.ts +67463 -0
- package/src/lib/components/keevo-components-styles.scss +11 -0
- package/src/lib/components/keevo-components.module.ts +72 -0
- package/src/lib/components/kv-avatar/kv-avatar.component.html +12 -0
- package/src/lib/components/kv-avatar/kv-avatar.component.scss +45 -0
- package/src/lib/components/kv-avatar/kv-avatar.component.spec.ts +23 -0
- package/src/lib/components/kv-avatar/kv-avatar.component.ts +72 -0
- package/src/lib/components/kv-avatar/kv-avatar.module.ts +21 -0
- package/src/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.html +16 -0
- package/src/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.scss +3 -0
- package/src/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.ts +34 -0
- package/src/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.html +12 -0
- package/src/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.scss +31 -0
- package/src/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.ts +40 -0
- package/src/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.html +12 -0
- package/src/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.scss +14 -0
- package/src/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.ts +14 -0
- package/src/lib/components/kv-buttons/kv-button-success/kv-button-success.component.html +11 -0
- package/src/lib/components/kv-buttons/kv-button-success/kv-button-success.component.scss +13 -0
- package/src/lib/components/kv-buttons/kv-button-success/kv-button-success.component.ts +14 -0
- package/src/lib/components/kv-buttons/kv-button.module.ts +26 -0
- package/src/lib/components/kv-carousel/kv-carousel.component.html +8 -0
- package/src/lib/components/kv-carousel/kv-carousel.component.scss +32 -0
- package/src/lib/components/kv-carousel/kv-carousel.component.spec.ts +23 -0
- package/src/lib/components/kv-carousel/kv-carousel.component.ts +31 -0
- package/src/lib/components/kv-carousel/kv-carousel.module.ts +19 -0
- package/src/lib/components/kv-chart/kv-chart.component.html +38 -0
- package/src/lib/components/kv-chart/kv-chart.component.scss +0 -0
- package/src/lib/components/kv-chart/kv-chart.component.spec.ts +28 -0
- package/src/lib/components/kv-chart/kv-chart.component.ts +153 -0
- package/src/lib/components/kv-chart/kv-chart.module.ts +21 -0
- package/src/lib/components/kv-error/kv-error.component.html +3 -0
- package/src/lib/components/kv-error/kv-error.component.scss +5 -0
- package/src/lib/components/kv-error/kv-error.component.ts +27 -0
- package/src/lib/components/kv-error/kv-error.module.ts +26 -0
- package/src/lib/components/kv-image-upload/kv-image-upload.component.html +62 -0
- package/src/lib/components/kv-image-upload/kv-image-upload.component.scss +0 -0
- package/src/lib/components/kv-image-upload/kv-image-upload.component.ts +82 -0
- package/src/lib/components/kv-image-upload/kv-image-upload.module.ts +10 -0
- package/src/lib/components/kv-inputs/kv-check/kv-check.component.html +12 -0
- package/src/lib/components/kv-inputs/kv-check/kv-check.component.scss +13 -0
- package/src/lib/components/kv-inputs/kv-check/kv-check.component.ts +32 -0
- package/src/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.html +91 -0
- package/src/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.scss +21 -0
- package/src/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.ts +40 -0
- package/src/lib/components/kv-inputs/kv-editor/kv-editor.component.html +100 -0
- package/src/lib/components/kv-inputs/kv-editor/kv-editor.component.scss +8 -0
- package/src/lib/components/kv-inputs/kv-editor/kv-editor.component.ts +113 -0
- package/src/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.html +30 -0
- package/src/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.scss +0 -0
- package/src/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.ts +84 -0
- package/src/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.html +22 -0
- package/src/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.scss +0 -0
- package/src/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.ts +35 -0
- package/src/lib/components/kv-inputs/kv-input-number/kv-input-number.component.html +23 -0
- package/src/lib/components/kv-inputs/kv-input-number/kv-input-number.component.scss +0 -0
- package/src/lib/components/kv-inputs/kv-input-number/kv-input-number.component.ts +61 -0
- package/src/lib/components/kv-inputs/kv-input-password/kv-input-password.component.html +23 -0
- package/src/lib/components/kv-inputs/kv-input-password/kv-input-password.component.scss +0 -0
- package/src/lib/components/kv-inputs/kv-input-password/kv-input-password.component.ts +26 -0
- package/src/lib/components/kv-inputs/kv-input-text/kv-input-text.component.html +22 -0
- package/src/lib/components/kv-inputs/kv-input-text/kv-input-text.component.scss +18 -0
- package/src/lib/components/kv-inputs/kv-input-text/kv-input-text.component.ts +27 -0
- package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.html +35 -0
- package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.scss +0 -0
- package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.spec.ts +23 -0
- package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.ts +43 -0
- package/src/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.html +22 -0
- package/src/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.scss +0 -0
- package/src/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.ts +40 -0
- package/src/lib/components/kv-inputs/kv-input-time/kv-input-time.component.html +23 -0
- package/src/lib/components/kv-inputs/kv-input-time/kv-input-time.component.scss +0 -0
- package/src/lib/components/kv-inputs/kv-input-time/kv-input-time.component.ts +27 -0
- package/src/lib/components/kv-inputs/kv-inputs.module.ts +75 -0
- package/src/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.html +45 -0
- package/src/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.scss +13 -0
- package/src/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.ts +44 -0
- package/src/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.html +19 -0
- package/src/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.scss +15 -0
- package/src/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.ts +59 -0
- package/src/lib/components/kv-inputs/kv-select-button/kv-select-button.component.html +26 -0
- package/src/lib/components/kv-inputs/kv-select-button/kv-select-button.component.scss +5 -0
- package/src/lib/components/kv-inputs/kv-select-button/kv-select-button.component.spec.ts +21 -0
- package/src/lib/components/kv-inputs/kv-select-button/kv-select-button.component.ts +30 -0
- package/src/lib/components/kv-inputs/kv-switch/kv-switch.component.html +13 -0
- package/src/lib/components/kv-inputs/kv-switch/kv-switch.component.scss +3 -0
- package/src/lib/components/kv-inputs/kv-switch/kv-switch.component.ts +41 -0
- package/src/lib/components/kv-label/kv-label.component.html +6 -0
- package/src/lib/components/kv-label/kv-label.component.scss +9 -0
- package/src/lib/components/kv-label/kv-label.component.spec.ts +23 -0
- package/src/lib/components/kv-label/kv-label.component.ts +14 -0
- package/src/lib/components/kv-label/kv-label.module.ts +17 -0
- package/src/lib/components/kv-loader/kv-loader.component.html +1 -0
- package/src/lib/components/kv-loader/kv-loader.component.ts +15 -0
- package/src/lib/components/kv-loader/kv-loader.module.ts +17 -0
- package/src/lib/components/kv-loader/kv-loader.service.ts +31 -0
- package/src/lib/components/kv-login/kv-login.component.html +108 -0
- package/src/lib/components/kv-login/kv-login.component.scss +76 -0
- package/src/lib/components/kv-login/kv-login.component.spec.ts +23 -0
- package/src/lib/components/kv-login/kv-login.component.ts +81 -0
- package/src/lib/components/kv-login/kv-login.module.ts +33 -0
- package/src/lib/components/kv-menu/kv-menu.component.html +292 -0
- package/src/lib/components/kv-menu/kv-menu.component.scss +214 -0
- package/src/lib/components/kv-menu/kv-menu.component.spec.ts +23 -0
- package/src/lib/components/kv-menu/kv-menu.component.ts +195 -0
- package/src/lib/components/kv-menu/kv-menu.module.ts +33 -0
- package/src/lib/components/kv-modal/kv-modal.component.html +20 -0
- package/src/lib/components/kv-modal/kv-modal.component.scss +84 -0
- package/src/lib/components/kv-modal/kv-modal.component.spec.ts +21 -0
- package/src/lib/components/kv-modal/kv-modal.component.ts +114 -0
- package/src/lib/components/kv-modal/kv-modal.module.ts +21 -0
- package/src/lib/components/kv-orgchart/kv-orgchart.component.html +58 -0
- package/src/lib/components/kv-orgchart/kv-orgchart.component.scss +21 -0
- package/src/lib/components/kv-orgchart/kv-orgchart.component.ts +110 -0
- package/src/lib/components/kv-orgchart/kv-orgchart.module.ts +14 -0
- package/src/lib/components/kv-page-form/kv-page-form.component.html +117 -0
- package/src/lib/components/kv-page-form/kv-page-form.component.scss +76 -0
- package/src/lib/components/kv-page-form/kv-page-form.component.spec.ts +28 -0
- package/src/lib/components/kv-page-form/kv-page-form.component.ts +152 -0
- package/src/lib/components/kv-page-form/kv-page-form.module.ts +31 -0
- package/src/lib/components/kv-pick-list/kv-pick-list.component.html +19 -0
- package/src/lib/components/kv-pick-list/kv-pick-list.component.scss +0 -0
- package/src/lib/components/kv-pick-list/kv-pick-list.component.spec.ts +26 -0
- package/src/lib/components/kv-pick-list/kv-pick-list.component.ts +37 -0
- package/src/lib/components/kv-pick-list/kv-pick-list.module.ts +21 -0
- package/src/lib/components/kv-progress-bar/kv-progress-bar.component.html +38 -0
- package/src/lib/components/kv-progress-bar/kv-progress-bar.component.scss +110 -0
- package/src/lib/components/kv-progress-bar/kv-progress-bar.component.spec.ts +21 -0
- package/src/lib/components/kv-progress-bar/kv-progress-bar.component.ts +79 -0
- package/src/lib/components/kv-progress-bar/kv-progress-bar.module.ts +19 -0
- package/src/lib/components/kv-report/kv-report.component.html +12 -0
- package/src/lib/components/kv-report/kv-report.component.scss +21 -0
- package/src/lib/components/kv-report/kv-report.component.spec.ts +28 -0
- package/src/lib/components/kv-report/kv-report.component.ts +50 -0
- package/src/lib/components/kv-report/kv-report.module.ts +18 -0
- package/src/lib/components/kv-stepper/kv-stepper.component.html +44 -0
- package/src/lib/components/kv-stepper/kv-stepper.component.scss +41 -0
- package/src/lib/components/kv-stepper/kv-stepper.component.spec.ts +23 -0
- package/src/lib/components/kv-stepper/kv-stepper.component.ts +41 -0
- package/src/lib/components/kv-stepper/kv-stepper.module.ts +20 -0
- package/src/lib/components/kv-table/kv-table.component.html +482 -0
- package/src/lib/components/kv-table/kv-table.component.scss +265 -0
- package/src/lib/components/kv-table/kv-table.component.spec.ts +28 -0
- package/src/lib/components/kv-table/kv-table.component.ts +535 -0
- package/src/lib/components/kv-table/kv-table.module.ts +23 -0
- package/src/lib/components/kv-table-edit/kv-table-edit.component.html +659 -0
- package/src/lib/components/kv-table-edit/kv-table-edit.component.scss +701 -0
- package/src/lib/components/kv-table-edit/kv-table-edit.component.ts +700 -0
- package/src/lib/components/kv-table-edit/kv-table-edit.module.ts +28 -0
- package/src/lib/components/kv-tree-table/kv-tree-table.component.html +556 -0
- package/src/lib/components/kv-tree-table/kv-tree-table.component.scss +145 -0
- package/src/lib/components/kv-tree-table/kv-tree-table.component.spec.ts +21 -0
- package/src/lib/components/kv-tree-table/kv-tree-table.component.ts +294 -0
- package/src/lib/components/kv-tree-table/kv-tree-table.module.ts +18 -0
- package/src/lib/components/kv-tree-view/kv-tree-view.component.html +9 -0
- package/src/lib/components/kv-tree-view/kv-tree-view.component.scss +0 -0
- package/src/lib/components/kv-tree-view/kv-tree-view.component.spec.ts +23 -0
- package/src/lib/components/kv-tree-view/kv-tree-view.component.ts +31 -0
- package/src/lib/components/kv-tree-view/kv-tree-view.module.ts +19 -0
- package/src/lib/components/kv-workspace/kv-workspace.component.html +53 -0
- package/src/lib/components/kv-workspace/kv-workspace.component.scss +117 -0
- package/src/lib/components/kv-workspace/kv-workspace.component.ts +201 -0
- package/src/lib/components/kv-workspace/kv-workspace.module.ts +35 -0
- package/{public-api.d.ts → src/public-api.ts} +209 -178
- package/tsconfig.lib.json +14 -0
- package/tsconfig.lib.prod.json +10 -0
- package/tsconfig.spec.json +14 -0
- package/esm2022/keevo-components.mjs +0 -5
- package/esm2022/lib/api/base-components/base-component-button.mjs +0 -39
- package/esm2022/lib/api/base-components/base-component-chart.mjs +0 -92
- package/esm2022/lib/api/base-components/base-component-crud-form.mjs +0 -298
- package/esm2022/lib/api/base-components/base-component-crud-list.mjs +0 -79
- package/esm2022/lib/api/base-components/base-component-crud.mjs +0 -65
- package/esm2022/lib/api/base-components/base-component-dropdown-external.mjs +0 -31
- package/esm2022/lib/api/base-components/base-component-dropdown.mjs +0 -169
- package/esm2022/lib/api/base-components/base-component-input.mjs +0 -94
- package/esm2022/lib/api/base-components/base-component-multi-select.mjs +0 -130
- package/esm2022/lib/api/base-components/base-component.mjs +0 -51
- package/esm2022/lib/api/components/chart/chart.config.mjs +0 -2
- package/esm2022/lib/api/components/chart/chart.model.mjs +0 -2
- package/esm2022/lib/api/components/chart/orchart.config.mjs +0 -2
- package/esm2022/lib/api/components/chart/orchart.item.mjs +0 -2
- package/esm2022/lib/api/components/dropdown/filtro.combo.mjs +0 -2
- package/esm2022/lib/api/components/table/action-item.mjs +0 -2
- package/esm2022/lib/api/components/table/kv-menuitem.mjs +0 -46
- package/esm2022/lib/api/components/table/table-dropdown-control.mjs +0 -2
- package/esm2022/lib/api/components/table/table.config.column.mjs +0 -2
- package/esm2022/lib/api/components/table/table.config.mjs +0 -2
- package/esm2022/lib/api/components/table/table.paginate.mjs +0 -9
- package/esm2022/lib/api/components/table/tabledit.config.mjs +0 -2
- package/esm2022/lib/api/components/table/tableedit.config.column.mjs +0 -2
- package/esm2022/lib/api/components/tree-table/tree-table.config.mjs +0 -3
- package/esm2022/lib/api/directives/template/template.directive.mjs +0 -24
- package/esm2022/lib/api/helpers/component-providers.mjs +0 -16
- package/esm2022/lib/api/helpers/keevo-validators.mjs +0 -82
- package/esm2022/lib/api/helpers/translate-primeng.mjs +0 -23
- package/esm2022/lib/api/modules/primeng.module.mjs +0 -263
- package/esm2022/lib/api/pipes/cpfcnpj.pipe.mjs +0 -25
- package/esm2022/lib/api/pipes/mask.pipe.mjs +0 -29
- package/esm2022/lib/api/pipes/pipes.module.mjs +0 -34
- package/esm2022/lib/api/pipes/telefone.pipe.mjs +0 -45
- package/esm2022/lib/api/services/base.api.service.mjs +0 -74
- package/esm2022/lib/api/services/breadcrumbs.service.mjs +0 -57
- package/esm2022/lib/api/services/component.service.mjs +0 -27
- package/esm2022/lib/api/services/docs.service.mjs +0 -129
- package/esm2022/lib/api/services/form.service.mjs +0 -85
- package/esm2022/lib/api/services/imagens.service.mjs +0 -28
- package/esm2022/lib/api/services/notification.service.mjs +0 -67
- package/esm2022/lib/api/services/object.service.mjs +0 -39
- package/esm2022/lib/api/types/severity.mjs +0 -2
- package/esm2022/lib/components/keevo-components.module.mjs +0 -151
- package/esm2022/lib/components/kv-avatar/kv-avatar.component.mjs +0 -78
- package/esm2022/lib/components/kv-avatar/kv-avatar.module.mjs +0 -32
- package/esm2022/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.mjs +0 -31
- package/esm2022/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.mjs +0 -37
- package/esm2022/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.mjs +0 -17
- package/esm2022/lib/components/kv-buttons/kv-button-success/kv-button-success.component.mjs +0 -17
- package/esm2022/lib/components/kv-buttons/kv-button.module.mjs +0 -39
- package/esm2022/lib/components/kv-carousel/kv-carousel.component.mjs +0 -32
- package/esm2022/lib/components/kv-carousel/kv-carousel.module.mjs +0 -28
- package/esm2022/lib/components/kv-chart/kv-chart.component.mjs +0 -145
- package/esm2022/lib/components/kv-chart/kv-chart.module.mjs +0 -32
- package/esm2022/lib/components/kv-error/kv-error.component.mjs +0 -26
- package/esm2022/lib/components/kv-error/kv-error.module.mjs +0 -35
- package/esm2022/lib/components/kv-image-upload/kv-image-upload.component.mjs +0 -83
- package/esm2022/lib/components/kv-image-upload/kv-image-upload.module.mjs +0 -18
- package/esm2022/lib/components/kv-inputs/kv-check/kv-check.component.mjs +0 -26
- package/esm2022/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.mjs +0 -37
- package/esm2022/lib/components/kv-inputs/kv-editor/kv-editor.component.mjs +0 -92
- package/esm2022/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.mjs +0 -89
- package/esm2022/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.mjs +0 -29
- package/esm2022/lib/components/kv-inputs/kv-input-number/kv-input-number.component.mjs +0 -59
- package/esm2022/lib/components/kv-inputs/kv-input-password/kv-input-password.component.mjs +0 -33
- package/esm2022/lib/components/kv-inputs/kv-input-text/kv-input-text.component.mjs +0 -25
- package/esm2022/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.mjs +0 -42
- package/esm2022/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.mjs +0 -43
- package/esm2022/lib/components/kv-inputs/kv-input-time/kv-input-time.component.mjs +0 -24
- package/esm2022/lib/components/kv-inputs/kv-inputs.module.mjs +0 -117
- package/esm2022/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.mjs +0 -44
- package/esm2022/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.mjs +0 -53
- package/esm2022/lib/components/kv-inputs/kv-select-button/kv-select-button.component.mjs +0 -46
- package/esm2022/lib/components/kv-inputs/kv-switch/kv-switch.component.mjs +0 -34
- package/esm2022/lib/components/kv-label/kv-label.component.mjs +0 -15
- package/esm2022/lib/components/kv-label/kv-label.module.mjs +0 -24
- package/esm2022/lib/components/kv-loader/kv-loader.component.mjs +0 -17
- package/esm2022/lib/components/kv-loader/kv-loader.module.mjs +0 -28
- package/esm2022/lib/components/kv-loader/kv-loader.service.mjs +0 -29
- package/esm2022/lib/components/kv-login/kv-login.component.mjs +0 -52
- package/esm2022/lib/components/kv-login/kv-login.module.mjs +0 -47
- package/esm2022/lib/components/kv-menu/kv-menu.component.mjs +0 -198
- package/esm2022/lib/components/kv-menu/kv-menu.module.mjs +0 -47
- package/esm2022/lib/components/kv-modal/kv-modal.component.mjs +0 -98
- package/esm2022/lib/components/kv-modal/kv-modal.module.mjs +0 -31
- package/esm2022/lib/components/kv-orgchart/kv-orgchart.component.mjs +0 -100
- package/esm2022/lib/components/kv-orgchart/kv-orgchart.module.mjs +0 -24
- package/esm2022/lib/components/kv-page-form/kv-page-form.component.mjs +0 -176
- package/esm2022/lib/components/kv-page-form/kv-page-form.module.mjs +0 -38
- package/esm2022/lib/components/kv-pick-list/kv-pick-list.component.mjs +0 -54
- package/esm2022/lib/components/kv-pick-list/kv-pick-list.module.mjs +0 -32
- package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.component.mjs +0 -58
- package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.module.mjs +0 -28
- package/esm2022/lib/components/kv-report/kv-report.component.mjs +0 -53
- package/esm2022/lib/components/kv-report/kv-report.module.mjs +0 -24
- package/esm2022/lib/components/kv-stepper/kv-stepper.component.mjs +0 -49
- package/esm2022/lib/components/kv-stepper/kv-stepper.module.mjs +0 -32
- package/esm2022/lib/components/kv-table/kv-table.component.mjs +0 -494
- package/esm2022/lib/components/kv-table/kv-table.module.mjs +0 -36
- package/esm2022/lib/components/kv-table-edit/kv-table-edit.component.mjs +0 -611
- package/esm2022/lib/components/kv-table-edit/kv-table-edit.module.mjs +0 -41
- package/esm2022/lib/components/kv-tree-table/kv-tree-table.component.mjs +0 -227
- package/esm2022/lib/components/kv-tree-table/kv-tree-table.module.mjs +0 -28
- package/esm2022/lib/components/kv-tree-view/kv-tree-view.component.mjs +0 -30
- package/esm2022/lib/components/kv-tree-view/kv-tree-view.module.mjs +0 -28
- package/esm2022/lib/components/kv-workspace/kv-workspace.component.mjs +0 -167
- package/esm2022/lib/components/kv-workspace/kv-workspace.module.mjs +0 -51
- package/esm2022/public-api.mjs +0 -182
- package/fesm2022/keevo-components.mjs +0 -6176
- package/fesm2022/keevo-components.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/api/base-components/base-component-button.d.ts +0 -15
- package/lib/api/base-components/base-component-chart.d.ts +0 -40
- package/lib/api/base-components/base-component-crud-form.d.ts +0 -145
- package/lib/api/base-components/base-component-crud-list.d.ts +0 -64
- package/lib/api/base-components/base-component-crud.d.ts +0 -36
- package/lib/api/base-components/base-component-dropdown-external.d.ts +0 -15
- package/lib/api/base-components/base-component-dropdown.d.ts +0 -44
- package/lib/api/base-components/base-component-input.d.ts +0 -31
- package/lib/api/base-components/base-component-multi-select.d.ts +0 -35
- package/lib/api/base-components/base-component.d.ts +0 -22
- package/lib/api/components/chart/chart.config.d.ts +0 -11
- package/lib/api/components/chart/chart.model.d.ts +0 -9
- package/lib/api/components/chart/orchart.config.d.ts +0 -35
- package/lib/api/components/chart/orchart.item.d.ts +0 -26
- package/lib/api/components/dropdown/filtro.combo.d.ts +0 -4
- package/lib/api/components/table/action-item.d.ts +0 -11
- package/lib/api/components/table/kv-menuitem.d.ts +0 -152
- package/lib/api/components/table/table-dropdown-control.d.ts +0 -6
- package/lib/api/components/table/table.config.column.d.ts +0 -25
- package/lib/api/components/table/table.config.d.ts +0 -31
- package/lib/api/components/table/table.paginate.d.ts +0 -6
- package/lib/api/components/table/tabledit.config.d.ts +0 -8
- package/lib/api/components/table/tableedit.config.column.d.ts +0 -10
- package/lib/api/components/tree-table/tree-table.config.d.ts +0 -28
- package/lib/api/directives/template/template.directive.d.ts +0 -11
- package/lib/api/helpers/component-providers.d.ts +0 -2
- package/lib/api/helpers/keevo-validators.d.ts +0 -12
- package/lib/api/helpers/translate-primeng.d.ts +0 -4
- package/lib/api/modules/primeng.module.d.ts +0 -64
- package/lib/api/pipes/cpfcnpj.pipe.d.ts +0 -7
- package/lib/api/pipes/mask.pipe.d.ts +0 -7
- package/lib/api/pipes/pipes.module.d.ts +0 -10
- package/lib/api/pipes/telefone.pipe.d.ts +0 -7
- package/lib/api/services/base.api.service.d.ts +0 -25
- package/lib/api/services/breadcrumbs.service.d.ts +0 -15
- package/lib/api/services/component.service.d.ts +0 -11
- package/lib/api/services/docs.service.d.ts +0 -12
- package/lib/api/services/form.service.d.ts +0 -28
- package/lib/api/services/imagens.service.d.ts +0 -10
- package/lib/api/services/notification.service.d.ts +0 -25
- package/lib/api/services/object.service.d.ts +0 -9
- package/lib/components/keevo-components.module.d.ts +0 -26
- package/lib/components/kv-avatar/kv-avatar.component.d.ts +0 -22
- package/lib/components/kv-avatar/kv-avatar.module.d.ts +0 -10
- package/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.d.ts +0 -13
- package/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.d.ts +0 -15
- package/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.d.ts +0 -7
- package/lib/components/kv-buttons/kv-button-success/kv-button-success.component.d.ts +0 -7
- package/lib/components/kv-buttons/kv-button.module.d.ts +0 -11
- package/lib/components/kv-carousel/kv-carousel.component.d.ts +0 -14
- package/lib/components/kv-carousel/kv-carousel.module.d.ts +0 -9
- package/lib/components/kv-chart/kv-chart.component.d.ts +0 -56
- package/lib/components/kv-chart/kv-chart.module.d.ts +0 -10
- package/lib/components/kv-error/kv-error.component.d.ts +0 -12
- package/lib/components/kv-error/kv-error.module.d.ts +0 -10
- package/lib/components/kv-image-upload/kv-image-upload.component.d.ts +0 -24
- package/lib/components/kv-image-upload/kv-image-upload.module.d.ts +0 -8
- package/lib/components/kv-inputs/kv-check/kv-check.component.d.ts +0 -11
- package/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.d.ts +0 -14
- package/lib/components/kv-inputs/kv-editor/kv-editor.component.d.ts +0 -21
- package/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.d.ts +0 -27
- package/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.d.ts +0 -12
- package/lib/components/kv-inputs/kv-input-number/kv-input-number.component.d.ts +0 -19
- package/lib/components/kv-inputs/kv-input-password/kv-input-password.component.d.ts +0 -13
- package/lib/components/kv-inputs/kv-input-text/kv-input-text.component.d.ts +0 -10
- package/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.d.ts +0 -16
- package/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.d.ts +0 -16
- package/lib/components/kv-inputs/kv-input-time/kv-input-time.component.d.ts +0 -10
- package/lib/components/kv-inputs/kv-inputs.module.d.ts +0 -27
- package/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.d.ts +0 -15
- package/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.d.ts +0 -18
- package/lib/components/kv-inputs/kv-select-button/kv-select-button.component.d.ts +0 -19
- package/lib/components/kv-inputs/kv-switch/kv-switch.component.d.ts +0 -14
- package/lib/components/kv-label/kv-label.component.d.ts +0 -7
- package/lib/components/kv-label/kv-label.module.d.ts +0 -8
- package/lib/components/kv-loader/kv-loader.component.d.ts +0 -8
- package/lib/components/kv-loader/kv-loader.module.d.ts +0 -9
- package/lib/components/kv-loader/kv-loader.service.d.ts +0 -10
- package/lib/components/kv-login/kv-login.component.d.ts +0 -30
- package/lib/components/kv-login/kv-login.module.d.ts +0 -13
- package/lib/components/kv-menu/kv-menu.component.d.ts +0 -59
- package/lib/components/kv-menu/kv-menu.module.d.ts +0 -13
- package/lib/components/kv-modal/kv-modal.component.d.ts +0 -28
- package/lib/components/kv-modal/kv-modal.module.d.ts +0 -10
- package/lib/components/kv-orgchart/kv-orgchart.component.d.ts +0 -27
- package/lib/components/kv-orgchart/kv-orgchart.module.d.ts +0 -9
- package/lib/components/kv-page-form/kv-page-form.component.d.ts +0 -87
- package/lib/components/kv-page-form/kv-page-form.module.d.ts +0 -11
- package/lib/components/kv-pick-list/kv-pick-list.component.d.ts +0 -22
- package/lib/components/kv-pick-list/kv-pick-list.module.d.ts +0 -10
- package/lib/components/kv-progress-bar/kv-progress-bar.component.d.ts +0 -67
- package/lib/components/kv-progress-bar/kv-progress-bar.module.d.ts +0 -9
- package/lib/components/kv-report/kv-report.component.d.ts +0 -20
- package/lib/components/kv-report/kv-report.module.d.ts +0 -8
- package/lib/components/kv-stepper/kv-stepper.component.d.ts +0 -21
- package/lib/components/kv-stepper/kv-stepper.module.d.ts +0 -10
- package/lib/components/kv-table/kv-table.component.d.ts +0 -111
- package/lib/components/kv-table/kv-table.module.d.ts +0 -11
- package/lib/components/kv-table-edit/kv-table-edit.component.d.ts +0 -126
- package/lib/components/kv-table-edit/kv-table-edit.module.d.ts +0 -14
- package/lib/components/kv-tree-table/kv-tree-table.component.d.ts +0 -53
- package/lib/components/kv-tree-table/kv-tree-table.module.d.ts +0 -9
- package/lib/components/kv-tree-view/kv-tree-view.component.d.ts +0 -14
- package/lib/components/kv-tree-view/kv-tree-view.module.d.ts +0 -9
- package/lib/components/kv-workspace/kv-workspace.component.d.ts +0 -65
- package/lib/components/kv-workspace/kv-workspace.module.d.ts +0 -14
package/ng-package.json
ADDED
package/package.json
CHANGED
|
@@ -1,43 +1,30 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "keevo-components",
|
|
3
|
-
"version": "1.8.
|
|
4
|
-
"peerDependencies": {
|
|
5
|
-
"@angular/common": "^17.3.8",
|
|
6
|
-
"@angular/core": "^17.3.8",
|
|
7
|
-
"@types/d3": "^7.4.3",
|
|
8
|
-
"@types/d3-org-chart": "^3.1.2",
|
|
9
|
-
"chart.js": "^4.4.2",
|
|
10
|
-
"d3": "^7.9.0",
|
|
11
|
-
"d3-org-chart": "^3.1.1",
|
|
12
|
-
"ngx-loading": "^17.0.0",
|
|
13
|
-
"primeflex": "^3.3.1",
|
|
14
|
-
"primeicons": "^7.0.0",
|
|
15
|
-
"primeng": "^17.17.0",
|
|
16
|
-
"quill": "^2.0.2"
|
|
17
|
-
},
|
|
18
|
-
"dependencies": {
|
|
19
|
-
"tslib": "^2.3.0"
|
|
20
|
-
},
|
|
21
|
-
"sideEffects": false,
|
|
22
|
-
"description": "Componentes utilizados no frontend dos sistemas da Keevo Software.",
|
|
23
|
-
"author": {
|
|
24
|
-
"name": "Rafael",
|
|
25
|
-
"url": "https://github.com/rafaelalvesmds"
|
|
26
|
-
},
|
|
27
|
-
"keywords": [
|
|
28
|
-
"keevo components library"
|
|
29
|
-
]
|
|
30
|
-
|
|
31
|
-
"typings": "index.d.ts",
|
|
32
|
-
"exports": {
|
|
33
|
-
"./package.json": {
|
|
34
|
-
"default": "./package.json"
|
|
35
|
-
},
|
|
36
|
-
".": {
|
|
37
|
-
"types": "./index.d.ts",
|
|
38
|
-
"esm2022": "./esm2022/keevo-components.mjs",
|
|
39
|
-
"esm": "./esm2022/keevo-components.mjs",
|
|
40
|
-
"default": "./fesm2022/keevo-components.mjs"
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "keevo-components",
|
|
3
|
+
"version": "1.8.127",
|
|
4
|
+
"peerDependencies": {
|
|
5
|
+
"@angular/common": "^17.3.8",
|
|
6
|
+
"@angular/core": "^17.3.8",
|
|
7
|
+
"@types/d3": "^7.4.3",
|
|
8
|
+
"@types/d3-org-chart": "^3.1.2",
|
|
9
|
+
"chart.js": "^4.4.2",
|
|
10
|
+
"d3": "^7.9.0",
|
|
11
|
+
"d3-org-chart": "^3.1.1",
|
|
12
|
+
"ngx-loading": "^17.0.0",
|
|
13
|
+
"primeflex": "^3.3.1",
|
|
14
|
+
"primeicons": "^7.0.0",
|
|
15
|
+
"primeng": "^17.17.0",
|
|
16
|
+
"quill": "^2.0.2"
|
|
17
|
+
},
|
|
18
|
+
"dependencies": {
|
|
19
|
+
"tslib": "^2.3.0"
|
|
20
|
+
},
|
|
21
|
+
"sideEffects": false,
|
|
22
|
+
"description": "Componentes utilizados no frontend dos sistemas da Keevo Software.",
|
|
23
|
+
"author": {
|
|
24
|
+
"name": "Rafael",
|
|
25
|
+
"url": "https://github.com/rafaelalvesmds"
|
|
26
|
+
},
|
|
27
|
+
"keywords": [
|
|
28
|
+
"keevo components library"
|
|
29
|
+
]
|
|
30
|
+
}
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
<?xml version="1.0" standalone="no"?>
|
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
|
3
|
+
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
|
4
|
+
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
|
5
|
+
width="1073.000000pt" height="626.000000pt" viewBox="0 0 1073.000000 626.000000"
|
|
6
|
+
preserveAspectRatio="xMidYMid meet">
|
|
7
|
+
|
|
8
|
+
<g transform="translate(0.000000,626.000000) scale(0.100000,-0.100000)"
|
|
9
|
+
fill="#000000" stroke="none">
|
|
10
|
+
<path d="M1871 6249 c-514 -58 -965 -329 -1246 -749 -172 -257 -267 -541 -290
|
|
11
|
+
-862 l-7 -98 -115 0 c-126 0 -157 -10 -187 -60 -15 -26 -16 -182 -16 -1865 0
|
|
12
|
+
-1683 1 -1839 16 -1865 37 -62 17 -60 633 -60 l561 0 2 1658 3 1657 21 45 c26
|
|
13
|
+
54 84 114 139 142 56 29 149 35 213 14 68 -23 143 -91 173 -158 l24 -53 5
|
|
14
|
+
-1266 5 -1266 991 876 c603 534 1008 884 1033 895 l41 19 -1 586 c0 427 -3
|
|
15
|
+
595 -12 621 -7 19 -27 44 -46 57 l-34 23 -1558 0 c-857 0 -1560 3 -1562 8 -10
|
|
16
|
+
19 16 232 42 333 134 527 562 932 1088 1028 154 28 244 33 374 21 472 -43 884
|
|
17
|
+
-312 1111 -725 53 -98 89 -125 163 -125 85 0 153 59 162 141 11 93 -148 341
|
|
18
|
+
-342 534 -263 262 -563 417 -929 480 -113 19 -346 27 -455 14z m1571 -2025
|
|
19
|
+
c51 -17 109 -67 134 -116 25 -49 30 -131 9 -184 -38 -99 -115 -153 -218 -154
|
|
20
|
+
-136 0 -236 97 -237 230 0 166 155 278 312 224z"/>
|
|
21
|
+
<path d="M5188 3641 l-33 -29 -3 -1070 -2 -1069 23 -34 c30 -45 83 -60 133
|
|
22
|
+
-36 60 29 64 52 64 344 l0 258 84 73 c47 41 88 73 93 72 4 -1 226 -167 493
|
|
23
|
+
-369 267 -202 495 -373 507 -379 47 -25 112 -3 138 48 20 38 19 69 -3 103 -9
|
|
24
|
+
15 -229 188 -488 385 -258 196 -471 361 -473 365 -1 5 179 169 401 365 221
|
|
25
|
+
197 409 370 416 385 18 38 8 88 -25 121 -20 21 -35 26 -73 26 l-47 0 -509
|
|
26
|
+
-450 -509 -450 -5 647 c-4 495 -8 653 -18 670 -34 60 -111 71 -164 24z"/>
|
|
27
|
+
<path d="M7593 3204 c-208 -45 -406 -173 -532 -343 -63 -85 -133 -231 -157
|
|
28
|
+
-331 -28 -112 -27 -346 3 -455 133 -488 619 -777 1101 -654 85 21 217 81 288
|
|
29
|
+
130 70 48 180 155 194 189 29 71 -24 150 -101 150 -35 0 -48 -8 -121 -76 -95
|
|
30
|
+
-87 -178 -136 -286 -171 -276 -88 -584 19 -758 263 -54 75 -101 183 -110 248
|
|
31
|
+
l-7 46 758 0 757 0 35 35 36 36 -6 97 c-25 397 -300 730 -681 827 -81 21 -121
|
|
32
|
+
25 -225 24 -69 -1 -154 -7 -188 -15z m352 -220 c33 -8 98 -33 145 -56 69 -33
|
|
33
|
+
102 -58 176 -132 76 -76 98 -105 132 -176 39 -83 71 -185 60 -195 -2 -3 -309
|
|
34
|
+
-4 -680 -3 l-675 3 14 55 c35 141 139 297 252 383 169 127 371 169 576 121z"/>
|
|
35
|
+
<path d="M9696 3199 c-87 -12 -233 -60 -313 -105 -215 -120 -385 -345 -444
|
|
36
|
+
-589 -31 -125 -31 -305 -1 -429 84 -342 354 -608 693 -682 97 -21 281 -21 378
|
|
37
|
+
0 186 41 370 149 484 284 30 36 37 52 37 87 0 74 -63 123 -133 104 -15 -4 -64
|
|
38
|
+
-42 -108 -83 -135 -127 -290 -190 -469 -190 -116 0 -196 20 -310 76 -69 33
|
|
39
|
+
-102 58 -170 127 -105 105 -166 215 -195 349 l-7 32 754 0 c729 0 754 1 785
|
|
40
|
+
20 45 27 55 72 43 185 -14 117 -34 191 -81 293 -130 283 -403 484 -709 522
|
|
41
|
+
-96 11 -136 11 -234 -1z m294 -234 c30 -8 93 -33 140 -56 109 -54 236 -177
|
|
42
|
+
292 -284 31 -61 78 -190 78 -216 0 -5 -287 -9 -680 -9 -374 0 -680 3 -680 6 0
|
|
43
|
+
31 40 144 73 209 57 111 181 235 292 292 73 38 153 64 230 77 50 7 196 -3 255
|
|
44
|
+
-19z"/>
|
|
45
|
+
<path d="M3205 1930 c-363 -321 -661 -584 -663 -586 -2 -1 189 -149 425 -328
|
|
46
|
+
l428 -325 197 -1 197 0 34 33 c26 24 37 44 41 77 4 25 6 420 4 879 l-3 834
|
|
47
|
+
-660 -583z"/>
|
|
48
|
+
<path d="M8015 987 c-123 -41 -210 -142 -234 -272 -14 -77 -15 -659 -1 -686
|
|
49
|
+
12 -22 68 -27 88 -7 8 8 12 67 12 201 l0 189 37 -32 c66 -58 127 -80 224 -80
|
|
50
|
+
76 0 93 4 147 30 137 69 207 215 181 378 -18 115 -86 210 -185 258 -66 32
|
|
51
|
+
-203 43 -269 21z m210 -106 c23 -10 59 -39 82 -64 150 -172 13 -450 -209 -424
|
|
52
|
+
-123 15 -205 104 -216 234 -8 107 51 212 143 254 53 24 147 24 200 0z"/>
|
|
53
|
+
<path d="M8873 986 c-96 -31 -189 -120 -220 -209 -28 -82 -24 -207 9 -279 33
|
|
54
|
+
-72 93 -137 155 -168 42 -22 61 -25 153 -25 116 0 154 13 219 74 18 17 35 31
|
|
55
|
+
37 31 2 0 4 -20 4 -45 0 -39 4 -47 25 -57 19 -8 31 -8 51 0 l25 12 -3 218 c-3
|
|
56
|
+
201 -5 220 -26 263 -34 70 -84 122 -153 159 -53 28 -74 33 -148 36 -55 3 -101
|
|
57
|
+
-1 -128 -10z m205 -102 c187 -78 202 -357 25 -461 -41 -24 -59 -28 -118 -28
|
|
58
|
+
-146 1 -244 102 -245 253 0 104 46 183 133 227 60 30 147 34 205 9z"/>
|
|
59
|
+
<path d="M9673 991 c-120 -31 -190 -139 -152 -238 25 -66 99 -112 222 -137
|
|
60
|
+
139 -29 197 -65 197 -123 0 -52 -84 -103 -171 -103 -56 0 -136 28 -173 60 -53
|
|
61
|
+
47 -106 37 -106 -20 0 -33 40 -72 105 -101 70 -32 235 -39 302 -14 90 35 143
|
|
62
|
+
103 143 186 0 92 -61 152 -188 184 -210 53 -232 66 -232 131 0 54 57 88 146
|
|
63
|
+
87 63 0 106 -17 157 -59 46 -38 97 -30 97 16 0 70 -106 132 -234 136 -45 2
|
|
64
|
+
-95 -1 -113 -5z"/>
|
|
65
|
+
<path d="M10342 986 c-54 -18 -108 -58 -127 -96 -22 -43 -19 -126 6 -166 35
|
|
66
|
+
-56 97 -86 252 -119 140 -30 189 -106 113 -173 -73 -64 -217 -52 -309 24 -33
|
|
67
|
+
28 -69 31 -91 8 -47 -47 15 -113 138 -149 84 -25 225 -18 289 14 111 54 147
|
|
68
|
+
185 76 275 -31 39 -108 74 -209 96 -100 21 -142 40 -164 72 -38 53 -1 109 85
|
|
69
|
+
127 69 15 138 -1 190 -45 57 -47 119 -44 119 7 0 28 -49 78 -104 106 -63 32
|
|
70
|
+
-195 41 -264 19z"/>
|
|
71
|
+
<path d="M1952 821 l-144 -126 156 -3 c86 -1 226 -1 312 0 l157 3 -159 121
|
|
72
|
+
c-87 66 -163 123 -169 126 -5 3 -75 -51 -153 -121z"/>
|
|
73
|
+
</g>
|
|
74
|
+
</svg>
|
|
Binary file
|
|
Binary file
|
package/src/index.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './public-api';
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Component,
|
|
3
|
+
EventEmitter,
|
|
4
|
+
Input,
|
|
5
|
+
Output
|
|
6
|
+
} from '@angular/core';
|
|
7
|
+
|
|
8
|
+
@Component({
|
|
9
|
+
template: '',
|
|
10
|
+
})
|
|
11
|
+
export class BaseComponentButton {
|
|
12
|
+
|
|
13
|
+
@Input() icon: string = '';
|
|
14
|
+
@Input() label: string = '';
|
|
15
|
+
@Input() loading: boolean = false;
|
|
16
|
+
@Input() disabled: boolean = false;
|
|
17
|
+
@Input() text: boolean = false;
|
|
18
|
+
@Input() color: string = 'bg-blue-100';
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
@Output() onClick: EventEmitter<any> = new EventEmitter();
|
|
23
|
+
|
|
24
|
+
constructor() { }
|
|
25
|
+
|
|
26
|
+
click(event: any): void {
|
|
27
|
+
this.onClick.emit();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { Component, EventEmitter, OnInit, Output, ViewChild } from "@angular/core";
|
|
2
|
+
import { Observable } from "rxjs";
|
|
3
|
+
|
|
4
|
+
import { chartModel } from "../components/chart/chart.model";
|
|
5
|
+
import { ChartConfig, ChartDatasetConfig } from "../components/chart/chart.config";
|
|
6
|
+
import { KvChartComponent, PeriodosChart } from "../../components/kv-chart/kv-chart.component";
|
|
7
|
+
|
|
8
|
+
@Component({
|
|
9
|
+
template: ''
|
|
10
|
+
})
|
|
11
|
+
export abstract class BaseChartComponent implements OnInit {
|
|
12
|
+
|
|
13
|
+
chartConfig!: ChartConfig;
|
|
14
|
+
selectedData: number = 0;
|
|
15
|
+
enablePeriodos: number[] = [];
|
|
16
|
+
periodos = PeriodosChart;
|
|
17
|
+
|
|
18
|
+
@ViewChild(KvChartComponent) chartComponent?: KvChartComponent;
|
|
19
|
+
|
|
20
|
+
@Output() onPrintReport: EventEmitter<any> = new EventEmitter();
|
|
21
|
+
|
|
22
|
+
constructor() { }
|
|
23
|
+
|
|
24
|
+
protected changeData(event: any) {
|
|
25
|
+
if (event) {
|
|
26
|
+
this.selectedData = event?.value;
|
|
27
|
+
this.loadData();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
ngOnInit(): void {
|
|
32
|
+
this.loadData()
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
abstract loadData(): void;
|
|
36
|
+
|
|
37
|
+
protected loadGraphic(obs: Observable<any>) {
|
|
38
|
+
obs
|
|
39
|
+
.subscribe({
|
|
40
|
+
next: (data: any) => {
|
|
41
|
+
this.chartConfig = this.assembleGraphic(data as chartModel[]);
|
|
42
|
+
this.chartComponent?.reInit(this.chartConfig);
|
|
43
|
+
},
|
|
44
|
+
error: (error: any) => { },
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
protected assembleGraphic(data: chartModel[]) {
|
|
49
|
+
let labels: string[] = [];
|
|
50
|
+
let datasets: ChartDatasetConfig[] = [];
|
|
51
|
+
|
|
52
|
+
// Tratando legendas
|
|
53
|
+
data.map((element: any) => {
|
|
54
|
+
if (element.labels && !labels.includes(element.labels)) {
|
|
55
|
+
labels.push(element.labels);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
//Descobrindo quantas dimensões tem o gráfico
|
|
60
|
+
let numDatasets = Math.max(...data.map(o => o.numDatasets));
|
|
61
|
+
|
|
62
|
+
//Populando datasets
|
|
63
|
+
for (let i = 0; i <= numDatasets; i++) {
|
|
64
|
+
let backgroundColor: string[] = [];
|
|
65
|
+
let hoverBackgroundColor: string[] = [];
|
|
66
|
+
let borderColor: string[] = [];
|
|
67
|
+
let values: number[] = [];
|
|
68
|
+
let labelDataset: string = '';
|
|
69
|
+
|
|
70
|
+
data.filter((obj) => {
|
|
71
|
+
return obj.numDatasets === i;
|
|
72
|
+
}).map((obj) => {
|
|
73
|
+
if (obj.backgroundColor && !backgroundColor.includes(obj.backgroundColor)) {
|
|
74
|
+
backgroundColor.push(obj.backgroundColor);
|
|
75
|
+
}
|
|
76
|
+
if (obj.borderColor && !borderColor.includes(obj.borderColor)) {
|
|
77
|
+
borderColor.push(obj.borderColor);
|
|
78
|
+
}
|
|
79
|
+
if (obj.hoverBackgroundColor && !hoverBackgroundColor.includes(obj.hoverBackgroundColor)) {
|
|
80
|
+
hoverBackgroundColor.push(obj.hoverBackgroundColor);
|
|
81
|
+
}
|
|
82
|
+
if (obj.labelDataset) labelDataset = obj.labelDataset;
|
|
83
|
+
|
|
84
|
+
values.push(obj.datasets);
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
datasets.push(
|
|
88
|
+
{
|
|
89
|
+
label: labelDataset,
|
|
90
|
+
backgroundColor: backgroundColor,
|
|
91
|
+
hoverBackgroundColor: hoverBackgroundColor,
|
|
92
|
+
borderColor: borderColor?.length === 0 ? undefined : borderColor,
|
|
93
|
+
data: values
|
|
94
|
+
}
|
|
95
|
+
);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
let dados: ChartConfig = {
|
|
99
|
+
labels: labels,
|
|
100
|
+
datasets: datasets
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
return dados;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
@@ -0,0 +1,361 @@
|
|
|
1
|
+
import { ActivatedRoute, Router } from "@angular/router";
|
|
2
|
+
import { Component, OnDestroy, OnInit } from "@angular/core";
|
|
3
|
+
import { DialogService, DynamicDialogConfig, DynamicDialogRef } from "primeng/dynamicdialog";
|
|
4
|
+
import { FormGroup, ValidatorFn } from "@angular/forms";
|
|
5
|
+
import { Observable, combineLatest, filter, finalize } from "rxjs";
|
|
6
|
+
|
|
7
|
+
import { ActionItem } from "../components/table/action-item";
|
|
8
|
+
import { BaseComponentCrud } from "./base-component-crud";
|
|
9
|
+
import { FormService } from "../services/form.service";
|
|
10
|
+
import { NotificationService } from "../services/notification.service";
|
|
11
|
+
import { loading } from "../../components/kv-loader/kv-loader.service";
|
|
12
|
+
|
|
13
|
+
export interface DadosTela {
|
|
14
|
+
subTituloForm: string | undefined;
|
|
15
|
+
tituloForm: string | undefined;
|
|
16
|
+
rotaListar: string;
|
|
17
|
+
mensagemValidacao: boolean
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
@Component({
|
|
21
|
+
template: ''
|
|
22
|
+
})
|
|
23
|
+
export abstract class BaseComponentCrudForm extends BaseComponentCrud implements OnInit, OnDestroy {
|
|
24
|
+
|
|
25
|
+
protected isAccordionExpanded = false;
|
|
26
|
+
protected isNewRegistry = false;
|
|
27
|
+
protected isSaveLoading = false;
|
|
28
|
+
protected isView = false;
|
|
29
|
+
|
|
30
|
+
protected formGroup: FormGroup = new FormGroup({});
|
|
31
|
+
protected actions: ActionItem[] = [];
|
|
32
|
+
|
|
33
|
+
protected dadosTela: DadosTela | undefined;
|
|
34
|
+
protected popup: boolean = false;
|
|
35
|
+
protected registry: any = null;
|
|
36
|
+
|
|
37
|
+
private onSetFormValues: boolean = false;
|
|
38
|
+
|
|
39
|
+
constructor(
|
|
40
|
+
dialogService: DialogService,
|
|
41
|
+
notificationService: NotificationService,
|
|
42
|
+
protected activatedRoute: ActivatedRoute,
|
|
43
|
+
protected dynamicDialogRef: DynamicDialogRef,
|
|
44
|
+
protected dynamicDialogConfig: DynamicDialogConfig,
|
|
45
|
+
protected router: Router) {
|
|
46
|
+
super
|
|
47
|
+
(
|
|
48
|
+
dialogService,
|
|
49
|
+
notificationService
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Método disparado para configuração do form
|
|
55
|
+
*/
|
|
56
|
+
abstract configureForm(): void;
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Método disparado para o carregamento do form
|
|
60
|
+
* @param id
|
|
61
|
+
*/
|
|
62
|
+
abstract loadForm(id: any): void;
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Método disparado para salvamento dos dados
|
|
66
|
+
*/
|
|
67
|
+
abstract save(): void;
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Método disparado para tratamento das notificações do backend
|
|
71
|
+
* @param err - Notificação
|
|
72
|
+
*/
|
|
73
|
+
protected backendError(err: any): void {
|
|
74
|
+
if (err) {
|
|
75
|
+
if (err.status == 404) {
|
|
76
|
+
this.notificationService.toastError(err.error.item2[0].message);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
else if (err.status == 400) {
|
|
80
|
+
// Erros de validação de domínio do backend
|
|
81
|
+
if (Array.isArray(err.error)) {
|
|
82
|
+
if (err.error?.length) {
|
|
83
|
+
|
|
84
|
+
if (err.error.length == 1 && err.error[0].key == '') {
|
|
85
|
+
this.notificationService.toastError(err.error[0].message);
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
this.invalidForm(err.error);
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
else if (Array.isArray(err.error.item2)) {
|
|
94
|
+
if (err.error.item2?.length) {
|
|
95
|
+
|
|
96
|
+
if (err.error.item2.length == 1) {
|
|
97
|
+
this.notificationService.toastError(err.error.item2[0].message);
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
this.invalidForm(err.error.item2);
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
else if (err.error?.title) {
|
|
106
|
+
// Erro de json no backend
|
|
107
|
+
this.notificationService.toastError(err.error.title);
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
else if (err.status == 415) {
|
|
112
|
+
if (err.error?.title) {
|
|
113
|
+
// Erro de json no backend
|
|
114
|
+
this.notificationService.toastError(err.error.title);
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
// Qualquer outro tipo de erro que tenha mensagem
|
|
120
|
+
if (err.message) {
|
|
121
|
+
this.notificationService.toastError(err.message);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Método disparado ao clicar no botão de cancelamento
|
|
128
|
+
*/
|
|
129
|
+
protected cancel() {
|
|
130
|
+
this.notificationService.question({
|
|
131
|
+
type: 'question',
|
|
132
|
+
message: 'Deseja cancelar a operação?',
|
|
133
|
+
accept: () => {
|
|
134
|
+
this.navigateList();
|
|
135
|
+
},
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Verifica se houveram alterações nos componentes do formControl
|
|
141
|
+
* @param controls - Nomes do controles no formGroup
|
|
142
|
+
* @returns Observable
|
|
143
|
+
*/
|
|
144
|
+
protected detectFormControlChanges(controls: Array<string>): Observable<any> {
|
|
145
|
+
const controlList: Observable<any>[] = [];
|
|
146
|
+
controls.forEach(controlName => controlList.push(this.formGroup.controls[controlName].valueChanges));
|
|
147
|
+
return combineLatest(controlList).pipe(filter(() => !this.onSetFormValues));
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Método responsável por desabilitar um componente
|
|
152
|
+
* @param controlName - Nome do controle no formGroup
|
|
153
|
+
*/
|
|
154
|
+
protected disableComponent(controlName: string) {
|
|
155
|
+
FormService.disableControl(this.formGroup, controlName);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* Método responsável por limpar e desabilitar um componente
|
|
160
|
+
* @param controlName - Nome do controle no formGroup
|
|
161
|
+
* @param value - Valor default
|
|
162
|
+
*/
|
|
163
|
+
protected disableAndClearComponent(controlName: string, value?: any) {
|
|
164
|
+
FormService.disableAndClearControl(this.formGroup, controlName, value);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* Método responsável por habilitar um componente
|
|
169
|
+
* @param controlName - Nome do controle no formGroup
|
|
170
|
+
*/
|
|
171
|
+
protected enableComponent(controName: string) {
|
|
172
|
+
FormService.enableControl(this.formGroup, controName);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* Método que retorna o valor de um componente
|
|
177
|
+
* @param controlName - Nome do controle no formGroup
|
|
178
|
+
* @returns - Valor
|
|
179
|
+
*/
|
|
180
|
+
protected getFormValue<T>(controlName: string): T {
|
|
181
|
+
return FormService.getFormValue<T>(this.formGroup, controlName);
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* Verifica se o componente possui erro
|
|
186
|
+
* @param controlName - Nome do controle no formGroup
|
|
187
|
+
*/
|
|
188
|
+
protected hasControlError(controlName: string, errorCode?: string): boolean {
|
|
189
|
+
return FormService.hasControlError(this.formGroup, controlName, errorCode);
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* Seta inconsistências para o fomulário
|
|
194
|
+
* @param notification - Lista de notificações
|
|
195
|
+
*/
|
|
196
|
+
protected invalidForm(notification?: any) {
|
|
197
|
+
FormService.invalidForm(this.formGroup, notification);
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* Tratamento de inconsistências do formulário
|
|
202
|
+
*/
|
|
203
|
+
protected invalidateForm() {
|
|
204
|
+
this.isAccordionExpanded = true;
|
|
205
|
+
this.invalidForm();
|
|
206
|
+
|
|
207
|
+
if (this.dadosTela?.mensagemValidacao) {
|
|
208
|
+
this.notificationService.dialog({
|
|
209
|
+
type: 'alert',
|
|
210
|
+
message: 'Verifique os campos obrigatórios.',
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
/**
|
|
216
|
+
* Método responsável pelo carregamento da tela
|
|
217
|
+
* @param obs - Observable responsável pelo salvamento dos dados
|
|
218
|
+
*/
|
|
219
|
+
public loadData<T>(obs: Observable<any>) {
|
|
220
|
+
obs
|
|
221
|
+
.pipe(loading())
|
|
222
|
+
.subscribe((data: any) => {
|
|
223
|
+
this.isNewRegistry = false;
|
|
224
|
+
this.registry = data as T;
|
|
225
|
+
this.setFormValues(this.registry);
|
|
226
|
+
this.loadGrids();
|
|
227
|
+
this.setTitlePopup();
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
async loadDataAsync<T>(obs: Observable<any>) {
|
|
232
|
+
await obs.pipe(loading()).toPromise();
|
|
233
|
+
const data: any = await obs.toPromise();
|
|
234
|
+
|
|
235
|
+
this.isNewRegistry = false;
|
|
236
|
+
this.registry = data as T;
|
|
237
|
+
this.setFormValues(this.registry);
|
|
238
|
+
this.loadGrids();
|
|
239
|
+
this.setTitlePopup();
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
/**
|
|
243
|
+
* Método disparado para carregamento de grids (Disparado após o loadData)
|
|
244
|
+
*/
|
|
245
|
+
public loadGrids() { }
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* Método disparado para retornar a lista
|
|
249
|
+
*/
|
|
250
|
+
protected navigateList(id: any = null) {
|
|
251
|
+
if (this.popup) {
|
|
252
|
+
this.dynamicDialogRef.close(id);
|
|
253
|
+
}
|
|
254
|
+
else if (this.dadosTela?.rotaListar) {
|
|
255
|
+
this.router.navigate([this.dadosTela.rotaListar]);
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
public ngOnDestroy() {
|
|
260
|
+
if (this.dynamicDialogRef) {
|
|
261
|
+
this.dynamicDialogRef.close();
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
public ngOnInit() {
|
|
266
|
+
this.configureForm();
|
|
267
|
+
|
|
268
|
+
this.popup = this.dynamicDialogConfig?.data?.popup || false;
|
|
269
|
+
|
|
270
|
+
this.activatedRoute.params.subscribe((params: any) => {
|
|
271
|
+
if (params['id']) {
|
|
272
|
+
this.loadForm(params['id']);
|
|
273
|
+
}
|
|
274
|
+
else if (this.dynamicDialogConfig?.data?.id) {
|
|
275
|
+
this.loadForm(this.dynamicDialogConfig.data.id);
|
|
276
|
+
}
|
|
277
|
+
else {
|
|
278
|
+
this.isNewRegistry = true;
|
|
279
|
+
this.loadGrids();
|
|
280
|
+
this.setTitlePopup();
|
|
281
|
+
}
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
/**
|
|
286
|
+
* Método disparado para salvar dados
|
|
287
|
+
* @param obs - Observable responsável pelo salvamento dos dados
|
|
288
|
+
*/
|
|
289
|
+
protected saveData(obs: Observable<any>) {
|
|
290
|
+
obs
|
|
291
|
+
.pipe((src: Observable<any>) => {
|
|
292
|
+
this.isSaveLoading = true;
|
|
293
|
+
return src.pipe(finalize(() => {
|
|
294
|
+
this.isSaveLoading = false;
|
|
295
|
+
}));
|
|
296
|
+
})
|
|
297
|
+
.subscribe({
|
|
298
|
+
next: (res: any) => {
|
|
299
|
+
this.notificationService.toastSuccess(res.item2[0].message);
|
|
300
|
+
this.navigateList(res.item1);
|
|
301
|
+
},
|
|
302
|
+
error: (e) => {
|
|
303
|
+
this.backendError(e);
|
|
304
|
+
},
|
|
305
|
+
});
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
/**
|
|
309
|
+
* Método se atualiza o valor de um componente do formGroup
|
|
310
|
+
* @param controName - Nome do controle
|
|
311
|
+
* @param value - Valor para atualização
|
|
312
|
+
*/
|
|
313
|
+
protected setControlValue(controName: string, value: any) {
|
|
314
|
+
FormService.setControlValue(this.formGroup, controName, value);
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
/**
|
|
318
|
+
* Atualiza valores dos componentes do formGroup
|
|
319
|
+
* @param values - Valores para atualização
|
|
320
|
+
*/
|
|
321
|
+
protected setFormValues(values: any) {
|
|
322
|
+
this.onSetFormValues = true;
|
|
323
|
+
this.formGroup.patchValue(values, { emitEvent: false });
|
|
324
|
+
this.onSetFormValues = false;
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
/**
|
|
328
|
+
* Seta o título do popup
|
|
329
|
+
*/
|
|
330
|
+
private setTitlePopup() {
|
|
331
|
+
if (this.popup) {
|
|
332
|
+
if (this.dynamicDialogConfig)
|
|
333
|
+
this.dynamicDialogConfig.header = this.dadosTela?.tituloForm;
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
/**
|
|
338
|
+
* Atualiza o validador de um componente do formGroup
|
|
339
|
+
* @param controName - Nome do controle
|
|
340
|
+
* @param validators - Regra de validação
|
|
341
|
+
*/
|
|
342
|
+
protected setValidators(controName: string, validators: ValidatorFn | ValidatorFn[] | null) {
|
|
343
|
+
FormService.setValidators(this.formGroup, controName, validators);
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
/**
|
|
347
|
+
* Dispara os métodos de validações do formulário
|
|
348
|
+
* @returns - True/False
|
|
349
|
+
*/
|
|
350
|
+
protected validateForm(): boolean {
|
|
351
|
+
let valid: boolean = false;
|
|
352
|
+
|
|
353
|
+
if (this.formGroup && this.formGroup.valid) {
|
|
354
|
+
valid = true;
|
|
355
|
+
} else {
|
|
356
|
+
this.invalidateForm();
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
return valid;
|
|
360
|
+
}
|
|
361
|
+
}
|