@dev-tcloud/tcloud-ui 4.1.0 → 4.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/_directives/align/align.directive.mjs +3 -3
- package/esm2022/lib/_directives/currency/currency.directive.mjs +3 -3
- package/esm2022/lib/_directives/directives.module.mjs +4 -4
- package/esm2022/lib/_directives/el-copy/el-copy.directive.mjs +3 -3
- package/esm2022/lib/_directives/hover-parent/hover-parent.directive.mjs +3 -3
- package/esm2022/lib/_directives/tcloud-access/tcloud-ui-check-access.directive.mjs +3 -3
- package/esm2022/lib/_directives/tcloud-access/tcloud-ui-ng-check-access.directive.mjs +3 -3
- package/esm2022/lib/_directives/tcloud-access/tcloud-ui-ng-feature-flags.directive.mjs +3 -3
- package/esm2022/lib/_directives/tcloud-ui-digit-only.directive.mjs +3 -3
- package/esm2022/lib/_directives/tcloud-ui-highlight.diretive.mjs +3 -3
- package/esm2022/lib/_directives/tcloud-ui-ip-mask.directive.mjs +3 -3
- package/esm2022/lib/_directives/tooltip/tooltip.directive.mjs +3 -3
- package/esm2022/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component.mjs +4 -4
- package/esm2022/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component.mjs +4 -4
- package/esm2022/lib/_modules/tcloud-ui-accordion/services/tcloud-ui-accordion.service.mjs +3 -3
- package/esm2022/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.component.mjs +4 -4
- package/esm2022/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.module.mjs +4 -4
- package/esm2022/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.component.mjs +3 -3
- package/esm2022/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.module.mjs +4 -4
- package/esm2022/lib/_modules/tcloud-ui-data-list/services/data-list.service.mjs +3 -3
- package/esm2022/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list-option/tcloud-ui-data-list-option.component.mjs +3 -3
- package/esm2022/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.component.mjs +3 -3
- package/esm2022/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.module.mjs +4 -4
- package/esm2022/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.component.mjs +3 -3
- package/esm2022/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.module.mjs +4 -4
- package/esm2022/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.component.mjs +3 -3
- package/esm2022/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module.mjs +4 -4
- package/esm2022/lib/_modules/tcloud-ui-filters/components/range-date/range-date.component.mjs +3 -3
- package/esm2022/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.component.mjs +3 -3
- package/esm2022/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.module.mjs +4 -4
- package/esm2022/lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.component.mjs +3 -3
- package/esm2022/lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.module.mjs +4 -4
- package/esm2022/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.component.mjs +4 -4
- package/esm2022/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.module.mjs +4 -4
- package/esm2022/lib/_modules/tcloud-ui-label-token/tcloud-ui-label-token.component.mjs +3 -3
- package/esm2022/lib/_modules/tcloud-ui-label-token/tcloud-ui-label-token.module.mjs +4 -4
- package/esm2022/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.component.mjs +3 -3
- package/esm2022/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.module.mjs +4 -4
- package/esm2022/lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.component.mjs +3 -3
- package/esm2022/lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.module.mjs +4 -4
- package/esm2022/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.component.mjs +3 -3
- package/esm2022/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.module.mjs +4 -4
- package/esm2022/lib/_modules/tcloud-ui-loading/components/tcloud-ui-cubes/tcloud-ui-cubes.component.mjs +3 -3
- package/esm2022/lib/_modules/tcloud-ui-loading/tcloud-ui-loading.component.mjs +3 -3
- package/esm2022/lib/_modules/tcloud-ui-loading/tcloud-ui-loading.module.mjs +4 -4
- package/esm2022/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-body/tcloud-ui-modal-body.component.mjs +3 -3
- package/esm2022/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component.mjs +3 -3
- package/esm2022/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-header/tcloud-ui-modal-header.component.mjs +3 -3
- package/esm2022/lib/_modules/tcloud-ui-modal/services/tcloud-modal.service.mjs +3 -3
- package/esm2022/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.component.mjs +3 -3
- package/esm2022/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.module.mjs +4 -4
- package/esm2022/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.component.mjs +8 -5
- package/esm2022/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.module.mjs +4 -4
- package/esm2022/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.component.mjs +8 -5
- package/esm2022/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.module.mjs +4 -4
- package/esm2022/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.component.mjs +3 -3
- package/esm2022/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.module.mjs +4 -4
- package/esm2022/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.component.mjs +3 -3
- package/esm2022/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.module.mjs +4 -4
- package/esm2022/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.component.mjs +4 -4
- package/esm2022/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.module.mjs +4 -4
- package/esm2022/lib/_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.component.mjs +3 -3
- package/esm2022/lib/_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.module.mjs +4 -4
- package/esm2022/lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.component.mjs +5 -5
- package/esm2022/lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.module.mjs +5 -5
- package/esm2022/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.component.mjs +3 -3
- package/esm2022/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.module.mjs +4 -4
- package/esm2022/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-content/tcloud-ui-tab-content.component.mjs +3 -3
- package/esm2022/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-head/tcloud-ui-tab-head.component.mjs +3 -3
- package/esm2022/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component.mjs +3 -3
- package/esm2022/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-title/tcloud-ui-tab-title.component.mjs +3 -3
- package/esm2022/lib/_modules/tcloud-ui-tab-menu/services/tab-menu.service.mjs +3 -3
- package/esm2022/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.component.mjs +3 -3
- package/esm2022/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.module.mjs +4 -4
- package/esm2022/lib/_modules/tcloud-ui-table/tcloud-ui-table.component.mjs +5 -5
- package/esm2022/lib/_modules/tcloud-ui-table/tcloud-ui-table.module.mjs +4 -4
- package/esm2022/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.component.mjs +3 -3
- package/esm2022/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.module.mjs +4 -4
- package/esm2022/lib/_pipes/array-to-text.mjs +3 -3
- package/esm2022/lib/_pipes/bytes.mjs +3 -3
- package/esm2022/lib/_pipes/cnpj.mjs +3 -3
- package/esm2022/lib/_pipes/cpf.mjs +3 -3
- package/esm2022/lib/_pipes/datebr.mjs +3 -3
- package/esm2022/lib/_pipes/monthname.mjs +3 -3
- package/esm2022/lib/_pipes/respective.mjs +3 -3
- package/esm2022/lib/_pipes/statusinfo.mjs +3 -3
- package/esm2022/lib/_pipes/tcloud-pipes.module.mjs +4 -4
- package/esm2022/lib/_services/loading-transitions.service.mjs +3 -3
- package/esm2022/lib/_services/search-in-object.service.mjs +3 -3
- package/esm2022/lib/_services/tcloud-ui-check-access.service.mjs +3 -3
- package/esm2022/lib/tcloud-ui.module.mjs +4 -4
- package/fesm2022/dev-tcloud-tcloud-ui.mjs +311 -305
- package/fesm2022/dev-tcloud-tcloud-ui.mjs.map +1 -1
- package/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.component.d.ts +2 -1
- package/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.component.d.ts +2 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-tcloud-tcloud-ui.mjs","sources":["../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/services/tab-menu.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-content/tcloud-ui-tab-content.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-content/tcloud-ui-tab-content.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-title/tcloud-ui-tab-title.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-title/tcloud-ui-tab-title.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-head/tcloud-ui-tab-head.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-head/tcloud-ui-tab-head.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/services/tcloud-modal.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-header/tcloud-ui-modal-header.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-header/tcloud-ui-modal-header.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-body/tcloud-ui-modal-body.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-body/tcloud-ui-modal-body.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/services/data-list.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list-option/tcloud-ui-data-list-option.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list-option/tcloud-ui-data-list-option.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.module.ts","../../../projects/tcloud-ui/src/lib/_pipes/monthname.ts","../../../projects/tcloud-ui/src/lib/_pipes/statusinfo.ts","../../../projects/tcloud-ui/src/lib/_pipes/respective.ts","../../../projects/tcloud-ui/src/lib/_pipes/cnpj.ts","../../../projects/tcloud-ui/src/lib/_pipes/cpf.ts","../../../projects/tcloud-ui/src/lib/_pipes/bytes.ts","../../../projects/tcloud-ui/src/lib/_pipes/datebr.ts","../../../projects/tcloud-ui/src/lib/_pipes/array-to-text.ts","../../../projects/tcloud-ui/src/lib/_services/search-in-object.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-table/tcloud-ui-table.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-table/tcloud-ui-table.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-table/tcloud-ui-table.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/components/range-date/range-date.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/components/range-date/range-date.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/services/tcloud-ui-accordion.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.module.ts","../../../projects/tcloud-ui/src/lib/_directives/align/align.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/hover-parent/hover-parent.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/tooltip/tooltip.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/el-copy/el-copy.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/currency/currency.directive.ts","../../../projects/tcloud-ui/src/lib/_services/tcloud-ui-check-access.service.ts","../../../projects/tcloud-ui/src/lib/_directives/tcloud-access/tcloud-ui-check-access.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/tcloud-access/tcloud-ui-ng-check-access.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/tcloud-access/tcloud-ui-ng-feature-flags.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/tcloud-ui-digit-only.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/tcloud-ui-highlight.diretive.ts","../../../projects/tcloud-ui/src/lib/_directives/tcloud-ui-ip-mask.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/directives.module.ts","../../../projects/tcloud-ui/src/lib/_pipes/tcloud-pipes.module.ts","../../../projects/tcloud-ui/src/lib/_services/loading-transitions.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-loading/components/tcloud-ui-cubes/tcloud-ui-cubes.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-loading/components/tcloud-ui-cubes/tcloud-ui-cubes.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-loading/tcloud-ui-loading.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-loading/tcloud-ui-loading.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-loading/tcloud-ui-loading.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-label-token/tcloud-ui-label-token.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-label-token/tcloud-ui-label-token.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-label-token/tcloud-ui-label-token.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.module.ts","../../../projects/tcloud-ui/src/lib/tcloud-ui.module.ts","../../../projects/tcloud-ui/src/public-api.ts","../../../projects/tcloud-ui/src/dev-tcloud-tcloud-ui.ts"],"sourcesContent":["import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-linha-logo',\r\n templateUrl: './tcloud-ui-linha-logo.component.html',\r\n styleUrls: ['./tcloud-ui-linha-logo.component.scss']\r\n})\r\nexport class TCloudUiLinhaLogoComponent implements OnInit {\r\n\r\n @Input() url: any = `h`+`t`+`t`+`p`+`s`+`:`+`/`+`/`+`ateleia`+`-`+`email`+`.s3`+`-`+`sa`+`-`+`east`+`-`+`1`+`.`+`amazonaws`+`.`+`com`+`/`; \r\n @Input() product: string = '';\r\n\r\n logo_name: string = '';\r\n product_name: string = '';\r\n alt_product_name: string = '';\r\n font_size: string = '';\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.logo_name = this.getLogoName();\r\n this.product_name = this.getProductName();\r\n \r\n this.alt_product_name = (this.product_name).toUpperCase();\r\n\r\n this.font_size = this.getWidthFontSize();\r\n }\r\n\r\n getProductName(){\r\n if( this.product !== '' ){\r\n let name = this.product;\r\n name = (name).replace('_',' ');\r\n name = (name).toLowerCase();\r\n return name;\r\n }\r\n return '';\r\n }\r\n\r\n getLogoName(){\r\n if( this.product !== '' ){\r\n let name = this.product;\r\n name = (name).replace('_','-');\r\n name = (name).toLowerCase();\r\n return 'logo-linha-'+name;\r\n }\r\n return '';\r\n }\r\n\r\n getWidthFontSize(){\r\n let size = 28;\r\n let new_size = size;\r\n const count = (this.product_name).length; \r\n\r\n if( count > 8 ){\r\n new_size = 28;\r\n }\r\n\r\n if( count > 12 ){\r\n const p = (size * (5+(count*2)) ) / 100;\r\n new_size = (size - p);\r\n }\r\n\r\n if( count > 15 ){\r\n const p = (size * (10+(count*2)) ) / 100;\r\n new_size = (size - p);\r\n }\r\n\r\n\r\n\r\n return `${new_size}px`;\r\n }\r\n\r\n}\r\n","<!-- <div class=\"logo-product\" *ngIf=\"product !== ''\">\r\n <img class=\"img-logo\" src=\"/assets/img/logo-totvs.svg\" alt=\"{{ alt_product_name }}\">\r\n <p class=\"text-small\">Linha</p>\r\n <p class=\"text-product\" [style]=\"'font-size:'+font_size+';'\" >{{ product_name }}</p>\r\n</div> -->\r\n\r\n<div class=\"tcloud-ui-linha-logo logo-product\" *ngIf=\"product !== ''\">\r\n <img class=\"img-logo\" [attr.data-name-image]=\"logo_name\" [attr.src]=\"url+logo_name+'.svg'\" alt=\"{{ alt_product_name }}\">\r\n</div>","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiLinhaLogoComponent } from './tcloud-ui-linha-logo.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiLinhaLogoComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n TCloudUiLinhaLogoComponent\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiLinhaLogoModule { }\r\n","import { ITab } from './../tcloud-ui-tab-menu';\r\nimport { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n\r\n\r\n@Injectable()\r\nexport class TabMenuService {\r\n\r\n private info_tab: ITab[] = [];\r\n\r\n private _scroll: boolean | undefined;\r\n private scrollSubject = new Subject<boolean>(); \r\n public scrollState$ = this.scrollSubject.asObservable();\r\n\r\n private _bottom_line: boolean | undefined;\r\n private bottom_lineSubject = new Subject<boolean>(); \r\n public bottom_lineState$ = this.bottom_lineSubject.asObservable();\r\n\r\n private _tab: string | undefined;\r\n private tabSubject = new Subject<string>(); \r\n public tabState$ = this.tabSubject.asObservable();\r\n\r\n private _loading: boolean | undefined;\r\n private loadingSubject = new Subject<boolean>(); \r\n public loadingState$ = this.loadingSubject.asObservable();\r\n\r\n private _full: boolean | undefined;\r\n private fullSubject = new Subject<boolean>(); \r\n public fullState$ = this.fullSubject.asObservable();\r\n\r\n constructor(\r\n private _route: ActivatedRoute,\r\n private _router: Router\r\n ){\r\n\r\n }\r\n\r\n setTabScroll(scroll: boolean){\r\n this._scroll = scroll;\r\n this.scrollSubject.next(scroll);\r\n }\r\n\r\n getTabScroll(){\r\n return this._scroll;\r\n }\r\n\r\n setTabBottomLine(bottom_line: boolean){\r\n this._bottom_line = bottom_line;\r\n this.bottom_lineSubject.next(bottom_line);\r\n }\r\n\r\n getTabBottomLine(){\r\n return this._bottom_line;\r\n } \r\n\r\n setTabLoading(loading: boolean){\r\n this._loading = loading;\r\n this.loadingSubject.next(loading);\r\n }\r\n\r\n getTabLoading(){\r\n return this._loading;\r\n }\r\n\r\n setTabfull(full: boolean){\r\n this._full = full;\r\n this.fullSubject.next(full);\r\n }\r\n\r\n getTabFull(){\r\n return this._full;\r\n }\r\n\r\n setTabState(tab: string, registerInUrl?:boolean | undefined){\r\n this._tab = tab;\r\n if( registerInUrl ){ this.set_to_param_url(tab); } \r\n this.tabSubject.next(tab);\r\n }\r\n\r\n getTabState(){\r\n return this._tab;\r\n }\r\n\r\n setTabDisabled(id: string, disabled: boolean ){\r\n let create = true;\r\n if( this.info_tab && (this.info_tab).length > 0 ){\r\n for( let i = 0; i < (this.info_tab).length; i++ ){\r\n if( this.info_tab[i].id === id ){\r\n this.info_tab[i].disabled = disabled;\r\n create = false;\r\n break;\r\n }\r\n }\r\n }\r\n if( create ){\r\n (this.info_tab).push({ id:id, disabled: disabled });\r\n } \r\n }\r\n\r\n getIsDisabled(id: string){\r\n if( this.info_tab && (this.info_tab).length > 0 ){\r\n for( let i = 0; i < (this.info_tab).length; i++ ){\r\n if( this.info_tab[i].id === id ){\r\n return this.info_tab[i].disabled;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n set_to_param_url(tab: string){\r\n // changes the route without moving from the current view or\r\n // triggering a navigation event,\r\n this._router.navigate([], {\r\n relativeTo: this._route,\r\n queryParams: {\r\n tab: `${tab}`\r\n },\r\n queryParamsHandling: 'merge',\r\n // preserve the existing query params in the route\r\n skipLocationChange: false\r\n // do not trigger navigation\r\n });\r\n }\r\n\r\n}","import { Subscription } from 'rxjs';\r\nimport { TabMenuService } from './services/tab-menu.service';\r\nimport { Component, OnInit, OnDestroy, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-tab-menu',\r\n templateUrl: './tcloud-ui-tab-menu.component.html',\r\n styleUrls: ['./tcloud-ui-tab-menu.component.scss'],\r\n providers: [ TabMenuService ]\r\n})\r\nexport class TCloudUiTabMenuComponent implements OnInit, OnDestroy {\r\n\r\n @Input() registerInUrl: boolean = false;\r\n\r\n private _loading: boolean = false;\r\n @Input() set loading(loading: boolean){\r\n this._loading = loading;\r\n this.tabMenuService.setTabLoading(this.loading);\r\n }\r\n get loading(): boolean{ return this._loading; }\r\n\r\n private _active: string = '';\r\n @Input() set active(active: string){\r\n this._active = active;\r\n if( this.active !== '' ){\r\n setTimeout(() => {\r\n this.tabMenuService.setTabState(this.active, this.registerInUrl);\r\n });\r\n \r\n }\r\n }\r\n get active(): string{ return this._active; }\r\n\r\n private _full: boolean = false;\r\n @Input() set full(full: boolean){\r\n this._full = full;\r\n this.tabMenuService.setTabfull(this.full);\r\n }\r\n get full(): boolean{ return this._full; }\r\n\r\n\r\n @Output() onChange = new EventEmitter<string>();\r\n\r\n private subscription: Subscription | undefined;\r\n\r\n constructor(\r\n private tabMenuService: TabMenuService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n const tab = this.tabMenuService.getTabState();\r\n if( tab === this._active ){\r\n this.onChange.emit(tab);\r\n }\r\n\r\n this.subscription = this.tabMenuService.tabState$.subscribe((tab: string)=>{\r\n this.onChange.emit(tab);\r\n })\r\n }\r\n\r\n ngOnDestroy(){\r\n if( this.subscription ){ this.subscription.unsubscribe(); }\r\n }\r\n\r\n}\r\n","<div class=\"tcloud-ui-tab-menu tc-tab-menu\" [class.loading]=\"loading\" [class.tcloud-ui-tab-block-full]=\"full\" >\r\n <ng-content></ng-content>\r\n</div>","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { TabMenuService } from '../../services/tab-menu.service';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-tab-content',\r\n templateUrl: './tcloud-ui-tab-content.component.html',\r\n styleUrls: ['./tcloud-ui-tab-content.component.scss']\r\n})\r\nexport class TCloudUiTabContentComponent implements OnInit {\r\n\r\n @Input() hideContent: boolean = false;\r\n @Input() tab: string = '';\r\n\r\n active: boolean = false;\r\n \r\n private subscription: Subscription | undefined;\r\n\r\n constructor(\r\n private tabMenuService: TabMenuService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n const disabled = this.tabMenuService.getIsDisabled(this.tab);\r\n const tab = this.tabMenuService.getTabState();\r\n\r\n this.active = ( tab === this.tab && !disabled );\r\n\r\n this.subscription = this.tabMenuService.tabState$.subscribe((tab: string)=>{\r\n this.active = ( tab === this.tab );\r\n });\r\n }\r\n\r\n ngOnDestroy(){\r\n if( this.subscription ){ this.subscription.unsubscribe(); }\r\n }\r\n\r\n}\r\n","<div class=\"tcloud-ui-tab-content tc-tabmenu-content\" *ngIf=\"active || hideContent\" [class.tc-table-hide]=\"!active\">\r\n <ng-content></ng-content>\r\n</div>\r\n\r\n","import { OnDestroy } from '@angular/core';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { TabMenuService } from '../../services/tab-menu.service';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-tab-title',\r\n templateUrl: './tcloud-ui-tab-title.component.html',\r\n styleUrls: ['./tcloud-ui-tab-title.component.scss']\r\n})\r\nexport class TCloudUiTabTitleComponent implements OnInit, OnDestroy {\r\n\r\n @Input() tab: string = '';\r\n @Input() title: string | undefined;\r\n @Input() active: boolean = false;\r\n\r\n loading: boolean = false;\r\n bottom_line: boolean = false;\r\n\r\n private _disabled: boolean = false;\r\n @Input() set disabled(disabled){\r\n this._disabled = disabled;\r\n this.tabMenuService.setTabDisabled( this.tab, this._disabled );\r\n }\r\n get disabled(): boolean { return this._disabled; }\r\n\r\n \r\n\r\n private subscription = new Subscription();\r\n\r\n constructor(\r\n private tabMenuService: TabMenuService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n if( !this.disabled ){\r\n const tab = this.tabMenuService.getTabState();\r\n if( this.tab !== '' ){\r\n this.active = ( tab === this.tab );\r\n }\r\n\r\n const bottom_line = this.tabMenuService.getTabBottomLine();\r\n if( typeof bottom_line === 'boolean' ){\r\n this.bottom_line = bottom_line;\r\n }\r\n }\r\n \r\n this.subscription?.add(\r\n this.tabMenuService.tabState$.subscribe((tab: string)=>{\r\n if( this.tab !== '' ){\r\n this.active = ( tab === this.tab );\r\n }\r\n })\r\n )\r\n\r\n this.loading = <any> this.tabMenuService.getTabLoading();\r\n this.subscription?.add(\r\n this.tabMenuService.loadingState$.subscribe((loading: boolean)=>{\r\n this.loading = loading;\r\n })\r\n )\r\n\r\n this.subscription?.add(\r\n this.tabMenuService.bottom_lineState$.subscribe((bottom_line: boolean)=>{\r\n this.bottom_line = bottom_line;\r\n })\r\n )\r\n }\r\n\r\n toTab(){\r\n if( !this.disabled ){\r\n if( this.tab && this.tab !== '' ){\r\n this.tabMenuService.setTabState(this.tab);\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(){\r\n if( this.subscription ){ this.subscription.unsubscribe(); }\r\n }\r\n\r\n}\r\n","<button [class.loading]=\"loading\" [attr.data-id]=\"tab\" [class.tab-title-active]=\"active\" [disabled]=\"disabled || loading\" type=\"button\" (click)=\"toTab()\" class=\"tcloud-ui-tab-title tab-title\" >\r\n <ng-content></ng-content>\r\n</button>\r\n<div class=\"bottom-line\" [class.bottom-line-hover]=\"bottom_line\" ></div>","import { OnDestroy } from '@angular/core';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { TabMenuService } from '../../services/tab-menu.service';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-tab-subtitle',\r\n templateUrl: './tcloud-ui-tab-subtitle.component.html',\r\n styleUrls: ['./tcloud-ui-tab-subtitle.component.scss']\r\n})\r\nexport class TCloudUiTabSubtitleComponent implements OnInit, OnDestroy {\r\n\r\n @Input() tab: string = '';\r\n @Input() active: boolean = false;\r\n\r\n private _disabled: boolean = false;\r\n @Input() set disabled(disabled){\r\n this._disabled = disabled;\r\n this.tabMenuService.setTabDisabled( this.tab, this._disabled );\r\n }\r\n get disabled(): boolean { return this._disabled; }\r\n\r\n loading: boolean = false;\r\n bottom_line: boolean = false;\r\n private subscription = new Subscription();\r\n\r\n constructor(\r\n private tabMenuService: TabMenuService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n if( !this.disabled ){\r\n const tab = this.tabMenuService.getTabState();\r\n if( this.tab !== '' ){\r\n this.active = ( tab === this.tab );\r\n }\r\n\r\n const bottom_line = this.tabMenuService.getTabBottomLine();\r\n if( typeof bottom_line === 'boolean' ){\r\n this.bottom_line = bottom_line;\r\n }\r\n\r\n }\r\n\r\n this.subscription?.add(\r\n this.tabMenuService.tabState$.subscribe((tab: string)=>{\r\n if( this.tab !== '' ){\r\n this.active = ( tab === this.tab );\r\n }\r\n })\r\n )\r\n\r\n this.loading = <any> this.tabMenuService.getTabLoading();\r\n this.subscription?.add(\r\n this.tabMenuService.loadingState$.subscribe((loading: boolean)=>{\r\n this.loading = loading;\r\n })\r\n )\r\n\r\n this.subscription?.add(\r\n this.tabMenuService.bottom_lineState$.subscribe((bottom_line: boolean)=>{\r\n this.bottom_line = bottom_line;\r\n })\r\n )\r\n }\r\n\r\n toTab(){\r\n if( !this.disabled ){\r\n if( this.tab && this.tab !== '' ){\r\n this.tabMenuService.setTabState(this.tab);\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(){\r\n if( this.subscription ){ this.subscription.unsubscribe(); }\r\n }\r\n\r\n}\r\n","<button [class.loading]=\"loading\" [attr.data-id]=\"tab\" [class.tab-subtitle-active]=\"active\" [disabled]=\"disabled || loading\" type=\"button\" (click)=\"toTab()\" class=\"tcloud-ui-tab-subtitle tab-subtitle\" >\r\n <ng-content></ng-content>\r\n</button>\r\n<div class=\"bottom-line\" [class.bottom-line-hover]=\"bottom_line\" ></div>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { TabMenuService } from '../../services/tab-menu.service';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-tab-head',\r\n templateUrl: './tcloud-ui-tab-head.component.html',\r\n styleUrls: ['./tcloud-ui-tab-head.component.scss']\r\n})\r\nexport class TCloudUiTabHeadComponent implements OnInit {\r\n\r\n private _scroll: boolean = true;\r\n @Input() set scroll(scroll: boolean){\r\n if( typeof scroll === 'boolean' ){\r\n this._scroll = scroll;\r\n this.tabMenuService.setTabScroll(scroll);\r\n }\r\n }\r\n get scroll(): boolean { return this._scroll; }\r\n\r\n ID: string = '';\r\n @Input() background: boolean = true;\r\n\r\n @Input() backgroundColor: '#FFFFFF'|'#F1F1F1'|'white'|'transparent' = 'transparent'; // var(--cinza4)\r\n\r\n private _bottom_line: boolean = false;\r\n @Input() set bottom_line(bottom_line: boolean){\r\n if( typeof bottom_line === 'boolean' ){\r\n this._bottom_line = bottom_line;\r\n this.tabMenuService.setTabBottomLine(bottom_line);\r\n }\r\n }\r\n get bottom_line(): boolean { return this._bottom_line; }\r\n\r\n constructor(\r\n private tabMenuService: TabMenuService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n if( this.background ){\r\n if( this.backgroundColor === 'white' ){\r\n this.backgroundColor = '#FFFFFF';\r\n }else{\r\n this.backgroundColor = '#F1F1F1';\r\n }\r\n }\r\n\r\n this.ID = this.generateID();\r\n }\r\n\r\n generateID(): string{\r\n return `tc-head-scroll-box-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\r\n }\r\n\r\n to_scroll(action: 'prev'|'next'){\r\n this.moveScroll(action, this.width_scroll());\r\n }\r\n\r\n private width_scroll(): number{\r\n var ele = <any> document.querySelectorAll(`.${this.ID}`);\r\n return ele[0].querySelector(\"button\").offsetWidth;\r\n }\r\n\r\n private scrollSuave(old:any, des:any, atu:any, ele:any){\r\n const _this = this;\r\n var easeOutCubic = (t:any) => { return (--t)*t*t+1 };\r\n atu += 5; // move de 5 em 5 pixel. Aumentando o valor da velocidade\r\n var ease = easeOutCubic(atu/100);\r\n var del = des-old;\r\n del *= ease;\r\n del += old;\r\n ele.scrollTo(del, 0);\r\n if(atu < 100){\r\n window.requestAnimationFrame(() => {\r\n _this.scrollSuave(old, des, atu, ele);\r\n });\r\n }\r\n }\r\n\r\n private moveScroll(action: any, wid: number){\r\n var ele = document.querySelectorAll(`.${this.ID}`);\r\n var ccs = ele[0];\r\n var ccs_s = ccs.scrollLeft;\r\n this.scrollSuave(ccs_s, action == 'next' ? wid+ccs_s : ccs_s-wid, 0, ccs);\r\n }\r\n\r\n}","\r\n\r\n<table class=\"tcloud-ui-tab-head area-navigation\">\r\n <tr>\r\n <td *ngIf=\"scroll\">\r\n <button (click)=\"to_scroll('prev')\"> <i class=\"fas fa-chevron-left\"></i> </button>\r\n </td>\r\n\r\n <td>\r\n\r\n </td>\r\n\r\n <td *ngIf=\"scroll\">\r\n <button (click)=\"to_scroll('next')\"> <i class=\"fas fa-chevron-right\"></i> </button>\r\n </td>\r\n </tr>\r\n</table>\r\n\r\n<div class=\"tc-menu {{ ID }}\" [attr.style]=\"'background: ' + backgroundColor + ';'\" [class.tab-full]=\"!scroll\" [class.tab-subtitle-line-bottom]=\"bottom_line\">\r\n <ng-content></ng-content> \r\n</div>\r\n<div class=\"hr-border-bottom\" *ngIf=\"bottom_line\"></div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiTabMenuComponent } from './tcloud-ui-tab-menu.component';\r\nimport { TCloudUiTabContentComponent } from './components/tcloud-ui-tab-content/tcloud-ui-tab-content.component';\r\nimport { TCloudUiTabTitleComponent } from './components/tcloud-ui-tab-title/tcloud-ui-tab-title.component';\r\nimport { TCloudUiTabSubtitleComponent } from './components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component';\r\nimport { TCloudUiTabHeadComponent } from './components/tcloud-ui-tab-head/tcloud-ui-tab-head.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiTabMenuComponent,\r\n TCloudUiTabContentComponent,\r\n TCloudUiTabTitleComponent,\r\n TCloudUiTabSubtitleComponent,\r\n TCloudUiTabHeadComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n TCloudUiTabMenuComponent,\r\n TCloudUiTabContentComponent,\r\n TCloudUiTabTitleComponent,\r\n TCloudUiTabSubtitleComponent,\r\n TCloudUiTabHeadComponent\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiTabMenuModule { }\r\n","import { IConfirm } from './../tcloud-ui-modal';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class TcloudModalService {\r\n\r\n private loading: boolean | undefined;\r\n\r\n private param_mode: string = '';\r\n private param_confirm: IConfirm = {} as IConfirm;\r\n\r\n private _stateClose = new Subject<boolean>();\r\n public stateClose$ = this._stateClose.asObservable();\r\n\r\n private _stateConfirm = new Subject<IConfirm>();\r\n public stateConfirm$ = this._stateConfirm.asObservable();\r\n\r\n private _stateRespConfirm = new Subject<boolean>();\r\n public stateRespConfirm$ = this._stateRespConfirm.asObservable();\r\n\r\n private _stateLoading = new Subject<boolean>();\r\n public stateLoading$ = this._stateLoading.asObservable();\r\n\r\n private _stateMode = new Subject<string>();\r\n public stateMode$ = this._stateMode.asObservable();\r\n\r\n\r\n toModal(action: 'open'|'close'): void{\r\n if(action === 'close'){\r\n this.fixed_body('off');\r\n }\r\n this._stateClose.next( (action === 'open') );\r\n }\r\n\r\n toRespConfirm(resp: boolean){ \r\n this._stateRespConfirm.next(resp);\r\n }\r\n\r\n getParamConfirm(): IConfirm{\r\n return this.param_confirm;\r\n }\r\n\r\n toConfirm(confirm: IConfirm){\r\n this.param_confirm = confirm;\r\n this._stateConfirm.next(confirm);\r\n }\r\n\r\n toMode(mode: string){\r\n this.param_mode = mode;\r\n this._stateMode.next(mode);\r\n }\r\n\r\n getLoading(){\r\n return this.loading;\r\n }\r\n\r\n setLoading(loading: boolean){\r\n this.loading = loading;\r\n this._stateLoading.next(loading);\r\n }\r\n\r\n fixed_body(fixed: 'on'|'off'){ \r\n let body = <any> document.getElementsByTagName(\"BODY\")[0];\r\n if( body && body.style ){\r\n if( fixed === 'on' ){\r\n body.style.overflowY = \"hidden\";\r\n }\r\n if( fixed === 'off' ){\r\n body.style.removeProperty('overflow-y');\r\n }\r\n }\r\n }\r\n\r\n}","import { Subscription } from 'rxjs';\r\nimport { Component, OnInit, Input, EventEmitter, Output, OnDestroy } from '@angular/core';\r\nimport { TcloudModalService } from './services/tcloud-modal.service';\r\nimport { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { IConfirm } from './tcloud-ui-modal';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-modal',\r\n templateUrl: './tcloud-ui-modal.component.html',\r\n styleUrls: ['./tcloud-ui-modal.component.scss'],\r\n providers: [\r\n TcloudModalService\r\n ],\r\n animations: [\r\n trigger('fade', [\r\n state('visible', style({ opacity: 1 })),\r\n state('hide', style({ opacity: 0, top: '-38%' })),\r\n transition('void => visible', [\r\n style({ opacity: 0, top: '-38%' }),\r\n animate('0.3s ease-out')\r\n ]),\r\n transition('visible => hide', animate('0.3s ease-out'))\r\n ])\r\n ]\r\n})\r\nexport class TCloudUiModalComponent implements OnInit, OnDestroy {\r\n\r\n /**\r\n * tcloud-ui-modal - Cria e exibe um modal\r\n * \r\n * toAction - (toAction) - Resultado do evento - 'confirmed'|'cancel'|'close'\r\n * toConfirm - (toConfirm) - Indica que a ação foi confirmada - resultado true\r\n * toCancel - (toCancel() - Indica que a ação foi cancelada - resultado false\r\n */\r\n\r\n param_confirm: IConfirm = {} as IConfirm;\r\n /* BEGIN - Parametros para modo confirmacao */\r\n private _confirm: boolean = false;\r\n private _confirmText: string = 'Confirmo';\r\n\r\n /**\r\n * confirm boolean - Indica se será um modal do tipo confirmação - default false\r\n */\r\n @Input() set confirm(v: boolean){\r\n this._confirm = v;\r\n this.param_confirm.confirm = this._confirm;\r\n this.param_confirm.confirmText = this._confirmText;\r\n }\r\n\r\n /**\r\n * confirmText string - Texto que deverá ser digitado - defualt Confirmo\r\n */\r\n @Input() set confirmText(v: string){\r\n this._confirmText = v;\r\n this.param_confirm.confirmText = this._confirmText;\r\n this.param_confirm.confirm = this._confirm; \r\n }\r\n\r\n /* END --- Parametros para modo confirmacao */\r\n\r\n subscription = new Subscription();\r\n\r\n /**\r\n * autoClose boolean - Indica se deverá ser fechado quando confirmar uma ação - default true\r\n */\r\n @Input() autoClose: boolean = true;\r\n\r\n /**\r\n * title - string - Título a ser exibido no topo do modal\r\n */\r\n @Input() title: any | undefined;\r\n\r\n /**\r\n * maxWidth - number - Largura máxima do modal - default 500px\r\n */\r\n @Input() maxWidth: number = 500;\r\n\r\n\r\n /**\r\n * window - string - nome referente ao tamanho do modal - não utilizar maxWidth se for utilizar window - default 500 (medium)\r\n */\r\n @Input() set window( size: 'small' | 'medium' | 'large' | 'big' | 'full' ){\r\n switch (size) {\r\n case 'small': this.maxWidth = 300; break;\r\n case 'medium': this.maxWidth = 500; break;\r\n case 'large': this.maxWidth = 900; break;\r\n case 'big': this.maxWidth = 1100; break;\r\n case 'full': this.maxWidth = 1400; break;\r\n }\r\n }\r\n\r\n \r\n mode: string = '';\r\n control_open: boolean = false;\r\n private _open: boolean = false;\r\n /**\r\n * open - boolean - Variável de controle para exibição do modal - obrigatório\r\n */\r\n @Input() set open(open: boolean){\r\n this.control_open = open;\r\n this.checkIsOpen();\r\n\r\n this._open = open;\r\n this.tcloudModalService.fixed_body((open) ? 'on' : 'off');\r\n }\r\n get open(): boolean { return this._open; }\r\n\r\n private _loading: boolean = false;\r\n /**\r\n * loading - boolean - Coloca o modal em modo de carregamento - default false\r\n */\r\n @Input() set loading(loading: boolean){ \r\n this._loading = loading;\r\n this.tcloudModalService.setLoading(loading);\r\n }\r\n get loading(): boolean { return this._loading; }\r\n \r\n @Output() openChange = new EventEmitter<boolean>();\r\n\r\n @Output() toConfirm = new EventEmitter<boolean>();\r\n @Output() toCancel = new EventEmitter<boolean>();\r\n @Output() toAction = new EventEmitter<'confirmed'|'cancel'|'close'>();\r\n\r\n constructor(\r\n private tcloudModalService: TcloudModalService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.subscription.add(this.tcloudModalService.stateClose$.subscribe(\r\n (open: boolean)=>{\r\n if( open ){\r\n /* OPEN */\r\n }\r\n\r\n if( !open ){\r\n /* CLOSE */\r\n this.toClose();\r\n }\r\n })\r\n );\r\n\r\n this.subscription.add(\r\n this.tcloudModalService.stateRespConfirm$.subscribe(\r\n (resp: boolean)=>{\r\n if( resp ){\r\n /* CONFIRMADO */\r\n this.toConfirm.emit(resp);\r\n this.toClose('confirmed');\r\n\r\n }\r\n\r\n if( !resp ){\r\n /* CANCELADO */\r\n this.toCancel.emit(resp);\r\n this.toClose('cancel');\r\n }\r\n }\r\n )\r\n )\r\n\r\n this.subscription.add(\r\n this.tcloudModalService.stateMode$.subscribe(\r\n (resp: string)=>{\r\n this.mode = resp;\r\n }\r\n )\r\n )\r\n \r\n this.tcloudModalService.toConfirm( this.param_confirm );\r\n }\r\n\r\n toClose(action?: any | undefined){\r\n if( this.autoClose ){\r\n this.control_open = false;\r\n this.open = false;\r\n this.openChange.emit(false);\r\n }\r\n \r\n action = (action) ? action : 'close';\r\n this.toAction.emit(action);\r\n this.tcloudModalService.fixed_body('off');\r\n }\r\n\r\n checkIsOpen(){\r\n if( this.control_open ){\r\n this.tcloudModalService.fixed_body('on');\r\n }else{\r\n this.tcloudModalService.fixed_body('off');\r\n }\r\n }\r\n\r\n ngOnDestroy(){\r\n this.checkIsOpen();\r\n if( this.subscription ){ this.subscription.unsubscribe(); }\r\n }\r\n\r\n\r\n}\r\n","<div class=\"tc-background-modal\" *ngIf=\"control_open\" >{{ checkIsOpen() }}</div>\r\n\r\n<div class=\"tcloud-ui-modal base-modal\" *ngIf=\"open\">\r\n <div class=\"sub-modal\" [@fade]=\"'visible'\">\r\n <div class=\"tc-modal tc-modal-shadow\" [attr.style]=\"'max-width: ' + maxWidth + 'px;'\">\r\n <div class=\"area-top-actions tc-ui-modal-{{mode}}\">\r\n <button type=\"button tc-btn-action-close-ui-modal\" [class.no-use-header]=\"title\" (click)=\"toClose()\" [disabled]=\"loading\">\r\n <i *ngIf=\"!loading\" class=\"fas fa-times\"></i>\r\n <i *ngIf=\"loading\" class=\"fas fa-spinner fa-spin\"></i>\r\n </button>\r\n </div>\r\n\r\n <h4 *ngIf=\"title\" [innerHTML]=\"title\"></h4>\r\n\r\n <ng-content></ng-content>\r\n\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Ex: Modal -->\r\n<!-- \r\n <tcloud-ui-modal [(open)]=\"open\">\r\n\r\n <tcloud-ui-modal-header title=\"Título do Modal\" ></tcloud-ui-modal-header>\r\n\r\n <tcloud-ui-modal-body>\r\n Conteúdo do modal aqui\r\n </tcloud-ui-modal-body>\r\n\r\n <tcloud-ui-modal-footer></tcloud-ui-modal-footer>\r\n\r\n </tcloud-ui-modal>\r\n\r\n <button type=\"button\" (click)=\"open = !open\">open modal {{ open }}</button>\r\n-->\r\n\r\n<!-- ****** -->\r\n<!-- ****** -->\r\n<!-- ****** -->\r\n<!-- ****** -->\r\n\r\n<!-- Ex: Confirm Modal -->\r\n<!-- \r\n <tcloud-ui-modal [(open)]=\"open_confirm\" [title]=\"'Atenção'\" [confirmText]=\"'Aceito'\" [confirm]=\"true\" (toAction)=\"$event\" >\r\n\r\n <tcloud-ui-modal-body>Deseja realmente executar esta ação?</tcloud-ui-modal-body>\r\n\r\n <tcloud-ui-modal-footer></tcloud-ui-modal-footer>\r\n\r\n </tcloud-ui-modal>\r\n\r\n <button type=\"button\" (click)=\"open_confirm = !open_confirm\">open_confirm modal {{ open_confirm }}</button>\r\n-->","import { Component, Input, OnInit } from '@angular/core';\r\nimport { TcloudModalService } from '../../services/tcloud-modal.service';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-modal-header',\r\n templateUrl: './tcloud-ui-modal-header.component.html',\r\n styleUrls: ['./tcloud-ui-modal-header.component.scss']\r\n})\r\nexport class TCloudUiModalHeaderComponent implements OnInit {\r\n\r\n @Input() mode: 'colorless' | 'info' | 'success' | 'danger' | 'warning' = 'info';\r\n @Input() title: any | undefined;\r\n \r\n constructor(\r\n private _tcloudModalService: TcloudModalService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this._tcloudModalService.toMode( this.mode );\r\n }\r\n\r\n}\r\n","<div class=\"tcloud-ui-modal-header tc-modal-header tc-mode-{{ mode }}\" >\r\n <h4 *ngIf=\"title\" [innerHTML]=\"title\"></h4>\r\n <ng-content></ng-content>\r\n\r\n <hr>\r\n</div>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-modal-body',\r\n templateUrl: './tcloud-ui-modal-body.component.html',\r\n styleUrls: ['./tcloud-ui-modal-body.component.scss']\r\n})\r\nexport class TCloudUiModalBodyComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div class=\"tcloud-ui-modal-body tc-modal-body\">\r\n <ng-content></ng-content>\r\n</div>","import { Subscription } from 'rxjs';\r\nimport { TcloudModalService } from './../../services/tcloud-modal.service';\r\nimport { Component, OnInit, ViewChild, Input, OnDestroy } from '@angular/core';\r\nimport { IConfirm } from '../../tcloud-ui-modal';\r\nimport { NgForm } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-modal-footer',\r\n templateUrl: './tcloud-ui-modal-footer.component.html',\r\n styleUrls: ['./tcloud-ui-modal-footer.component.scss']\r\n})\r\nexport class TCloudUiModalFooterComponent implements OnInit, OnDestroy {\r\n\r\n @Input() btnCloseText: string = 'Fechar';\r\n @Input() btnCancelText: string = 'Cancelar';\r\n @Input() btnConfirmText: string = 'Confirmar';\r\n\r\n @ViewChild('_formulario') _formulario: NgForm | undefined; \r\n txt_value: string = '';\r\n\r\n param_confirm: IConfirm = {} as IConfirm;\r\n\r\n loading: boolean = false;\r\n\r\n subscription: Subscription |undefined\r\n\r\n constructor(\r\n private tcloudModalService: TcloudModalService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.txt_value = '';\r\n this.param_confirm = this.tcloudModalService.getParamConfirm();\r\n\r\n this.toStateLoading();\r\n }\r\n\r\n toClose(){\r\n this.tcloudModalService.toModal('close');\r\n }\r\n\r\n toConfirm(valid: boolean | any){\r\n if( typeof valid === 'boolean' ){\r\n if( valid && (this.txt_value).toLowerCase() === (this.param_confirm.confirmText).toLowerCase() ){\r\n this.tcloudModalService.toRespConfirm(true);\r\n this.txt_value = ''; \r\n }\r\n }\r\n }\r\n\r\n toCancel(){\r\n this.tcloudModalService.toRespConfirm(false);\r\n }\r\n\r\n toStateLoading(){\r\n this.loading = <any> this.tcloudModalService.getLoading();\r\n this.subscription = this.tcloudModalService.stateLoading$.subscribe((loading: boolean) => { this.loading = loading; } )\r\n }\r\n\r\n\r\n ngOnDestroy(): void {\r\n this.tcloudModalService.fixed_body('off');\r\n if( this.subscription ){ this.subscription.unsubscribe(); }\r\n }\r\n\r\n}\r\n","<div class=\"tcloud-ui-modal-footer tc-modal-footer\">\r\n\r\n <div class=\"input-confirm\" *ngIf=\"param_confirm && param_confirm.confirmText\">\r\n <p>Digite a palavra <strong>"{{ param_confirm.confirmText }}"</strong> para confirmar.</p>\r\n \r\n <form #_formulario=\"ngForm\" (ngSubmit)=\"toConfirm(_formulario.valid)\">\r\n <input \r\n [disabled]=\"loading\"\r\n placeholder=\"{{ param_confirm.confirmText }}\"\r\n name=\"txt_value\" \r\n [(ngModel)]=\"txt_value\" \r\n type=\"text\" \r\n class=\"tc-form-confirm tc-form-control\" \r\n required \r\n [class.different-text]=\"(txt_value).length >= (param_confirm.confirmText).length && (txt_value).toLowerCase() !== (param_confirm.confirmText).toLowerCase()\" >\r\n </form>\r\n\r\n </div>\r\n\r\n <hr>\r\n\r\n <div class=\"actions-footer {{ (loading) ? 'state-loading' : '' }}\">\r\n <!-- {{ param_confirm | json }} -->\r\n <button [disabled]=\"loading\" *ngIf=\"param_confirm && !param_confirm.confirm\" type=\"button\" class=\"tc-btn margin-l-5\" (click)=\"toClose()\">{{ btnCloseText }}</button>\r\n\r\n <button [disabled]=\"loading\" *ngIf=\"param_confirm && param_confirm.confirm\" type=\"button\" class=\"tc-btn margin-l-5\" (click)=\"toCancel()\">{{ btnCancelText }}</button>\r\n <button [disabled]=\"(txt_value).toLowerCase() !== (param_confirm.confirmText).toLowerCase() || loading\" *ngIf=\"param_confirm && param_confirm.confirm\" type=\"button\" class=\"tc-btn tc-btn-primary margin-l-5\" (click)=\"toConfirm(_formulario?.valid)\">{{ btnConfirmText }}</button>\r\n\r\n </div>\r\n</div>\r\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TCloudUiModalComponent } from './tcloud-ui-modal.component';\r\nimport { TCloudUiModalHeaderComponent } from './components/tcloud-ui-modal-header/tcloud-ui-modal-header.component';\r\nimport { TCloudUiModalBodyComponent } from './components/tcloud-ui-modal-body/tcloud-ui-modal-body.component';\r\nimport { TCloudUiModalFooterComponent } from './components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiModalComponent,\r\n TCloudUiModalHeaderComponent,\r\n TCloudUiModalBodyComponent,\r\n TCloudUiModalFooterComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n exports: [\r\n TCloudUiModalComponent,\r\n TCloudUiModalHeaderComponent,\r\n TCloudUiModalBodyComponent,\r\n TCloudUiModalFooterComponent\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiModalModule { }\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\nclass Step {\r\n\r\n constructor(){\r\n this.status = '';\r\n this.index = 0;\r\n this.class = '';\r\n this.second_class = '';\r\n }\r\n\r\n status: string;\r\n index: number;\r\n class: string;\r\n second_class: string;\r\n}\r\n\r\n@Component({\r\n selector: 'tcloud-ui-line-step-circle',\r\n templateUrl: './tcloud-ui-line-step-circle.component.html',\r\n styleUrls: ['./tcloud-ui-line-step-circle.component.scss']\r\n})\r\nexport class TCloudUiLineStepCircleComponent implements OnInit {\r\n\r\n @Input() step: number = 7;\r\n \r\n private _active: number = 0;\r\n @Input() set active( active: number ){\r\n if( active && active !== this._active ){\r\n this._active = active;\r\n this.build_steps();\r\n } \r\n }\r\n get active(): number{ return this._active; }\r\n\r\n private _inactives = [] as number[] | undefined;\r\n @Input() set inactives( inactives: number[] | undefined){\r\n if( inactives && inactives !== this._inactives ){\r\n this._inactives = inactives;\r\n this.build_steps();\r\n }\r\n }\r\n get inactives(): number[] | undefined { return this._inactives; }\r\n\r\n\r\n private _complete: boolean = false;\r\n @Input() set complete( complete: boolean ){\r\n if( complete && complete !== this._complete ){\r\n this._complete = complete;\r\n this.build_steps();\r\n } \r\n }\r\n get complete(): boolean{ return this._complete; }\r\n\r\n trilha = new Array<Step>();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n setTimeout(() => { this.build_steps(); }); \r\n }\r\n\r\n build_steps(){\r\n let trilha = new Array<Step>();\r\n if( this.step && this.step > 0 ){\r\n for( let i = 0; i < this.step; i++ ){\r\n (trilha).push({\r\n status: '',\r\n index: i+1,\r\n class: 'step-default',\r\n second_class: '',\r\n })\r\n }\r\n }\r\n\r\n if( this.active > this.step ){\r\n this.active = this.step;\r\n this.complete = true;\r\n }\r\n\r\n if( this.active && this.active > 0 ){\r\n for( let i = 0; i < this.active; i++ ){ \r\n trilha[i].class = \"step-progress\"; \r\n if( (i+1) === this.active && !this.complete ){\r\n trilha[i].class = \"step-active\";\r\n }\r\n }\r\n }\r\n \r\n if( this.inactives && (this.inactives).length > 0 ){\r\n for( let i = 0; i < (this.inactives).length; i++ ){\r\n const icon = this.inactives[i];\r\n if( icon && icon > 0 ){\r\n trilha[(icon-1)].second_class = \"step-inactive\"; \r\n } \r\n }\r\n }\r\n\r\n this.trilha = trilha;\r\n }\r\n\r\n}\r\n","<table class=\"tcloud-ui-line-step-circle table-trilha\" cellspacing=\"0\" cellpadding=\"0\">\r\n <tr>\r\n <ng-container *ngFor=\"let fase of trilha; let i = index\" >\r\n <td class=\"area-circle\">\r\n <!-- <i class=\"fas fa-circle icon-{{ fase.class }} {{ fase.second_class }} \"></i> -->\r\n\r\n <div class=\"tc-circle icon-{{ fase.class }} {{ fase.second_class }}\"></div>\r\n \r\n </td>\r\n <td class=\"area-line\" *ngIf=\"(i+1) < (trilha).length\">\r\n <div class=\"step-line {{ fase.class }}\"></div>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n</table>","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiLineStepCircleComponent } from './tcloud-ui-line-step-circle.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiLineStepCircleComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n TCloudUiLineStepCircleComponent\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiLineStepCircleModule { }\r\n","import { Component, EventEmitter, forwardRef, Input, OnInit, Output, OnDestroy } from '@angular/core';\r\nimport { FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from '@angular/forms';\r\n\r\nconst CUSTOM_INPUT_VALIDATORS: any = { \r\n provide: NG_VALIDATORS, \r\n useExisting: forwardRef(() => TCloudUiMultiSelectComponent),\r\n multi: true\r\n}\r\n\r\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiMultiSelectComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n@Component({\r\n selector: 'tcloud-ui-multi-select',\r\n templateUrl: './tcloud-ui-multi-select.component.html',\r\n styleUrls: ['./tcloud-ui-multi-select.component.scss'],\r\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CUSTOM_INPUT_VALIDATORS]\r\n})\r\nexport class TCloudUiMultiSelectComponent implements OnInit, OnDestroy, Validator {\r\n\r\n \r\n\r\n @Input() tcList: any[] | undefined;\r\n @Input() placeholder: string = 'Selecione um item';\r\n @Input() disabled: boolean = false;\r\n @Input() loading: boolean = false;\r\n @Input() required: string | undefined;\r\n\r\n @Input() maxWidthLabel: string | undefined;\r\n @Input() showDescriptionInValue: boolean = false;\r\n\r\n @Output() tcChange = new EventEmitter<any[]>();\r\n\r\n use_validation_required: boolean = false;\r\n values: any[] | undefined;\r\n count_actives: number = 0;\r\n item_value: any | undefined;\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n setTimeout(() => { this.toChange(); });\r\n }\r\n\r\n addItem(item: any): void{\r\n if( this.disabled ){ return; }\r\n if( this.tcList ){\r\n for( let i = 0; i < (this.tcList).length; i++ ){\r\n const row = this.tcList[i];\r\n if( item === row.value ){\r\n this.tcList[i].active = true;\r\n break;\r\n }\r\n }\r\n this.toChange();\r\n } \r\n }\r\n\r\n removeItem(item: any): void{\r\n if( this.disabled ){ return; }\r\n if( this.tcList ){\r\n for( let i = 0; i < (this.tcList).length; i++ ){\r\n const row = this.tcList[i];\r\n if( item === row.value ){\r\n this.tcList[i].active = false;\r\n break;\r\n }\r\n }\r\n this.toChange();\r\n }\r\n }\r\n\r\n private toChange(): void{\r\n let count_actives = 0;\r\n let itens: any[] = [];\r\n if( this.tcList ){\r\n for( let i = 0; i < (this.tcList).length; i++ ){\r\n const row = this.tcList[i];\r\n if( row.active ){\r\n count_actives++;\r\n (itens).push(row);\r\n }\r\n }\r\n }\r\n this.item_value = null;\r\n this.count_actives = count_actives;\r\n this.tcChange.emit(itens);\r\n this.onChangeCallback(this.tcList);\r\n }\r\n\r\n\r\n check_is_valid(): boolean{\r\n let active = 0;\r\n if( this.tcList ){\r\n for( let i = 0; i < (this.tcList).length; i++ ){\r\n const item = this.tcList[i];\r\n if( item && item.active && item.active === true){\r\n active++;\r\n break;\r\n }\r\n }\r\n }\r\n return (active > 0) ? true : false;\r\n }\r\n\r\n onChangeTouched(){ \r\n this.onTouchedCallback(); \r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n @Output() onChange = new EventEmitter<any>();\r\n // @Output() ngModelChange = new EventEmitter<any>();\r\n\r\n innerValue: any | undefined;\r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): any {\r\n return this.innerValue;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: any) {\r\n if (v !== this.innerValue) {\r\n this.innerValue = v; \r\n this.onChangeCallback(v);\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.innerValue) {\r\n this.innerValue = value;\r\n this.toSetDefault(value);\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n toSetDefault(value: any){\r\n this.tcList = value;\r\n }\r\n\r\n public validate(c: FormControl): any {\r\n if( c && ( typeof this.required !== 'undefined' ) ){\r\n this.use_validation_required = true;\r\n return (this.check_is_valid()) ? null : 'required';\r\n }\r\n return null;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n \r\n }\r\n}\r\n","\r\n <div class=\"tcloud-ui-multi-select\">\r\n <table>\r\n <tr *ngIf=\"tcList\">\r\n <td>\r\n <select \r\n class=\"tc-form-control\"\r\n [(ngModel)]=\"item_value\"\r\n [class.tc-parent-validation]=\"use_validation_required\" \r\n #_select\r\n [disabled]=\"tcList === undefined || (tcList && tcList.length === 0) || disabled || loading\"\r\n [title]=\"tcList.length === 0 ? 'Nenhum item disponível' : placeholder\">\r\n <option></option>\r\n <ng-container *ngFor=\"let item of tcList; let i = index\">\r\n <option [title]=\"item.description\" *ngIf=\"!item.active\" [value]=\"item.value\">{{ item.description }}</option>\r\n </ng-container>\r\n </select>\r\n </td>\r\n <td>\r\n <button\r\n [disabled]=\"!item_value || tcList === undefined || (tcList && tcList.length === 0) || disabled || loading\"\r\n title=\"Adicionar\"\r\n class=\"btn-plus-select\"\r\n (click)=\"addItem(_select.value);onChangeTouched()\"\r\n type=\"button\">\r\n <i class=\"fas fa-plus\"></i>\r\n </button>\r\n </td>\r\n </tr>\r\n </table>\r\n\r\n <div class=\"box-itens-selected\" *ngIf=\"count_actives > 0 && (tcList && tcList.length > 0)\">\r\n <ng-container *ngFor=\"let item of tcList\">\r\n\r\n <ng-container *ngIf=\"item.active\">\r\n <div class=\"box-label\" [ngStyle]=\"(maxWidthLabel) ? {'max-width': maxWidthLabel} : null\" >\r\n <div class=\"box-value\" [title]=\"item.value\" *ngIf=\"!showDescriptionInValue\">\r\n {{ item.value }} \r\n </div>\r\n <div class=\"box-value\" [title]=\"item.description\" *ngIf=\"showDescriptionInValue\">\r\n {{ item.description }} \r\n </div>\r\n <div class=\"box-action\">\r\n <button\r\n [disabled]=\"tcList === undefined || (tcList && tcList.length === 0) || disabled || loading\"\r\n title=\"Remover\"\r\n type=\"button\"\r\n (click)=\"removeItem(item.value);onChangeTouched()\">\r\n <i class=\"fas fa-times\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </ng-container>\r\n </div>\r\n </div>\r\n","import { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiMultiSelectComponent } from './tcloud-ui-multi-select.component';\r\n\r\n@NgModule({\r\n declarations: [TCloudUiMultiSelectComponent],\r\n exports: [TCloudUiMultiSelectComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiMultiSelectModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class DataListService {\r\n private _stateSourceValue: Subject<any> = new Subject<any>();\r\n public stateValue$: Observable<Subject<any>> = this._stateSourceValue.asObservable();\r\n\r\n private _stateSourceDescription: Subject<any> = new Subject<any>();\r\n public stateDescription$: Observable<Subject<any>> = this._stateSourceDescription.asObservable();\r\n\r\n private _stateSourceOptions: Subject<any> = new Subject<any>();\r\n public stateOptions$: Observable<Subject<any>> = this._stateSourceOptions.asObservable();\r\n\r\n private _stateSourceActive: Subject<any> = new Subject<any>();\r\n public stateActive$: Observable<Subject<any>> = this._stateSourceActive.asObservable();\r\n\r\n private actived_value: any | undefined;\r\n\r\n public setItemValue(v: any): void {\r\n this.actived_value = v;\r\n this._stateSourceValue.next(v);\r\n }\r\n\r\n public setItemDescription(v: any): void {\r\n this._stateSourceDescription.next(v);\r\n }\r\n\r\n public registerSelectionOptionsDescription(v: any): void {\r\n this._stateSourceOptions.next(v);\r\n }\r\n\r\n public setActiveItem(v: any): void {\r\n this._stateSourceActive.next(v); \r\n }\r\n\r\n public getActiveItem(): any {\r\n // console.log('getActiveItem', this.actived_value);\r\n return this.actived_value;\r\n }\r\n \r\n}","export class ISelectOptions{\r\n description: any;\r\n value: any;\r\n disabled?: boolean;\r\n}","import { OnDestroy } from '@angular/core';\r\nimport { ISelectOptions } from './../tcloud-ui-data-list';\r\nimport { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { DataListService } from '../services/data-list.service';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-data-list-option',\r\n templateUrl: './tcloud-ui-data-list-option.component.html',\r\n styleUrls: ['./tcloud-ui-data-list-option.component.scss']\r\n})\r\nexport class TCloudUiDataListOptionComponent implements OnInit, OnDestroy {\r\n\r\n id: string = ''; \r\n actived_value: any;\r\n select_options = new ISelectOptions();\r\n private subscription_active: Subscription | undefined;\r\n\r\n @Input() disabled: boolean | undefined = false;\r\n @Input() value: any | undefined;\r\n\r\n @Output() selected = new EventEmitter<any>(); \r\n\r\n constructor( private dataListService: DataListService ) { \r\n }\r\n\r\n ngOnInit(): void {\r\n this.actived_value = this.dataListService.getActiveItem();\r\n this.subscription_active = this.dataListService.stateActive$.subscribe(v => { \r\n this.actived_value = v; \r\n });\r\n this.id = this.generateID();\r\n this.setSelectOptions();\r\n }\r\n\r\n generateID(): string{\r\n return `data-list-option-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\r\n }\r\n\r\n setSelectedItem(value: any){\r\n if( this.disabled ){ return; }\r\n if( value === '' ){ this.value = ''; } \r\n\r\n this.dataListService.setItemValue(this.value);\r\n const description = <any> document.getElementById(this.id)?.innerText || '';\r\n this.dataListService.setItemDescription(description);\r\n this.setSelectOptions(); \r\n }\r\n\r\n setSelectOptions(){\r\n setTimeout(() => {\r\n try {\r\n const description = <any> document.getElementById(this.id)?.innerText;\r\n this.select_options.value = this.value;\r\n this.select_options.description = description; \r\n this.dataListService.registerSelectionOptionsDescription(this.select_options);\r\n } catch (error) { }\r\n }); \r\n }\r\n\r\n ngOnDestroy() {\r\n if( this.subscription_active ){ this.subscription_active.unsubscribe(); } \r\n }\r\n\r\n}\r\n","<button \r\n [disabled]=\"disabled\"\r\n [title]=\"select_options.description\"\r\n id=\"{{id}}\"\r\n [attr.data-description]=\"select_options.description\"\r\n [attr.data-actived-value]=\"actived_value\"\r\n class=\"tcloud-ui-data-list-option dropdown-item\" \r\n [class.null-value]=\"value === undefined || value === null || value === ''\"\r\n [class.active]=\"value === actived_value\" \r\n [class.option-disabled]=\"disabled\"\r\n type=\"button\" \r\n [value]=\"value\"\r\n (click)=\"setSelectedItem(value)\" >\r\n <ng-content></ng-content>\r\n</button>\r\n","import { DataListService } from './services/data-list.service';\r\nimport { Component, forwardRef, OnInit, Output, EventEmitter, ViewChild, Input, OnDestroy, AfterViewChecked } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, NgForm, FormGroup, FormBuilder, FormControl } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\nimport { ISelectOptions } from './tcloud-ui-data-list';\r\n\r\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiDataListComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n\r\n@Component({\r\n selector: 'tcloud-ui-data-list',\r\n templateUrl: './tcloud-ui-data-list.component.html',\r\n styleUrls: ['./tcloud-ui-data-list.component.scss'],\r\n providers: [\r\n DataListService, \r\n CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR\r\n ],\r\n})\r\nexport class TCloudUiDataListComponent implements OnInit, OnDestroy, AfterViewChecked {\r\n\r\n viewport_width: number = 0;\r\n viewport_height: number = 0;\r\n box_height: number = 0;\r\n box_style: string = '';\r\n menu_on_top: string = '';\r\n\r\n @Input() placeholder: string = '';\r\n\r\n private _disabled: boolean = false;\r\n @Input() set disabled(v){\r\n if( typeof v === 'boolean' && v !== this._disabled ){\r\n this._disabled = v; \r\n //this.selected_description = '';\r\n //this.selected_item ='';\r\n this.toChange();\r\n }\r\n }\r\n get disabled():boolean { return this._disabled; }\r\n\r\n private _loading: boolean = false;\r\n @Input() set loading(v: boolean){\r\n if( typeof v === 'boolean' && v !== this._loading ){\r\n this._loading = v; \r\n //this.selected_description = '';\r\n //this.selected_item = '';\r\n this.toChange();\r\n }\r\n }\r\n get loading():boolean { return this._loading; }\r\n\r\n\r\n @Input() showInput: boolean = true;\r\n @Input() search: boolean = true;\r\n \r\n private _listItems: ISelectOptions[] = [];\r\n @Input() set listItems(v: ISelectOptions[]){\r\n if( v && (v).length > 0 ){\r\n this._listItems = v;\r\n }\r\n }\r\n get listItems():ISelectOptions[] { return this._listItems; }\r\n\r\n private _open: boolean = false;\r\n @Input() set open(v: boolean){\r\n if( v !== this._open ){\r\n this._open = v;\r\n if( v ){\r\n this.menu_show = false;\r\n setTimeout(()=>{ this.toOpen(); }); \r\n }\r\n }\r\n }\r\n get open():boolean { return this._open; }\r\n\r\n \r\n \r\n @Input() border: boolean = true;\r\n\r\n @Output() onInputChange = new EventEmitter<ISelectOptions>();\r\n @Output() onChange = new EventEmitter<ISelectOptions>();\r\n\r\n @Output() onOpened = new EventEmitter<any>();\r\n @Output() onClosed = new EventEmitter<any>();\r\n\r\n private _ngModel: any | undefined;\r\n @Input() set ngModel(v: any){\r\n this.selected_item = v; \r\n this.selectDescription(); \r\n }\r\n @Output() ngModelChange = new EventEmitter<any>();\r\n\r\n list_selected_options = new Array<ISelectOptions>();\r\n\r\n selected_item: any | undefined;\r\n selected_description: any | undefined;\r\n\r\n private subscription_value: Subscription | undefined;\r\n private subscription_description: Subscription | undefined;\r\n private subscription_options: Subscription | undefined;\r\n\r\n menu_show: boolean = false;\r\n search_text: string = '';\r\n id: string = '';\r\n\r\n formulario: FormGroup | undefined;\r\n\r\n constructor(\r\n private dataListService: DataListService,\r\n private formBuilder: FormBuilder\r\n ){\r\n\r\n this.subscription_value = this.dataListService.stateValue$.subscribe(v => {\r\n this.selected_item = v; \r\n this.selectDescription();\r\n this.ngModelChange.emit(this.selected_item);\r\n })\r\n\r\n this.subscription_description = this.dataListService.stateDescription$.subscribe(v => {\r\n this.selected_description = v; \r\n })\r\n\r\n\r\n this.subscription_options = this.dataListService.stateOptions$.subscribe((v:any) => {\r\n if( v && v.value ){\r\n (this.list_selected_options).push(v);\r\n }\r\n })\r\n\r\n }\r\n\r\n ngOnInit(){\r\n\r\n \r\n\r\n this.id = this.generateID();\r\n\r\n this.formulario = this.formBuilder.group({\r\n \"selected_item\": new FormControl('',[]),\r\n })\r\n\r\n \r\n\r\n this.toResize();\r\n this.toClick();\r\n }\r\n\r\n t_fc: any | undefined;\r\n ngAfterViewChecked(): void {\r\n this.t_fc = undefined;\r\n this.t_fc = this.get_selected_description();\r\n }\r\n\r\n get_selected_description(): void{\r\n if( this.list_selected_options && (this.list_selected_options).length > 0 ){\r\n for( let i = 0; i < (this.list_selected_options).length; i++ ){\r\n const item = this.list_selected_options[i];\r\n if( item.value === this.selected_item ){ \r\n if( this.selected_description !== item.description ){\r\n if( item.description && item.description !== this.selected_description ){\r\n setTimeout(() => {\r\n this.selected_description = item.description; \r\n this.dataListService.setActiveItem(this.selected_item);\r\n });\r\n }\r\n } \r\n break;\r\n }\r\n }\r\n } \r\n }\r\n\r\n generateID(): string{\r\n return `data-list-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\r\n }\r\n\r\n ngOnDestroy() {\r\n if( this.subscription_value ){ this.subscription_value.unsubscribe(); } \r\n if( this.subscription_description ){ this.subscription_description.unsubscribe(); } \r\n if( this.subscription_options ){ this.subscription_options.unsubscribe(); } \r\n }\r\n\r\n toSearch(e: any) {\r\n let input = (e && e.target && e.target.value) ? e.target.value : '';\r\n \r\n let filter = ( ( (input).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\r\n let ul = <any> document.getElementById(`${this.id}-options`);\r\n if( ul ){\r\n let li = ul.getElementsByTagName(\"button\");\r\n for (let i = 0; i < li.length; i++) {\r\n const a = li[i];\r\n const txtValue = ( ( ( a.textContent || a.innerText ).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\r\n if (txtValue.indexOf(filter) > -1) {\r\n li[i].style.display = \"\";\r\n } else {\r\n li[i].style.display = \"none\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n selectDescription(){\r\n if( this.list_selected_options && (this.list_selected_options).length > 0 ){\r\n for( let i = 0; i < (this.list_selected_options).length; i++ ){\r\n const item = this.list_selected_options[i];\r\n if( item.value === this.selected_item ){\r\n this.selected_description = item.description;\r\n this.toChange();\r\n return;\r\n }\r\n }\r\n }\r\n\r\n if( this.selected_item === undefined || this.selected_item === null || this.selected_item === '' ){\r\n this.selected_description = '';\r\n this.toChange();\r\n }\r\n \r\n }\r\n\r\n \r\n toInput(e: any){\r\n this.onInputChange.emit(this.selected_description);\r\n this.onChange.emit(e);\r\n }\r\n\r\n toChange(){\r\n setTimeout(() => {\r\n if( this.selected_item === undefined || this.selected_item === null ){\r\n this.selected_item = '';\r\n }\r\n this.toSearch('');\r\n this.search_text = '';\r\n this.dataListService.setActiveItem(this.selected_item);\r\n\r\n this.onInputChange.emit(this.selected_description);\r\n\r\n if( this.formulario ){\r\n this.formulario?.get('selected_item')?.setValue(this.selected_item);\r\n // const input_hidden = document.getElementById(`${this.id}-hidden`);\r\n this.toInput(this.formulario.get('selected_item'));\r\n } \r\n });\r\n }\r\n\r\n\r\n clearTextSearch(){\r\n this.search_text = '';\r\n this.toSearch('');\r\n }\r\n\r\n toOpen(){\r\n this.menu_show = !this.menu_show; \r\n this.resolve_position_dropdown(this.menu_show);\r\n this.onOpened.emit();\r\n }\r\n\r\n resolve_position_dropdown(open: boolean){\r\n if( open ){\r\n this.box_style = '';\r\n this.menu_on_top = ''; \r\n const id = `${this.id}`; \r\n const box = `box-${this.id}`;\r\n if( this.viewport_height === 0 ){\r\n this.viewport_height = window.innerWidth;\r\n }\r\n const rect = document.getElementById(id)?.getBoundingClientRect();\r\n const box_position = rect?.bottom || 0; \r\n setTimeout(() => {\r\n this.box_height = document.getElementById(box)?.clientHeight || 0;\r\n if( ( this.viewport_height - box_position) < this.box_height ){\r\n this.menu_on_top = 'menu-on-top';\r\n this.box_style = `top: -${ (this.box_height) }px; height: ${this.box_height}px;`;\r\n }\r\n }); \r\n }\r\n }\r\n\r\n toClose(){\r\n this.menu_show = false;\r\n this.onClosed.emit();\r\n }\r\n\r\n\r\n toResize(){\r\n window.addEventListener('resize', () => {\r\n this.viewport_width = window.innerWidth;\r\n this.viewport_height = window.innerHeight;\r\n this.resolve_position_dropdown(this.menu_show);\r\n });\r\n }\r\n\r\n toClick(){\r\n const box = `area-${this.id}`;\r\n window.addEventListener('click',(e: any) => { \r\n if( this.menu_show ){\r\n if( !(document.getElementById(box)?.contains(e.target)) ){ \r\n this.toClose();\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n \r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): any {\r\n return this.selected_item;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: any) {\r\n if (v !== this.selected_item) {\r\n this.selected_item = v;\r\n this.onChangeCallback(v);\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.selected_item) {\r\n this.selected_item = value;\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n}\r\n\r\n","<div *ngIf=\"formulario\" id=\"area-{{ id }}\" class=\"tcloud-ui-data-list tc-dropdown\" [class.disabled]=\"disabled || loading\">\r\n <div *ngIf=\"loading\" class=\"loading-area\">\r\n <i class=\"fas fa-spinner fa-spin\"></i>\r\n </div>\r\n <!-- [attr.data-bs-toggle]=\"'dropdown'\" -->\r\n <button \r\n #_option\r\n [class.input-hidden]=\"!showInput\"\r\n [class.in-border]=\"border\"\r\n [class.loading-box]=\"loading\"\r\n [disabled]=\"disabled || loading\"\r\n class=\"dropdown-toggle button-select no-margin-bottom area-text\" \r\n type=\"button\" \r\n id=\"{{ id }}\" \r\n \r\n [attr.aria-haspopup]=\"'true'\" \r\n [attr.aria-expanded]=\"'false'\" \r\n (click)=\"toOpen();toInput(_option)\" >\r\n\r\n <i class=\"tc-placeholder area-text\" *ngIf=\"(selected_description === undefined || selected_description === null || selected_description === '' ) && !loading \">{{ placeholder }}</i>\r\n {{ selected_description }}\r\n <span><i class=\"fas fa-angle-down\"></i></span>\r\n </button>\r\n <div class=\"tc-dropdown-menu {{ menu_on_top }}\" id=\"box-{{ id }}\" [attr.aria-labelledby]=\"id\" [class.to-hide]=\"!menu_show\" [style]=\"box_style\">\r\n\r\n <div class=\"line-search\" *ngIf=\"search\">\r\n <table class=\"box-search\">\r\n <tr>\r\n\r\n <td class=\"area-input\">\r\n <input type=\"text\" class=\"tc-form-control\" [(ngModel)]=\"search_text\" (input)=\"toSearch($event)\" placeholder=\"Buscar...\" > \r\n </td>\r\n\r\n <td class=\"area-icon\">\r\n <i *ngIf=\"search_text === ''\" class=\"fas fa-search icon-search\"></i>\r\n <button type=\"button\" *ngIf=\"search_text !== ''\" (click)=\"clearTextSearch()\"><i class=\"fas fa-times\"></i></button>\r\n </td>\r\n \r\n </tr>\r\n </table>\r\n </div>\r\n \r\n <div class=\"area-options\" id=\"{{ id }}-options\" (click)=\"toClose()\">\r\n <ng-content></ng-content> \r\n <ng-container *ngIf=\"listItems && (listItems).length > 0\">\r\n <ng-container *ngFor=\"let item of listItems\">\r\n <tcloud-ui-data-list-option [value]=\"item.value\" [disabled]=\"item?.disabled\" >{{ item?.description }}</tcloud-ui-data-list-option>\r\n </ng-container>\r\n </ng-container> \r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"formulario\">\r\n <form [formGroup]=\"formulario\" style=\"display: none;\" >\r\n <input id=\"{{ id }}-hidden\" formControlName=\"selected_item\" type=\"hidden\">\r\n </form>\r\n</div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { TCloudUiDataListComponent } from './tcloud-ui-data-list.component';\r\nimport { TCloudUiDataListOptionComponent } from './tcloud-ui-data-list-option/tcloud-ui-data-list-option.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiDataListComponent,\r\n TCloudUiDataListOptionComponent,\r\n ],\r\n exports: [\r\n TCloudUiDataListComponent,\r\n TCloudUiDataListOptionComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiDataListModule { }\r\n","import { Subscription } from 'rxjs';\r\nimport { Component, EventEmitter, Input, forwardRef, ViewChild, ElementRef, Output } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiChoiceIssuesComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n@Component({\r\n selector: 'tcloud-ui-choice-issues',\r\n templateUrl: './tcloud-ui-choice-issues.component.html',\r\n styleUrls: ['./tcloud-ui-choice-issues.component.scss'],\r\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR]\r\n})\r\nexport class TCloudUiChoiceIssuesComponent {\r\n\r\n \r\n @Input() view: boolean = false;\r\n @Input() titulo: string = '';\r\n @Input() subTitulo: string = '';\r\n\r\n @Input() disabled: boolean = false;\r\n @Output() onChange = new EventEmitter<any>();\r\n\r\n subscription: Subscription | undefined;\r\n // Referencia o campo (input,select,textarea)\r\n @ViewChild('campo',{ read: true, static: false }) inputRef: ElementRef | undefined;\r\n\r\n innerValue: boolean = false;\r\n\r\n ID: string;\r\n\r\n constructor(){\r\n this.ID = 'tc-issue-' + Math.random().toString(36).substr(2, 9);\r\n }\r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): boolean {\r\n return this.innerValue;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: boolean) {\r\n if (v !== this.innerValue) {\r\n this.innerValue = v;\r\n this.onChangeCallback(v);\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.innerValue) {\r\n this.innerValue = value;\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n setV(v: any){\r\n this.value = v;\r\n this.onChange.emit(v);\r\n }\r\n\r\n createID() {\r\n // Math.random should be unique because of its seeding algorithm.\r\n // Convert it to base 36 (numbers + letters), and grab the first 9 characters\r\n // after the decimal.\r\n return '_' + Math.random().toString(36).substr(2, 9);\r\n }\r\n\r\n\r\n}\r\n","<div class=\"tcloud-ui-choice-issues box p-2 mt-3 mb-2\">\r\n <input #campo [(ngModel)]=\"value\" type=\"hidden\" [value]=\"false\" >\r\n <div class=\"row\">\r\n <div class=\"col-md-8\">\r\n <p class=\"titulo\">{{ titulo }}</p> \r\n </div>\r\n <div class=\"col-md-4 text-right\"> \r\n\r\n <table class=\"mt-2 mr-2\" *ngIf=\"!view\" >\r\n <tr>\r\n <td>\r\n <div class=\"form-fieldset\">\r\n <label [class.v-true]=\"value\" class=\"mr-1\"><input #campo name=\"{{ ID }}\" [value]=\"true\" type=\"radio\" [(ngModel)]=\"value\" (click)=\"setV(true)\" >Sim</label>\r\n </div>\r\n </td>\r\n <td>\r\n <div class=\"form-fieldset\">\r\n <label [class.v-true]=\"!value\" class=\"ml-2\"><input #campo name=\"{{ ID }}\" [value]=\"false\" type=\"radio\" [(ngModel)]=\"value\" (click)=\"setV(false)\" >Não</label>\r\n </div>\r\n </td>\r\n </tr>\r\n </table> \r\n\r\n <table class=\"mt-2 mr-2\" *ngIf=\"view\" >\r\n <tr>\r\n <td>\r\n <div class=\"form-fieldset view\" >\r\n <label *ngIf=\"value\" class=\"v-true disabled\" >Sim</label>\r\n <label *ngIf=\"!value\">Não</label>\r\n </div>\r\n </td>\r\n </tr>\r\n </table>\r\n </div>\r\n <div class=\"col-md-12 mt-1\">\r\n <p class=\"sub-titulo\">{{ subTitulo }}</p>\r\n </div>\r\n <div class=\"col-md-12 mt-2 mb-1\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TCloudUiChoiceIssuesComponent } from './tcloud-ui-choice-issues.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiChoiceIssuesComponent,\r\n ],\r\n exports: [\r\n TCloudUiChoiceIssuesComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiChoiceIssuesModule { }\r\n","import { Component, OnInit, Input, EventEmitter, Output, OnDestroy, forwardRef } from '@angular/core';\r\nimport { FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from '@angular/forms';\r\n\r\nconst CUSTOM_INPUT_VALIDATORS: any = { \r\n provide: NG_VALIDATORS, \r\n useExisting: forwardRef(() => TCloudUiMultiInputComponent),\r\n multi: true\r\n}\r\n\r\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiMultiInputComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n@Component({\r\n selector: 'tcloud-ui-multi-input',\r\n templateUrl: './tcloud-ui-multi-input.component.html',\r\n styleUrls: ['./tcloud-ui-multi-input.component.scss'],\r\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CUSTOM_INPUT_VALIDATORS]\r\n})\r\nexport class TCloudUiMultiInputComponent implements OnInit, OnDestroy, Validator {\r\n\r\n input_value: any;\r\n\r\n @Input() tcList: any[] | undefined;\r\n\r\n @Input() placeholder: string = '';\r\n @Input() disabled: boolean = false;\r\n @Input() loading: boolean = false;\r\n @Input() required: string | undefined;\r\n @Input() maxWidthLabel: string | undefined;\r\n\r\n values: any[] | undefined;\r\n count_actives: number = 0;\r\n\r\n use_validation_required: boolean = false;\r\n item_value: any | undefined;\r\n\r\n @Output() tcChange = new EventEmitter<any[]>();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n setTimeout(() => {\r\n this.toChange();\r\n });\r\n }\r\n\r\n addItem(item: any): void{\r\n if( this.disabled ){ return; }\r\n if( !this.tcList ){\r\n this.tcList = [];\r\n }\r\n (this.tcList).push({value: item}); \r\n this.toChange(); \r\n this.input_value = '';\r\n }\r\n\r\n\r\n removeItem(item: any, index: number): void{\r\n if( this.disabled ){ return; }\r\n if( this.tcList ){\r\n for( let i = 0; i < (this.tcList).length; i++ ){\r\n const row = this.tcList[i];\r\n if( item === row.value && i === index ){\r\n (this.tcList).splice(index,1);\r\n break;\r\n }\r\n }\r\n this.toChange();\r\n }\r\n }\r\n\r\n private toChange(): void{\r\n let count_actives = 0;\r\n let itens: any[] = [];\r\n if( this.tcList ){\r\n for( let i = 0; i < (this.tcList).length; i++ ){\r\n const row = this.tcList[i];\r\n (itens).push(row);\r\n }\r\n }\r\n this.item_value = null;\r\n this.count_actives = count_actives;\r\n this.tcChange.emit(itens);\r\n this.onChangeCallback(this.tcList);\r\n }\r\n\r\n check_is_valid(): boolean{\r\n if( this.tcList ){\r\n return ((this.tcList).length > 0) ? true : false;\r\n }\r\n return false;\r\n }\r\n\r\n onChangeTouched(){ \r\n this.onTouchedCallback(); \r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n @Output() onChange = new EventEmitter<any>();\r\n // @Output() ngModelChange = new EventEmitter<any>();\r\n\r\n innerValue: any | undefined;\r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): any {\r\n return this.innerValue;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: any) {\r\n if (v !== this.innerValue) {\r\n this.innerValue = v; \r\n this.onChangeCallback(v);\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.innerValue) {\r\n this.innerValue = value;\r\n this.toSetDefault(value);\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n toSetDefault(value: any){\r\n this.tcList = value;\r\n }\r\n\r\n public validate(c: FormControl): any {\r\n if( c && ( typeof this.required !== 'undefined' ) ){\r\n this.use_validation_required = true;\r\n return (this.check_is_valid()) ? null : 'required';\r\n }\r\n return null;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n \r\n }\r\n}\r\n","<div class=\"tcloud-ui-multi-input\">\r\n\r\n <table>\r\n <tr>\r\n <td>\r\n <input class=\"tc-form-control\" (blur)=\"onChangeTouched()\" [(ngModel)]=\"item_value\" [class.tc-parent-validation]=\"use_validation_required\" type=\"text\" [(ngModel)]=\"input_value\" [disabled]=\"disabled || loading\" name=\"input_value\">\r\n </td>\r\n <td>\r\n <button\r\n [disabled]=\"!item_value || disabled || loading\"\r\n title=\"Adicionar\"\r\n class=\"btn-plus-select\"\r\n (click)=\"addItem(input_value);onChangeTouched()\"\r\n type=\"button\">\r\n <i class=\"fas fa-plus\"></i>\r\n </button>\r\n </td>\r\n </tr>\r\n </table>\r\n \r\n <div class=\"box-itens-selected\" *ngIf=\"(tcList && tcList.length > 0)\">\r\n <ng-container *ngFor=\"let item of tcList; let i = index\">\r\n \r\n <div class=\"box-label\" [ngStyle]=\"(maxWidthLabel) ? {'max-width': maxWidthLabel} : null\">\r\n <div class=\"box-value\" [title]=\"item.value\" >\r\n {{ item.value }} \r\n </div>\r\n <div class=\"box-action\">\r\n <button\r\n [disabled]=\"tcList === undefined || (tcList && tcList.length === 0) || disabled || loading\"\r\n title=\"Remover\"\r\n type=\"button\"\r\n (click)=\"removeItem(item.value, i);onChangeTouched()\">\r\n <i class=\"fas fa-times\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n </ng-container>\r\n </div>\r\n \r\n</div>\r\n ","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiMultiInputComponent } from './tcloud-ui-multi-input.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@NgModule({\r\n declarations: [TCloudUiMultiInputComponent],\r\n exports: [TCloudUiMultiInputComponent],\r\n imports: [\r\n FormsModule,\r\n ReactiveFormsModule,\r\n CommonModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiMultiInputModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'monthname'})\r\nexport class MonthNamePipe implements PipeTransform {\r\n\r\n meses: string[] = ['Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'];\r\n \r\n\r\n transform(yyyy_mm: string): string{\r\n\r\n if( yyyy_mm !== '' ){\r\n\r\n let part = (yyyy_mm).split('-');\r\n if( (part).length === 2 ){\r\n let yyyy = +part[0];\r\n let mm = +part[1];\r\n\r\n return this.meses[(mm-1)];\r\n }\r\n }\r\n return '';\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'statusinfo'})\r\nexport class StatusInfoPipe implements PipeTransform {\r\n\r\n status_default = [\r\n { key: 'SUCCEEDED', value: 'Finalizado' },\r\n { key: 'PENDING', value: 'Pendente' },\r\n { key: 'FAILED', value: 'Erro' },\r\n { key: 'RUNNING', value: 'Em andamento' },\r\n { key: 'REGISTRATION', value: 'Cadastro Pendente' },\r\n { key: 'SUCCEED', value: 'Finalizado' },\r\n { key: 'WAITING', value: 'Aguardando' },\r\n { key: 'REJECTED', value: 'Rejeitado' },\r\n ];\r\n\r\n status_proposal = [\r\n { key: 'SUCCEEDED', value: 'Finalizado' },\r\n { key: 'PENDING', value: 'Aguardando Aprovação' },\r\n { key: 'FAILED', value: 'Erro' },\r\n { key: 'RUNNING', value: 'Provisionando Ambientes' },\r\n { key: 'REGISTRATION', value: 'Cadastro Pendente' },\r\n { key: 'SUCCEED', value: 'Finalizado' },\r\n { key: 'WAITING', value: 'Provisionando Ambientes' },\r\n { key: 'REJECTED', value: 'Rejeitada' },\r\n ]; \r\n\r\n transform(status_name: any, tema?: string): string{\r\n\r\n let map_tema = this.status_default;\r\n\r\n if( tema && tema !== undefined){\r\n switch (tema) {\r\n case 'proposal': map_tema = this.status_proposal; break;\r\n }\r\n }\r\n\r\n let status_name_in_search = ''; \r\n if( tema && tema === 'ALL'){\r\n\r\n map_tema = this.status_default;\r\n if( status_name !== undefined && status_name !== null && `${status_name}` !== '' ){\r\n for( let i = 0; i < (map_tema).length; i++ ){\r\n if( (`${status_name}`).toLowerCase() === (`${map_tema[i].key}`).toLowerCase() ){\r\n status_name_in_search += ' ' + map_tema[i].value;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n map_tema = this.status_proposal;\r\n if( status_name !== undefined && status_name !== null && `${status_name}` !== '' ){\r\n for( let i = 0; i < (map_tema).length; i++ ){\r\n if( (`${status_name}`).toLowerCase() === (`${map_tema[i].key}`).toLowerCase() ){\r\n status_name_in_search += ' ' + map_tema[i].value;\r\n break\r\n }\r\n }\r\n }\r\n\r\n }else{\r\n if( status_name !== undefined && status_name !== null && `${status_name}` !== '' ){\r\n for( let i = 0; i < (map_tema).length; i++ ){\r\n if( (`${status_name}`).toLowerCase() === (`${map_tema[i].key}`).toLowerCase() ){\r\n status_name_in_search += ' ' + map_tema[i].value;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n if( status_name_in_search !== '' ){\r\n return status_name_in_search;\r\n }\r\n\r\n return status_name;\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'respective'})\r\nexport class RespectivePipe implements PipeTransform {\r\n\r\n map = [\r\n // Tipos de Ambientes\r\n { key: 'production', value: 'Produção' },\r\n { key: 'development', value: 'Desenvolvimento' },\r\n { key: 'qa', value: 'Qualidade' },\r\n\r\n // Implantação / Migração\r\n { key: 'golive', value: 'Pré GoLive' },\r\n { key: 'kickoff', value: 'Kickoff' },\r\n\r\n // Tipos de Clientes\r\n { key: 'prime', value: 'Prime' },\r\n { key: 'p', value: 'Pequeno' },\r\n { key: 'm', value: 'Médio' },\r\n { key: 'g', value: 'Grande' },\r\n\r\n // Produtos\r\n { key: '2c', value: 'Carol' },\r\n { key: 'carol', value: 'carol' },\r\n { key: 'consinco', value: 'Consinco' },\r\n { key: 'datasul', value: 'Datasul' },\r\n { key: 'fluig', value: 'Fluig' },\r\n { key: 'license-server', value: 'License Server' },\r\n { key: 'pep', value: 'PEP' },\r\n { key: 'protheus', value: 'Protheus' },\r\n { key: 'pvi', value: 'PVI' },\r\n { key: 'rm', value: 'RM' },\r\n { key: 'sfa', value: 'SFA' },\r\n { key: 'smartrm', value: 'Smart RM' },\r\n { key: 'smartrmcluster', value: 'Smart RM Cluster' },\r\n { key: 'smartrmcontrol', value: 'Smart RM Control' },\r\n { key: 'taf', value: 'TAF' },\r\n { key: 'treports', value: 'Treports' },\r\n { key: 'tss', value: 'TSS' },\r\n { key: 'winthor', value: 'Winthor' },\r\n\r\n // Tipos de SO\r\n { key: 'windows', value: 'Windows' },\r\n { key: 'linux', value: 'Linux' },\r\n\r\n // Tipos responsaveis\r\n { key: 'prime_customer_success', value: 'Customer Success' },\r\n { key: 'project_manager', value: 'Gerente de Projetos' },\r\n { key: 'prime_engineer', value: 'Engenheiro Prime' }\r\n\r\n ];\r\n \r\n\r\n transform(v: any): string{\r\n\r\n if( v !== undefined && v !== null && v !== '' ){\r\n\r\n if( typeof v === 'string' ){\r\n for( let i = 0; i < (this.map).length; i++ ){\r\n let custom_v = v;\r\n custom_v = (custom_v).toLowerCase();\r\n custom_v = (custom_v).trim();\r\n custom_v = (custom_v).replace(/\\_/g, \"-\");\r\n const current_key = (this.map[i].key).replace(/\\_/g, \"-\");\r\n if( (custom_v).toLowerCase() === current_key ){\r\n return `${this.map[i].value}`;\r\n }\r\n }\r\n }else{\r\n return '';\r\n }\r\n \r\n \r\n }\r\n return `${v}`;\r\n }\r\n\r\n \r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'cnpj'})\r\nexport class CNPJPipe implements PipeTransform {\r\n mascara: string = \"##.###.###/####-##\";\r\n createMask(v: any){\r\n const mask = this.mascara;\r\n let str = v.replace(/\\s/g,'');\r\n let strMask = '';\r\n if( str.length == 14 ){\r\n let j = 0;\r\n for( let i = 0; i < mask.length; i++){\r\n if( mask[i] == '#' ){\r\n strMask += str[j++];\r\n }else{\r\n strMask += mask[i];\r\n }\r\n }\r\n }else{\r\n return v;\r\n }\r\n return strMask;\r\n }\r\n transform(cnpj: string): string{ \r\n return this.createMask(cnpj);\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'cpf'})\r\nexport class CPFPipe implements PipeTransform {\r\n mascara: string = \"###.###.###-##\";\r\n createMask(v: any){\r\n const mask = this.mascara;\r\n let str = v.replace(/\\s/g,'');\r\n let strMask = '';\r\n if( str.length == 11 ){\r\n let j = 0;\r\n for( let i = 0; i < mask.length; i++){\r\n if( mask[i] == '#' ){\r\n strMask += str[j++];\r\n }else{\r\n strMask += mask[i];\r\n }\r\n }\r\n }else{\r\n return v;\r\n }\r\n return strMask;\r\n }\r\n transform(cpf: string): string{ \r\n return this.createMask(cpf);\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'bytes'})\r\nexport class BytesPipe implements PipeTransform {\r\n\r\n formatBytes(a: number, b = 2): string {\r\n if (!a) return '---';\r\n if (0 === a) return '0 Bytes';\r\n const c = 0 > b ? 0 : b, d = Math.floor(Math.log(a) / Math.log(1024));\r\n return parseFloat((a / Math.pow(1024, d)).toFixed(c)) + ' ' + [\"Bytes\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"][d];\r\n }\r\n \r\n transform(value: any, typeValue?: string): string{ \r\n \r\n if( typeValue !== undefined && typeValue !== null && typeValue !== '' ){\r\n \r\n if( (typeValue).toLowerCase() === 'kb' ){\r\n value = value * 1024\r\n }\r\n\r\n if( (typeValue).toLowerCase() === 'mb' ){\r\n value = (value * 1024) * 1024\r\n }\r\n }\r\n \r\n const b: number = +value; \r\n return this.formatBytes(b);\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'datebr'})\r\nexport class DateBRPipe implements PipeTransform {\r\n mascara: string = \"##/##/####\";\r\n createMask(v: any){\r\n const mask = this.mascara;\r\n let str = v.replace(/\\s/g,'');\r\n let strMask = '';\r\n if( str.length <= 10 ){\r\n let j = 0;\r\n for( let i = 0; i < mask.length; i++){\r\n if( mask[i] == '#' ){\r\n strMask += str[j++];\r\n }else{\r\n strMask += mask[i];\r\n }\r\n }\r\n }else{\r\n return v;\r\n }\r\n return strMask;\r\n }\r\n\r\n createMask4(v: any){\r\n const mask = \"##/##\";\r\n let str = v.replace(/\\s/g,'');\r\n let strMask = '';\r\n if( str.length <= 10 ){\r\n let j = 0;\r\n for( let i = 0; i < mask.length; i++){\r\n if( mask[i] == '#' ){\r\n strMask += str[j++];\r\n }else{\r\n strMask += mask[i];\r\n }\r\n }\r\n }else{\r\n return v;\r\n }\r\n return strMask;\r\n }\r\n\r\n create_mask(v: string, _mask: string){\r\n const mask = _mask;\r\n let str = v.replace(/\\s/g,'');\r\n let strMask = '';\r\n if( str.length <= 10 ){\r\n let j = 0;\r\n for( let i = 0; i < mask.length; i++){\r\n if( mask[i] == '#' ){\r\n strMask += str[j++];\r\n }else{\r\n strMask += mask[i];\r\n }\r\n }\r\n }else{\r\n return v;\r\n }\r\n return strMask;\r\n }\r\n\r\n transform(v: string): string{ \r\n \r\n if( v ){\r\n\r\n v = (v).replace(/\\//g, \"\");\r\n\r\n if( (v).length == 1 ){ return this.create_mask(v,'#'); }\r\n if( (v).length == 2 ){ return this.create_mask(v,'##/'); }\r\n if( (v).length == 3 ){ return this.create_mask(v,'##/#'); }\r\n if( (v).length == 4 ){ return this.create_mask(v,'##/##'); }\r\n if( (v).length == 5 ){ return this.create_mask(v,'##/##/#'); }\r\n if( (v).length == 6 ){ return this.create_mask(v,'##/##/##'); }\r\n if( (v).length == 7 ){ return this.create_mask(v,'##/##/###'); }\r\n return this.create_mask(v,'##/##/####');\r\n }\r\n return '';\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'toText'})\r\nexport class ToTextPipe implements PipeTransform {\r\n\r\n formatBytes(value: any): string {\r\n let v = '';\r\n let t = '';\r\n for( let i = 0; i < (value).length; i++ ){\r\n t += v + `${value[i]}`;\r\n\r\n v = ', ';\r\n if( (i+1) === ((value).length) - 1 ){\r\n v = ' e ';\r\n }\r\n }\r\n return t\r\n }\r\n \r\n transform(value: any): any{ \r\n if( value && (value).length > 0 ){\r\n return this.formatBytes(value);\r\n }\r\n return value; \r\n }\r\n}","import { DatePipe } from '@angular/common';\r\nimport { Injectable } from '@angular/core';\r\nimport { StatusInfoPipe } from '../_pipes';\r\n\r\n@Injectable({\r\n providedIn: 'root', \r\n})\r\nexport class TCloudUiSearchInObjectService {\r\n\r\n constructor(\r\n private datepipe: DatePipe,\r\n private statusinfo: StatusInfoPipe\r\n ) { }\r\n\r\n private isADate(d: any){\r\n if( d && d instanceof Date && !isNaN( d.valueOf()) ){\r\n if (Object.prototype.toString.call(d) === \"[object Date]\") {;\r\n if (isNaN(d.getTime())) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n private normalize(text: any): string{\r\n const v = ( ( (`${text}`).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\r\n return v;\r\n }\r\n\r\n /**\r\n * meet - Procura em object - filtro utilizado para busca em tabelas\r\n * @param valor texto a ser procurado\r\n * @param emObject object alvo de onde procurar\r\n * @param camposDebusca (Opcional) informa em quais são as keys que deverá procurar \r\n */\r\n meet(valor: string, emObject: any, camposDebusca?: any): any{\r\n if (valor != \"\"){\r\n\r\n if( emObject.length < 1 ){\r\n return emObject;\r\n }\r\n if( camposDebusca === undefined || camposDebusca === null ){\r\n camposDebusca = [];\r\n for (const key in emObject[0]) {\r\n camposDebusca.push( key );\r\n }\r\n }\r\n\r\n if( camposDebusca.length < 1 ){\r\n return emObject;\r\n }\r\n \r\n let isObject = false;\r\n\r\n valor = this.normalize(valor);\r\n var result=[]; \r\n for (const key in emObject) {\r\n var oObject = emObject[key];\r\n if (oObject && (typeof oObject === 'object') ){\r\n isObject = true;\r\n for( const objectvalue of camposDebusca ){\r\n const dt = new Date(oObject[objectvalue])\r\n if( this.isADate(dt) && typeof ((dt).getMonth) === 'function' ){\r\n const data1 = this.datepipe.transform(dt, 'dd/MM/yyyy hh:mm');\r\n const data2 = this.datepipe.transform(dt, 'medium');\r\n const strToTest = this.normalize(data1+\" \"+data2+\" \"+oObject[objectvalue]);\r\n if( (strToTest.indexOf(valor)>=0) && (result).indexOf(oObject) == -1 ){\r\n result.push(oObject); break;\r\n }\r\n } else {\r\n const strToTest = this.normalize(this.statusinfo.transform(oObject[objectvalue], 'ALL')+\"\"); \r\n if( (strToTest.indexOf(valor)>=0) && (result).indexOf(oObject) == -1 ){\r\n result.push(oObject); break;\r\n }\r\n }\r\n } \r\n }\r\n }\r\n\r\n if( emObject && typeof emObject === 'object' && Array.isArray(emObject) && !isObject ){\r\n // is array \r\n const v = this.normalize(`${valor}`);\r\n for( let i = 0; i < (emObject).length; i++ ){\r\n const item = this.normalize(`${emObject[i]}`);\r\n if( item.includes(v) || item === v ){\r\n result.push(emObject[i]);\r\n }\r\n }\r\n }\r\n\r\n\r\n return result;\r\n }\r\n return emObject;\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\nimport { TCloudUiSearchInObjectService } from '../../_services/search-in-object.service';\n\n@Component({\n selector: 'tcloud-ui-input-search',\n templateUrl: './tcloud-ui-input-search.component.html',\n styleUrls: ['./tcloud-ui-input-search.component.scss']\n})\nexport class TCloudUiInputSearchComponent implements OnInit {\n\n /**\n * tcloud-ui-input-search - Procura pelo valor informado no objeto indicado\n * @param placeholder string - placeholder no input\n * @param mirror boolean - Exibir os valores espelhados ou somente os valores encontrados\n * @param base_object object - Objeto onde ser procurado \n * @param found - Emite o valor encontrado\n */\n\n @Input() placeholder: string = 'Procurar...';\n\n @Input() mirror: boolean = true;\n\n search_text: string = '';\n\n private _base_object: any;\n @Input() set base_object(base_object: any){\n if( base_object ){\n this._base_object = base_object;\n\n if( this.mirror ){\n this.result_object = base_object;\n this.toFound();\n }\n } \n }\n get base_object(){ return this._base_object; }\n\n result_object: any | undefined;\n\n @Output() found = new EventEmitter<any>();\n\n constructor(\n private searchInObjectService: TCloudUiSearchInObjectService\n ) { }\n\n ngOnInit(): void {\n }\n\n buscar(value: string){\n const result = this.searchInObjectService.meet(`${value}`, this.base_object);\n this.result_object = JSON.parse(JSON.stringify(result));\n this.toFound();\n }\n\n clean(){\n if( this.mirror ){\n this.buscar('');\n }else{\n this.result_object = []; \n this.toFound();\n }\n this.search_text = '';\n }\n\n toFound(){\n this.found.emit( this.result_object );\n }\n\n}\n","<table class=\"tcloud-ui-input-search tc-group-input-table\" cellspacing=\"0\" cellpadding=\"0\">\r\n <tr>\r\n <td><input class=\"tc-form-control box-ui-input-group\" [(ngModel)]=\"search_text\" type=\"text\" (keyup)=\"buscar(search_text)\" placeholder=\"{{ placeholder }}\" ></td>\r\n <td> \r\n <ng-container *ngIf=\"search_text === ''\"> \r\n <button type=\"button\" (click)=\"buscar(search_text)\"><i class=\"fas fa-search\"></i></button>\r\n </ng-container> \r\n\r\n <ng-container *ngIf=\"search_text !== ''\"> \r\n <button type=\"button\" (click)=\"clean()\"><i class=\"fas fa-times\"></i></button>\r\n </ng-container>\r\n </td>\r\n </tr>\r\n</table>","import { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiInputSearchComponent } from './tcloud-ui-input-search.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiInputSearchComponent\r\n ],\r\n exports: [\r\n TCloudUiInputSearchComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiInputSearchModule { }\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-not-found',\r\n templateUrl: './tcloud-ui-not-found.component.html',\r\n styleUrls: ['./tcloud-ui-not-found.component.scss']\r\n})\r\nexport class TCloudUiNotFoundComponent \r\n{\r\n\r\n @Input() message: string = 'Nenhum registro encontrado.';\r\n\r\n public styleIcon: any = {};\r\n\r\n ngOnInit(): void\r\n {\r\n }\r\n}\r\n\r\n","<div class=\"tcloud-ui-not-found tc-container-empty\">\r\n <div class=\"tc-message-empty-icon\">\r\n <i class=\"fas fa-exclamation-triangle\"></i>\r\n </div>\r\n <div *ngIf=\"message !== ''\" class=\"tc-message-empty\" [innerHTML]=\"message\" ></div>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { TCloudUiNotFoundComponent } from './tcloud-ui-not-found.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiNotFoundComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [\r\n TCloudUiNotFoundComponent\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiNotFoundModule {}","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'tcloud-ui-table',\n templateUrl: './tcloud-ui-table.component.html',\n styleUrls: ['./tcloud-ui-table.component.scss']\n})\nexport class TCloudUiTableComponent implements OnInit {\n\n @Input() responsive: boolean = true;\n @Input() striped: boolean = false;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<table class=\"tc-table\" [class.tc-table-striped]=\"striped\" [class.tc-table-responsive]=\"responsive\" cellspacing=\"0\">\n <ng-content select=\"[tc-thead]\"></ng-content>\n <ng-content select=\"[tc-tbody]\"></ng-content>\n</table>\n","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiTableComponent } from './tcloud-ui-table.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiTableComponent,\r\n ],\r\n exports: [\r\n TCloudUiTableComponent,\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiTableModule { }\r\n","import { Component, Input, OnInit } from '@angular/core';\n\nclass Step {\n\n constructor(){\n this.status = '';\n this.index = 0;\n this.class = '';\n this.second_class = '';\n }\n\n status: string;\n index: number;\n class: string;\n second_class: string;\n}\n\n@Component({\n selector: 'tcloud-ui-number-step',\n templateUrl: './tcloud-ui-number-step.component.html',\n styleUrls: ['./tcloud-ui-number-step.component.scss']\n})\nexport class TCloudUiNumberStepComponent implements OnInit {\n\n @Input() step: number = 7;\n @Input() useIconCheck: boolean = false;\n\n private _active: number = 0;\n @Input() set active( active: number ){\n if( active && active !== this._active ){\n this._active = active;\n this.build_steps();\n } \n }\n get active(): number{ return this._active; }\n\n private _inactives = [] as number[] | undefined;\n @Input() set inactives( inactives: number[] | undefined){\n if( inactives && inactives !== this._inactives ){\n this._inactives = inactives;\n this.build_steps();\n }\n }\n get inactives(): number[] | undefined { return this._inactives; }\n\n\n private _complete: boolean = false;\n @Input() set complete( complete: boolean ){\n if( complete && complete !== this._complete ){\n this._complete = complete;\n this.build_steps();\n } \n }\n get complete(): boolean{ return this._complete; }\n\n trilha = new Array<Step>();\n\n constructor() { }\n\n ngOnInit(): void {\n setTimeout(() => { this.build_steps(); });\n }\n\n build_steps(){\n let trilha = new Array<Step>();\n if( this.step && this.step > 0 ){\n for( let i = 0; i < this.step; i++ ){\n (trilha).push({\n status: '',\n index: i+1,\n class: 'step-default',\n second_class: '',\n })\n }\n }\n\n if( this.active > this.step ){\n this.active = this.step;\n this.complete = true;\n }\n\n if( this.complete ){\n this.active = this.step;\n }\n\n if( this.active && this.active > 0 ){\n for( let i = 0; i < this.active; i++ ){ \n trilha[i].class = \"step-progress\"; \n if( (i+1) === this.active && !this.complete ){\n trilha[i].class = \"step-active\";\n }\n }\n }\n \n if( this.inactives && (this.inactives).length > 0 ){\n for( let i = 0; i < (this.inactives).length; i++ ){\n const icon = this.inactives[i];\n if( icon && icon > 0 ){\n trilha[(icon-1)].second_class = \"step-inactive\"; \n } \n }\n }\n\n this.trilha = trilha; \n }\n}\n","<table class=\"tcloud-ui-number-step table-trilha\" cellspacing=\"0\" cellpadding=\"0\">\r\n <tr>\r\n <ng-container *ngFor=\"let fase of trilha; let i = index\" >\r\n <td class=\"area-circle\">\r\n <div class=\"circle icon-{{ fase.class }} {{ fase.second_class }} \">\r\n\r\n <ng-container *ngIf=\"useIconCheck\">\r\n <ng-container *ngIf=\"i < active && fase.second_class !== 'step-inactive'\">\r\n <div class=\"area-index\" *ngIf=\"(active-1) === i\">{{ active }}</div>\r\n <div class=\"area-index\" *ngIf=\"(active-1) > i\"><i class=\"fas fa-check\"></i></div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"i < active && fase.second_class === 'step-inactive'\">\r\n <div class=\"area-index\"><i class=\"far fa-circle\"></i></div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"i >= active\">\r\n <div class=\"area-index\">{{ i + 1 }}</div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!useIconCheck\">\r\n <div class=\"area-index\">{{ i + 1 }}</div>\r\n </ng-container>\r\n \r\n </div>\r\n </td>\r\n <td class=\"area-line\" *ngIf=\"(i+1) < (trilha).length\">\r\n <div class=\"step-line {{ fase.class }}\"></div> \r\n </td>\r\n </ng-container>\r\n </tr>\r\n</table>","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiNumberStepComponent } from './tcloud-ui-number-step.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiNumberStepComponent\r\n ],\r\n exports: [\r\n TCloudUiNumberStepComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiNumberStepModule { }\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-scroll-box',\r\n templateUrl: './tcloud-ui-scroll-box.component.html',\r\n styleUrls: ['./tcloud-ui-scroll-box.component.scss']\r\n})\r\nexport class TCloudUiScrollBoxComponent implements OnInit {\r\n\r\n @Input() border: boolean = true;\r\n @Input() maxHeight: number | string = '400';\r\n\r\n unidade: string = 'px';\r\n style_height: any | undefined;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n let und = '';\r\n if( `${this.maxHeight}` ){\r\n und = this.retirarNumeros(`${this.maxHeight}`);\r\n }\r\n // console.log(\"und\",und);\r\n\r\n if( ((und) && (und).trim() === '') || !und ){\r\n this.unidade = 'px';\r\n }else{\r\n this.unidade = (und).toLowerCase(); \r\n }\r\n\r\n this.maxHeight = (`${this.maxHeight}`).replace(this.unidade, '');\r\n if( this.unidade === 'vh' ){ \r\n this.style_height = {'height': this.maxHeight+this.unidade};\r\n }else{\r\n this.style_height = {'max-height': this.maxHeight+this.unidade};\r\n }\r\n }\r\n\r\n retirarNumeros(str: string) {\r\n // Utiliza regex para substituir todos os dígitos por uma string vazia\r\n const resultado = str.replace(/\\d/g, '');\r\n return resultado;\r\n}\r\n\r\n}\r\n","<div class=\"tcloud-ui-scroll-box tc-box-scroll\" [class.tc-box-scroll-border]=\"border\" >\r\n <div class=\"box-content\" [ngStyle]=\"style_height\" >\r\n <ng-content></ng-content>\r\n </div> \r\n</div>","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiScrollBoxComponent } from './tcloud-ui-scroll-box.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiScrollBoxComponent\r\n ],\r\n exports: [\r\n TCloudUiScrollBoxComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiScrollBoxModule { }\r\n","export interface TCDataFilters{\r\n description: string; \r\n searchIn: string;\r\n notIn?: boolean;\r\n type?: TCFiltersType;\r\n name?: string;\r\n id?: string;\r\n\r\n searchText?: any;\r\n accept?: boolean;\r\n placeholder?: string;\r\n width?: string;\r\n data?: TCDataOtions[];\r\n condition?: TCCondition;\r\n value?: any;\r\n\r\n // For datepicker\r\n defaultValuePeriodStartStop?: any;\r\n UTC?: boolean;\r\n useOptionsDateTime?: boolean;\r\n}\r\n\r\nexport interface TCDataOtions {\r\n description: string;\r\n value: any;\r\n notValues?: string[];\r\n}\r\n\r\nexport enum TCFiltersType{\r\n text = \"text\",\r\n number = \"number\",\r\n select = \"select\",\r\n boolean = \"boolean\",\r\n datetime = \"datetime-local\",\r\n hidden = \"hidden\",\r\n date = \"date-local\",\r\n}\r\n\r\nexport enum TCCondition{\r\n equal = \"equal\",\r\n gte = \"gte\",\r\n lte = \"lte\",\r\n lt = \"lt\",\r\n gt = \"gt\",\r\n notEqual = \"notEqual\"\r\n}","import { Component, OnInit, ViewChild, ElementRef, Output, EventEmitter, forwardRef, Input, ViewEncapsulation } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { DateBRPipe } from '../../_pipes';\r\n\r\n// https://mymth.github.io/vanillajs-datepicker/#/\r\ndeclare var Datepicker: any;\r\n\r\nvar translation = {\r\n ptBR: {\r\n days: [\"Domingo\", \"Segunda\", \"Terça\", \"Quarta\", \"Quinta\", \"Sexta\", \"Sábado\"],\r\n daysShort: [\"Dom\", \"Seg\", \"Ter\", \"Qua\", \"Qui\", \"Sex\", \"Sáb\"],\r\n daysMin: [\"Do\", \"Se\", \"Te\", \"Qu\", \"Qu\", \"Se\", \"Sa\"],\r\n months: [\"Janeiro\", \"Fevereiro\", \"Março\", \"Abril\", \"Maio\", \"Junho\", \"Julho\", \"Agosto\", \"Setembro\", \"Outubro\", \"Novembro\", \"Dezembro\"],\r\n monthsShort: [\"Jan\", \"Fev\", \"Mar\", \"Abr\", \"Mai\", \"Jun\", \"Jul\", \"Ago\", \"Set\", \"Out\", \"Nov\", \"Dez\"],\r\n today: \"Hoje\",\r\n clear: \"Limpar\",\r\n titleFormat: \"MM y\",\r\n format: \"dd/mm/yyyy\",\r\n weekStart: 0\r\n }\r\n};\r\n\r\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiDatepickerComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n@Component({\r\n selector: 'tcloud-ui-datepicker',\r\n templateUrl: './tcloud-ui-datepicker.component.html',\r\n styleUrls: [\r\n './tcloud-ui-datepicker.component.scss',\r\n './datepicker/css/datepicker.min.css',\r\n './datepicker/css/style.css',\r\n ],\r\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TCloudUiDatepickerComponent implements OnInit {\r\n\r\n // multiple permite selecionar multiplas datas\r\n @Input() multiple: boolean = false;\r\n\r\n // maxNumberOfDates - Maximum number of dates users can select. No limit is applied if 0 is set.\r\n // Depende de: multiple como true\r\n @Input() maxNumberOfDates: number = 0;\r\n\r\n // daysOfWeekDisabled - Dias da semana desabilidatos = 0 para sabado até 6 para domingo\r\n @Input() daysOfWeekDisabled: number[] = [];\r\n\r\n // minDate - Data minima para exibicao do calendario - ex: 01/01/2020\r\n @Input() minDate: string = '';\r\n\r\n // maxDate - Data maxima para exibicao do calendario - ex: 31/12/2020\r\n @Input() maxDate: string = '';\r\n\r\n // datesDisabled - Datas desabilitadas - Ex: ['12/10/2020','25/12/2020']\r\n @Input() datesDisabled: string[] = [];\r\n\r\n // modeInput - Exibe um input para quando clicar abrir o calendario\r\n @Input() modeInput: boolean = false;\r\n\r\n @Input() useBorder: boolean = true;\r\n\r\n @Input() childInputDateTime: boolean = false;\r\n\r\n @Input() startViewInMinDate: boolean = false;\r\n\r\n @Input() startViewInMaxDate: boolean = false;\r\n\r\n @Input() disabled: boolean = false;\r\n\r\n // onChange - Dispara a data selecionada\r\n @Output() onChange = new EventEmitter<any|undefined>();\r\n\r\n default_innerValue: any | undefined;\r\n default_innerValue_convertida: any | undefined;\r\n default_qtd_innerValue: number = 0;\r\n date_changed: any | undefined;\r\n\r\n @Input() set ngModel(v: any){\r\n\r\n if( v && v !== this.innerValue ){\r\n this.innerValue = v; //this.toSetMask(v); \r\n this.default_innerValue = v;\r\n this.default_innerValue_convertida = this.convertDates(v);\r\n if( this.multiple ){\r\n this.default_qtd_innerValue = (v).length;\r\n } \r\n this.onChange.emit(v);\r\n } \r\n }\r\n\r\n @Output() ngModelChange = new EventEmitter<any|undefined>();\r\n\r\n @Output() onCheckDate = new EventEmitter<any>();\r\n\r\n @ViewChild('input_datepicker', {static: false}) input_datepicker: ElementRef<HTMLElement> | undefined;\r\n private datepicker: any | undefined;\r\n @Input() code: string = 'tcloud-ui-datepicker';\r\n\r\n constructor(\r\n private _DateBRPipe: DateBRPipe\r\n ) { }\r\n\r\n ID: string = '';\r\n\r\n ngOnInit(): void {\r\n this.ID = this.generateID();\r\n Datepicker.locales.ptBR = translation.ptBR; \r\n this.start_datepicker();\r\n }\r\n\r\n generateID(): string{\r\n return `tcloud-ui-datepicker-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\r\n }\r\n\r\n toSetMask(v: string){\r\n return this._DateBRPipe.transform(v);\r\n }\r\n\r\n parseDateLocal(dateString: any, _split?: string){\r\n if( !_split ){ _split = '-'; }\r\n const [day , month, year] = dateString.split(_split);\r\n return new Date(year, month - 1, day); // Subtrai 1 porque os meses são indexados a partir de 0\r\n }\r\n\r\n formatDateLocal(date: any){\r\n const year = date.getFullYear();\r\n const month = String(date.getMonth() + 1).padStart(2, '0'); // Adiciona 1 porque os meses são indexados a partir de 0\r\n const day = String(date.getDate()).padStart(2, '0');\r\n return `${day}/${month}/${ year}`;\r\n }\r\n\r\n get_options(){\r\n // Função para formatar uma data no fuso horário local\r\n const formatDateLocal = (date: any) => {\r\n const year = date.getFullYear();\r\n const month = String(date.getMonth() + 1).padStart(2, '0');\r\n const day = String(date.getDate()).padStart(2, '0');\r\n return `${year}-${month}-${day}`;\r\n }\r\n\r\n // Função para analisar uma data no fuso horário local\r\n const parseDateLocal = (dateString: any) => {\r\n const [year, month, day] = dateString.split('-');\r\n return new Date(year, month - 1, day);\r\n }\r\n\r\n let options = {\r\n nextArrow: `<i class=\"fas fa-caret-right\"></i>`,\r\n prevArrow: `<i class=\"fas fa-caret-left\"></i>`,\r\n format: 'dd/mm/yyyy', \r\n daysOfWeekHighlighted: [0,6],\r\n language: 'ptBR',\r\n formatter: {\r\n date: formatDateLocal,\r\n },\r\n parser: {\r\n date: parseDateLocal,\r\n } \r\n } as any;\r\n\r\n if( (this.daysOfWeekDisabled).length > 0 ){\r\n options['daysOfWeekDisabled'] = this.daysOfWeekDisabled;\r\n }\r\n\r\n if( (this.datesDisabled).length > 0 ){\r\n options['datesDisabled'] = this.datesDisabled;\r\n }\r\n\r\n if( this.minDate !== '' ){\r\n options['minDate'] = this.minDate;\r\n }\r\n\r\n if( this.maxDate !== '' ){\r\n options['maxDate'] = this.maxDate;\r\n }\r\n\r\n if( this.multiple ){ \r\n options['multiple'] = true; \r\n options['autohide'] = false; \r\n options['maxNumberOfDates'] = this.maxNumberOfDates;\r\n }\r\n \r\n return options;\r\n }\r\n\r\n clearDate(){\r\n if( this.datepicker ){ this.datepicker.setDate({clear: true}); }\r\n }\r\n\r\n start_datepicker(){\r\n setTimeout(() => { \r\n const input_datepicker = <any> this.input_datepicker?.nativeElement;\r\n if( input_datepicker ){\r\n input_datepicker.setAttribute('placeholder','DD/MM/YYYY');\r\n\r\n if( !this.useBorder ){\r\n input_datepicker.setAttribute('style','border:none; text-align: center; max-width: 105px; padding: 0;');\r\n }\r\n \r\n this.datepicker = new Datepicker( input_datepicker, this.get_options() ); \r\n if( this.innerValue && this.innerValue !== '' ){\r\n this.toSetDefaultDate(this.innerValue);\r\n }\r\n\r\n input_datepicker.addEventListener('keyup', (event: any) => {\r\n const v = (input_datepicker['value']) ? input_datepicker['value'] : '';\r\n input_datepicker['value'] = this.toSetMask(v);\r\n if( (input_datepicker['value']).length >= 10 ){\r\n const v = (input_datepicker['value']).substring(0, 10);\r\n const part_date = (v).split('/');\r\n if( (part_date).length === 3 ){\r\n\r\n let dia = part_date[0];\r\n let mes = part_date[1];\r\n let ano = part_date[2];\r\n\r\n mes = (+(mes) < 10 ) ? `0${+mes}` : mes; \r\n dia = (+(dia) < 10 ) ? `0${+dia}` : dia;\r\n\r\n const dt = new Date(ano+'-'+mes+'-'+dia);\r\n if( dt ){\r\n input_datepicker?.changeDate;\r\n document.getElementById(this.ID)?.blur();\r\n this.onChange.emit(this.innerValue);\r\n this.ngModelChange.emit(this.innerValue);\r\n }\r\n }\r\n }else{\r\n this.innerValue = undefined;\r\n this.onChange.emit(this.innerValue);\r\n this.ngModelChange.emit(this.innerValue);\r\n }\r\n })\r\n\r\n \r\n input_datepicker.addEventListener('changeDate', (event: any) => {\r\n\r\n if( event?.detail?.date ){\r\n\r\n let qtd = (event.detail.date).length; \r\n\r\n if( this.disabled ){\r\n\r\n if( !this.multiple ){\r\n let dt = this.formatDateLocal(event.detail?.date);\r\n if( this.default_innerValue && this.default_innerValue[0] && ( `${this.default_innerValue[0]}` !== `${dt}` ) ){\r\n qtd = 1\r\n }\r\n }\r\n \r\n this.datepicker.setDate( this.default_innerValue_convertida, {clear: true, render: true});\r\n \r\n if( qtd > this.default_qtd_innerValue ){\r\n this.date_changed = event?.detail.viewDate;\r\n this.datepicker.setFocusedDate( this.date_changed, {resetView: false} );\r\n\r\n this.onCheckDate.emit({\r\n value: this.formatDateLocal(this.date_changed), \r\n date: this.date_changed, \r\n checked: true,\r\n disabled: this.disabled\r\n });\r\n }else{\r\n\r\n if( this.multiple ){\r\n const so = this.findDifferences( this.default_innerValue, this.formatArrayDates(event.detail.date) );\r\n if( so && (so).length > 0 ){\r\n\r\n this.date_changed = this.parseDateLocal(so[0], '/');\r\n this.onCheckDate.emit({\r\n value :so[0], \r\n date: this.date_changed,\r\n checked: false,\r\n disabled: this.disabled\r\n });\r\n }\r\n }\r\n\r\n this.datepicker.setFocusedDate( this.date_changed, {resetView: false} );\r\n }\r\n }else{\r\n\r\n\r\n this.toSelectedDate( event.detail );\r\n }\r\n }else{\r\n this.innerValue = '';\r\n this.ngModelChange.emit(this.innerValue);\r\n }\r\n })\r\n } \r\n });\r\n }\r\n\r\n\r\n toSetDefaultDate(date: string | string[]){\r\n \r\n if( date === undefined || date === null || date === '' ){\r\n this.clearDate();\r\n return;\r\n }\r\n\r\n let dates = [] as string[];\r\n\r\n if( date && typeof date === 'string' ){\r\n if( (date).includes(',') ){\r\n const dates = (date).split(',');\r\n date = dates;\r\n if( !this.multiple ){\r\n this.innerValue = date = dates[0];\r\n this.ngModelChange.emit(this.innerValue); \r\n }\r\n }\r\n }\r\n \r\n if( date && typeof date === 'string' ){\r\n (dates).push( date ); \r\n }else{\r\n dates = <Array<string>> date;\r\n }\r\n if( this.datepicker ){\r\n\r\n if( dates && dates.length > 0 && this.multiple ){\r\n if( this.startViewInMinDate ){ \r\n dates = this.sortDatesDescending(dates); \r\n }else if(this.startViewInMaxDate){\r\n dates = this.sortDatesAscending(dates); \r\n }\r\n }\r\n this.datepicker.setDate(dates); \r\n } \r\n }\r\n\r\n convertDates(arrayDeDatas: any[]) {\r\n const formatDate = (dateString: any) => {\r\n const [day, month, year] = dateString.split('/');\r\n return new Date(year, month - 1, day); \r\n }\r\n if( arrayDeDatas && Array.isArray(arrayDeDatas) ){\r\n const datasOrdenadas = arrayDeDatas.map((data: any) => ({ original: data, convertida: formatDate(data) }));\r\n return datasOrdenadas.map(item => item.convertida); \r\n }else{\r\n return [arrayDeDatas];\r\n }\r\n }\r\n\r\n sortDatesDescending(arrayDeDatas: any[]) {\r\n const formatDate = (dateString: any) => {\r\n const [day, month, year] = dateString.split('/');\r\n return new Date(year, month - 1, day); \r\n }\r\n const datasOrdenadas = arrayDeDatas.map((data: any) => ({ original: data, convertida: formatDate(data) })).sort((a:any, b: any) => b.convertida - a.convertida);\r\n const datasOrdenadasFormatadas = datasOrdenadas.map(item => item.original); \r\n return datasOrdenadasFormatadas;\r\n }\r\n \r\n sortDatesAscending(arrayDeDatas: any[]) {\r\n const formatDate = (dateString: any) => {\r\n const [day, month, year] = dateString.split('/');\r\n return new Date(year, month - 1, day); \r\n }\r\n const datasOrdenadas = arrayDeDatas.map((data: any) => ({ original: data, convertida: formatDate(data) })).sort((a:any, b: any) => a.convertida - b.convertida);\r\n const datasOrdenadasFormatadas = datasOrdenadas.map(item => item.original);\r\n return datasOrdenadasFormatadas;\r\n }\r\n\r\n toSelectedDate(detail: any){ \r\n if( detail.datepicker.dates && (detail.datepicker.dates).length > 0 ){\r\n if( this.multiple ){\r\n let dates = [];\r\n for( let i = 0; i < (detail.datepicker.dates).length; i++ ){\r\n const timeStamp = <number> detail.datepicker.dates[i];\r\n (dates).push( this.format_date( timeStamp ) );\r\n }\r\n this.innerValue = dates;\r\n this.onChange.emit(this.innerValue); \r\n }else{\r\n const timeStamp = <number> detail.datepicker.dates[0];\r\n const date = this.format_date( timeStamp );\r\n this.onChange.emit(date);\r\n this.innerValue = date;\r\n } \r\n }else{\r\n this.clearDate();\r\n this.innerValue = null;\r\n this.onChange.emit(this.innerValue);\r\n } \r\n this.value = this.innerValue;\r\n this.ngModelChange.emit(this.innerValue); \r\n }\r\n\r\n format_date(timeStamp: number){\r\n var date = new Date(timeStamp);\r\n\r\n let dia = `${date.getDate()}`;\r\n let mes = `${date.getMonth()+1}`;\r\n let ano = `${date.getFullYear()}`;\r\n\r\n dia = (+(dia) < 10 ) ? `0${+dia}` : dia;\r\n mes = (+(mes) < 10 ) ? `0${+mes}` : mes; \r\n\r\n const dateFormat = `${dia}/${mes}/${ano}`;\r\n return dateFormat;\r\n }\r\n\r\n toClickIn(id: string){\r\n const element = document.getElementById(id) as any;\r\n setTimeout(() => { \r\n element?.datepicker?.show();\r\n });\r\n }\r\n\r\n\r\n\r\n findDifferences(array1: any, array2: any) {\r\n const conjuntoComum = new Set([...array1, ...array2]);\r\n return Array.from(conjuntoComum).filter(item => !(array1.includes(item) && array2.includes(item)));\r\n }\r\n\r\n\r\n\r\n formatArrayDates(array_dates: any){\r\n let formateds = [];\r\n if( array_dates && (array_dates).length > 0 ){\r\n const formatDateLocal = (date: any) => {\r\n const year = date.getFullYear();\r\n const month = String(date.getMonth() + 1).padStart(2, '0'); // Adiciona 1 porque os meses são indexados a partir de 0\r\n const day = String(date.getDate()).padStart(2, '0');\r\n return `${day}/${month}/${year}`;\r\n }\r\n for( let i = 0; i < (array_dates).length; i++ ){\r\n const dt = array_dates[i];\r\n (formateds).push( formatDateLocal(dt) )\r\n }\r\n }\r\n return formateds;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n innerValue: any | undefined;\r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): any {\r\n return this.innerValue;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: any) {\r\n\r\n if (v !== this.innerValue) {\r\n this.innerValue = v; // this.toSetMask(v); \r\n this.onChangeCallback(v);\r\n }else{\r\n // this.innerValue = '';\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.innerValue) {\r\n this.innerValue = value;\r\n this.toSetDefaultDate(value);\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n}\r\n","<!-- Input mode -->\r\n<ng-container *ngIf=\"modeInput\">\r\n\r\n <div class=\"tcloud-ui-datepicker input-tc-datepicker\" [class.no-border]=\"!useBorder\" [class.child-input-date-time]=\"childInputDateTime\" >\r\n <table class=\"table-box-input\">\r\n <tr>\r\n <td class=\"td-icon\">\r\n <div class=\"delimiter-time-icon\" (click)=\"toClickIn(ID)\" ><i class=\"fas fa-calendar-alt\"></i></div>\r\n </td>\r\n <td class=\"td-date\">\r\n <input #input_datepicker type=\"text\" name=\"{{ID}}\" id=\"{{ID}}\" class=\"form-control\" [title]=\"innerValue\" >\r\n </td>\r\n </tr>\r\n </table>\r\n </div>\r\n</ng-container>\r\n\r\n<!-- Inline mode -->\r\n<ng-container *ngIf=\"!modeInput\"> \r\n <div class=\"tcloud-ui-datepicker tcloud-ui-datepicker-second\" #input_datepicker id=\"{{ID}}\" pattern=\"/^\\d{2}\\/\\d{2}\\/\\d{4}$/\" [title]=\"innerValue\"></div>\r\n</ng-container>\r\n\r\n<!-- EX de uso \r\n <tc-datepicker \r\n [multiple]=\"false\"\r\n [daysOfWeekDisabled]=\"[0,6]\"\r\n [minDate]=\"'18/11/2021'\"\r\n [maxDate]=\"'18/12/2023'\"\r\n [datesDisabled]=\"['12/10/2022','25/12/2022']\"\r\n [modeInput]=\"false\"\r\n (onChange)=\"($event)\"\r\n (onCheckDate)=\"onCheckDate($event)\"\r\n [(ngModel)]=\"dateValue\" >\r\n </tc-datepicker>\r\n \r\n // multiple = false\r\n // dateValue - string - pode ser: 12/12/2022 \r\n\r\n // multiple = true\r\n // dateValue - string - pode ser: 11/12/2022,12/12/2022 ... \r\n\r\n <pre>data: {{ dateValue }}</pre>\r\n-->\r\n","import { Component, forwardRef, OnInit, EventEmitter, Output, Input, ViewChild, ElementRef } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { ISelectOptions } from '../tcloud-ui-data-list/tcloud-ui-data-list';\r\n\r\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiDatepickerTimeComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n@Component({\r\n selector: 'tcloud-ui-datepicker-time',\r\n templateUrl: './tcloud-ui-datepicker-time.component.html',\r\n styleUrls: ['./tcloud-ui-datepicker-time.component.scss'],\r\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR]\r\n})\r\nexport class TCloudUiDatepickerTimeComponent implements OnInit {\r\n\r\n show_date_picker: boolean = true;\r\n\r\n private _ngModel: any | undefined;\r\n @Input() set ngModel(v: any){\r\n if( v && v !== this.innerValue ){\r\n this.innerValue = v; \r\n } \r\n }\r\n @Output() ngModelChange = new EventEmitter<Date>();\r\n\r\n @Output() onChange = new EventEmitter<Date>();\r\n @Output() eventChange = new EventEmitter<any>();\r\n\r\n // minDate - Data minima para exibicao do calendario - ex: 01/01/2020\r\n @Input() minDate: string = '';\r\n\r\n // maxDate - Data maxima para exibicao do calendario - ex: 31/12/2020\r\n @Input() maxDate: string = '';\r\n\r\n @Input() useOptionsDateTime = false;\r\n\r\n DD_MM_YYYY: string = '';\r\n HH: string = '00';\r\n MM: string = '00';\r\n\r\n ID: string = '';\r\n\r\n option_HH: string[] | undefined;\r\n option_MM: string[] | undefined;\r\n\r\n @ViewChild('_datepickertime', {static: false}) datepickertime: ElementRef<HTMLElement> | undefined;\r\n\r\n options_date_time : ISelectOptions[] = [];\r\n open_options_date_time: boolean = false;\r\n\r\n last_options_date_time: any;\r\n description_options_date_time: any = '';\r\n value_options_date_time: any = '';\r\n\r\n ngOnInit(): void {\r\n\r\n\r\n this.setOptionsDateTime();\r\n\r\n this.ID = this.generateID();\r\n this.option_HH = this.getListTIME(23);\r\n this.option_MM = this.getListTIME(59);\r\n }\r\n\r\n setOptionsDateTime(){\r\n this.options_date_time = [\r\n {value:'7-days', description: '7 dias'},\r\n {value:'15-days', description: '15 dias'},\r\n {value:'30-days', description: '30 dias'},\r\n {value:'current-month', description: 'Mês atual até agora'},\r\n {value:'current-year', description: 'Ano atual até agora'}\r\n ]\r\n }\r\n\r\n generateID(): string{\r\n return `tcloud-ui-datepicker-time-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\r\n }\r\n\r\n getListTIME(v: number){\r\n let mm = [];\r\n for(let i = 0; i <= v; i++ ){\r\n if( i < 10 ){\r\n (mm).push(`0${i}`);\r\n }else{\r\n (mm).push(`${i}`);\r\n }\r\n }\r\n return mm;\r\n }\r\n\r\n toSetDate(date: string){ \r\n this.set_date_by_datepicker(date);\r\n }\r\n\r\n toSetTime(){\r\n if( this.DD_MM_YYYY && ((this.DD_MM_YYYY).trim()).length === 10){\r\n const date = (this.DD_MM_YYYY).replace(/-/g, '/');\r\n let date_part = (date).split('/');\r\n let dd = date_part[0];\r\n let mm = date_part[1];\r\n let yy = date_part[2];\r\n const datetime = new Date(`${yy}-${mm}-${dd}`);\r\n if( this.checkIsDate(datetime) ){\r\n this.set_date_by_datepicker(date);\r\n }\r\n }\r\n }\r\n\r\n set_date_by_datepicker(date: string){\r\n\r\n if( date ){\r\n date = (date).replace(/-/g, '/');\r\n let date_part = (date).split('/');\r\n let dia = date_part[0];\r\n let mes = date_part[1];\r\n let ano = date_part[2];\r\n\r\n let hh = this.HH;\r\n if( !hh ){\r\n hh = '00';\r\n }else{\r\n if( ( +(hh) >= 0 && +(hh) < 24 ) ){\r\n hh = (+(hh) < 10 ) ? `0${+(hh)}` : `${+(hh)}`;\r\n }else{\r\n hh = '00';\r\n }\r\n }\r\n\r\n let mm = this.MM;\r\n if( !mm ){\r\n mm = '00';\r\n }else{\r\n if( ( +(mm) >= 0 && +(mm) < 60 ) ){\r\n mm = (+(mm) < 10 ) ? `0${+(mm)}` : `${+(mm)}`;\r\n }else{\r\n mm = '00';\r\n }\r\n }\r\n\r\n if( hh === '00' ){ this.HH = hh; }\r\n if( mm === '00' ){ this.MM = mm; }\r\n\r\n const notation = '00';\r\n\r\n const str_date = `${ano}-${mes}-${dia}T${hh}:${mm}:${notation}`;\r\n const datetime = new Date( str_date );\r\n \r\n if( this.checkIsDate(datetime) ){\r\n this.innerValue = datetime;\r\n }else{\r\n this.innerValue = undefined;\r\n }\r\n\r\n // console.log('this.datepickertime?.nativeElement', this.datepickertime?.nativeElement);\r\n\r\n // if(this.datepickertime && this.datepickertime.nativeElement){\r\n // const elem = <any> this.datepickertime.nativeElement;\r\n // elem.value = this.innerValue;\r\n // }\r\n\r\n this.ngModelChange.emit( this.innerValue );\r\n this.onChange.emit( this.innerValue );\r\n this.eventChange.emit( this.datepickertime?.nativeElement );\r\n\r\n }else{\r\n\r\n this.description_options_date_time = '';\r\n this.value_options_date_time = '';\r\n\r\n this.innerValue = undefined;\r\n this.ngModelChange.emit( this.innerValue );\r\n this.onChange.emit( this.innerValue );\r\n this.eventChange.emit( this.datepickertime?.nativeElement );\r\n }\r\n\r\n if( `${this.last_options_date_time}` !== `${this.innerValue}` ){\r\n // this.description_options_date_time = '';\r\n // this.value_options_date_time = '';\r\n }\r\n\r\n }\r\n\r\n // Distribuir os valores da data por pedaços: data - hora - min\r\n to_date_hh_mm(d: Date){\r\n let dia = `${(d).getDate()}`;\r\n dia = (+(dia) < 10 ) ? `0${+dia}` : dia;\r\n let mes = `${(d).getMonth()+1}`;\r\n mes = (+(mes) < 10 ) ? `0${+mes}` : mes; \r\n\r\n let ano = `${(d).getFullYear()}`;\r\n let hh = `${(d).getHours()}`;\r\n let mm = `${(d).getMinutes()}`;\r\n\r\n if( hh && ( +(hh) < 0 || +(hh) > 23 ) ){ hh = '00'; }\r\n hh = (hh) ? ( (+(hh) < 10 ) ? `0${hh}` : hh ) : '00';\r\n\r\n if( mm && ( +(mm) < 0 || +(mm) > 59 ) ){ mm = '00'; }\r\n mm = (mm) ? ( (+(mm) < 10 ) ? `0${mm}` : mm ) : '00';\r\n\r\n this.MM = mm;\r\n this.HH = hh;\r\n\r\n this.DD_MM_YYYY = `${dia}/${mes}/${ano}`;\r\n }\r\n\r\n checkIsDate(d: any): boolean{\r\n\r\n if(Object.prototype.toString.call(d) === \"[object Date]\") {\r\n if(isNaN(d)) { return false; } else { return true; }\r\n } \r\n return false;\r\n }\r\n\r\n\r\n clean(){\r\n this.DD_MM_YYYY = '';\r\n this.HH = '00';\r\n this.MM = '00';\r\n this.description_options_date_time = '';\r\n this.value_options_date_time = '';\r\n }\r\n\r\n toClickIn(id: string){\r\n document.getElementById(id)?.focus();\r\n }\r\n\r\n onClosedOptionsDateTime(){\r\n this.open_options_date_time = false\r\n }\r\n\r\n \r\n onChangeOptionsDateTime(event: any){\r\n // this.description_options_date_time = '';\r\n // this.value_options_date_time = '';\r\n this.show_date_picker = false;\r\n\r\n let now = new Date();\r\n let filter_date: any = undefined;\r\n if( event === '7-days' ){\r\n filter_date = new Date( (new Date(now)).setDate( now.getDate() - 7 ) ); \r\n filter_date = new Date( (filter_date).setSeconds(0) ); \r\n }\r\n\r\n if( event === '15-days' ){\r\n filter_date = new Date( (new Date(now)).setDate( now.getDate() - 15 ) );\r\n filter_date = new Date( (filter_date).setSeconds(0) );\r\n }\r\n\r\n if( event === '30-days' ){\r\n filter_date = new Date( (new Date(now)).setDate( now.getDate() - 30 ) );\r\n filter_date = new Date( (filter_date).setSeconds(0) );\r\n }\r\n\r\n if( event === 'current-month' ){\r\n filter_date = new Date(now.getFullYear(), now.getMonth(), 1);\r\n }\r\n\r\n if( event === 'current-year' ){\r\n filter_date = new Date(now.getFullYear(), 0, 1);\r\n }\r\n\r\n if(filter_date){ \r\n this.innerValue = filter_date;\r\n if( this.checkIsDate(filter_date) ){ \r\n setTimeout(() => {\r\n this.to_date_hh_mm(filter_date);\r\n this.toSetDate(this.DD_MM_YYYY); \r\n this.show_date_picker = true;\r\n this.value_options_date_time = event;\r\n this.last_options_date_time = filter_date as any;\r\n this.description_options_date_time = this.get_description_options_date_time(event);\r\n }); \r\n }\r\n }\r\n\r\n }\r\n\r\n\r\n get_description_options_date_time(value: string){\r\n if( this.options_date_time && (this.options_date_time).length > 0 ){\r\n for( let i = 0; i < (this.options_date_time).length; i++ ){\r\n const item = this.options_date_time[i];\r\n if( item.value === value ){\r\n return item.description;\r\n }\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n\r\n closedTimeDescription(){\r\n this.value_options_date_time = '';\r\n this.description_options_date_time = ''; \r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n innerValue: any | undefined;\r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): any {\r\n return this.innerValue;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: any) {\r\n if (v !== this.innerValue) {\r\n this.innerValue = v; \r\n this.onChangeCallback(v);\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.innerValue) {\r\n\r\n try {\r\n value = new Date( `${value}` );\r\n } catch (error) {}\r\n\r\n this.innerValue = value;\r\n if( this.checkIsDate(value) ){\r\n this.to_date_hh_mm(value);\r\n }else{\r\n this.clean()\r\n }\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n}\r\n","<div class=\"tcloud-ui-datepicker-time\">\r\n <input type=\"hidden\" value=\"{{ innerValue }}\" #_datepickertime >\r\n <form #_formulario=\"ngForm\">\r\n <div class=\"input-control-time\">\r\n <div class=\"form-control-time\">\r\n\r\n <table style=\"width: 100%;\">\r\n <tr>\r\n <td>\r\n\r\n <div class=\"input-options-date\">\r\n <table class=\"form-time\">\r\n <tr>\r\n <!-- <td class=\"area-icon\"><div class=\"delimiter-time-icon\" (click)=\"toClickIn(ID)\" ><i class=\"fas fa-calendar-alt\"></i></div></td> -->\r\n <td class=\"area-input-date\">\r\n <ng-container *ngIf=\"show_date_picker\">\r\n <tcloud-ui-datepicker [minDate]=\"minDate\" [maxDate]=\"maxDate\" #_tclouddatepickertime [childInputDateTime]=\"true\" [modeInput]=\"true\" name=\"date\" [useBorder]=\"false\" [(ngModel)]=\"DD_MM_YYYY\" (onChange)=\"toSetDate($event)\" ></tcloud-ui-datepicker>\r\n </ng-container>\r\n </td>\r\n \r\n <td class=\"area-delimiter\"><div class=\"delimiter-time\"></div></td>\r\n <td class=\"area-input-hour\">\r\n <!--<input type=\"text\" placeholder=\"HH\" (keyup)=\"toSetTime()\" [(ngModel)]=\"HH\" maxlength=\"2\" name=\"hh\" pattern=\"[0][0-9]|[1][0-9]|2[0-3]\">-->\r\n <select class=\"select-time-date\" (change)=\"toSetTime()\" [(ngModel)]=\"HH\" name=\"hh\">\r\n <ng-container *ngFor=\"let hh of option_HH\">\r\n <option [ngValue]=\"hh\">{{ hh }}</option>\r\n </ng-container>\r\n </select>\r\n </td>\r\n <td class=\"area-delimiter\"><div class=\"delimiter-time\">:</div></td>\r\n <td class=\"area-input-minute\">\r\n <!--<input type=\"text\" placeholder=\"MM\" (keyup)=\"toSetTime()\" [(ngModel)]=\"MM\" maxlength=\"2\" name=\"mm\" pattern=\"[012345][0-9]\">-->\r\n <select class=\"select-time-date\" (change)=\"toSetTime()\" [(ngModel)]=\"MM\" name=\"mm\">\r\n <ng-container *ngFor=\"let mm of option_MM\">\r\n <option [value]=\"mm\">{{ mm }}</option>\r\n </ng-container>\r\n </select>\r\n </td>\r\n <td class=\"area-clean\"></td>\r\n </tr>\r\n </table>\r\n\r\n <div class=\"description-options-date\" *ngIf=\"value_options_date_time !== ''\">\r\n <strong>{{ description_options_date_time }}</strong>\r\n\r\n <!-- <div class=\"area-action-date-time-selected\">\r\n <button class=\"btn-icon\" type=\"button\" (click)=\"closedTimeDescription()\" >\r\n <i class=\"fas fa-times\"></i>\r\n </button> \r\n </div> -->\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n </td>\r\n <td *ngIf=\"useOptionsDateTime && options_date_time && (options_date_time).length > 0\" style=\"width: 20px\">\r\n <button type=\"button\" class=\"icon-short-time\" (click)=\"open_options_date_time = !open_options_date_time\" [title]=\"description_options_date_time\" >\r\n <i *ngIf=\"!open_options_date_time\" class=\"fas fa-caret-down\"></i>\r\n <i *ngIf=\"open_options_date_time\" class=\"fas fa-caret-up\"></i>\r\n </button>\r\n\r\n <ng-container *ngIf=\"value_options_date_time !== ''\">\r\n <button class=\"btn-icon-close\" type=\"button\" (click)=\"closedTimeDescription()\" >\r\n <i class=\"fas fa-times\"></i>\r\n </button> \r\n </ng-container>\r\n\r\n </td>\r\n </tr>\r\n <tr *ngIf=\"useOptionsDateTime && options_date_time && (options_date_time).length > 0 && open_options_date_time\">\r\n <td colspan=\"2\">\r\n <tcloud-ui-data-list \r\n name=\"value_options_date_time\"\r\n [showInput]=\"false\" \r\n [search]=\"false\" \r\n [open]=\"true\" \r\n [listItems]=\"options_date_time\" \r\n (onClosed)=\"onClosedOptionsDateTime()\"\r\n [ngModel]=\"value_options_date_time\"\r\n (ngModelChange)=\"onChangeOptionsDateTime($event)\"\r\n >\r\n </tcloud-ui-data-list>\r\n\r\n \r\n\r\n\r\n \r\n </td>\r\n </tr>\r\n </table>\r\n\r\n \r\n </div>\r\n </div>\r\n </form>\r\n</div>","import { Component, Input, OnInit, Output, EventEmitter, forwardRef } from '@angular/core';\r\nimport { FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nconst CUSTOM_INPUT_VALIDATORS: any = { \r\n provide: NG_VALIDATORS, \r\n useExisting: forwardRef(() => TCloudUiRangeDateComponent),\r\n multi: true\r\n}\r\n\r\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiRangeDateComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n\r\ninterface IResultDateTime{\r\n start: any;\r\n stop: any;\r\n}\r\n\r\n@Component({\r\n selector: 'range-date',\r\n templateUrl: './range-date.component.html',\r\n styleUrls: ['./range-date.component.scss'],\r\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CUSTOM_INPUT_VALIDATORS]\r\n})\r\nexport class TCloudUiRangeDateComponent implements OnInit {\r\n\r\n result = {} as IResultDateTime;\r\n\r\n options_date_time: any = [];\r\n use_validation_required: boolean = false;\r\n\r\n @Output() onChange = new EventEmitter<IResultDateTime>();\r\n\r\n @Input() defaultValuePeriodStartStop: string = '';\r\n @Input() required: string | undefined;\r\n\r\n @Input() descriptionStart: string = '';\r\n @Input() descriptionStop: string = '';\r\n\r\n mode: string = 'select';\r\n\r\n isValid = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.setOptionsDateTime();\r\n }\r\n\r\n setOptionsDateTime(){\r\n this.options_date_time = [\r\n {value:'1-last-time', description: 'Última 1 hora'},\r\n {value:'3-last-time', description: 'Últimas 3 horas'},\r\n {value:'6-last-time', description: 'Últimas 6 horas'},\r\n {value:'24-last-time', description: 'Últimas 24 horas'},\r\n\r\n {value:'7-days', description: 'Últimos 7 dias'},\r\n {value:'15-days', description: 'Últimos 15 dias'},\r\n {value:'30-days', description: 'Últimos 30 dias'},\r\n {value:'current-month', description: 'Mês atual'},\r\n {value:'current-year', description: 'Ano atual'}\r\n ]\r\n setTimeout(() => {\r\n if( this.defaultValuePeriodStartStop !== '' ){\r\n this.onChangeOptionsDateTime( this.defaultValuePeriodStartStop );\r\n }\r\n });\r\n \r\n }\r\n\r\n onChangeOptionsDateTime(event?: any){\r\n this.isValid = false;\r\n // this.description_options_date_time = '';\r\n // this.value_options_date_time = '';\r\n event = (event && event.value) ? `${event.value}` : `${event}`;\r\n\r\n let now = new Date();\r\n let current_date = new Date();\r\n let filter_date: any = undefined;\r\n\r\n\r\n if( event === '1-last-time' ){\r\n filter_date = new Date(current_date.getTime() - 1 * 60 * 60 * 1000);\r\n }\r\n\r\n if( event === '3-last-time' ){\r\n filter_date = new Date(current_date.getTime() - 3 * 60 * 60 * 1000);\r\n }\r\n\r\n if( event === '6-last-time' ){\r\n filter_date = new Date(current_date.getTime() - 6 * 60 * 60 * 1000);\r\n }\r\n\r\n if( event === '24-last-time' ){\r\n filter_date = new Date(current_date.getTime() - 24 * 60 * 60 * 1000);\r\n }\r\n\r\n if( event === '7-days' ){\r\n filter_date = new Date( (new Date(current_date)).setDate( now.getDate() - 7 ) ); \r\n filter_date = new Date( (filter_date).setSeconds(0) ); \r\n }\r\n\r\n if( event === '15-days' ){\r\n filter_date = new Date( (new Date(current_date)).setDate( now.getDate() - 15 ) );\r\n filter_date = new Date( (filter_date).setSeconds(0) );\r\n }\r\n\r\n if( event === '30-days' ){\r\n filter_date = new Date( (new Date(current_date)).setDate( now.getDate() - 30 ) );\r\n filter_date = new Date( (filter_date).setSeconds(0) );\r\n }\r\n\r\n if( event === 'current-month' ){\r\n filter_date = new Date(now.getFullYear(), now.getMonth(), 1);\r\n }\r\n\r\n if( event === 'current-year' ){\r\n filter_date = new Date(now.getFullYear(), 0, 1);\r\n }\r\n\r\n if(filter_date){ \r\n this.result = {\r\n start: this.getTransformDate(filter_date),\r\n stop: this.getTransformDate(now)\r\n } as IResultDateTime;\r\n\r\n this.onChange.emit(this.result);\r\n this.isValid = true;\r\n }else{\r\n \r\n this.result = {} as IResultDateTime;\r\n this.onChange.emit(this.result);\r\n this.isValid = false;\r\n \r\n }\r\n\r\n }\r\n\r\n getTransformDate(dt: any){\r\n //return (dt).toLocaleString('pt-BR');\r\n return dt;\r\n /*\r\n const ano = dt.getFullYear();\r\n const mes = dt.getMonth();\r\n const dia = dt.getDate();\r\n const horas = dt.getHours();\r\n const minutos = dt.getMinutes();\r\n return new Date(Date.UTC(ano, mes, dia, horas, minutos));\r\n */\r\n }\r\n\r\n onChangeStartDateTime(event: any){\r\n this.isValid = false;\r\n if( this.result && this.result.start){\r\n this.result.start = event.value = this.getTransformDate(event.value);\r\n this.onChange.emit(this.result);\r\n this.isValid = true;\r\n }else{\r\n this.result = {} as IResultDateTime;\r\n this.onChange.emit(this.result);\r\n }\r\n }\r\n\r\n onChangeStopDateTime(event: any){\r\n this.isValid = false;\r\n if( this.result && this.result.stop ){\r\n this.result.stop = event.value = this.getTransformDate(event.value);\r\n this.onChange.emit(this.result);\r\n this.isValid = true;\r\n }else{\r\n this.result = {} as IResultDateTime;\r\n this.onChange.emit(this.result);\r\n }\r\n }\r\n\r\n toggle(){\r\n const mode = ( `${this.mode}` === 'select' ) ? 'datepickers' : 'select';\r\n this.defaultValuePeriodStartStop = '';\r\n this.isValid = false;\r\n this.result = {} as IResultDateTime;\r\n this.mode = mode;\r\n this.onChange.emit(this.result);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n innerValue: any | undefined;\r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): any {\r\n return this.innerValue;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: any) {\r\n if (v !== this.innerValue) {\r\n this.innerValue = v; \r\n this.onChangeCallback(v);\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.innerValue) {\r\n this.innerValue = value;\r\n //this.toSetDefault(value);\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n public validate(c: FormControl): any {\r\n if( c && ( typeof this.required !== 'undefined' ) ){\r\n this.use_validation_required = true;\r\n return (this.check_is_valid()) ? null : 'required';\r\n }\r\n return null;\r\n }\r\n\r\n check_is_valid(): boolean{\r\n if( this.result && this.result.start && this.result.stop ){\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n}\r\n","<table class=\"tcloud-ui-filters-range-date area-range-date\">\r\n <tr>\r\n\r\n <td>\r\n <div *ngIf=\"mode === 'select'\">\r\n <div class=\"description-period\">Período</div>\r\n <select name=\"periodo\" class=\"tc-form-control\" (change)=\"onChangeOptionsDateTime($event.target)\" [(ngModel)]=\"defaultValuePeriodStartStop\" >\r\n <option value=\"\"></option> \r\n <ng-container *ngFor=\"let item of options_date_time\">\r\n <option [value]=\"item.value\">{{ item.description }}</option>\r\n </ng-container>\r\n </select>\r\n </div>\r\n <div *ngIf=\"mode === 'datepickers'\">\r\n\r\n <table class=\"area-range-datepickers\">\r\n <tr>\r\n <td>\r\n <div class=\"description-start\">{{ descriptionStart }}</div>\r\n <tcloud-ui-datepicker-time \r\n #_input_start \r\n [(ngModel)]=\"result.start\" \r\n name=\"input_start\" \r\n (eventChange)=\"onChangeStartDateTime(_input_start)\">\r\n </tcloud-ui-datepicker-time>\r\n </td>\r\n <td>\r\n <div class=\"description-stop\">{{ descriptionStop }}</div>\r\n <tcloud-ui-datepicker-time \r\n #_input_stop\r\n [(ngModel)]=\"result.stop\" \r\n name=\"input_stop\" \r\n (eventChange)=\"onChangeStopDateTime(_input_stop)\">\r\n </tcloud-ui-datepicker-time>\r\n </td>\r\n </tr>\r\n </table>\r\n\r\n </div>\r\n </td>\r\n\r\n <td>\r\n <button class=\"btn-mode-range-date\" [class.active]=\"mode === 'select'\" (click)=\"toggle()\" type=\"button\">\r\n\r\n <i *ngIf=\"mode === 'select'\" class=\"far fa-calendar-alt\" title=\"Alterar para calendário\"></i>\r\n <i *ngIf=\"mode !== 'select'\" class=\"fas fa-calendar-week\" title=\"Selecionar período\"></i>\r\n\r\n <!-- <div *ngIf=\"mode === 'select'\">Exibir<br>Calendário</div> -->\r\n <!-- <div *ngIf=\"mode !== 'select'\">Exibir<br>Período</div> -->\r\n </button>\r\n </td>\r\n\r\n </tr>\r\n</table>","import { DatePipe } from '@angular/common';\r\nimport { Component, Input, OnChanges, OnInit, Output, SimpleChanges, EventEmitter, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { TCCondition, TCDataFilters, TCFiltersType } from './tcloud-ui-filters';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-filters',\r\n templateUrl: './tcloud-ui-filters.component.html',\r\n styleUrls: ['./tcloud-ui-filters.component.scss']\r\n})\r\nexport class TCloudUiFiltersComponent implements OnInit, OnChanges {\r\n\r\n datepickers = [] as any;\r\n\r\n @ViewChild('_formulario') _formulario: NgForm | undefined;\r\n\r\n inputs: string[] = [];\r\n\r\n show_filters: boolean = false;\r\n\r\n search_data: any | undefined;\r\n\r\n @Input() border: boolean = true;\r\n\r\n private _data: any | undefined;\r\n @Input() set data(data: any){\r\n // this._data = JSON.parse(JSON.stringify(data));\r\n }\r\n get data(): any{ return this._data; }\r\n\r\n private _filters: TCDataFilters | undefined;\r\n @Input() set filters(filters: any){\r\n //this._filters = filters;\r\n }\r\n get filters(): any{ return this._filters; }\r\n\r\n private _submitText: string = 'Filtrar';\r\n @Input() set submitText(v: string){ \r\n if( v && v !== this._submitText ){\r\n this._submitText = v;\r\n }\r\n }\r\n get submitText():string{ return this._submitText; }\r\n\r\n @Input() btnSubmitClass: string = 'tc-btn-primary';\r\n @Input() useOnChangeSubmit: boolean = true; // useOnChangeSubmit - Submit automatico quando for alterado quanquer input\r\n @Input() useButtonSubmit: boolean = false; // useButtonSubmit - Exibe um botão de submit e não executa a busca automaticamente\r\n @Input() useNormalizeCaseSensitive: boolean = true; // useNormalizeCaseSensitive - Não valida caixa alta ou baixa e caracteres especiais\r\n @Input() useRangeDate: boolean = true;\r\n @Input() useFilterAccept: boolean = false;\r\n\r\n @Output() result = new EventEmitter<any>();\r\n @Output() onFilter = new EventEmitter<any>();\r\n @Output() onChange = new EventEmitter<any>();\r\n @Output() onSubmit = new EventEmitter<any>();\r\n\r\n descriptionStart: string = '';\r\n descriptionStop: string = '';\r\n\r\n private first_active_filter: boolean = false;\r\n\r\n start_stop: boolean = false;\r\n start_stop_width: number = 0;\r\n start_stop_und: string = ''; // px ou %\r\n\r\n constructor(\r\n private datepipe: DatePipe\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n setTimeout(() => {\r\n if( this.filters && (this.filters).length > 0 ){\r\n for(let i = 0; i < (this.filters).length; i++){\r\n if( this.filters[i].value ){\r\n if( this.filters[i].type === 'datetime-local' ){\r\n try {\r\n this.filters[i].searchText = new Date( `${this.filters[i].value}` );\r\n } catch (error) {}\r\n }else{\r\n this.filters[i].searchText = this.filters[i].value;\r\n }\r\n this.first_active_filter = true;\r\n }\r\n } \r\n }\r\n this.start_stop = (this.useRangeDate) ? this.is_start_stop_datetime() : false;\r\n this.toSubmit();\r\n });\r\n }\r\n\r\n is_start_stop_datetime(){\r\n let start = false;\r\n let stop = false;\r\n if( this.filters && (this.filters).length > 0 ){\r\n this.start_stop_width = 0;\r\n for(let i = 0; i < (this.filters).length; i++){\r\n if( this.filters[i].id === 'start' ){\r\n start = true;\r\n this.start_stop_width += this.getValueWidth(this.filters[i].width);\r\n this.start_stop_und = this.getUnidade(this.filters[i].width);\r\n this.descriptionStart = this.filters[i].description;\r\n }\r\n if( this.filters[i].id === 'stop' ){\r\n stop = true;\r\n this.start_stop_width += this.getValueWidth(this.filters[i].width);\r\n this.descriptionStop = this.filters[i].description;\r\n }\r\n }\r\n }\r\n return ( start && stop ) ? true : false;\r\n }\r\n\r\n getValueWidth(v: string):number {\r\n let und = this.getUnidade(v);\r\n v = (v).replace(und, '');\r\n return +(v);\r\n }\r\n\r\n getUnidade(v: string):string {\r\n let und = '%';\r\n if( v && (v).includes('px') ){\r\n und = 'px';\r\n }\r\n return und;\r\n }\r\n \r\n\r\n ngOnChanges(changes: SimpleChanges) { \r\n \r\n if( changes && changes['data'] ){\r\n const data = changes['data'].currentValue;\r\n if( this._data !== data ){\r\n this._data = JSON.parse(JSON.stringify(data));\r\n this.search_data = JSON.parse(JSON.stringify(data));\r\n this.init();\r\n }\r\n }\r\n\r\n if( changes && changes['filters'] ){\r\n const filters = changes['filters'].currentValue;\r\n if( this._filters !== filters ){\r\n this._filters = JSON.parse(JSON.stringify(filters));\r\n this.init();\r\n }\r\n }\r\n }\r\n\r\n private init(){\r\n if( this.data && this.filters ){\r\n this.show_filters = true;\r\n if( this.filters && (this.filters).length > 0 ){\r\n (this.filters).forEach((filter: TCDataFilters) => { \r\n this.searchIn(filter, 'sync');\r\n });\r\n } \r\n if( !this.useOnChangeSubmit ){\r\n this.result_accept(this.data);\r\n }\r\n\r\n if( this.useOnChangeSubmit || this.useButtonSubmit ){\r\n this.start_filter();\r\n }\r\n }\r\n }\r\n\r\n private normalize(text: any): string{\r\n if( this.useNormalizeCaseSensitive ){\r\n const v = ( ( (`${text}`).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\r\n return v;\r\n }\r\n return text;\r\n }\r\n\r\n toSubmit(){\r\n if( this.filters && (this.filters).length > 0 ){\r\n this.init();\r\n }\r\n this.emitSubmitFilters();\r\n }\r\n\r\n private emitSubmitFilters(){\r\n let filters = JSON.parse(JSON.stringify(this.filters));\r\n if( filters && (filters).length > 0 ){\r\n (filters).forEach((filter: TCDataFilters, i: number) => {\r\n\r\n if( filter.width ){ delete(filters[i].width); }\r\n if( filter.placeholder ){ delete(filters[i].placeholder); }\r\n if( filter.description ){ delete(filters[i].description); }\r\n\r\n if( (!filter.searchText || filter.searchText && filter.searchText === '') && filter.type !== \"boolean\" ){\r\n delete(filters[i]);\r\n }\r\n if( filter.type === \"boolean\" ){\r\n if( !filter.searchText ){\r\n filter.searchText = false;\r\n }\r\n }\r\n \r\n });\r\n } \r\n \r\n this.onSubmit.emit(this.filters);\r\n }\r\n\r\n\r\n private collectionFind(obj: any, path: any): any {\r\n const pathArray = path.split(\".\");\r\n let current = obj;\r\n for (let i = 0; i < pathArray.length; i++) {\r\n const key = pathArray[i];\r\n\r\n if (key.includes('[') && key.includes(']')) {\r\n const nextKeys = pathArray.slice(i + 1);\r\n const index = key.substring(key.indexOf('[') + 1, key.indexOf(']'));\r\n const arrayKey = key.substring(0, key.indexOf('['));\r\n if( current && current[arrayKey] && current[arrayKey][index] ){\r\n return this.collectionFind(current[arrayKey][index], nextKeys.join(\".\"));\r\n }\r\n }\r\n\r\n\r\n if (key.includes(\"[]\")) {\r\n const arrayKey = key.replace(\"[]\", \"\");\r\n current = current[arrayKey] || [];\r\n const nextKeys = pathArray.slice(i + 1);\r\n const results = [];\r\n for (let j = 0; j < current.length; j++) {\r\n let result = this.collectionFind(current[j], nextKeys.join(\".\"));\r\n if (result !== undefined) {\r\n results.push(result); \r\n }\r\n }\r\n if (results.length === 0) {\r\n return undefined;\r\n }\r\n return results;\r\n } else {\r\n if( !current || (current && !current[key]) ){\r\n return undefined;\r\n }\r\n current = current[key];\r\n if (current === undefined) {\r\n return undefined;\r\n }\r\n }\r\n }\r\n return current;\r\n }\r\n \r\n first: boolean = true;\r\n start_filter_fc: any = undefined;\r\n\r\n start_value: any | undefined;\r\n stop_value: any | undefined;\r\n\r\n searchInRange( range_date: any){\r\n \r\n if( this.filters && (this.filters).length > 0 ){\r\n\r\n let event = {} as any; \r\n event.datepickertime = true;\r\n\r\n for( let i = 0; i < (this.filters).length; i++ ){\r\n\r\n if( this.filters[i] && this.filters[i].id && this.filters[i].id === 'start' ){\r\n this.filters[i].value = range_date?.result?.start!;\r\n this.filters[i].searchText = range_date?.result?.start!;\r\n event.innerValue = this.start_value = range_date?.result?.start!;\r\n this.searchIn(this.filters[i], event);\r\n }\r\n\r\n if( this.filters[i] && this.filters[i].id && this.filters[i].id === 'stop' ){\r\n this.filters[i].value = range_date?.result?.stop!;\r\n this.filters[i].searchText = range_date?.result?.stop!;\r\n event.innerValue = this.stop_value = range_date?.result?.stop!;\r\n this.searchIn(this.filters[i], event);\r\n }\r\n }\r\n if( this.first || this.useOnChangeSubmit ){\r\n this.toSubmit();\r\n }\r\n \r\n }\r\n this.first = false;\r\n\r\n }\r\n\r\n convertDataToNumber(dataString: string): number {\r\n try {\r\n const [dia, mes, ano] = dataString.split('/');\r\n return +(`${ano}${mes}${dia}`);\r\n } catch (error) {}\r\n return 0;\r\n }\r\n\r\n searchIn(item: TCDataFilters, event?: any){\r\n\r\n \r\n\r\n this.start_filter_fc = undefined;\r\n\r\n let isValid = true;\r\n\r\n if( event === 'sync' && isValid ){\r\n isValid = false;\r\n this.onChange.emit(true);\r\n }\r\n\r\n if( typeof event === 'boolean' && isValid ){\r\n isValid = false;\r\n item.searchText = event;\r\n this.onChange.emit(true);\r\n }\r\n\r\n if( (event === undefined || event === null || event === '') && isValid ){\r\n isValid = false;\r\n item.searchText = '';\r\n this.onChange.emit(true);\r\n }\r\n\r\n if( event?.datepickertime && isValid ){\r\n isValid = false;\r\n item.searchText = event?.innerValue; \r\n this.onChange.emit(true);\r\n }\r\n\r\n if(event?.target?.value && isValid ){\r\n isValid = false;\r\n item.searchText = this.normalize(event.target.value);\r\n this.onChange.emit(true);\r\n }\r\n\r\n if(event?.target?.value === '' && isValid ){\r\n isValid = false;\r\n item.searchText = '';\r\n this.onChange.emit(true);\r\n }\r\n\r\n if( item.type === 'date-local' && item.value ){\r\n isValid = false;\r\n item.searchText = `${this.convertDataToNumber( item.value )}`;\r\n this.onChange.emit(true);\r\n }\r\n\r\n if( event && event.result && ( event.result.start || event.result.stop ) ){\r\n isValid = false;\r\n this.onChange.emit(true);\r\n }\r\n\r\n \r\n \r\n if( this.useOnChangeSubmit || this.first_active_filter ){ \r\n this.start_filter_fc = this.start_filter();\r\n this.first_active_filter = false;\r\n }\r\n\r\n if( !this.useButtonSubmit ){\r\n this.emitSubmitFilters();\r\n } \r\n }\r\n\r\n getDateUTC(dt: any){\r\n const ano = dt.getFullYear();\r\n const mes = dt.getMonth();\r\n const dia = dt.getDate();\r\n const horas = dt.getHours();\r\n const minutos = dt.getMinutes();\r\n const segundos = dt.getSeconds();\r\n return new Date(Date.UTC(ano, mes, dia, horas, minutos, segundos));\r\n }\r\n\r\n \r\n start_filter(){\r\n for( let i = 0; i < (this.data).length; i++ ){\r\n\r\n this.setDataIndex(i, true);\r\n\r\n for( let j = 0; j < (this.filters).length; j++ ){ \r\n const filter_item = this.filters[j]; \r\n\r\n if( filter_item.searchText && typeof (filter_item.searchText) === 'string' && filter_item.searchText !== '' && filter_item.type !== TCFiltersType.number && filter_item.type !== TCFiltersType.date ){\r\n \r\n filter_item.searchText = this.normalize(filter_item.searchText); \r\n let item_value = this.collectionFind(this.data[i], filter_item.searchIn);\r\n if( item_value ){\r\n item_value = this.normalize(item_value); \r\n\r\n if( typeof filter_item.notIn === 'boolean' && filter_item.notIn ){\r\n if( ( item_value === filter_item.searchText ) ){\r\n this.setDataIndex(i, false);\r\n }\r\n }else{\r\n\r\n if( filter_item.type === TCFiltersType.select ){\r\n // Exclusivo para select\r\n if( filter_item.data && (filter_item.data).length > 0 ){\r\n\r\n // uso do select com o notValues: string[]\r\n let current_option = [];\r\n for( let k = 0; k < (filter_item.data).length; k++ ){\r\n const k_item = filter_item.data[k];\r\n if( `${k_item?.value}` === `${filter_item.searchText}` ){\r\n current_option = k_item?.notValues!;\r\n break;\r\n }\r\n }\r\n if( current_option && (current_option).length > 0 ){\r\n for( let v = 0; v < (current_option).length; v++ ){\r\n const v_item = current_option[v]; \r\n if( ( item_value === v_item ) ){\r\n this.setDataIndex(i, false);\r\n }\r\n }\r\n }else{\r\n\r\n // uso normal do select\r\n if( !( item_value === filter_item.searchText ) ){\r\n this.setDataIndex(i, false);\r\n }\r\n } \r\n\r\n } \r\n\r\n \r\n }else{\r\n if( !( item_value.includes(filter_item.searchText) || item_value === filter_item.searchText ) ){\r\n this.setDataIndex(i, false);\r\n }\r\n }\r\n }\r\n\r\n }else{\r\n this.setDataIndex(i, false);\r\n }\r\n } \r\n \r\n\r\n if( filter_item.searchText && filter_item.searchText instanceof Date && !isNaN( filter_item.searchText.valueOf()) && filter_item.type === TCFiltersType.datetime ){\r\n \r\n let item_value: any = this.collectionFind(this.data[i], filter_item.searchIn);\r\n\r\n try { item_value = new Date(item_value); } catch (error) {}\r\n if( item_value && item_value instanceof Date && !isNaN( item_value.valueOf()) ){\r\n let is_accept = false;\r\n\r\n const dt_target = ( (filter_item.searchText).getTime() ).toString().substring(0, 10); /* + (3 * 60 * 60 * 1000); */\r\n const dt_current = ( (item_value).getTime() ).toString().substring(0, 10);\r\n if( filter_item.condition ){\r\n switch (filter_item.condition) {\r\n case TCCondition.gt: is_accept = ( Number(dt_target) > Number(dt_current) ); break;\r\n case TCCondition.lt: is_accept = ( Number(dt_target) < Number(dt_current) ); break;\r\n case TCCondition.gte: is_accept = ( Number(dt_target) <= Number(dt_current) ); break;\r\n case TCCondition.lte: is_accept = ( Number(dt_target) >= Number(dt_current) ); break;\r\n case TCCondition.equal: is_accept = ( Number(dt_target) === Number(dt_current) ); break;\r\n case TCCondition.notEqual: is_accept = ( Number(dt_target) != Number(dt_current) ); break;\r\n default: is_accept = ( Number(dt_target) == Number(dt_current) );\r\n }\r\n }else{\r\n is_accept = ( Number(filter_item.searchText) === Number(item_value) );\r\n }\r\n if( !is_accept ){\r\n this.setDataIndex(i, false);\r\n }\r\n }\r\n }\r\n\r\n \r\n\r\n if( filter_item.searchText && typeof Number(filter_item.searchText) === 'number' && ( filter_item.type === TCFiltersType.number || filter_item.type === TCFiltersType.date ) ){\r\n \r\n filter_item.searchText = Number(filter_item.searchText);\r\n let item_value = this.collectionFind(this.data[i], filter_item.searchIn);\r\n\r\n if( typeof Number(item_value) === 'number' ){ \r\n item_value = Number(item_value); \r\n let is_accept = false;\r\n if( filter_item.condition ){\r\n\r\n switch (filter_item.condition) {\r\n case TCCondition.gt: is_accept = ( Number(filter_item.searchText) > Number(item_value) ); break;\r\n case TCCondition.lt: is_accept = ( Number(filter_item.searchText) < Number(item_value) ); break;\r\n case TCCondition.gte: is_accept = ( Number(filter_item.searchText) <= Number(item_value) ); break;\r\n case TCCondition.lte: is_accept = ( Number(filter_item.searchText) >= Number(item_value) ); break;\r\n case TCCondition.equal: is_accept = ( Number(filter_item.searchText) === Number(item_value) ); break; \r\n case TCCondition.notEqual: is_accept = ( Number(filter_item.searchText) != Number(item_value) ); break;\r\n default: is_accept = ( Number(filter_item.searchText) == Number(item_value) );\r\n }\r\n }else{\r\n is_accept = ( Number(filter_item.searchText) === Number(item_value) );\r\n }\r\n if( !is_accept ){\r\n this.setDataIndex(i, false);\r\n }\r\n }\r\n }\r\n \r\n \r\n if( typeof (filter_item.searchText) === 'boolean' && filter_item.searchText === true ){\r\n\r\n let item_value: any = this.collectionFind(this.data[i], filter_item.searchIn);\r\n \r\n if( item_value && (item_value).length > 0 ){ \r\n let qtd_is_true = 0; \r\n for( let i = 0; i < ((item_value).length); i++ ){\r\n const item = item_value[i];\r\n if( item === filter_item.searchText ){\r\n qtd_is_true++;\r\n }\r\n }\r\n if( qtd_is_true === 0 ){\r\n this.setDataIndex(i, false);\r\n }\r\n }else{\r\n if( !( item_value === filter_item.searchText ) ){\r\n this.setDataIndex(i, false);\r\n }\r\n } \r\n }\r\n \r\n }\r\n\r\n } // end for\r\n \r\n this.toResult();\r\n \r\n }\r\n\r\n private toResult(){\r\n\r\n\r\n const search_data = [];\r\n\r\n let is_filter = false;\r\n for( let i = 0; i < (this.filters).length; i++ ){\r\n if( this.filters[i].searchText && this.filters[i].searchText !== '' ){\r\n is_filter = true; break;\r\n }\r\n }\r\n\r\n if( is_filter ){\r\n for( let i = 0; i < (this.data).length; i++ ){\r\n if( this.data && this.data[i] && this.data[i]['tc_filter_accept'] ){\r\n (search_data).push(this.data[i]);\r\n }\r\n }\r\n\r\n this.result_accept(search_data);\r\n this.onFilter.emit({...this.filters});\r\n return;\r\n }\r\n\r\n this.result_accept(this.data);\r\n this.onFilter.emit({...this.filters});\r\n }\r\n\r\n setDataIndex(index: number, value: boolean ){\r\n if( this.data && this.data[index] ){\r\n this.data[index]['tc_filter_accept'] = value;\r\n }\r\n }\r\n\r\n result_accept(data: any){\r\n if( !this.useFilterAccept && data && (data).length > 0 ){\r\n for( let i = 0; i < (data).length; i++ ){\r\n delete data[i]['tc_filter_accept'];\r\n }\r\n }\r\n this.result.emit(data);\r\n }\r\n\r\n}\r\n","<div *ngIf=\"show_filters\" class=\"tcloud-ui-filters area-filter\" [class.no-border]=\"!border\">\r\n <ng-container *ngFor=\"let item of filters; let i = index\">\r\n\r\n <ng-container *ngIf=\"!item.type || (item.type && item.type !== 'boolean')\">\r\n\r\n <ng-container *ngIf=\"item.type === 'date-local'\">\r\n\r\n <div class=\"box-filter-input type-{{item.type}} box-type-{{item.type}}\" [style]=\"(item.width !== '') ? 'width:'+item.width : ''\">\r\n <div class=\"m-description tc-title-ellipsis box-type-{{item.type}}\" title=\"{{ item.description }}\"><i [class.to-active]=\"(item.value !== undefined && item.value !== null && item.value !== '')\" class=\"fas fa-filter icon-filter\"></i> {{ item.description }}</div>\r\n <div class=\"box-type-{{item.type}}\">\r\n <tcloud-ui-datepicker \r\n #_input\r\n name=\"input_{{i+1}}\"\r\n [modeInput]=\"true\"\r\n [(ngModel)]=\"item.value\"\r\n (ngModelChange)=\"searchIn(item, _input)\">\r\n </tcloud-ui-datepicker>\r\n <button class=\"btn-clear-filter-text\" [class.to-hide]=\"!(item.value !== undefined && item.value !== null && item.value !== '')\" (click)=\"searchIn(item, null); item.searchText = undefined; item.value = ''\">\r\n <i class=\"fas fa-times\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n \r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"item.type !== 'date-local'\">\r\n <ng-container *ngIf=\"item.type === 'datetime-local'\">\r\n\r\n <ng-container *ngIf=\"(item.id === 'start' || item.id === 'stop') && useRangeDate\">\r\n <!-- PERIOD RANGE DATE -->\r\n <ng-container *ngIf=\"item.id === 'start'\">\r\n <div class=\"box-filter-input type-{{item.type}} box-type-{{item.type}}\" [style]=\"(item.width !== '') ? 'width:'+start_stop_width+''+start_stop_und : ''\">\r\n <div class=\"m-description tc-title-ellipsis box-type-{{item.type}}\" title=\"{{ item.description }}\"><i [class.to-active]=\"(_range_date && _range_date.result && _range_date.result.start && _range_date.result.stop )\" class=\"fas fa-filter icon-filter\"></i> </div>\r\n <range-date \r\n #_range_date ngModel name=\"input_{{i+1}}\" \r\n [defaultValuePeriodStartStop]=\"item.defaultValuePeriodStartStop\"\r\n [descriptionStart]=\"descriptionStart\"\r\n [descriptionStop]=\"descriptionStop\"\r\n required \r\n (onChange)=\"searchInRange(_range_date); searchIn(item, _range_date)\">\r\n </range-date>\r\n </div>\r\n </ng-container> \r\n <input *ngIf=\"item.id === 'start'\" #_input name=\"input_{{i+1}}\" type=\"hidden\" [(ngModel)]=\"start_value\"> \r\n <input *ngIf=\"item.id === 'stop'\" #_input name=\"input_{{i+1}}\" type=\"hidden\" [(ngModel)]=\"stop_value\"> \r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!item.id || !useRangeDate\">\r\n\r\n <div class=\"box-filter-input type-{{item.type}} box-type-{{item.type}}\" [style]=\"(item.width !== '') ? 'width:'+item.width : ''\">\r\n <div class=\"m-description tc-title-ellipsis box-type-{{item.type}}\" title=\"{{ item.description }}\"><i [class.to-active]=\"(item.value !== undefined && item.value !== null && item.value !== '')\" class=\"fas fa-filter icon-filter\"></i> {{ item.description }}</div>\r\n <div class=\"box-type-{{item.type}}\">\r\n <tcloud-ui-datepicker-time \r\n #_input \r\n [(ngModel)]=\"item.value\" \r\n name=\"input_{{i+1}}\" \r\n [useOptionsDateTime]=\"(item && item.useOptionsDateTime) ? true : false\"\r\n (eventChange)=\"searchIn(item, _input)\" >\r\n </tcloud-ui-datepicker-time>\r\n <button class=\"btn-clear-filter-text\" [class.to-hide]=\"!(item.value !== undefined && item.value !== null && item.value !== '')\" (click)=\"searchIn(item, null); item.searchText = undefined; item.value = ''\">\r\n <i class=\"fas fa-times\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n </ng-container>\r\n\r\n </ng-container>\r\n </ng-container>\r\n \r\n <ng-container *ngIf=\"item.type !== 'select' && item.type !== 'datetime-local' && item.type !== 'date-local'\">\r\n <div class=\"box-filter-input type-{{item.type}} box-type-{{item.type}}\" [style]=\"(item.width !== '') ? 'width:'+item.width : ''\">\r\n\r\n <div class=\"m-description tc-title-ellipsis box-type-{{item.type}}\" title=\"{{ item.description }}\"><i [class.to-active]=\"_input.value !== ''\" class=\"fas fa-filter icon-filter\"></i> {{ item.description }}</div>\r\n <div class=\"box-type-{{item.type}}\">\r\n <input \r\n #_input\r\n [(ngModel)]=\"item.value\"\r\n placeholder=\"{{ (item.placeholder !== '') ? item.placeholder : '' }}\"\r\n name=\"input_{{i+1}}\" \r\n type=\"{{ (item.type === 'number') ? 'text' : item.type }}\" \r\n class=\"tc-form-control\" \r\n (keyup)=\"searchIn(item, $event)\"> \r\n <button class=\"btn-clear-filter-text\" [class.to-hide]=\"_input.value === ''\" (click)=\"searchIn(item, null); _input.value = ''\">\r\n <i class=\"fas fa-times\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"item.type === 'select' && item.data && (item.data).length > 0\" >\r\n <div class=\"box-filter-input type-{{item.type}} box-type-{{item.type}}\" [style]=\"(item.width !== '') ? 'width:'+item.width : ''\">\r\n\r\n <div class=\"m-description tc-title-ellipsis box-type-{{item.type}}\" title=\"{{ item.description }}\"><i [class.to-active]=\"_input.value !== ''\" class=\"fas fa-filter icon-filter\"></i> {{ item.description }}</div>\r\n <div class=\"box-type-{{item.type}}\">\r\n <select \r\n #_input\r\n [(ngModel)]=\"item.value\"\r\n name=\"input_{{i+1}}\" \r\n class=\"tc-form-control\" \r\n (change)=\"searchIn(item, $event)\">\r\n <option [ngValue]=\"\"></option>\r\n <ng-container *ngFor=\"let v of item.data\">\r\n <option [value]=\"v.value\">{{ v.description }}</option>\r\n </ng-container>\r\n </select>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n\r\n <ng-container *ngIf=\"item.type && item.type === 'boolean'\">\r\n \r\n <div class=\"box-filter-input\" [style]=\"(item.width !== '') ? 'width:'+item.width : ''\">\r\n <div class=\"m-description tc-title-ellipsis\" title=\"{{ item.description }}\" title=\"{{ item.description }}\"><i [class.to-active]=\"_input.checked === true\" class=\"fas fa-filter icon-filter\"></i> {{ item.description }}</div>\r\n <div class=\"area-input-checkbox\">\r\n <div class=\"tc-form-control\">\r\n <label>\r\n {{ item.placeholder }}\r\n <input \r\n #_input\r\n placeholder=\"{{ (item.placeholder !== '') ? item.placeholder : '' }}\"\r\n name=\"input_{{i+1}}\" \r\n type=\"checkbox\" \r\n (change)=\"searchIn(item, _input.checked)\"> \r\n </label>\r\n </div> \r\n </div>\r\n </div>\r\n\r\n </ng-container>\r\n\r\n\r\n </ng-container>\r\n\r\n <div class=\"text-right mb-1 mr-1\" *ngIf=\"useButtonSubmit\">\r\n <button type=\"button\" class=\"tc-btn {{ btnSubmitClass }}\" (click)=\"toSubmit()\" >{{ submitText }}</button>\r\n </div>\r\n\r\n</div>\r\n\r\n<!-- <pre>{{ inputs | json }}</pre> -->\r\n<!-- <pre> {{ data | json }} </pre> -->\r\n\r\n<!-- <p>FILTERS</p><pre> {{ filters | json }}</pre> -->\r\n\r\n<!--\r\n <pre>start_stop: {{ start_stop }}</pre>\r\n <pre>start_stop_width: {{ start_stop_width }}</pre>\r\n <pre>start_stop_und: {{ start_stop_und }}</pre>\r\n-->","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TCloudUiDatepickerComponent } from './tcloud-ui-datepicker.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiDatepickerComponent\r\n ],\r\n exports: [\r\n TCloudUiDatepickerComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiDatepickerModule { }\r\n","import { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiDatepickerTimeComponent } from './tcloud-ui-datepicker-time.component';\r\nimport { TCloudUiDatepickerModule } from './../tcloud-ui-datepicker/tcloud-ui-datepicker.module';\r\nimport { TCloudUiDataListModule } from '../tcloud-ui-data-list/tcloud-ui-data-list.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiDatepickerTimeComponent\r\n ],\r\n exports: [\r\n TCloudUiDatepickerTimeComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n TCloudUiDatepickerModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n TCloudUiDataListModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiDatepickerTimeModule { }\r\n","import { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiFiltersComponent } from './tcloud-ui-filters.component';\r\nimport { TCloudUiDatepickerTimeModule } from '../tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module';\r\nimport { TCloudUiRangeDateComponent } from './components/range-date/range-date.component';\r\nimport { TCloudUiDatepickerModule } from '../tcloud-ui-datepicker/tcloud-ui-datepicker.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiFiltersComponent,\r\n TCloudUiRangeDateComponent\r\n ],\r\n exports: [\r\n TCloudUiFiltersComponent,\r\n TCloudUiRangeDateComponent \r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n TCloudUiDatepickerTimeModule,\r\n TCloudUiDatepickerModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiFiltersModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class TCloudUiAccordionService {\r\n\r\n private disabled: boolean | undefined;\r\n private loading: boolean | undefined;\r\n private show: boolean | undefined;\r\n\r\n private _stateToggle = new Subject<boolean>();\r\n public stateToggle$ = this._stateToggle.asObservable();\r\n\r\n private _stateLoading = new Subject<boolean>();\r\n public stateLoading$ = this._stateLoading.asObservable();\r\n\r\n private _stateDisabled = new Subject<boolean>();\r\n public stateDisabled$ = this._stateDisabled.asObservable();\r\n\r\n\r\n toggle(action: boolean): void{\r\n this._stateToggle.next( action );\r\n }\r\n\r\n getLoading(){\r\n return this.loading;\r\n }\r\n\r\n setLoading(loading: boolean){\r\n this.loading = loading;\r\n this._stateLoading.next(loading);\r\n }\r\n\r\n getShow(){\r\n return this.show;\r\n }\r\n\r\n setDisabled(disabled: boolean): void{\r\n this._stateDisabled.next( disabled );\r\n }\r\n\r\n getDisabled(){\r\n return this.disabled;\r\n }\r\n\r\n}","import { Subscription } from 'rxjs';\nimport { Component, EventEmitter, Input, OnInit, Output, OnDestroy } from '@angular/core';\nimport { TCloudUiAccordionService } from './services/tcloud-ui-accordion.service';\n\n@Component({\n selector: 'tcloud-ui-accordion',\n templateUrl: './tcloud-ui-accordion.component.html',\n styleUrls: ['./tcloud-ui-accordion.component.css'],\n providers: [\n TCloudUiAccordionService\n ],\n})\nexport class TCloudUiAccordionComponent implements OnInit, OnDestroy {\n\n subscription_01: Subscription | undefined;\n subscription_02: Subscription | undefined;\n \n private _disabled: boolean = false;\n @Input() set disabled(v: boolean){ \n this._disabled = v;\n if( this._disabled ){ \n setTimeout(() => { \n this._tCloudUiAccordionService.setDisabled(this._disabled);\n this._tCloudUiAccordionService.toggle(false); \n });\n }\n }\n get disabled(){ return this._disabled; }\n\n\n private _show: boolean = false;\n @Input() set show(v: boolean){ \n if( this._show !== v ){\n this._show = v;\n if( !this.disabled ){\n setTimeout(() => { this._tCloudUiAccordionService.toggle(this._show); }); \n } \n }\n }\n\n get show(){ return this._show; }\n\n\n @Output() onAction = new EventEmitter<'open'|'close'>();\n\n private _loading: boolean = false;\n /**\n * loading - boolean - Coloca o modal em modo de carregamento - default false\n */\n @Input() set loading(loading: boolean){ \n this._loading = loading;\n this._tCloudUiAccordionService.setLoading(loading);\n }\n get loading(): boolean { return this._loading; }\n\n constructor(\n private _tCloudUiAccordionService: TCloudUiAccordionService\n ) { }\n\n ngOnInit(): void {\n\n this.subscription_01 = this._tCloudUiAccordionService.stateLoading$.subscribe((loading: boolean) => {\n this.loading = loading; \n });\n \n this.subscription_02 = this._tCloudUiAccordionService.stateToggle$.subscribe((show: boolean) => {\n this.onAction.emit( (show === true) ? 'open' : 'close' );\n })\n\n }\n\n ngOnDestroy(): void {\n if( this.subscription_01 ){ this.subscription_01.unsubscribe(); }\n if( this.subscription_02 ){ this.subscription_02.unsubscribe(); }\n }\n\n}\n","<div class=\"tcloud-ui-accordion tc-accordion\" [class.tc-accordion-disabled]=\"disabled\">\r\n <ng-content></ng-content>\r\n</div>","import { Component, OnInit, Output, EventEmitter, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { TCloudUiAccordionService } from '../../services/tcloud-ui-accordion.service';\n\n@Component({\n selector: 'tcloud-ui-accordion-title',\n templateUrl: './tcloud-ui-accordion-title.component.html',\n styleUrls: ['./tcloud-ui-accordion-title.component.css']\n})\nexport class TCloudUiAccordionTitleComponent implements OnInit, OnDestroy {\n\n subscription_01: Subscription | undefined;\n subscription_02: Subscription | undefined;\n subscription_03: Subscription | undefined;\n\n show: boolean = false;\n loading: boolean = false;\n disabled: boolean = false;\n \n\n constructor(\n private _tCloudUiAccordionService: TCloudUiAccordionService\n ) { }\n\n ngOnInit(): void {\n\n this.loading = this._tCloudUiAccordionService.getLoading() || false;\n this.subscription_01 = this._tCloudUiAccordionService.stateLoading$.subscribe((loading: boolean) => {\n this.loading = loading;\n });\n\n this.show = this._tCloudUiAccordionService.getShow() || false;\n this.subscription_02 = this._tCloudUiAccordionService.stateToggle$.subscribe((show: boolean) => {\n this.show = show;\n });\n\n this.disabled = this._tCloudUiAccordionService.getDisabled() || false;\n this.subscription_03 = this._tCloudUiAccordionService.stateDisabled$.subscribe((disabled: boolean) => {\n this.disabled = disabled;\n });\n\n }\n\n toggle(){\n if( this.disabled ){ return; }\n\n this.show = !this.show;\n this._tCloudUiAccordionService.toggle(this.show); \n \n }\n\n toggle_title(){\n this.toggle();\n }\n\n ngOnDestroy(): void {\n if( this.subscription_01 ){ this.subscription_01.unsubscribe(); }\n if( this.subscription_02 ){ this.subscription_02.unsubscribe(); }\n if( this.subscription_03 ){ this.subscription_03.unsubscribe(); }\n }\n\n}\n","<div class=\"tcloud-ui-accordion-title tc-accordion-title\">\r\n <table class=\"tc-accordion-table\">\r\n <tr>\r\n <td class=\"area-title\" (click)=\"toggle_title()\" >\r\n <ng-content></ng-content>\r\n </td>\r\n <td class=\"tc-accordion-actions\">\r\n <button type=\"button\" class=\"tc-btn-accordion-toggle\" [disabled]=\"disabled\" (click)=\"toggle()\" >\r\n\r\n <i class=\"fas fa-chevron-right icon-toggle\" *ngIf=\"!show\"></i>\r\n <i class=\"fas fa-chevron-down icon-toggle\" *ngIf=\"show\"></i>\r\n\r\n </button>\r\n </td>\r\n </tr>\r\n </table>\r\n</div>","import { Component, OnInit } from '@angular/core';\nimport { TCloudUiAccordionService } from '../../services/tcloud-ui-accordion.service';\nimport { trigger, state, style, animate, transition } from '@angular/animations';\n\n@Component({\n selector: 'tcloud-ui-accordion-body',\n templateUrl: './tcloud-ui-accordion-body.component.html',\n styleUrls: ['./tcloud-ui-accordion-body.component.scss'],\n animations: [\n trigger('expandAccordion', [\n state('close', style({ height: '0' })),\n state('open', style({ height: '*' })),\n transition('close <=> open', animate('0.35s ease-in-out')),\n ]),\n ],\n})\nexport class TCloudUiAccordionBodyComponent implements OnInit {\n\n show: boolean = false;\n \n constructor(\n private _tCloudUiAccordionService: TCloudUiAccordionService\n ) { }\n\n ngOnInit(): void {\n\n this.show = this._tCloudUiAccordionService.getShow() || false;\n this._tCloudUiAccordionService.stateToggle$.subscribe((show: boolean) => {\n this.show = show;\n })\n\n }\n\n}\n","<div class=\"tcloud-ui-accordion-body tc-accordion-content\" [class.show]=\"show\" [@expandAccordion]=\"(show) ? 'open' : 'close' \">\r\n <ng-content></ng-content>\r\n</div>","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiAccordionComponent } from './tcloud-ui-accordion.component';\r\nimport { TCloudUiAccordionTitleComponent } from './components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component';\r\nimport { TCloudUiAccordionBodyComponent } from './components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiAccordionComponent,\r\n TCloudUiAccordionTitleComponent,\r\n TCloudUiAccordionBodyComponent\r\n ],\r\n exports: [\r\n TCloudUiAccordionComponent,\r\n TCloudUiAccordionTitleComponent,\r\n TCloudUiAccordionBodyComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA ]\r\n})\r\nexport class TCloudUiAccordionModule { }\r\n","import { Directive, ElementRef, OnInit, Renderer2, Input} from '@angular/core';\r\n\r\n\r\n@Directive({\r\n selector: '[TCalign]'\r\n})\r\nexport class TCloudUiAlignDirective implements OnInit{\r\n\r\n private _direction: 'start' | 'center' | 'end' | 'justify' = 'start';\r\n\r\n @Input() set TCalign (direction: any){\r\n if (direction){\r\n this._direction = direction;\r\n this.setStyle(this.el.nativeElement);\r\n }\r\n }\r\n\r\n constructor(\r\n private el: ElementRef,\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n setStyle(el: any){\r\n if( this._direction === 'start' ){\r\n this.renderer.setStyle(el, 'text-align', 'left');\r\n }\r\n\r\n if( this._direction === 'center' ){\r\n this.renderer.setStyle(el, 'text-align', 'center');\r\n }\r\n\r\n if( this._direction === 'end' ){\r\n this.renderer.setStyle(el, 'text-align', 'right');\r\n }\r\n\r\n if( this._direction === 'justify' ){\r\n this.renderer.setStyle(el, 'text-align', 'justify');\r\n }\r\n }\r\n\r\n\r\n}","\r\nimport { Directive, Input, Renderer2, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[TCHoverParent]'\r\n})\r\nexport class TCloudUiHoverParentDirective {\r\n\r\n private CLASS: string | undefined;\r\n private ID: string | undefined;\r\n\r\n constructor(\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n @HostListener('mouseover') onMouseOver() {\r\n if( this.getElement() ){\r\n const el = <any> this.getElement();\r\n if( el ){\r\n this.renderer.addClass(el, (this.CLASS) ? this.CLASS : 'tcloud-hover-parent');\r\n }\r\n } \r\n }\r\n\r\n @HostListener('mouseout') onMouseOut() {\r\n if( this.getElement() ){\r\n const el = <any> this.getElement();\r\n if( el ){\r\n this.renderer.removeClass(el, (this.CLASS) ? this.CLASS : 'tcloud-hover-parent');\r\n }\r\n \r\n } \r\n }\r\n\r\n @Input() set TCHoverParent (id: string){\r\n if (id){ this.ID = id; }\r\n }\r\n\r\n @Input() set TCHoverParentClass (clss: any){\r\n if (clss){\r\n this.CLASS = clss;\r\n }\r\n }\r\n\r\n getElement(): HTMLElement | undefined{\r\n if( this.ID ){\r\n return document.getElementById(this.ID) || undefined;\r\n }\r\n return undefined;\r\n }\r\n\r\n}","import { Directive, ElementRef, Renderer2, Input, HostListener} from '@angular/core';\r\n\r\n\r\n@Directive({\r\n selector: '[TCtooltip]'\r\n})\r\nexport class TCloudUiTooltipDirective {\r\n\r\n remove: boolean = false;\r\n\r\n info_text: string = '';\r\n\r\n @HostListener('mouseover', ['$event']) onMouseOver(event: MouseEvent) {\r\n\r\n let hoverInCallback = () => {\r\n this.remove = false;\r\n }\r\n\r\n let hoverOutCallback = () => {\r\n this.remove = true; \r\n const customDivAll = <any> document.querySelectorAll('.tc-directive-tooltip');\r\n if(customDivAll && customDivAll.length > 0){\r\n customDivAll.forEach(( _customDiv: any) => {\r\n if( _customDiv ){ _customDiv.remove(); }\r\n });\r\n }\r\n }\r\n\r\n hoverOutCallback;\r\n\r\n setTimeout(() => {\r\n const scrollTop = window?.scrollY || window?.pageYOffset;\r\n const tooltip = this.renderer.createElement('div');\r\n const rect = this.el.nativeElement?.getBoundingClientRect();\r\n // const direction = this.el.nativeElement?.attributes['ng-reflect--t-cdirection']?.value || 'top';\r\n const direction = this._direction || 'top';\r\n const el_position_x = (rect?.left) ? parseInt(rect?.left) : 0;\r\n const el_position_y = (rect?.top ) ? parseInt(rect?.top + scrollTop) : 0;\r\n\r\n let width = 0;\r\n let height = 0;\r\n if( event && event.target ){\r\n const _event = event.target as any;\r\n height = _event.offsetHeight;\r\n width = _event.offsetWidth;\r\n }\r\n\r\n const top = `${(el_position_y - ((height/2) + 10) )}px`;\r\n const left = `${el_position_x + (width/2) }px`;\r\n this.renderer.setStyle(tooltip, 'top', '0px');\r\n this.renderer.setStyle(tooltip, 'left', '0px');\r\n this.renderer.setStyle(tooltip, 'opacity', '0');\r\n this.renderer.addClass(tooltip, 'tc-directive-tooltip');\r\n this.renderer.addClass(tooltip, `tc-directive-tooltip-${direction}`);\r\n const id = this.generateID();\r\n this.renderer.setAttribute(tooltip, 'id', id);\r\n const textNode = this.info_text;\r\n\r\n if( textNode !== undefined && textNode !== null && textNode !== '' ){\r\n\r\n tooltip.innerHTML = textNode;\r\n this.renderer.appendChild(document.body, tooltip); \r\n this.start_tooltip(id, height, width, el_position_x, el_position_y, direction);\r\n\r\n if (tooltip) {\r\n tooltip.addEventListener('mouseenter', hoverInCallback);\r\n tooltip.addEventListener('mouseleave', hoverOutCallback);\r\n }\r\n }\r\n\r\n });\r\n\r\n } \r\n\r\n @HostListener('mouseout', ['$event']) onMouseOut(event: MouseEvent) { \r\n this.remove = true;\r\n const customDivAll = <any> document.querySelectorAll('.tc-directive-tooltip');\r\n if(customDivAll && customDivAll.length > 0){\r\n setTimeout(() => {\r\n if( this.remove ){\r\n customDivAll.forEach(( _customDiv: any) => {\r\n if( _customDiv ){ _customDiv.remove(); }\r\n });\r\n }\r\n }, 25);\r\n }\r\n }\r\n\r\n\r\n @Input() set TCtooltip (tooltip: any){\r\n if (tooltip){\r\n if( typeof tooltip === 'object' ){\r\n }else{\r\n this.info_text = tooltip;\r\n } \r\n }\r\n }\r\n\r\n private _direction: 'top' | 'bottom' | 'left' | 'right' = 'top';\r\n @Input() set TCdirection (direction: any){\r\n if (direction){\r\n this._direction = direction;\r\n }\r\n }\r\n \r\n constructor(\r\n private el: ElementRef,\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n\r\n generateID(target?: string): string{\r\n const ref = (target) ? `-${target}` : '';\r\n return `tc-tooltip-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}${ref}`;\r\n }\r\n\r\n start_tooltip(id: string, height: number, width: number, el_position_x: number, el_position_y: number, direction: string){\r\n setTimeout(() => { \r\n const tooltip: any = document.getElementById(id);\r\n const tooltip_height = tooltip.clientHeight;\r\n const tooltip_width = tooltip.clientWidth;\r\n\r\n /*\r\n console.log('altura do target: ', height);\r\n console.log('largura do target: ', width);\r\n console.log('el_position_x do target: ', el_position_x);\r\n console.log('el_position_y do target: ', el_position_y);\r\n console.log('direction do tooltip: ', direction);\r\n */\r\n\r\n let p_y = 0;\r\n let p_x = 0;\r\n const center_position = (el_position_x + (width/2)) - (tooltip_width/2);\r\n\r\n if( direction === 'top' ){\r\n p_y = (el_position_y - tooltip_height) - 15;\r\n p_x = center_position;\r\n }\r\n\r\n if( direction === 'bottom' ){\r\n p_y = (el_position_y + height) + 15;\r\n p_x = center_position;\r\n }\r\n\r\n if( direction === 'left' ){\r\n p_y = el_position_y - (tooltip_height/2) + (height/2);\r\n p_x = center_position - tooltip_width/2 - width/2 - 15;\r\n }\r\n\r\n if( direction === 'right' ){\r\n p_y = el_position_y - (tooltip_height/2) + (height/2);\r\n p_x = center_position + tooltip_width/2 + width/2 + 15;\r\n }\r\n\r\n this.renderer.setStyle(tooltip, 'top', `${p_y}px`);\r\n this.renderer.setStyle(tooltip, 'left', `${p_x}px`);\r\n this.renderer.addClass(tooltip, 'tc-tooltip-fade-in');\r\n\r\n });\r\n }\r\n\r\n}","import { Directive, ElementRef, OnInit, Renderer2, Input} from '@angular/core';\r\n\r\n\r\n@Directive({\r\n selector: '[TCCopy]'\r\n})\r\nexport class TCloudUiElCopyDirective implements OnInit{\r\n\r\n private _isCopy: boolean = false;\r\n \r\n constructor(\r\n private el: ElementRef,\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.setItemFuncCopy();\r\n }\r\n\r\n setItemFuncCopy(){\r\n\r\n const btn_copy = this.renderer.createElement('i');\r\n\r\n var copyText = ()=>{ \r\n const elementWithCopyAttribute = document.querySelector(`[data-el-copy=\"${id}\"]`) as any;\r\n let copyText = ''\r\n if( elementWithCopyAttribute && elementWithCopyAttribute.tagName && (elementWithCopyAttribute.tagName).toUpperCase() === 'INPUT' ){\r\n copyText = elementWithCopyAttribute?.value!;\r\n }else{\r\n copyText = elementWithCopyAttribute?.textContent!;\r\n } \r\n navigator.clipboard.writeText(copyText);\r\n this.renderer.removeClass(btn_copy, 'fa-copy');\r\n this.renderer.addClass(btn_copy, 'fa-check');\r\n setTimeout(() => {\r\n this.renderer.removeClass(btn_copy, 'fa-check');\r\n this.renderer.addClass(btn_copy, 'fa-copy');\r\n }, 3000);\r\n \r\n }\r\n\r\n const id = this.generateID();\r\n this.renderer.setAttribute(this.el.nativeElement, 'data-el-copy', `${id}`);\r\n\r\n \r\n this.renderer.setStyle(btn_copy, 'cursor', 'pointer');\r\n this.renderer.setStyle(btn_copy, 'margin-left', '3px');\r\n this.renderer.addClass(btn_copy, 'fas');\r\n this.renderer.addClass(btn_copy, 'fa-copy');\r\n\r\n this.renderer.addClass(btn_copy, 'tcloud-ui-el-copy');\r\n this.renderer.setAttribute(btn_copy, 'id', id);\r\n this.renderer.setAttribute(btn_copy, 'title', 'Copy');\r\n this.renderer.listen(btn_copy, 'click', () => { copyText(); });\r\n\r\n if( ((this.el.nativeElement).tagName).toUpperCase() === 'INPUT' ){\r\n let classList = this.el.nativeElement?.classList!\r\n if( classList && (classList).length > 0 && ('tc-form-control').indexOf(classList) > -1 ){\r\n this.renderer.addClass(btn_copy, 'tcloud-ui-el-input-copy-tc-form-control');\r\n }else{\r\n this.renderer.addClass(btn_copy, 'tcloud-ui-el-input-copy');\r\n } \r\n this.renderer.appendChild(this.el.nativeElement.parentNode, btn_copy);\r\n }else{\r\n this.renderer.appendChild(this.el.nativeElement, btn_copy);\r\n }\r\n\r\n \r\n\r\n \r\n }\r\n\r\n generateID(target?: string): string{\r\n const ref = (target) ? `-${target}` : '';\r\n return `tc-el-copy-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}${ref}`;\r\n }\r\n\r\n}","import { Directive, ElementRef, HostListener, Renderer2 } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[TCcurrency]',\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: TCloudUiCurrencyDirective,\r\n multi: true\r\n }]\r\n})\r\nexport class TCloudUiCurrencyDirective implements ControlValueAccessor {\r\n\r\n constructor(private el: ElementRef, private renderer: Renderer2) {}\r\n\r\n onChange: any = () => {};\r\n onTouch: any = () => {};\r\n\r\n // ngAfterViewInit() {\r\n // setTimeout(() => {\r\n // let unmaskedValue = this.unmask( this.el.nativeElement.value );\r\n // console.log('Valor do input:', unmaskedValue);\r\n // this.onChange(Number(unmaskedValue));\r\n // this.writeValue(unmaskedValue);\r\n // }); \r\n // }\r\n\r\n writeValue(value: any): void {\r\n this.renderer.setProperty(this.el.nativeElement, 'type', 'text');\r\n this.renderer.setStyle(this.el.nativeElement, 'text-align', 'right');\r\n if (value !== undefined && value !== null) {\r\n this.renderer.setProperty(this.el.nativeElement, 'value', this.formatCurrency(value));\r\n } else {\r\n this.renderer.setProperty(this.el.nativeElement, 'value', '');\r\n }\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n @HostListener('focus')\r\n onFocus(): void {\r\n this.setCursorToEnd();\r\n }\r\n\r\n private setCursorToEnd(): void {\r\n const nativeInput = this.el.nativeElement as HTMLInputElement;\r\n const length = nativeInput.value.length;\r\n nativeInput.setSelectionRange(length, length);\r\n }\r\n\r\n private setInInput(){\r\n\r\n }\r\n\r\n @HostListener('input', ['$event.target.value'])\r\n onInput(value: string): void {\r\n const unmaskedValue = this.unmask(value);\r\n this.onChange(Number(unmaskedValue));\r\n this.writeValue(unmaskedValue);\r\n }\r\n\r\n private formatCurrency(value: any): string { \r\n \r\n const posicaoPonto = `${value}`.indexOf('.');\r\n if (posicaoPonto !== -1) {\r\n let part = `${value}`.split('.');\r\n let decimalPart = (part && part[1]) ? part[1] : '';\r\n if( (decimalPart).length < 2 ){\r\n value = value + '0';\r\n } \r\n }else{\r\n value = value + '.00';\r\n }\r\n\r\n return 'R$ '+ this.formatReal(value);\r\n }\r\n\r\n private unmask(value: string): any {\r\n if( value === undefined || value === null || value === \"\" ){\r\n return \"\";\r\n }\r\n value = value.replace(/[^\\d]/g, '');\r\n value = value.replace(/^0+/, '');\r\n if( value && value[0] ){\r\n if( (value[0] === ',' || value[0] === '.') ){\r\n value = '0'+value;\r\n } \r\n }\r\n value = this.toDecimal(value); \r\n return value;\r\n }\r\n\r\n private formatarNumero(numero: any): string {\r\n return numero.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, '.') as string;\r\n }\r\n\r\n private formatReal(value: any): string {\r\n var delimiter = ',';\r\n \r\n if( !value! ){ return `0${delimiter}00`; }\r\n if( value === `0${delimiter}00` ){ value = ''; }\r\n value = `${value}`;\r\n value = value.replace(/^0+/, '');\r\n const cleanValue = value.replace(/[^\\d]/g, '');\r\n if (cleanValue.length <= 2) { \r\n let _value = `${delimiter}${cleanValue.padStart(2, '0')}`;\r\n if( _value && _value[0] ){\r\n if( (_value[0] === ',' || _value[0] === '.') ){\r\n _value = '0'+_value;\r\n } \r\n }\r\n return _value;\r\n }\r\n\r\n let integerPart = cleanValue.slice(0, -2) || '0';\r\n const decimalPart = cleanValue.slice(-2).padStart(2, '0');\r\n if( (integerPart).length > 3 ){\r\n integerPart = this.formatarNumero(integerPart);\r\n }\r\n let _value = `${integerPart}${delimiter}${decimalPart}`;\r\n if( _value && _value[0] ){\r\n if( (_value[0] === ',' || _value[0] === '.') ){\r\n _value = '0'+_value;\r\n } \r\n }\r\n\r\n return _value;\r\n }\r\n\r\n private toDecimal(numero: any) { \r\n const numeroStr = numero.toString();\r\n let parteInteira = numeroStr.slice(0, -2) || '0';\r\n let parteDecimal = numeroStr.slice(-2);\r\n if(Number(parteDecimal) > 0 && Number(parteDecimal) < 10 ){\r\n parteDecimal = `0${Number(parteDecimal)}`;\r\n }\r\n let _value = `${parteInteira}.${parteDecimal}`; \r\n if( _value === ',' || _value === ',0' || _value === '0,' || _value === '0,0' || _value === '0,00' ){ return '0'; }\r\n if( _value === '.' || _value === '.0' || _value === '0.' || _value === '0.0' || _value === '0.00' ){ return '0'; }\r\n _value = _value.replace(/^0+/, '');\r\n if( _value && _value[0] ){\r\n if( (_value[0] === ',' || _value[0] === '.') ){\r\n _value = '0'+_value;\r\n } \r\n }\r\n \r\n return _value;\r\n }\r\n}\r\n","import { Inject, Injectable, Optional } from '@angular/core';\r\nimport { UserServiceInterface } from '../_interfaces/user.service.interface';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TCloudUiCheckAccessService {\r\n\r\n private userService = {} as UserServiceInterface;\r\n\r\n constructor(\r\n @Optional() @Inject('UserService') private _UserService: any\r\n ) {\r\n this.userService = this._UserService;\r\n }\r\n\r\n check(checkAccess: any){\r\n const temp_user = this.getImpersonalizeUserInfo();\r\n if( temp_user ){\r\n // Para uso com impersonalização - Visualização do T-Cloud por outro usuário\r\n return this.checkImpersonalizeMode(checkAccess, temp_user);\r\n } \r\n // Utilização para usuário logado\r\n return this.checkDefaultMode(checkAccess);\r\n }\r\n\r\n checkDefaultMode(checkAccess: any){\r\n let hasAccess = false;\r\n if ( Array.isArray(checkAccess[0]) ){\r\n if (checkAccess[1]){\r\n let features = checkAccess[1].ui_topology;\r\n if (features){\r\n checkAccess[0].forEach((rule:any) => {\r\n hasAccess = hasAccess || ( ( features.findIndex((feature: any) => feature === rule ) != -1 ) ? true : false );\r\n });\r\n }\r\n }\r\n }else{\r\n let features = this.userService?.getCurrentEnv()?.ui;\r\n console.log('features ui', features);\r\n checkAccess.forEach((rule:any) => {\r\n hasAccess = hasAccess || ( ( features && features.findIndex((feature: any) => feature === rule ) != -1 ) ? true : false );\r\n });\r\n }\r\n return hasAccess;\r\n }\r\n\r\n checkImpersonalizeMode(checkAccess: any, temp_user: any){\r\n let hasAccess = false;\r\n if ( Array.isArray(checkAccess[0]) ){\r\n if (checkAccess[1]){\r\n let features = checkAccess[1].ui_topology;\r\n if (features){\r\n checkAccess[0].forEach((rule:any) => {\r\n hasAccess = hasAccess || ( ( features.findIndex((feature: any) => feature === rule ) != -1 ) ? true : false );\r\n });\r\n }\r\n }\r\n }else{\r\n let features = temp_user.ui;\r\n checkAccess.forEach((rule:any) => {\r\n hasAccess = hasAccess || ( ( features && features.findIndex((feature: any) => feature === rule ) != -1 ) ? true : false );\r\n });\r\n }\r\n return hasAccess;\r\n }\r\n\r\n checkFeatureFlags(_feature: string | string[] | any): boolean{\r\n let enable = false;\r\n let isEnabled = [];\r\n\r\n // tcloud_features - features do componente tcloud\r\n let tcloud_features = [];\r\n if( _feature ){\r\n if( typeof _feature === 'string' ){\r\n (tcloud_features).push(_feature);\r\n }else if( _feature && (_feature).length > 0 ) {\r\n tcloud_features = _feature;\r\n }\r\n\r\n let feature_flags_topology = undefined;\r\n if ( Array.isArray(_feature[0]) ){\r\n if (_feature[1]){\r\n tcloud_features = _feature[0];\r\n if( _feature[1] && _feature[1].feature_flags_topology && (_feature[1]?.feature_flags_topology).length >= 0 ){\r\n feature_flags_topology = _feature[1].feature_flags_topology;\r\n }\r\n }\r\n } \r\n\r\n let feature_flags = [];\r\n if( feature_flags_topology && (feature_flags_topology).length >= 0 ){\r\n // feature_flags - obtendo de topology (infProduto) -> feature_flags_topology\r\n feature_flags = feature_flags_topology;\r\n }else{\r\n // feature_flags - obtendo de user info\r\n feature_flags = this.userService?.getCurrentEnv()?.feature_flags || [];\r\n }\r\n console.log('feature_flags', feature_flags);\r\n\r\n for( let i = 0; i < (tcloud_features).length; i++ ){\r\n const tcloud_feature = tcloud_features[i];\r\n if( tcloud_feature[0] === '!' ){\r\n let qtd_exist = 0;\r\n for( let j = 0; j < (feature_flags).length; j++ ){\r\n const feature_flag = feature_flags[j]; \r\n if( tcloud_feature === '!'+feature_flag ){\r\n (isEnabled).push(false); \r\n qtd_exist++;\r\n }\r\n }\r\n if( qtd_exist === 0 ){\r\n (isEnabled).push(true);\r\n } \r\n }else{\r\n let qtd_exist = 0;\r\n for( let j = 0; j < (feature_flags).length; j++ ){\r\n const feature_flag = feature_flags[j]; \r\n if( tcloud_feature === feature_flag ){\r\n (isEnabled).push(true); \r\n qtd_exist++;\r\n } \r\n }\r\n if( qtd_exist === 0 ){\r\n (isEnabled).push(false);\r\n }\r\n }\r\n }\r\n\r\n if( isEnabled && (isEnabled).length > 0 ){\r\n enable = true;\r\n for( let i = 0; i < (isEnabled).length; i++ ){\r\n if( isEnabled[i] === false ){\r\n enable = false; break;\r\n } \r\n }\r\n }\r\n }\r\n return enable; \r\n }\r\n\r\n\r\n\r\n /* */\r\n private getImpersonalizeUserInfo(){\r\n // return this.getLocalStorage();\r\n \r\n // remover do localstorage se não existir cCode ????\r\n const cCode = this.userService?.getCurrentEnv()?.currentCloudID?.cloud_id || '';\r\n if( cCode && cCode !== '' ){\r\n return this.getLocalStorage();\r\n }\r\n this.removeLocalStorage();\r\n return undefined; \r\n }\r\n\r\n private getLocalStorage(){\r\n let info: any = localStorage.getItem('temp_user_info');\r\n let user_info = {} as any;\r\n try {\r\n user_info = JSON.parse(info);\r\n } catch (error) {\r\n user_info = undefined; \r\n }\r\n return user_info;\r\n }\r\n \r\n private removeLocalStorage(){\r\n localStorage.removeItem('temp_user_info');\r\n }\r\n\r\n}","import { Directive, ElementRef, OnInit, Renderer2, Input} from '@angular/core';\r\nimport { TCloudUiCheckAccessService } from '../../_services/tcloud-ui-check-access.service';\r\n\r\n@Directive({\r\n selector: '[TCCheckAccess]'\r\n})\r\nexport class TCloudUiCheckAccessDirective implements OnInit{\r\n @Input() set TCCheckAccess (checkAccess: any){\r\n if (checkAccess){\r\n this.check(checkAccess);\r\n }\r\n };\r\n \r\n constructor(\r\n private el: ElementRef,\r\n private renderer: Renderer2,\r\n private checkAccessService: TCloudUiCheckAccessService\r\n ) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n check(checkAccess: any){\r\n let hasAccess = false;\r\n hasAccess = this.checkAccessService.check(checkAccess);\r\n\r\n let elemento = this.el.nativeElement;\r\n if (elemento){\r\n if (!hasAccess){\r\n this.setStyle(elemento);\r\n }else{\r\n this.normalStyle(elemento);\r\n }\r\n }else{\r\n // console.log(\"TCL: checkAccessDirective -> elemento\", this.el.nativeElement)\r\n }\r\n }\r\n\r\n setStyle(el: any){\r\n this.renderer.setStyle(el, 'background-color', 'rgb(255, 219, 94)');\r\n // this.renderer.setStyle(el, 'display', 'none');\r\n this.renderer.setAttribute(el, 'style', 'display:none !important');\r\n this.removeElement(el);\r\n }\r\n normalStyle(el: any){\r\n // this.renderer.setStyle(el, 'color', '');\r\n // this.renderer.setStyle(el, 'border', '1px solid darkorange');\r\n // this.renderer.setStyle(el, 'padding', '');\r\n this.renderer.setStyle(el, 'background-color', '');\r\n this.renderer.setStyle(el, 'display', '');\r\n // el.innerHTML = \"Sem acesso\";\r\n }\r\n\r\n removeElement(el: any) {\r\n if( el ){\r\n try {\r\n this.renderer.removeChild(el.parentNode, el);\r\n } catch (error) {} \r\n }\r\n }\r\n\r\n}","import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { TCloudUiCheckAccessService } from '../../_services/tcloud-ui-check-access.service';\r\n\r\n\r\n\r\n/*\r\n// Verificação checkAccess\r\n<ng-container *ngTCCheckAccess=\"[[features.backup], topologie?.infProduto]\" >\r\n Conteudo protegido\r\n</ng-container>\r\n\r\n// Verificação checkAccess com condição adicional\r\n<ng-container *ngTCCheckAccess=\"[[features.backup], topologie?.infProduto]; ngIf: topologie?.product == 'winthor'\" >\r\n Conteudo protegido\r\n</ng-container>\r\n*/\r\n\r\n@Directive({\r\n selector: '[ngTCCheckAccess]'\r\n})\r\nexport class TCloudUiNgCheckAccessDirective {\r\n\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainer: ViewContainerRef,\r\n private checkAccessService: TCloudUiCheckAccessService\r\n ) { }\r\n\r\n private isCondition: boolean = true;\r\n\r\n @Input() set ngTCCheckAccess(checkAccess: any | boolean) {\r\n const isCheckAccess = ( typeof checkAccess === 'boolean' ) ? checkAccess : this.checkAccessService.check(checkAccess);\r\n setTimeout(() => { this.check_view( isCheckAccess ); }); \r\n }\r\n\r\n @Input() set ngTCCheckAccessNgIf(check: boolean){ \r\n this.isCondition = check;\r\n }\r\n\r\n private check_view(isView: boolean){\r\n if ( isView && this.isCondition ) {\r\n this.viewContainer.createEmbeddedView(this.templateRef);\r\n } else {\r\n this.viewContainer.clear();\r\n }\r\n }\r\n\r\n}\r\n","import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { TCloudUiCheckAccessService } from '../../_services/tcloud-ui-check-access.service';\r\n\r\n/*\r\n <div *ngTCFeatureFlags=\"['pipeline_flow_pusher']\">\r\n\t\tTem pipeline_flow_pusher\r\n\t</div>\r\n*/\r\n\r\n@Directive({\r\n selector: '[ngTCFeatureFlags]'\r\n})\r\nexport class TCloudUiNgFeatureFlagsDirective {\r\n\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainer: ViewContainerRef,\r\n private checkAccessService: TCloudUiCheckAccessService\r\n ) { }\r\n\r\n private isCondition: boolean = true;\r\n\r\n @Input() set ngTCFeatureFlags(FeatureFlags: any | boolean) {\r\n const isFeatureFlags = ( typeof FeatureFlags === 'boolean' ) ? FeatureFlags : this.checkAccessService.checkFeatureFlags(FeatureFlags);\r\n setTimeout(() => { this.check_view( isFeatureFlags ); }); \r\n }\r\n\r\n \r\n\r\n @Input() set TCNgFeatureFlagsNgIf(check: boolean){ \r\n this.isCondition = check;\r\n }\r\n\r\n private check_view(isView: boolean){\r\n if ( isView && this.isCondition ) {\r\n this.viewContainer.createEmbeddedView(this.templateRef);\r\n } else {\r\n this.viewContainer.clear();\r\n }\r\n }\r\n\r\n}\r\n","import { Directive, ElementRef, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[TCDigitOnly]'\r\n})\r\nexport class TCloudUiDigitOnlyDirective {\r\n inputElement: HTMLElement;\r\n constructor(public el: ElementRef) {\r\n this.inputElement = el.nativeElement;\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(e: KeyboardEvent) {\r\n if (\r\n [46, 8, 9, 27, 13].indexOf(e.keyCode) !== -1 || // Allow: Delete, Backspace, Tab, Escape, Enter\r\n (e.keyCode === 65 && e.ctrlKey === true) || // Allow: Ctrl+A\r\n (e.keyCode === 67 && e.ctrlKey === true) || // Allow: Ctrl+C\r\n (e.keyCode === 86 && e.ctrlKey === true) || // Allow: Ctrl+V\r\n (e.keyCode === 88 && e.ctrlKey === true) || // Allow: Ctrl+X\r\n (e.keyCode === 65 && e.metaKey === true) || // Allow: Cmd+A (Mac)\r\n (e.keyCode === 67 && e.metaKey === true) || // Allow: Cmd+C (Mac)\r\n (e.keyCode === 86 && e.metaKey === true) || // Allow: Cmd+V (Mac)\r\n (e.keyCode === 88 && e.metaKey === true) || // Allow: Cmd+X (Mac)\r\n (e.keyCode >= 35 && e.keyCode <= 39) // Allow: Home, End, Left, Right\r\n ) {\r\n // let it happen, don't do anything\r\n return;\r\n }\r\n // Ensure that it is a number and stop the keypress\r\n if (\r\n (e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) &&\r\n (e.keyCode < 96 || e.keyCode > 105)\r\n ) {\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n @HostListener('paste', ['$event'])\r\n onPaste(event: ClipboardEvent) {\r\n event.preventDefault();\r\n if( event && event.clipboardData){\r\n const pastedInput: string = event.clipboardData\r\n .getData('text/plain')\r\n .replace(/\\D/g, ''); // get a digit-only string\r\n document?.execCommand('insertText', false, pastedInput);\r\n }\r\n }\r\n\r\n @HostListener('drop', ['$event'])\r\n onDrop(event: DragEvent) {\r\n event.preventDefault();\r\n if( event && event.dataTransfer){\r\n const textData = event.dataTransfer.getData('text').replace(/\\D/g, '');\r\n this.inputElement.focus();\r\n document?.execCommand('insertText', false, textData);\r\n }\r\n }\r\n}","import { Directive, ElementRef, Input, OnInit } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[TCHighlight]'\r\n})\r\nexport class TCloudUiHighLightDirective implements OnInit{\r\n\r\n @Input() TCHighlight: string | undefined;\r\n inputElement: HTMLElement;\r\n\r\n constructor(public el: ElementRef) {\r\n this.inputElement = el.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n let block = document.createElement('div');\r\n if (!this.TCHighlight){\r\n block.appendChild(document.createTextNode('PRECISA FINALIZAR IMPLEMENTAÇÃO!!'));\r\n }else{\r\n block.appendChild(document.createTextNode(this.TCHighlight));\r\n }\r\n\r\n if( block && block.style ){\r\n block.style.backgroundColor = '#F00';\r\n block.style.color = '#FFF';\r\n block.style.padding = '15px';\r\n block.style.textAlign = 'center';\r\n block.style.fontWeight = '600';\r\n }\r\n\r\n this.inputElement.insertBefore(block, this.inputElement.firstChild);\r\n }\r\n\r\n\r\n}","import { Directive, ElementRef, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[TCIpMask]'\r\n})\r\nexport class TCloudUiIpMaskDirective{\r\n constructor(public el: ElementRef) {\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(e: any) {\r\n // console.log(\"IpMaskDirective -> onKeyDown -> e.keyCode\", e.keyCode);\r\n if (\r\n [190, 108, 191, 110, 111].indexOf(e.keyCode) !== -1 || // Allow: ponto(.), ponto(.) Teclado numérico, barra(/) , barra(/) Teclado numérico\r\n [46, 8, 9, 27, 13].indexOf(e.keyCode) !== -1 || // Allow: Delete, Backspace, Tab, Escape, Enter\r\n (e.keyCode === 65 && e.ctrlKey === true) || // Allow: Ctrl+A\r\n (e.keyCode === 67 && e.ctrlKey === true) || // Allow: Ctrl+C\r\n (e.keyCode === 86 && e.ctrlKey === true) || // Allow: Ctrl+V\r\n (e.keyCode === 88 && e.ctrlKey === true) || // Allow: Ctrl+X\r\n (e.keyCode === 65 && e.metaKey === true) || // Allow: Cmd+A (Mac)\r\n (e.keyCode === 67 && e.metaKey === true) || // Allow: Cmd+C (Mac)\r\n (e.keyCode === 86 && e.metaKey === true) || // Allow: Cmd+V (Mac)\r\n (e.keyCode === 88 && e.metaKey === true) || // Allow: Cmd+X (Mac)\r\n (e.keyCode >= 35 && e.keyCode <= 39) // Allow: Home, End, Left, Right\r\n ) {\r\n // let it happen, don't do anything\r\n return;\r\n }\r\n\r\n // Ensure that it is a number and stop the keypress\r\n if (\r\n (e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) &&\r\n (e.keyCode < 96 || e.keyCode > 105)\r\n ) {\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n @HostListener('paste', ['$event'])\r\n onPaste(event: ClipboardEvent) {\r\n event.preventDefault();\r\n if( event && event.clipboardData ){\r\n const pastedInput: string = event.clipboardData\r\n .getData('text/plain')\r\n .replace(/\\D/g, ''); // get a digit-only string\r\n document?.execCommand('insertText', false, pastedInput);\r\n }\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { TCloudUiAlignDirective } from './align/align.directive';\r\nimport { TCloudUiHoverParentDirective } from './hover-parent/hover-parent.directive';\r\nimport { TCloudUiTooltipDirective } from './tooltip/tooltip.directive';\r\nimport { TCloudUiElCopyDirective } from './el-copy/el-copy.directive';\r\nimport { TCloudUiCurrencyDirective } from './currency/currency.directive';\r\nimport { TCloudUiCheckAccessDirective } from './tcloud-access/tcloud-ui-check-access.directive';\r\nimport { TCloudUiNgCheckAccessDirective } from './tcloud-access/tcloud-ui-ng-check-access.directive';\r\nimport { TCloudUiNgFeatureFlagsDirective } from './tcloud-access/tcloud-ui-ng-feature-flags.directive';\r\nimport { TCloudUiCheckAccessService } from '../_services/tcloud-ui-check-access.service';\r\nimport { TCloudUiDigitOnlyDirective } from './tcloud-ui-digit-only.directive';\r\nimport { TCloudUiHighLightDirective } from './tcloud-ui-highlight.diretive';\r\nimport { TCloudUiIpMaskDirective } from './tcloud-ui-ip-mask.directive';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiTooltipDirective,\r\n TCloudUiAlignDirective,\r\n TCloudUiHoverParentDirective,\r\n TCloudUiElCopyDirective,\r\n TCloudUiCurrencyDirective,\r\n TCloudUiCheckAccessDirective, \r\n TCloudUiNgCheckAccessDirective,\r\n TCloudUiNgFeatureFlagsDirective,\r\n TCloudUiDigitOnlyDirective,\r\n TCloudUiHighLightDirective,\r\n TCloudUiIpMaskDirective\r\n ],\r\n exports: [\r\n TCloudUiTooltipDirective,\r\n TCloudUiAlignDirective,\r\n TCloudUiHoverParentDirective,\r\n TCloudUiElCopyDirective,\r\n TCloudUiCurrencyDirective,\r\n TCloudUiCheckAccessDirective, \r\n TCloudUiNgCheckAccessDirective,\r\n TCloudUiNgFeatureFlagsDirective,\r\n TCloudUiDigitOnlyDirective,\r\n TCloudUiHighLightDirective,\r\n TCloudUiIpMaskDirective\r\n ],\r\n providers: [\r\n TCloudUiCheckAccessService\r\n ]\r\n})\r\nexport class TCloudUiDirectiveModule {}","import { NgModule } from '@angular/core';\r\nimport { CommonModule, DatePipe } from '@angular/common';\r\n\r\nimport { MonthNamePipe, StatusInfoPipe, RespectivePipe, CNPJPipe, BytesPipe, CPFPipe, DateBRPipe, ToTextPipe } from '../_pipes';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule, \r\n ],\r\n declarations: [\r\n\r\n MonthNamePipe,\r\n StatusInfoPipe,\r\n RespectivePipe,\r\n CNPJPipe,\r\n CPFPipe,\r\n BytesPipe,\r\n DateBRPipe,\r\n ToTextPipe\r\n ],\r\n exports: [ \r\n DatePipe,\r\n\r\n MonthNamePipe,\r\n StatusInfoPipe,\r\n RespectivePipe,\r\n CNPJPipe,\r\n CPFPipe,\r\n BytesPipe,\r\n DateBRPipe,\r\n ToTextPipe\r\n ],\r\n providers: [\r\n DatePipe,\r\n\r\n MonthNamePipe,\r\n StatusInfoPipe,\r\n RespectivePipe,\r\n CNPJPipe,\r\n CPFPipe,\r\n BytesPipe,\r\n DateBRPipe,\r\n ToTextPipe\r\n ]\r\n})\r\nexport class TCloudUiPipesModule { }\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TCloudUiLoadingTransitionsService {\r\n\r\n \r\n\r\n private ID: string = 'tcloud-ui-loading-transitions';\r\n\r\n constructor(\r\n ) {}\r\n\r\n /**\r\n * Inicia a tela de bloqueio para carregamento de tarefa\r\n */\r\n start(){\r\n this.create_loading_transition();\r\n if( document.getElementById(this.ID) ){\r\n const box = document.getElementById(this.ID);\r\n box?.classList.add('tcloud-ui-start-loading');\r\n }\r\n }\r\n\r\n /**\r\n * Encerra a tela de bloqueio\r\n */\r\n stop(){\r\n if( document.getElementById(this.ID) ){\r\n const box = document.getElementById(this.ID);\r\n box?.classList.remove('tcloud-ui-start-loading');\r\n\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.remove('tcloud-ui-body-loading-transitions');\r\n }\r\n }\r\n\r\n private create_loading_transition(){\r\n let box = null as any;\r\n if( document.getElementById(this.ID) ){\r\n box = document.getElementById(this.ID);\r\n }else{\r\n box = document.createElement(\"div\");\r\n box.setAttribute('id', this.ID);\r\n \r\n } \r\n\r\n box.style.display = 'none';\r\n box.innerHTML = `<div class=\"tc-loading-icon\"><i class=\"fas fa-spinner fa-spin\"></i></div>`;\r\n\r\n const body = document.getElementsByTagName('body')[0];\r\n body.appendChild(box);\r\n body.classList.add('tcloud-ui-body-loading-transitions');\r\n }\r\n\r\n\r\n\r\n}","import { Component, Input, OnDestroy, OnInit, forwardRef, ViewChild, ElementRef, Output, EventEmitter } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, NG_VALIDATORS, FormControl, Validator } from '@angular/forms';\r\n\r\nconst CUSTOM_INPUT_VALIDATORS: any = { \r\n provide: NG_VALIDATORS, \r\n useExisting: forwardRef(() => TCloudUiMultiplesValuesComponent),\r\n multi: true\r\n}\r\n\r\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiMultiplesValuesComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n@Component({\r\n selector: 'tcloud-ui-multiples-values',\r\n templateUrl: './tcloud-ui-multiples-values.component.html',\r\n styleUrls: ['./tcloud-ui-multiples-values.component.scss'],\r\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CUSTOM_INPUT_VALIDATORS]\r\n})\r\nexport class TCloudUiMultiplesValuesComponent implements OnInit, OnDestroy, Validator {\r\n\r\n viewport_width: number = 0;\r\n viewport_height: number = 0;\r\n box_height: number = 0;\r\n box_style: string = '';\r\n menu_on_top: string = '';\r\n search_text: string = '';\r\n\r\n id: string = '';\r\n show_itens: boolean = false;\r\n show_component: boolean = false;\r\n \r\n\r\n input_items: string = '';\r\n\r\n items = [] as string[];\r\n\r\n private _listItems: any | undefined;\r\n @Input() set listItems(v: any | undefined){\r\n if( v !== this._listItems ){\r\n this._listItems = v;\r\n }\r\n }\r\n get listItems():any | undefined { return this._listItems; }\r\n \r\n @Input() openValuesInChange: boolean = true;\r\n @Input() useBtnAdd: boolean = true;\r\n\r\n @Input() pattern: RegExp | any = null;\r\n @Input() delimiter: string = ',';\r\n @Input() placeholder: string = '';\r\n @Input() disabled: boolean = false;\r\n @Input() loading: boolean = false;\r\n @Input() required: string | undefined;\r\n @Input() search: boolean = true;\r\n @Input() uppercase: boolean = false;\r\n @Input() lowercase: boolean = false;\r\n\r\n @Input() maxWidthLabel: string | undefined;\r\n\r\n @Output() tcChange = new EventEmitter<any>();\r\n\r\n use_validation_required: boolean = false;\r\n\r\n placeholder_list: string = '';\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.id = this.generateID();\r\n setTimeout(() => { \r\n this.show_component = true;\r\n this.toResize();\r\n this.toClick();\r\n this.set_placeholder_list(); \r\n }); \r\n }\r\n\r\n check_is_valid(): boolean{\r\n if( this.items ){\r\n return ((this.items).length > 0) ? true : false;\r\n }\r\n return false;\r\n }\r\n\r\n generateID(): string{\r\n return `multiple-values-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\r\n }\r\n\r\n remove_duplicates(items: string[]): string[] {\r\n return [...new Set(items)];\r\n }\r\n\r\n \r\n add_items_by_data_list(e: any){\r\n this.input_items = e;\r\n this.add_items();\r\n }\r\n\r\n add_items(){\r\n\r\n if( this.disabled ){ return; }\r\n\r\n const input_items = this.input_items;\r\n\r\n this.input_items = '';\r\n \r\n let items = [];\r\n if( input_items && input_items !== '' ){\r\n\r\n items = <any> (input_items).split(this.delimiter);\r\n\r\n }\r\n\r\n if( (items).length === 0 ){\r\n if( input_items && input_items !== '' ){\r\n let txt = `${(input_items).trim()}`;\r\n items = [txt];\r\n }\r\n }\r\n\r\n //items = [...new Set(items)];\r\n\r\n for( let i = 0; i < (items).length; i++){\r\n let txt = `${(items[i]).trim()}`;\r\n\r\n if( this.uppercase ){\r\n if( txt && txt !== '' ){\r\n txt = (txt).toLocaleUpperCase();\r\n } \r\n }\r\n\r\n if( this.lowercase ){\r\n if( txt && txt !== '' ){\r\n txt = (txt).toLocaleLowerCase();\r\n }\r\n }\r\n\r\n if( txt && txt !== '' ){\r\n (this.items).push(txt);\r\n }\r\n \r\n }\r\n\r\n this.items = this.remove_duplicates(this.items);\r\n this.set_placeholder_list();\r\n }\r\n\r\n set_placeholder_list(){\r\n let placeholder_list = '';\r\n let delimiter = '';\r\n const items = this.items;\r\n if( items && (items).length > 0 ){\r\n for( let i = 0; i < (items).length; i++){\r\n placeholder_list += delimiter + `${(items[i]).trim()}`;\r\n delimiter = `${this.delimiter} `;\r\n }\r\n }\r\n this.placeholder_list = (placeholder_list !== '') ? placeholder_list : this.placeholder;\r\n this.onChangeTouched();\r\n this.onChangeCallback(this.items);\r\n this.onChange();\r\n }\r\n\r\n\r\n removeItem(item: any, index: number): void{\r\n if( this.disabled ){ return; }\r\n if( this.items ){\r\n for( let i = 0; i < (this.items).length; i++ ){\r\n const row = this.items[i];\r\n if( item === row && i === index ){\r\n (this.items).splice(index,1);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if( (this.items).length === 0 ){\r\n this.show_itens = false\r\n }\r\n\r\n this.set_placeholder_list();\r\n }\r\n\r\n remove_all(){\r\n if( this.disabled ){ return; }\r\n this.items = [];\r\n this.set_placeholder_list();\r\n }\r\n\r\n toClick(){\r\n const box = `area-${this.id}`;\r\n window.addEventListener('click',(e: any) => { \r\n\r\n if( this.show_itens ){ \r\n try {\r\n if( !(document.getElementById(box)?.contains(e.target)) ){ \r\n if( 'box-action' !== e.target.parentElement.className ){\r\n this.show_itens = false;\r\n } \r\n \r\n }\r\n } catch (error) {\r\n \r\n }\r\n \r\n }\r\n });\r\n\r\n const boxsub = `${this.id}-options`;\r\n }\r\n\r\n toResize(){\r\n window.addEventListener('resize', () => {\r\n this.viewport_width = window.innerWidth;\r\n this.viewport_height = window.innerHeight;\r\n this.resolve_position_dropdown(this.show_itens);\r\n });\r\n }\r\n\r\n toOpen(){\r\n if( this.items.length === 0 ){\r\n this.show_itens = false;\r\n return;\r\n }\r\n\r\n this.show_itens = !this.show_itens; \r\n this.resolve_position_dropdown(this.show_itens);\r\n }\r\n\r\n toClose(){\r\n this.show_itens = false;\r\n }\r\n\r\n resolve_position_dropdown(open: boolean){\r\n if( open ){\r\n this.box_style = '';\r\n this.menu_on_top = ''; \r\n const id = `${this.id}`; \r\n const box = `box-${this.id}`;\r\n if( this.viewport_height === 0 ){\r\n this.viewport_height = window.innerWidth;\r\n }\r\n const rect = document.getElementById(id)?.getBoundingClientRect();\r\n const box_position = rect?.bottom || 0; \r\n setTimeout(() => {\r\n this.box_height = document.getElementById(box)?.clientHeight || 0;\r\n if( ( this.viewport_height - box_position) < this.box_height ){\r\n this.menu_on_top = 'menu-on-top';\r\n this.box_style = `top: -${ (this.box_height) }px; height: ${this.box_height}px;`;\r\n }\r\n }); \r\n }\r\n }\r\n\r\n\r\n\r\n clearTextSearch(){\r\n this.search_text = '';\r\n this.toSearch('');\r\n }\r\n\r\n toSearch(e: any) {\r\n let input = (e && e.target && e.target.value) ? e.target.value : '';\r\n \r\n let filter = ( ( (input).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\r\n let ul = <any> document.getElementById(`${this.id}-options`);\r\n let li = ul.getElementsByTagName(\"label\");\r\n for (let i = 0; i < li.length; i++) {\r\n const a = li[i];\r\n const txtValue = ( ( ( a.textContent || a.innerText ).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\r\n if (txtValue.indexOf(filter) > -1) {\r\n li[i].style.display = \"\";\r\n } else {\r\n li[i].style.display = \"none\";\r\n }\r\n }\r\n }\r\n\r\n\r\n toEnterKey(input_items: string | string[] ){\r\n\r\n if( !input_items ){ return; }\r\n\r\n let valid = true;\r\n if( this.pattern ){\r\n valid = (this.pattern).test(this.input_items);\r\n\r\n }\r\n\r\n if( valid ){\r\n this.add_items();\r\n if( this.openValuesInChange ){\r\n this.toOpen();\r\n } \r\n }\r\n \r\n\r\n }\r\n\r\n checkIsDisabled(item: any){\r\n if( item?.disabled ){\r\n return true;\r\n }\r\n const value = `${item.value}`;\r\n if( (this.items).length > 0 ){\r\n for( let i = 0; i < (this.items).length; i++ ){\r\n if( `${this.items[i]}` === value ){\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n\r\n onChange(){\r\n this.tcChange.emit(this.items);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n onChangeTouched(){ \r\n this.onTouchedCallback(); \r\n }\r\n\r\n\r\n toSetDefault(v:any){\r\n this.items = v;\r\n this.add_items();\r\n }\r\n\r\n innerValue: any | undefined;\r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): any {\r\n return this.innerValue;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: any) {\r\n if (v !== this.innerValue) {\r\n this.innerValue = v; \r\n this.toSetDefault(v); \r\n this.onChangeCallback(v);\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.innerValue) {\r\n this.innerValue = value;\r\n this.toSetDefault(value);\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n\r\n\r\n public validate(c: FormControl): any {\r\n if( c && ( typeof this.required !== 'undefined' ) ){\r\n this.use_validation_required = true;\r\n return (this.check_is_valid()) ? null : 'required';\r\n }\r\n return null;\r\n }\r\n\r\n\r\n ngOnDestroy(): void {\r\n \r\n }\r\n\r\n}\r\n","<div *ngIf=\"show_component\" class=\"tcloud-ui-multiples-values tc-dropdown\" id=\"area-{{ id }}\" [class.tc-parent-validation]=\"use_validation_required\">\r\n\r\n\r\n <form #_formulario=\"ngForm\">\r\n\r\n <!-- {{ input_items }} -->\r\n\r\n <div class=\"dropdown-toggle\" id=\"{{id}}\" [attr.aria-haspopup]=\"'true'\" [attr.aria-expanded]=\"'false'\">\r\n\r\n <table style=\"width: 100%;\">\r\n <tr>\r\n <td>\r\n <table class=\"group-input-action\">\r\n <tr>\r\n <td class=\"box-input{{ (listItems && (listItems).length > 0) ? '-data-list' : '' }} bc-l\">\r\n <ng-container *ngIf=\"listItems && (listItems).length > 0\">\r\n <div class=\"input\" (click)=\"show_itens = false\">\r\n <tcloud-ui-data-list [placeholder]=\"placeholder_list\" [search]=\"search\" [border]=\"false\" [loading]=\"loading\" [disabled]=\"disabled\" name=\"items\" [(ngModel)]=\"input_items\" (onChange)=\"toEnterKey(input_items)\">\r\n <ng-container *ngFor=\"let item of listItems\"> \r\n <tcloud-ui-data-list-option [value]=\"'' + item.value\" [disabled]=\"checkIsDisabled(item)\">{{ item?.description }}</tcloud-ui-data-list-option>\r\n </ng-container>\r\n </tcloud-ui-data-list>\r\n </div>\r\n </ng-container>\r\n \r\n <ng-container *ngIf=\"!listItems || !(listItems && (listItems).length > 0)\">\r\n <div class=\"input\">\r\n <input \r\n required\r\n [pattern]=\"pattern\"\r\n (keydown.enter)=\"toEnterKey(input_items)\"\r\n [disabled]=\"disabled\"\r\n [class.text-lowercase]=\"lowercase\"\r\n [class.text-uppercase]=\"uppercase\" \r\n type=\"text\" name=\"items\" class=\"tc-form-control area-text\" [(ngModel)]=\"input_items\" [placeholder]=\"placeholder_list\" required [title]=\"placeholder_list\">\r\n \r\n </div>\r\n </ng-container>\r\n </td>\r\n <td class=\"count-list\" *ngIf=\"(items && items.length > 0)\">\r\n <div class=\"input\">\r\n <input type=\"text\" value=\"{{ items.length }} {{ (items.length > 1) ? 'registros' : 'registro' }}\" disabled readonly> \r\n </div>\r\n </td>\r\n <td class=\"count-list\" *ngIf=\"!items || (items && items.length === 0)\">\r\n <div class=\"input\"><input type=\"text\" class=\"info-no-value\" value=\"Vazio\" disabled readonly></div> \r\n </td>\r\n <td class=\"action-input-arrow bc-r\">\r\n <button (click)=\"toOpen()\" title=\"Lista de valores\" [disabled]=\"disabled\">\r\n <i class=\"fas fa-angle-up\" *ngIf=\"show_itens\"></i>\r\n <i class=\"fas fa-angle-down\" *ngIf=\"!show_itens\"></i>\r\n </button>\r\n </td>\r\n \r\n </tr>\r\n </table> \r\n </td>\r\n <td style=\"width: 45px;\" *ngIf=\"useBtnAdd\">\r\n <table>\r\n <tr>\r\n <td class=\"action-input\" *ngIf=\"!disabled\">\r\n <ng-container *ngIf=\"!listItems || !(listItems && (listItems).length > 0)\">\r\n <button [disabled]=\"!_formulario.valid\" class=\"tc-btn tc-btn-outline-primary\" (click)=\"add_items()\" title=\"Adicionar item\">\r\n <i class=\"fas fa-plus\"></i>\r\n </button>\r\n </ng-container>\r\n <ng-container *ngIf=\"listItems && (listItems).length > 0\">\r\n <button [disabled]=\"!_formulario.valid\" class=\"tc-btn tc-btn-outline-primary\" (click)=\"add_items_by_data_list(input_items)\" title=\"Adicionar item\">\r\n <i class=\"fas fa-plus\"></i>\r\n </button>\r\n </ng-container>\r\n </td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n </table>\r\n\r\n </div>\r\n \r\n <!-- <pre>\r\n {{ items | json }}\r\n </pre> -->\r\n\r\n </form> \r\n\r\n <!-- box-itens-selected -->\r\n <div class=\"tc-dropdown-menu box-itens-selected {{ menu_on_top }}\" id=\"box-{{ id }}\" [attr.aria-labelledby]=\"id\" [class.to-hide]=\"!show_itens\" [style]=\"box_style\">\r\n \r\n\r\n <div class=\"line-search\">\r\n <table class=\"box-search\" *ngIf=\"items && (items).length > 5\">\r\n <tr>\r\n \r\n <td class=\"area-input\">\r\n <input type=\"text\" class=\"tc-form-control\" [(ngModel)]=\"search_text\" (input)=\"toSearch($event)\" placeholder=\"Buscar...\" > \r\n </td>\r\n \r\n <td class=\"area-icon\">\r\n <i *ngIf=\"search_text === ''\" class=\"fas fa-search icon-search\"></i>\r\n <button class=\"box-action\" type=\"button\" *ngIf=\"search_text !== ''\" (click)=\"clearTextSearch()\"><i class=\"fas fa-times\"></i></button>\r\n </td>\r\n \r\n </tr>\r\n </table>\r\n </div>\r\n\r\n <div class=\"area-options\" id=\"{{ id }}-options\">\r\n <ng-container *ngFor=\"let item of items; let i = index\">\r\n \r\n <label class=\"box-label\" [ngStyle]=\"(maxWidthLabel) ? {'max-width': maxWidthLabel} : null\">\r\n <div class=\"box-value\" [title]=\"item\" >\r\n {{ item }} \r\n </div>\r\n <div class=\"box-action\">\r\n <button\r\n class=\"box-action\"\r\n [disabled]=\"items === undefined || (items && items.length === 0) || disabled || loading\"\r\n title=\"Remover\"\r\n type=\"button\"\r\n (click)=\"removeItem(item, i)\">\r\n <i class=\"fas fa-times\"></i>\r\n </button>\r\n </div>\r\n </label>\r\n\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"mt-5\" *ngIf=\"items && (items).length > 5\">\r\n <div class=\"btn-remove-all\">\r\n <button class=\"box-action\" type=\"button\" (click)=\"remove_all()\">\r\n Limpar toda a lista\r\n </button>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n</div>","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiMultiplesValuesComponent } from './tcloud-ui-multiples-values.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TCloudUiDataListModule } from '../tcloud-ui-data-list/tcloud-ui-data-list.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiMultiplesValuesComponent\r\n ],\r\n exports: [\r\n TCloudUiMultiplesValuesComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n TCloudUiDataListModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiMultiplesValuesModule { }\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-welcome',\r\n templateUrl: './tcloud-ui-welcome.component.html',\r\n styleUrls: ['./tcloud-ui-welcome.component.scss']\r\n})\r\nexport class TCloudUiWelcomeComponent implements OnInit {\r\n\r\n col4: string = 'col-md-4';\r\n\r\n col8: string = 'col-md-8';\r\n col12: string = 'col-md-12';\r\n\r\n @Input() imgSrc: string = '';\r\n @Input() title: string = ''; \r\n @Input() description: string = ''; \r\n @Input() size: 'small'|'normal'|'big' = 'small';\r\n @Input() font: 'small'|'normal'|'big' = 'normal';\r\n\r\n @Input() mirrored: boolean = false;\r\n\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div class=\"tcloud-ui-welcome\">\r\n <div class=\"row\">\r\n\r\n <ng-container>\r\n <div class=\"{{ col4 }} text-center\" *ngIf=\"imgSrc !== ''\" >\r\n <img class=\"containt-img-{{ size }}\" src=\"{{ imgSrc }}\">\r\n </div>\r\n <div class=\"{{ (imgSrc === '') ? col12 : col8 }} text-center\">\r\n <div>\r\n\r\n <div class=\"w-info-text\" *ngIf=\"title !== ''\" [innerHTML]=\"title\" ></div>\r\n \r\n <div class=\"info-{{ font }}\" *ngIf=\"description !== ''\" [innerHTML]=\"description\"></div>\r\n \r\n <div class=\"mt-5 text-center\">\r\n <ng-content></ng-content>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n</div>","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiWelcomeComponent } from './tcloud-ui-welcome.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiWelcomeComponent\r\n ],\r\n exports: [\r\n TCloudUiWelcomeComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiWelcomeModule { }\r\n","import { Component, EventEmitter, Input, OnInit, Output, forwardRef } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nexport const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiInputPasswordComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n@Component({\r\n selector: 'tcloud-ui-input-password',\r\n templateUrl: './tcloud-ui-input-password.component.html',\r\n styleUrls: ['./tcloud-ui-input-password.component.scss'],\r\n providers: [ CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR ],\r\n})\r\nexport class TCloudUiInputPasswordComponent implements OnInit {\r\n\r\n @Input() actionView: boolean = true;\r\n @Input() actionCopy: boolean = true;\r\n @Input() actionGeneratePassword: boolean = true;\r\n\r\n @Input() numberOfCharacter: number = 14;\r\n\r\n @Input() atLeastOneUppercaseLetter: boolean = true;\r\n @Input() atLeastOneLowercaseLetter: boolean = true;\r\n @Input() atLeastOneSpecialCharacter: boolean = true;\r\n\r\n \r\n innerValue: string = '';\r\n\r\n private _ngModel: any | undefined;\r\n @Input() set ngModel(v: any){\r\n this.innerValue = v; \r\n }\r\n @Output() ngModelChange = new EventEmitter<any>();\r\n\r\n mode: string = 'password';\r\n isCopy: boolean = false;\r\n passwordRegex: any | undefined;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.passwordRegex = this.getRegexValidation();\r\n }\r\n\r\n toggleMode(){\r\n if( this.mode === 'password' ){\r\n this.mode = 'text';\r\n }else{\r\n this.mode = 'password';\r\n }\r\n }\r\n\r\n copyText(): void {\r\n this.isCopy = true;\r\n navigator.clipboard.writeText(this.innerValue);\r\n setTimeout(() => { this.isCopy = false; }, 3000);\r\n }\r\n\r\n generatePassword(){\r\n this.innerValue = this.createNewPass();\r\n }\r\n\r\n private createNewPass() {\r\n const uppercaseLetters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';\r\n const lowercaseLetters = 'abcdefghijklmnopqrstuvwxyz';\r\n const numbers = '0123456789';\r\n const specialCharacters = '!@#$%^&*()_+{}[]:;<>,.?/~';\r\n \r\n const allCharacters = uppercaseLetters + lowercaseLetters + numbers + specialCharacters;\r\n \r\n const getRandomCharacter = (characters: string) => {\r\n const randomIndex = Math.floor(Math.random() * characters.length);\r\n return characters[randomIndex];\r\n };\r\n \r\n let password = '';\r\n password += getRandomCharacter(uppercaseLetters);\r\n password += getRandomCharacter(numbers);\r\n password += getRandomCharacter(specialCharacters);\r\n \r\n const remainingLength = this.numberOfCharacter - password.length; \r\n for (let i = 0; i < remainingLength; i++) {\r\n password += getRandomCharacter(allCharacters);\r\n } \r\n password = password.split('').sort(() => Math.random() - 0.5).join(''); \r\n return password;\r\n }\r\n \r\n\r\n getRegexValidation() {\r\n /*\r\n (?=.*[A-Z]): Pelo menos uma letra maiúscula.\r\n (?=.*[0-9]): Pelo menos um número.\r\n (?=.*[!@#$%^&*()_+{}[\\]:;<>,.?\\/~]): Pelo menos um caractere especial.\r\n (?!.*\\s): Não contém espaços em branco.\r\n .{14,}: Pelo menos 14 caracteres no total.\r\n */\r\n\r\n const maiusculas = (this.atLeastOneUppercaseLetter) ? `(?=.*[A-Z])` : '';\r\n const minusculas = (this.atLeastOneLowercaseLetter) ? `(?=.*[a-z])` : '';\r\n const especiais = (this.atLeastOneSpecialCharacter) ? `(?=.*[!@#$%^&*\\\\(\\\\)_+\\\\{\\\\}\\\\[\\\\]:;<>,.?\\\\/~])(?!.*\\\\s)`: '';\r\n\r\n return `^${maiusculas}${minusculas}${especiais}.{${this.numberOfCharacter},}$`;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): any {\r\n return this.innerValue;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: any) {\r\n if (v !== this.innerValue) {\r\n this.innerValue = v;\r\n this.onChangeCallback(v);\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.innerValue) {\r\n this.innerValue = value;\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n}\r\n","<div class=\"tcloud-ui-input-password\">\r\n <table>\r\n <tr>\r\n <!-- input password -->\r\n <td>\r\n <form #_form=\"ngForm\">\r\n <ng-container *ngIf=\"passwordRegex\">\r\n <input class=\"tc-form-control\" *ngIf=\"mode == 'password'\" type=\"password\" name=\"tc_password\" [pattern]=\"passwordRegex\" autoComplete=\"new-password\" [(ngModel)]=\"innerValue\" required>\r\n <input class=\"tc-form-control\" *ngIf=\"mode == 'text'\" type=\"text\" name=\"tc_text\" [pattern]=\"passwordRegex\" [(ngModel)]=\"innerValue\" required>\r\n </ng-container>\r\n </form>\r\n </td>\r\n\r\n <!-- action show hide -->\r\n <td *ngIf=\"actionView\">\r\n <button type=\"button\" (click)=\"toggleMode()\" [title]=\"(mode == 'password') ? 'Visualizar Senha' : 'Esconder Senha'\">\r\n <i *ngIf=\"mode == 'password'\" class=\"far fa-eye-slash\"></i>\r\n <i *ngIf=\"mode == 'text'\" class=\"far fa-eye\"></i> \r\n </button>\r\n </td>\r\n\r\n <!-- action generate pass -->\r\n <td *ngIf=\"actionGeneratePassword\">\r\n <button type=\"button\" [title]=\"'Gerar Senha'\" (click)=\"generatePassword()\">\r\n <i class=\"fa-solid fa-key\"></i>\r\n </button>\r\n </td>\r\n\r\n <!-- action copy pass -->\r\n <td *ngIf=\"actionCopy\">\r\n <button type=\"button\" [title]=\"'Copiar Senha'\" (click)=\"copyText()\">\r\n <i *ngIf=\"!isCopy\" class=\"fa-regular fa-copy\"></i>\r\n <i *ngIf=\"isCopy\" class=\"fa-solid fa-check\"></i>\r\n </button>\r\n </td>\r\n </tr>\r\n </table>\r\n</div>","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiInputPasswordComponent } from './tcloud-ui-input-password.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiInputPasswordComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n exports: [\r\n TCloudUiInputPasswordComponent\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiInputPasswordModule { }\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-progress-bar',\r\n templateUrl: './tcloud-ui-progress-bar.component.html',\r\n styleUrls: ['./tcloud-ui-progress-bar.component.scss']\r\n})\r\nexport class TCloudUiProgressBarComponent implements OnInit {\r\n\r\n value_100: number = 100;\r\n\r\n private _limit: any = undefined;\r\n @Input() set limit(limit: any){\r\n this._limit = (limit) ? `${limit}` : undefined\r\n }\r\n get limit(){ return this._limit; }\r\n\r\n /*\r\n status\r\n */\r\n private _status: any = '0';\r\n @Input() set status(status: any){\r\n let value = `${status}`;\r\n if( value ){\r\n setTimeout(() => {\r\n this._status = value;\r\n this.toCalcLimit();\r\n }); \r\n }\r\n }\r\n get status():string { return this._status } \r\n\r\n /*\r\n mode\r\n */\r\n private _mode: string = 'primary';\r\n @Input() set mode(mode: string){\r\n if( mode ){\r\n this._mode = mode; \r\n this.setMode();\r\n } \r\n }\r\n get mode():string { return this._mode } \r\n\r\n /*\r\n height\r\n */\r\n private _height: string = 'normal';\r\n @Input() set height(height: string){\r\n if( height ){\r\n this._height = height; \r\n this.setheight(); \r\n } \r\n }\r\n get height():string { return this._height }\r\n\r\n progress_class: string = '';\r\n height_class: string = '';\r\n\r\n @Input() useDefaultBackground: boolean = true;\r\n @Input() showValue: boolean = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.setMode();\r\n this.setheight();\r\n }\r\n\r\n setMode(): void{\r\n const mode = this.mode;\r\n let progress_class = 'progress-primary';\r\n switch (mode) {\r\n case 'primary': progress_class = 'progress-primary'; break;\r\n case 'danger': progress_class = 'progress-danger'; break;\r\n case 'warning': progress_class = 'progress-warning'; break;\r\n case 'info': progress_class = 'progress-info'; break;\r\n case 'success': progress_class = 'progress-success'; break;\r\n case 'gray': progress_class = 'progress-gray'; break;\r\n\r\n case 'gradient-success': progress_class = 'progress-gradient-success'; break;\r\n case 'gradient-danger': progress_class = 'progress-gradient-danger'; break;\r\n case 'gradient-warning': progress_class = 'progress-gradient-warning'; break;\r\n case 'gradient-info': progress_class = 'progress-gradient-info'; break;\r\n }\r\n this.progress_class = progress_class;\r\n }\r\n\r\n setheight(): void{\r\n const height = this.height;\r\n let height_class = 'height-normal';\r\n switch (height) {\r\n case 'normal': height_class = 'height-normal'; break;\r\n case 'slim': height_class = 'height-slim'; break;\r\n case 'fat': height_class = 'height-fat'; break;\r\n case 'very-fat': height_class = 'height-very-fat'; break;\r\n }\r\n this.height_class = height_class;\r\n }\r\n\r\n toCalcLimit_exceeded(){\r\n let vp: number = 100;\r\n let percentual: number = +(this.status);\r\n\r\n if( percentual > 100 ){\r\n let v100 = vp / (percentual / 100);\r\n this.value_100 = +((v100).toFixed(2));\r\n }\r\n this.new_status = 100;\r\n }\r\n\r\n toCalcLimit(){\r\n\r\n if( this.limit ){\r\n\r\n if( +(this.status) > +(this.limit) ){\r\n this.toCalcLimit_exceeded();\r\n return;\r\n }\r\n\r\n let vp: number = 100;\r\n let percentual: number = +(this.limit);\r\n\r\n if( percentual > 100 ){\r\n let v100 = vp / (percentual / 100);\r\n this.value_100 = +((v100).toFixed(2));\r\n }\r\n\r\n this.toCalcStatus();\r\n }\r\n }\r\n\r\n new_status: number = 0;\r\n toCalcStatus(){\r\n \r\n let valorBase: number = +(this.status);\r\n let percentual: number = +(this.limit);\r\n\r\n // Calcula o valor correspondente ao percentual do valor base\r\n let resultado = valorBase / (percentual / 100);\r\n this.new_status = resultado;\r\n // console.log('new_status', this.new_status);\r\n \r\n }\r\n\r\n}\r\n","<div class=\"tc-ui-progress-bar tc-background-{{ progress_class }}\"> \r\n <div class=\"tc-progress-bar {{ height_class }}\" [class.use-background]=\"useDefaultBackground\" >\r\n\r\n <div *ngIf=\"!limit\" class=\"tc-progress-bar-status {{ progress_class }} {{ height_class }}\" [style]=\"'width: ' + status + '%'\"></div>\r\n <div *ngIf=\"limit\" class=\"tc-progress-bar-status {{ progress_class }} {{ height_class }}\" [style]=\"'width: ' + new_status + '%'\"></div>\r\n\r\n <label *ngIf=\"( height_class === 'height-normal' || height_class === 'height-fat' || height_class === 'height-very-fat' ) && showValue\" \r\n [class.fixed-left]=\"(+status >= 12)\" \r\n [style]=\"'left: '+ (70) +'px'\" \r\n class=\"indicative-value info-{{ progress_class }}\">{{ status }}%\r\n </label>\r\n </div>\r\n</div>\r\n<div *ngIf=\"limit && (+limit > 100)\" >\r\n <div [class.indicative-limit]=\"limit\" [style]=\"{'width': value_100+'%'}\">\r\n <label>100%</label>\r\n </div> \r\n</div>\r\n\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiProgressBarComponent } from './tcloud-ui-progress-bar.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [TCloudUiProgressBarComponent],\r\n exports: [TCloudUiProgressBarComponent],\r\n imports: [\r\n CommonModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiProgressBarModule { }\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-cubes',\r\n templateUrl: './tcloud-ui-cubes.component.html',\r\n styleUrls: ['./tcloud-ui-cubes.component.scss']\r\n})\r\nexport class TCloudUiCubesComponent {\r\n\r\n}\r\n","<div class=\"loadingio-spinner-cube\"><div class=\"tc-cube-loading\">\r\n <div></div><div></div><div></div><div></div></div>\r\n</div>","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-loading',\r\n templateUrl: './tcloud-ui-loading.component.html',\r\n styleUrls: ['./tcloud-ui-loading.component.css']\r\n})\r\nexport class TCloudUiLoadingComponent {\r\n\r\n @Input() full: boolean = false;\r\n\r\n private _loading: boolean = false;\r\n @Input() set loading(loading: boolean){\r\n if( this._loading !== loading ){\r\n this._loading = loading;\r\n } \r\n }\r\n get loading(): boolean{ return this._loading; } \r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}","<div *ngIf=\"full && loading\" class=\"tc-loading-full\">\r\n <div class=\"tc-state-loading-backdrop\"></div>\r\n <div class=\"tc-state-loading-main\">\r\n <div class=\"tc-state-loading-artifact\">\r\n \r\n <tcloud-ui-cubes></tcloud-ui-cubes>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n \r\n <ng-container *ngIf=\"!full && loading\">\r\n <div class=\"tc-state-loading-backdrop\"></div>\r\n <div class=\"tc-state-loading-main\">\r\n <div class=\"tc-state-loading-artifact\">\r\n \r\n <tcloud-ui-cubes></tcloud-ui-cubes>\r\n \r\n </div>\r\n </div>\r\n </ng-container>\r\n ","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiLoadingComponent } from './tcloud-ui-loading.component';\r\nimport { TCloudUiCubesComponent } from './components/tcloud-ui-cubes/tcloud-ui-cubes.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [TCloudUiLoadingComponent, TCloudUiCubesComponent],\r\n exports: [TCloudUiLoadingComponent, TCloudUiCubesComponent],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class TCloudUiLoadingModule { }\r\n","import { Component, Input, OnInit, EventEmitter, Output } from '@angular/core';\n\n@Component({\n selector: 'tcloud-ui-reorder-items',\n templateUrl: './tcloud-ui-reorder-items.component.html',\n styleUrls: ['./tcloud-ui-reorder-items.component.scss']\n})\nexport class TCloudUiReorderItemsComponent implements OnInit {\n sort_items = [] as any[];\n\n // psg\n private _items = [] as any[];\n @Input() set items(v: any){\n if( v ){\n this._items = v;\n this.set_sort_items();\n }\n }\n get items(){ return this._items; }\n\n @Output() itemsChange = new EventEmitter<any>();\n\n\n ngOnInit(): void {\n }\n\n set_sort_items(){\n this.sort_items = [];\n if( this.items && (this.items).length > 0 ){\n\n for( let i = 0; i < (this.items).length; i++ ){\n const item = this.items[i];\n if( item.name ){\n (this.sort_items).push( item.name );\n }else{\n (this.sort_items).push( `${item}` );\n }\n }\n\n }\n\n }\n \n get_description(name: string){\n if( name ){\n if( this.items && (this.items).length > 0 ){\n for( let i = 0; i < (this.items).length; i++ ){\n const item = this.items[i];\n if( name === item.name && item.description ){\n return item.description;\n }\n } \n }\n }\n return undefined;\n }\n\n get_item(name: string){\n if( name ){\n if( this.items && (this.items).length > 0 ){\n for( let i = 0; i < (this.items).length; i++ ){\n const item = this.items[i];\n if( name === item.name && item.description ){\n return item;\n }\n } \n }\n }\n return undefined;\n }\n\n move(item: any, index: number, toIndex: number){\n if( toIndex < 0 ){ return; }\n if( toIndex > ((this.sort_items).length - 1) ){ return; }\n if( (this.sort_items).length > 0 ){\n for(let i = 0; i < (this.sort_items).length; i++){\n if( i === index){\n \n let aux = this.sort_items[index];\n this.sort_items[index] = this.sort_items[toIndex];\n this.sort_items[toIndex] = aux;\n break;\n\n \n }\n }\n }\n\n if( this.items && (this.items).length > 0 && this.items[0] && this.items[0].name ){\n this.items = this.result_items();\n }else{\n this.items = this.sort_items;\n }\n this.itemsChange.emit( this.items );\n \n }\n\n result_items(){\n let items = [];\n if( this.sort_items && (this.sort_items).length > 0 ){\n for( let i = 0; i < (this.sort_items).length; i++ ){\n (items).push( this.get_item( `${this.sort_items[i]}` ) );\n }\n }\n return items;\n }\n}\n","<ng-container *ngIf=\"sort_items\">\n\n\n\n <table class=\"table-sort-items\">\n\n \n\n\n <ng-container *ngFor=\"let item of sort_items; let i = index\">\n\n <tr>\n\n <td class=\"area-name-description-item\">\n {{ item }}\n <div *ngIf=\"get_description(item)\" class=\"item-description\">\n {{ get_description(item) }}\n </div>\n </td>\n\n <td class=\"area-action-item\">\n \n <ng-container>\n <div class=\"order-control\">\n <button class=\"btn-item-action-arrow\" (click)=\"move(item, i, (i-1))\" title=\"Alterar para cima\" [disabled]=\"i===0\">\n <i class=\"fas fa-caret-up p-up\" ></i>\n </button>\n </div>\n \n <div class=\"order-control\">\n <button class=\"btn-item-action-arrow\" (click)=\"move(item, i, (i+1))\" title=\"Alterar para baixo\" [disabled]=\"(i+1) === (sort_items).length\">\n <i class=\"fas fa-caret-down p-down\"></i>\n </button>\n \n </div>\n </ng-container>\n </td>\n\n </tr>\n </ng-container> \n\n </table>\n \n </ng-container>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiReorderItemsComponent } from './tcloud-ui-reorder-items.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiReorderItemsComponent\n ],\n exports: [\n TCloudUiReorderItemsComponent\n ],\n imports: [\n CommonModule\n ]\n})\nexport class TCloudUiReorderItemsModule { }\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-label-token',\r\n templateUrl: './tcloud-ui-label-token.component.html',\r\n styleUrls: ['./tcloud-ui-label-token.component.scss']\r\n})\r\nexport class TCloudUiLabelTokenComponent implements OnInit {\r\n\r\n @Input() copy: boolean = false;\r\n @Input() value: any = '';\r\n @Output() onClick = new EventEmitter<any>();\r\n\r\n show: boolean = false;\r\n isCopy: boolean = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public copyText(): void {\r\n this.isCopy = true;\r\n // Copy the text inside the text field\r\n navigator.clipboard.writeText(this.value);\r\n this.onClick.emit(this.value);\r\n\r\n setTimeout(() => {\r\n this.isCopy = false;\r\n }, 3000);\r\n\r\n }\r\n\r\n}","<div>\r\n\r\n <div class=\"mb-2 box-area\">\r\n <table>\r\n <tr>\r\n\r\n <td class=\"area-value\">\r\n <div *ngIf=\"show\">{{ value }}</div>\r\n <div class=\"no-show\" *ngIf=\"!show\">#*#*#*#*#*#*#*#*#</div>\r\n </td>\r\n\r\n <td class=\"area-action\">\r\n <div class=\"options-area-actions\">\r\n <button type=\"button\" *ngIf=\"show\" class=\"btn-icon-smart\" (click)=\"show = !show\" ><i class=\"fas fa-eye\"></i></button>\r\n <button type=\"button\" *ngIf=\"!show\" class=\"btn-icon-smart\" (click)=\"show = !show\"><i class=\"fas fa-eye-slash\"></i></button>\r\n\r\n <ng-container *ngIf=\"copy\">\r\n <button type=\"button\" [title]=\"'Copiar texto'\" *ngIf=\"!isCopy\" class=\"btn-icon-smart\" (click)=\"copyText()\" ><i class=\"fas fa-copy\"></i></button>\r\n <button type=\"button\" [title]=\"'Texto copiado'\" *ngIf=\"isCopy\" class=\"btn-icon-smart\"><i class=\"fas fa-check\"></i></button>\r\n </ng-container>\r\n </div>\r\n </td>\r\n\r\n </tr>\r\n </table>\r\n </div>\r\n\r\n </div>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiLabelTokenComponent } from './tcloud-ui-label-token.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiLabelTokenComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n exports: [\r\n TCloudUiLabelTokenComponent\r\n ]\r\n})\r\nexport class TCloudUiLabelTokenModule { }\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { LineStepTitleData } from './tcloud-ui-line-step-title';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-line-step-title',\r\n templateUrl: './tcloud-ui-line-step-title.component.html',\r\n styleUrls: ['./tcloud-ui-line-step-title.component.scss'],\r\n animations: [\r\n trigger('progressBarEntering', [\r\n state('in', style({ width: '*' })),\r\n transition('void => *', [\r\n style({ width: 0 }),\r\n animate('1.5s 0s ease')\r\n ])\r\n ])\r\n ]\r\n})\r\nexport class TCloudUiLineStepTitleComponent implements OnInit {\r\n @Input() showStepCounter: boolean = true;\r\n @Input() steps!: LineStepTitleData[];\r\n @Input() currentStep?: number;\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n public get completedSteps(): number {\r\n return this.steps.filter(x => x.completed).length;\r\n }\r\n}\r\n","<div class=\"tcloud-ui-line-step\">\r\n <div class=\"steps-title-wrapper\">\r\n <ng-container *ngFor=\"let step of steps; let i = index\">\r\n <span\r\n class=\"step-title\"\r\n [ngStyle]=\"{ 'flex-basis' : 100 / steps.length + '%' }\"\r\n [ngClass]=\"{ 'completed' : currentStep ? i < currentStep : step.completed }\">\r\n <ng-container *ngIf=\"showStepCounter\">{{i + 1}}.</ng-container> {{step.title}}\r\n </span>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"line-wrapper\">\r\n <div class=\"background-line\"></div>\r\n <div\r\n @progressBarEntering\r\n class=\"progress-line\"\r\n [ngStyle]=\"{ 'width.%' : currentStep ? ((currentStep / steps.length) * 100) : ((completedSteps / steps.length) * 100) }\">\r\n </div>\r\n </div>\r\n</div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiLineStepTitleComponent } from './tcloud-ui-line-step-title.component';\r\n\r\n@NgModule({\r\n declarations: [TCloudUiLineStepTitleComponent],\r\n imports: [CommonModule],\r\n exports: [TCloudUiLineStepTitleComponent],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiLineStepTitleModule { }\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\n\r\nimport { TCloudUiLinhaLogoModule } from './_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.module';\r\nimport { TCloudUiTabMenuModule } from './_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.module';\r\nimport { TCloudUiModalModule } from './_modules/tcloud-ui-modal/tcloud-ui-modal.module';\r\nimport { TCloudUiLineStepCircleModule } from './_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.module';\r\nimport { TCloudUiMultiSelectModule } from './_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.module';\r\nimport { TCloudUiDataListModule } from './_modules/tcloud-ui-data-list/tcloud-ui-data-list.module';\r\nimport { TCloudUiChoiceIssuesModule } from './_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.module';\r\nimport { TCloudUiMultiInputModule } from './_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.module';\r\nimport { TCloudUiInputSearchModule } from './_modules/tcloud-ui-input-search/tcloud-ui-input-search.module';\r\nimport { TCloudUiNotFoundModule } from './_modules/tcloud-ui-not-found/tcloud-ui-not-found.module';\r\nimport { TCloudUiTableModule } from './_modules/tcloud-ui-table/tcloud-ui-table.module';\r\nimport { TCloudUiNumberStepModule } from './_modules/tcloud-ui-number-step/tcloud-ui-number-step.module';\r\nimport { TCloudUiScrollBoxModule } from './_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.module';\r\nimport { TCloudUiFiltersModule } from './_modules/tcloud-ui-filters/tcloud-ui-filters.module';\r\nimport { TCloudUiAccordionModule } from './_modules/tcloud-ui-accordion/tcloud-ui-accordion.module';\r\nimport { TCloudUiDatepickerModule } from './_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.module';\r\nimport { TCloudUiDatepickerTimeModule } from './_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module';\r\n\r\nimport { TCloudUiDirectiveModule } from './_directives/directives.module';\r\n\r\nimport { TCloudUiPipesModule } from './_pipes/tcloud-pipes.module';\r\n\r\nimport { TCloudUiLoadingTransitionsService } from './_services/loading-transitions.service';\r\nimport { TCloudUiSearchInObjectService } from './_services/search-in-object.service';\r\nimport { TCloudUiMultiplesValuesModule } from './_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.module';\r\nimport { TCloudUiWelcomeModule } from './_modules/tcloud-ui-welcome/tcloud-ui-welcome.module';\r\nimport { TCloudUiInputPasswordModule } from './_modules/tcloud-ui-input-password/tcloud-ui-input-password.module';\r\nimport { TCloudUiProgressBarModule } from './_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.module';\r\nimport { TCloudUiLoadingModule } from './_modules/tcloud-ui-loading/tcloud-ui-loading.module';\r\nimport { TCloudUiReorderItemsModule } from './_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.module';\r\nimport { TCloudUiLabelTokenModule } from './_modules/tcloud-ui-label-token/tcloud-ui-label-token.module';\r\nimport { TCloudUiLineStepTitleModule } from './_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.module';\r\nimport { TCloudUiConfig } from './tcloud-ui.config';\r\nimport { TCloudUiCheckAccessService } from './_services/tcloud-ui-check-access.service';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n TCloudUiModalModule,\r\n TCloudUiTabMenuModule,\r\n TCloudUiLinhaLogoModule,\r\n TCloudUiLineStepCircleModule,\r\n TCloudUiMultiSelectModule,\r\n TCloudUiDataListModule,\r\n TCloudUiMultiInputModule,\r\n TCloudUiChoiceIssuesModule,\r\n TCloudUiInputSearchModule,\r\n TCloudUiNotFoundModule,\r\n TCloudUiTableModule,\r\n TCloudUiNumberStepModule,\r\n TCloudUiScrollBoxModule,\r\n TCloudUiFiltersModule,\r\n TCloudUiAccordionModule,\r\n TCloudUiDatepickerModule,\r\n TCloudUiDatepickerTimeModule,\r\n TCloudUiMultiplesValuesModule,\r\n TCloudUiWelcomeModule,\r\n TCloudUiInputPasswordModule,\r\n TCloudUiProgressBarModule,\r\n TCloudUiLoadingModule,\r\n TCloudUiReorderItemsModule,\r\n TCloudUiLabelTokenModule,\r\n TCloudUiLineStepTitleModule,\r\n\r\n // Directives\r\n TCloudUiDirectiveModule,\r\n\r\n // Pipes\r\n TCloudUiPipesModule\r\n ],\r\n exports: [\r\n TCloudUiModalModule,\r\n TCloudUiTabMenuModule,\r\n TCloudUiLinhaLogoModule,\r\n TCloudUiLineStepCircleModule,\r\n TCloudUiMultiSelectModule,\r\n TCloudUiDataListModule,\r\n TCloudUiMultiInputModule,\r\n TCloudUiChoiceIssuesModule,\r\n TCloudUiInputSearchModule,\r\n TCloudUiNotFoundModule,\r\n TCloudUiTableModule,\r\n TCloudUiNumberStepModule,\r\n TCloudUiScrollBoxModule,\r\n TCloudUiFiltersModule,\r\n TCloudUiAccordionModule,\r\n TCloudUiDatepickerModule,\r\n TCloudUiDatepickerTimeModule,\r\n TCloudUiMultiplesValuesModule,\r\n TCloudUiWelcomeModule,\r\n TCloudUiInputPasswordModule,\r\n TCloudUiProgressBarModule,\r\n TCloudUiLoadingModule,\r\n TCloudUiReorderItemsModule,\r\n TCloudUiLabelTokenModule,\r\n TCloudUiLineStepTitleModule,\r\n\r\n // Directives\r\n TCloudUiDirectiveModule,\r\n\r\n // Pipes\r\n TCloudUiPipesModule\r\n ],\r\n providers: [\r\n TCloudUiLoadingTransitionsService,\r\n TCloudUiSearchInObjectService,\r\n TCloudUiCheckAccessService\r\n ]\r\n})\r\nexport class TCloudUiModule {\r\n\r\n static forRoot(config: TCloudUiConfig): ModuleWithProviders<TCloudUiModule> {\r\n return {\r\n ngModule: TCloudUiModule,\r\n providers: [\r\n { provide: 'TCloudUiConfig', useValue: config.data },\r\n { provide: 'UserService', useExisting: config?.services?.userService }\r\n ]\r\n };\r\n }\r\n}\r\n","/*\r\n * Public API Surface of tcloud-ui\r\n */\r\n\r\nexport * from './lib/tcloud-ui.module';\r\nexport * from './lib/tcloud-ui.config';\r\n\r\n// UI-MODAL\r\nexport * from './lib/_modules/tcloud-ui-modal/tcloud-ui-modal.module';\r\nexport * from './lib/_modules/tcloud-ui-modal/tcloud-ui-modal.component';\r\nexport * from './lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-header/tcloud-ui-modal-header.component';\r\nexport * from './lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-body/tcloud-ui-modal-body.component';\r\nexport * from './lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component';\r\n\r\n// UI-TAB-MENU\r\nexport * from './lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.module';\r\nexport * from './lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.component';\r\nexport * from './lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-content/tcloud-ui-tab-content.component';\r\nexport * from './lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-head/tcloud-ui-tab-head.component';\r\nexport * from './lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component';\r\nexport * from './lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-title/tcloud-ui-tab-title.component';\r\n\r\n// UI-LINHA-LOGO\r\nexport * from './lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.module';\r\nexport * from './lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.component';\r\n\r\n// UI-STEP-CIRCLE\r\nexport * from './lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.module';\r\nexport * from './lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.component';\r\n\r\n// UI-MULTI-SELECT\r\nexport * from './lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.module';\r\nexport * from './lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.component';\r\n\r\n// UI-TOOLTIP\r\nexport * from './lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.module';\r\nexport * from './lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.component';\r\nexport * from './lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list-option/tcloud-ui-data-list-option.component';\r\n\r\n// UI-MULTI-INPUT\r\nexport * from './lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.module';\r\nexport * from './lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.component';\r\n\r\n// UI-CHOICE-ISSUES\r\nexport * from './lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.module';\r\nexport * from './lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.component';\r\n\r\n// UI-INPUT-SEARCH\r\nexport * from './lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.module';\r\nexport * from './lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.component';\r\n\r\n// UI-NOT-FOUND\r\nexport * from './lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.module';\r\nexport * from './lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.component';\r\n\r\n// UI-TABLE\r\nexport * from './lib/_modules/tcloud-ui-table/tcloud-ui-table.module';\r\nexport * from './lib/_modules/tcloud-ui-table/tcloud-ui-table.component';\r\n\r\n// UI-NUMBER-STEP\r\nexport * from './lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.module';\r\nexport * from './lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.component';\r\n\r\n// UI-SCROLL-BOX\r\nexport * from './lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.module';\r\nexport * from './lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.component';\r\n\r\n// UI-FILTERS\r\nexport * from './lib/_modules/tcloud-ui-filters/tcloud-ui-filters';\r\nexport * from './lib/_modules/tcloud-ui-filters/tcloud-ui-filters.module';\r\nexport * from './lib/_modules/tcloud-ui-filters/tcloud-ui-filters.component';\r\nexport * from './lib/_modules/tcloud-ui-filters/components/range-date/range-date.component';\r\n\r\n// UI-ACCORDION\r\nexport * from './lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.module';\r\nexport * from './lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.component';\r\nexport * from './lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component';\r\nexport * from './lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component';\r\n\r\n// UI-DATEPICKER\r\nexport * from './lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.module';\r\nexport * from './lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.component';\r\n\r\n// UI-DATEPICKER-TIME\r\nexport * from './lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module';\r\nexport * from './lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.component';\r\n\r\n// UI-MULTIPLES-VALUES\r\nexport * from './lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.module';\r\nexport * from './lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.component';\r\n\r\n// UI-WELCOME\r\nexport * from './lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.module';\r\nexport * from './lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.component';\r\n\r\n// UI-INPUT-PASSWORD\r\nexport * from './lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.module';\r\nexport * from './lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.component';\r\n\r\n// UI-PROGRESS-BAR\r\nexport * from './lib/_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.module';\r\nexport * from './lib/_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.component';\r\n\r\n// UI-LOADING\r\nexport * from './lib/_modules/tcloud-ui-loading/tcloud-ui-loading.module';\r\nexport * from './lib/_modules/tcloud-ui-loading/tcloud-ui-loading.component';\r\nexport * from './lib/_modules/tcloud-ui-loading/components/tcloud-ui-cubes/tcloud-ui-cubes.component';\r\n\r\n// UI-REORDER-ITEMS\r\nexport * from './lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items';\r\nexport * from './lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.component';\r\nexport * from './lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.module';\r\n\r\n// UI-LABEL-TOKEN\r\nexport * from './lib/_modules/tcloud-ui-label-token/tcloud-ui-label-token.module';\r\nexport * from './lib/_modules/tcloud-ui-label-token/tcloud-ui-label-token.component';\r\n\r\n// UI-LINE-STEP-TITLE\r\nexport * from './lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title';\r\nexport * from './lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.component';\r\nexport * from './lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.module';\r\n\r\n// DIRECTIVES\r\nexport * from './lib/_directives/directives.module';\r\nexport * from './lib/_directives/tooltip/tooltip.directive';\r\nexport * from './lib/_directives/align/align.directive';\r\nexport * from './lib/_directives/hover-parent/hover-parent.directive';\r\nexport * from './lib/_directives/el-copy/el-copy.directive';\r\nexport * from './lib/_directives/currency/currency.directive';\r\nexport * from './lib/_directives/tcloud-access/tcloud-ui-check-access.directive';\r\nexport * from './lib/_directives/tcloud-access/tcloud-ui-ng-check-access.directive';\r\nexport * from './lib/_directives/tcloud-access/tcloud-ui-ng-feature-flags.directive';\r\nexport * from './lib/_directives/tcloud-ui-digit-only.directive';\r\nexport * from './lib/_directives/tcloud-ui-highlight.diretive'; \r\nexport * from './lib/_directives/tcloud-ui-ip-mask.directive';\r\n\r\n// PIPES\r\nexport * from './lib/_pipes/tcloud-pipes.module';\r\nexport * from './lib/_pipes/index';\r\n\r\n// SERVICES\r\nexport * from './lib/_services/loading-transitions.service';\r\nexport * from './lib/_services/search-in-object.service';\r\nexport * from './lib/_services/tcloud-ui-check-access.service';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i1.TabMenuService","i2","i1.TcloudModalService","i3","CUSTOM_INPUT_VALIDATORS","CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR","noop","i1.DataListService","i4.TCloudUiDataListOptionComponent","i2.StatusInfoPipe","i1.TCloudUiSearchInObjectService","i1.DateBRPipe","i2.TCloudUiDatepickerComponent","i4.TCloudUiDataListComponent","i3.TCloudUiDatepickerTimeComponent","i4.TCloudUiDatepickerComponent","i5.TCloudUiRangeDateComponent","i1.TCloudUiAccordionService","i1.TCloudUiCheckAccessService","i3.TCloudUiDataListComponent","i2.TCloudUiCubesComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dev-tcloud-tcloud-ui.mjs","sources":["../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/services/tab-menu.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-content/tcloud-ui-tab-content.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-content/tcloud-ui-tab-content.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-title/tcloud-ui-tab-title.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-title/tcloud-ui-tab-title.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-head/tcloud-ui-tab-head.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-head/tcloud-ui-tab-head.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/services/tcloud-modal.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-header/tcloud-ui-modal-header.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-header/tcloud-ui-modal-header.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-body/tcloud-ui-modal-body.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-body/tcloud-ui-modal-body.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/services/data-list.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list-option/tcloud-ui-data-list-option.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list-option/tcloud-ui-data-list-option.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.module.ts","../../../projects/tcloud-ui/src/lib/_pipes/monthname.ts","../../../projects/tcloud-ui/src/lib/_pipes/statusinfo.ts","../../../projects/tcloud-ui/src/lib/_pipes/respective.ts","../../../projects/tcloud-ui/src/lib/_pipes/cnpj.ts","../../../projects/tcloud-ui/src/lib/_pipes/cpf.ts","../../../projects/tcloud-ui/src/lib/_pipes/bytes.ts","../../../projects/tcloud-ui/src/lib/_pipes/datebr.ts","../../../projects/tcloud-ui/src/lib/_pipes/array-to-text.ts","../../../projects/tcloud-ui/src/lib/_services/search-in-object.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-table/tcloud-ui-table.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-table/tcloud-ui-table.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-table/tcloud-ui-table.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/components/range-date/range-date.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/components/range-date/range-date.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/services/tcloud-ui-accordion.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.module.ts","../../../projects/tcloud-ui/src/lib/_directives/align/align.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/hover-parent/hover-parent.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/tooltip/tooltip.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/el-copy/el-copy.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/currency/currency.directive.ts","../../../projects/tcloud-ui/src/lib/_services/tcloud-ui-check-access.service.ts","../../../projects/tcloud-ui/src/lib/_directives/tcloud-access/tcloud-ui-check-access.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/tcloud-access/tcloud-ui-ng-check-access.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/tcloud-access/tcloud-ui-ng-feature-flags.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/tcloud-ui-digit-only.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/tcloud-ui-highlight.diretive.ts","../../../projects/tcloud-ui/src/lib/_directives/tcloud-ui-ip-mask.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/directives.module.ts","../../../projects/tcloud-ui/src/lib/_pipes/tcloud-pipes.module.ts","../../../projects/tcloud-ui/src/lib/_services/loading-transitions.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-loading/components/tcloud-ui-cubes/tcloud-ui-cubes.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-loading/components/tcloud-ui-cubes/tcloud-ui-cubes.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-loading/tcloud-ui-loading.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-loading/tcloud-ui-loading.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-loading/tcloud-ui-loading.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-label-token/tcloud-ui-label-token.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-label-token/tcloud-ui-label-token.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-label-token/tcloud-ui-label-token.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.module.ts","../../../projects/tcloud-ui/src/lib/tcloud-ui.module.ts","../../../projects/tcloud-ui/src/public-api.ts","../../../projects/tcloud-ui/src/dev-tcloud-tcloud-ui.ts"],"sourcesContent":["import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-linha-logo',\r\n templateUrl: './tcloud-ui-linha-logo.component.html',\r\n styleUrls: ['./tcloud-ui-linha-logo.component.scss']\r\n})\r\nexport class TCloudUiLinhaLogoComponent implements OnInit {\r\n\r\n @Input() url: any = `h`+`t`+`t`+`p`+`s`+`:`+`/`+`/`+`ateleia`+`-`+`email`+`.s3`+`-`+`sa`+`-`+`east`+`-`+`1`+`.`+`amazonaws`+`.`+`com`+`/`; \r\n @Input() product: string = '';\r\n\r\n logo_name: string = '';\r\n product_name: string = '';\r\n alt_product_name: string = '';\r\n font_size: string = '';\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.logo_name = this.getLogoName();\r\n this.product_name = this.getProductName();\r\n \r\n this.alt_product_name = (this.product_name).toUpperCase();\r\n\r\n this.font_size = this.getWidthFontSize();\r\n }\r\n\r\n getProductName(){\r\n if( this.product !== '' ){\r\n let name = this.product;\r\n name = (name).replace('_',' ');\r\n name = (name).toLowerCase();\r\n return name;\r\n }\r\n return '';\r\n }\r\n\r\n getLogoName(){\r\n if( this.product !== '' ){\r\n let name = this.product;\r\n name = (name).replace('_','-');\r\n name = (name).toLowerCase();\r\n return 'logo-linha-'+name;\r\n }\r\n return '';\r\n }\r\n\r\n getWidthFontSize(){\r\n let size = 28;\r\n let new_size = size;\r\n const count = (this.product_name).length; \r\n\r\n if( count > 8 ){\r\n new_size = 28;\r\n }\r\n\r\n if( count > 12 ){\r\n const p = (size * (5+(count*2)) ) / 100;\r\n new_size = (size - p);\r\n }\r\n\r\n if( count > 15 ){\r\n const p = (size * (10+(count*2)) ) / 100;\r\n new_size = (size - p);\r\n }\r\n\r\n\r\n\r\n return `${new_size}px`;\r\n }\r\n\r\n}\r\n","<!-- <div class=\"logo-product\" *ngIf=\"product !== ''\">\r\n <img class=\"img-logo\" src=\"/assets/img/logo-totvs.svg\" alt=\"{{ alt_product_name }}\">\r\n <p class=\"text-small\">Linha</p>\r\n <p class=\"text-product\" [style]=\"'font-size:'+font_size+';'\" >{{ product_name }}</p>\r\n</div> -->\r\n\r\n<div class=\"tcloud-ui-linha-logo logo-product\" *ngIf=\"product !== ''\">\r\n <img class=\"img-logo\" [attr.data-name-image]=\"logo_name\" [attr.src]=\"url+logo_name+'.svg'\" alt=\"{{ alt_product_name }}\">\r\n</div>","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiLinhaLogoComponent } from './tcloud-ui-linha-logo.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiLinhaLogoComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n TCloudUiLinhaLogoComponent\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiLinhaLogoModule { }\r\n","import { ITab } from './../tcloud-ui-tab-menu';\r\nimport { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n\r\n\r\n@Injectable()\r\nexport class TabMenuService {\r\n\r\n private info_tab: ITab[] = [];\r\n\r\n private _scroll: boolean | undefined;\r\n private scrollSubject = new Subject<boolean>(); \r\n public scrollState$ = this.scrollSubject.asObservable();\r\n\r\n private _bottom_line: boolean | undefined;\r\n private bottom_lineSubject = new Subject<boolean>(); \r\n public bottom_lineState$ = this.bottom_lineSubject.asObservable();\r\n\r\n private _tab: string | undefined;\r\n private tabSubject = new Subject<string>(); \r\n public tabState$ = this.tabSubject.asObservable();\r\n\r\n private _loading: boolean | undefined;\r\n private loadingSubject = new Subject<boolean>(); \r\n public loadingState$ = this.loadingSubject.asObservable();\r\n\r\n private _full: boolean | undefined;\r\n private fullSubject = new Subject<boolean>(); \r\n public fullState$ = this.fullSubject.asObservable();\r\n\r\n constructor(\r\n private _route: ActivatedRoute,\r\n private _router: Router\r\n ){\r\n\r\n }\r\n\r\n setTabScroll(scroll: boolean){\r\n this._scroll = scroll;\r\n this.scrollSubject.next(scroll);\r\n }\r\n\r\n getTabScroll(){\r\n return this._scroll;\r\n }\r\n\r\n setTabBottomLine(bottom_line: boolean){\r\n this._bottom_line = bottom_line;\r\n this.bottom_lineSubject.next(bottom_line);\r\n }\r\n\r\n getTabBottomLine(){\r\n return this._bottom_line;\r\n } \r\n\r\n setTabLoading(loading: boolean){\r\n this._loading = loading;\r\n this.loadingSubject.next(loading);\r\n }\r\n\r\n getTabLoading(){\r\n return this._loading;\r\n }\r\n\r\n setTabfull(full: boolean){\r\n this._full = full;\r\n this.fullSubject.next(full);\r\n }\r\n\r\n getTabFull(){\r\n return this._full;\r\n }\r\n\r\n setTabState(tab: string, registerInUrl?:boolean | undefined){\r\n this._tab = tab;\r\n if( registerInUrl ){ this.set_to_param_url(tab); } \r\n this.tabSubject.next(tab);\r\n }\r\n\r\n getTabState(){\r\n return this._tab;\r\n }\r\n\r\n setTabDisabled(id: string, disabled: boolean ){\r\n let create = true;\r\n if( this.info_tab && (this.info_tab).length > 0 ){\r\n for( let i = 0; i < (this.info_tab).length; i++ ){\r\n if( this.info_tab[i].id === id ){\r\n this.info_tab[i].disabled = disabled;\r\n create = false;\r\n break;\r\n }\r\n }\r\n }\r\n if( create ){\r\n (this.info_tab).push({ id:id, disabled: disabled });\r\n } \r\n }\r\n\r\n getIsDisabled(id: string){\r\n if( this.info_tab && (this.info_tab).length > 0 ){\r\n for( let i = 0; i < (this.info_tab).length; i++ ){\r\n if( this.info_tab[i].id === id ){\r\n return this.info_tab[i].disabled;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n set_to_param_url(tab: string){\r\n // changes the route without moving from the current view or\r\n // triggering a navigation event,\r\n this._router.navigate([], {\r\n relativeTo: this._route,\r\n queryParams: {\r\n tab: `${tab}`\r\n },\r\n queryParamsHandling: 'merge',\r\n // preserve the existing query params in the route\r\n skipLocationChange: false\r\n // do not trigger navigation\r\n });\r\n }\r\n\r\n}","import { Subscription } from 'rxjs';\r\nimport { TabMenuService } from './services/tab-menu.service';\r\nimport { Component, OnInit, OnDestroy, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-tab-menu',\r\n templateUrl: './tcloud-ui-tab-menu.component.html',\r\n styleUrls: ['./tcloud-ui-tab-menu.component.scss'],\r\n providers: [ TabMenuService ]\r\n})\r\nexport class TCloudUiTabMenuComponent implements OnInit, OnDestroy {\r\n\r\n @Input() registerInUrl: boolean = false;\r\n\r\n private _loading: boolean = false;\r\n @Input() set loading(loading: boolean){\r\n this._loading = loading;\r\n this.tabMenuService.setTabLoading(this.loading);\r\n }\r\n get loading(): boolean{ return this._loading; }\r\n\r\n private _active: string = '';\r\n @Input() set active(active: string){\r\n this._active = active;\r\n if( this.active !== '' ){\r\n setTimeout(() => {\r\n this.tabMenuService.setTabState(this.active, this.registerInUrl);\r\n });\r\n \r\n }\r\n }\r\n get active(): string{ return this._active; }\r\n\r\n private _full: boolean = false;\r\n @Input() set full(full: boolean){\r\n this._full = full;\r\n this.tabMenuService.setTabfull(this.full);\r\n }\r\n get full(): boolean{ return this._full; }\r\n\r\n\r\n @Output() onChange = new EventEmitter<string>();\r\n\r\n private subscription: Subscription | undefined;\r\n\r\n constructor(\r\n private tabMenuService: TabMenuService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n const tab = this.tabMenuService.getTabState();\r\n if( tab === this._active ){\r\n this.onChange.emit(tab);\r\n }\r\n\r\n this.subscription = this.tabMenuService.tabState$.subscribe((tab: string)=>{\r\n this.onChange.emit(tab);\r\n })\r\n }\r\n\r\n ngOnDestroy(){\r\n if( this.subscription ){ this.subscription.unsubscribe(); }\r\n }\r\n\r\n}\r\n","<div class=\"tcloud-ui-tab-menu tc-tab-menu\" [class.loading]=\"loading\" [class.tcloud-ui-tab-block-full]=\"full\" >\r\n <ng-content></ng-content>\r\n</div>","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { TabMenuService } from '../../services/tab-menu.service';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-tab-content',\r\n templateUrl: './tcloud-ui-tab-content.component.html',\r\n styleUrls: ['./tcloud-ui-tab-content.component.scss']\r\n})\r\nexport class TCloudUiTabContentComponent implements OnInit {\r\n\r\n @Input() hideContent: boolean = false;\r\n @Input() tab: string = '';\r\n\r\n active: boolean = false;\r\n \r\n private subscription: Subscription | undefined;\r\n\r\n constructor(\r\n private tabMenuService: TabMenuService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n const disabled = this.tabMenuService.getIsDisabled(this.tab);\r\n const tab = this.tabMenuService.getTabState();\r\n\r\n this.active = ( tab === this.tab && !disabled );\r\n\r\n this.subscription = this.tabMenuService.tabState$.subscribe((tab: string)=>{\r\n this.active = ( tab === this.tab );\r\n });\r\n }\r\n\r\n ngOnDestroy(){\r\n if( this.subscription ){ this.subscription.unsubscribe(); }\r\n }\r\n\r\n}\r\n","<div class=\"tcloud-ui-tab-content tc-tabmenu-content\" *ngIf=\"active || hideContent\" [class.tc-table-hide]=\"!active\">\r\n <ng-content></ng-content>\r\n</div>\r\n\r\n","import { OnDestroy } from '@angular/core';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { TabMenuService } from '../../services/tab-menu.service';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-tab-title',\r\n templateUrl: './tcloud-ui-tab-title.component.html',\r\n styleUrls: ['./tcloud-ui-tab-title.component.scss']\r\n})\r\nexport class TCloudUiTabTitleComponent implements OnInit, OnDestroy {\r\n\r\n @Input() tab: string = '';\r\n @Input() title: string | undefined;\r\n @Input() active: boolean = false;\r\n\r\n loading: boolean = false;\r\n bottom_line: boolean = false;\r\n\r\n private _disabled: boolean = false;\r\n @Input() set disabled(disabled){\r\n this._disabled = disabled;\r\n this.tabMenuService.setTabDisabled( this.tab, this._disabled );\r\n }\r\n get disabled(): boolean { return this._disabled; }\r\n\r\n \r\n\r\n private subscription = new Subscription();\r\n\r\n constructor(\r\n private tabMenuService: TabMenuService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n if( !this.disabled ){\r\n const tab = this.tabMenuService.getTabState();\r\n if( this.tab !== '' ){\r\n this.active = ( tab === this.tab );\r\n }\r\n\r\n const bottom_line = this.tabMenuService.getTabBottomLine();\r\n if( typeof bottom_line === 'boolean' ){\r\n this.bottom_line = bottom_line;\r\n }\r\n }\r\n \r\n this.subscription?.add(\r\n this.tabMenuService.tabState$.subscribe((tab: string)=>{\r\n if( this.tab !== '' ){\r\n this.active = ( tab === this.tab );\r\n }\r\n })\r\n )\r\n\r\n this.loading = <any> this.tabMenuService.getTabLoading();\r\n this.subscription?.add(\r\n this.tabMenuService.loadingState$.subscribe((loading: boolean)=>{\r\n this.loading = loading;\r\n })\r\n )\r\n\r\n this.subscription?.add(\r\n this.tabMenuService.bottom_lineState$.subscribe((bottom_line: boolean)=>{\r\n this.bottom_line = bottom_line;\r\n })\r\n )\r\n }\r\n\r\n toTab(){\r\n if( !this.disabled ){\r\n if( this.tab && this.tab !== '' ){\r\n this.tabMenuService.setTabState(this.tab);\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(){\r\n if( this.subscription ){ this.subscription.unsubscribe(); }\r\n }\r\n\r\n}\r\n","<button [class.loading]=\"loading\" [attr.data-id]=\"tab\" [class.tab-title-active]=\"active\" [disabled]=\"disabled || loading\" type=\"button\" (click)=\"toTab()\" class=\"tcloud-ui-tab-title tab-title\" >\r\n <ng-content></ng-content>\r\n</button>\r\n<div class=\"bottom-line\" [class.bottom-line-hover]=\"bottom_line\" ></div>","import { OnDestroy } from '@angular/core';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { TabMenuService } from '../../services/tab-menu.service';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-tab-subtitle',\r\n templateUrl: './tcloud-ui-tab-subtitle.component.html',\r\n styleUrls: ['./tcloud-ui-tab-subtitle.component.scss']\r\n})\r\nexport class TCloudUiTabSubtitleComponent implements OnInit, OnDestroy {\r\n\r\n @Input() tab: string = '';\r\n @Input() active: boolean = false;\r\n\r\n private _disabled: boolean = false;\r\n @Input() set disabled(disabled){\r\n this._disabled = disabled;\r\n this.tabMenuService.setTabDisabled( this.tab, this._disabled );\r\n }\r\n get disabled(): boolean { return this._disabled; }\r\n\r\n loading: boolean = false;\r\n bottom_line: boolean = false;\r\n private subscription = new Subscription();\r\n\r\n constructor(\r\n private tabMenuService: TabMenuService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n if( !this.disabled ){\r\n const tab = this.tabMenuService.getTabState();\r\n if( this.tab !== '' ){\r\n this.active = ( tab === this.tab );\r\n }\r\n\r\n const bottom_line = this.tabMenuService.getTabBottomLine();\r\n if( typeof bottom_line === 'boolean' ){\r\n this.bottom_line = bottom_line;\r\n }\r\n\r\n }\r\n\r\n this.subscription?.add(\r\n this.tabMenuService.tabState$.subscribe((tab: string)=>{\r\n if( this.tab !== '' ){\r\n this.active = ( tab === this.tab );\r\n }\r\n })\r\n )\r\n\r\n this.loading = <any> this.tabMenuService.getTabLoading();\r\n this.subscription?.add(\r\n this.tabMenuService.loadingState$.subscribe((loading: boolean)=>{\r\n this.loading = loading;\r\n })\r\n )\r\n\r\n this.subscription?.add(\r\n this.tabMenuService.bottom_lineState$.subscribe((bottom_line: boolean)=>{\r\n this.bottom_line = bottom_line;\r\n })\r\n )\r\n }\r\n\r\n toTab(){\r\n if( !this.disabled ){\r\n if( this.tab && this.tab !== '' ){\r\n this.tabMenuService.setTabState(this.tab);\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(){\r\n if( this.subscription ){ this.subscription.unsubscribe(); }\r\n }\r\n\r\n}\r\n","<button [class.loading]=\"loading\" [attr.data-id]=\"tab\" [class.tab-subtitle-active]=\"active\" [disabled]=\"disabled || loading\" type=\"button\" (click)=\"toTab()\" class=\"tcloud-ui-tab-subtitle tab-subtitle\" >\r\n <ng-content></ng-content>\r\n</button>\r\n<div class=\"bottom-line\" [class.bottom-line-hover]=\"bottom_line\" ></div>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { TabMenuService } from '../../services/tab-menu.service';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-tab-head',\r\n templateUrl: './tcloud-ui-tab-head.component.html',\r\n styleUrls: ['./tcloud-ui-tab-head.component.scss']\r\n})\r\nexport class TCloudUiTabHeadComponent implements OnInit {\r\n\r\n private _scroll: boolean = true;\r\n @Input() set scroll(scroll: boolean){\r\n if( typeof scroll === 'boolean' ){\r\n this._scroll = scroll;\r\n this.tabMenuService.setTabScroll(scroll);\r\n }\r\n }\r\n get scroll(): boolean { return this._scroll; }\r\n\r\n ID: string = '';\r\n @Input() background: boolean = true;\r\n\r\n @Input() backgroundColor: '#FFFFFF'|'#F1F1F1'|'white'|'transparent' = 'transparent'; // var(--cinza4)\r\n\r\n private _bottom_line: boolean = false;\r\n @Input() set bottom_line(bottom_line: boolean){\r\n if( typeof bottom_line === 'boolean' ){\r\n this._bottom_line = bottom_line;\r\n this.tabMenuService.setTabBottomLine(bottom_line);\r\n }\r\n }\r\n get bottom_line(): boolean { return this._bottom_line; }\r\n\r\n constructor(\r\n private tabMenuService: TabMenuService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n if( this.background ){\r\n if( this.backgroundColor === 'white' ){\r\n this.backgroundColor = '#FFFFFF';\r\n }else{\r\n this.backgroundColor = '#F1F1F1';\r\n }\r\n }\r\n\r\n this.ID = this.generateID();\r\n }\r\n\r\n generateID(): string{\r\n return `tc-head-scroll-box-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\r\n }\r\n\r\n to_scroll(action: 'prev'|'next'){\r\n this.moveScroll(action, this.width_scroll());\r\n }\r\n\r\n private width_scroll(): number{\r\n var ele = <any> document.querySelectorAll(`.${this.ID}`);\r\n return ele[0].querySelector(\"button\").offsetWidth;\r\n }\r\n\r\n private scrollSuave(old:any, des:any, atu:any, ele:any){\r\n const _this = this;\r\n var easeOutCubic = (t:any) => { return (--t)*t*t+1 };\r\n atu += 5; // move de 5 em 5 pixel. Aumentando o valor da velocidade\r\n var ease = easeOutCubic(atu/100);\r\n var del = des-old;\r\n del *= ease;\r\n del += old;\r\n ele.scrollTo(del, 0);\r\n if(atu < 100){\r\n window.requestAnimationFrame(() => {\r\n _this.scrollSuave(old, des, atu, ele);\r\n });\r\n }\r\n }\r\n\r\n private moveScroll(action: any, wid: number){\r\n var ele = document.querySelectorAll(`.${this.ID}`);\r\n var ccs = ele[0];\r\n var ccs_s = ccs.scrollLeft;\r\n this.scrollSuave(ccs_s, action == 'next' ? wid+ccs_s : ccs_s-wid, 0, ccs);\r\n }\r\n\r\n}","\r\n\r\n<table class=\"tcloud-ui-tab-head area-navigation\">\r\n <tr>\r\n <td *ngIf=\"scroll\">\r\n <button (click)=\"to_scroll('prev')\"> <i class=\"fas fa-chevron-left\"></i> </button>\r\n </td>\r\n\r\n <td>\r\n\r\n </td>\r\n\r\n <td *ngIf=\"scroll\">\r\n <button (click)=\"to_scroll('next')\"> <i class=\"fas fa-chevron-right\"></i> </button>\r\n </td>\r\n </tr>\r\n</table>\r\n\r\n<div class=\"tc-menu {{ ID }}\" [attr.style]=\"'background: ' + backgroundColor + ';'\" [class.tab-full]=\"!scroll\" [class.tab-subtitle-line-bottom]=\"bottom_line\">\r\n <ng-content></ng-content> \r\n</div>\r\n<div class=\"hr-border-bottom\" *ngIf=\"bottom_line\"></div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiTabMenuComponent } from './tcloud-ui-tab-menu.component';\r\nimport { TCloudUiTabContentComponent } from './components/tcloud-ui-tab-content/tcloud-ui-tab-content.component';\r\nimport { TCloudUiTabTitleComponent } from './components/tcloud-ui-tab-title/tcloud-ui-tab-title.component';\r\nimport { TCloudUiTabSubtitleComponent } from './components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component';\r\nimport { TCloudUiTabHeadComponent } from './components/tcloud-ui-tab-head/tcloud-ui-tab-head.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiTabMenuComponent,\r\n TCloudUiTabContentComponent,\r\n TCloudUiTabTitleComponent,\r\n TCloudUiTabSubtitleComponent,\r\n TCloudUiTabHeadComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n TCloudUiTabMenuComponent,\r\n TCloudUiTabContentComponent,\r\n TCloudUiTabTitleComponent,\r\n TCloudUiTabSubtitleComponent,\r\n TCloudUiTabHeadComponent\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiTabMenuModule { }\r\n","import { IConfirm } from './../tcloud-ui-modal';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class TcloudModalService {\r\n\r\n private loading: boolean | undefined;\r\n\r\n private param_mode: string = '';\r\n private param_confirm: IConfirm = {} as IConfirm;\r\n\r\n private _stateClose = new Subject<boolean>();\r\n public stateClose$ = this._stateClose.asObservable();\r\n\r\n private _stateConfirm = new Subject<IConfirm>();\r\n public stateConfirm$ = this._stateConfirm.asObservable();\r\n\r\n private _stateRespConfirm = new Subject<boolean>();\r\n public stateRespConfirm$ = this._stateRespConfirm.asObservable();\r\n\r\n private _stateLoading = new Subject<boolean>();\r\n public stateLoading$ = this._stateLoading.asObservable();\r\n\r\n private _stateMode = new Subject<string>();\r\n public stateMode$ = this._stateMode.asObservable();\r\n\r\n\r\n toModal(action: 'open'|'close'): void{\r\n if(action === 'close'){\r\n this.fixed_body('off');\r\n }\r\n this._stateClose.next( (action === 'open') );\r\n }\r\n\r\n toRespConfirm(resp: boolean){ \r\n this._stateRespConfirm.next(resp);\r\n }\r\n\r\n getParamConfirm(): IConfirm{\r\n return this.param_confirm;\r\n }\r\n\r\n toConfirm(confirm: IConfirm){\r\n this.param_confirm = confirm;\r\n this._stateConfirm.next(confirm);\r\n }\r\n\r\n toMode(mode: string){\r\n this.param_mode = mode;\r\n this._stateMode.next(mode);\r\n }\r\n\r\n getLoading(){\r\n return this.loading;\r\n }\r\n\r\n setLoading(loading: boolean){\r\n this.loading = loading;\r\n this._stateLoading.next(loading);\r\n }\r\n\r\n fixed_body(fixed: 'on'|'off'){ \r\n let body = <any> document.getElementsByTagName(\"BODY\")[0];\r\n if( body && body.style ){\r\n if( fixed === 'on' ){\r\n body.style.overflowY = \"hidden\";\r\n }\r\n if( fixed === 'off' ){\r\n body.style.removeProperty('overflow-y');\r\n }\r\n }\r\n }\r\n\r\n}","import { Subscription } from 'rxjs';\r\nimport { Component, OnInit, Input, EventEmitter, Output, OnDestroy } from '@angular/core';\r\nimport { TcloudModalService } from './services/tcloud-modal.service';\r\nimport { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { IConfirm } from './tcloud-ui-modal';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-modal',\r\n templateUrl: './tcloud-ui-modal.component.html',\r\n styleUrls: ['./tcloud-ui-modal.component.scss'],\r\n providers: [\r\n TcloudModalService\r\n ],\r\n animations: [\r\n trigger('fade', [\r\n state('visible', style({ opacity: 1 })),\r\n state('hide', style({ opacity: 0, top: '-38%' })),\r\n transition('void => visible', [\r\n style({ opacity: 0, top: '-38%' }),\r\n animate('0.3s ease-out')\r\n ]),\r\n transition('visible => hide', animate('0.3s ease-out'))\r\n ])\r\n ]\r\n})\r\nexport class TCloudUiModalComponent implements OnInit, OnDestroy {\r\n\r\n /**\r\n * tcloud-ui-modal - Cria e exibe um modal\r\n * \r\n * toAction - (toAction) - Resultado do evento - 'confirmed'|'cancel'|'close'\r\n * toConfirm - (toConfirm) - Indica que a ação foi confirmada - resultado true\r\n * toCancel - (toCancel() - Indica que a ação foi cancelada - resultado false\r\n */\r\n\r\n param_confirm: IConfirm = {} as IConfirm;\r\n /* BEGIN - Parametros para modo confirmacao */\r\n private _confirm: boolean = false;\r\n private _confirmText: string = 'Confirmo';\r\n\r\n /**\r\n * confirm boolean - Indica se será um modal do tipo confirmação - default false\r\n */\r\n @Input() set confirm(v: boolean){\r\n this._confirm = v;\r\n this.param_confirm.confirm = this._confirm;\r\n this.param_confirm.confirmText = this._confirmText;\r\n }\r\n\r\n /**\r\n * confirmText string - Texto que deverá ser digitado - defualt Confirmo\r\n */\r\n @Input() set confirmText(v: string){\r\n this._confirmText = v;\r\n this.param_confirm.confirmText = this._confirmText;\r\n this.param_confirm.confirm = this._confirm; \r\n }\r\n\r\n /* END --- Parametros para modo confirmacao */\r\n\r\n subscription = new Subscription();\r\n\r\n /**\r\n * autoClose boolean - Indica se deverá ser fechado quando confirmar uma ação - default true\r\n */\r\n @Input() autoClose: boolean = true;\r\n\r\n /**\r\n * title - string - Título a ser exibido no topo do modal\r\n */\r\n @Input() title: any | undefined;\r\n\r\n /**\r\n * maxWidth - number - Largura máxima do modal - default 500px\r\n */\r\n @Input() maxWidth: number = 500;\r\n\r\n\r\n /**\r\n * window - string - nome referente ao tamanho do modal - não utilizar maxWidth se for utilizar window - default 500 (medium)\r\n */\r\n @Input() set window( size: 'small' | 'medium' | 'large' | 'big' | 'full' ){\r\n switch (size) {\r\n case 'small': this.maxWidth = 300; break;\r\n case 'medium': this.maxWidth = 500; break;\r\n case 'large': this.maxWidth = 900; break;\r\n case 'big': this.maxWidth = 1100; break;\r\n case 'full': this.maxWidth = 1400; break;\r\n }\r\n }\r\n\r\n \r\n mode: string = '';\r\n control_open: boolean = false;\r\n private _open: boolean = false;\r\n /**\r\n * open - boolean - Variável de controle para exibição do modal - obrigatório\r\n */\r\n @Input() set open(open: boolean){\r\n this.control_open = open;\r\n this.checkIsOpen();\r\n\r\n this._open = open;\r\n this.tcloudModalService.fixed_body((open) ? 'on' : 'off');\r\n }\r\n get open(): boolean { return this._open; }\r\n\r\n private _loading: boolean = false;\r\n /**\r\n * loading - boolean - Coloca o modal em modo de carregamento - default false\r\n */\r\n @Input() set loading(loading: boolean){ \r\n this._loading = loading;\r\n this.tcloudModalService.setLoading(loading);\r\n }\r\n get loading(): boolean { return this._loading; }\r\n \r\n @Output() openChange = new EventEmitter<boolean>();\r\n\r\n @Output() toConfirm = new EventEmitter<boolean>();\r\n @Output() toCancel = new EventEmitter<boolean>();\r\n @Output() toAction = new EventEmitter<'confirmed'|'cancel'|'close'>();\r\n\r\n constructor(\r\n private tcloudModalService: TcloudModalService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.subscription.add(this.tcloudModalService.stateClose$.subscribe(\r\n (open: boolean)=>{\r\n if( open ){\r\n /* OPEN */\r\n }\r\n\r\n if( !open ){\r\n /* CLOSE */\r\n this.toClose();\r\n }\r\n })\r\n );\r\n\r\n this.subscription.add(\r\n this.tcloudModalService.stateRespConfirm$.subscribe(\r\n (resp: boolean)=>{\r\n if( resp ){\r\n /* CONFIRMADO */\r\n this.toConfirm.emit(resp);\r\n this.toClose('confirmed');\r\n\r\n }\r\n\r\n if( !resp ){\r\n /* CANCELADO */\r\n this.toCancel.emit(resp);\r\n this.toClose('cancel');\r\n }\r\n }\r\n )\r\n )\r\n\r\n this.subscription.add(\r\n this.tcloudModalService.stateMode$.subscribe(\r\n (resp: string)=>{\r\n this.mode = resp;\r\n }\r\n )\r\n )\r\n \r\n this.tcloudModalService.toConfirm( this.param_confirm );\r\n }\r\n\r\n toClose(action?: any | undefined){\r\n if( this.autoClose ){\r\n this.control_open = false;\r\n this.open = false;\r\n this.openChange.emit(false);\r\n }\r\n \r\n action = (action) ? action : 'close';\r\n this.toAction.emit(action);\r\n this.tcloudModalService.fixed_body('off');\r\n }\r\n\r\n checkIsOpen(){\r\n if( this.control_open ){\r\n this.tcloudModalService.fixed_body('on');\r\n }else{\r\n this.tcloudModalService.fixed_body('off');\r\n }\r\n }\r\n\r\n ngOnDestroy(){\r\n this.checkIsOpen();\r\n if( this.subscription ){ this.subscription.unsubscribe(); }\r\n }\r\n\r\n\r\n}\r\n","<div class=\"tc-background-modal\" *ngIf=\"control_open\" >{{ checkIsOpen() }}</div>\r\n\r\n<div class=\"tcloud-ui-modal base-modal\" *ngIf=\"open\">\r\n <div class=\"sub-modal\" [@fade]=\"'visible'\">\r\n <div class=\"tc-modal tc-modal-shadow\" [attr.style]=\"'max-width: ' + maxWidth + 'px;'\">\r\n <div class=\"area-top-actions tc-ui-modal-{{mode}}\">\r\n <button type=\"button tc-btn-action-close-ui-modal\" [class.no-use-header]=\"title\" (click)=\"toClose()\" [disabled]=\"loading\">\r\n <i *ngIf=\"!loading\" class=\"fas fa-times\"></i>\r\n <i *ngIf=\"loading\" class=\"fas fa-spinner fa-spin\"></i>\r\n </button>\r\n </div>\r\n\r\n <h4 *ngIf=\"title\" [innerHTML]=\"title\"></h4>\r\n\r\n <ng-content></ng-content>\r\n\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Ex: Modal -->\r\n<!-- \r\n <tcloud-ui-modal [(open)]=\"open\">\r\n\r\n <tcloud-ui-modal-header title=\"Título do Modal\" ></tcloud-ui-modal-header>\r\n\r\n <tcloud-ui-modal-body>\r\n Conteúdo do modal aqui\r\n </tcloud-ui-modal-body>\r\n\r\n <tcloud-ui-modal-footer></tcloud-ui-modal-footer>\r\n\r\n </tcloud-ui-modal>\r\n\r\n <button type=\"button\" (click)=\"open = !open\">open modal {{ open }}</button>\r\n-->\r\n\r\n<!-- ****** -->\r\n<!-- ****** -->\r\n<!-- ****** -->\r\n<!-- ****** -->\r\n\r\n<!-- Ex: Confirm Modal -->\r\n<!-- \r\n <tcloud-ui-modal [(open)]=\"open_confirm\" [title]=\"'Atenção'\" [confirmText]=\"'Aceito'\" [confirm]=\"true\" (toAction)=\"$event\" >\r\n\r\n <tcloud-ui-modal-body>Deseja realmente executar esta ação?</tcloud-ui-modal-body>\r\n\r\n <tcloud-ui-modal-footer></tcloud-ui-modal-footer>\r\n\r\n </tcloud-ui-modal>\r\n\r\n <button type=\"button\" (click)=\"open_confirm = !open_confirm\">open_confirm modal {{ open_confirm }}</button>\r\n-->","import { Component, Input, OnInit } from '@angular/core';\r\nimport { TcloudModalService } from '../../services/tcloud-modal.service';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-modal-header',\r\n templateUrl: './tcloud-ui-modal-header.component.html',\r\n styleUrls: ['./tcloud-ui-modal-header.component.scss']\r\n})\r\nexport class TCloudUiModalHeaderComponent implements OnInit {\r\n\r\n @Input() mode: 'colorless' | 'info' | 'success' | 'danger' | 'warning' = 'info';\r\n @Input() title: any | undefined;\r\n \r\n constructor(\r\n private _tcloudModalService: TcloudModalService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this._tcloudModalService.toMode( this.mode );\r\n }\r\n\r\n}\r\n","<div class=\"tcloud-ui-modal-header tc-modal-header tc-mode-{{ mode }}\" >\r\n <h4 *ngIf=\"title\" [innerHTML]=\"title\"></h4>\r\n <ng-content></ng-content>\r\n\r\n <hr>\r\n</div>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-modal-body',\r\n templateUrl: './tcloud-ui-modal-body.component.html',\r\n styleUrls: ['./tcloud-ui-modal-body.component.scss']\r\n})\r\nexport class TCloudUiModalBodyComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div class=\"tcloud-ui-modal-body tc-modal-body\">\r\n <ng-content></ng-content>\r\n</div>","import { Subscription } from 'rxjs';\r\nimport { TcloudModalService } from './../../services/tcloud-modal.service';\r\nimport { Component, OnInit, ViewChild, Input, OnDestroy } from '@angular/core';\r\nimport { IConfirm } from '../../tcloud-ui-modal';\r\nimport { NgForm } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-modal-footer',\r\n templateUrl: './tcloud-ui-modal-footer.component.html',\r\n styleUrls: ['./tcloud-ui-modal-footer.component.scss']\r\n})\r\nexport class TCloudUiModalFooterComponent implements OnInit, OnDestroy {\r\n\r\n @Input() btnCloseText: string = 'Fechar';\r\n @Input() btnCancelText: string = 'Cancelar';\r\n @Input() btnConfirmText: string = 'Confirmar';\r\n\r\n @ViewChild('_formulario') _formulario: NgForm | undefined; \r\n txt_value: string = '';\r\n\r\n param_confirm: IConfirm = {} as IConfirm;\r\n\r\n loading: boolean = false;\r\n\r\n subscription: Subscription |undefined\r\n\r\n constructor(\r\n private tcloudModalService: TcloudModalService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.txt_value = '';\r\n this.param_confirm = this.tcloudModalService.getParamConfirm();\r\n\r\n this.toStateLoading();\r\n }\r\n\r\n toClose(){\r\n this.tcloudModalService.toModal('close');\r\n }\r\n\r\n toConfirm(valid: boolean | any){\r\n if( typeof valid === 'boolean' ){\r\n if( valid && (this.txt_value).toLowerCase() === (this.param_confirm.confirmText).toLowerCase() ){\r\n this.tcloudModalService.toRespConfirm(true);\r\n this.txt_value = ''; \r\n }\r\n }\r\n }\r\n\r\n toCancel(){\r\n this.tcloudModalService.toRespConfirm(false);\r\n }\r\n\r\n toStateLoading(){\r\n this.loading = <any> this.tcloudModalService.getLoading();\r\n this.subscription = this.tcloudModalService.stateLoading$.subscribe((loading: boolean) => { this.loading = loading; } )\r\n }\r\n\r\n\r\n ngOnDestroy(): void {\r\n this.tcloudModalService.fixed_body('off');\r\n if( this.subscription ){ this.subscription.unsubscribe(); }\r\n }\r\n\r\n}\r\n","<div class=\"tcloud-ui-modal-footer tc-modal-footer\">\r\n\r\n <div class=\"input-confirm\" *ngIf=\"param_confirm && param_confirm.confirmText\">\r\n <p>Digite a palavra <strong>"{{ param_confirm.confirmText }}"</strong> para confirmar.</p>\r\n \r\n <form #_formulario=\"ngForm\" (ngSubmit)=\"toConfirm(_formulario.valid)\">\r\n <input \r\n [disabled]=\"loading\"\r\n placeholder=\"{{ param_confirm.confirmText }}\"\r\n name=\"txt_value\" \r\n [(ngModel)]=\"txt_value\" \r\n type=\"text\" \r\n class=\"tc-form-confirm tc-form-control\" \r\n required \r\n [class.different-text]=\"(txt_value).length >= (param_confirm.confirmText).length && (txt_value).toLowerCase() !== (param_confirm.confirmText).toLowerCase()\" >\r\n </form>\r\n\r\n </div>\r\n\r\n <hr>\r\n\r\n <div class=\"actions-footer {{ (loading) ? 'state-loading' : '' }}\">\r\n <!-- {{ param_confirm | json }} -->\r\n <button [disabled]=\"loading\" *ngIf=\"param_confirm && !param_confirm.confirm\" type=\"button\" class=\"tc-btn margin-l-5\" (click)=\"toClose()\">{{ btnCloseText }}</button>\r\n\r\n <button [disabled]=\"loading\" *ngIf=\"param_confirm && param_confirm.confirm\" type=\"button\" class=\"tc-btn margin-l-5\" (click)=\"toCancel()\">{{ btnCancelText }}</button>\r\n <button [disabled]=\"(txt_value).toLowerCase() !== (param_confirm.confirmText).toLowerCase() || loading\" *ngIf=\"param_confirm && param_confirm.confirm\" type=\"button\" class=\"tc-btn tc-btn-primary margin-l-5\" (click)=\"toConfirm(_formulario?.valid)\">{{ btnConfirmText }}</button>\r\n\r\n </div>\r\n</div>\r\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TCloudUiModalComponent } from './tcloud-ui-modal.component';\r\nimport { TCloudUiModalHeaderComponent } from './components/tcloud-ui-modal-header/tcloud-ui-modal-header.component';\r\nimport { TCloudUiModalBodyComponent } from './components/tcloud-ui-modal-body/tcloud-ui-modal-body.component';\r\nimport { TCloudUiModalFooterComponent } from './components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiModalComponent,\r\n TCloudUiModalHeaderComponent,\r\n TCloudUiModalBodyComponent,\r\n TCloudUiModalFooterComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n exports: [\r\n TCloudUiModalComponent,\r\n TCloudUiModalHeaderComponent,\r\n TCloudUiModalBodyComponent,\r\n TCloudUiModalFooterComponent\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiModalModule { }\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\nclass Step {\r\n\r\n constructor(){\r\n this.status = '';\r\n this.index = 0;\r\n this.class = '';\r\n this.second_class = '';\r\n }\r\n\r\n status: string;\r\n index: number;\r\n class: string;\r\n second_class: string;\r\n}\r\n\r\n@Component({\r\n selector: 'tcloud-ui-line-step-circle',\r\n templateUrl: './tcloud-ui-line-step-circle.component.html',\r\n styleUrls: ['./tcloud-ui-line-step-circle.component.scss']\r\n})\r\nexport class TCloudUiLineStepCircleComponent implements OnInit {\r\n\r\n @Input() step: number = 7;\r\n \r\n private _active: number = 0;\r\n @Input() set active( active: number ){\r\n if( active && active !== this._active ){\r\n this._active = active;\r\n this.build_steps();\r\n } \r\n }\r\n get active(): number{ return this._active; }\r\n\r\n private _inactives = [] as number[] | undefined;\r\n @Input() set inactives( inactives: number[] | undefined){\r\n if( inactives && inactives !== this._inactives ){\r\n this._inactives = inactives;\r\n this.build_steps();\r\n }\r\n }\r\n get inactives(): number[] | undefined { return this._inactives; }\r\n\r\n\r\n private _complete: boolean = false;\r\n @Input() set complete( complete: boolean ){\r\n if( complete && complete !== this._complete ){\r\n this._complete = complete;\r\n this.build_steps();\r\n } \r\n }\r\n get complete(): boolean{ return this._complete; }\r\n\r\n trilha = new Array<Step>();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n setTimeout(() => { this.build_steps(); }); \r\n }\r\n\r\n build_steps(){\r\n let trilha = new Array<Step>();\r\n if( this.step && this.step > 0 ){\r\n for( let i = 0; i < this.step; i++ ){\r\n (trilha).push({\r\n status: '',\r\n index: i+1,\r\n class: 'step-default',\r\n second_class: '',\r\n })\r\n }\r\n }\r\n\r\n if( this.active > this.step ){\r\n this.active = this.step;\r\n this.complete = true;\r\n }\r\n\r\n if( this.active && this.active > 0 ){\r\n for( let i = 0; i < this.active; i++ ){ \r\n trilha[i].class = \"step-progress\"; \r\n if( (i+1) === this.active && !this.complete ){\r\n trilha[i].class = \"step-active\";\r\n }\r\n }\r\n }\r\n \r\n if( this.inactives && (this.inactives).length > 0 ){\r\n for( let i = 0; i < (this.inactives).length; i++ ){\r\n const icon = this.inactives[i];\r\n if( icon && icon > 0 ){\r\n trilha[(icon-1)].second_class = \"step-inactive\"; \r\n } \r\n }\r\n }\r\n\r\n this.trilha = trilha;\r\n }\r\n\r\n}\r\n","<table class=\"tcloud-ui-line-step-circle table-trilha\" cellspacing=\"0\" cellpadding=\"0\">\r\n <tr>\r\n <ng-container *ngFor=\"let fase of trilha; let i = index\" >\r\n <td class=\"area-circle\">\r\n <!-- <i class=\"fas fa-circle icon-{{ fase.class }} {{ fase.second_class }} \"></i> -->\r\n\r\n <div class=\"tc-circle icon-{{ fase.class }} {{ fase.second_class }}\"></div>\r\n \r\n </td>\r\n <td class=\"area-line\" *ngIf=\"(i+1) < (trilha).length\">\r\n <div class=\"step-line {{ fase.class }}\"></div>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n</table>","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiLineStepCircleComponent } from './tcloud-ui-line-step-circle.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiLineStepCircleComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n TCloudUiLineStepCircleComponent\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiLineStepCircleModule { }\r\n","import { Component, EventEmitter, forwardRef, Input, OnInit, Output, OnDestroy } from '@angular/core';\r\nimport { FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from '@angular/forms';\r\n\r\nconst CUSTOM_INPUT_VALIDATORS: any = { \r\n provide: NG_VALIDATORS, \r\n useExisting: forwardRef(() => TCloudUiMultiSelectComponent),\r\n multi: true\r\n}\r\n\r\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiMultiSelectComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n@Component({\r\n selector: 'tcloud-ui-multi-select',\r\n templateUrl: './tcloud-ui-multi-select.component.html',\r\n styleUrls: ['./tcloud-ui-multi-select.component.scss'],\r\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CUSTOM_INPUT_VALIDATORS]\r\n})\r\nexport class TCloudUiMultiSelectComponent implements OnInit, OnDestroy, Validator {\r\n\r\n \r\n\r\n @Input() tcList: any[] | undefined;\r\n @Input() placeholder: string = 'Selecione um item';\r\n @Input() disabled: boolean = false;\r\n @Input() loading: boolean = false;\r\n @Input() required: string | undefined;\r\n\r\n @Input() maxWidthLabel: string | undefined;\r\n @Input() showDescriptionInValue: boolean = false;\r\n @Input() showInput: boolean = false;\r\n\r\n @Output() tcChange = new EventEmitter<any[]>();\r\n\r\n use_validation_required: boolean = false;\r\n values: any[] | undefined;\r\n count_actives: number = 0;\r\n item_value: any | undefined;\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n setTimeout(() => { this.toChange(); });\r\n }\r\n\r\n addItem(item: any): void{\r\n if( this.disabled ){ return; }\r\n if( this.tcList ){\r\n for( let i = 0; i < (this.tcList).length; i++ ){\r\n const row = this.tcList[i];\r\n if( item === row.value ){\r\n this.tcList[i].active = true;\r\n break;\r\n }\r\n }\r\n this.toChange();\r\n } \r\n }\r\n\r\n removeItem(item: any): void{\r\n if( this.disabled ){ return; }\r\n if( this.tcList ){\r\n for( let i = 0; i < (this.tcList).length; i++ ){\r\n const row = this.tcList[i];\r\n if( item === row.value ){\r\n this.tcList[i].active = false;\r\n break;\r\n }\r\n }\r\n this.toChange();\r\n }\r\n }\r\n\r\n private toChange(): void{\r\n let count_actives = 0;\r\n let itens: any[] = [];\r\n if( this.tcList ){\r\n for( let i = 0; i < (this.tcList).length; i++ ){\r\n const row = this.tcList[i];\r\n if( row.active ){\r\n count_actives++;\r\n (itens).push(row);\r\n }\r\n }\r\n }\r\n this.item_value = null;\r\n this.count_actives = count_actives;\r\n this.tcChange.emit(itens);\r\n this.onChangeCallback(this.tcList);\r\n }\r\n\r\n\r\n check_is_valid(): boolean{\r\n let active = 0;\r\n if( this.tcList ){\r\n for( let i = 0; i < (this.tcList).length; i++ ){\r\n const item = this.tcList[i];\r\n if( item && item.active && item.active === true){\r\n active++;\r\n break;\r\n }\r\n }\r\n }\r\n return (active > 0) ? true : false;\r\n }\r\n\r\n onChangeTouched(){ \r\n this.onTouchedCallback(); \r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n @Output() onChange = new EventEmitter<any>();\r\n // @Output() ngModelChange = new EventEmitter<any>();\r\n\r\n innerValue: any | undefined;\r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): any {\r\n return this.innerValue;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: any) {\r\n if (v !== this.innerValue) {\r\n this.innerValue = v; \r\n this.onChangeCallback(v);\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.innerValue) {\r\n this.innerValue = value;\r\n this.toSetDefault(value);\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n toSetDefault(value: any){\r\n this.tcList = value;\r\n }\r\n\r\n public validate(c: FormControl): any {\r\n if( c && ( typeof this.required !== 'undefined' ) ){\r\n this.use_validation_required = true;\r\n return (this.check_is_valid()) ? null : 'required';\r\n }\r\n return null;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n \r\n }\r\n}\r\n","\r\n <div class=\"tcloud-ui-multi-select\">\r\n <table *ngIf=\"!showInput\">\r\n <tr *ngIf=\"tcList\">\r\n <td>\r\n <select\r\n class=\"tc-form-control\"\r\n [(ngModel)]=\"item_value\"\r\n [class.tc-parent-validation]=\"use_validation_required\"\r\n #_select\r\n [disabled]=\"tcList === undefined || (tcList && tcList.length === 0) || disabled || loading\"\r\n [title]=\"tcList.length === 0 ? 'Nenhum item disponível' : placeholder\">\r\n\r\n <option value=\"null\" disabled selected>{{ placeholder }}</option>\r\n\r\n <ng-container *ngFor=\"let item of tcList; let i = index\">\r\n <option [title]=\"item.description\" *ngIf=\"!item.active\" [value]=\"item.value\">{{ item.description }}</option>\r\n </ng-container>\r\n </select>\r\n </td>\r\n <td>\r\n <button\r\n [disabled]=\"!item_value || tcList === undefined || (tcList && tcList.length === 0) || disabled || loading\"\r\n title=\"Adicionar\"\r\n class=\"btn-plus-select\"\r\n (click)=\"addItem(_select.value);onChangeTouched()\"\r\n type=\"button\">\r\n <i class=\"fas fa-plus\"></i>\r\n </button>\r\n </td>\r\n </tr>\r\n </table>\r\n\r\n <div class=\"box-itens-selected\" *ngIf=\"count_actives > 0 && (tcList && tcList.length > 0)\">\r\n <ng-container *ngFor=\"let item of tcList\">\r\n\r\n <ng-container *ngIf=\"item.active\">\r\n <div class=\"box-label\" [ngStyle]=\"(maxWidthLabel) ? {'max-width': maxWidthLabel} : null\" >\r\n <div class=\"box-value\" [title]=\"item.value\" *ngIf=\"!showDescriptionInValue\">\r\n {{ item.value }}\r\n </div>\r\n <div class=\"box-value\" [title]=\"item.description\" *ngIf=\"showDescriptionInValue\">\r\n {{ item.description }}\r\n </div>\r\n <div class=\"box-action\">\r\n <button\r\n [disabled]=\"tcList === undefined || (tcList && tcList.length === 0) || disabled || loading\"\r\n title=\"Remover\"\r\n type=\"button\"\r\n (click)=\"removeItem(item.value);onChangeTouched()\">\r\n <i class=\"fas fa-times\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </ng-container>\r\n </div>\r\n </div>\r\n","import { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiMultiSelectComponent } from './tcloud-ui-multi-select.component';\r\n\r\n@NgModule({\r\n declarations: [TCloudUiMultiSelectComponent],\r\n exports: [TCloudUiMultiSelectComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiMultiSelectModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class DataListService {\r\n private _stateSourceValue: Subject<any> = new Subject<any>();\r\n public stateValue$: Observable<Subject<any>> = this._stateSourceValue.asObservable();\r\n\r\n private _stateSourceDescription: Subject<any> = new Subject<any>();\r\n public stateDescription$: Observable<Subject<any>> = this._stateSourceDescription.asObservable();\r\n\r\n private _stateSourceOptions: Subject<any> = new Subject<any>();\r\n public stateOptions$: Observable<Subject<any>> = this._stateSourceOptions.asObservable();\r\n\r\n private _stateSourceActive: Subject<any> = new Subject<any>();\r\n public stateActive$: Observable<Subject<any>> = this._stateSourceActive.asObservable();\r\n\r\n private actived_value: any | undefined;\r\n\r\n public setItemValue(v: any): void {\r\n this.actived_value = v;\r\n this._stateSourceValue.next(v);\r\n }\r\n\r\n public setItemDescription(v: any): void {\r\n this._stateSourceDescription.next(v);\r\n }\r\n\r\n public registerSelectionOptionsDescription(v: any): void {\r\n this._stateSourceOptions.next(v);\r\n }\r\n\r\n public setActiveItem(v: any): void {\r\n this._stateSourceActive.next(v); \r\n }\r\n\r\n public getActiveItem(): any {\r\n // console.log('getActiveItem', this.actived_value);\r\n return this.actived_value;\r\n }\r\n \r\n}","export class ISelectOptions{\r\n description: any;\r\n value: any;\r\n disabled?: boolean;\r\n}","import { OnDestroy } from '@angular/core';\r\nimport { ISelectOptions } from './../tcloud-ui-data-list';\r\nimport { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { DataListService } from '../services/data-list.service';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-data-list-option',\r\n templateUrl: './tcloud-ui-data-list-option.component.html',\r\n styleUrls: ['./tcloud-ui-data-list-option.component.scss']\r\n})\r\nexport class TCloudUiDataListOptionComponent implements OnInit, OnDestroy {\r\n\r\n id: string = ''; \r\n actived_value: any;\r\n select_options = new ISelectOptions();\r\n private subscription_active: Subscription | undefined;\r\n\r\n @Input() disabled: boolean | undefined = false;\r\n @Input() value: any | undefined;\r\n\r\n @Output() selected = new EventEmitter<any>(); \r\n\r\n constructor( private dataListService: DataListService ) { \r\n }\r\n\r\n ngOnInit(): void {\r\n this.actived_value = this.dataListService.getActiveItem();\r\n this.subscription_active = this.dataListService.stateActive$.subscribe(v => { \r\n this.actived_value = v; \r\n });\r\n this.id = this.generateID();\r\n this.setSelectOptions();\r\n }\r\n\r\n generateID(): string{\r\n return `data-list-option-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\r\n }\r\n\r\n setSelectedItem(value: any){\r\n if( this.disabled ){ return; }\r\n if( value === '' ){ this.value = ''; } \r\n\r\n this.dataListService.setItemValue(this.value);\r\n const description = <any> document.getElementById(this.id)?.innerText || '';\r\n this.dataListService.setItemDescription(description);\r\n this.setSelectOptions(); \r\n }\r\n\r\n setSelectOptions(){\r\n setTimeout(() => {\r\n try {\r\n const description = <any> document.getElementById(this.id)?.innerText;\r\n this.select_options.value = this.value;\r\n this.select_options.description = description; \r\n this.dataListService.registerSelectionOptionsDescription(this.select_options);\r\n } catch (error) { }\r\n }); \r\n }\r\n\r\n ngOnDestroy() {\r\n if( this.subscription_active ){ this.subscription_active.unsubscribe(); } \r\n }\r\n\r\n}\r\n","<button \r\n [disabled]=\"disabled\"\r\n [title]=\"select_options.description\"\r\n id=\"{{id}}\"\r\n [attr.data-description]=\"select_options.description\"\r\n [attr.data-actived-value]=\"actived_value\"\r\n class=\"tcloud-ui-data-list-option dropdown-item\" \r\n [class.null-value]=\"value === undefined || value === null || value === ''\"\r\n [class.active]=\"value === actived_value\" \r\n [class.option-disabled]=\"disabled\"\r\n type=\"button\" \r\n [value]=\"value\"\r\n (click)=\"setSelectedItem(value)\" >\r\n <ng-content></ng-content>\r\n</button>\r\n","import { DataListService } from './services/data-list.service';\r\nimport { Component, forwardRef, OnInit, Output, EventEmitter, ViewChild, Input, OnDestroy, AfterViewChecked } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, NgForm, FormGroup, FormBuilder, FormControl } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\nimport { ISelectOptions } from './tcloud-ui-data-list';\r\n\r\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiDataListComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n\r\n@Component({\r\n selector: 'tcloud-ui-data-list',\r\n templateUrl: './tcloud-ui-data-list.component.html',\r\n styleUrls: ['./tcloud-ui-data-list.component.scss'],\r\n providers: [\r\n DataListService, \r\n CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR\r\n ],\r\n})\r\nexport class TCloudUiDataListComponent implements OnInit, OnDestroy, AfterViewChecked {\r\n\r\n viewport_width: number = 0;\r\n viewport_height: number = 0;\r\n box_height: number = 0;\r\n box_style: string = '';\r\n menu_on_top: string = '';\r\n\r\n @Input() placeholder: string = '';\r\n\r\n private _disabled: boolean = false;\r\n @Input() set disabled(v){\r\n if( typeof v === 'boolean' && v !== this._disabled ){\r\n this._disabled = v; \r\n //this.selected_description = '';\r\n //this.selected_item ='';\r\n this.toChange();\r\n }\r\n }\r\n get disabled():boolean { return this._disabled; }\r\n\r\n private _loading: boolean = false;\r\n @Input() set loading(v: boolean){\r\n if( typeof v === 'boolean' && v !== this._loading ){\r\n this._loading = v; \r\n //this.selected_description = '';\r\n //this.selected_item = '';\r\n this.toChange();\r\n }\r\n }\r\n get loading():boolean { return this._loading; }\r\n\r\n\r\n @Input() showInput: boolean = true;\r\n @Input() search: boolean = true;\r\n \r\n private _listItems: ISelectOptions[] = [];\r\n @Input() set listItems(v: ISelectOptions[]){\r\n if( v && (v).length > 0 ){\r\n this._listItems = v;\r\n }\r\n }\r\n get listItems():ISelectOptions[] { return this._listItems; }\r\n\r\n private _open: boolean = false;\r\n @Input() set open(v: boolean){\r\n if( v !== this._open ){\r\n this._open = v;\r\n if( v ){\r\n this.menu_show = false;\r\n setTimeout(()=>{ this.toOpen(); }); \r\n }\r\n }\r\n }\r\n get open():boolean { return this._open; }\r\n\r\n \r\n \r\n @Input() border: boolean = true;\r\n\r\n @Output() onInputChange = new EventEmitter<ISelectOptions>();\r\n @Output() onChange = new EventEmitter<ISelectOptions>();\r\n\r\n @Output() onOpened = new EventEmitter<any>();\r\n @Output() onClosed = new EventEmitter<any>();\r\n\r\n private _ngModel: any | undefined;\r\n @Input() set ngModel(v: any){\r\n this.selected_item = v; \r\n this.selectDescription(); \r\n }\r\n @Output() ngModelChange = new EventEmitter<any>();\r\n\r\n list_selected_options = new Array<ISelectOptions>();\r\n\r\n selected_item: any | undefined;\r\n selected_description: any | undefined;\r\n\r\n private subscription_value: Subscription | undefined;\r\n private subscription_description: Subscription | undefined;\r\n private subscription_options: Subscription | undefined;\r\n\r\n menu_show: boolean = false;\r\n search_text: string = '';\r\n id: string = '';\r\n\r\n formulario: FormGroup | undefined;\r\n\r\n constructor(\r\n private dataListService: DataListService,\r\n private formBuilder: FormBuilder\r\n ){\r\n\r\n this.subscription_value = this.dataListService.stateValue$.subscribe(v => {\r\n this.selected_item = v; \r\n this.selectDescription();\r\n this.ngModelChange.emit(this.selected_item);\r\n })\r\n\r\n this.subscription_description = this.dataListService.stateDescription$.subscribe(v => {\r\n this.selected_description = v; \r\n })\r\n\r\n\r\n this.subscription_options = this.dataListService.stateOptions$.subscribe((v:any) => {\r\n if( v && v.value ){\r\n (this.list_selected_options).push(v);\r\n }\r\n })\r\n\r\n }\r\n\r\n ngOnInit(){\r\n\r\n \r\n\r\n this.id = this.generateID();\r\n\r\n this.formulario = this.formBuilder.group({\r\n \"selected_item\": new FormControl('',[]),\r\n })\r\n\r\n \r\n\r\n this.toResize();\r\n this.toClick();\r\n }\r\n\r\n t_fc: any | undefined;\r\n ngAfterViewChecked(): void {\r\n this.t_fc = undefined;\r\n this.t_fc = this.get_selected_description();\r\n }\r\n\r\n get_selected_description(): void{\r\n if( this.list_selected_options && (this.list_selected_options).length > 0 ){\r\n for( let i = 0; i < (this.list_selected_options).length; i++ ){\r\n const item = this.list_selected_options[i];\r\n if( item.value === this.selected_item ){ \r\n if( this.selected_description !== item.description ){\r\n if( item.description && item.description !== this.selected_description ){\r\n setTimeout(() => {\r\n this.selected_description = item.description; \r\n this.dataListService.setActiveItem(this.selected_item);\r\n });\r\n }\r\n } \r\n break;\r\n }\r\n }\r\n } \r\n }\r\n\r\n generateID(): string{\r\n return `data-list-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\r\n }\r\n\r\n ngOnDestroy() {\r\n if( this.subscription_value ){ this.subscription_value.unsubscribe(); } \r\n if( this.subscription_description ){ this.subscription_description.unsubscribe(); } \r\n if( this.subscription_options ){ this.subscription_options.unsubscribe(); } \r\n }\r\n\r\n toSearch(e: any) {\r\n let input = (e && e.target && e.target.value) ? e.target.value : '';\r\n \r\n let filter = ( ( (input).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\r\n let ul = <any> document.getElementById(`${this.id}-options`);\r\n if( ul ){\r\n let li = ul.getElementsByTagName(\"button\");\r\n for (let i = 0; i < li.length; i++) {\r\n const a = li[i];\r\n const txtValue = ( ( ( a.textContent || a.innerText ).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\r\n if (txtValue.indexOf(filter) > -1) {\r\n li[i].style.display = \"\";\r\n } else {\r\n li[i].style.display = \"none\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n selectDescription(){\r\n if( this.list_selected_options && (this.list_selected_options).length > 0 ){\r\n for( let i = 0; i < (this.list_selected_options).length; i++ ){\r\n const item = this.list_selected_options[i];\r\n if( item.value === this.selected_item ){\r\n this.selected_description = item.description;\r\n this.toChange();\r\n return;\r\n }\r\n }\r\n }\r\n\r\n if( this.selected_item === undefined || this.selected_item === null || this.selected_item === '' ){\r\n this.selected_description = '';\r\n this.toChange();\r\n }\r\n \r\n }\r\n\r\n \r\n toInput(e: any){\r\n this.onInputChange.emit(this.selected_description);\r\n this.onChange.emit(e);\r\n }\r\n\r\n toChange(){\r\n setTimeout(() => {\r\n if( this.selected_item === undefined || this.selected_item === null ){\r\n this.selected_item = '';\r\n }\r\n this.toSearch('');\r\n this.search_text = '';\r\n this.dataListService.setActiveItem(this.selected_item);\r\n\r\n this.onInputChange.emit(this.selected_description);\r\n\r\n if( this.formulario ){\r\n this.formulario?.get('selected_item')?.setValue(this.selected_item);\r\n // const input_hidden = document.getElementById(`${this.id}-hidden`);\r\n this.toInput(this.formulario.get('selected_item'));\r\n } \r\n });\r\n }\r\n\r\n\r\n clearTextSearch(){\r\n this.search_text = '';\r\n this.toSearch('');\r\n }\r\n\r\n toOpen(){\r\n this.menu_show = !this.menu_show; \r\n this.resolve_position_dropdown(this.menu_show);\r\n this.onOpened.emit();\r\n }\r\n\r\n resolve_position_dropdown(open: boolean){\r\n if( open ){\r\n this.box_style = '';\r\n this.menu_on_top = ''; \r\n const id = `${this.id}`; \r\n const box = `box-${this.id}`;\r\n if( this.viewport_height === 0 ){\r\n this.viewport_height = window.innerWidth;\r\n }\r\n const rect = document.getElementById(id)?.getBoundingClientRect();\r\n const box_position = rect?.bottom || 0; \r\n setTimeout(() => {\r\n this.box_height = document.getElementById(box)?.clientHeight || 0;\r\n if( ( this.viewport_height - box_position) < this.box_height ){\r\n this.menu_on_top = 'menu-on-top';\r\n this.box_style = `top: -${ (this.box_height) }px; height: ${this.box_height}px;`;\r\n }\r\n }); \r\n }\r\n }\r\n\r\n toClose(){\r\n this.menu_show = false;\r\n this.onClosed.emit();\r\n }\r\n\r\n\r\n toResize(){\r\n window.addEventListener('resize', () => {\r\n this.viewport_width = window.innerWidth;\r\n this.viewport_height = window.innerHeight;\r\n this.resolve_position_dropdown(this.menu_show);\r\n });\r\n }\r\n\r\n toClick(){\r\n const box = `area-${this.id}`;\r\n window.addEventListener('click',(e: any) => { \r\n if( this.menu_show ){\r\n if( !(document.getElementById(box)?.contains(e.target)) ){ \r\n this.toClose();\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n \r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): any {\r\n return this.selected_item;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: any) {\r\n if (v !== this.selected_item) {\r\n this.selected_item = v;\r\n this.onChangeCallback(v);\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.selected_item) {\r\n this.selected_item = value;\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n}\r\n\r\n","<div *ngIf=\"formulario\" id=\"area-{{ id }}\" class=\"tcloud-ui-data-list tc-dropdown\" [class.disabled]=\"disabled || loading\">\r\n <div *ngIf=\"loading\" class=\"loading-area\">\r\n <i class=\"fas fa-spinner fa-spin\"></i>\r\n </div>\r\n <!-- [attr.data-bs-toggle]=\"'dropdown'\" -->\r\n <button \r\n #_option\r\n [class.input-hidden]=\"!showInput\"\r\n [class.in-border]=\"border\"\r\n [class.loading-box]=\"loading\"\r\n [disabled]=\"disabled || loading\"\r\n class=\"dropdown-toggle button-select no-margin-bottom area-text\" \r\n type=\"button\" \r\n id=\"{{ id }}\" \r\n \r\n [attr.aria-haspopup]=\"'true'\" \r\n [attr.aria-expanded]=\"'false'\" \r\n (click)=\"toOpen();toInput(_option)\" >\r\n\r\n <i class=\"tc-placeholder area-text\" *ngIf=\"(selected_description === undefined || selected_description === null || selected_description === '' ) && !loading \">{{ placeholder }}</i>\r\n {{ selected_description }}\r\n <span><i class=\"fas fa-angle-down\"></i></span>\r\n </button>\r\n <div class=\"tc-dropdown-menu {{ menu_on_top }}\" id=\"box-{{ id }}\" [attr.aria-labelledby]=\"id\" [class.to-hide]=\"!menu_show\" [style]=\"box_style\">\r\n\r\n <div class=\"line-search\" *ngIf=\"search\">\r\n <table class=\"box-search\">\r\n <tr>\r\n\r\n <td class=\"area-input\">\r\n <input type=\"text\" class=\"tc-form-control\" [(ngModel)]=\"search_text\" (input)=\"toSearch($event)\" placeholder=\"Buscar...\" > \r\n </td>\r\n\r\n <td class=\"area-icon\">\r\n <i *ngIf=\"search_text === ''\" class=\"fas fa-search icon-search\"></i>\r\n <button type=\"button\" *ngIf=\"search_text !== ''\" (click)=\"clearTextSearch()\"><i class=\"fas fa-times\"></i></button>\r\n </td>\r\n \r\n </tr>\r\n </table>\r\n </div>\r\n \r\n <div class=\"area-options\" id=\"{{ id }}-options\" (click)=\"toClose()\">\r\n <ng-content></ng-content> \r\n <ng-container *ngIf=\"listItems && (listItems).length > 0\">\r\n <ng-container *ngFor=\"let item of listItems\">\r\n <tcloud-ui-data-list-option [value]=\"item.value\" [disabled]=\"item?.disabled\" >{{ item?.description }}</tcloud-ui-data-list-option>\r\n </ng-container>\r\n </ng-container> \r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"formulario\">\r\n <form [formGroup]=\"formulario\" style=\"display: none;\" >\r\n <input id=\"{{ id }}-hidden\" formControlName=\"selected_item\" type=\"hidden\">\r\n </form>\r\n</div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { TCloudUiDataListComponent } from './tcloud-ui-data-list.component';\r\nimport { TCloudUiDataListOptionComponent } from './tcloud-ui-data-list-option/tcloud-ui-data-list-option.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiDataListComponent,\r\n TCloudUiDataListOptionComponent,\r\n ],\r\n exports: [\r\n TCloudUiDataListComponent,\r\n TCloudUiDataListOptionComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiDataListModule { }\r\n","import { Subscription } from 'rxjs';\r\nimport { Component, EventEmitter, Input, forwardRef, ViewChild, ElementRef, Output } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiChoiceIssuesComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n@Component({\r\n selector: 'tcloud-ui-choice-issues',\r\n templateUrl: './tcloud-ui-choice-issues.component.html',\r\n styleUrls: ['./tcloud-ui-choice-issues.component.scss'],\r\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR]\r\n})\r\nexport class TCloudUiChoiceIssuesComponent {\r\n\r\n \r\n @Input() view: boolean = false;\r\n @Input() titulo: string = '';\r\n @Input() subTitulo: string = '';\r\n\r\n @Input() disabled: boolean = false;\r\n @Output() onChange = new EventEmitter<any>();\r\n\r\n subscription: Subscription | undefined;\r\n // Referencia o campo (input,select,textarea)\r\n @ViewChild('campo',{ read: true, static: false }) inputRef: ElementRef | undefined;\r\n\r\n innerValue: boolean = false;\r\n\r\n ID: string;\r\n\r\n constructor(){\r\n this.ID = 'tc-issue-' + Math.random().toString(36).substr(2, 9);\r\n }\r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): boolean {\r\n return this.innerValue;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: boolean) {\r\n if (v !== this.innerValue) {\r\n this.innerValue = v;\r\n this.onChangeCallback(v);\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.innerValue) {\r\n this.innerValue = value;\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n setV(v: any){\r\n this.value = v;\r\n this.onChange.emit(v);\r\n }\r\n\r\n createID() {\r\n // Math.random should be unique because of its seeding algorithm.\r\n // Convert it to base 36 (numbers + letters), and grab the first 9 characters\r\n // after the decimal.\r\n return '_' + Math.random().toString(36).substr(2, 9);\r\n }\r\n\r\n\r\n}\r\n","<div class=\"tcloud-ui-choice-issues box p-2 mt-3 mb-2\">\r\n <input #campo [(ngModel)]=\"value\" type=\"hidden\" [value]=\"false\" >\r\n <div class=\"row\">\r\n <div class=\"col-md-8\">\r\n <p class=\"titulo\">{{ titulo }}</p> \r\n </div>\r\n <div class=\"col-md-4 text-right\"> \r\n\r\n <table class=\"mt-2 mr-2\" *ngIf=\"!view\" >\r\n <tr>\r\n <td>\r\n <div class=\"form-fieldset\">\r\n <label [class.v-true]=\"value\" class=\"mr-1\"><input #campo name=\"{{ ID }}\" [value]=\"true\" type=\"radio\" [(ngModel)]=\"value\" (click)=\"setV(true)\" >Sim</label>\r\n </div>\r\n </td>\r\n <td>\r\n <div class=\"form-fieldset\">\r\n <label [class.v-true]=\"!value\" class=\"ml-2\"><input #campo name=\"{{ ID }}\" [value]=\"false\" type=\"radio\" [(ngModel)]=\"value\" (click)=\"setV(false)\" >Não</label>\r\n </div>\r\n </td>\r\n </tr>\r\n </table> \r\n\r\n <table class=\"mt-2 mr-2\" *ngIf=\"view\" >\r\n <tr>\r\n <td>\r\n <div class=\"form-fieldset view\" >\r\n <label *ngIf=\"value\" class=\"v-true disabled\" >Sim</label>\r\n <label *ngIf=\"!value\">Não</label>\r\n </div>\r\n </td>\r\n </tr>\r\n </table>\r\n </div>\r\n <div class=\"col-md-12 mt-1\">\r\n <p class=\"sub-titulo\">{{ subTitulo }}</p>\r\n </div>\r\n <div class=\"col-md-12 mt-2 mb-1\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TCloudUiChoiceIssuesComponent } from './tcloud-ui-choice-issues.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiChoiceIssuesComponent,\r\n ],\r\n exports: [\r\n TCloudUiChoiceIssuesComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiChoiceIssuesModule { }\r\n","import { Component, OnInit, Input, EventEmitter, Output, OnDestroy, forwardRef } from '@angular/core';\r\nimport { FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from '@angular/forms';\r\n\r\nconst CUSTOM_INPUT_VALIDATORS: any = { \r\n provide: NG_VALIDATORS, \r\n useExisting: forwardRef(() => TCloudUiMultiInputComponent),\r\n multi: true\r\n}\r\n\r\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiMultiInputComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n@Component({\r\n selector: 'tcloud-ui-multi-input',\r\n templateUrl: './tcloud-ui-multi-input.component.html',\r\n styleUrls: ['./tcloud-ui-multi-input.component.scss'],\r\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CUSTOM_INPUT_VALIDATORS]\r\n})\r\nexport class TCloudUiMultiInputComponent implements OnInit, OnDestroy, Validator {\r\n\r\n input_value: any;\r\n\r\n @Input() tcList: any[] | undefined;\r\n\r\n @Input() placeholder: string = '';\r\n @Input() disabled: boolean = false;\r\n @Input() loading: boolean = false;\r\n @Input() required: string | undefined;\r\n @Input() maxWidthLabel: string | undefined;\r\n @Input() showInput: boolean = false;\r\n\r\n values: any[] | undefined;\r\n count_actives: number = 0;\r\n\r\n use_validation_required: boolean = false;\r\n item_value: any | undefined;\r\n\r\n @Output() tcChange = new EventEmitter<any[]>();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n setTimeout(() => {\r\n this.toChange();\r\n });\r\n }\r\n\r\n addItem(item: any): void{\r\n if( this.disabled ){ return; }\r\n if( !this.tcList ){\r\n this.tcList = [];\r\n }\r\n (this.tcList).push({value: item}); \r\n this.toChange(); \r\n this.input_value = '';\r\n }\r\n\r\n\r\n removeItem(item: any, index: number): void{\r\n if( this.disabled ){ return; }\r\n if( this.tcList ){\r\n for( let i = 0; i < (this.tcList).length; i++ ){\r\n const row = this.tcList[i];\r\n if( item === row.value && i === index ){\r\n (this.tcList).splice(index,1);\r\n break;\r\n }\r\n }\r\n this.toChange();\r\n }\r\n }\r\n\r\n private toChange(): void{\r\n let count_actives = 0;\r\n let itens: any[] = [];\r\n if( this.tcList ){\r\n for( let i = 0; i < (this.tcList).length; i++ ){\r\n const row = this.tcList[i];\r\n (itens).push(row);\r\n }\r\n }\r\n this.item_value = null;\r\n this.count_actives = count_actives;\r\n this.tcChange.emit(itens);\r\n this.onChangeCallback(this.tcList);\r\n }\r\n\r\n check_is_valid(): boolean{\r\n if( this.tcList ){\r\n return ((this.tcList).length > 0) ? true : false;\r\n }\r\n return false;\r\n }\r\n\r\n onChangeTouched(){ \r\n this.onTouchedCallback(); \r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n @Output() onChange = new EventEmitter<any>();\r\n // @Output() ngModelChange = new EventEmitter<any>();\r\n\r\n innerValue: any | undefined;\r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): any {\r\n return this.innerValue;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: any) {\r\n if (v !== this.innerValue) {\r\n this.innerValue = v; \r\n this.onChangeCallback(v);\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.innerValue) {\r\n this.innerValue = value;\r\n this.toSetDefault(value);\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n toSetDefault(value: any){\r\n this.tcList = value;\r\n }\r\n\r\n public validate(c: FormControl): any {\r\n if( c && ( typeof this.required !== 'undefined' ) ){\r\n this.use_validation_required = true;\r\n return (this.check_is_valid()) ? null : 'required';\r\n }\r\n return null;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n \r\n }\r\n}\r\n","<div class=\"tcloud-ui-multi-input\">\r\n\r\n <table *ngIf=\"!showInput\">\r\n <tr>\r\n <td>\r\n <input\r\n class=\"tc-form-control\"\r\n (blur)=\"onChangeTouched()\"\r\n [(ngModel)]=\"item_value\"\r\n [class.tc-parent-validation]=\"use_validation_required\"\r\n type=\"text\"\r\n [(ngModel)]=\"input_value\"\r\n [disabled]=\"disabled || loading\"\r\n name=\"input_value\"\r\n [placeholder]=\"placeholder\">\r\n </td>\r\n\r\n <td>\r\n <button\r\n [disabled]=\"!item_value || disabled || loading\"\r\n title=\"Adicionar\"\r\n class=\"btn-plus-select\"\r\n (click)=\"addItem(input_value);onChangeTouched()\"\r\n type=\"button\">\r\n <i class=\"fas fa-plus\"></i>\r\n </button>\r\n </td>\r\n </tr>\r\n </table>\r\n\r\n <div class=\"box-itens-selected\" *ngIf=\"(tcList && tcList.length > 0)\">\r\n <ng-container *ngFor=\"let item of tcList; let i = index\">\r\n\r\n <div class=\"box-label\" [ngStyle]=\"(maxWidthLabel) ? {'max-width': maxWidthLabel} : null\">\r\n <div class=\"box-value\" [title]=\"item.value\" >\r\n {{ item.value }}\r\n </div>\r\n <div class=\"box-action\">\r\n <button\r\n [disabled]=\"tcList === undefined || (tcList && tcList.length === 0) || disabled || loading\"\r\n title=\"Remover\"\r\n type=\"button\"\r\n (click)=\"removeItem(item.value, i);onChangeTouched()\">\r\n <i class=\"fas fa-times\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n </ng-container>\r\n </div>\r\n\r\n</div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiMultiInputComponent } from './tcloud-ui-multi-input.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n@NgModule({\r\n declarations: [TCloudUiMultiInputComponent],\r\n exports: [TCloudUiMultiInputComponent],\r\n imports: [\r\n FormsModule,\r\n ReactiveFormsModule,\r\n CommonModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiMultiInputModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'monthname'})\r\nexport class MonthNamePipe implements PipeTransform {\r\n\r\n meses: string[] = ['Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'];\r\n \r\n\r\n transform(yyyy_mm: string): string{\r\n\r\n if( yyyy_mm !== '' ){\r\n\r\n let part = (yyyy_mm).split('-');\r\n if( (part).length === 2 ){\r\n let yyyy = +part[0];\r\n let mm = +part[1];\r\n\r\n return this.meses[(mm-1)];\r\n }\r\n }\r\n return '';\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'statusinfo'})\r\nexport class StatusInfoPipe implements PipeTransform {\r\n\r\n status_default = [\r\n { key: 'SUCCEEDED', value: 'Finalizado' },\r\n { key: 'PENDING', value: 'Pendente' },\r\n { key: 'FAILED', value: 'Erro' },\r\n { key: 'RUNNING', value: 'Em andamento' },\r\n { key: 'REGISTRATION', value: 'Cadastro Pendente' },\r\n { key: 'SUCCEED', value: 'Finalizado' },\r\n { key: 'WAITING', value: 'Aguardando' },\r\n { key: 'REJECTED', value: 'Rejeitado' },\r\n ];\r\n\r\n status_proposal = [\r\n { key: 'SUCCEEDED', value: 'Finalizado' },\r\n { key: 'PENDING', value: 'Aguardando Aprovação' },\r\n { key: 'FAILED', value: 'Erro' },\r\n { key: 'RUNNING', value: 'Provisionando Ambientes' },\r\n { key: 'REGISTRATION', value: 'Cadastro Pendente' },\r\n { key: 'SUCCEED', value: 'Finalizado' },\r\n { key: 'WAITING', value: 'Provisionando Ambientes' },\r\n { key: 'REJECTED', value: 'Rejeitada' },\r\n ]; \r\n\r\n transform(status_name: any, tema?: string): string{\r\n\r\n let map_tema = this.status_default;\r\n\r\n if( tema && tema !== undefined){\r\n switch (tema) {\r\n case 'proposal': map_tema = this.status_proposal; break;\r\n }\r\n }\r\n\r\n let status_name_in_search = ''; \r\n if( tema && tema === 'ALL'){\r\n\r\n map_tema = this.status_default;\r\n if( status_name !== undefined && status_name !== null && `${status_name}` !== '' ){\r\n for( let i = 0; i < (map_tema).length; i++ ){\r\n if( (`${status_name}`).toLowerCase() === (`${map_tema[i].key}`).toLowerCase() ){\r\n status_name_in_search += ' ' + map_tema[i].value;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n map_tema = this.status_proposal;\r\n if( status_name !== undefined && status_name !== null && `${status_name}` !== '' ){\r\n for( let i = 0; i < (map_tema).length; i++ ){\r\n if( (`${status_name}`).toLowerCase() === (`${map_tema[i].key}`).toLowerCase() ){\r\n status_name_in_search += ' ' + map_tema[i].value;\r\n break\r\n }\r\n }\r\n }\r\n\r\n }else{\r\n if( status_name !== undefined && status_name !== null && `${status_name}` !== '' ){\r\n for( let i = 0; i < (map_tema).length; i++ ){\r\n if( (`${status_name}`).toLowerCase() === (`${map_tema[i].key}`).toLowerCase() ){\r\n status_name_in_search += ' ' + map_tema[i].value;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n if( status_name_in_search !== '' ){\r\n return status_name_in_search;\r\n }\r\n\r\n return status_name;\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'respective'})\r\nexport class RespectivePipe implements PipeTransform {\r\n\r\n map = [\r\n // Tipos de Ambientes\r\n { key: 'production', value: 'Produção' },\r\n { key: 'development', value: 'Desenvolvimento' },\r\n { key: 'qa', value: 'Qualidade' },\r\n\r\n // Implantação / Migração\r\n { key: 'golive', value: 'Pré GoLive' },\r\n { key: 'kickoff', value: 'Kickoff' },\r\n\r\n // Tipos de Clientes\r\n { key: 'prime', value: 'Prime' },\r\n { key: 'p', value: 'Pequeno' },\r\n { key: 'm', value: 'Médio' },\r\n { key: 'g', value: 'Grande' },\r\n\r\n // Produtos\r\n { key: '2c', value: 'Carol' },\r\n { key: 'carol', value: 'carol' },\r\n { key: 'consinco', value: 'Consinco' },\r\n { key: 'datasul', value: 'Datasul' },\r\n { key: 'fluig', value: 'Fluig' },\r\n { key: 'license-server', value: 'License Server' },\r\n { key: 'pep', value: 'PEP' },\r\n { key: 'protheus', value: 'Protheus' },\r\n { key: 'pvi', value: 'PVI' },\r\n { key: 'rm', value: 'RM' },\r\n { key: 'sfa', value: 'SFA' },\r\n { key: 'smartrm', value: 'Smart RM' },\r\n { key: 'smartrmcluster', value: 'Smart RM Cluster' },\r\n { key: 'smartrmcontrol', value: 'Smart RM Control' },\r\n { key: 'taf', value: 'TAF' },\r\n { key: 'treports', value: 'Treports' },\r\n { key: 'tss', value: 'TSS' },\r\n { key: 'winthor', value: 'Winthor' },\r\n\r\n // Tipos de SO\r\n { key: 'windows', value: 'Windows' },\r\n { key: 'linux', value: 'Linux' },\r\n\r\n // Tipos responsaveis\r\n { key: 'prime_customer_success', value: 'Customer Success' },\r\n { key: 'project_manager', value: 'Gerente de Projetos' },\r\n { key: 'prime_engineer', value: 'Engenheiro Prime' }\r\n\r\n ];\r\n \r\n\r\n transform(v: any): string{\r\n\r\n if( v !== undefined && v !== null && v !== '' ){\r\n\r\n if( typeof v === 'string' ){\r\n for( let i = 0; i < (this.map).length; i++ ){\r\n let custom_v = v;\r\n custom_v = (custom_v).toLowerCase();\r\n custom_v = (custom_v).trim();\r\n custom_v = (custom_v).replace(/\\_/g, \"-\");\r\n const current_key = (this.map[i].key).replace(/\\_/g, \"-\");\r\n if( (custom_v).toLowerCase() === current_key ){\r\n return `${this.map[i].value}`;\r\n }\r\n }\r\n }else{\r\n return '';\r\n }\r\n \r\n \r\n }\r\n return `${v}`;\r\n }\r\n\r\n \r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'cnpj'})\r\nexport class CNPJPipe implements PipeTransform {\r\n mascara: string = \"##.###.###/####-##\";\r\n createMask(v: any){\r\n const mask = this.mascara;\r\n let str = v.replace(/\\s/g,'');\r\n let strMask = '';\r\n if( str.length == 14 ){\r\n let j = 0;\r\n for( let i = 0; i < mask.length; i++){\r\n if( mask[i] == '#' ){\r\n strMask += str[j++];\r\n }else{\r\n strMask += mask[i];\r\n }\r\n }\r\n }else{\r\n return v;\r\n }\r\n return strMask;\r\n }\r\n transform(cnpj: string): string{ \r\n return this.createMask(cnpj);\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'cpf'})\r\nexport class CPFPipe implements PipeTransform {\r\n mascara: string = \"###.###.###-##\";\r\n createMask(v: any){\r\n const mask = this.mascara;\r\n let str = v.replace(/\\s/g,'');\r\n let strMask = '';\r\n if( str.length == 11 ){\r\n let j = 0;\r\n for( let i = 0; i < mask.length; i++){\r\n if( mask[i] == '#' ){\r\n strMask += str[j++];\r\n }else{\r\n strMask += mask[i];\r\n }\r\n }\r\n }else{\r\n return v;\r\n }\r\n return strMask;\r\n }\r\n transform(cpf: string): string{ \r\n return this.createMask(cpf);\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'bytes'})\r\nexport class BytesPipe implements PipeTransform {\r\n\r\n formatBytes(a: number, b = 2): string {\r\n if (!a) return '---';\r\n if (0 === a) return '0 Bytes';\r\n const c = 0 > b ? 0 : b, d = Math.floor(Math.log(a) / Math.log(1024));\r\n return parseFloat((a / Math.pow(1024, d)).toFixed(c)) + ' ' + [\"Bytes\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"][d];\r\n }\r\n \r\n transform(value: any, typeValue?: string): string{ \r\n \r\n if( typeValue !== undefined && typeValue !== null && typeValue !== '' ){\r\n \r\n if( (typeValue).toLowerCase() === 'kb' ){\r\n value = value * 1024\r\n }\r\n\r\n if( (typeValue).toLowerCase() === 'mb' ){\r\n value = (value * 1024) * 1024\r\n }\r\n }\r\n \r\n const b: number = +value; \r\n return this.formatBytes(b);\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'datebr'})\r\nexport class DateBRPipe implements PipeTransform {\r\n mascara: string = \"##/##/####\";\r\n createMask(v: any){\r\n const mask = this.mascara;\r\n let str = v.replace(/\\s/g,'');\r\n let strMask = '';\r\n if( str.length <= 10 ){\r\n let j = 0;\r\n for( let i = 0; i < mask.length; i++){\r\n if( mask[i] == '#' ){\r\n strMask += str[j++];\r\n }else{\r\n strMask += mask[i];\r\n }\r\n }\r\n }else{\r\n return v;\r\n }\r\n return strMask;\r\n }\r\n\r\n createMask4(v: any){\r\n const mask = \"##/##\";\r\n let str = v.replace(/\\s/g,'');\r\n let strMask = '';\r\n if( str.length <= 10 ){\r\n let j = 0;\r\n for( let i = 0; i < mask.length; i++){\r\n if( mask[i] == '#' ){\r\n strMask += str[j++];\r\n }else{\r\n strMask += mask[i];\r\n }\r\n }\r\n }else{\r\n return v;\r\n }\r\n return strMask;\r\n }\r\n\r\n create_mask(v: string, _mask: string){\r\n const mask = _mask;\r\n let str = v.replace(/\\s/g,'');\r\n let strMask = '';\r\n if( str.length <= 10 ){\r\n let j = 0;\r\n for( let i = 0; i < mask.length; i++){\r\n if( mask[i] == '#' ){\r\n strMask += str[j++];\r\n }else{\r\n strMask += mask[i];\r\n }\r\n }\r\n }else{\r\n return v;\r\n }\r\n return strMask;\r\n }\r\n\r\n transform(v: string): string{ \r\n \r\n if( v ){\r\n\r\n v = (v).replace(/\\//g, \"\");\r\n\r\n if( (v).length == 1 ){ return this.create_mask(v,'#'); }\r\n if( (v).length == 2 ){ return this.create_mask(v,'##/'); }\r\n if( (v).length == 3 ){ return this.create_mask(v,'##/#'); }\r\n if( (v).length == 4 ){ return this.create_mask(v,'##/##'); }\r\n if( (v).length == 5 ){ return this.create_mask(v,'##/##/#'); }\r\n if( (v).length == 6 ){ return this.create_mask(v,'##/##/##'); }\r\n if( (v).length == 7 ){ return this.create_mask(v,'##/##/###'); }\r\n return this.create_mask(v,'##/##/####');\r\n }\r\n return '';\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'toText'})\r\nexport class ToTextPipe implements PipeTransform {\r\n\r\n formatBytes(value: any): string {\r\n let v = '';\r\n let t = '';\r\n for( let i = 0; i < (value).length; i++ ){\r\n t += v + `${value[i]}`;\r\n\r\n v = ', ';\r\n if( (i+1) === ((value).length) - 1 ){\r\n v = ' e ';\r\n }\r\n }\r\n return t\r\n }\r\n \r\n transform(value: any): any{ \r\n if( value && (value).length > 0 ){\r\n return this.formatBytes(value);\r\n }\r\n return value; \r\n }\r\n}","import { DatePipe } from '@angular/common';\r\nimport { Injectable } from '@angular/core';\r\nimport { StatusInfoPipe } from '../_pipes';\r\n\r\n@Injectable({\r\n providedIn: 'root', \r\n})\r\nexport class TCloudUiSearchInObjectService {\r\n\r\n constructor(\r\n private datepipe: DatePipe,\r\n private statusinfo: StatusInfoPipe\r\n ) { }\r\n\r\n private isADate(d: any){\r\n if( d && d instanceof Date && !isNaN( d.valueOf()) ){\r\n if (Object.prototype.toString.call(d) === \"[object Date]\") {;\r\n if (isNaN(d.getTime())) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n private normalize(text: any): string{\r\n const v = ( ( (`${text}`).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\r\n return v;\r\n }\r\n\r\n /**\r\n * meet - Procura em object - filtro utilizado para busca em tabelas\r\n * @param valor texto a ser procurado\r\n * @param emObject object alvo de onde procurar\r\n * @param camposDebusca (Opcional) informa em quais são as keys que deverá procurar \r\n */\r\n meet(valor: string, emObject: any, camposDebusca?: any): any{\r\n if (valor != \"\"){\r\n\r\n if( emObject.length < 1 ){\r\n return emObject;\r\n }\r\n if( camposDebusca === undefined || camposDebusca === null ){\r\n camposDebusca = [];\r\n for (const key in emObject[0]) {\r\n camposDebusca.push( key );\r\n }\r\n }\r\n\r\n if( camposDebusca.length < 1 ){\r\n return emObject;\r\n }\r\n \r\n let isObject = false;\r\n\r\n valor = this.normalize(valor);\r\n var result=[]; \r\n for (const key in emObject) {\r\n var oObject = emObject[key];\r\n if (oObject && (typeof oObject === 'object') ){\r\n isObject = true;\r\n for( const objectvalue of camposDebusca ){\r\n const dt = new Date(oObject[objectvalue])\r\n if( this.isADate(dt) && typeof ((dt).getMonth) === 'function' ){\r\n const data1 = this.datepipe.transform(dt, 'dd/MM/yyyy hh:mm');\r\n const data2 = this.datepipe.transform(dt, 'medium');\r\n const strToTest = this.normalize(data1+\" \"+data2+\" \"+oObject[objectvalue]);\r\n if( (strToTest.indexOf(valor)>=0) && (result).indexOf(oObject) == -1 ){\r\n result.push(oObject); break;\r\n }\r\n } else {\r\n const strToTest = this.normalize(this.statusinfo.transform(oObject[objectvalue], 'ALL')+\"\"); \r\n if( (strToTest.indexOf(valor)>=0) && (result).indexOf(oObject) == -1 ){\r\n result.push(oObject); break;\r\n }\r\n }\r\n } \r\n }\r\n }\r\n\r\n if( emObject && typeof emObject === 'object' && Array.isArray(emObject) && !isObject ){\r\n // is array \r\n const v = this.normalize(`${valor}`);\r\n for( let i = 0; i < (emObject).length; i++ ){\r\n const item = this.normalize(`${emObject[i]}`);\r\n if( item.includes(v) || item === v ){\r\n result.push(emObject[i]);\r\n }\r\n }\r\n }\r\n\r\n\r\n return result;\r\n }\r\n return emObject;\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { TCloudUiSearchInObjectService } from '../../_services/search-in-object.service';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-input-search',\r\n templateUrl: './tcloud-ui-input-search.component.html',\r\n styleUrls: ['./tcloud-ui-input-search.component.scss']\r\n})\r\nexport class TCloudUiInputSearchComponent implements OnInit {\r\n\r\n /**\r\n * tcloud-ui-input-search - Procura pelo valor informado no objeto indicado\r\n * @param placeholder string - placeholder no input\r\n * @param mirror boolean - Exibir os valores espelhados ou somente os valores encontrados\r\n * @param base_object object - Objeto onde ser procurado \r\n * @param found - Emite o valor encontrado\r\n */\r\n\r\n @Input() placeholder: string = 'Procurar...';\r\n\r\n @Input() mirror: boolean = true;\r\n\r\n search_text: string = '';\r\n\r\n private _base_object: any;\r\n @Input() set base_object(base_object: any){\r\n if( base_object ){\r\n this._base_object = base_object;\r\n\r\n if( this.mirror ){\r\n this.result_object = base_object;\r\n this.toFound();\r\n }\r\n } \r\n }\r\n get base_object(){ return this._base_object; }\r\n\r\n result_object: any | undefined;\r\n\r\n @Output() found = new EventEmitter<any>();\r\n\r\n constructor(\r\n private searchInObjectService: TCloudUiSearchInObjectService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n buscar(value: string){\r\n const result = this.searchInObjectService.meet(`${value}`, this.base_object);\r\n this.result_object = JSON.parse(JSON.stringify(result));\r\n this.toFound();\r\n }\r\n\r\n clean(){\r\n if( this.mirror ){\r\n this.buscar('');\r\n }else{\r\n this.result_object = []; \r\n this.toFound();\r\n }\r\n this.search_text = '';\r\n }\r\n\r\n toFound(){\r\n this.found.emit( this.result_object );\r\n }\r\n\r\n}\r\n","<table class=\"tcloud-ui-input-search tc-group-input-table\" cellspacing=\"0\" cellpadding=\"0\">\r\n <tr>\r\n <td><input class=\"tc-form-control box-ui-input-group\" [(ngModel)]=\"search_text\" type=\"text\" (keyup)=\"buscar(search_text)\" placeholder=\"{{ placeholder }}\" ></td>\r\n <td> \r\n <ng-container *ngIf=\"search_text === ''\"> \r\n <button type=\"button\" (click)=\"buscar(search_text)\"><i class=\"fas fa-search\"></i></button>\r\n </ng-container> \r\n\r\n <ng-container *ngIf=\"search_text !== ''\"> \r\n <button type=\"button\" (click)=\"clean()\"><i class=\"fas fa-times\"></i></button>\r\n </ng-container>\r\n </td>\r\n </tr>\r\n</table>","import { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiInputSearchComponent } from './tcloud-ui-input-search.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiInputSearchComponent\r\n ],\r\n exports: [\r\n TCloudUiInputSearchComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiInputSearchModule { }\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-not-found',\r\n templateUrl: './tcloud-ui-not-found.component.html',\r\n styleUrls: ['./tcloud-ui-not-found.component.scss']\r\n})\r\nexport class TCloudUiNotFoundComponent \r\n{\r\n\r\n @Input() message: string = 'Nenhum registro encontrado.';\r\n\r\n public styleIcon: any = {};\r\n\r\n ngOnInit(): void\r\n {\r\n }\r\n}\r\n\r\n","<div class=\"tcloud-ui-not-found tc-container-empty\">\r\n <div class=\"tc-message-empty-icon\">\r\n <i class=\"fas fa-exclamation-triangle\"></i>\r\n </div>\r\n <div *ngIf=\"message !== ''\" class=\"tc-message-empty\" [innerHTML]=\"message\" ></div>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { TCloudUiNotFoundComponent } from './tcloud-ui-not-found.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiNotFoundComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [\r\n TCloudUiNotFoundComponent\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiNotFoundModule {}","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-table',\r\n templateUrl: './tcloud-ui-table.component.html',\r\n styleUrls: ['./tcloud-ui-table.component.scss']\r\n})\r\nexport class TCloudUiTableComponent implements OnInit {\r\n\r\n @Input() responsive: boolean = true;\r\n @Input() striped: boolean = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<table class=\"tc-table\" [class.tc-table-striped]=\"striped\" [class.tc-table-responsive]=\"responsive\" cellspacing=\"0\">\r\n <ng-content select=\"[tc-thead]\"></ng-content>\r\n <ng-content select=\"[tc-tbody]\"></ng-content>\r\n</table>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiTableComponent } from './tcloud-ui-table.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiTableComponent,\r\n ],\r\n exports: [\r\n TCloudUiTableComponent,\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiTableModule { }\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\nclass Step {\r\n\r\n constructor(){\r\n this.status = '';\r\n this.index = 0;\r\n this.class = '';\r\n this.second_class = '';\r\n }\r\n\r\n status: string;\r\n index: number;\r\n class: string;\r\n second_class: string;\r\n}\r\n\r\n@Component({\r\n selector: 'tcloud-ui-number-step',\r\n templateUrl: './tcloud-ui-number-step.component.html',\r\n styleUrls: ['./tcloud-ui-number-step.component.scss']\r\n})\r\nexport class TCloudUiNumberStepComponent implements OnInit {\r\n\r\n @Input() step: number = 7;\r\n @Input() useIconCheck: boolean = false;\r\n\r\n private _active: number = 0;\r\n @Input() set active( active: number ){\r\n if( active && active !== this._active ){\r\n this._active = active;\r\n this.build_steps();\r\n } \r\n }\r\n get active(): number{ return this._active; }\r\n\r\n private _inactives = [] as number[] | undefined;\r\n @Input() set inactives( inactives: number[] | undefined){\r\n if( inactives && inactives !== this._inactives ){\r\n this._inactives = inactives;\r\n this.build_steps();\r\n }\r\n }\r\n get inactives(): number[] | undefined { return this._inactives; }\r\n\r\n\r\n private _complete: boolean = false;\r\n @Input() set complete( complete: boolean ){\r\n if( complete && complete !== this._complete ){\r\n this._complete = complete;\r\n this.build_steps();\r\n } \r\n }\r\n get complete(): boolean{ return this._complete; }\r\n\r\n trilha = new Array<Step>();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n setTimeout(() => { this.build_steps(); });\r\n }\r\n\r\n build_steps(){\r\n let trilha = new Array<Step>();\r\n if( this.step && this.step > 0 ){\r\n for( let i = 0; i < this.step; i++ ){\r\n (trilha).push({\r\n status: '',\r\n index: i+1,\r\n class: 'step-default',\r\n second_class: '',\r\n })\r\n }\r\n }\r\n\r\n if( this.active > this.step ){\r\n this.active = this.step;\r\n this.complete = true;\r\n }\r\n\r\n if( this.complete ){\r\n this.active = this.step;\r\n }\r\n\r\n if( this.active && this.active > 0 ){\r\n for( let i = 0; i < this.active; i++ ){ \r\n trilha[i].class = \"step-progress\"; \r\n if( (i+1) === this.active && !this.complete ){\r\n trilha[i].class = \"step-active\";\r\n }\r\n }\r\n }\r\n \r\n if( this.inactives && (this.inactives).length > 0 ){\r\n for( let i = 0; i < (this.inactives).length; i++ ){\r\n const icon = this.inactives[i];\r\n if( icon && icon > 0 ){\r\n trilha[(icon-1)].second_class = \"step-inactive\"; \r\n } \r\n }\r\n }\r\n\r\n this.trilha = trilha; \r\n }\r\n}\r\n","<table class=\"tcloud-ui-number-step table-trilha\" cellspacing=\"0\" cellpadding=\"0\">\r\n <tr>\r\n <ng-container *ngFor=\"let fase of trilha; let i = index\" >\r\n <td class=\"area-circle\">\r\n <div class=\"circle icon-{{ fase.class }} {{ fase.second_class }} \">\r\n\r\n <ng-container *ngIf=\"useIconCheck\">\r\n <ng-container *ngIf=\"i < active && fase.second_class !== 'step-inactive'\">\r\n <div class=\"area-index\" *ngIf=\"(active-1) === i\">{{ active }}</div>\r\n <div class=\"area-index\" *ngIf=\"(active-1) > i\"><i class=\"fas fa-check\"></i></div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"i < active && fase.second_class === 'step-inactive'\">\r\n <div class=\"area-index\"><i class=\"far fa-circle\"></i></div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"i >= active\">\r\n <div class=\"area-index\">{{ i + 1 }}</div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!useIconCheck\">\r\n <div class=\"area-index\">{{ i + 1 }}</div>\r\n </ng-container>\r\n \r\n </div>\r\n </td>\r\n <td class=\"area-line\" *ngIf=\"(i+1) < (trilha).length\">\r\n <div class=\"step-line {{ fase.class }}\"></div> \r\n </td>\r\n </ng-container>\r\n </tr>\r\n</table>","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiNumberStepComponent } from './tcloud-ui-number-step.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiNumberStepComponent\r\n ],\r\n exports: [\r\n TCloudUiNumberStepComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiNumberStepModule { }\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-scroll-box',\r\n templateUrl: './tcloud-ui-scroll-box.component.html',\r\n styleUrls: ['./tcloud-ui-scroll-box.component.scss']\r\n})\r\nexport class TCloudUiScrollBoxComponent implements OnInit {\r\n\r\n @Input() border: boolean = true;\r\n @Input() maxHeight: number | string = '400';\r\n\r\n unidade: string = 'px';\r\n style_height: any | undefined;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n let und = '';\r\n if( `${this.maxHeight}` ){\r\n und = this.retirarNumeros(`${this.maxHeight}`);\r\n }\r\n // console.log(\"und\",und);\r\n\r\n if( ((und) && (und).trim() === '') || !und ){\r\n this.unidade = 'px';\r\n }else{\r\n this.unidade = (und).toLowerCase(); \r\n }\r\n\r\n this.maxHeight = (`${this.maxHeight}`).replace(this.unidade, '');\r\n if( this.unidade === 'vh' ){ \r\n this.style_height = {'height': this.maxHeight+this.unidade};\r\n }else{\r\n this.style_height = {'max-height': this.maxHeight+this.unidade};\r\n }\r\n }\r\n\r\n retirarNumeros(str: string) {\r\n // Utiliza regex para substituir todos os dígitos por uma string vazia\r\n const resultado = str.replace(/\\d/g, '');\r\n return resultado;\r\n}\r\n\r\n}\r\n","<div class=\"tcloud-ui-scroll-box tc-box-scroll\" [class.tc-box-scroll-border]=\"border\" >\r\n <div class=\"box-content\" [ngStyle]=\"style_height\" >\r\n <ng-content></ng-content>\r\n </div> \r\n</div>","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiScrollBoxComponent } from './tcloud-ui-scroll-box.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiScrollBoxComponent\r\n ],\r\n exports: [\r\n TCloudUiScrollBoxComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiScrollBoxModule { }\r\n","export interface TCDataFilters{\r\n description: string; \r\n searchIn: string;\r\n notIn?: boolean;\r\n type?: TCFiltersType;\r\n name?: string;\r\n id?: string;\r\n\r\n searchText?: any;\r\n accept?: boolean;\r\n placeholder?: string;\r\n width?: string;\r\n data?: TCDataOtions[];\r\n condition?: TCCondition;\r\n value?: any;\r\n\r\n // For datepicker\r\n defaultValuePeriodStartStop?: any;\r\n UTC?: boolean;\r\n useOptionsDateTime?: boolean;\r\n}\r\n\r\nexport interface TCDataOtions {\r\n description: string;\r\n value: any;\r\n notValues?: string[];\r\n}\r\n\r\nexport enum TCFiltersType{\r\n text = \"text\",\r\n number = \"number\",\r\n select = \"select\",\r\n boolean = \"boolean\",\r\n datetime = \"datetime-local\",\r\n hidden = \"hidden\",\r\n date = \"date-local\",\r\n}\r\n\r\nexport enum TCCondition{\r\n equal = \"equal\",\r\n gte = \"gte\",\r\n lte = \"lte\",\r\n lt = \"lt\",\r\n gt = \"gt\",\r\n notEqual = \"notEqual\"\r\n}","import { Component, OnInit, ViewChild, ElementRef, Output, EventEmitter, forwardRef, Input, ViewEncapsulation } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { DateBRPipe } from '../../_pipes';\r\n\r\n// https://mymth.github.io/vanillajs-datepicker/#/\r\ndeclare var Datepicker: any;\r\n\r\nvar translation = {\r\n ptBR: {\r\n days: [\"Domingo\", \"Segunda\", \"Terça\", \"Quarta\", \"Quinta\", \"Sexta\", \"Sábado\"],\r\n daysShort: [\"Dom\", \"Seg\", \"Ter\", \"Qua\", \"Qui\", \"Sex\", \"Sáb\"],\r\n daysMin: [\"Do\", \"Se\", \"Te\", \"Qu\", \"Qu\", \"Se\", \"Sa\"],\r\n months: [\"Janeiro\", \"Fevereiro\", \"Março\", \"Abril\", \"Maio\", \"Junho\", \"Julho\", \"Agosto\", \"Setembro\", \"Outubro\", \"Novembro\", \"Dezembro\"],\r\n monthsShort: [\"Jan\", \"Fev\", \"Mar\", \"Abr\", \"Mai\", \"Jun\", \"Jul\", \"Ago\", \"Set\", \"Out\", \"Nov\", \"Dez\"],\r\n today: \"Hoje\",\r\n clear: \"Limpar\",\r\n titleFormat: \"MM y\",\r\n format: \"dd/mm/yyyy\",\r\n weekStart: 0\r\n }\r\n};\r\n\r\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiDatepickerComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n@Component({\r\n selector: 'tcloud-ui-datepicker',\r\n templateUrl: './tcloud-ui-datepicker.component.html',\r\n styleUrls: [\r\n './tcloud-ui-datepicker.component.scss',\r\n './datepicker/css/datepicker.min.css',\r\n './datepicker/css/style.css',\r\n ],\r\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TCloudUiDatepickerComponent implements OnInit {\r\n\r\n // multiple permite selecionar multiplas datas\r\n @Input() multiple: boolean = false;\r\n\r\n // maxNumberOfDates - Maximum number of dates users can select. No limit is applied if 0 is set.\r\n // Depende de: multiple como true\r\n @Input() maxNumberOfDates: number = 0;\r\n\r\n // daysOfWeekDisabled - Dias da semana desabilidatos = 0 para sabado até 6 para domingo\r\n @Input() daysOfWeekDisabled: number[] = [];\r\n\r\n // minDate - Data minima para exibicao do calendario - ex: 01/01/2020\r\n @Input() minDate: string = '';\r\n\r\n // maxDate - Data maxima para exibicao do calendario - ex: 31/12/2020\r\n @Input() maxDate: string = '';\r\n\r\n // datesDisabled - Datas desabilitadas - Ex: ['12/10/2020','25/12/2020']\r\n @Input() datesDisabled: string[] = [];\r\n\r\n // modeInput - Exibe um input para quando clicar abrir o calendario\r\n @Input() modeInput: boolean = false;\r\n\r\n @Input() useBorder: boolean = true;\r\n\r\n @Input() childInputDateTime: boolean = false;\r\n\r\n @Input() startViewInMinDate: boolean = false;\r\n\r\n @Input() startViewInMaxDate: boolean = false;\r\n\r\n @Input() disabled: boolean = false;\r\n\r\n // onChange - Dispara a data selecionada\r\n @Output() onChange = new EventEmitter<any|undefined>();\r\n\r\n default_innerValue: any | undefined;\r\n default_innerValue_convertida: any | undefined;\r\n default_qtd_innerValue: number = 0;\r\n date_changed: any | undefined;\r\n\r\n @Input() set ngModel(v: any){\r\n\r\n if( v && v !== this.innerValue ){\r\n this.innerValue = v; //this.toSetMask(v); \r\n this.default_innerValue = v;\r\n this.default_innerValue_convertida = this.convertDates(v);\r\n if( this.multiple ){\r\n this.default_qtd_innerValue = (v).length;\r\n } \r\n this.onChange.emit(v);\r\n } \r\n }\r\n\r\n @Output() ngModelChange = new EventEmitter<any|undefined>();\r\n\r\n @Output() onCheckDate = new EventEmitter<any>();\r\n\r\n @ViewChild('input_datepicker', {static: false}) input_datepicker: ElementRef<HTMLElement> | undefined;\r\n private datepicker: any | undefined;\r\n @Input() code: string = 'tcloud-ui-datepicker';\r\n\r\n constructor(\r\n private _DateBRPipe: DateBRPipe\r\n ) { }\r\n\r\n ID: string = '';\r\n\r\n ngOnInit(): void {\r\n this.ID = this.generateID();\r\n Datepicker.locales.ptBR = translation.ptBR; \r\n this.start_datepicker();\r\n }\r\n\r\n generateID(): string{\r\n return `tcloud-ui-datepicker-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\r\n }\r\n\r\n toSetMask(v: string){\r\n return this._DateBRPipe.transform(v);\r\n }\r\n\r\n parseDateLocal(dateString: any, _split?: string){\r\n if( !_split ){ _split = '-'; }\r\n const [day , month, year] = dateString.split(_split);\r\n return new Date(year, month - 1, day); // Subtrai 1 porque os meses são indexados a partir de 0\r\n }\r\n\r\n formatDateLocal(date: any){\r\n const year = date.getFullYear();\r\n const month = String(date.getMonth() + 1).padStart(2, '0'); // Adiciona 1 porque os meses são indexados a partir de 0\r\n const day = String(date.getDate()).padStart(2, '0');\r\n return `${day}/${month}/${ year}`;\r\n }\r\n\r\n get_options(){\r\n // Função para formatar uma data no fuso horário local\r\n const formatDateLocal = (date: any) => {\r\n const year = date.getFullYear();\r\n const month = String(date.getMonth() + 1).padStart(2, '0');\r\n const day = String(date.getDate()).padStart(2, '0');\r\n return `${year}-${month}-${day}`;\r\n }\r\n\r\n // Função para analisar uma data no fuso horário local\r\n const parseDateLocal = (dateString: any) => {\r\n const [year, month, day] = dateString.split('-');\r\n return new Date(year, month - 1, day);\r\n }\r\n\r\n let options = {\r\n nextArrow: `<i class=\"fas fa-caret-right\"></i>`,\r\n prevArrow: `<i class=\"fas fa-caret-left\"></i>`,\r\n format: 'dd/mm/yyyy', \r\n daysOfWeekHighlighted: [0,6],\r\n language: 'ptBR',\r\n formatter: {\r\n date: formatDateLocal,\r\n },\r\n parser: {\r\n date: parseDateLocal,\r\n } \r\n } as any;\r\n\r\n if( (this.daysOfWeekDisabled).length > 0 ){\r\n options['daysOfWeekDisabled'] = this.daysOfWeekDisabled;\r\n }\r\n\r\n if( (this.datesDisabled).length > 0 ){\r\n options['datesDisabled'] = this.datesDisabled;\r\n }\r\n\r\n if( this.minDate !== '' ){\r\n options['minDate'] = this.minDate;\r\n }\r\n\r\n if( this.maxDate !== '' ){\r\n options['maxDate'] = this.maxDate;\r\n }\r\n\r\n if( this.multiple ){ \r\n options['multiple'] = true; \r\n options['autohide'] = false; \r\n options['maxNumberOfDates'] = this.maxNumberOfDates;\r\n }\r\n \r\n return options;\r\n }\r\n\r\n clearDate(){\r\n if( this.datepicker ){ this.datepicker.setDate({clear: true}); }\r\n }\r\n\r\n start_datepicker(){\r\n setTimeout(() => { \r\n const input_datepicker = <any> this.input_datepicker?.nativeElement;\r\n if( input_datepicker ){\r\n input_datepicker.setAttribute('placeholder','DD/MM/YYYY');\r\n\r\n if( !this.useBorder ){\r\n input_datepicker.setAttribute('style','border:none; text-align: center; max-width: 105px; padding: 0;');\r\n }\r\n \r\n this.datepicker = new Datepicker( input_datepicker, this.get_options() ); \r\n if( this.innerValue && this.innerValue !== '' ){\r\n this.toSetDefaultDate(this.innerValue);\r\n }\r\n\r\n input_datepicker.addEventListener('keyup', (event: any) => {\r\n const v = (input_datepicker['value']) ? input_datepicker['value'] : '';\r\n input_datepicker['value'] = this.toSetMask(v);\r\n if( (input_datepicker['value']).length >= 10 ){\r\n const v = (input_datepicker['value']).substring(0, 10);\r\n const part_date = (v).split('/');\r\n if( (part_date).length === 3 ){\r\n\r\n let dia = part_date[0];\r\n let mes = part_date[1];\r\n let ano = part_date[2];\r\n\r\n mes = (+(mes) < 10 ) ? `0${+mes}` : mes; \r\n dia = (+(dia) < 10 ) ? `0${+dia}` : dia;\r\n\r\n const dt = new Date(ano+'-'+mes+'-'+dia);\r\n if( dt ){\r\n input_datepicker?.changeDate;\r\n document.getElementById(this.ID)?.blur();\r\n this.onChange.emit(this.innerValue);\r\n this.ngModelChange.emit(this.innerValue);\r\n }\r\n }\r\n }else{\r\n this.innerValue = undefined;\r\n this.onChange.emit(this.innerValue);\r\n this.ngModelChange.emit(this.innerValue);\r\n }\r\n })\r\n\r\n \r\n input_datepicker.addEventListener('changeDate', (event: any) => {\r\n\r\n if( event?.detail?.date ){\r\n\r\n let qtd = (event.detail.date).length; \r\n\r\n if( this.disabled ){\r\n\r\n if( !this.multiple ){\r\n let dt = this.formatDateLocal(event.detail?.date);\r\n if( this.default_innerValue && this.default_innerValue[0] && ( `${this.default_innerValue[0]}` !== `${dt}` ) ){\r\n qtd = 1\r\n }\r\n }\r\n \r\n this.datepicker.setDate( this.default_innerValue_convertida, {clear: true, render: true});\r\n \r\n if( qtd > this.default_qtd_innerValue ){\r\n this.date_changed = event?.detail.viewDate;\r\n this.datepicker.setFocusedDate( this.date_changed, {resetView: false} );\r\n\r\n this.onCheckDate.emit({\r\n value: this.formatDateLocal(this.date_changed), \r\n date: this.date_changed, \r\n checked: true,\r\n disabled: this.disabled\r\n });\r\n }else{\r\n\r\n if( this.multiple ){\r\n const so = this.findDifferences( this.default_innerValue, this.formatArrayDates(event.detail.date) );\r\n if( so && (so).length > 0 ){\r\n\r\n this.date_changed = this.parseDateLocal(so[0], '/');\r\n this.onCheckDate.emit({\r\n value :so[0], \r\n date: this.date_changed,\r\n checked: false,\r\n disabled: this.disabled\r\n });\r\n }\r\n }\r\n\r\n this.datepicker.setFocusedDate( this.date_changed, {resetView: false} );\r\n }\r\n }else{\r\n\r\n\r\n this.toSelectedDate( event.detail );\r\n }\r\n }else{\r\n this.innerValue = '';\r\n this.ngModelChange.emit(this.innerValue);\r\n }\r\n })\r\n } \r\n });\r\n }\r\n\r\n\r\n toSetDefaultDate(date: string | string[]){\r\n \r\n if( date === undefined || date === null || date === '' ){\r\n this.clearDate();\r\n return;\r\n }\r\n\r\n let dates = [] as string[];\r\n\r\n if( date && typeof date === 'string' ){\r\n if( (date).includes(',') ){\r\n const dates = (date).split(',');\r\n date = dates;\r\n if( !this.multiple ){\r\n this.innerValue = date = dates[0];\r\n this.ngModelChange.emit(this.innerValue); \r\n }\r\n }\r\n }\r\n \r\n if( date && typeof date === 'string' ){\r\n (dates).push( date ); \r\n }else{\r\n dates = <Array<string>> date;\r\n }\r\n if( this.datepicker ){\r\n\r\n if( dates && dates.length > 0 && this.multiple ){\r\n if( this.startViewInMinDate ){ \r\n dates = this.sortDatesDescending(dates); \r\n }else if(this.startViewInMaxDate){\r\n dates = this.sortDatesAscending(dates); \r\n }\r\n }\r\n this.datepicker.setDate(dates); \r\n } \r\n }\r\n\r\n convertDates(arrayDeDatas: any[]) {\r\n const formatDate = (dateString: any) => {\r\n const [day, month, year] = dateString.split('/');\r\n return new Date(year, month - 1, day); \r\n }\r\n if( arrayDeDatas && Array.isArray(arrayDeDatas) ){\r\n const datasOrdenadas = arrayDeDatas.map((data: any) => ({ original: data, convertida: formatDate(data) }));\r\n return datasOrdenadas.map(item => item.convertida); \r\n }else{\r\n return [arrayDeDatas];\r\n }\r\n }\r\n\r\n sortDatesDescending(arrayDeDatas: any[]) {\r\n const formatDate = (dateString: any) => {\r\n const [day, month, year] = dateString.split('/');\r\n return new Date(year, month - 1, day); \r\n }\r\n const datasOrdenadas = arrayDeDatas.map((data: any) => ({ original: data, convertida: formatDate(data) })).sort((a:any, b: any) => b.convertida - a.convertida);\r\n const datasOrdenadasFormatadas = datasOrdenadas.map(item => item.original); \r\n return datasOrdenadasFormatadas;\r\n }\r\n \r\n sortDatesAscending(arrayDeDatas: any[]) {\r\n const formatDate = (dateString: any) => {\r\n const [day, month, year] = dateString.split('/');\r\n return new Date(year, month - 1, day); \r\n }\r\n const datasOrdenadas = arrayDeDatas.map((data: any) => ({ original: data, convertida: formatDate(data) })).sort((a:any, b: any) => a.convertida - b.convertida);\r\n const datasOrdenadasFormatadas = datasOrdenadas.map(item => item.original);\r\n return datasOrdenadasFormatadas;\r\n }\r\n\r\n toSelectedDate(detail: any){ \r\n if( detail.datepicker.dates && (detail.datepicker.dates).length > 0 ){\r\n if( this.multiple ){\r\n let dates = [];\r\n for( let i = 0; i < (detail.datepicker.dates).length; i++ ){\r\n const timeStamp = <number> detail.datepicker.dates[i];\r\n (dates).push( this.format_date( timeStamp ) );\r\n }\r\n this.innerValue = dates;\r\n this.onChange.emit(this.innerValue); \r\n }else{\r\n const timeStamp = <number> detail.datepicker.dates[0];\r\n const date = this.format_date( timeStamp );\r\n this.onChange.emit(date);\r\n this.innerValue = date;\r\n } \r\n }else{\r\n this.clearDate();\r\n this.innerValue = null;\r\n this.onChange.emit(this.innerValue);\r\n } \r\n this.value = this.innerValue;\r\n this.ngModelChange.emit(this.innerValue); \r\n }\r\n\r\n format_date(timeStamp: number){\r\n var date = new Date(timeStamp);\r\n\r\n let dia = `${date.getDate()}`;\r\n let mes = `${date.getMonth()+1}`;\r\n let ano = `${date.getFullYear()}`;\r\n\r\n dia = (+(dia) < 10 ) ? `0${+dia}` : dia;\r\n mes = (+(mes) < 10 ) ? `0${+mes}` : mes; \r\n\r\n const dateFormat = `${dia}/${mes}/${ano}`;\r\n return dateFormat;\r\n }\r\n\r\n toClickIn(id: string){\r\n const element = document.getElementById(id) as any;\r\n setTimeout(() => { \r\n element?.datepicker?.show();\r\n });\r\n }\r\n\r\n\r\n\r\n findDifferences(array1: any, array2: any) {\r\n const conjuntoComum = new Set([...array1, ...array2]);\r\n return Array.from(conjuntoComum).filter(item => !(array1.includes(item) && array2.includes(item)));\r\n }\r\n\r\n\r\n\r\n formatArrayDates(array_dates: any){\r\n let formateds = [];\r\n if( array_dates && (array_dates).length > 0 ){\r\n const formatDateLocal = (date: any) => {\r\n const year = date.getFullYear();\r\n const month = String(date.getMonth() + 1).padStart(2, '0'); // Adiciona 1 porque os meses são indexados a partir de 0\r\n const day = String(date.getDate()).padStart(2, '0');\r\n return `${day}/${month}/${year}`;\r\n }\r\n for( let i = 0; i < (array_dates).length; i++ ){\r\n const dt = array_dates[i];\r\n (formateds).push( formatDateLocal(dt) )\r\n }\r\n }\r\n return formateds;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n innerValue: any | undefined;\r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): any {\r\n return this.innerValue;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: any) {\r\n\r\n if (v !== this.innerValue) {\r\n this.innerValue = v; // this.toSetMask(v); \r\n this.onChangeCallback(v);\r\n }else{\r\n // this.innerValue = '';\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.innerValue) {\r\n this.innerValue = value;\r\n this.toSetDefaultDate(value);\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n}\r\n","<!-- Input mode -->\r\n<ng-container *ngIf=\"modeInput\">\r\n\r\n <div class=\"tcloud-ui-datepicker input-tc-datepicker\" [class.no-border]=\"!useBorder\" [class.child-input-date-time]=\"childInputDateTime\" >\r\n <table class=\"table-box-input\">\r\n <tr>\r\n <td class=\"td-icon\">\r\n <div class=\"delimiter-time-icon\" (click)=\"toClickIn(ID)\" ><i class=\"fas fa-calendar-alt\"></i></div>\r\n </td>\r\n <td class=\"td-date\">\r\n <input #input_datepicker type=\"text\" name=\"{{ID}}\" id=\"{{ID}}\" class=\"form-control\" [title]=\"innerValue\" >\r\n </td>\r\n </tr>\r\n </table>\r\n </div>\r\n</ng-container>\r\n\r\n<!-- Inline mode -->\r\n<ng-container *ngIf=\"!modeInput\"> \r\n <div class=\"tcloud-ui-datepicker tcloud-ui-datepicker-second\" #input_datepicker id=\"{{ID}}\" pattern=\"/^\\d{2}\\/\\d{2}\\/\\d{4}$/\" [title]=\"innerValue\"></div>\r\n</ng-container>\r\n\r\n<!-- EX de uso \r\n <tc-datepicker \r\n [multiple]=\"false\"\r\n [daysOfWeekDisabled]=\"[0,6]\"\r\n [minDate]=\"'18/11/2021'\"\r\n [maxDate]=\"'18/12/2023'\"\r\n [datesDisabled]=\"['12/10/2022','25/12/2022']\"\r\n [modeInput]=\"false\"\r\n (onChange)=\"($event)\"\r\n (onCheckDate)=\"onCheckDate($event)\"\r\n [(ngModel)]=\"dateValue\" >\r\n </tc-datepicker>\r\n \r\n // multiple = false\r\n // dateValue - string - pode ser: 12/12/2022 \r\n\r\n // multiple = true\r\n // dateValue - string - pode ser: 11/12/2022,12/12/2022 ... \r\n\r\n <pre>data: {{ dateValue }}</pre>\r\n-->\r\n","import { Component, forwardRef, OnInit, EventEmitter, Output, Input, ViewChild, ElementRef } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { ISelectOptions } from '../tcloud-ui-data-list/tcloud-ui-data-list';\r\n\r\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiDatepickerTimeComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n@Component({\r\n selector: 'tcloud-ui-datepicker-time',\r\n templateUrl: './tcloud-ui-datepicker-time.component.html',\r\n styleUrls: ['./tcloud-ui-datepicker-time.component.scss'],\r\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR]\r\n})\r\nexport class TCloudUiDatepickerTimeComponent implements OnInit {\r\n\r\n show_date_picker: boolean = true;\r\n\r\n private _ngModel: any | undefined;\r\n @Input() set ngModel(v: any){\r\n if( v && v !== this.innerValue ){\r\n this.innerValue = v; \r\n } \r\n }\r\n @Output() ngModelChange = new EventEmitter<Date>();\r\n\r\n @Output() onChange = new EventEmitter<Date>();\r\n @Output() eventChange = new EventEmitter<any>();\r\n\r\n // minDate - Data minima para exibicao do calendario - ex: 01/01/2020\r\n @Input() minDate: string = '';\r\n\r\n // maxDate - Data maxima para exibicao do calendario - ex: 31/12/2020\r\n @Input() maxDate: string = '';\r\n\r\n @Input() useOptionsDateTime = false;\r\n\r\n DD_MM_YYYY: string = '';\r\n HH: string = '00';\r\n MM: string = '00';\r\n\r\n ID: string = '';\r\n\r\n option_HH: string[] | undefined;\r\n option_MM: string[] | undefined;\r\n\r\n @ViewChild('_datepickertime', {static: false}) datepickertime: ElementRef<HTMLElement> | undefined;\r\n\r\n options_date_time : ISelectOptions[] = [];\r\n open_options_date_time: boolean = false;\r\n\r\n last_options_date_time: any;\r\n description_options_date_time: any = '';\r\n value_options_date_time: any = '';\r\n\r\n ngOnInit(): void {\r\n\r\n\r\n this.setOptionsDateTime();\r\n\r\n this.ID = this.generateID();\r\n this.option_HH = this.getListTIME(23);\r\n this.option_MM = this.getListTIME(59);\r\n }\r\n\r\n setOptionsDateTime(){\r\n this.options_date_time = [\r\n {value:'7-days', description: '7 dias'},\r\n {value:'15-days', description: '15 dias'},\r\n {value:'30-days', description: '30 dias'},\r\n {value:'current-month', description: 'Mês atual até agora'},\r\n {value:'current-year', description: 'Ano atual até agora'}\r\n ]\r\n }\r\n\r\n generateID(): string{\r\n return `tcloud-ui-datepicker-time-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\r\n }\r\n\r\n getListTIME(v: number){\r\n let mm = [];\r\n for(let i = 0; i <= v; i++ ){\r\n if( i < 10 ){\r\n (mm).push(`0${i}`);\r\n }else{\r\n (mm).push(`${i}`);\r\n }\r\n }\r\n return mm;\r\n }\r\n\r\n toSetDate(date: string){ \r\n this.set_date_by_datepicker(date);\r\n }\r\n\r\n toSetTime(){\r\n if( this.DD_MM_YYYY && ((this.DD_MM_YYYY).trim()).length === 10){\r\n const date = (this.DD_MM_YYYY).replace(/-/g, '/');\r\n let date_part = (date).split('/');\r\n let dd = date_part[0];\r\n let mm = date_part[1];\r\n let yy = date_part[2];\r\n const datetime = new Date(`${yy}-${mm}-${dd}`);\r\n if( this.checkIsDate(datetime) ){\r\n this.set_date_by_datepicker(date);\r\n }\r\n }\r\n }\r\n\r\n set_date_by_datepicker(date: string){\r\n\r\n if( date ){\r\n date = (date).replace(/-/g, '/');\r\n let date_part = (date).split('/');\r\n let dia = date_part[0];\r\n let mes = date_part[1];\r\n let ano = date_part[2];\r\n\r\n let hh = this.HH;\r\n if( !hh ){\r\n hh = '00';\r\n }else{\r\n if( ( +(hh) >= 0 && +(hh) < 24 ) ){\r\n hh = (+(hh) < 10 ) ? `0${+(hh)}` : `${+(hh)}`;\r\n }else{\r\n hh = '00';\r\n }\r\n }\r\n\r\n let mm = this.MM;\r\n if( !mm ){\r\n mm = '00';\r\n }else{\r\n if( ( +(mm) >= 0 && +(mm) < 60 ) ){\r\n mm = (+(mm) < 10 ) ? `0${+(mm)}` : `${+(mm)}`;\r\n }else{\r\n mm = '00';\r\n }\r\n }\r\n\r\n if( hh === '00' ){ this.HH = hh; }\r\n if( mm === '00' ){ this.MM = mm; }\r\n\r\n const notation = '00';\r\n\r\n const str_date = `${ano}-${mes}-${dia}T${hh}:${mm}:${notation}`;\r\n const datetime = new Date( str_date );\r\n \r\n if( this.checkIsDate(datetime) ){\r\n this.innerValue = datetime;\r\n }else{\r\n this.innerValue = undefined;\r\n }\r\n\r\n // console.log('this.datepickertime?.nativeElement', this.datepickertime?.nativeElement);\r\n\r\n // if(this.datepickertime && this.datepickertime.nativeElement){\r\n // const elem = <any> this.datepickertime.nativeElement;\r\n // elem.value = this.innerValue;\r\n // }\r\n\r\n this.ngModelChange.emit( this.innerValue );\r\n this.onChange.emit( this.innerValue );\r\n this.eventChange.emit( this.datepickertime?.nativeElement );\r\n\r\n }else{\r\n\r\n this.description_options_date_time = '';\r\n this.value_options_date_time = '';\r\n\r\n this.innerValue = undefined;\r\n this.ngModelChange.emit( this.innerValue );\r\n this.onChange.emit( this.innerValue );\r\n this.eventChange.emit( this.datepickertime?.nativeElement );\r\n }\r\n\r\n if( `${this.last_options_date_time}` !== `${this.innerValue}` ){\r\n // this.description_options_date_time = '';\r\n // this.value_options_date_time = '';\r\n }\r\n\r\n }\r\n\r\n // Distribuir os valores da data por pedaços: data - hora - min\r\n to_date_hh_mm(d: Date){\r\n let dia = `${(d).getDate()}`;\r\n dia = (+(dia) < 10 ) ? `0${+dia}` : dia;\r\n let mes = `${(d).getMonth()+1}`;\r\n mes = (+(mes) < 10 ) ? `0${+mes}` : mes; \r\n\r\n let ano = `${(d).getFullYear()}`;\r\n let hh = `${(d).getHours()}`;\r\n let mm = `${(d).getMinutes()}`;\r\n\r\n if( hh && ( +(hh) < 0 || +(hh) > 23 ) ){ hh = '00'; }\r\n hh = (hh) ? ( (+(hh) < 10 ) ? `0${hh}` : hh ) : '00';\r\n\r\n if( mm && ( +(mm) < 0 || +(mm) > 59 ) ){ mm = '00'; }\r\n mm = (mm) ? ( (+(mm) < 10 ) ? `0${mm}` : mm ) : '00';\r\n\r\n this.MM = mm;\r\n this.HH = hh;\r\n\r\n this.DD_MM_YYYY = `${dia}/${mes}/${ano}`;\r\n }\r\n\r\n checkIsDate(d: any): boolean{\r\n\r\n if(Object.prototype.toString.call(d) === \"[object Date]\") {\r\n if(isNaN(d)) { return false; } else { return true; }\r\n } \r\n return false;\r\n }\r\n\r\n\r\n clean(){\r\n this.DD_MM_YYYY = '';\r\n this.HH = '00';\r\n this.MM = '00';\r\n this.description_options_date_time = '';\r\n this.value_options_date_time = '';\r\n }\r\n\r\n toClickIn(id: string){\r\n document.getElementById(id)?.focus();\r\n }\r\n\r\n onClosedOptionsDateTime(){\r\n this.open_options_date_time = false\r\n }\r\n\r\n \r\n onChangeOptionsDateTime(event: any){\r\n // this.description_options_date_time = '';\r\n // this.value_options_date_time = '';\r\n this.show_date_picker = false;\r\n\r\n let now = new Date();\r\n let filter_date: any = undefined;\r\n if( event === '7-days' ){\r\n filter_date = new Date( (new Date(now)).setDate( now.getDate() - 7 ) ); \r\n filter_date = new Date( (filter_date).setSeconds(0) ); \r\n }\r\n\r\n if( event === '15-days' ){\r\n filter_date = new Date( (new Date(now)).setDate( now.getDate() - 15 ) );\r\n filter_date = new Date( (filter_date).setSeconds(0) );\r\n }\r\n\r\n if( event === '30-days' ){\r\n filter_date = new Date( (new Date(now)).setDate( now.getDate() - 30 ) );\r\n filter_date = new Date( (filter_date).setSeconds(0) );\r\n }\r\n\r\n if( event === 'current-month' ){\r\n filter_date = new Date(now.getFullYear(), now.getMonth(), 1);\r\n }\r\n\r\n if( event === 'current-year' ){\r\n filter_date = new Date(now.getFullYear(), 0, 1);\r\n }\r\n\r\n if(filter_date){ \r\n this.innerValue = filter_date;\r\n if( this.checkIsDate(filter_date) ){ \r\n setTimeout(() => {\r\n this.to_date_hh_mm(filter_date);\r\n this.toSetDate(this.DD_MM_YYYY); \r\n this.show_date_picker = true;\r\n this.value_options_date_time = event;\r\n this.last_options_date_time = filter_date as any;\r\n this.description_options_date_time = this.get_description_options_date_time(event);\r\n }); \r\n }\r\n }\r\n\r\n }\r\n\r\n\r\n get_description_options_date_time(value: string){\r\n if( this.options_date_time && (this.options_date_time).length > 0 ){\r\n for( let i = 0; i < (this.options_date_time).length; i++ ){\r\n const item = this.options_date_time[i];\r\n if( item.value === value ){\r\n return item.description;\r\n }\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n\r\n closedTimeDescription(){\r\n this.value_options_date_time = '';\r\n this.description_options_date_time = ''; \r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n innerValue: any | undefined;\r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): any {\r\n return this.innerValue;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: any) {\r\n if (v !== this.innerValue) {\r\n this.innerValue = v; \r\n this.onChangeCallback(v);\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.innerValue) {\r\n\r\n try {\r\n value = new Date( `${value}` );\r\n } catch (error) {}\r\n\r\n this.innerValue = value;\r\n if( this.checkIsDate(value) ){\r\n this.to_date_hh_mm(value);\r\n }else{\r\n this.clean()\r\n }\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n}\r\n","<div class=\"tcloud-ui-datepicker-time\">\r\n <input type=\"hidden\" value=\"{{ innerValue }}\" #_datepickertime >\r\n <form #_formulario=\"ngForm\">\r\n <div class=\"input-control-time\">\r\n <div class=\"form-control-time\">\r\n\r\n <table style=\"width: 100%;\">\r\n <tr>\r\n <td>\r\n\r\n <div class=\"input-options-date\">\r\n <table class=\"form-time\">\r\n <tr>\r\n <!-- <td class=\"area-icon\"><div class=\"delimiter-time-icon\" (click)=\"toClickIn(ID)\" ><i class=\"fas fa-calendar-alt\"></i></div></td> -->\r\n <td class=\"area-input-date\">\r\n <ng-container *ngIf=\"show_date_picker\">\r\n <tcloud-ui-datepicker [minDate]=\"minDate\" [maxDate]=\"maxDate\" #_tclouddatepickertime [childInputDateTime]=\"true\" [modeInput]=\"true\" name=\"date\" [useBorder]=\"false\" [(ngModel)]=\"DD_MM_YYYY\" (onChange)=\"toSetDate($event)\" ></tcloud-ui-datepicker>\r\n </ng-container>\r\n </td>\r\n \r\n <td class=\"area-delimiter\"><div class=\"delimiter-time\"></div></td>\r\n <td class=\"area-input-hour\">\r\n <!--<input type=\"text\" placeholder=\"HH\" (keyup)=\"toSetTime()\" [(ngModel)]=\"HH\" maxlength=\"2\" name=\"hh\" pattern=\"[0][0-9]|[1][0-9]|2[0-3]\">-->\r\n <select class=\"select-time-date\" (change)=\"toSetTime()\" [(ngModel)]=\"HH\" name=\"hh\">\r\n <ng-container *ngFor=\"let hh of option_HH\">\r\n <option [ngValue]=\"hh\">{{ hh }}</option>\r\n </ng-container>\r\n </select>\r\n </td>\r\n <td class=\"area-delimiter\"><div class=\"delimiter-time\">:</div></td>\r\n <td class=\"area-input-minute\">\r\n <!--<input type=\"text\" placeholder=\"MM\" (keyup)=\"toSetTime()\" [(ngModel)]=\"MM\" maxlength=\"2\" name=\"mm\" pattern=\"[012345][0-9]\">-->\r\n <select class=\"select-time-date\" (change)=\"toSetTime()\" [(ngModel)]=\"MM\" name=\"mm\">\r\n <ng-container *ngFor=\"let mm of option_MM\">\r\n <option [value]=\"mm\">{{ mm }}</option>\r\n </ng-container>\r\n </select>\r\n </td>\r\n <td class=\"area-clean\"></td>\r\n </tr>\r\n </table>\r\n\r\n <div class=\"description-options-date\" *ngIf=\"value_options_date_time !== ''\">\r\n <strong>{{ description_options_date_time }}</strong>\r\n\r\n <!-- <div class=\"area-action-date-time-selected\">\r\n <button class=\"btn-icon\" type=\"button\" (click)=\"closedTimeDescription()\" >\r\n <i class=\"fas fa-times\"></i>\r\n </button> \r\n </div> -->\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n </td>\r\n <td *ngIf=\"useOptionsDateTime && options_date_time && (options_date_time).length > 0\" style=\"width: 20px\">\r\n <button type=\"button\" class=\"icon-short-time\" (click)=\"open_options_date_time = !open_options_date_time\" [title]=\"description_options_date_time\" >\r\n <i *ngIf=\"!open_options_date_time\" class=\"fas fa-caret-down\"></i>\r\n <i *ngIf=\"open_options_date_time\" class=\"fas fa-caret-up\"></i>\r\n </button>\r\n\r\n <ng-container *ngIf=\"value_options_date_time !== ''\">\r\n <button class=\"btn-icon-close\" type=\"button\" (click)=\"closedTimeDescription()\" >\r\n <i class=\"fas fa-times\"></i>\r\n </button> \r\n </ng-container>\r\n\r\n </td>\r\n </tr>\r\n <tr *ngIf=\"useOptionsDateTime && options_date_time && (options_date_time).length > 0 && open_options_date_time\">\r\n <td colspan=\"2\">\r\n <tcloud-ui-data-list \r\n name=\"value_options_date_time\"\r\n [showInput]=\"false\" \r\n [search]=\"false\" \r\n [open]=\"true\" \r\n [listItems]=\"options_date_time\" \r\n (onClosed)=\"onClosedOptionsDateTime()\"\r\n [ngModel]=\"value_options_date_time\"\r\n (ngModelChange)=\"onChangeOptionsDateTime($event)\"\r\n >\r\n </tcloud-ui-data-list>\r\n\r\n \r\n\r\n\r\n \r\n </td>\r\n </tr>\r\n </table>\r\n\r\n \r\n </div>\r\n </div>\r\n </form>\r\n</div>","import { Component, Input, OnInit, Output, EventEmitter, forwardRef } from '@angular/core';\r\nimport { FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nconst CUSTOM_INPUT_VALIDATORS: any = { \r\n provide: NG_VALIDATORS, \r\n useExisting: forwardRef(() => TCloudUiRangeDateComponent),\r\n multi: true\r\n}\r\n\r\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiRangeDateComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n\r\ninterface IResultDateTime{\r\n start: any;\r\n stop: any;\r\n}\r\n\r\n@Component({\r\n selector: 'range-date',\r\n templateUrl: './range-date.component.html',\r\n styleUrls: ['./range-date.component.scss'],\r\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CUSTOM_INPUT_VALIDATORS]\r\n})\r\nexport class TCloudUiRangeDateComponent implements OnInit {\r\n\r\n result = {} as IResultDateTime;\r\n\r\n options_date_time: any = [];\r\n use_validation_required: boolean = false;\r\n\r\n @Output() onChange = new EventEmitter<IResultDateTime>();\r\n\r\n @Input() defaultValuePeriodStartStop: string = '';\r\n @Input() required: string | undefined;\r\n\r\n @Input() descriptionStart: string = '';\r\n @Input() descriptionStop: string = '';\r\n\r\n mode: string = 'select';\r\n\r\n isValid = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.setOptionsDateTime();\r\n }\r\n\r\n setOptionsDateTime(){\r\n this.options_date_time = [\r\n {value:'1-last-time', description: 'Última 1 hora'},\r\n {value:'3-last-time', description: 'Últimas 3 horas'},\r\n {value:'6-last-time', description: 'Últimas 6 horas'},\r\n {value:'24-last-time', description: 'Últimas 24 horas'},\r\n\r\n {value:'7-days', description: 'Últimos 7 dias'},\r\n {value:'15-days', description: 'Últimos 15 dias'},\r\n {value:'30-days', description: 'Últimos 30 dias'},\r\n {value:'current-month', description: 'Mês atual'},\r\n {value:'current-year', description: 'Ano atual'}\r\n ]\r\n setTimeout(() => {\r\n if( this.defaultValuePeriodStartStop !== '' ){\r\n this.onChangeOptionsDateTime( this.defaultValuePeriodStartStop );\r\n }\r\n });\r\n \r\n }\r\n\r\n onChangeOptionsDateTime(event?: any){\r\n this.isValid = false;\r\n // this.description_options_date_time = '';\r\n // this.value_options_date_time = '';\r\n event = (event && event.value) ? `${event.value}` : `${event}`;\r\n\r\n let now = new Date();\r\n let current_date = new Date();\r\n let filter_date: any = undefined;\r\n\r\n\r\n if( event === '1-last-time' ){\r\n filter_date = new Date(current_date.getTime() - 1 * 60 * 60 * 1000);\r\n }\r\n\r\n if( event === '3-last-time' ){\r\n filter_date = new Date(current_date.getTime() - 3 * 60 * 60 * 1000);\r\n }\r\n\r\n if( event === '6-last-time' ){\r\n filter_date = new Date(current_date.getTime() - 6 * 60 * 60 * 1000);\r\n }\r\n\r\n if( event === '24-last-time' ){\r\n filter_date = new Date(current_date.getTime() - 24 * 60 * 60 * 1000);\r\n }\r\n\r\n if( event === '7-days' ){\r\n filter_date = new Date( (new Date(current_date)).setDate( now.getDate() - 7 ) ); \r\n filter_date = new Date( (filter_date).setSeconds(0) ); \r\n }\r\n\r\n if( event === '15-days' ){\r\n filter_date = new Date( (new Date(current_date)).setDate( now.getDate() - 15 ) );\r\n filter_date = new Date( (filter_date).setSeconds(0) );\r\n }\r\n\r\n if( event === '30-days' ){\r\n filter_date = new Date( (new Date(current_date)).setDate( now.getDate() - 30 ) );\r\n filter_date = new Date( (filter_date).setSeconds(0) );\r\n }\r\n\r\n if( event === 'current-month' ){\r\n filter_date = new Date(now.getFullYear(), now.getMonth(), 1);\r\n }\r\n\r\n if( event === 'current-year' ){\r\n filter_date = new Date(now.getFullYear(), 0, 1);\r\n }\r\n\r\n if(filter_date){ \r\n this.result = {\r\n start: this.getTransformDate(filter_date),\r\n stop: this.getTransformDate(now)\r\n } as IResultDateTime;\r\n\r\n this.onChange.emit(this.result);\r\n this.isValid = true;\r\n }else{\r\n \r\n this.result = {} as IResultDateTime;\r\n this.onChange.emit(this.result);\r\n this.isValid = false;\r\n \r\n }\r\n\r\n }\r\n\r\n getTransformDate(dt: any){\r\n //return (dt).toLocaleString('pt-BR');\r\n return dt;\r\n /*\r\n const ano = dt.getFullYear();\r\n const mes = dt.getMonth();\r\n const dia = dt.getDate();\r\n const horas = dt.getHours();\r\n const minutos = dt.getMinutes();\r\n return new Date(Date.UTC(ano, mes, dia, horas, minutos));\r\n */\r\n }\r\n\r\n onChangeStartDateTime(event: any){\r\n this.isValid = false;\r\n if( this.result && this.result.start){\r\n this.result.start = event.value = this.getTransformDate(event.value);\r\n this.onChange.emit(this.result);\r\n this.isValid = true;\r\n }else{\r\n this.result = {} as IResultDateTime;\r\n this.onChange.emit(this.result);\r\n }\r\n }\r\n\r\n onChangeStopDateTime(event: any){\r\n this.isValid = false;\r\n if( this.result && this.result.stop ){\r\n this.result.stop = event.value = this.getTransformDate(event.value);\r\n this.onChange.emit(this.result);\r\n this.isValid = true;\r\n }else{\r\n this.result = {} as IResultDateTime;\r\n this.onChange.emit(this.result);\r\n }\r\n }\r\n\r\n toggle(){\r\n const mode = ( `${this.mode}` === 'select' ) ? 'datepickers' : 'select';\r\n this.defaultValuePeriodStartStop = '';\r\n this.isValid = false;\r\n this.result = {} as IResultDateTime;\r\n this.mode = mode;\r\n this.onChange.emit(this.result);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n innerValue: any | undefined;\r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): any {\r\n return this.innerValue;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: any) {\r\n if (v !== this.innerValue) {\r\n this.innerValue = v; \r\n this.onChangeCallback(v);\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.innerValue) {\r\n this.innerValue = value;\r\n //this.toSetDefault(value);\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n public validate(c: FormControl): any {\r\n if( c && ( typeof this.required !== 'undefined' ) ){\r\n this.use_validation_required = true;\r\n return (this.check_is_valid()) ? null : 'required';\r\n }\r\n return null;\r\n }\r\n\r\n check_is_valid(): boolean{\r\n if( this.result && this.result.start && this.result.stop ){\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n}\r\n","<table class=\"tcloud-ui-filters-range-date area-range-date\">\r\n <tr>\r\n\r\n <td>\r\n <div *ngIf=\"mode === 'select'\">\r\n <div class=\"description-period\">Período</div>\r\n <select name=\"periodo\" class=\"tc-form-control\" (change)=\"onChangeOptionsDateTime($event.target)\" [(ngModel)]=\"defaultValuePeriodStartStop\" >\r\n <option value=\"\"></option> \r\n <ng-container *ngFor=\"let item of options_date_time\">\r\n <option [value]=\"item.value\">{{ item.description }}</option>\r\n </ng-container>\r\n </select>\r\n </div>\r\n <div *ngIf=\"mode === 'datepickers'\">\r\n\r\n <table class=\"area-range-datepickers\">\r\n <tr>\r\n <td>\r\n <div class=\"description-start\">{{ descriptionStart }}</div>\r\n <tcloud-ui-datepicker-time \r\n #_input_start \r\n [(ngModel)]=\"result.start\" \r\n name=\"input_start\" \r\n (eventChange)=\"onChangeStartDateTime(_input_start)\">\r\n </tcloud-ui-datepicker-time>\r\n </td>\r\n <td>\r\n <div class=\"description-stop\">{{ descriptionStop }}</div>\r\n <tcloud-ui-datepicker-time \r\n #_input_stop\r\n [(ngModel)]=\"result.stop\" \r\n name=\"input_stop\" \r\n (eventChange)=\"onChangeStopDateTime(_input_stop)\">\r\n </tcloud-ui-datepicker-time>\r\n </td>\r\n </tr>\r\n </table>\r\n\r\n </div>\r\n </td>\r\n\r\n <td>\r\n <button class=\"btn-mode-range-date\" [class.active]=\"mode === 'select'\" (click)=\"toggle()\" type=\"button\">\r\n\r\n <i *ngIf=\"mode === 'select'\" class=\"far fa-calendar-alt\" title=\"Alterar para calendário\"></i>\r\n <i *ngIf=\"mode !== 'select'\" class=\"fas fa-calendar-week\" title=\"Selecionar período\"></i>\r\n\r\n <!-- <div *ngIf=\"mode === 'select'\">Exibir<br>Calendário</div> -->\r\n <!-- <div *ngIf=\"mode !== 'select'\">Exibir<br>Período</div> -->\r\n </button>\r\n </td>\r\n\r\n </tr>\r\n</table>","import { DatePipe } from '@angular/common';\r\nimport { Component, Input, OnChanges, OnInit, Output, SimpleChanges, EventEmitter, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { TCCondition, TCDataFilters, TCFiltersType } from './tcloud-ui-filters';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-filters',\r\n templateUrl: './tcloud-ui-filters.component.html',\r\n styleUrls: ['./tcloud-ui-filters.component.scss']\r\n})\r\nexport class TCloudUiFiltersComponent implements OnInit, OnChanges {\r\n\r\n datepickers = [] as any;\r\n\r\n @ViewChild('_formulario') _formulario: NgForm | undefined;\r\n\r\n inputs: string[] = [];\r\n\r\n show_filters: boolean = false;\r\n\r\n search_data: any | undefined;\r\n\r\n @Input() border: boolean = true;\r\n\r\n private _data: any | undefined;\r\n @Input() set data(data: any){\r\n // this._data = JSON.parse(JSON.stringify(data));\r\n }\r\n get data(): any{ return this._data; }\r\n\r\n private _filters: TCDataFilters | undefined;\r\n @Input() set filters(filters: any){\r\n //this._filters = filters;\r\n }\r\n get filters(): any{ return this._filters; }\r\n\r\n private _submitText: string = 'Filtrar';\r\n @Input() set submitText(v: string){ \r\n if( v && v !== this._submitText ){\r\n this._submitText = v;\r\n }\r\n }\r\n get submitText():string{ return this._submitText; }\r\n\r\n @Input() btnSubmitClass: string = 'tc-btn-primary';\r\n @Input() useOnChangeSubmit: boolean = true; // useOnChangeSubmit - Submit automatico quando for alterado quanquer input\r\n @Input() useButtonSubmit: boolean = false; // useButtonSubmit - Exibe um botão de submit e não executa a busca automaticamente\r\n @Input() useNormalizeCaseSensitive: boolean = true; // useNormalizeCaseSensitive - Não valida caixa alta ou baixa e caracteres especiais\r\n @Input() useRangeDate: boolean = true;\r\n @Input() useFilterAccept: boolean = false;\r\n\r\n @Output() result = new EventEmitter<any>();\r\n @Output() onFilter = new EventEmitter<any>();\r\n @Output() onChange = new EventEmitter<any>();\r\n @Output() onSubmit = new EventEmitter<any>();\r\n\r\n descriptionStart: string = '';\r\n descriptionStop: string = '';\r\n\r\n private first_active_filter: boolean = false;\r\n\r\n start_stop: boolean = false;\r\n start_stop_width: number = 0;\r\n start_stop_und: string = ''; // px ou %\r\n\r\n constructor(\r\n private datepipe: DatePipe\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n setTimeout(() => {\r\n if( this.filters && (this.filters).length > 0 ){\r\n for(let i = 0; i < (this.filters).length; i++){\r\n if( this.filters[i].value ){\r\n if( this.filters[i].type === 'datetime-local' ){\r\n try {\r\n this.filters[i].searchText = new Date( `${this.filters[i].value}` );\r\n } catch (error) {}\r\n }else{\r\n this.filters[i].searchText = this.filters[i].value;\r\n }\r\n this.first_active_filter = true;\r\n }\r\n } \r\n }\r\n this.start_stop = (this.useRangeDate) ? this.is_start_stop_datetime() : false;\r\n this.toSubmit();\r\n });\r\n }\r\n\r\n is_start_stop_datetime(){\r\n let start = false;\r\n let stop = false;\r\n if( this.filters && (this.filters).length > 0 ){\r\n this.start_stop_width = 0;\r\n for(let i = 0; i < (this.filters).length; i++){\r\n if( this.filters[i].id === 'start' ){\r\n start = true;\r\n this.start_stop_width += this.getValueWidth(this.filters[i].width);\r\n this.start_stop_und = this.getUnidade(this.filters[i].width);\r\n this.descriptionStart = this.filters[i].description;\r\n }\r\n if( this.filters[i].id === 'stop' ){\r\n stop = true;\r\n this.start_stop_width += this.getValueWidth(this.filters[i].width);\r\n this.descriptionStop = this.filters[i].description;\r\n }\r\n }\r\n }\r\n return ( start && stop ) ? true : false;\r\n }\r\n\r\n getValueWidth(v: string):number {\r\n let und = this.getUnidade(v);\r\n v = (v).replace(und, '');\r\n return +(v);\r\n }\r\n\r\n getUnidade(v: string):string {\r\n let und = '%';\r\n if( v && (v).includes('px') ){\r\n und = 'px';\r\n }\r\n return und;\r\n }\r\n \r\n\r\n ngOnChanges(changes: SimpleChanges) { \r\n \r\n if( changes && changes['data'] ){\r\n const data = changes['data'].currentValue;\r\n if( this._data !== data ){\r\n this._data = JSON.parse(JSON.stringify(data));\r\n this.search_data = JSON.parse(JSON.stringify(data));\r\n this.init();\r\n }\r\n }\r\n\r\n if( changes && changes['filters'] ){\r\n const filters = changes['filters'].currentValue;\r\n if( this._filters !== filters ){\r\n this._filters = JSON.parse(JSON.stringify(filters));\r\n this.init();\r\n }\r\n }\r\n }\r\n\r\n private init(){\r\n if( this.data && this.filters ){\r\n this.show_filters = true;\r\n if( this.filters && (this.filters).length > 0 ){\r\n (this.filters).forEach((filter: TCDataFilters) => { \r\n this.searchIn(filter, 'sync');\r\n });\r\n } \r\n if( !this.useOnChangeSubmit ){\r\n this.result_accept(this.data);\r\n }\r\n\r\n if( this.useOnChangeSubmit || this.useButtonSubmit ){\r\n this.start_filter();\r\n }\r\n }\r\n }\r\n\r\n private normalize(text: any): string{\r\n if( this.useNormalizeCaseSensitive ){\r\n const v = ( ( (`${text}`).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\r\n return v;\r\n }\r\n return text;\r\n }\r\n\r\n toSubmit(){\r\n if( this.filters && (this.filters).length > 0 ){\r\n this.init();\r\n }\r\n this.emitSubmitFilters();\r\n }\r\n\r\n private emitSubmitFilters(){\r\n let filters = JSON.parse(JSON.stringify(this.filters));\r\n if( filters && (filters).length > 0 ){\r\n (filters).forEach((filter: TCDataFilters, i: number) => {\r\n\r\n if( filter.width ){ delete(filters[i].width); }\r\n if( filter.placeholder ){ delete(filters[i].placeholder); }\r\n if( filter.description ){ delete(filters[i].description); }\r\n\r\n if( (!filter.searchText || filter.searchText && filter.searchText === '') && filter.type !== \"boolean\" ){\r\n delete(filters[i]);\r\n }\r\n if( filter.type === \"boolean\" ){\r\n if( !filter.searchText ){\r\n filter.searchText = false;\r\n }\r\n }\r\n \r\n });\r\n } \r\n \r\n this.onSubmit.emit(this.filters);\r\n }\r\n\r\n\r\n private collectionFind(obj: any, path: any): any {\r\n const pathArray = path.split(\".\");\r\n let current = obj;\r\n for (let i = 0; i < pathArray.length; i++) {\r\n const key = pathArray[i];\r\n\r\n if (key.includes('[') && key.includes(']')) {\r\n const nextKeys = pathArray.slice(i + 1);\r\n const index = key.substring(key.indexOf('[') + 1, key.indexOf(']'));\r\n const arrayKey = key.substring(0, key.indexOf('['));\r\n if( current && current[arrayKey] && current[arrayKey][index] ){\r\n return this.collectionFind(current[arrayKey][index], nextKeys.join(\".\"));\r\n }\r\n }\r\n\r\n\r\n if (key.includes(\"[]\")) {\r\n const arrayKey = key.replace(\"[]\", \"\");\r\n current = current[arrayKey] || [];\r\n const nextKeys = pathArray.slice(i + 1);\r\n const results = [];\r\n for (let j = 0; j < current.length; j++) {\r\n let result = this.collectionFind(current[j], nextKeys.join(\".\"));\r\n if (result !== undefined) {\r\n results.push(result); \r\n }\r\n }\r\n if (results.length === 0) {\r\n return undefined;\r\n }\r\n return results;\r\n } else {\r\n if( !current || (current && !current[key]) ){\r\n return undefined;\r\n }\r\n current = current[key];\r\n if (current === undefined) {\r\n return undefined;\r\n }\r\n }\r\n }\r\n return current;\r\n }\r\n \r\n first: boolean = true;\r\n start_filter_fc: any = undefined;\r\n\r\n start_value: any | undefined;\r\n stop_value: any | undefined;\r\n\r\n searchInRange( range_date: any){\r\n \r\n if( this.filters && (this.filters).length > 0 ){\r\n\r\n let event = {} as any; \r\n event.datepickertime = true;\r\n\r\n for( let i = 0; i < (this.filters).length; i++ ){\r\n\r\n if( this.filters[i] && this.filters[i].id && this.filters[i].id === 'start' ){\r\n this.filters[i].value = range_date?.result?.start!;\r\n this.filters[i].searchText = range_date?.result?.start!;\r\n event.innerValue = this.start_value = range_date?.result?.start!;\r\n this.searchIn(this.filters[i], event);\r\n }\r\n\r\n if( this.filters[i] && this.filters[i].id && this.filters[i].id === 'stop' ){\r\n this.filters[i].value = range_date?.result?.stop!;\r\n this.filters[i].searchText = range_date?.result?.stop!;\r\n event.innerValue = this.stop_value = range_date?.result?.stop!;\r\n this.searchIn(this.filters[i], event);\r\n }\r\n }\r\n if( this.first || this.useOnChangeSubmit ){\r\n this.toSubmit();\r\n }\r\n \r\n }\r\n this.first = false;\r\n\r\n }\r\n\r\n convertDataToNumber(dataString: string): number {\r\n try {\r\n const [dia, mes, ano] = dataString.split('/');\r\n return +(`${ano}${mes}${dia}`);\r\n } catch (error) {}\r\n return 0;\r\n }\r\n\r\n searchIn(item: TCDataFilters, event?: any){\r\n\r\n \r\n\r\n this.start_filter_fc = undefined;\r\n\r\n let isValid = true;\r\n\r\n if( event === 'sync' && isValid ){\r\n isValid = false;\r\n this.onChange.emit(true);\r\n }\r\n\r\n if( typeof event === 'boolean' && isValid ){\r\n isValid = false;\r\n item.searchText = event;\r\n this.onChange.emit(true);\r\n }\r\n\r\n if( (event === undefined || event === null || event === '') && isValid ){\r\n isValid = false;\r\n item.searchText = '';\r\n this.onChange.emit(true);\r\n }\r\n\r\n if( event?.datepickertime && isValid ){\r\n isValid = false;\r\n item.searchText = event?.innerValue; \r\n this.onChange.emit(true);\r\n }\r\n\r\n if(event?.target?.value && isValid ){\r\n isValid = false;\r\n item.searchText = this.normalize(event.target.value);\r\n this.onChange.emit(true);\r\n }\r\n\r\n if(event?.target?.value === '' && isValid ){\r\n isValid = false;\r\n item.searchText = '';\r\n this.onChange.emit(true);\r\n }\r\n\r\n if( item.type === 'date-local' && item.value ){\r\n isValid = false;\r\n item.searchText = `${this.convertDataToNumber( item.value )}`;\r\n this.onChange.emit(true);\r\n }\r\n\r\n if( event && event.result && ( event.result.start || event.result.stop ) ){\r\n isValid = false;\r\n this.onChange.emit(true);\r\n }\r\n\r\n \r\n \r\n if( this.useOnChangeSubmit || this.first_active_filter ){ \r\n this.start_filter_fc = this.start_filter();\r\n this.first_active_filter = false;\r\n }\r\n\r\n if( !this.useButtonSubmit ){\r\n this.emitSubmitFilters();\r\n } \r\n }\r\n\r\n getDateUTC(dt: any){\r\n const ano = dt.getFullYear();\r\n const mes = dt.getMonth();\r\n const dia = dt.getDate();\r\n const horas = dt.getHours();\r\n const minutos = dt.getMinutes();\r\n const segundos = dt.getSeconds();\r\n return new Date(Date.UTC(ano, mes, dia, horas, minutos, segundos));\r\n }\r\n\r\n \r\n start_filter(){\r\n for( let i = 0; i < (this.data).length; i++ ){\r\n\r\n this.setDataIndex(i, true);\r\n\r\n for( let j = 0; j < (this.filters).length; j++ ){ \r\n const filter_item = this.filters[j]; \r\n\r\n if( filter_item.searchText && typeof (filter_item.searchText) === 'string' && filter_item.searchText !== '' && filter_item.type !== TCFiltersType.number && filter_item.type !== TCFiltersType.date ){\r\n \r\n filter_item.searchText = this.normalize(filter_item.searchText); \r\n let item_value = this.collectionFind(this.data[i], filter_item.searchIn);\r\n if( item_value ){\r\n item_value = this.normalize(item_value); \r\n\r\n if( typeof filter_item.notIn === 'boolean' && filter_item.notIn ){\r\n if( ( item_value === filter_item.searchText ) ){\r\n this.setDataIndex(i, false);\r\n }\r\n }else{\r\n\r\n if( filter_item.type === TCFiltersType.select ){\r\n // Exclusivo para select\r\n if( filter_item.data && (filter_item.data).length > 0 ){\r\n\r\n // uso do select com o notValues: string[]\r\n let current_option = [];\r\n for( let k = 0; k < (filter_item.data).length; k++ ){\r\n const k_item = filter_item.data[k];\r\n if( `${k_item?.value}` === `${filter_item.searchText}` ){\r\n current_option = k_item?.notValues!;\r\n break;\r\n }\r\n }\r\n if( current_option && (current_option).length > 0 ){\r\n for( let v = 0; v < (current_option).length; v++ ){\r\n const v_item = current_option[v]; \r\n if( ( item_value === v_item ) ){\r\n this.setDataIndex(i, false);\r\n }\r\n }\r\n }else{\r\n\r\n // uso normal do select\r\n if( !( item_value === filter_item.searchText ) ){\r\n this.setDataIndex(i, false);\r\n }\r\n } \r\n\r\n } \r\n\r\n \r\n }else{\r\n if( !( item_value.includes(filter_item.searchText) || item_value === filter_item.searchText ) ){\r\n this.setDataIndex(i, false);\r\n }\r\n }\r\n }\r\n\r\n }else{\r\n this.setDataIndex(i, false);\r\n }\r\n } \r\n \r\n\r\n if( filter_item.searchText && filter_item.searchText instanceof Date && !isNaN( filter_item.searchText.valueOf()) && filter_item.type === TCFiltersType.datetime ){\r\n \r\n let item_value: any = this.collectionFind(this.data[i], filter_item.searchIn);\r\n\r\n try { item_value = new Date(item_value); } catch (error) {}\r\n if( item_value && item_value instanceof Date && !isNaN( item_value.valueOf()) ){\r\n let is_accept = false;\r\n\r\n const dt_target = ( (filter_item.searchText).getTime() ).toString().substring(0, 10); /* + (3 * 60 * 60 * 1000); */\r\n const dt_current = ( (item_value).getTime() ).toString().substring(0, 10);\r\n if( filter_item.condition ){\r\n switch (filter_item.condition) {\r\n case TCCondition.gt: is_accept = ( Number(dt_target) > Number(dt_current) ); break;\r\n case TCCondition.lt: is_accept = ( Number(dt_target) < Number(dt_current) ); break;\r\n case TCCondition.gte: is_accept = ( Number(dt_target) <= Number(dt_current) ); break;\r\n case TCCondition.lte: is_accept = ( Number(dt_target) >= Number(dt_current) ); break;\r\n case TCCondition.equal: is_accept = ( Number(dt_target) === Number(dt_current) ); break;\r\n case TCCondition.notEqual: is_accept = ( Number(dt_target) != Number(dt_current) ); break;\r\n default: is_accept = ( Number(dt_target) == Number(dt_current) );\r\n }\r\n }else{\r\n is_accept = ( Number(filter_item.searchText) === Number(item_value) );\r\n }\r\n if( !is_accept ){\r\n this.setDataIndex(i, false);\r\n }\r\n }\r\n }\r\n\r\n \r\n\r\n if( filter_item.searchText && typeof Number(filter_item.searchText) === 'number' && ( filter_item.type === TCFiltersType.number || filter_item.type === TCFiltersType.date ) ){\r\n \r\n filter_item.searchText = Number(filter_item.searchText);\r\n let item_value = this.collectionFind(this.data[i], filter_item.searchIn);\r\n\r\n if( typeof Number(item_value) === 'number' ){ \r\n item_value = Number(item_value); \r\n let is_accept = false;\r\n if( filter_item.condition ){\r\n\r\n switch (filter_item.condition) {\r\n case TCCondition.gt: is_accept = ( Number(filter_item.searchText) > Number(item_value) ); break;\r\n case TCCondition.lt: is_accept = ( Number(filter_item.searchText) < Number(item_value) ); break;\r\n case TCCondition.gte: is_accept = ( Number(filter_item.searchText) <= Number(item_value) ); break;\r\n case TCCondition.lte: is_accept = ( Number(filter_item.searchText) >= Number(item_value) ); break;\r\n case TCCondition.equal: is_accept = ( Number(filter_item.searchText) === Number(item_value) ); break; \r\n case TCCondition.notEqual: is_accept = ( Number(filter_item.searchText) != Number(item_value) ); break;\r\n default: is_accept = ( Number(filter_item.searchText) == Number(item_value) );\r\n }\r\n }else{\r\n is_accept = ( Number(filter_item.searchText) === Number(item_value) );\r\n }\r\n if( !is_accept ){\r\n this.setDataIndex(i, false);\r\n }\r\n }\r\n }\r\n \r\n \r\n if( typeof (filter_item.searchText) === 'boolean' && filter_item.searchText === true ){\r\n\r\n let item_value: any = this.collectionFind(this.data[i], filter_item.searchIn);\r\n \r\n if( item_value && (item_value).length > 0 ){ \r\n let qtd_is_true = 0; \r\n for( let i = 0; i < ((item_value).length); i++ ){\r\n const item = item_value[i];\r\n if( item === filter_item.searchText ){\r\n qtd_is_true++;\r\n }\r\n }\r\n if( qtd_is_true === 0 ){\r\n this.setDataIndex(i, false);\r\n }\r\n }else{\r\n if( !( item_value === filter_item.searchText ) ){\r\n this.setDataIndex(i, false);\r\n }\r\n } \r\n }\r\n \r\n }\r\n\r\n } // end for\r\n \r\n this.toResult();\r\n \r\n }\r\n\r\n private toResult(){\r\n\r\n\r\n const search_data = [];\r\n\r\n let is_filter = false;\r\n for( let i = 0; i < (this.filters).length; i++ ){\r\n if( this.filters[i].searchText && this.filters[i].searchText !== '' ){\r\n is_filter = true; break;\r\n }\r\n }\r\n\r\n if( is_filter ){\r\n for( let i = 0; i < (this.data).length; i++ ){\r\n if( this.data && this.data[i] && this.data[i]['tc_filter_accept'] ){\r\n (search_data).push(this.data[i]);\r\n }\r\n }\r\n\r\n this.result_accept(search_data);\r\n this.onFilter.emit({...this.filters});\r\n return;\r\n }\r\n\r\n this.result_accept(this.data);\r\n this.onFilter.emit({...this.filters});\r\n }\r\n\r\n setDataIndex(index: number, value: boolean ){\r\n if( this.data && this.data[index] ){\r\n this.data[index]['tc_filter_accept'] = value;\r\n }\r\n }\r\n\r\n result_accept(data: any){\r\n if( !this.useFilterAccept && data && (data).length > 0 ){\r\n for( let i = 0; i < (data).length; i++ ){\r\n delete data[i]['tc_filter_accept'];\r\n }\r\n }\r\n this.result.emit(data);\r\n }\r\n\r\n}\r\n","<div *ngIf=\"show_filters\" class=\"tcloud-ui-filters area-filter\" [class.no-border]=\"!border\">\r\n <ng-container *ngFor=\"let item of filters; let i = index\">\r\n\r\n <ng-container *ngIf=\"!item.type || (item.type && item.type !== 'boolean')\">\r\n\r\n <ng-container *ngIf=\"item.type === 'date-local'\">\r\n\r\n <div class=\"box-filter-input type-{{item.type}} box-type-{{item.type}}\" [style]=\"(item.width !== '') ? 'width:'+item.width : ''\">\r\n <div class=\"m-description tc-title-ellipsis box-type-{{item.type}}\" title=\"{{ item.description }}\"><i [class.to-active]=\"(item.value !== undefined && item.value !== null && item.value !== '')\" class=\"fas fa-filter icon-filter\"></i> {{ item.description }}</div>\r\n <div class=\"box-type-{{item.type}}\">\r\n <tcloud-ui-datepicker \r\n #_input\r\n name=\"input_{{i+1}}\"\r\n [modeInput]=\"true\"\r\n [(ngModel)]=\"item.value\"\r\n (ngModelChange)=\"searchIn(item, _input)\">\r\n </tcloud-ui-datepicker>\r\n <button class=\"btn-clear-filter-text\" [class.to-hide]=\"!(item.value !== undefined && item.value !== null && item.value !== '')\" (click)=\"searchIn(item, null); item.searchText = undefined; item.value = ''\">\r\n <i class=\"fas fa-times\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n \r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"item.type !== 'date-local'\">\r\n <ng-container *ngIf=\"item.type === 'datetime-local'\">\r\n\r\n <ng-container *ngIf=\"(item.id === 'start' || item.id === 'stop') && useRangeDate\">\r\n <!-- PERIOD RANGE DATE -->\r\n <ng-container *ngIf=\"item.id === 'start'\">\r\n <div class=\"box-filter-input type-{{item.type}} box-type-{{item.type}}\" [style]=\"(item.width !== '') ? 'width:'+start_stop_width+''+start_stop_und : ''\">\r\n <div class=\"m-description tc-title-ellipsis box-type-{{item.type}}\" title=\"{{ item.description }}\"><i [class.to-active]=\"(_range_date && _range_date.result && _range_date.result.start && _range_date.result.stop )\" class=\"fas fa-filter icon-filter\"></i> </div>\r\n <range-date \r\n #_range_date ngModel name=\"input_{{i+1}}\" \r\n [defaultValuePeriodStartStop]=\"item.defaultValuePeriodStartStop\"\r\n [descriptionStart]=\"descriptionStart\"\r\n [descriptionStop]=\"descriptionStop\"\r\n required \r\n (onChange)=\"searchInRange(_range_date); searchIn(item, _range_date)\">\r\n </range-date>\r\n </div>\r\n </ng-container> \r\n <input *ngIf=\"item.id === 'start'\" #_input name=\"input_{{i+1}}\" type=\"hidden\" [(ngModel)]=\"start_value\"> \r\n <input *ngIf=\"item.id === 'stop'\" #_input name=\"input_{{i+1}}\" type=\"hidden\" [(ngModel)]=\"stop_value\"> \r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!item.id || !useRangeDate\">\r\n\r\n <div class=\"box-filter-input type-{{item.type}} box-type-{{item.type}}\" [style]=\"(item.width !== '') ? 'width:'+item.width : ''\">\r\n <div class=\"m-description tc-title-ellipsis box-type-{{item.type}}\" title=\"{{ item.description }}\"><i [class.to-active]=\"(item.value !== undefined && item.value !== null && item.value !== '')\" class=\"fas fa-filter icon-filter\"></i> {{ item.description }}</div>\r\n <div class=\"box-type-{{item.type}}\">\r\n <tcloud-ui-datepicker-time \r\n #_input \r\n [(ngModel)]=\"item.value\" \r\n name=\"input_{{i+1}}\" \r\n [useOptionsDateTime]=\"(item && item.useOptionsDateTime) ? true : false\"\r\n (eventChange)=\"searchIn(item, _input)\" >\r\n </tcloud-ui-datepicker-time>\r\n <button class=\"btn-clear-filter-text\" [class.to-hide]=\"!(item.value !== undefined && item.value !== null && item.value !== '')\" (click)=\"searchIn(item, null); item.searchText = undefined; item.value = ''\">\r\n <i class=\"fas fa-times\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n </ng-container>\r\n\r\n </ng-container>\r\n </ng-container>\r\n \r\n <ng-container *ngIf=\"item.type !== 'select' && item.type !== 'datetime-local' && item.type !== 'date-local'\">\r\n <div class=\"box-filter-input type-{{item.type}} box-type-{{item.type}}\" [style]=\"(item.width !== '') ? 'width:'+item.width : ''\">\r\n\r\n <div class=\"m-description tc-title-ellipsis box-type-{{item.type}}\" title=\"{{ item.description }}\"><i [class.to-active]=\"_input.value !== ''\" class=\"fas fa-filter icon-filter\"></i> {{ item.description }}</div>\r\n <div class=\"box-type-{{item.type}}\">\r\n <input \r\n #_input\r\n [(ngModel)]=\"item.value\"\r\n placeholder=\"{{ (item.placeholder !== '') ? item.placeholder : '' }}\"\r\n name=\"input_{{i+1}}\" \r\n type=\"{{ (item.type === 'number') ? 'text' : item.type }}\" \r\n class=\"tc-form-control\" \r\n (keyup)=\"searchIn(item, $event)\"> \r\n <button class=\"btn-clear-filter-text\" [class.to-hide]=\"_input.value === ''\" (click)=\"searchIn(item, null); _input.value = ''\">\r\n <i class=\"fas fa-times\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"item.type === 'select' && item.data && (item.data).length > 0\" >\r\n <div class=\"box-filter-input type-{{item.type}} box-type-{{item.type}}\" [style]=\"(item.width !== '') ? 'width:'+item.width : ''\">\r\n\r\n <div class=\"m-description tc-title-ellipsis box-type-{{item.type}}\" title=\"{{ item.description }}\"><i [class.to-active]=\"_input.value !== ''\" class=\"fas fa-filter icon-filter\"></i> {{ item.description }}</div>\r\n <div class=\"box-type-{{item.type}}\">\r\n <select \r\n #_input\r\n [(ngModel)]=\"item.value\"\r\n name=\"input_{{i+1}}\" \r\n class=\"tc-form-control\" \r\n (change)=\"searchIn(item, $event)\">\r\n <option [ngValue]=\"\"></option>\r\n <ng-container *ngFor=\"let v of item.data\">\r\n <option [value]=\"v.value\">{{ v.description }}</option>\r\n </ng-container>\r\n </select>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n\r\n <ng-container *ngIf=\"item.type && item.type === 'boolean'\">\r\n \r\n <div class=\"box-filter-input\" [style]=\"(item.width !== '') ? 'width:'+item.width : ''\">\r\n <div class=\"m-description tc-title-ellipsis\" title=\"{{ item.description }}\" title=\"{{ item.description }}\"><i [class.to-active]=\"_input.checked === true\" class=\"fas fa-filter icon-filter\"></i> {{ item.description }}</div>\r\n <div class=\"area-input-checkbox\">\r\n <div class=\"tc-form-control\">\r\n <label>\r\n {{ item.placeholder }}\r\n <input \r\n #_input\r\n placeholder=\"{{ (item.placeholder !== '') ? item.placeholder : '' }}\"\r\n name=\"input_{{i+1}}\" \r\n type=\"checkbox\" \r\n (change)=\"searchIn(item, _input.checked)\"> \r\n </label>\r\n </div> \r\n </div>\r\n </div>\r\n\r\n </ng-container>\r\n\r\n\r\n </ng-container>\r\n\r\n <div class=\"text-right mb-1 mr-1\" *ngIf=\"useButtonSubmit\">\r\n <button type=\"button\" class=\"tc-btn {{ btnSubmitClass }}\" (click)=\"toSubmit()\" >{{ submitText }}</button>\r\n </div>\r\n\r\n</div>\r\n\r\n<!-- <pre>{{ inputs | json }}</pre> -->\r\n<!-- <pre> {{ data | json }} </pre> -->\r\n\r\n<!-- <p>FILTERS</p><pre> {{ filters | json }}</pre> -->\r\n\r\n<!--\r\n <pre>start_stop: {{ start_stop }}</pre>\r\n <pre>start_stop_width: {{ start_stop_width }}</pre>\r\n <pre>start_stop_und: {{ start_stop_und }}</pre>\r\n-->","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TCloudUiDatepickerComponent } from './tcloud-ui-datepicker.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiDatepickerComponent\r\n ],\r\n exports: [\r\n TCloudUiDatepickerComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiDatepickerModule { }\r\n","import { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiDatepickerTimeComponent } from './tcloud-ui-datepicker-time.component';\r\nimport { TCloudUiDatepickerModule } from './../tcloud-ui-datepicker/tcloud-ui-datepicker.module';\r\nimport { TCloudUiDataListModule } from '../tcloud-ui-data-list/tcloud-ui-data-list.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiDatepickerTimeComponent\r\n ],\r\n exports: [\r\n TCloudUiDatepickerTimeComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n TCloudUiDatepickerModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n TCloudUiDataListModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiDatepickerTimeModule { }\r\n","import { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiFiltersComponent } from './tcloud-ui-filters.component';\r\nimport { TCloudUiDatepickerTimeModule } from '../tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module';\r\nimport { TCloudUiRangeDateComponent } from './components/range-date/range-date.component';\r\nimport { TCloudUiDatepickerModule } from '../tcloud-ui-datepicker/tcloud-ui-datepicker.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiFiltersComponent,\r\n TCloudUiRangeDateComponent\r\n ],\r\n exports: [\r\n TCloudUiFiltersComponent,\r\n TCloudUiRangeDateComponent \r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n TCloudUiDatepickerTimeModule,\r\n TCloudUiDatepickerModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiFiltersModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class TCloudUiAccordionService {\r\n\r\n private disabled: boolean | undefined;\r\n private loading: boolean | undefined;\r\n private show: boolean | undefined;\r\n\r\n private _stateToggle = new Subject<boolean>();\r\n public stateToggle$ = this._stateToggle.asObservable();\r\n\r\n private _stateLoading = new Subject<boolean>();\r\n public stateLoading$ = this._stateLoading.asObservable();\r\n\r\n private _stateDisabled = new Subject<boolean>();\r\n public stateDisabled$ = this._stateDisabled.asObservable();\r\n\r\n\r\n toggle(action: boolean): void{\r\n this._stateToggle.next( action );\r\n }\r\n\r\n getLoading(){\r\n return this.loading;\r\n }\r\n\r\n setLoading(loading: boolean){\r\n this.loading = loading;\r\n this._stateLoading.next(loading);\r\n }\r\n\r\n getShow(){\r\n return this.show;\r\n }\r\n\r\n setDisabled(disabled: boolean): void{\r\n this._stateDisabled.next( disabled );\r\n }\r\n\r\n getDisabled(){\r\n return this.disabled;\r\n }\r\n\r\n}","import { Subscription } from 'rxjs';\r\nimport { Component, EventEmitter, Input, OnInit, Output, OnDestroy } from '@angular/core';\r\nimport { TCloudUiAccordionService } from './services/tcloud-ui-accordion.service';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-accordion',\r\n templateUrl: './tcloud-ui-accordion.component.html',\r\n styleUrls: ['./tcloud-ui-accordion.component.css'],\r\n providers: [\r\n TCloudUiAccordionService\r\n ],\r\n})\r\nexport class TCloudUiAccordionComponent implements OnInit, OnDestroy {\r\n\r\n subscription_01: Subscription | undefined;\r\n subscription_02: Subscription | undefined;\r\n \r\n private _disabled: boolean = false;\r\n @Input() set disabled(v: boolean){ \r\n this._disabled = v;\r\n if( this._disabled ){ \r\n setTimeout(() => { \r\n this._tCloudUiAccordionService.setDisabled(this._disabled);\r\n this._tCloudUiAccordionService.toggle(false); \r\n });\r\n }\r\n }\r\n get disabled(){ return this._disabled; }\r\n\r\n\r\n private _show: boolean = false;\r\n @Input() set show(v: boolean){ \r\n if( this._show !== v ){\r\n this._show = v;\r\n if( !this.disabled ){\r\n setTimeout(() => { this._tCloudUiAccordionService.toggle(this._show); }); \r\n } \r\n }\r\n }\r\n\r\n get show(){ return this._show; }\r\n\r\n\r\n @Output() onAction = new EventEmitter<'open'|'close'>();\r\n\r\n private _loading: boolean = false;\r\n /**\r\n * loading - boolean - Coloca o modal em modo de carregamento - default false\r\n */\r\n @Input() set loading(loading: boolean){ \r\n this._loading = loading;\r\n this._tCloudUiAccordionService.setLoading(loading);\r\n }\r\n get loading(): boolean { return this._loading; }\r\n\r\n constructor(\r\n private _tCloudUiAccordionService: TCloudUiAccordionService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.subscription_01 = this._tCloudUiAccordionService.stateLoading$.subscribe((loading: boolean) => {\r\n this.loading = loading; \r\n });\r\n \r\n this.subscription_02 = this._tCloudUiAccordionService.stateToggle$.subscribe((show: boolean) => {\r\n this.onAction.emit( (show === true) ? 'open' : 'close' );\r\n })\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if( this.subscription_01 ){ this.subscription_01.unsubscribe(); }\r\n if( this.subscription_02 ){ this.subscription_02.unsubscribe(); }\r\n }\r\n\r\n}\r\n","<div class=\"tcloud-ui-accordion tc-accordion\" [class.tc-accordion-disabled]=\"disabled\">\r\n <ng-content></ng-content>\r\n</div>","import { Component, OnInit, Output, EventEmitter, OnDestroy } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { TCloudUiAccordionService } from '../../services/tcloud-ui-accordion.service';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-accordion-title',\r\n templateUrl: './tcloud-ui-accordion-title.component.html',\r\n styleUrls: ['./tcloud-ui-accordion-title.component.css']\r\n})\r\nexport class TCloudUiAccordionTitleComponent implements OnInit, OnDestroy {\r\n\r\n subscription_01: Subscription | undefined;\r\n subscription_02: Subscription | undefined;\r\n subscription_03: Subscription | undefined;\r\n\r\n show: boolean = false;\r\n loading: boolean = false;\r\n disabled: boolean = false;\r\n \r\n\r\n constructor(\r\n private _tCloudUiAccordionService: TCloudUiAccordionService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.loading = this._tCloudUiAccordionService.getLoading() || false;\r\n this.subscription_01 = this._tCloudUiAccordionService.stateLoading$.subscribe((loading: boolean) => {\r\n this.loading = loading;\r\n });\r\n\r\n this.show = this._tCloudUiAccordionService.getShow() || false;\r\n this.subscription_02 = this._tCloudUiAccordionService.stateToggle$.subscribe((show: boolean) => {\r\n this.show = show;\r\n });\r\n\r\n this.disabled = this._tCloudUiAccordionService.getDisabled() || false;\r\n this.subscription_03 = this._tCloudUiAccordionService.stateDisabled$.subscribe((disabled: boolean) => {\r\n this.disabled = disabled;\r\n });\r\n\r\n }\r\n\r\n toggle(){\r\n if( this.disabled ){ return; }\r\n\r\n this.show = !this.show;\r\n this._tCloudUiAccordionService.toggle(this.show); \r\n \r\n }\r\n\r\n toggle_title(){\r\n this.toggle();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if( this.subscription_01 ){ this.subscription_01.unsubscribe(); }\r\n if( this.subscription_02 ){ this.subscription_02.unsubscribe(); }\r\n if( this.subscription_03 ){ this.subscription_03.unsubscribe(); }\r\n }\r\n\r\n}\r\n","<div class=\"tcloud-ui-accordion-title tc-accordion-title\">\r\n <table class=\"tc-accordion-table\">\r\n <tr>\r\n <td class=\"area-title\" (click)=\"toggle_title()\" >\r\n <ng-content></ng-content>\r\n </td>\r\n <td class=\"tc-accordion-actions\">\r\n <button type=\"button\" class=\"tc-btn-accordion-toggle\" [disabled]=\"disabled\" (click)=\"toggle()\" >\r\n\r\n <i class=\"fas fa-chevron-right icon-toggle\" *ngIf=\"!show\"></i>\r\n <i class=\"fas fa-chevron-down icon-toggle\" *ngIf=\"show\"></i>\r\n\r\n </button>\r\n </td>\r\n </tr>\r\n </table>\r\n</div>","import { Component, OnInit } from '@angular/core';\r\nimport { TCloudUiAccordionService } from '../../services/tcloud-ui-accordion.service';\r\nimport { trigger, state, style, animate, transition } from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-accordion-body',\r\n templateUrl: './tcloud-ui-accordion-body.component.html',\r\n styleUrls: ['./tcloud-ui-accordion-body.component.scss'],\r\n animations: [\r\n trigger('expandAccordion', [\r\n state('close', style({ height: '0' })),\r\n state('open', style({ height: '*' })),\r\n transition('close <=> open', animate('0.35s ease-in-out')),\r\n ]),\r\n ],\r\n})\r\nexport class TCloudUiAccordionBodyComponent implements OnInit {\r\n\r\n show: boolean = false;\r\n \r\n constructor(\r\n private _tCloudUiAccordionService: TCloudUiAccordionService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.show = this._tCloudUiAccordionService.getShow() || false;\r\n this._tCloudUiAccordionService.stateToggle$.subscribe((show: boolean) => {\r\n this.show = show;\r\n })\r\n\r\n }\r\n\r\n}\r\n","<div class=\"tcloud-ui-accordion-body tc-accordion-content\" [class.show]=\"show\" [@expandAccordion]=\"(show) ? 'open' : 'close' \">\r\n <ng-content></ng-content>\r\n</div>","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiAccordionComponent } from './tcloud-ui-accordion.component';\r\nimport { TCloudUiAccordionTitleComponent } from './components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component';\r\nimport { TCloudUiAccordionBodyComponent } from './components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiAccordionComponent,\r\n TCloudUiAccordionTitleComponent,\r\n TCloudUiAccordionBodyComponent\r\n ],\r\n exports: [\r\n TCloudUiAccordionComponent,\r\n TCloudUiAccordionTitleComponent,\r\n TCloudUiAccordionBodyComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA ]\r\n})\r\nexport class TCloudUiAccordionModule { }\r\n","import { Directive, ElementRef, OnInit, Renderer2, Input} from '@angular/core';\r\n\r\n\r\n@Directive({\r\n selector: '[TCalign]'\r\n})\r\nexport class TCloudUiAlignDirective implements OnInit{\r\n\r\n private _direction: 'start' | 'center' | 'end' | 'justify' = 'start';\r\n\r\n @Input() set TCalign (direction: any){\r\n if (direction){\r\n this._direction = direction;\r\n this.setStyle(this.el.nativeElement);\r\n }\r\n }\r\n\r\n constructor(\r\n private el: ElementRef,\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n setStyle(el: any){\r\n if( this._direction === 'start' ){\r\n this.renderer.setStyle(el, 'text-align', 'left');\r\n }\r\n\r\n if( this._direction === 'center' ){\r\n this.renderer.setStyle(el, 'text-align', 'center');\r\n }\r\n\r\n if( this._direction === 'end' ){\r\n this.renderer.setStyle(el, 'text-align', 'right');\r\n }\r\n\r\n if( this._direction === 'justify' ){\r\n this.renderer.setStyle(el, 'text-align', 'justify');\r\n }\r\n }\r\n\r\n\r\n}","\r\nimport { Directive, Input, Renderer2, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[TCHoverParent]'\r\n})\r\nexport class TCloudUiHoverParentDirective {\r\n\r\n private CLASS: string | undefined;\r\n private ID: string | undefined;\r\n\r\n constructor(\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n @HostListener('mouseover') onMouseOver() {\r\n if( this.getElement() ){\r\n const el = <any> this.getElement();\r\n if( el ){\r\n this.renderer.addClass(el, (this.CLASS) ? this.CLASS : 'tcloud-hover-parent');\r\n }\r\n } \r\n }\r\n\r\n @HostListener('mouseout') onMouseOut() {\r\n if( this.getElement() ){\r\n const el = <any> this.getElement();\r\n if( el ){\r\n this.renderer.removeClass(el, (this.CLASS) ? this.CLASS : 'tcloud-hover-parent');\r\n }\r\n \r\n } \r\n }\r\n\r\n @Input() set TCHoverParent (id: string){\r\n if (id){ this.ID = id; }\r\n }\r\n\r\n @Input() set TCHoverParentClass (clss: any){\r\n if (clss){\r\n this.CLASS = clss;\r\n }\r\n }\r\n\r\n getElement(): HTMLElement | undefined{\r\n if( this.ID ){\r\n return document.getElementById(this.ID) || undefined;\r\n }\r\n return undefined;\r\n }\r\n\r\n}","import { Directive, ElementRef, Renderer2, Input, HostListener} from '@angular/core';\r\n\r\n\r\n@Directive({\r\n selector: '[TCtooltip]'\r\n})\r\nexport class TCloudUiTooltipDirective {\r\n\r\n remove: boolean = false;\r\n\r\n info_text: string = '';\r\n\r\n @HostListener('mouseover', ['$event']) onMouseOver(event: MouseEvent) {\r\n\r\n let hoverInCallback = () => {\r\n this.remove = false;\r\n }\r\n\r\n let hoverOutCallback = () => {\r\n this.remove = true; \r\n const customDivAll = <any> document.querySelectorAll('.tc-directive-tooltip');\r\n if(customDivAll && customDivAll.length > 0){\r\n customDivAll.forEach(( _customDiv: any) => {\r\n if( _customDiv ){ _customDiv.remove(); }\r\n });\r\n }\r\n }\r\n\r\n hoverOutCallback;\r\n\r\n setTimeout(() => {\r\n const scrollTop = window?.scrollY || window?.pageYOffset;\r\n const tooltip = this.renderer.createElement('div');\r\n const rect = this.el.nativeElement?.getBoundingClientRect();\r\n // const direction = this.el.nativeElement?.attributes['ng-reflect--t-cdirection']?.value || 'top';\r\n const direction = this._direction || 'top';\r\n const el_position_x = (rect?.left) ? parseInt(rect?.left) : 0;\r\n const el_position_y = (rect?.top ) ? parseInt(rect?.top + scrollTop) : 0;\r\n\r\n let width = 0;\r\n let height = 0;\r\n if( event && event.target ){\r\n const _event = event.target as any;\r\n height = _event.offsetHeight;\r\n width = _event.offsetWidth;\r\n }\r\n\r\n const top = `${(el_position_y - ((height/2) + 10) )}px`;\r\n const left = `${el_position_x + (width/2) }px`;\r\n this.renderer.setStyle(tooltip, 'top', '0px');\r\n this.renderer.setStyle(tooltip, 'left', '0px');\r\n this.renderer.setStyle(tooltip, 'opacity', '0');\r\n this.renderer.addClass(tooltip, 'tc-directive-tooltip');\r\n this.renderer.addClass(tooltip, `tc-directive-tooltip-${direction}`);\r\n const id = this.generateID();\r\n this.renderer.setAttribute(tooltip, 'id', id);\r\n const textNode = this.info_text;\r\n\r\n if( textNode !== undefined && textNode !== null && textNode !== '' ){\r\n\r\n tooltip.innerHTML = textNode;\r\n this.renderer.appendChild(document.body, tooltip); \r\n this.start_tooltip(id, height, width, el_position_x, el_position_y, direction);\r\n\r\n if (tooltip) {\r\n tooltip.addEventListener('mouseenter', hoverInCallback);\r\n tooltip.addEventListener('mouseleave', hoverOutCallback);\r\n }\r\n }\r\n\r\n });\r\n\r\n } \r\n\r\n @HostListener('mouseout', ['$event']) onMouseOut(event: MouseEvent) { \r\n this.remove = true;\r\n const customDivAll = <any> document.querySelectorAll('.tc-directive-tooltip');\r\n if(customDivAll && customDivAll.length > 0){\r\n setTimeout(() => {\r\n if( this.remove ){\r\n customDivAll.forEach(( _customDiv: any) => {\r\n if( _customDiv ){ _customDiv.remove(); }\r\n });\r\n }\r\n }, 25);\r\n }\r\n }\r\n\r\n\r\n @Input() set TCtooltip (tooltip: any){\r\n if (tooltip){\r\n if( typeof tooltip === 'object' ){\r\n }else{\r\n this.info_text = tooltip;\r\n } \r\n }\r\n }\r\n\r\n private _direction: 'top' | 'bottom' | 'left' | 'right' = 'top';\r\n @Input() set TCdirection (direction: any){\r\n if (direction){\r\n this._direction = direction;\r\n }\r\n }\r\n \r\n constructor(\r\n private el: ElementRef,\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n\r\n generateID(target?: string): string{\r\n const ref = (target) ? `-${target}` : '';\r\n return `tc-tooltip-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}${ref}`;\r\n }\r\n\r\n start_tooltip(id: string, height: number, width: number, el_position_x: number, el_position_y: number, direction: string){\r\n setTimeout(() => { \r\n const tooltip: any = document.getElementById(id);\r\n const tooltip_height = tooltip.clientHeight;\r\n const tooltip_width = tooltip.clientWidth;\r\n\r\n /*\r\n console.log('altura do target: ', height);\r\n console.log('largura do target: ', width);\r\n console.log('el_position_x do target: ', el_position_x);\r\n console.log('el_position_y do target: ', el_position_y);\r\n console.log('direction do tooltip: ', direction);\r\n */\r\n\r\n let p_y = 0;\r\n let p_x = 0;\r\n const center_position = (el_position_x + (width/2)) - (tooltip_width/2);\r\n\r\n if( direction === 'top' ){\r\n p_y = (el_position_y - tooltip_height) - 15;\r\n p_x = center_position;\r\n }\r\n\r\n if( direction === 'bottom' ){\r\n p_y = (el_position_y + height) + 15;\r\n p_x = center_position;\r\n }\r\n\r\n if( direction === 'left' ){\r\n p_y = el_position_y - (tooltip_height/2) + (height/2);\r\n p_x = center_position - tooltip_width/2 - width/2 - 15;\r\n }\r\n\r\n if( direction === 'right' ){\r\n p_y = el_position_y - (tooltip_height/2) + (height/2);\r\n p_x = center_position + tooltip_width/2 + width/2 + 15;\r\n }\r\n\r\n this.renderer.setStyle(tooltip, 'top', `${p_y}px`);\r\n this.renderer.setStyle(tooltip, 'left', `${p_x}px`);\r\n this.renderer.addClass(tooltip, 'tc-tooltip-fade-in');\r\n\r\n });\r\n }\r\n\r\n}","import { Directive, ElementRef, OnInit, Renderer2, Input} from '@angular/core';\r\n\r\n\r\n@Directive({\r\n selector: '[TCCopy]'\r\n})\r\nexport class TCloudUiElCopyDirective implements OnInit{\r\n\r\n private _isCopy: boolean = false;\r\n \r\n constructor(\r\n private el: ElementRef,\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.setItemFuncCopy();\r\n }\r\n\r\n setItemFuncCopy(){\r\n\r\n const btn_copy = this.renderer.createElement('i');\r\n\r\n var copyText = ()=>{ \r\n const elementWithCopyAttribute = document.querySelector(`[data-el-copy=\"${id}\"]`) as any;\r\n let copyText = ''\r\n if( elementWithCopyAttribute && elementWithCopyAttribute.tagName && (elementWithCopyAttribute.tagName).toUpperCase() === 'INPUT' ){\r\n copyText = elementWithCopyAttribute?.value!;\r\n }else{\r\n copyText = elementWithCopyAttribute?.textContent!;\r\n } \r\n navigator.clipboard.writeText(copyText);\r\n this.renderer.removeClass(btn_copy, 'fa-copy');\r\n this.renderer.addClass(btn_copy, 'fa-check');\r\n setTimeout(() => {\r\n this.renderer.removeClass(btn_copy, 'fa-check');\r\n this.renderer.addClass(btn_copy, 'fa-copy');\r\n }, 3000);\r\n \r\n }\r\n\r\n const id = this.generateID();\r\n this.renderer.setAttribute(this.el.nativeElement, 'data-el-copy', `${id}`);\r\n\r\n \r\n this.renderer.setStyle(btn_copy, 'cursor', 'pointer');\r\n this.renderer.setStyle(btn_copy, 'margin-left', '3px');\r\n this.renderer.addClass(btn_copy, 'fas');\r\n this.renderer.addClass(btn_copy, 'fa-copy');\r\n\r\n this.renderer.addClass(btn_copy, 'tcloud-ui-el-copy');\r\n this.renderer.setAttribute(btn_copy, 'id', id);\r\n this.renderer.setAttribute(btn_copy, 'title', 'Copy');\r\n this.renderer.listen(btn_copy, 'click', () => { copyText(); });\r\n\r\n if( ((this.el.nativeElement).tagName).toUpperCase() === 'INPUT' ){\r\n let classList = this.el.nativeElement?.classList!\r\n if( classList && (classList).length > 0 && ('tc-form-control').indexOf(classList) > -1 ){\r\n this.renderer.addClass(btn_copy, 'tcloud-ui-el-input-copy-tc-form-control');\r\n }else{\r\n this.renderer.addClass(btn_copy, 'tcloud-ui-el-input-copy');\r\n } \r\n this.renderer.appendChild(this.el.nativeElement.parentNode, btn_copy);\r\n }else{\r\n this.renderer.appendChild(this.el.nativeElement, btn_copy);\r\n }\r\n\r\n \r\n\r\n \r\n }\r\n\r\n generateID(target?: string): string{\r\n const ref = (target) ? `-${target}` : '';\r\n return `tc-el-copy-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}${ref}`;\r\n }\r\n\r\n}","import { Directive, ElementRef, HostListener, Renderer2 } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[TCcurrency]',\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: TCloudUiCurrencyDirective,\r\n multi: true\r\n }]\r\n})\r\nexport class TCloudUiCurrencyDirective implements ControlValueAccessor {\r\n\r\n constructor(private el: ElementRef, private renderer: Renderer2) {}\r\n\r\n onChange: any = () => {};\r\n onTouch: any = () => {};\r\n\r\n // ngAfterViewInit() {\r\n // setTimeout(() => {\r\n // let unmaskedValue = this.unmask( this.el.nativeElement.value );\r\n // console.log('Valor do input:', unmaskedValue);\r\n // this.onChange(Number(unmaskedValue));\r\n // this.writeValue(unmaskedValue);\r\n // }); \r\n // }\r\n\r\n writeValue(value: any): void {\r\n this.renderer.setProperty(this.el.nativeElement, 'type', 'text');\r\n this.renderer.setStyle(this.el.nativeElement, 'text-align', 'right');\r\n if (value !== undefined && value !== null) {\r\n this.renderer.setProperty(this.el.nativeElement, 'value', this.formatCurrency(value));\r\n } else {\r\n this.renderer.setProperty(this.el.nativeElement, 'value', '');\r\n }\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n @HostListener('focus')\r\n onFocus(): void {\r\n this.setCursorToEnd();\r\n }\r\n\r\n private setCursorToEnd(): void {\r\n const nativeInput = this.el.nativeElement as HTMLInputElement;\r\n const length = nativeInput.value.length;\r\n nativeInput.setSelectionRange(length, length);\r\n }\r\n\r\n private setInInput(){\r\n\r\n }\r\n\r\n @HostListener('input', ['$event.target.value'])\r\n onInput(value: string): void {\r\n const unmaskedValue = this.unmask(value);\r\n this.onChange(Number(unmaskedValue));\r\n this.writeValue(unmaskedValue);\r\n }\r\n\r\n private formatCurrency(value: any): string { \r\n \r\n const posicaoPonto = `${value}`.indexOf('.');\r\n if (posicaoPonto !== -1) {\r\n let part = `${value}`.split('.');\r\n let decimalPart = (part && part[1]) ? part[1] : '';\r\n if( (decimalPart).length < 2 ){\r\n value = value + '0';\r\n } \r\n }else{\r\n value = value + '.00';\r\n }\r\n\r\n return 'R$ '+ this.formatReal(value);\r\n }\r\n\r\n private unmask(value: string): any {\r\n if( value === undefined || value === null || value === \"\" ){\r\n return \"\";\r\n }\r\n value = value.replace(/[^\\d]/g, '');\r\n value = value.replace(/^0+/, '');\r\n if( value && value[0] ){\r\n if( (value[0] === ',' || value[0] === '.') ){\r\n value = '0'+value;\r\n } \r\n }\r\n value = this.toDecimal(value); \r\n return value;\r\n }\r\n\r\n private formatarNumero(numero: any): string {\r\n return numero.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, '.') as string;\r\n }\r\n\r\n private formatReal(value: any): string {\r\n var delimiter = ',';\r\n \r\n if( !value! ){ return `0${delimiter}00`; }\r\n if( value === `0${delimiter}00` ){ value = ''; }\r\n value = `${value}`;\r\n value = value.replace(/^0+/, '');\r\n const cleanValue = value.replace(/[^\\d]/g, '');\r\n if (cleanValue.length <= 2) { \r\n let _value = `${delimiter}${cleanValue.padStart(2, '0')}`;\r\n if( _value && _value[0] ){\r\n if( (_value[0] === ',' || _value[0] === '.') ){\r\n _value = '0'+_value;\r\n } \r\n }\r\n return _value;\r\n }\r\n\r\n let integerPart = cleanValue.slice(0, -2) || '0';\r\n const decimalPart = cleanValue.slice(-2).padStart(2, '0');\r\n if( (integerPart).length > 3 ){\r\n integerPart = this.formatarNumero(integerPart);\r\n }\r\n let _value = `${integerPart}${delimiter}${decimalPart}`;\r\n if( _value && _value[0] ){\r\n if( (_value[0] === ',' || _value[0] === '.') ){\r\n _value = '0'+_value;\r\n } \r\n }\r\n\r\n return _value;\r\n }\r\n\r\n private toDecimal(numero: any) { \r\n const numeroStr = numero.toString();\r\n let parteInteira = numeroStr.slice(0, -2) || '0';\r\n let parteDecimal = numeroStr.slice(-2);\r\n if(Number(parteDecimal) > 0 && Number(parteDecimal) < 10 ){\r\n parteDecimal = `0${Number(parteDecimal)}`;\r\n }\r\n let _value = `${parteInteira}.${parteDecimal}`; \r\n if( _value === ',' || _value === ',0' || _value === '0,' || _value === '0,0' || _value === '0,00' ){ return '0'; }\r\n if( _value === '.' || _value === '.0' || _value === '0.' || _value === '0.0' || _value === '0.00' ){ return '0'; }\r\n _value = _value.replace(/^0+/, '');\r\n if( _value && _value[0] ){\r\n if( (_value[0] === ',' || _value[0] === '.') ){\r\n _value = '0'+_value;\r\n } \r\n }\r\n \r\n return _value;\r\n }\r\n}\r\n","import { Inject, Injectable, Optional } from '@angular/core';\r\nimport { UserServiceInterface } from '../_interfaces/user.service.interface';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TCloudUiCheckAccessService {\r\n\r\n private userService = {} as UserServiceInterface;\r\n\r\n constructor(\r\n @Optional() @Inject('UserService') private _UserService: any\r\n ) {\r\n this.userService = this._UserService;\r\n }\r\n\r\n check(checkAccess: any){\r\n const temp_user = this.getImpersonalizeUserInfo();\r\n if( temp_user ){\r\n // Para uso com impersonalização - Visualização do T-Cloud por outro usuário\r\n return this.checkImpersonalizeMode(checkAccess, temp_user);\r\n } \r\n // Utilização para usuário logado\r\n return this.checkDefaultMode(checkAccess);\r\n }\r\n\r\n checkDefaultMode(checkAccess: any){\r\n let hasAccess = false;\r\n if ( Array.isArray(checkAccess[0]) ){\r\n if (checkAccess[1]){\r\n let features = checkAccess[1].ui_topology;\r\n if (features){\r\n checkAccess[0].forEach((rule:any) => {\r\n hasAccess = hasAccess || ( ( features.findIndex((feature: any) => feature === rule ) != -1 ) ? true : false );\r\n });\r\n }\r\n }\r\n }else{\r\n let features = this.userService?.getCurrentEnv()?.ui;\r\n console.log('features ui', features);\r\n checkAccess.forEach((rule:any) => {\r\n hasAccess = hasAccess || ( ( features && features.findIndex((feature: any) => feature === rule ) != -1 ) ? true : false );\r\n });\r\n }\r\n return hasAccess;\r\n }\r\n\r\n checkImpersonalizeMode(checkAccess: any, temp_user: any){\r\n let hasAccess = false;\r\n if ( Array.isArray(checkAccess[0]) ){\r\n if (checkAccess[1]){\r\n let features = checkAccess[1].ui_topology;\r\n if (features){\r\n checkAccess[0].forEach((rule:any) => {\r\n hasAccess = hasAccess || ( ( features.findIndex((feature: any) => feature === rule ) != -1 ) ? true : false );\r\n });\r\n }\r\n }\r\n }else{\r\n let features = temp_user.ui;\r\n checkAccess.forEach((rule:any) => {\r\n hasAccess = hasAccess || ( ( features && features.findIndex((feature: any) => feature === rule ) != -1 ) ? true : false );\r\n });\r\n }\r\n return hasAccess;\r\n }\r\n\r\n checkFeatureFlags(_feature: string | string[] | any): boolean{\r\n let enable = false;\r\n let isEnabled = [];\r\n\r\n // tcloud_features - features do componente tcloud\r\n let tcloud_features = [];\r\n if( _feature ){\r\n if( typeof _feature === 'string' ){\r\n (tcloud_features).push(_feature);\r\n }else if( _feature && (_feature).length > 0 ) {\r\n tcloud_features = _feature;\r\n }\r\n\r\n let feature_flags_topology = undefined;\r\n if ( Array.isArray(_feature[0]) ){\r\n if (_feature[1]){\r\n tcloud_features = _feature[0];\r\n if( _feature[1] && _feature[1].feature_flags_topology && (_feature[1]?.feature_flags_topology).length >= 0 ){\r\n feature_flags_topology = _feature[1].feature_flags_topology;\r\n }\r\n }\r\n } \r\n\r\n let feature_flags = [];\r\n if( feature_flags_topology && (feature_flags_topology).length >= 0 ){\r\n // feature_flags - obtendo de topology (infProduto) -> feature_flags_topology\r\n feature_flags = feature_flags_topology;\r\n }else{\r\n // feature_flags - obtendo de user info\r\n feature_flags = this.userService?.getCurrentEnv()?.feature_flags || [];\r\n }\r\n console.log('feature_flags', feature_flags);\r\n\r\n for( let i = 0; i < (tcloud_features).length; i++ ){\r\n const tcloud_feature = tcloud_features[i];\r\n if( tcloud_feature[0] === '!' ){\r\n let qtd_exist = 0;\r\n for( let j = 0; j < (feature_flags).length; j++ ){\r\n const feature_flag = feature_flags[j]; \r\n if( tcloud_feature === '!'+feature_flag ){\r\n (isEnabled).push(false); \r\n qtd_exist++;\r\n }\r\n }\r\n if( qtd_exist === 0 ){\r\n (isEnabled).push(true);\r\n } \r\n }else{\r\n let qtd_exist = 0;\r\n for( let j = 0; j < (feature_flags).length; j++ ){\r\n const feature_flag = feature_flags[j]; \r\n if( tcloud_feature === feature_flag ){\r\n (isEnabled).push(true); \r\n qtd_exist++;\r\n } \r\n }\r\n if( qtd_exist === 0 ){\r\n (isEnabled).push(false);\r\n }\r\n }\r\n }\r\n\r\n if( isEnabled && (isEnabled).length > 0 ){\r\n enable = true;\r\n for( let i = 0; i < (isEnabled).length; i++ ){\r\n if( isEnabled[i] === false ){\r\n enable = false; break;\r\n } \r\n }\r\n }\r\n }\r\n return enable; \r\n }\r\n\r\n\r\n\r\n /* */\r\n private getImpersonalizeUserInfo(){\r\n // return this.getLocalStorage();\r\n \r\n // remover do localstorage se não existir cCode ????\r\n const cCode = this.userService?.getCurrentEnv()?.currentCloudID?.cloud_id || '';\r\n if( cCode && cCode !== '' ){\r\n return this.getLocalStorage();\r\n }\r\n this.removeLocalStorage();\r\n return undefined; \r\n }\r\n\r\n private getLocalStorage(){\r\n let info: any = localStorage.getItem('temp_user_info');\r\n let user_info = {} as any;\r\n try {\r\n user_info = JSON.parse(info);\r\n } catch (error) {\r\n user_info = undefined; \r\n }\r\n return user_info;\r\n }\r\n \r\n private removeLocalStorage(){\r\n localStorage.removeItem('temp_user_info');\r\n }\r\n\r\n}","import { Directive, ElementRef, OnInit, Renderer2, Input} from '@angular/core';\r\nimport { TCloudUiCheckAccessService } from '../../_services/tcloud-ui-check-access.service';\r\n\r\n@Directive({\r\n selector: '[TCCheckAccess]'\r\n})\r\nexport class TCloudUiCheckAccessDirective implements OnInit{\r\n @Input() set TCCheckAccess (checkAccess: any){\r\n if (checkAccess){\r\n this.check(checkAccess);\r\n }\r\n };\r\n \r\n constructor(\r\n private el: ElementRef,\r\n private renderer: Renderer2,\r\n private checkAccessService: TCloudUiCheckAccessService\r\n ) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n check(checkAccess: any){\r\n let hasAccess = false;\r\n hasAccess = this.checkAccessService.check(checkAccess);\r\n\r\n let elemento = this.el.nativeElement;\r\n if (elemento){\r\n if (!hasAccess){\r\n this.setStyle(elemento);\r\n }else{\r\n this.normalStyle(elemento);\r\n }\r\n }else{\r\n // console.log(\"TCL: checkAccessDirective -> elemento\", this.el.nativeElement)\r\n }\r\n }\r\n\r\n setStyle(el: any){\r\n this.renderer.setStyle(el, 'background-color', 'rgb(255, 219, 94)');\r\n // this.renderer.setStyle(el, 'display', 'none');\r\n this.renderer.setAttribute(el, 'style', 'display:none !important');\r\n this.removeElement(el);\r\n }\r\n normalStyle(el: any){\r\n // this.renderer.setStyle(el, 'color', '');\r\n // this.renderer.setStyle(el, 'border', '1px solid darkorange');\r\n // this.renderer.setStyle(el, 'padding', '');\r\n this.renderer.setStyle(el, 'background-color', '');\r\n this.renderer.setStyle(el, 'display', '');\r\n // el.innerHTML = \"Sem acesso\";\r\n }\r\n\r\n removeElement(el: any) {\r\n if( el ){\r\n try {\r\n this.renderer.removeChild(el.parentNode, el);\r\n } catch (error) {} \r\n }\r\n }\r\n\r\n}","import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { TCloudUiCheckAccessService } from '../../_services/tcloud-ui-check-access.service';\r\n\r\n\r\n\r\n/*\r\n// Verificação checkAccess\r\n<ng-container *ngTCCheckAccess=\"[[features.backup], topologie?.infProduto]\" >\r\n Conteudo protegido\r\n</ng-container>\r\n\r\n// Verificação checkAccess com condição adicional\r\n<ng-container *ngTCCheckAccess=\"[[features.backup], topologie?.infProduto]; ngIf: topologie?.product == 'winthor'\" >\r\n Conteudo protegido\r\n</ng-container>\r\n*/\r\n\r\n@Directive({\r\n selector: '[ngTCCheckAccess]'\r\n})\r\nexport class TCloudUiNgCheckAccessDirective {\r\n\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainer: ViewContainerRef,\r\n private checkAccessService: TCloudUiCheckAccessService\r\n ) { }\r\n\r\n private isCondition: boolean = true;\r\n\r\n @Input() set ngTCCheckAccess(checkAccess: any | boolean) {\r\n const isCheckAccess = ( typeof checkAccess === 'boolean' ) ? checkAccess : this.checkAccessService.check(checkAccess);\r\n setTimeout(() => { this.check_view( isCheckAccess ); }); \r\n }\r\n\r\n @Input() set ngTCCheckAccessNgIf(check: boolean){ \r\n this.isCondition = check;\r\n }\r\n\r\n private check_view(isView: boolean){\r\n if ( isView && this.isCondition ) {\r\n this.viewContainer.createEmbeddedView(this.templateRef);\r\n } else {\r\n this.viewContainer.clear();\r\n }\r\n }\r\n\r\n}\r\n","import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { TCloudUiCheckAccessService } from '../../_services/tcloud-ui-check-access.service';\r\n\r\n/*\r\n <div *ngTCFeatureFlags=\"['pipeline_flow_pusher']\">\r\n\t\tTem pipeline_flow_pusher\r\n\t</div>\r\n*/\r\n\r\n@Directive({\r\n selector: '[ngTCFeatureFlags]'\r\n})\r\nexport class TCloudUiNgFeatureFlagsDirective {\r\n\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainer: ViewContainerRef,\r\n private checkAccessService: TCloudUiCheckAccessService\r\n ) { }\r\n\r\n private isCondition: boolean = true;\r\n\r\n @Input() set ngTCFeatureFlags(FeatureFlags: any | boolean) {\r\n const isFeatureFlags = ( typeof FeatureFlags === 'boolean' ) ? FeatureFlags : this.checkAccessService.checkFeatureFlags(FeatureFlags);\r\n setTimeout(() => { this.check_view( isFeatureFlags ); }); \r\n }\r\n\r\n \r\n\r\n @Input() set TCNgFeatureFlagsNgIf(check: boolean){ \r\n this.isCondition = check;\r\n }\r\n\r\n private check_view(isView: boolean){\r\n if ( isView && this.isCondition ) {\r\n this.viewContainer.createEmbeddedView(this.templateRef);\r\n } else {\r\n this.viewContainer.clear();\r\n }\r\n }\r\n\r\n}\r\n","import { Directive, ElementRef, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[TCDigitOnly]'\r\n})\r\nexport class TCloudUiDigitOnlyDirective {\r\n inputElement: HTMLElement;\r\n constructor(public el: ElementRef) {\r\n this.inputElement = el.nativeElement;\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(e: KeyboardEvent) {\r\n if (\r\n [46, 8, 9, 27, 13].indexOf(e.keyCode) !== -1 || // Allow: Delete, Backspace, Tab, Escape, Enter\r\n (e.keyCode === 65 && e.ctrlKey === true) || // Allow: Ctrl+A\r\n (e.keyCode === 67 && e.ctrlKey === true) || // Allow: Ctrl+C\r\n (e.keyCode === 86 && e.ctrlKey === true) || // Allow: Ctrl+V\r\n (e.keyCode === 88 && e.ctrlKey === true) || // Allow: Ctrl+X\r\n (e.keyCode === 65 && e.metaKey === true) || // Allow: Cmd+A (Mac)\r\n (e.keyCode === 67 && e.metaKey === true) || // Allow: Cmd+C (Mac)\r\n (e.keyCode === 86 && e.metaKey === true) || // Allow: Cmd+V (Mac)\r\n (e.keyCode === 88 && e.metaKey === true) || // Allow: Cmd+X (Mac)\r\n (e.keyCode >= 35 && e.keyCode <= 39) // Allow: Home, End, Left, Right\r\n ) {\r\n // let it happen, don't do anything\r\n return;\r\n }\r\n // Ensure that it is a number and stop the keypress\r\n if (\r\n (e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) &&\r\n (e.keyCode < 96 || e.keyCode > 105)\r\n ) {\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n @HostListener('paste', ['$event'])\r\n onPaste(event: ClipboardEvent) {\r\n event.preventDefault();\r\n if( event && event.clipboardData){\r\n const pastedInput: string = event.clipboardData\r\n .getData('text/plain')\r\n .replace(/\\D/g, ''); // get a digit-only string\r\n document?.execCommand('insertText', false, pastedInput);\r\n }\r\n }\r\n\r\n @HostListener('drop', ['$event'])\r\n onDrop(event: DragEvent) {\r\n event.preventDefault();\r\n if( event && event.dataTransfer){\r\n const textData = event.dataTransfer.getData('text').replace(/\\D/g, '');\r\n this.inputElement.focus();\r\n document?.execCommand('insertText', false, textData);\r\n }\r\n }\r\n}","import { Directive, ElementRef, Input, OnInit } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[TCHighlight]'\r\n})\r\nexport class TCloudUiHighLightDirective implements OnInit{\r\n\r\n @Input() TCHighlight: string | undefined;\r\n inputElement: HTMLElement;\r\n\r\n constructor(public el: ElementRef) {\r\n this.inputElement = el.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n let block = document.createElement('div');\r\n if (!this.TCHighlight){\r\n block.appendChild(document.createTextNode('PRECISA FINALIZAR IMPLEMENTAÇÃO!!'));\r\n }else{\r\n block.appendChild(document.createTextNode(this.TCHighlight));\r\n }\r\n\r\n if( block && block.style ){\r\n block.style.backgroundColor = '#F00';\r\n block.style.color = '#FFF';\r\n block.style.padding = '15px';\r\n block.style.textAlign = 'center';\r\n block.style.fontWeight = '600';\r\n }\r\n\r\n this.inputElement.insertBefore(block, this.inputElement.firstChild);\r\n }\r\n\r\n\r\n}","import { Directive, ElementRef, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[TCIpMask]'\r\n})\r\nexport class TCloudUiIpMaskDirective{\r\n constructor(public el: ElementRef) {\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(e: any) {\r\n // console.log(\"IpMaskDirective -> onKeyDown -> e.keyCode\", e.keyCode);\r\n if (\r\n [190, 108, 191, 110, 111].indexOf(e.keyCode) !== -1 || // Allow: ponto(.), ponto(.) Teclado numérico, barra(/) , barra(/) Teclado numérico\r\n [46, 8, 9, 27, 13].indexOf(e.keyCode) !== -1 || // Allow: Delete, Backspace, Tab, Escape, Enter\r\n (e.keyCode === 65 && e.ctrlKey === true) || // Allow: Ctrl+A\r\n (e.keyCode === 67 && e.ctrlKey === true) || // Allow: Ctrl+C\r\n (e.keyCode === 86 && e.ctrlKey === true) || // Allow: Ctrl+V\r\n (e.keyCode === 88 && e.ctrlKey === true) || // Allow: Ctrl+X\r\n (e.keyCode === 65 && e.metaKey === true) || // Allow: Cmd+A (Mac)\r\n (e.keyCode === 67 && e.metaKey === true) || // Allow: Cmd+C (Mac)\r\n (e.keyCode === 86 && e.metaKey === true) || // Allow: Cmd+V (Mac)\r\n (e.keyCode === 88 && e.metaKey === true) || // Allow: Cmd+X (Mac)\r\n (e.keyCode >= 35 && e.keyCode <= 39) // Allow: Home, End, Left, Right\r\n ) {\r\n // let it happen, don't do anything\r\n return;\r\n }\r\n\r\n // Ensure that it is a number and stop the keypress\r\n if (\r\n (e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) &&\r\n (e.keyCode < 96 || e.keyCode > 105)\r\n ) {\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n @HostListener('paste', ['$event'])\r\n onPaste(event: ClipboardEvent) {\r\n event.preventDefault();\r\n if( event && event.clipboardData ){\r\n const pastedInput: string = event.clipboardData\r\n .getData('text/plain')\r\n .replace(/\\D/g, ''); // get a digit-only string\r\n document?.execCommand('insertText', false, pastedInput);\r\n }\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { TCloudUiAlignDirective } from './align/align.directive';\r\nimport { TCloudUiHoverParentDirective } from './hover-parent/hover-parent.directive';\r\nimport { TCloudUiTooltipDirective } from './tooltip/tooltip.directive';\r\nimport { TCloudUiElCopyDirective } from './el-copy/el-copy.directive';\r\nimport { TCloudUiCurrencyDirective } from './currency/currency.directive';\r\nimport { TCloudUiCheckAccessDirective } from './tcloud-access/tcloud-ui-check-access.directive';\r\nimport { TCloudUiNgCheckAccessDirective } from './tcloud-access/tcloud-ui-ng-check-access.directive';\r\nimport { TCloudUiNgFeatureFlagsDirective } from './tcloud-access/tcloud-ui-ng-feature-flags.directive';\r\nimport { TCloudUiCheckAccessService } from '../_services/tcloud-ui-check-access.service';\r\nimport { TCloudUiDigitOnlyDirective } from './tcloud-ui-digit-only.directive';\r\nimport { TCloudUiHighLightDirective } from './tcloud-ui-highlight.diretive';\r\nimport { TCloudUiIpMaskDirective } from './tcloud-ui-ip-mask.directive';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiTooltipDirective,\r\n TCloudUiAlignDirective,\r\n TCloudUiHoverParentDirective,\r\n TCloudUiElCopyDirective,\r\n TCloudUiCurrencyDirective,\r\n TCloudUiCheckAccessDirective, \r\n TCloudUiNgCheckAccessDirective,\r\n TCloudUiNgFeatureFlagsDirective,\r\n TCloudUiDigitOnlyDirective,\r\n TCloudUiHighLightDirective,\r\n TCloudUiIpMaskDirective\r\n ],\r\n exports: [\r\n TCloudUiTooltipDirective,\r\n TCloudUiAlignDirective,\r\n TCloudUiHoverParentDirective,\r\n TCloudUiElCopyDirective,\r\n TCloudUiCurrencyDirective,\r\n TCloudUiCheckAccessDirective, \r\n TCloudUiNgCheckAccessDirective,\r\n TCloudUiNgFeatureFlagsDirective,\r\n TCloudUiDigitOnlyDirective,\r\n TCloudUiHighLightDirective,\r\n TCloudUiIpMaskDirective\r\n ],\r\n providers: [\r\n TCloudUiCheckAccessService\r\n ]\r\n})\r\nexport class TCloudUiDirectiveModule {}","import { NgModule } from '@angular/core';\r\nimport { CommonModule, DatePipe } from '@angular/common';\r\n\r\nimport { MonthNamePipe, StatusInfoPipe, RespectivePipe, CNPJPipe, BytesPipe, CPFPipe, DateBRPipe, ToTextPipe } from '../_pipes';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule, \r\n ],\r\n declarations: [\r\n\r\n MonthNamePipe,\r\n StatusInfoPipe,\r\n RespectivePipe,\r\n CNPJPipe,\r\n CPFPipe,\r\n BytesPipe,\r\n DateBRPipe,\r\n ToTextPipe\r\n ],\r\n exports: [ \r\n DatePipe,\r\n\r\n MonthNamePipe,\r\n StatusInfoPipe,\r\n RespectivePipe,\r\n CNPJPipe,\r\n CPFPipe,\r\n BytesPipe,\r\n DateBRPipe,\r\n ToTextPipe\r\n ],\r\n providers: [\r\n DatePipe,\r\n\r\n MonthNamePipe,\r\n StatusInfoPipe,\r\n RespectivePipe,\r\n CNPJPipe,\r\n CPFPipe,\r\n BytesPipe,\r\n DateBRPipe,\r\n ToTextPipe\r\n ]\r\n})\r\nexport class TCloudUiPipesModule { }\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TCloudUiLoadingTransitionsService {\r\n\r\n \r\n\r\n private ID: string = 'tcloud-ui-loading-transitions';\r\n\r\n constructor(\r\n ) {}\r\n\r\n /**\r\n * Inicia a tela de bloqueio para carregamento de tarefa\r\n */\r\n start(){\r\n this.create_loading_transition();\r\n if( document.getElementById(this.ID) ){\r\n const box = document.getElementById(this.ID);\r\n box?.classList.add('tcloud-ui-start-loading');\r\n }\r\n }\r\n\r\n /**\r\n * Encerra a tela de bloqueio\r\n */\r\n stop(){\r\n if( document.getElementById(this.ID) ){\r\n const box = document.getElementById(this.ID);\r\n box?.classList.remove('tcloud-ui-start-loading');\r\n\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.remove('tcloud-ui-body-loading-transitions');\r\n }\r\n }\r\n\r\n private create_loading_transition(){\r\n let box = null as any;\r\n if( document.getElementById(this.ID) ){\r\n box = document.getElementById(this.ID);\r\n }else{\r\n box = document.createElement(\"div\");\r\n box.setAttribute('id', this.ID);\r\n \r\n } \r\n\r\n box.style.display = 'none';\r\n box.innerHTML = `<div class=\"tc-loading-icon\"><i class=\"fas fa-spinner fa-spin\"></i></div>`;\r\n\r\n const body = document.getElementsByTagName('body')[0];\r\n body.appendChild(box);\r\n body.classList.add('tcloud-ui-body-loading-transitions');\r\n }\r\n\r\n\r\n\r\n}","import { Component, Input, OnDestroy, OnInit, forwardRef, ViewChild, ElementRef, Output, EventEmitter } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, NG_VALIDATORS, FormControl, Validator } from '@angular/forms';\r\n\r\nconst CUSTOM_INPUT_VALIDATORS: any = { \r\n provide: NG_VALIDATORS, \r\n useExisting: forwardRef(() => TCloudUiMultiplesValuesComponent),\r\n multi: true\r\n}\r\n\r\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiMultiplesValuesComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n@Component({\r\n selector: 'tcloud-ui-multiples-values',\r\n templateUrl: './tcloud-ui-multiples-values.component.html',\r\n styleUrls: ['./tcloud-ui-multiples-values.component.scss'],\r\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CUSTOM_INPUT_VALIDATORS]\r\n})\r\nexport class TCloudUiMultiplesValuesComponent implements OnInit, OnDestroy, Validator {\r\n\r\n viewport_width: number = 0;\r\n viewport_height: number = 0;\r\n box_height: number = 0;\r\n box_style: string = '';\r\n menu_on_top: string = '';\r\n search_text: string = '';\r\n\r\n id: string = '';\r\n show_itens: boolean = false;\r\n show_component: boolean = false;\r\n \r\n\r\n input_items: string = '';\r\n\r\n items = [] as string[];\r\n\r\n private _listItems: any | undefined;\r\n @Input() set listItems(v: any | undefined){\r\n if( v !== this._listItems ){\r\n this._listItems = v;\r\n }\r\n }\r\n get listItems():any | undefined { return this._listItems; }\r\n \r\n @Input() openValuesInChange: boolean = true;\r\n @Input() useBtnAdd: boolean = true;\r\n\r\n @Input() pattern: RegExp | any = null;\r\n @Input() delimiter: string = ',';\r\n @Input() placeholder: string = '';\r\n @Input() disabled: boolean = false;\r\n @Input() loading: boolean = false;\r\n @Input() required: string | undefined;\r\n @Input() search: boolean = true;\r\n @Input() uppercase: boolean = false;\r\n @Input() lowercase: boolean = false;\r\n\r\n @Input() maxWidthLabel: string | undefined;\r\n\r\n @Output() tcChange = new EventEmitter<any>();\r\n\r\n use_validation_required: boolean = false;\r\n\r\n placeholder_list: string = '';\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.id = this.generateID();\r\n setTimeout(() => { \r\n this.show_component = true;\r\n this.toResize();\r\n this.toClick();\r\n this.set_placeholder_list(); \r\n }); \r\n }\r\n\r\n check_is_valid(): boolean{\r\n if( this.items ){\r\n return ((this.items).length > 0) ? true : false;\r\n }\r\n return false;\r\n }\r\n\r\n generateID(): string{\r\n return `multiple-values-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\r\n }\r\n\r\n remove_duplicates(items: string[]): string[] {\r\n return [...new Set(items)];\r\n }\r\n\r\n \r\n add_items_by_data_list(e: any){\r\n this.input_items = e;\r\n this.add_items();\r\n }\r\n\r\n add_items(){\r\n\r\n if( this.disabled ){ return; }\r\n\r\n const input_items = this.input_items;\r\n\r\n this.input_items = '';\r\n \r\n let items = [];\r\n if( input_items && input_items !== '' ){\r\n\r\n items = <any> (input_items).split(this.delimiter);\r\n\r\n }\r\n\r\n if( (items).length === 0 ){\r\n if( input_items && input_items !== '' ){\r\n let txt = `${(input_items).trim()}`;\r\n items = [txt];\r\n }\r\n }\r\n\r\n //items = [...new Set(items)];\r\n\r\n for( let i = 0; i < (items).length; i++){\r\n let txt = `${(items[i]).trim()}`;\r\n\r\n if( this.uppercase ){\r\n if( txt && txt !== '' ){\r\n txt = (txt).toLocaleUpperCase();\r\n } \r\n }\r\n\r\n if( this.lowercase ){\r\n if( txt && txt !== '' ){\r\n txt = (txt).toLocaleLowerCase();\r\n }\r\n }\r\n\r\n if( txt && txt !== '' ){\r\n (this.items).push(txt);\r\n }\r\n \r\n }\r\n\r\n this.items = this.remove_duplicates(this.items);\r\n this.set_placeholder_list();\r\n }\r\n\r\n set_placeholder_list(){\r\n let placeholder_list = '';\r\n let delimiter = '';\r\n const items = this.items;\r\n if( items && (items).length > 0 ){\r\n for( let i = 0; i < (items).length; i++){\r\n placeholder_list += delimiter + `${(items[i]).trim()}`;\r\n delimiter = `${this.delimiter} `;\r\n }\r\n }\r\n this.placeholder_list = (placeholder_list !== '') ? placeholder_list : this.placeholder;\r\n this.onChangeTouched();\r\n this.onChangeCallback(this.items);\r\n this.onChange();\r\n }\r\n\r\n\r\n removeItem(item: any, index: number): void{\r\n if( this.disabled ){ return; }\r\n if( this.items ){\r\n for( let i = 0; i < (this.items).length; i++ ){\r\n const row = this.items[i];\r\n if( item === row && i === index ){\r\n (this.items).splice(index,1);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if( (this.items).length === 0 ){\r\n this.show_itens = false\r\n }\r\n\r\n this.set_placeholder_list();\r\n }\r\n\r\n remove_all(){\r\n if( this.disabled ){ return; }\r\n this.items = [];\r\n this.set_placeholder_list();\r\n }\r\n\r\n toClick(){\r\n const box = `area-${this.id}`;\r\n window.addEventListener('click',(e: any) => { \r\n\r\n if( this.show_itens ){ \r\n try {\r\n if( !(document.getElementById(box)?.contains(e.target)) ){ \r\n if( 'box-action' !== e.target.parentElement.className ){\r\n this.show_itens = false;\r\n } \r\n \r\n }\r\n } catch (error) {\r\n \r\n }\r\n \r\n }\r\n });\r\n\r\n const boxsub = `${this.id}-options`;\r\n }\r\n\r\n toResize(){\r\n window.addEventListener('resize', () => {\r\n this.viewport_width = window.innerWidth;\r\n this.viewport_height = window.innerHeight;\r\n this.resolve_position_dropdown(this.show_itens);\r\n });\r\n }\r\n\r\n toOpen(){\r\n if( this.items.length === 0 ){\r\n this.show_itens = false;\r\n return;\r\n }\r\n\r\n this.show_itens = !this.show_itens; \r\n this.resolve_position_dropdown(this.show_itens);\r\n }\r\n\r\n toClose(){\r\n this.show_itens = false;\r\n }\r\n\r\n resolve_position_dropdown(open: boolean){\r\n if( open ){\r\n this.box_style = '';\r\n this.menu_on_top = ''; \r\n const id = `${this.id}`; \r\n const box = `box-${this.id}`;\r\n if( this.viewport_height === 0 ){\r\n this.viewport_height = window.innerWidth;\r\n }\r\n const rect = document.getElementById(id)?.getBoundingClientRect();\r\n const box_position = rect?.bottom || 0; \r\n setTimeout(() => {\r\n this.box_height = document.getElementById(box)?.clientHeight || 0;\r\n if( ( this.viewport_height - box_position) < this.box_height ){\r\n this.menu_on_top = 'menu-on-top';\r\n this.box_style = `top: -${ (this.box_height) }px; height: ${this.box_height}px;`;\r\n }\r\n }); \r\n }\r\n }\r\n\r\n\r\n\r\n clearTextSearch(){\r\n this.search_text = '';\r\n this.toSearch('');\r\n }\r\n\r\n toSearch(e: any) {\r\n let input = (e && e.target && e.target.value) ? e.target.value : '';\r\n \r\n let filter = ( ( (input).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\r\n let ul = <any> document.getElementById(`${this.id}-options`);\r\n let li = ul.getElementsByTagName(\"label\");\r\n for (let i = 0; i < li.length; i++) {\r\n const a = li[i];\r\n const txtValue = ( ( ( a.textContent || a.innerText ).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\r\n if (txtValue.indexOf(filter) > -1) {\r\n li[i].style.display = \"\";\r\n } else {\r\n li[i].style.display = \"none\";\r\n }\r\n }\r\n }\r\n\r\n\r\n toEnterKey(input_items: string | string[] ){\r\n\r\n if( !input_items ){ return; }\r\n\r\n let valid = true;\r\n if( this.pattern ){\r\n valid = (this.pattern).test(this.input_items);\r\n\r\n }\r\n\r\n if( valid ){\r\n this.add_items();\r\n if( this.openValuesInChange ){\r\n this.toOpen();\r\n } \r\n }\r\n \r\n\r\n }\r\n\r\n checkIsDisabled(item: any){\r\n if( item?.disabled ){\r\n return true;\r\n }\r\n const value = `${item.value}`;\r\n if( (this.items).length > 0 ){\r\n for( let i = 0; i < (this.items).length; i++ ){\r\n if( `${this.items[i]}` === value ){\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n\r\n onChange(){\r\n this.tcChange.emit(this.items);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n onChangeTouched(){ \r\n this.onTouchedCallback(); \r\n }\r\n\r\n\r\n toSetDefault(v:any){\r\n this.items = v;\r\n this.add_items();\r\n }\r\n\r\n innerValue: any | undefined;\r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): any {\r\n return this.innerValue;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: any) {\r\n if (v !== this.innerValue) {\r\n this.innerValue = v; \r\n this.toSetDefault(v); \r\n this.onChangeCallback(v);\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.innerValue) {\r\n this.innerValue = value;\r\n this.toSetDefault(value);\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n\r\n\r\n public validate(c: FormControl): any {\r\n if( c && ( typeof this.required !== 'undefined' ) ){\r\n this.use_validation_required = true;\r\n return (this.check_is_valid()) ? null : 'required';\r\n }\r\n return null;\r\n }\r\n\r\n\r\n ngOnDestroy(): void {\r\n \r\n }\r\n\r\n}\r\n","<div *ngIf=\"show_component\" class=\"tcloud-ui-multiples-values tc-dropdown\" id=\"area-{{ id }}\" [class.tc-parent-validation]=\"use_validation_required\">\r\n\r\n\r\n <form #_formulario=\"ngForm\">\r\n\r\n <!-- {{ input_items }} -->\r\n\r\n <div class=\"dropdown-toggle\" id=\"{{id}}\" [attr.aria-haspopup]=\"'true'\" [attr.aria-expanded]=\"'false'\">\r\n\r\n <table style=\"width: 100%;\">\r\n <tr>\r\n <td>\r\n <table class=\"group-input-action\">\r\n <tr>\r\n <td class=\"box-input{{ (listItems && (listItems).length > 0) ? '-data-list' : '' }} bc-l\">\r\n <ng-container *ngIf=\"listItems && (listItems).length > 0\">\r\n <div class=\"input\" (click)=\"show_itens = false\">\r\n <tcloud-ui-data-list [placeholder]=\"placeholder_list\" [search]=\"search\" [border]=\"false\" [loading]=\"loading\" [disabled]=\"disabled\" name=\"items\" [(ngModel)]=\"input_items\" (onChange)=\"toEnterKey(input_items)\">\r\n <ng-container *ngFor=\"let item of listItems\"> \r\n <tcloud-ui-data-list-option [value]=\"'' + item.value\" [disabled]=\"checkIsDisabled(item)\">{{ item?.description }}</tcloud-ui-data-list-option>\r\n </ng-container>\r\n </tcloud-ui-data-list>\r\n </div>\r\n </ng-container>\r\n \r\n <ng-container *ngIf=\"!listItems || !(listItems && (listItems).length > 0)\">\r\n <div class=\"input\">\r\n <input \r\n required\r\n [pattern]=\"pattern\"\r\n (keydown.enter)=\"toEnterKey(input_items)\"\r\n [disabled]=\"disabled\"\r\n [class.text-lowercase]=\"lowercase\"\r\n [class.text-uppercase]=\"uppercase\" \r\n type=\"text\" name=\"items\" class=\"tc-form-control area-text\" [(ngModel)]=\"input_items\" [placeholder]=\"placeholder_list\" required [title]=\"placeholder_list\">\r\n \r\n </div>\r\n </ng-container>\r\n </td>\r\n <td class=\"count-list\" *ngIf=\"(items && items.length > 0)\">\r\n <div class=\"input\">\r\n <input type=\"text\" value=\"{{ items.length }} {{ (items.length > 1) ? 'registros' : 'registro' }}\" disabled readonly> \r\n </div>\r\n </td>\r\n <td class=\"count-list\" *ngIf=\"!items || (items && items.length === 0)\">\r\n <div class=\"input\"><input type=\"text\" class=\"info-no-value\" value=\"Vazio\" disabled readonly></div> \r\n </td>\r\n <td class=\"action-input-arrow bc-r\">\r\n <button (click)=\"toOpen()\" title=\"Lista de valores\" [disabled]=\"disabled\">\r\n <i class=\"fas fa-angle-up\" *ngIf=\"show_itens\"></i>\r\n <i class=\"fas fa-angle-down\" *ngIf=\"!show_itens\"></i>\r\n </button>\r\n </td>\r\n \r\n </tr>\r\n </table> \r\n </td>\r\n <td style=\"width: 45px;\" *ngIf=\"useBtnAdd\">\r\n <table>\r\n <tr>\r\n <td class=\"action-input\" *ngIf=\"!disabled\">\r\n <ng-container *ngIf=\"!listItems || !(listItems && (listItems).length > 0)\">\r\n <button [disabled]=\"!_formulario.valid\" class=\"tc-btn tc-btn-outline-primary\" (click)=\"add_items()\" title=\"Adicionar item\">\r\n <i class=\"fas fa-plus\"></i>\r\n </button>\r\n </ng-container>\r\n <ng-container *ngIf=\"listItems && (listItems).length > 0\">\r\n <button [disabled]=\"!_formulario.valid\" class=\"tc-btn tc-btn-outline-primary\" (click)=\"add_items_by_data_list(input_items)\" title=\"Adicionar item\">\r\n <i class=\"fas fa-plus\"></i>\r\n </button>\r\n </ng-container>\r\n </td>\r\n </tr>\r\n </table>\r\n </td>\r\n </tr>\r\n </table>\r\n\r\n </div>\r\n \r\n <!-- <pre>\r\n {{ items | json }}\r\n </pre> -->\r\n\r\n </form> \r\n\r\n <!-- box-itens-selected -->\r\n <div class=\"tc-dropdown-menu box-itens-selected {{ menu_on_top }}\" id=\"box-{{ id }}\" [attr.aria-labelledby]=\"id\" [class.to-hide]=\"!show_itens\" [style]=\"box_style\">\r\n \r\n\r\n <div class=\"line-search\">\r\n <table class=\"box-search\" *ngIf=\"items && (items).length > 5\">\r\n <tr>\r\n \r\n <td class=\"area-input\">\r\n <input type=\"text\" class=\"tc-form-control\" [(ngModel)]=\"search_text\" (input)=\"toSearch($event)\" placeholder=\"Buscar...\" > \r\n </td>\r\n \r\n <td class=\"area-icon\">\r\n <i *ngIf=\"search_text === ''\" class=\"fas fa-search icon-search\"></i>\r\n <button class=\"box-action\" type=\"button\" *ngIf=\"search_text !== ''\" (click)=\"clearTextSearch()\"><i class=\"fas fa-times\"></i></button>\r\n </td>\r\n \r\n </tr>\r\n </table>\r\n </div>\r\n\r\n <div class=\"area-options\" id=\"{{ id }}-options\">\r\n <ng-container *ngFor=\"let item of items; let i = index\">\r\n \r\n <label class=\"box-label\" [ngStyle]=\"(maxWidthLabel) ? {'max-width': maxWidthLabel} : null\">\r\n <div class=\"box-value\" [title]=\"item\" >\r\n {{ item }} \r\n </div>\r\n <div class=\"box-action\">\r\n <button\r\n class=\"box-action\"\r\n [disabled]=\"items === undefined || (items && items.length === 0) || disabled || loading\"\r\n title=\"Remover\"\r\n type=\"button\"\r\n (click)=\"removeItem(item, i)\">\r\n <i class=\"fas fa-times\"></i>\r\n </button>\r\n </div>\r\n </label>\r\n\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"mt-5\" *ngIf=\"items && (items).length > 5\">\r\n <div class=\"btn-remove-all\">\r\n <button class=\"box-action\" type=\"button\" (click)=\"remove_all()\">\r\n Limpar toda a lista\r\n </button>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n</div>","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiMultiplesValuesComponent } from './tcloud-ui-multiples-values.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TCloudUiDataListModule } from '../tcloud-ui-data-list/tcloud-ui-data-list.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiMultiplesValuesComponent\r\n ],\r\n exports: [\r\n TCloudUiMultiplesValuesComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n TCloudUiDataListModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiMultiplesValuesModule { }\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-welcome',\r\n templateUrl: './tcloud-ui-welcome.component.html',\r\n styleUrls: ['./tcloud-ui-welcome.component.scss']\r\n})\r\nexport class TCloudUiWelcomeComponent implements OnInit {\r\n\r\n col4: string = 'col-md-4';\r\n\r\n col8: string = 'col-md-8';\r\n col12: string = 'col-md-12';\r\n\r\n @Input() imgSrc: string = '';\r\n @Input() title: string = ''; \r\n @Input() description: string = ''; \r\n @Input() size: 'small'|'normal'|'big' = 'small';\r\n @Input() font: 'small'|'normal'|'big' = 'normal';\r\n\r\n @Input() mirrored: boolean = false;\r\n\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div class=\"tcloud-ui-welcome\">\r\n <div class=\"row\">\r\n\r\n <ng-container>\r\n <div class=\"{{ col4 }} text-center\" *ngIf=\"imgSrc !== ''\" >\r\n <img class=\"containt-img-{{ size }}\" src=\"{{ imgSrc }}\">\r\n </div>\r\n <div class=\"{{ (imgSrc === '') ? col12 : col8 }} text-center\">\r\n <div>\r\n\r\n <div class=\"w-info-text\" *ngIf=\"title !== ''\" [innerHTML]=\"title\" ></div>\r\n \r\n <div class=\"info-{{ font }}\" *ngIf=\"description !== ''\" [innerHTML]=\"description\"></div>\r\n \r\n <div class=\"mt-5 text-center\">\r\n <ng-content></ng-content>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n</div>","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiWelcomeComponent } from './tcloud-ui-welcome.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiWelcomeComponent\r\n ],\r\n exports: [\r\n TCloudUiWelcomeComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiWelcomeModule { }\r\n","import { Component, EventEmitter, Input, OnInit, Output, forwardRef } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nexport const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiInputPasswordComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n@Component({\r\n selector: 'tcloud-ui-input-password',\r\n templateUrl: './tcloud-ui-input-password.component.html',\r\n styleUrls: ['./tcloud-ui-input-password.component.scss'],\r\n providers: [ CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR ],\r\n})\r\nexport class TCloudUiInputPasswordComponent implements OnInit {\r\n\r\n @Input() actionView: boolean = true;\r\n @Input() actionCopy: boolean = true;\r\n @Input() actionGeneratePassword: boolean = true;\r\n\r\n @Input() numberOfCharacter: number = 14;\r\n\r\n @Input() atLeastOneUppercaseLetter: boolean = true;\r\n @Input() atLeastOneLowercaseLetter: boolean = true;\r\n @Input() atLeastOneSpecialCharacter: boolean = true;\r\n\r\n \r\n innerValue: string = '';\r\n\r\n private _ngModel: any | undefined;\r\n @Input() set ngModel(v: any){\r\n this.innerValue = v; \r\n }\r\n @Output() ngModelChange = new EventEmitter<any>();\r\n\r\n mode: string = 'password';\r\n isCopy: boolean = false;\r\n passwordRegex: any | undefined;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.passwordRegex = this.getRegexValidation();\r\n }\r\n\r\n toggleMode(){\r\n if( this.mode === 'password' ){\r\n this.mode = 'text';\r\n }else{\r\n this.mode = 'password';\r\n }\r\n }\r\n\r\n copyText(): void {\r\n this.isCopy = true;\r\n navigator.clipboard.writeText(this.innerValue);\r\n setTimeout(() => { this.isCopy = false; }, 3000);\r\n }\r\n\r\n generatePassword(){\r\n this.innerValue = this.createNewPass();\r\n }\r\n\r\n private createNewPass() {\r\n const uppercaseLetters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';\r\n const lowercaseLetters = 'abcdefghijklmnopqrstuvwxyz';\r\n const numbers = '0123456789';\r\n const specialCharacters = '!@#$%^&*()_+{}[]:;<>,.?/~';\r\n \r\n const allCharacters = uppercaseLetters + lowercaseLetters + numbers + specialCharacters;\r\n \r\n const getRandomCharacter = (characters: string) => {\r\n const randomIndex = Math.floor(Math.random() * characters.length);\r\n return characters[randomIndex];\r\n };\r\n \r\n let password = '';\r\n password += getRandomCharacter(uppercaseLetters);\r\n password += getRandomCharacter(numbers);\r\n password += getRandomCharacter(specialCharacters);\r\n \r\n const remainingLength = this.numberOfCharacter - password.length; \r\n for (let i = 0; i < remainingLength; i++) {\r\n password += getRandomCharacter(allCharacters);\r\n } \r\n password = password.split('').sort(() => Math.random() - 0.5).join(''); \r\n return password;\r\n }\r\n \r\n\r\n getRegexValidation() {\r\n /*\r\n (?=.*[A-Z]): Pelo menos uma letra maiúscula.\r\n (?=.*[0-9]): Pelo menos um número.\r\n (?=.*[!@#$%^&*()_+{}[\\]:;<>,.?\\/~]): Pelo menos um caractere especial.\r\n (?!.*\\s): Não contém espaços em branco.\r\n .{14,}: Pelo menos 14 caracteres no total.\r\n */\r\n\r\n const maiusculas = (this.atLeastOneUppercaseLetter) ? `(?=.*[A-Z])` : '';\r\n const minusculas = (this.atLeastOneLowercaseLetter) ? `(?=.*[a-z])` : '';\r\n const especiais = (this.atLeastOneSpecialCharacter) ? `(?=.*[!@#$%^&*\\\\(\\\\)_+\\\\{\\\\}\\\\[\\\\]:;<>,.?\\\\/~])(?!.*\\\\s)`: '';\r\n\r\n return `^${maiusculas}${minusculas}${especiais}.{${this.numberOfCharacter},}$`;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): any {\r\n return this.innerValue;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: any) {\r\n if (v !== this.innerValue) {\r\n this.innerValue = v;\r\n this.onChangeCallback(v);\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.innerValue) {\r\n this.innerValue = value;\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n}\r\n","<div class=\"tcloud-ui-input-password\">\r\n <table>\r\n <tr>\r\n <!-- input password -->\r\n <td>\r\n <form #_form=\"ngForm\">\r\n <ng-container *ngIf=\"passwordRegex\">\r\n <input class=\"tc-form-control\" *ngIf=\"mode == 'password'\" type=\"password\" name=\"tc_password\" [pattern]=\"passwordRegex\" autoComplete=\"new-password\" [(ngModel)]=\"innerValue\" required>\r\n <input class=\"tc-form-control\" *ngIf=\"mode == 'text'\" type=\"text\" name=\"tc_text\" [pattern]=\"passwordRegex\" [(ngModel)]=\"innerValue\" required>\r\n </ng-container>\r\n </form>\r\n </td>\r\n\r\n <!-- action show hide -->\r\n <td *ngIf=\"actionView\">\r\n <button type=\"button\" (click)=\"toggleMode()\" [title]=\"(mode == 'password') ? 'Visualizar Senha' : 'Esconder Senha'\">\r\n <i *ngIf=\"mode == 'password'\" class=\"far fa-eye-slash\"></i>\r\n <i *ngIf=\"mode == 'text'\" class=\"far fa-eye\"></i> \r\n </button>\r\n </td>\r\n\r\n <!-- action generate pass -->\r\n <td *ngIf=\"actionGeneratePassword\">\r\n <button type=\"button\" [title]=\"'Gerar Senha'\" (click)=\"generatePassword()\">\r\n <i class=\"fa-solid fa-key\"></i>\r\n </button>\r\n </td>\r\n\r\n <!-- action copy pass -->\r\n <td *ngIf=\"actionCopy\">\r\n <button type=\"button\" [title]=\"'Copiar Senha'\" (click)=\"copyText()\">\r\n <i *ngIf=\"!isCopy\" class=\"fa-regular fa-copy\"></i>\r\n <i *ngIf=\"isCopy\" class=\"fa-solid fa-check\"></i>\r\n </button>\r\n </td>\r\n </tr>\r\n </table>\r\n</div>","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiInputPasswordComponent } from './tcloud-ui-input-password.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiInputPasswordComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n exports: [\r\n TCloudUiInputPasswordComponent\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiInputPasswordModule { }\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-progress-bar',\r\n templateUrl: './tcloud-ui-progress-bar.component.html',\r\n styleUrls: ['./tcloud-ui-progress-bar.component.scss']\r\n})\r\nexport class TCloudUiProgressBarComponent implements OnInit {\r\n\r\n value_100: number = 100;\r\n\r\n private _limit: any = undefined;\r\n @Input() set limit(limit: any){\r\n this._limit = (limit) ? `${limit}` : undefined\r\n }\r\n get limit(){ return this._limit; }\r\n\r\n /*\r\n status\r\n */\r\n private _status: any = '0';\r\n @Input() set status(status: any){\r\n let value = `${status}`;\r\n if( value ){\r\n setTimeout(() => {\r\n this._status = value;\r\n this.toCalcLimit();\r\n }); \r\n }\r\n }\r\n get status():string { return this._status } \r\n\r\n /*\r\n mode\r\n */\r\n private _mode: string = 'primary';\r\n @Input() set mode(mode: string){\r\n if( mode ){\r\n this._mode = mode; \r\n this.setMode();\r\n } \r\n }\r\n get mode():string { return this._mode } \r\n\r\n /*\r\n height\r\n */\r\n private _height: string = 'normal';\r\n @Input() set height(height: string){\r\n if( height ){\r\n this._height = height; \r\n this.setheight(); \r\n } \r\n }\r\n get height():string { return this._height }\r\n\r\n progress_class: string = '';\r\n height_class: string = '';\r\n\r\n @Input() useDefaultBackground: boolean = true;\r\n @Input() showValue: boolean = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.setMode();\r\n this.setheight();\r\n }\r\n\r\n setMode(): void{\r\n const mode = this.mode;\r\n let progress_class = 'progress-primary';\r\n switch (mode) {\r\n case 'primary': progress_class = 'progress-primary'; break;\r\n case 'danger': progress_class = 'progress-danger'; break;\r\n case 'warning': progress_class = 'progress-warning'; break;\r\n case 'info': progress_class = 'progress-info'; break;\r\n case 'success': progress_class = 'progress-success'; break;\r\n case 'gray': progress_class = 'progress-gray'; break;\r\n\r\n case 'gradient-success': progress_class = 'progress-gradient-success'; break;\r\n case 'gradient-danger': progress_class = 'progress-gradient-danger'; break;\r\n case 'gradient-warning': progress_class = 'progress-gradient-warning'; break;\r\n case 'gradient-info': progress_class = 'progress-gradient-info'; break;\r\n }\r\n this.progress_class = progress_class;\r\n }\r\n\r\n setheight(): void{\r\n const height = this.height;\r\n let height_class = 'height-normal';\r\n switch (height) {\r\n case 'normal': height_class = 'height-normal'; break;\r\n case 'slim': height_class = 'height-slim'; break;\r\n case 'fat': height_class = 'height-fat'; break;\r\n case 'very-fat': height_class = 'height-very-fat'; break;\r\n }\r\n this.height_class = height_class;\r\n }\r\n\r\n toCalcLimit_exceeded(){\r\n let vp: number = 100;\r\n let percentual: number = +(this.status);\r\n\r\n if( percentual > 100 ){\r\n let v100 = vp / (percentual / 100);\r\n this.value_100 = +((v100).toFixed(2));\r\n }\r\n this.new_status = 100;\r\n }\r\n\r\n toCalcLimit(){\r\n\r\n if( this.limit ){\r\n\r\n if( +(this.status) > +(this.limit) ){\r\n this.toCalcLimit_exceeded();\r\n return;\r\n }\r\n\r\n let vp: number = 100;\r\n let percentual: number = +(this.limit);\r\n\r\n if( percentual > 100 ){\r\n let v100 = vp / (percentual / 100);\r\n this.value_100 = +((v100).toFixed(2));\r\n }\r\n\r\n this.toCalcStatus();\r\n }\r\n }\r\n\r\n new_status: number = 0;\r\n toCalcStatus(){\r\n \r\n let valorBase: number = +(this.status);\r\n let percentual: number = +(this.limit);\r\n\r\n // Calcula o valor correspondente ao percentual do valor base\r\n let resultado = valorBase / (percentual / 100);\r\n this.new_status = resultado;\r\n // console.log('new_status', this.new_status);\r\n \r\n }\r\n\r\n}\r\n","<div class=\"tc-ui-progress-bar tc-background-{{ progress_class }}\"> \r\n <div class=\"tc-progress-bar {{ height_class }}\" [class.use-background]=\"useDefaultBackground\" >\r\n\r\n <div *ngIf=\"!limit\" class=\"tc-progress-bar-status {{ progress_class }} {{ height_class }}\" [style]=\"'width: ' + status + '%'\"></div>\r\n <div *ngIf=\"limit\" class=\"tc-progress-bar-status {{ progress_class }} {{ height_class }}\" [style]=\"'width: ' + new_status + '%'\"></div>\r\n\r\n <label *ngIf=\"( height_class === 'height-normal' || height_class === 'height-fat' || height_class === 'height-very-fat' ) && showValue\" \r\n [class.fixed-left]=\"(+status >= 12)\" \r\n [style]=\"'left: '+ (70) +'px'\" \r\n class=\"indicative-value info-{{ progress_class }}\">{{ status }}%\r\n </label>\r\n </div>\r\n</div>\r\n<div *ngIf=\"limit && (+limit > 100)\" >\r\n <div [class.indicative-limit]=\"limit\" [style]=\"{'width': value_100+'%'}\">\r\n <label>100%</label>\r\n </div> \r\n</div>\r\n\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiProgressBarComponent } from './tcloud-ui-progress-bar.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [TCloudUiProgressBarComponent],\r\n exports: [TCloudUiProgressBarComponent],\r\n imports: [\r\n CommonModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiProgressBarModule { }\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-cubes',\r\n templateUrl: './tcloud-ui-cubes.component.html',\r\n styleUrls: ['./tcloud-ui-cubes.component.scss']\r\n})\r\nexport class TCloudUiCubesComponent {\r\n\r\n}\r\n","<div class=\"loadingio-spinner-cube\"><div class=\"tc-cube-loading\">\r\n <div></div><div></div><div></div><div></div></div>\r\n</div>","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-loading',\r\n templateUrl: './tcloud-ui-loading.component.html',\r\n styleUrls: ['./tcloud-ui-loading.component.css']\r\n})\r\nexport class TCloudUiLoadingComponent {\r\n\r\n @Input() full: boolean = false;\r\n\r\n private _loading: boolean = false;\r\n @Input() set loading(loading: boolean){\r\n if( this._loading !== loading ){\r\n this._loading = loading;\r\n } \r\n }\r\n get loading(): boolean{ return this._loading; } \r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}","<div *ngIf=\"full && loading\" class=\"tc-loading-full\">\r\n <div class=\"tc-state-loading-backdrop\"></div>\r\n <div class=\"tc-state-loading-main\">\r\n <div class=\"tc-state-loading-artifact\">\r\n \r\n <tcloud-ui-cubes></tcloud-ui-cubes>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n \r\n <ng-container *ngIf=\"!full && loading\">\r\n <div class=\"tc-state-loading-backdrop\"></div>\r\n <div class=\"tc-state-loading-main\">\r\n <div class=\"tc-state-loading-artifact\">\r\n \r\n <tcloud-ui-cubes></tcloud-ui-cubes>\r\n \r\n </div>\r\n </div>\r\n </ng-container>\r\n ","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiLoadingComponent } from './tcloud-ui-loading.component';\r\nimport { TCloudUiCubesComponent } from './components/tcloud-ui-cubes/tcloud-ui-cubes.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [TCloudUiLoadingComponent, TCloudUiCubesComponent],\r\n exports: [TCloudUiLoadingComponent, TCloudUiCubesComponent],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class TCloudUiLoadingModule { }\r\n","import { Component, Input, OnInit, EventEmitter, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-reorder-items',\r\n templateUrl: './tcloud-ui-reorder-items.component.html',\r\n styleUrls: ['./tcloud-ui-reorder-items.component.scss']\r\n})\r\nexport class TCloudUiReorderItemsComponent implements OnInit {\r\n sort_items = [] as any[];\r\n\r\n // psg\r\n private _items = [] as any[];\r\n @Input() set items(v: any){\r\n if( v ){\r\n this._items = v;\r\n this.set_sort_items();\r\n }\r\n }\r\n get items(){ return this._items; }\r\n\r\n @Output() itemsChange = new EventEmitter<any>();\r\n\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n set_sort_items(){\r\n this.sort_items = [];\r\n if( this.items && (this.items).length > 0 ){\r\n\r\n for( let i = 0; i < (this.items).length; i++ ){\r\n const item = this.items[i];\r\n if( item.name ){\r\n (this.sort_items).push( item.name );\r\n }else{\r\n (this.sort_items).push( `${item}` );\r\n }\r\n }\r\n\r\n }\r\n\r\n }\r\n \r\n get_description(name: string){\r\n if( name ){\r\n if( this.items && (this.items).length > 0 ){\r\n for( let i = 0; i < (this.items).length; i++ ){\r\n const item = this.items[i];\r\n if( name === item.name && item.description ){\r\n return item.description;\r\n }\r\n } \r\n }\r\n }\r\n return undefined;\r\n }\r\n\r\n get_item(name: string){\r\n if( name ){\r\n if( this.items && (this.items).length > 0 ){\r\n for( let i = 0; i < (this.items).length; i++ ){\r\n const item = this.items[i];\r\n if( name === item.name && item.description ){\r\n return item;\r\n }\r\n } \r\n }\r\n }\r\n return undefined;\r\n }\r\n\r\n move(item: any, index: number, toIndex: number){\r\n if( toIndex < 0 ){ return; }\r\n if( toIndex > ((this.sort_items).length - 1) ){ return; }\r\n if( (this.sort_items).length > 0 ){\r\n for(let i = 0; i < (this.sort_items).length; i++){\r\n if( i === index){\r\n \r\n let aux = this.sort_items[index];\r\n this.sort_items[index] = this.sort_items[toIndex];\r\n this.sort_items[toIndex] = aux;\r\n break;\r\n\r\n \r\n }\r\n }\r\n }\r\n\r\n if( this.items && (this.items).length > 0 && this.items[0] && this.items[0].name ){\r\n this.items = this.result_items();\r\n }else{\r\n this.items = this.sort_items;\r\n }\r\n this.itemsChange.emit( this.items );\r\n \r\n }\r\n\r\n result_items(){\r\n let items = [];\r\n if( this.sort_items && (this.sort_items).length > 0 ){\r\n for( let i = 0; i < (this.sort_items).length; i++ ){\r\n (items).push( this.get_item( `${this.sort_items[i]}` ) );\r\n }\r\n }\r\n return items;\r\n }\r\n}\r\n","<ng-container *ngIf=\"sort_items\">\r\n\r\n\r\n\r\n <table class=\"table-sort-items\">\r\n\r\n \r\n\r\n\r\n <ng-container *ngFor=\"let item of sort_items; let i = index\">\r\n\r\n <tr>\r\n\r\n <td class=\"area-name-description-item\">\r\n {{ item }}\r\n <div *ngIf=\"get_description(item)\" class=\"item-description\">\r\n {{ get_description(item) }}\r\n </div>\r\n </td>\r\n\r\n <td class=\"area-action-item\">\r\n \r\n <ng-container>\r\n <div class=\"order-control\">\r\n <button class=\"btn-item-action-arrow\" (click)=\"move(item, i, (i-1))\" title=\"Alterar para cima\" [disabled]=\"i===0\">\r\n <i class=\"fas fa-caret-up p-up\" ></i>\r\n </button>\r\n </div>\r\n \r\n <div class=\"order-control\">\r\n <button class=\"btn-item-action-arrow\" (click)=\"move(item, i, (i+1))\" title=\"Alterar para baixo\" [disabled]=\"(i+1) === (sort_items).length\">\r\n <i class=\"fas fa-caret-down p-down\"></i>\r\n </button>\r\n \r\n </div>\r\n </ng-container>\r\n </td>\r\n\r\n </tr>\r\n </ng-container> \r\n\r\n </table>\r\n \r\n </ng-container>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiReorderItemsComponent } from './tcloud-ui-reorder-items.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiReorderItemsComponent\r\n ],\r\n exports: [\r\n TCloudUiReorderItemsComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class TCloudUiReorderItemsModule { }\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-label-token',\r\n templateUrl: './tcloud-ui-label-token.component.html',\r\n styleUrls: ['./tcloud-ui-label-token.component.scss']\r\n})\r\nexport class TCloudUiLabelTokenComponent implements OnInit {\r\n\r\n @Input() copy: boolean = false;\r\n @Input() value: any = '';\r\n @Output() onClick = new EventEmitter<any>();\r\n\r\n show: boolean = false;\r\n isCopy: boolean = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public copyText(): void {\r\n this.isCopy = true;\r\n // Copy the text inside the text field\r\n navigator.clipboard.writeText(this.value);\r\n this.onClick.emit(this.value);\r\n\r\n setTimeout(() => {\r\n this.isCopy = false;\r\n }, 3000);\r\n\r\n }\r\n\r\n}","<div>\r\n\r\n <div class=\"mb-2 box-area\">\r\n <table>\r\n <tr>\r\n\r\n <td class=\"area-value\">\r\n <div *ngIf=\"show\">{{ value }}</div>\r\n <div class=\"no-show\" *ngIf=\"!show\">#*#*#*#*#*#*#*#*#</div>\r\n </td>\r\n\r\n <td class=\"area-action\">\r\n <div class=\"options-area-actions\">\r\n <button type=\"button\" *ngIf=\"show\" class=\"btn-icon-smart\" (click)=\"show = !show\" ><i class=\"fas fa-eye\"></i></button>\r\n <button type=\"button\" *ngIf=\"!show\" class=\"btn-icon-smart\" (click)=\"show = !show\"><i class=\"fas fa-eye-slash\"></i></button>\r\n\r\n <ng-container *ngIf=\"copy\">\r\n <button type=\"button\" [title]=\"'Copiar texto'\" *ngIf=\"!isCopy\" class=\"btn-icon-smart\" (click)=\"copyText()\" ><i class=\"fas fa-copy\"></i></button>\r\n <button type=\"button\" [title]=\"'Texto copiado'\" *ngIf=\"isCopy\" class=\"btn-icon-smart\"><i class=\"fas fa-check\"></i></button>\r\n </ng-container>\r\n </div>\r\n </td>\r\n\r\n </tr>\r\n </table>\r\n </div>\r\n\r\n </div>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiLabelTokenComponent } from './tcloud-ui-label-token.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiLabelTokenComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n exports: [\r\n TCloudUiLabelTokenComponent\r\n ]\r\n})\r\nexport class TCloudUiLabelTokenModule { }\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { LineStepTitleData } from './tcloud-ui-line-step-title';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-line-step-title',\r\n templateUrl: './tcloud-ui-line-step-title.component.html',\r\n styleUrls: ['./tcloud-ui-line-step-title.component.scss'],\r\n animations: [\r\n trigger('progressBarEntering', [\r\n state('in', style({ width: '*' })),\r\n transition('void => *', [\r\n style({ width: 0 }),\r\n animate('1.5s 0s ease')\r\n ])\r\n ])\r\n ]\r\n})\r\nexport class TCloudUiLineStepTitleComponent implements OnInit {\r\n @Input() showStepCounter: boolean = true;\r\n @Input() steps!: LineStepTitleData[];\r\n @Input() currentStep?: number;\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n public get completedSteps(): number {\r\n return this.steps.filter(x => x.completed).length;\r\n }\r\n}\r\n","<div class=\"tcloud-ui-line-step\">\r\n <div class=\"steps-title-wrapper\">\r\n <ng-container *ngFor=\"let step of steps; let i = index\">\r\n <span\r\n class=\"step-title\"\r\n [ngStyle]=\"{ 'flex-basis' : 100 / steps.length + '%' }\"\r\n [ngClass]=\"{ 'completed' : currentStep ? i < currentStep : step.completed }\">\r\n <ng-container *ngIf=\"showStepCounter\">{{i + 1}}.</ng-container> {{step.title}}\r\n </span>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"line-wrapper\">\r\n <div class=\"background-line\"></div>\r\n <div\r\n @progressBarEntering\r\n class=\"progress-line\"\r\n [ngStyle]=\"{ 'width.%' : currentStep ? ((currentStep / steps.length) * 100) : ((completedSteps / steps.length) * 100) }\">\r\n </div>\r\n </div>\r\n</div>\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiLineStepTitleComponent } from './tcloud-ui-line-step-title.component';\r\n\r\n@NgModule({\r\n declarations: [TCloudUiLineStepTitleComponent],\r\n imports: [CommonModule],\r\n exports: [TCloudUiLineStepTitleComponent],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\r\n})\r\nexport class TCloudUiLineStepTitleModule { }\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\n\r\nimport { TCloudUiLinhaLogoModule } from './_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.module';\r\nimport { TCloudUiTabMenuModule } from './_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.module';\r\nimport { TCloudUiModalModule } from './_modules/tcloud-ui-modal/tcloud-ui-modal.module';\r\nimport { TCloudUiLineStepCircleModule } from './_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.module';\r\nimport { TCloudUiMultiSelectModule } from './_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.module';\r\nimport { TCloudUiDataListModule } from './_modules/tcloud-ui-data-list/tcloud-ui-data-list.module';\r\nimport { TCloudUiChoiceIssuesModule } from './_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.module';\r\nimport { TCloudUiMultiInputModule } from './_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.module';\r\nimport { TCloudUiInputSearchModule } from './_modules/tcloud-ui-input-search/tcloud-ui-input-search.module';\r\nimport { TCloudUiNotFoundModule } from './_modules/tcloud-ui-not-found/tcloud-ui-not-found.module';\r\nimport { TCloudUiTableModule } from './_modules/tcloud-ui-table/tcloud-ui-table.module';\r\nimport { TCloudUiNumberStepModule } from './_modules/tcloud-ui-number-step/tcloud-ui-number-step.module';\r\nimport { TCloudUiScrollBoxModule } from './_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.module';\r\nimport { TCloudUiFiltersModule } from './_modules/tcloud-ui-filters/tcloud-ui-filters.module';\r\nimport { TCloudUiAccordionModule } from './_modules/tcloud-ui-accordion/tcloud-ui-accordion.module';\r\nimport { TCloudUiDatepickerModule } from './_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.module';\r\nimport { TCloudUiDatepickerTimeModule } from './_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module';\r\n\r\nimport { TCloudUiDirectiveModule } from './_directives/directives.module';\r\n\r\nimport { TCloudUiPipesModule } from './_pipes/tcloud-pipes.module';\r\n\r\nimport { TCloudUiLoadingTransitionsService } from './_services/loading-transitions.service';\r\nimport { TCloudUiSearchInObjectService } from './_services/search-in-object.service';\r\nimport { TCloudUiMultiplesValuesModule } from './_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.module';\r\nimport { TCloudUiWelcomeModule } from './_modules/tcloud-ui-welcome/tcloud-ui-welcome.module';\r\nimport { TCloudUiInputPasswordModule } from './_modules/tcloud-ui-input-password/tcloud-ui-input-password.module';\r\nimport { TCloudUiProgressBarModule } from './_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.module';\r\nimport { TCloudUiLoadingModule } from './_modules/tcloud-ui-loading/tcloud-ui-loading.module';\r\nimport { TCloudUiReorderItemsModule } from './_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.module';\r\nimport { TCloudUiLabelTokenModule } from './_modules/tcloud-ui-label-token/tcloud-ui-label-token.module';\r\nimport { TCloudUiLineStepTitleModule } from './_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.module';\r\nimport { TCloudUiConfig } from './tcloud-ui.config';\r\nimport { TCloudUiCheckAccessService } from './_services/tcloud-ui-check-access.service';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n TCloudUiModalModule,\r\n TCloudUiTabMenuModule,\r\n TCloudUiLinhaLogoModule,\r\n TCloudUiLineStepCircleModule,\r\n TCloudUiMultiSelectModule,\r\n TCloudUiDataListModule,\r\n TCloudUiMultiInputModule,\r\n TCloudUiChoiceIssuesModule,\r\n TCloudUiInputSearchModule,\r\n TCloudUiNotFoundModule,\r\n TCloudUiTableModule,\r\n TCloudUiNumberStepModule,\r\n TCloudUiScrollBoxModule,\r\n TCloudUiFiltersModule,\r\n TCloudUiAccordionModule,\r\n TCloudUiDatepickerModule,\r\n TCloudUiDatepickerTimeModule,\r\n TCloudUiMultiplesValuesModule,\r\n TCloudUiWelcomeModule,\r\n TCloudUiInputPasswordModule,\r\n TCloudUiProgressBarModule,\r\n TCloudUiLoadingModule,\r\n TCloudUiReorderItemsModule,\r\n TCloudUiLabelTokenModule,\r\n TCloudUiLineStepTitleModule,\r\n\r\n // Directives\r\n TCloudUiDirectiveModule,\r\n\r\n // Pipes\r\n TCloudUiPipesModule\r\n ],\r\n exports: [\r\n TCloudUiModalModule,\r\n TCloudUiTabMenuModule,\r\n TCloudUiLinhaLogoModule,\r\n TCloudUiLineStepCircleModule,\r\n TCloudUiMultiSelectModule,\r\n TCloudUiDataListModule,\r\n TCloudUiMultiInputModule,\r\n TCloudUiChoiceIssuesModule,\r\n TCloudUiInputSearchModule,\r\n TCloudUiNotFoundModule,\r\n TCloudUiTableModule,\r\n TCloudUiNumberStepModule,\r\n TCloudUiScrollBoxModule,\r\n TCloudUiFiltersModule,\r\n TCloudUiAccordionModule,\r\n TCloudUiDatepickerModule,\r\n TCloudUiDatepickerTimeModule,\r\n TCloudUiMultiplesValuesModule,\r\n TCloudUiWelcomeModule,\r\n TCloudUiInputPasswordModule,\r\n TCloudUiProgressBarModule,\r\n TCloudUiLoadingModule,\r\n TCloudUiReorderItemsModule,\r\n TCloudUiLabelTokenModule,\r\n TCloudUiLineStepTitleModule,\r\n\r\n // Directives\r\n TCloudUiDirectiveModule,\r\n\r\n // Pipes\r\n TCloudUiPipesModule\r\n ],\r\n providers: [\r\n TCloudUiLoadingTransitionsService,\r\n TCloudUiSearchInObjectService,\r\n TCloudUiCheckAccessService\r\n ]\r\n})\r\nexport class TCloudUiModule {\r\n\r\n static forRoot(config: TCloudUiConfig): ModuleWithProviders<TCloudUiModule> {\r\n return {\r\n ngModule: TCloudUiModule,\r\n providers: [\r\n { provide: 'TCloudUiConfig', useValue: config.data },\r\n { provide: 'UserService', useExisting: config?.services?.userService }\r\n ]\r\n };\r\n }\r\n}\r\n","/*\r\n * Public API Surface of tcloud-ui\r\n */\r\n\r\nexport * from './lib/tcloud-ui.module';\r\nexport * from './lib/tcloud-ui.config';\r\n\r\n// UI-MODAL\r\nexport * from './lib/_modules/tcloud-ui-modal/tcloud-ui-modal.module';\r\nexport * from './lib/_modules/tcloud-ui-modal/tcloud-ui-modal.component';\r\nexport * from './lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-header/tcloud-ui-modal-header.component';\r\nexport * from './lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-body/tcloud-ui-modal-body.component';\r\nexport * from './lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component';\r\n\r\n// UI-TAB-MENU\r\nexport * from './lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.module';\r\nexport * from './lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.component';\r\nexport * from './lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-content/tcloud-ui-tab-content.component';\r\nexport * from './lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-head/tcloud-ui-tab-head.component';\r\nexport * from './lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component';\r\nexport * from './lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-title/tcloud-ui-tab-title.component';\r\n\r\n// UI-LINHA-LOGO\r\nexport * from './lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.module';\r\nexport * from './lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.component';\r\n\r\n// UI-STEP-CIRCLE\r\nexport * from './lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.module';\r\nexport * from './lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.component';\r\n\r\n// UI-MULTI-SELECT\r\nexport * from './lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.module';\r\nexport * from './lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.component';\r\n\r\n// UI-TOOLTIP\r\nexport * from './lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.module';\r\nexport * from './lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.component';\r\nexport * from './lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list-option/tcloud-ui-data-list-option.component';\r\n\r\n// UI-MULTI-INPUT\r\nexport * from './lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.module';\r\nexport * from './lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.component';\r\n\r\n// UI-CHOICE-ISSUES\r\nexport * from './lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.module';\r\nexport * from './lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.component';\r\n\r\n// UI-INPUT-SEARCH\r\nexport * from './lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.module';\r\nexport * from './lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.component';\r\n\r\n// UI-NOT-FOUND\r\nexport * from './lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.module';\r\nexport * from './lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.component';\r\n\r\n// UI-TABLE\r\nexport * from './lib/_modules/tcloud-ui-table/tcloud-ui-table.module';\r\nexport * from './lib/_modules/tcloud-ui-table/tcloud-ui-table.component';\r\n\r\n// UI-NUMBER-STEP\r\nexport * from './lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.module';\r\nexport * from './lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.component';\r\n\r\n// UI-SCROLL-BOX\r\nexport * from './lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.module';\r\nexport * from './lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.component';\r\n\r\n// UI-FILTERS\r\nexport * from './lib/_modules/tcloud-ui-filters/tcloud-ui-filters';\r\nexport * from './lib/_modules/tcloud-ui-filters/tcloud-ui-filters.module';\r\nexport * from './lib/_modules/tcloud-ui-filters/tcloud-ui-filters.component';\r\nexport * from './lib/_modules/tcloud-ui-filters/components/range-date/range-date.component';\r\n\r\n// UI-ACCORDION\r\nexport * from './lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.module';\r\nexport * from './lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.component';\r\nexport * from './lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component';\r\nexport * from './lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component';\r\n\r\n// UI-DATEPICKER\r\nexport * from './lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.module';\r\nexport * from './lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.component';\r\n\r\n// UI-DATEPICKER-TIME\r\nexport * from './lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module';\r\nexport * from './lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.component';\r\n\r\n// UI-MULTIPLES-VALUES\r\nexport * from './lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.module';\r\nexport * from './lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.component';\r\n\r\n// UI-WELCOME\r\nexport * from './lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.module';\r\nexport * from './lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.component';\r\n\r\n// UI-INPUT-PASSWORD\r\nexport * from './lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.module';\r\nexport * from './lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.component';\r\n\r\n// UI-PROGRESS-BAR\r\nexport * from './lib/_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.module';\r\nexport * from './lib/_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.component';\r\n\r\n// UI-LOADING\r\nexport * from './lib/_modules/tcloud-ui-loading/tcloud-ui-loading.module';\r\nexport * from './lib/_modules/tcloud-ui-loading/tcloud-ui-loading.component';\r\nexport * from './lib/_modules/tcloud-ui-loading/components/tcloud-ui-cubes/tcloud-ui-cubes.component';\r\n\r\n// UI-REORDER-ITEMS\r\nexport * from './lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items';\r\nexport * from './lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.component';\r\nexport * from './lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.module';\r\n\r\n// UI-LABEL-TOKEN\r\nexport * from './lib/_modules/tcloud-ui-label-token/tcloud-ui-label-token.module';\r\nexport * from './lib/_modules/tcloud-ui-label-token/tcloud-ui-label-token.component';\r\n\r\n// UI-LINE-STEP-TITLE\r\nexport * from './lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title';\r\nexport * from './lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.component';\r\nexport * from './lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.module';\r\n\r\n// DIRECTIVES\r\nexport * from './lib/_directives/directives.module';\r\nexport * from './lib/_directives/tooltip/tooltip.directive';\r\nexport * from './lib/_directives/align/align.directive';\r\nexport * from './lib/_directives/hover-parent/hover-parent.directive';\r\nexport * from './lib/_directives/el-copy/el-copy.directive';\r\nexport * from './lib/_directives/currency/currency.directive';\r\nexport * from './lib/_directives/tcloud-access/tcloud-ui-check-access.directive';\r\nexport * from './lib/_directives/tcloud-access/tcloud-ui-ng-check-access.directive';\r\nexport * from './lib/_directives/tcloud-access/tcloud-ui-ng-feature-flags.directive';\r\nexport * from './lib/_directives/tcloud-ui-digit-only.directive';\r\nexport * from './lib/_directives/tcloud-ui-highlight.diretive'; \r\nexport * from './lib/_directives/tcloud-ui-ip-mask.directive';\r\n\r\n// PIPES\r\nexport * from './lib/_pipes/tcloud-pipes.module';\r\nexport * from './lib/_pipes/index';\r\n\r\n// SERVICES\r\nexport * from './lib/_services/loading-transitions.service';\r\nexport * from './lib/_services/search-in-object.service';\r\nexport * from './lib/_services/tcloud-ui-check-access.service';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i1.TabMenuService","i2","i1.TcloudModalService","i3","CUSTOM_INPUT_VALIDATORS","CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR","noop","i1.DataListService","i4.TCloudUiDataListOptionComponent","i2.StatusInfoPipe","i1.TCloudUiSearchInObjectService","i1.DateBRPipe","i2.TCloudUiDatepickerComponent","i4.TCloudUiDataListComponent","i3.TCloudUiDatepickerTimeComponent","i4.TCloudUiDatepickerComponent","i5.TCloudUiRangeDateComponent","i1.TCloudUiAccordionService","i1.TCloudUiCheckAccessService","i3.TCloudUiDataListComponent","i2.TCloudUiCubesComponent"],"mappings":"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"}
|