@dev-tcloud/tcloud-ui 0.1.8 → 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.component.mjs +22 -4
- package/esm2020/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.component.mjs +10 -8
- package/esm2020/lib/_modules/tcloud-ui-filters/components/range-date/range-date.component.mjs +30 -22
- package/esm2020/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.component.mjs +8 -4
- package/fesm2015/dev-tcloud-tcloud-ui.mjs +66 -34
- package/fesm2015/dev-tcloud-tcloud-ui.mjs.map +1 -1
- package/fesm2020/dev-tcloud-tcloud-ui.mjs +66 -34
- package/fesm2020/dev-tcloud-tcloud-ui.mjs.map +1 -1
- package/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.component.d.ts +1 -2
- package/lib/_modules/tcloud-ui-filters/components/range-date/range-date.component.d.ts +2 -2
- package/package.json +1 -1
- package/scss/components/custom/ui-datepicker.scss +10 -0
- package/scss/components/styles.scss +2 -0
|
@@ -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/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/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 { 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})\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 _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 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 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 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\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\" >\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\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: Subscription | undefined;\r\n private subscription2: Subscription | undefined;\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 this.subscription = 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 this.loading = <any> this.tabMenuService.getTabLoading();\r\n this.subscription2 = this.tabMenuService.loadingState$.subscribe((loading: boolean)=>{\r\n this.loading = loading;\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 if( this.subscription2 ){ this.subscription2.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","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\r\n private subscription: Subscription | undefined;\r\n private subscription2: Subscription | undefined;\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\r\n this.subscription = 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 this.loading = <any> this.tabMenuService.getTabLoading();\r\n this.subscription2 = this.tabMenuService.loadingState$.subscribe((loading: boolean)=>{\r\n this.loading = loading;\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 if( this.subscription2 ){ this.subscription2.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","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 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 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\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\" >\r\n <ng-content></ng-content>\r\n</div>\r\n\r\n\r\n\r\n","import { 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})\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_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\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 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: Subscription | undefined;\r\n subscriptionI: Subscription | undefined;\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 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 = this.tcloudModalService.stateClose$.subscribe((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 this.subscriptionI = this.tcloudModalService.stateRespConfirm$.subscribe((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 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\">\r\n <button type=\"button\" [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\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: 'info' | 'success' | 'danger' | 'warning' = 'info';\r\n @Input() title: any | undefined;\r\n \r\n constructor() { }\r\n\r\n ngOnInit(): void {\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=\"form-control form-confirm\" \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 } 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})\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 { 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})\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 @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 item_width(text: any) {\r\n const value = `${text}`;\r\n const value_len = (value).length;\r\n let max_width = 155;\r\n if( value_len < 15 ){ max_width = 138; }\r\n if( value_len < 10 ){ max_width = 105; }\r\n if( value_len < 8 ){ max_width = 85; }\r\n if( value_len < 5 ){ max_width = 70; }\r\n return { 'max-width': max_width + 'px'};\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]=\"item_width(item.value)\">\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);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 { 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})\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}","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() 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( 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 [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 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 @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\" \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\" *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\">{{ 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 { 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})\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 { 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})\r\nexport class TCloudUiChoiceIssuesModule { }\r\n","import { Component, OnInit, Input, EventEmitter, Output, OnDestroy, forwardRef } from '@angular/core';\nimport { FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from '@angular/forms';\n\nconst CUSTOM_INPUT_VALIDATORS: any = { \n provide: NG_VALIDATORS, \n useExisting: forwardRef(() => TCloudUiMultiInputComponent),\n multi: true\n}\n\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TCloudUiMultiInputComponent),\n multi: true\n};\n\nconst noop = () => {\n};\n\n@Component({\n selector: 'tcloud-ui-multi-input',\n templateUrl: './tcloud-ui-multi-input.component.html',\n styleUrls: ['./tcloud-ui-multi-input.component.scss'],\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CUSTOM_INPUT_VALIDATORS]\n})\nexport class TCloudUiMultiInputComponent implements OnInit, OnDestroy, Validator {\n\n input_value: any;\n\n @Input() tcList: any[] | undefined;\n\n @Input() placeholder: string = '';\n @Input() disabled: boolean = false;\n @Input() loading: boolean = false;\n @Input() required: string | undefined;\n\n values: any[] | undefined;\n count_actives: number = 0;\n\n use_validation_required: boolean = false;\n item_value: any | undefined;\n\n @Output() tcChange = new EventEmitter<any[]>();\n\n constructor() { }\n\n ngOnInit(): void {\n setTimeout(() => {\n this.toChange();\n });\n }\n\n addItem(item: any): void{\n if( this.disabled ){ return; }\n if( !this.tcList ){\n this.tcList = [];\n }\n (this.tcList).push({value: item}); \n this.toChange(); \n this.input_value = '';\n }\n\n\n removeItem(item: any, index: number): void{\n if( this.disabled ){ return; }\n if( this.tcList ){\n for( let i = 0; i < (this.tcList).length; i++ ){\n const row = this.tcList[i];\n if( item === row.value && i === index ){\n (this.tcList).splice(index,1);\n break;\n }\n }\n this.toChange();\n }\n }\n\n private toChange(): void{\n let count_actives = 0;\n let itens: any[] = [];\n if( this.tcList ){\n for( let i = 0; i < (this.tcList).length; i++ ){\n const row = this.tcList[i];\n (itens).push(row);\n }\n }\n this.item_value = null;\n this.count_actives = count_actives;\n this.tcChange.emit(itens);\n this.onChangeCallback(this.tcList);\n }\n\n check_is_valid(): boolean{\n if( this.tcList ){\n return ((this.tcList).length > 0) ? true : false;\n }\n return false;\n }\n\n onChangeTouched(){ \n this.onTouchedCallback(); \n }\n\n\n\n\n\n\n\n @Output() onChange = new EventEmitter<any>();\n // @Output() ngModelChange = new EventEmitter<any>();\n\n innerValue: any | undefined;\n //Placeholders for the callbacks which are later providesd\n //by the Control Value Accessor\n private onTouchedCallback: () => void = noop;\n private onChangeCallback: (_: any) => void = noop;\n\n //get accessor\n get value(): any {\n return this.innerValue;\n };\n\n //set accessor including call the onchange callback\n set value(v: any) {\n if (v !== this.innerValue) {\n this.innerValue = v; \n this.onChangeCallback(v);\n }\n }\n\n //Set touched on blur\n onBlur() {\n this.onTouchedCallback();\n }\n\n //From ControlValueAccessor interface\n writeValue(value: any) {\n if (value !== this.innerValue) {\n this.innerValue = value;\n this.toSetDefault(value);\n }\n }\n\n //From ControlValueAccessor interface\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n //From ControlValueAccessor interface\n registerOnTouched(fn: any) {\n this.onTouchedCallback = fn;\n }\n\n toSetDefault(value: any){\n this.tcList = value;\n }\n\n public validate(c: FormControl): any {\n if( c && ( typeof this.required !== 'undefined' ) ){\n this.use_validation_required = true;\n return (this.check_is_valid()) ? null : 'required';\n }\n return null;\n }\n\n item_width(text: any) {\n const value = `${text}`;\n const value_len = (value).length;\n let max_width = 155;\n if( value_len < 15 ){ max_width = 138; }\n if( value_len < 10 ){ max_width = 105; }\n if( value_len < 8 ){ max_width = 85; }\n if( value_len < 5 ){ max_width = 70; }\n return { 'max-width': max_width + 'px'};\n }\n\n ngOnDestroy(): void {\n \n }\n}\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]=\"item_width(item.value)\">\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 { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiMultiInputComponent } from './tcloud-ui-multi-input.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [TCloudUiMultiInputComponent],\n exports: [TCloudUiMultiInputComponent],\n imports: [\n FormsModule,\n ReactiveFormsModule,\n CommonModule\n ]\n})\nexport class TCloudUiMultiInputModule { }\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): string{ \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';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiInputSearchComponent } from './tcloud-ui-input-search.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiInputSearchComponent\n ],\n exports: [\n TCloudUiInputSearchComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule\n ]\n})\nexport class TCloudUiInputSearchModule { }\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 { 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})\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 { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiTableComponent } from './tcloud-ui-table.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiTableComponent,\n ],\n exports: [\n TCloudUiTableComponent,\n ],\n imports: [\n CommonModule\n ]\n})\nexport class TCloudUiTableModule { }\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 { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiNumberStepComponent } from './tcloud-ui-number-step.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiNumberStepComponent\n ],\n exports: [\n TCloudUiNumberStepComponent\n ],\n imports: [\n CommonModule\n ]\n})\nexport class TCloudUiNumberStepModule { }\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'tcloud-ui-scroll-box',\n templateUrl: './tcloud-ui-scroll-box.component.html',\n styleUrls: ['./tcloud-ui-scroll-box.component.scss']\n})\nexport class TCloudUiScrollBoxComponent implements OnInit {\n\n @Input() border: boolean = true;\n @Input() maxHeight: number = 400;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"tcloud-ui-scroll-box tc-box-scroll\" [class.tc-box-scroll-border]=\"border\" >\r\n <div class=\"box-content\" [style]=\"'max-height: '+maxHeight+'px'\" >\r\n <ng-content></ng-content>\r\n </div> \r\n</div>\r\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiScrollBoxComponent } from './tcloud-ui-scroll-box.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiScrollBoxComponent\n ],\n exports: [\n TCloudUiScrollBoxComponent\n ],\n imports: [\n CommonModule\n ]\n})\nexport class TCloudUiScrollBoxModule { }\n","export interface TCDataFilters{\r\n description: string; \r\n searchIn: string;\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}\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}","import { Component, OnInit, ViewChild, ElementRef, Output, EventEmitter, forwardRef, Input, ViewEncapsulation, ChangeDetectorRef } 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 // onChange - Dispara a data selecionada\r\n @Output() onChange = new EventEmitter<any|undefined>();\r\n\r\n private _ngModel: any | undefined;\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.onChange.emit(v);\r\n } \r\n }\r\n @Output() ngModelChange = new EventEmitter<any|undefined>();\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 private _changeDetectorRef: ChangeDetectorRef\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 get_options(){\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 } 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['maxNumberOfDates'] = this.maxNumberOfDates;\r\n }\r\n\r\n return options;\r\n }\r\n\r\n clearDate(){\r\n if( this.datepicker ){\r\n this.datepicker.setDate({clear: true});\r\n }\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\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\r\n this.datepicker = new Datepicker( input_datepicker, this.get_options() );\r\n\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\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 if( event?.detail?.date ){\r\n this.toSelectedDate( event.detail );\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 toSetDate(){\r\n // Ex de uso\r\n const dates = ['18/11/2022'];\r\n if( this.datepicker ){\r\n this.datepicker.setDate(dates);\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 this.datepicker.setDate(dates); \r\n } \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\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\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\" >\r\n </td>\r\n </tr>\r\n </table>\r\n </div>\r\n\r\n \r\n \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}$/\"></div>\r\n</ng-container>\r\n\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 [(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 @Input() UTC: boolean = false;\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 @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 = (this.UTC) ? '00Z' : '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 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 #_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';\nimport { FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nconst CUSTOM_INPUT_VALIDATORS: any = { \n provide: NG_VALIDATORS, \n useExisting: forwardRef(() => TCloudUiRangeDateComponent),\n multi: true\n}\n\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TCloudUiRangeDateComponent),\n multi: true\n};\n\nconst noop = () => {\n};\n\n\ninterface IResultDateTime{\n start: any;\n stop: any;\n}\n\n@Component({\n selector: 'range-date',\n templateUrl: './range-date.component.html',\n styleUrls: ['./range-date.component.scss'],\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CUSTOM_INPUT_VALIDATORS]\n})\nexport class TCloudUiRangeDateComponent implements OnInit {\n\n result = {} as IResultDateTime;\n\n options_date_time: any = [];\n use_validation_required: boolean = false;\n\n @Output() onChange = new EventEmitter<IResultDateTime>();\n\n @Input() defaultValuePeriodStartStop: string = '';\n @Input() required: string | undefined;\n\n @Input() descriptionStart: string = '';\n @Input() descriptionStop: string = '';\n\n @Input() UTC: boolean = false;\n\n mode: string = 'select';\n\n isValid = false;\n\n constructor() { }\n\n ngOnInit(): void {\n this.setOptionsDateTime();\n }\n\n setOptionsDateTime(){\n this.options_date_time = [\n {value:'1-last-time', description: 'Última 1 hora'},\n {value:'3-last-time', description: 'Últimas 3 horas'},\n {value:'24-last-time', description: 'Últimas 24 horas'},\n\n {value:'7-days', description: 'Últimos 7 dias'},\n {value:'15-days', description: 'Últimos 15 dias'},\n {value:'30-days', description: 'Últimos 30 dias'},\n {value:'current-month', description: 'Mês atual'},\n {value:'current-year', description: 'Ano atual'}\n ]\n setTimeout(() => {\n if( this.defaultValuePeriodStartStop !== '' ){\n this.onChangeOptionsDateTime( this.defaultValuePeriodStartStop );\n }\n });\n \n }\n\n onChangeOptionsDateTime(event: any){\n this.isValid = false;\n // this.description_options_date_time = '';\n // this.value_options_date_time = '';\n event = (event.value) ? event.value : event;\n\n let now = new Date();\n let filter_date: any = undefined;\n\n if( event === '1-last-time' ){\n filter_date = new Date(now.getTime() - 1 * 60 * 60 * 1000);\n }\n\n if( event === '3-last-time' ){\n filter_date = new Date(now.getTime() - 3 * 60 * 60 * 1000);\n }\n\n if( event === '24-last-time' ){\n filter_date = new Date(now.getTime() - 24 * 60 * 60 * 1000);\n }\n\n if( event === '7-days' ){\n filter_date = new Date( (new Date(now)).setDate( now.getDate() - 7 ) ); \n filter_date = new Date( (filter_date).setSeconds(0) ); \n }\n\n if( event === '15-days' ){\n filter_date = new Date( (new Date(now)).setDate( now.getDate() - 15 ) );\n filter_date = new Date( (filter_date).setSeconds(0) );\n }\n\n if( event === '30-days' ){\n filter_date = new Date( (new Date(now)).setDate( now.getDate() - 30 ) );\n filter_date = new Date( (filter_date).setSeconds(0) );\n }\n\n if( event === 'current-month' ){\n filter_date = new Date(now.getFullYear(), now.getMonth(), 1);\n }\n\n if( event === 'current-year' ){\n filter_date = new Date(now.getFullYear(), 0, 1);\n }\n\n if(filter_date){ \n \n this.result = {\n start: filter_date,\n stop: now\n } as IResultDateTime;\n this.onChange.emit(this.result);\n this.isValid = true;\n }else{\n this.result = {} as IResultDateTime;\n this.onChange.emit(this.result);\n this.isValid = false;\n }\n\n }\n\n onChangeStartDateTime(event: any){\n this.isValid = false;\n if( this.result && this.result.start && this.result.stop ){\n this.onChange.emit(this.result);\n this.isValid = true;\n }else{\n this.result = {} as IResultDateTime;\n this.onChange.emit(this.result);\n }\n }\n\n onChangeStopDateTime(event: any){\n this.isValid = false;\n if( this.result && this.result.start && this.result.stop ){\n this.onChange.emit(this.result);\n this.isValid = true;\n }else{\n this.result = {} as IResultDateTime;\n this.onChange.emit(this.result);\n }\n }\n\n toggle(){\n const mode = (this.mode === 'select') ? 'datepickers' : 'select';\n if( mode === 'select' ){\n this.isValid = false;\n this.result = {} as IResultDateTime;\n this.onChange.emit(this.result);\n }\n this.mode = mode;\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n innerValue: any | undefined;\n //Placeholders for the callbacks which are later providesd\n //by the Control Value Accessor\n private onTouchedCallback: () => void = noop;\n private onChangeCallback: (_: any) => void = noop;\n\n //get accessor\n get value(): any {\n return this.innerValue;\n };\n\n //set accessor including call the onchange callback\n set value(v: any) {\n if (v !== this.innerValue) {\n this.innerValue = v; \n this.onChangeCallback(v);\n }\n }\n\n //Set touched on blur\n onBlur() {\n this.onTouchedCallback();\n }\n\n //From ControlValueAccessor interface\n writeValue(value: any) {\n if (value !== this.innerValue) {\n this.innerValue = value;\n //this.toSetDefault(value);\n }\n }\n\n //From ControlValueAccessor interface\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n //From ControlValueAccessor interface\n registerOnTouched(fn: any) {\n this.onTouchedCallback = fn;\n }\n\n public validate(c: FormControl): any {\n if( c && ( typeof this.required !== 'undefined' ) ){\n this.use_validation_required = true;\n return (this.check_is_valid()) ? null : 'required';\n }\n return null;\n }\n\n check_is_valid(): boolean{\n if( this.result && this.result.start && this.result.stop ){\n return true;\n }\n return false;\n }\n\n}\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=\"form-control 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 [UTC]=\"UTC\"\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 [UTC]=\"UTC\"\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';\nimport { Component, Input, OnChanges, OnInit, Output, SimpleChanges, EventEmitter, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { TCCondition, TCDataFilters, TCFiltersType } from './tcloud-ui-filters';\n\n@Component({\n selector: 'tcloud-ui-filters',\n templateUrl: './tcloud-ui-filters.component.html',\n styleUrls: ['./tcloud-ui-filters.component.scss']\n})\nexport class TCloudUiFiltersComponent implements OnInit, OnChanges {\n\n datepickers = [] as any;\n\n @ViewChild('_formulario') _formulario: NgForm | undefined;\n\n inputs: string[] = [];\n\n show_filters: boolean = false;\n\n search_data: any | undefined;\n\n private _data: any | undefined;\n @Input() set data(data: any){\n // this._data = JSON.parse(JSON.stringify(data));\n }\n get data(): any{ return this._data; }\n\n private _filters: TCDataFilters | undefined;\n @Input() set filters(filters: any){\n //this._filters = filters;\n }\n get filters(): any{ return this._filters; }\n\n private _submitText: string = 'Filtrar';\n @Input() set submitText(v: string){ \n if( v && v !== this._submitText ){\n this._submitText = v;\n }\n }\n get submitText():string{ return this._submitText; }\n\n @Input() btnSubmitClass: string = 'tc-btn-primary';\n @Input() useOnChangeSubmit: boolean = true; // useOnChangeSubmit - Submit automatico quando for alterado quanquer input\n @Input() useButtonSubmit: boolean = false; // useButtonSubmit - Exibe um botão de submit e não executa a busca automaticamente\n @Input() useNormalizeCaseSensitive: boolean = true; // useNormalizeCaseSensitive - Não valida caixa alta ou baixa e caracteres especiais\n @Input() useRangeDate: boolean = true;\n @Input() useFilterAccept: boolean = false;\n\n @Output() result = new EventEmitter<any>();\n @Output() onFilter = new EventEmitter<any>();\n @Output() onChange = new EventEmitter<any>();\n @Output() onSubmit = new EventEmitter<any>();\n\n descriptionStart: string = '';\n descriptionStop: string = '';\n\n private first_active_filter: boolean = false;\n\n start_stop: boolean = false;\n start_stop_width: number = 0;\n start_stop_und: string = ''; // px ou %\n\n constructor(\n private datepipe: DatePipe\n ) { }\n\n ngOnInit(): void {\n setTimeout(() => {\n if( this.filters && (this.filters).length > 0 ){\n for(let i = 0; i < (this.filters).length; i++){\n if( this.filters[i].value ){\n if( this.filters[i].type === 'datetime-local' ){\n try {\n this.filters[i].searchText = new Date( `${this.filters[i].value}` );\n } catch (error) {}\n }else{\n this.filters[i].searchText = this.filters[i].value;\n }\n this.first_active_filter = true;\n }\n } \n }\n this.start_stop = (this.useRangeDate) ? this.is_start_stop_datetime() : false;\n this.toSubmit();\n });\n }\n\n is_start_stop_datetime(){\n let start = false;\n let stop = false;\n if( this.filters && (this.filters).length > 0 ){\n this.start_stop_width = 0;\n for(let i = 0; i < (this.filters).length; i++){\n if( this.filters[i].id === 'start' ){\n start = true;\n this.start_stop_width += this.getValueWidth(this.filters[i].width);\n this.start_stop_und = this.getUnidade(this.filters[i].width);\n this.descriptionStart = this.filters[i].description;\n }\n if( this.filters[i].id === 'stop' ){\n stop = true;\n this.start_stop_width += this.getValueWidth(this.filters[i].width);\n this.descriptionStop = this.filters[i].description;\n }\n }\n }\n return ( start && stop ) ? true : false;\n }\n\n getValueWidth(v: string):number {\n let und = this.getUnidade(v);\n v = (v).replace(und, '');\n return +(v);\n }\n\n getUnidade(v: string):string {\n let und = '%';\n if( v && (v).includes('px') ){\n und = 'px';\n }\n return und;\n }\n \n\n ngOnChanges(changes: SimpleChanges) { \n \n if( changes && changes['data'] ){\n const data = changes['data'].currentValue;\n if( this._data !== data ){\n this._data = JSON.parse(JSON.stringify(data));\n this.search_data = JSON.parse(JSON.stringify(data));\n this.init();\n }\n }\n\n if( changes && changes['filters'] ){\n const filters = changes['filters'].currentValue;\n if( this._filters !== filters ){\n this._filters = JSON.parse(JSON.stringify(filters));\n this.init();\n }\n }\n }\n\n private init(){\n if( this.data && this.filters ){\n this.show_filters = true;\n if( this.filters && (this.filters).length > 0 ){\n (this.filters).forEach((filter: TCDataFilters) => { \n this.searchIn(filter, 'sync');\n });\n } \n // this.toResult();\n if( !this.useOnChangeSubmit ){\n this.result_accept(this.data);\n }\n\n if( this.useOnChangeSubmit || this.useButtonSubmit ){\n this.start_filter();\n }\n }\n }\n\n private normalize(text: any): string{\n if( this.useNormalizeCaseSensitive ){\n const v = ( ( (`${text}`).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\n return v;\n }\n return text;\n }\n\n toSubmit(){\n if( this.filters && (this.filters).length > 0 ){\n this.init();\n }\n this.emitSubmitFilters();\n }\n\n private emitSubmitFilters(){\n let filters = JSON.parse(JSON.stringify(this.filters));\n if( filters && (filters).length > 0 ){\n (filters).forEach((filter: TCDataFilters, i: number) => {\n\n if( filter.width ){ delete(filters[i].width); }\n if( filter.placeholder ){ delete(filters[i].placeholder); }\n if( filter.description ){ delete(filters[i].description); }\n\n if( (!filter.searchText || filter.searchText && filter.searchText === '') && filter.type !== \"boolean\" ){\n delete(filters[i]);\n }\n if( filter.type === \"boolean\" ){\n if( !filter.searchText ){\n filter.searchText = false;\n }\n }\n \n });\n } \n \n this.onSubmit.emit(this.filters);\n }\n\n\n private collectionFind(obj: any, path: any): any {\n const pathArray = path.split(\".\");\n let current = obj;\n for (let i = 0; i < pathArray.length; i++) {\n const key = pathArray[i];\n\n if (key.includes('[') && key.includes(']')) {\n const nextKeys = pathArray.slice(i + 1);\n const index = key.substring(key.indexOf('[') + 1, key.indexOf(']'));\n const arrayKey = key.substring(0, key.indexOf('['));\n if( current && current[arrayKey] && current[arrayKey][index] ){\n return this.collectionFind(current[arrayKey][index], nextKeys.join(\".\"));\n }\n }\n\n\n if (key.includes(\"[]\")) {\n const arrayKey = key.replace(\"[]\", \"\");\n current = current[arrayKey] || [];\n const nextKeys = pathArray.slice(i + 1);\n const results = [];\n for (let j = 0; j < current.length; j++) {\n let result = this.collectionFind(current[j], nextKeys.join(\".\"));\n if (result !== undefined) {\n results.push(result); \n }\n }\n if (results.length === 0) {\n return undefined;\n }\n return results;\n } else {\n if( !current || (current && !current[key]) ){\n return undefined;\n }\n current = current[key];\n if (current === undefined) {\n return undefined;\n }\n }\n }\n return current;\n }\n \n first: boolean = true;\n start_filter_fc: any = undefined;\n\n start_value: any | undefined;\n stop_value: any | undefined;\n\n searchInRange( range_date: any){\n \n if( this.filters && (this.filters).length > 0 ){\n\n let event = {} as any; \n event.datepickertime = true;\n\n for( let i = 0; i < (this.filters).length; i++ ){\n\n if( this.filters[i] && this.filters[i].id && this.filters[i].id === 'start' ){\n this.filters[i].value = range_date?.result?.start!;\n this.filters[i].searchText = range_date?.result?.start!;\n event.innerValue = this.start_value = range_date?.result?.start!;\n this.searchIn(this.filters[i], event);\n }\n\n if( this.filters[i] && this.filters[i].id && this.filters[i].id === 'stop' ){\n this.filters[i].value = range_date?.result?.stop!;\n this.filters[i].searchText = range_date?.result?.stop!;\n event.innerValue = this.stop_value = range_date?.result?.stop!;\n this.searchIn(this.filters[i], event);\n }\n }\n if( this.first || this.useOnChangeSubmit ){\n this.toSubmit();\n }\n \n }\n this.first = false;\n\n }\n\n convertDataToNumber(dataString: string): number {\n try {\n const [dia, mes, ano] = dataString.split('/');\n return +(`${ano}${mes}${dia}`);\n } catch (error) {}\n return 0;\n }\n\n searchIn(item: TCDataFilters, event?: any){\n\n \n\n this.start_filter_fc = undefined;\n\n let isValid = true;\n\n if( event === 'sync' && isValid ){\n isValid = false;\n this.onChange.emit(true);\n }\n\n if( typeof event === 'boolean' && isValid ){\n isValid = false;\n item.searchText = event;\n this.onChange.emit(true);\n }\n\n if( event === undefined || event === null || event === '' && isValid ){\n isValid = false;\n item.searchText = '';\n this.onChange.emit(true);\n }\n\n if( event?.datepickertime && isValid ){\n isValid = false;\n item.searchText = event?.innerValue; \n this.onChange.emit(true);\n }\n\n if(event?.target?.value && isValid ){\n isValid = false;\n item.searchText = this.normalize(event.target.value);\n this.onChange.emit(true);\n }\n\n if(event?.target?.value === '' && isValid ){\n isValid = false;\n item.searchText = '';\n this.onChange.emit(true);\n }\n\n if( item.type === 'date-local' && item.value ){\n isValid = false;\n item.searchText = `${this.convertDataToNumber( item.value )}`;\n this.onChange.emit(true);\n }\n \n if( this.useOnChangeSubmit || this.first_active_filter ){ \n this.start_filter_fc = this.start_filter();\n this.first_active_filter = false;\n }\n\n if( !this.useButtonSubmit ){\n this.emitSubmitFilters();\n } \n }\n\n \n start_filter(){\n for( let i = 0; i < (this.data).length; i++ ){\n\n this.setDataIndex(i, true);\n\n for( let j = 0; j < (this.filters).length; j++ ){ \n const filter_item = this.filters[j]; \n\n if( filter_item.searchText && typeof (filter_item.searchText) === 'string' && filter_item.searchText !== '' && filter_item.type !== TCFiltersType.number && filter_item.type !== TCFiltersType.date ){\n \n filter_item.searchText = this.normalize(filter_item.searchText); \n let item_value = this.collectionFind(this.data[i], filter_item.searchIn);\n if( item_value ){\n item_value = this.normalize(item_value); \n if( !( item_value.includes(filter_item.searchText) || item_value === filter_item.searchText ) ){\n this.setDataIndex(i, false);\n }\n }else{\n this.setDataIndex(i, false);\n }\n } \n \n\n if( filter_item.searchText && filter_item.searchText instanceof Date && !isNaN( filter_item.searchText.valueOf()) && filter_item.type === TCFiltersType.datetime ){\n \n let item_value: any = this.collectionFind(this.data[i], filter_item.searchIn);\n\n try { item_value = new Date(item_value); } catch (error) {}\n if( item_value && item_value instanceof Date && !isNaN( item_value.valueOf()) ){\n let is_accept = false;\n const dt_target = ( (filter_item.searchText).getTime() ).toString().substring(0, 10); /* + (3 * 60 * 60 * 1000); */\n const dt_current = ( (item_value).getTime() ).toString().substring(0, 10);\n if( filter_item.condition ){\n switch (filter_item.condition) {\n case TCCondition.gt: is_accept = ( Number(dt_target) > Number(dt_current) ); break;\n case TCCondition.lt: is_accept = ( Number(dt_target) < Number(dt_current) ); break;\n case TCCondition.gte: is_accept = ( Number(dt_target) <= Number(dt_current) ); break;\n case TCCondition.lte: is_accept = ( Number(dt_target) >= Number(dt_current) ); break;\n case TCCondition.equal: is_accept = ( Number(dt_target) === Number(dt_current) ); break;\n default: is_accept = ( Number(dt_target) == Number(dt_current) );\n }\n }else{\n is_accept = ( Number(filter_item.searchText) === Number(item_value) );\n }\n if( !is_accept ){\n this.setDataIndex(i, false);\n }\n }\n }\n\n \n\n if( filter_item.searchText && typeof Number(filter_item.searchText) === 'number' && ( filter_item.type === TCFiltersType.number || filter_item.type === TCFiltersType.date ) ){\n \n filter_item.searchText = Number(filter_item.searchText);\n let item_value = this.collectionFind(this.data[i], filter_item.searchIn);\n\n if( typeof Number(item_value) === 'number' ){ \n item_value = Number(item_value); \n let is_accept = false;\n if( filter_item.condition ){\n\n switch (filter_item.condition) {\n case TCCondition.gt: is_accept = ( Number(filter_item.searchText) > Number(item_value) ); break;\n case TCCondition.lt: is_accept = ( Number(filter_item.searchText) < Number(item_value) ); break;\n case TCCondition.gte: is_accept = ( Number(filter_item.searchText) <= Number(item_value) ); break;\n case TCCondition.lte: is_accept = ( Number(filter_item.searchText) >= Number(item_value) ); break;\n case TCCondition.equal: is_accept = ( Number(filter_item.searchText) === Number(item_value) ); break;\n default: is_accept = ( Number(filter_item.searchText) == Number(item_value) );\n }\n }else{\n is_accept = ( Number(filter_item.searchText) === Number(item_value) );\n }\n if( !is_accept ){\n this.setDataIndex(i, false);\n }\n }\n }\n \n \n if( typeof (filter_item.searchText) === 'boolean' && filter_item.searchText === true ){\n\n let item_value: any = this.collectionFind(this.data[i], filter_item.searchIn);\n \n if( item_value && (item_value).length > 0 ){ \n let qtd_is_true = 0; \n for( let i = 0; i < ((item_value).length); i++ ){\n const item = item_value[i];\n if( item === filter_item.searchText ){\n qtd_is_true++;\n }\n }\n if( qtd_is_true === 0 ){\n this.setDataIndex(i, false);\n }\n }else{\n if( !( item_value === filter_item.searchText ) ){\n this.setDataIndex(i, false);\n }\n } \n }\n \n }\n\n } // end for\n \n this.toResult();\n \n }\n\n private toResult(){\n\n\n const search_data = [];\n\n let is_filter = false;\n for( let i = 0; i < (this.filters).length; i++ ){\n if( this.filters[i].searchText && this.filters[i].searchText !== '' ){\n is_filter = true; break;\n }\n }\n\n if( is_filter ){\n for( let i = 0; i < (this.data).length; i++ ){\n if( this.data && this.data[i] && this.data[i]['tc_filter_accept'] ){\n (search_data).push(this.data[i]);\n }\n }\n\n this.result_accept(search_data);\n this.onFilter.emit({...this.filters});\n return;\n }\n\n this.result_accept(this.data);\n this.onFilter.emit({...this.filters});\n }\n\n setDataIndex(index: number, value: boolean ){\n if( this.data && this.data[index] ){\n this.data[index]['tc_filter_accept'] = value;\n }\n }\n\n result_accept(data: any){\n if( !this.useFilterAccept && data && (data).length > 0 ){\n for( let i = 0; i < (data).length; i++ ){\n delete data[i]['tc_filter_accept'];\n }\n }\n this.result.emit(data);\n }\n\n}\n","<div *ngIf=\"show_filters\" class=\"tcloud-ui-filters.component area-filter\">\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=\"start_stop\">\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 [UTC]=\"(item && item.UTC) ? true : false\"\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=\"!start_stop\">\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 [UTC]=\"(item && item.UTC) ? 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=\"form-control 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=\"form-control 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=\"form-control 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>\r\n<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 { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\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})\r\nexport class TCloudUiDatepickerModule { }\r\n","import { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { 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})\r\nexport class TCloudUiDatepickerTimeModule { }\r\n","import { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiFiltersComponent } from './tcloud-ui-filters.component';\nimport { TCloudUiDatepickerTimeModule } from '../tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module';\nimport { TCloudUiRangeDateComponent } from './components/range-date/range-date.component';\nimport { TCloudUiDatepickerModule } from '../tcloud-ui-datepicker/tcloud-ui-datepicker.module';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiFiltersComponent,\n TCloudUiRangeDateComponent\n ],\n exports: [\n TCloudUiFiltersComponent,\n TCloudUiRangeDateComponent \n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TCloudUiDatepickerTimeModule,\n TCloudUiDatepickerModule\n ]\n})\nexport class TCloudUiFiltersModule { }\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 { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiAccordionComponent } from './tcloud-ui-accordion.component';\nimport { TCloudUiAccordionTitleComponent } from './components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component';\nimport { TCloudUiAccordionBodyComponent } from './components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiAccordionComponent,\n TCloudUiAccordionTitleComponent,\n TCloudUiAccordionBodyComponent\n ],\n exports: [\n TCloudUiAccordionComponent,\n TCloudUiAccordionTitleComponent,\n TCloudUiAccordionBodyComponent\n ],\n imports: [\n CommonModule\n ]\n})\nexport class TCloudUiAccordionModule { }\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' = '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\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 customDiv = <any> document.querySelector('.tc-directive-tooltip');\r\n if( customDiv ){ customDiv.remove(); } \r\n }\r\n\r\n hoverOutCallback;\r\n\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 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 @HostListener('mouseout', ['$event']) onMouseOut(event: MouseEvent) { \r\n this.remove = true;\r\n this.remove_tooltip( document.querySelector('.tc-directive-tooltip') );\r\n }\r\n\r\n remove_tooltip(customDiv: any){ \r\n if (customDiv) { \r\n setTimeout(() => {\r\n if( this.remove ){\r\n customDiv.remove();\r\n }\r\n }, 30); \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 console.log('el', this.el.nativeElement);\r\n\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 \r\n const elementWithCopyAttribute = document.querySelector(`[data-el-copy=\"${id}\"]`);\r\n const copyText = elementWithCopyAttribute?.textContent!;\r\n navigator.clipboard.writeText(copyText);\r\n\r\n this.renderer.removeClass(btn_copy, 'fa-copy');\r\n this.renderer.addClass(btn_copy, 'fa-check');\r\n\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\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\r\n this.renderer.appendChild(this.el.nativeElement, btn_copy); \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 { 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\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiTooltipDirective,\r\n TCloudUiAlignDirective,\r\n TCloudUiHoverParentDirective,\r\n TCloudUiElCopyDirective\r\n ],\r\n exports: [\r\n TCloudUiTooltipDirective,\r\n TCloudUiAlignDirective,\r\n TCloudUiHoverParentDirective,\r\n TCloudUiElCopyDirective\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 } from '@angular/core';\nimport { NG_VALUE_ACCESSOR, NG_VALIDATORS, FormControl, Validator } from '@angular/forms';\n\nconst CUSTOM_INPUT_VALIDATORS: any = { \n provide: NG_VALIDATORS, \n useExisting: forwardRef(() => TCloudUiMultiplesValuesComponent),\n multi: true\n}\n\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TCloudUiMultiplesValuesComponent),\n multi: true\n};\n\nconst noop = () => {\n};\n\n@Component({\n selector: 'tcloud-ui-multiples-values',\n templateUrl: './tcloud-ui-multiples-values.component.html',\n styleUrls: ['./tcloud-ui-multiples-values.component.scss'],\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CUSTOM_INPUT_VALIDATORS]\n})\nexport class TCloudUiMultiplesValuesComponent implements OnInit, OnDestroy, Validator {\n\n viewport_width: number = 0;\n viewport_height: number = 0;\n box_height: number = 0;\n box_style: string = '';\n menu_on_top: string = '';\n search_text: string = '';\n\n id: string = '';\n show_itens: boolean = false;\n\n \n\n input_items: string = '';\n\n items = [] as string[];\n\n private _listItems: any | undefined;\n @Input() set listItems(v: any | undefined){\n if( v !== this._listItems ){\n this._listItems = v;\n }\n }\n get listItems():any | undefined { return this._listItems; }\n \n @Input() delimiter: string = ',';\n @Input() placeholder: string = '';\n @Input() disabled: boolean = false;\n @Input() loading: boolean = false;\n @Input() required: string | undefined;\n @Input() search: boolean = true;\n @Input() uppercase: boolean = false;\n @Input() lowercase: boolean = false;\n\n use_validation_required: boolean = false;\n\n placeholder_list: string = '';\n\n constructor() { }\n\n ngOnInit(): void {\n this.id = this.generateID();\n this.toResize();\n this.toClick();\n this.set_placeholder_list();\n }\n\n check_is_valid(): boolean{\n if( this.items ){\n return ((this.items).length > 0) ? true : false;\n }\n return false;\n }\n\n generateID(): string{\n return `multiple-values-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\n }\n\n remove_duplicates(items: string[]): string[] {\n return [...new Set(items)];\n }\n\n item_width(text: any) {\n const value = `${text}`;\n const value_len = (value).length;\n let max_width = 155;\n if( value_len < 15 ){ max_width = 138; }\n if( value_len < 10 ){ max_width = 105; }\n if( value_len < 8 ){ max_width = 85; }\n if( value_len < 5 ){ max_width = 70; }\n return { 'max-width': max_width + 'px'};\n }\n\n add_items_by_data_list(e: any){\n this.input_items = e;\n this.add_items();\n }\n\n add_items(){\n\n if( this.disabled ){ return; }\n\n const input_items = this.input_items;\n\n this.input_items = '';\n \n let items = [];\n if( input_items && input_items !== '' ){\n\n items = <any> (input_items).split(this.delimiter);\n\n }\n\n if( (items).length === 0 ){\n if( input_items && input_items !== '' ){\n let txt = `${(input_items).trim()}`;\n items = [txt];\n }\n }\n\n //items = [...new Set(items)];\n\n for( let i = 0; i < (items).length; i++){\n let txt = `${(items[i]).trim()}`;\n\n if( this.uppercase ){\n if( txt && txt !== '' ){\n txt = (txt).toLocaleUpperCase();\n } \n }\n\n if( this.lowercase ){\n if( txt && txt !== '' ){\n txt = (txt).toLocaleLowerCase();\n }\n }\n\n if( txt && txt !== '' ){\n (this.items).push(txt);\n }\n \n }\n\n this.items = this.remove_duplicates(this.items);\n this.set_placeholder_list();\n }\n\n set_placeholder_list(){\n let placeholder_list = '';\n let delimiter = '';\n const items = this.items;\n if( items && (items).length > 0 ){\n for( let i = 0; i < (items).length; i++){\n placeholder_list += delimiter + `${(items[i]).trim()}`;\n delimiter = `${this.delimiter} `;\n }\n }\n this.placeholder_list = (placeholder_list !== '') ? placeholder_list : this.placeholder;\n this.onChangeTouched();\n this.onChangeCallback(this.items);\n }\n\n\n removeItem(item: any, index: number): void{\n if( this.disabled ){ return; }\n if( this.items ){\n for( let i = 0; i < (this.items).length; i++ ){\n const row = this.items[i];\n if( item === row && i === index ){\n (this.items).splice(index,1);\n break;\n }\n }\n }\n this.set_placeholder_list();\n }\n\n remove_all(){\n if( this.disabled ){ return; }\n this.items = [];\n this.set_placeholder_list();\n }\n\n toClick(){\n const box = `area-${this.id}`;\n window.addEventListener('click',(e: any) => { \n\n if( this.show_itens ){ \n try {\n if( !(document.getElementById(box)?.contains(e.target)) ){ \n if( 'box-action' !== e.target.parentElement.className ){\n this.show_itens = false;\n } \n \n }\n } catch (error) {\n \n }\n \n }\n });\n\n const boxsub = `${this.id}-options`;\n }\n\n toResize(){\n window.addEventListener('resize', () => {\n this.viewport_width = window.innerWidth;\n this.viewport_height = window.innerHeight;\n this.resolve_position_dropdown(this.show_itens);\n });\n }\n\n toOpen(){\n this.show_itens = !this.show_itens;\n this.resolve_position_dropdown(this.show_itens);\n }\n\n toClose(){\n this.show_itens = false;\n }\n\n resolve_position_dropdown(open: boolean){\n if( open ){\n this.box_style = '';\n this.menu_on_top = ''; \n const id = `${this.id}`; \n const box = `box-${this.id}`;\n if( this.viewport_height === 0 ){\n this.viewport_height = window.innerWidth;\n }\n const rect = document.getElementById(id)?.getBoundingClientRect();\n const box_position = rect?.bottom || 0; \n setTimeout(() => {\n this.box_height = document.getElementById(box)?.clientHeight || 0;\n if( ( this.viewport_height - box_position) < this.box_height ){\n this.menu_on_top = 'menu-on-top';\n this.box_style = `top: -${ (this.box_height) }px; height: ${this.box_height}px;`;\n }\n }); \n }\n }\n\n\n\n clearTextSearch(){\n this.search_text = '';\n this.toSearch('');\n }\n\n toSearch(e: any) {\n let input = (e && e.target && e.target.value) ? e.target.value : '';\n \n let filter = ( ( (input).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\n let ul = <any> document.getElementById(`${this.id}-options`);\n let li = ul.getElementsByTagName(\"label\");\n for (let i = 0; i < li.length; i++) {\n const a = li[i];\n const txtValue = ( ( ( a.textContent || a.innerText ).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\n if (txtValue.indexOf(filter) > -1) {\n li[i].style.display = \"\";\n } else {\n li[i].style.display = \"none\";\n }\n }\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n onChangeTouched(){ \n this.onTouchedCallback(); \n }\n\n\n toSetDefault(v:any){\n this.items = v;\n this.add_items();\n }\n\n innerValue: any | undefined;\n //Placeholders for the callbacks which are later providesd\n //by the Control Value Accessor\n private onTouchedCallback: () => void = noop;\n private onChangeCallback: (_: any) => void = noop;\n\n //get accessor\n get value(): any {\n return this.innerValue;\n };\n\n //set accessor including call the onchange callback\n set value(v: any) {\n if (v !== this.innerValue) {\n this.innerValue = v; \n this.toSetDefault(v); \n this.onChangeCallback(v);\n }\n }\n\n //Set touched on blur\n onBlur() {\n this.onTouchedCallback();\n }\n\n //From ControlValueAccessor interface\n writeValue(value: any) {\n if (value !== this.innerValue) {\n this.innerValue = value;\n this.toSetDefault(value);\n }\n }\n\n //From ControlValueAccessor interface\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n //From ControlValueAccessor interface\n registerOnTouched(fn: any) {\n this.onTouchedCallback = fn;\n }\n\n\n\n public validate(c: FormControl): any {\n if( c && ( typeof this.required !== 'undefined' ) ){\n this.use_validation_required = true;\n return (this.check_is_valid()) ? null : 'required';\n }\n return null;\n }\n\n\n ngOnDestroy(): void {\n \n }\n\n}\n","<div 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\" (keydown.enter)=\"add_items()\">\r\n <tcloud-ui-data-list [placeholder]=\"placeholder_list\" [border]=\"false\" [loading]=\"loading\" [disabled]=\"disabled\" name=\"items\" [listItems]=\"listItems\" [(ngModel)]=\"input_items\"></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 (keydown.enter)=\"add_items();toOpen()\"\r\n [disabled]=\"disabled\"\r\n [class.text-lowercase]=\"lowercase\"\r\n [class.text-uppercase]=\"uppercase\"\r\n type=\"text\" name=\"items\" class=\"form-control tc-form-control\" [(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\" 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: 50px;\">\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-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-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 <!-- <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 [border]=\"false\" [loading]=\"loading\" [disabled]=\"disabled\" name=\"items\" [listItems]=\"listItems\" [(ngModel)]=\"input_items\"></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 (keydown.enter)=\"add_items();toOpen()\"\r\n [disabled]=\"disabled\"\r\n [class.text-lowercase]=\"lowercase\"\r\n [class.text-uppercase]=\"uppercase\"\r\n type=\"text\" name=\"items\" class=\"form-control tc-form-control\" [(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\" 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 <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-primary btn-new-green\" (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-primary btn-new-green\" (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 </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\" *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 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]=\"item_width(item)\">\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 { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiMultiplesValuesComponent } from './tcloud-ui-multiples-values.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TCloudUiDataListModule } from '../tcloud-ui-data-list/tcloud-ui-data-list.module';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiMultiplesValuesComponent\n ],\n exports: [\n TCloudUiMultiplesValuesComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TCloudUiDataListModule\n ]\n})\nexport class TCloudUiMultiplesValuesModule { }\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 class=\"info-new-window\">\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 { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiWelcomeComponent } from './tcloud-ui-welcome.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiWelcomeComponent\n ],\n exports: [\n TCloudUiWelcomeComponent\n ],\n imports: [\n CommonModule\n ]\n})\nexport class TCloudUiWelcomeModule { }\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() 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 *ngIf=\"mode == 'password'\" type=\"password\" name=\"tc_password\" [pattern]=\"passwordRegex\" autoComplete=\"new-password\" [(ngModel)]=\"innerValue\" required>\r\n <input *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>\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>\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>\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 { 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})\r\nexport class TCloudUiInputPasswordModule { }\r\n","import { 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\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\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\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 \r\n ]\r\n})\r\nexport class TCloudUiModule {}","/*\r\n * Public API Surface of tcloud-ui\r\n */\r\n\r\nexport * from './lib/tcloud-ui.module';\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-WELCOME\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// 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\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';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i1.TabMenuService","i2","i1.TcloudModalService","i3","Step","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","i3.TCloudUiDataListComponent"],"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/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/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 { 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})\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 _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 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 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 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\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\" >\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\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: Subscription | undefined;\r\n private subscription2: Subscription | undefined;\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 this.subscription = 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 this.loading = <any> this.tabMenuService.getTabLoading();\r\n this.subscription2 = this.tabMenuService.loadingState$.subscribe((loading: boolean)=>{\r\n this.loading = loading;\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 if( this.subscription2 ){ this.subscription2.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","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\r\n private subscription: Subscription | undefined;\r\n private subscription2: Subscription | undefined;\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\r\n this.subscription = 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 this.loading = <any> this.tabMenuService.getTabLoading();\r\n this.subscription2 = this.tabMenuService.loadingState$.subscribe((loading: boolean)=>{\r\n this.loading = loading;\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 if( this.subscription2 ){ this.subscription2.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","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 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 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\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\" >\r\n <ng-content></ng-content>\r\n</div>\r\n\r\n\r\n\r\n","import { 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})\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_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\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 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: Subscription | undefined;\r\n subscriptionI: Subscription | undefined;\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 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 = this.tcloudModalService.stateClose$.subscribe((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 this.subscriptionI = this.tcloudModalService.stateRespConfirm$.subscribe((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 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\">\r\n <button type=\"button\" [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\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: 'info' | 'success' | 'danger' | 'warning' = 'info';\r\n @Input() title: any | undefined;\r\n \r\n constructor() { }\r\n\r\n ngOnInit(): void {\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=\"form-control form-confirm\" \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 } 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})\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 { 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})\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 @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 item_width(text: any) {\r\n const value = `${text}`;\r\n const value_len = (value).length;\r\n let max_width = 155;\r\n if( value_len < 15 ){ max_width = 138; }\r\n if( value_len < 10 ){ max_width = 105; }\r\n if( value_len < 8 ){ max_width = 85; }\r\n if( value_len < 5 ){ max_width = 70; }\r\n return { 'max-width': max_width + 'px'};\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]=\"item_width(item.value)\">\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);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 { 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})\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}","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() 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( 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 [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 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 @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\" \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\" *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\">{{ 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 { 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})\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 { 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})\r\nexport class TCloudUiChoiceIssuesModule { }\r\n","import { Component, OnInit, Input, EventEmitter, Output, OnDestroy, forwardRef } from '@angular/core';\nimport { FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from '@angular/forms';\n\nconst CUSTOM_INPUT_VALIDATORS: any = { \n provide: NG_VALIDATORS, \n useExisting: forwardRef(() => TCloudUiMultiInputComponent),\n multi: true\n}\n\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TCloudUiMultiInputComponent),\n multi: true\n};\n\nconst noop = () => {\n};\n\n@Component({\n selector: 'tcloud-ui-multi-input',\n templateUrl: './tcloud-ui-multi-input.component.html',\n styleUrls: ['./tcloud-ui-multi-input.component.scss'],\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CUSTOM_INPUT_VALIDATORS]\n})\nexport class TCloudUiMultiInputComponent implements OnInit, OnDestroy, Validator {\n\n input_value: any;\n\n @Input() tcList: any[] | undefined;\n\n @Input() placeholder: string = '';\n @Input() disabled: boolean = false;\n @Input() loading: boolean = false;\n @Input() required: string | undefined;\n\n values: any[] | undefined;\n count_actives: number = 0;\n\n use_validation_required: boolean = false;\n item_value: any | undefined;\n\n @Output() tcChange = new EventEmitter<any[]>();\n\n constructor() { }\n\n ngOnInit(): void {\n setTimeout(() => {\n this.toChange();\n });\n }\n\n addItem(item: any): void{\n if( this.disabled ){ return; }\n if( !this.tcList ){\n this.tcList = [];\n }\n (this.tcList).push({value: item}); \n this.toChange(); \n this.input_value = '';\n }\n\n\n removeItem(item: any, index: number): void{\n if( this.disabled ){ return; }\n if( this.tcList ){\n for( let i = 0; i < (this.tcList).length; i++ ){\n const row = this.tcList[i];\n if( item === row.value && i === index ){\n (this.tcList).splice(index,1);\n break;\n }\n }\n this.toChange();\n }\n }\n\n private toChange(): void{\n let count_actives = 0;\n let itens: any[] = [];\n if( this.tcList ){\n for( let i = 0; i < (this.tcList).length; i++ ){\n const row = this.tcList[i];\n (itens).push(row);\n }\n }\n this.item_value = null;\n this.count_actives = count_actives;\n this.tcChange.emit(itens);\n this.onChangeCallback(this.tcList);\n }\n\n check_is_valid(): boolean{\n if( this.tcList ){\n return ((this.tcList).length > 0) ? true : false;\n }\n return false;\n }\n\n onChangeTouched(){ \n this.onTouchedCallback(); \n }\n\n\n\n\n\n\n\n @Output() onChange = new EventEmitter<any>();\n // @Output() ngModelChange = new EventEmitter<any>();\n\n innerValue: any | undefined;\n //Placeholders for the callbacks which are later providesd\n //by the Control Value Accessor\n private onTouchedCallback: () => void = noop;\n private onChangeCallback: (_: any) => void = noop;\n\n //get accessor\n get value(): any {\n return this.innerValue;\n };\n\n //set accessor including call the onchange callback\n set value(v: any) {\n if (v !== this.innerValue) {\n this.innerValue = v; \n this.onChangeCallback(v);\n }\n }\n\n //Set touched on blur\n onBlur() {\n this.onTouchedCallback();\n }\n\n //From ControlValueAccessor interface\n writeValue(value: any) {\n if (value !== this.innerValue) {\n this.innerValue = value;\n this.toSetDefault(value);\n }\n }\n\n //From ControlValueAccessor interface\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n //From ControlValueAccessor interface\n registerOnTouched(fn: any) {\n this.onTouchedCallback = fn;\n }\n\n toSetDefault(value: any){\n this.tcList = value;\n }\n\n public validate(c: FormControl): any {\n if( c && ( typeof this.required !== 'undefined' ) ){\n this.use_validation_required = true;\n return (this.check_is_valid()) ? null : 'required';\n }\n return null;\n }\n\n item_width(text: any) {\n const value = `${text}`;\n const value_len = (value).length;\n let max_width = 155;\n if( value_len < 15 ){ max_width = 138; }\n if( value_len < 10 ){ max_width = 105; }\n if( value_len < 8 ){ max_width = 85; }\n if( value_len < 5 ){ max_width = 70; }\n return { 'max-width': max_width + 'px'};\n }\n\n ngOnDestroy(): void {\n \n }\n}\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]=\"item_width(item.value)\">\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 { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiMultiInputComponent } from './tcloud-ui-multi-input.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [TCloudUiMultiInputComponent],\n exports: [TCloudUiMultiInputComponent],\n imports: [\n FormsModule,\n ReactiveFormsModule,\n CommonModule\n ]\n})\nexport class TCloudUiMultiInputModule { }\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): string{ \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';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiInputSearchComponent } from './tcloud-ui-input-search.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiInputSearchComponent\n ],\n exports: [\n TCloudUiInputSearchComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule\n ]\n})\nexport class TCloudUiInputSearchModule { }\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 { 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})\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 { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiTableComponent } from './tcloud-ui-table.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiTableComponent,\n ],\n exports: [\n TCloudUiTableComponent,\n ],\n imports: [\n CommonModule\n ]\n})\nexport class TCloudUiTableModule { }\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 { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiNumberStepComponent } from './tcloud-ui-number-step.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiNumberStepComponent\n ],\n exports: [\n TCloudUiNumberStepComponent\n ],\n imports: [\n CommonModule\n ]\n})\nexport class TCloudUiNumberStepModule { }\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'tcloud-ui-scroll-box',\n templateUrl: './tcloud-ui-scroll-box.component.html',\n styleUrls: ['./tcloud-ui-scroll-box.component.scss']\n})\nexport class TCloudUiScrollBoxComponent implements OnInit {\n\n @Input() border: boolean = true;\n @Input() maxHeight: number = 400;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"tcloud-ui-scroll-box tc-box-scroll\" [class.tc-box-scroll-border]=\"border\" >\r\n <div class=\"box-content\" [style]=\"'max-height: '+maxHeight+'px'\" >\r\n <ng-content></ng-content>\r\n </div> \r\n</div>\r\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiScrollBoxComponent } from './tcloud-ui-scroll-box.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiScrollBoxComponent\n ],\n exports: [\n TCloudUiScrollBoxComponent\n ],\n imports: [\n CommonModule\n ]\n})\nexport class TCloudUiScrollBoxModule { }\n","export interface TCDataFilters{\r\n description: string; \r\n searchIn: string;\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}\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}","import { Component, OnInit, ViewChild, ElementRef, Output, EventEmitter, forwardRef, Input, ViewEncapsulation, ChangeDetectorRef } 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 // onChange - Dispara a data selecionada\r\n @Output() onChange = new EventEmitter<any|undefined>();\r\n\r\n private _ngModel: any | undefined;\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.onChange.emit(v);\r\n } \r\n }\r\n @Output() ngModelChange = new EventEmitter<any|undefined>();\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 private _changeDetectorRef: ChangeDetectorRef\r\n ) { }\r\n\r\n ID: string = '';\r\n\r\n \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 get_options(){\r\n\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'); // 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 `${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); // Subtrai 1 porque os meses são indexados a partir de 0\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['maxNumberOfDates'] = this.maxNumberOfDates;\r\n }\r\n\r\n return options;\r\n }\r\n\r\n clearDate(){\r\n if( this.datepicker ){\r\n this.datepicker.setDate({clear: true});\r\n }\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\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\r\n this.datepicker = new Datepicker( input_datepicker, this.get_options() );\r\n\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\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 if( event?.detail?.date ){\r\n this.toSelectedDate( event.detail );\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 toSetDate(){\r\n // Ex de uso\r\n const dates = ['18/11/2022'];\r\n if( this.datepicker ){\r\n this.datepicker.setDate(dates);\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 this.datepicker.setDate(dates); \r\n } \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\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\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\r\n \r\n \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\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 [(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 @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 = '00Z';\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 #_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:'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.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 === '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.getDateUTC(filter_date),\r\n stop: this.getDateUTC(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 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 onChangeStartDateTime(event: any){\r\n this.isValid = false;\r\n if( this.result && this.result.start){\r\n this.result.start = 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.start = 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=\"form-control 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 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 // this.toResult();\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 \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 if( !( item_value.includes(filter_item.searchText) || item_value === filter_item.searchText ) ){\r\n this.setDataIndex(i, false);\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 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 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 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\">\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=\"start_stop\">\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=\"!start_stop\">\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=\"form-control 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=\"form-control 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=\"form-control 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 { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\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})\r\nexport class TCloudUiDatepickerModule { }\r\n","import { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { 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})\r\nexport class TCloudUiDatepickerTimeModule { }\r\n","import { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiFiltersComponent } from './tcloud-ui-filters.component';\nimport { TCloudUiDatepickerTimeModule } from '../tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module';\nimport { TCloudUiRangeDateComponent } from './components/range-date/range-date.component';\nimport { TCloudUiDatepickerModule } from '../tcloud-ui-datepicker/tcloud-ui-datepicker.module';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiFiltersComponent,\n TCloudUiRangeDateComponent\n ],\n exports: [\n TCloudUiFiltersComponent,\n TCloudUiRangeDateComponent \n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TCloudUiDatepickerTimeModule,\n TCloudUiDatepickerModule\n ]\n})\nexport class TCloudUiFiltersModule { }\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 { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiAccordionComponent } from './tcloud-ui-accordion.component';\nimport { TCloudUiAccordionTitleComponent } from './components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component';\nimport { TCloudUiAccordionBodyComponent } from './components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiAccordionComponent,\n TCloudUiAccordionTitleComponent,\n TCloudUiAccordionBodyComponent\n ],\n exports: [\n TCloudUiAccordionComponent,\n TCloudUiAccordionTitleComponent,\n TCloudUiAccordionBodyComponent\n ],\n imports: [\n CommonModule\n ]\n})\nexport class TCloudUiAccordionModule { }\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' = '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\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 customDiv = <any> document.querySelector('.tc-directive-tooltip');\r\n if( customDiv ){ customDiv.remove(); } \r\n }\r\n\r\n hoverOutCallback;\r\n\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 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 @HostListener('mouseout', ['$event']) onMouseOut(event: MouseEvent) { \r\n this.remove = true;\r\n this.remove_tooltip( document.querySelector('.tc-directive-tooltip') );\r\n }\r\n\r\n remove_tooltip(customDiv: any){ \r\n if (customDiv) { \r\n setTimeout(() => {\r\n if( this.remove ){\r\n customDiv.remove();\r\n }\r\n }, 30); \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 console.log('el', this.el.nativeElement);\r\n\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 \r\n const elementWithCopyAttribute = document.querySelector(`[data-el-copy=\"${id}\"]`);\r\n const copyText = elementWithCopyAttribute?.textContent!;\r\n navigator.clipboard.writeText(copyText);\r\n\r\n this.renderer.removeClass(btn_copy, 'fa-copy');\r\n this.renderer.addClass(btn_copy, 'fa-check');\r\n\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\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\r\n this.renderer.appendChild(this.el.nativeElement, btn_copy); \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 { 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\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiTooltipDirective,\r\n TCloudUiAlignDirective,\r\n TCloudUiHoverParentDirective,\r\n TCloudUiElCopyDirective\r\n ],\r\n exports: [\r\n TCloudUiTooltipDirective,\r\n TCloudUiAlignDirective,\r\n TCloudUiHoverParentDirective,\r\n TCloudUiElCopyDirective\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 } from '@angular/core';\nimport { NG_VALUE_ACCESSOR, NG_VALIDATORS, FormControl, Validator } from '@angular/forms';\n\nconst CUSTOM_INPUT_VALIDATORS: any = { \n provide: NG_VALIDATORS, \n useExisting: forwardRef(() => TCloudUiMultiplesValuesComponent),\n multi: true\n}\n\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TCloudUiMultiplesValuesComponent),\n multi: true\n};\n\nconst noop = () => {\n};\n\n@Component({\n selector: 'tcloud-ui-multiples-values',\n templateUrl: './tcloud-ui-multiples-values.component.html',\n styleUrls: ['./tcloud-ui-multiples-values.component.scss'],\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CUSTOM_INPUT_VALIDATORS]\n})\nexport class TCloudUiMultiplesValuesComponent implements OnInit, OnDestroy, Validator {\n\n viewport_width: number = 0;\n viewport_height: number = 0;\n box_height: number = 0;\n box_style: string = '';\n menu_on_top: string = '';\n search_text: string = '';\n\n id: string = '';\n show_itens: boolean = false;\n\n \n\n input_items: string = '';\n\n items = [] as string[];\n\n private _listItems: any | undefined;\n @Input() set listItems(v: any | undefined){\n if( v !== this._listItems ){\n this._listItems = v;\n }\n }\n get listItems():any | undefined { return this._listItems; }\n \n @Input() delimiter: string = ',';\n @Input() placeholder: string = '';\n @Input() disabled: boolean = false;\n @Input() loading: boolean = false;\n @Input() required: string | undefined;\n @Input() search: boolean = true;\n @Input() uppercase: boolean = false;\n @Input() lowercase: boolean = false;\n\n use_validation_required: boolean = false;\n\n placeholder_list: string = '';\n\n constructor() { }\n\n ngOnInit(): void {\n this.id = this.generateID();\n this.toResize();\n this.toClick();\n this.set_placeholder_list();\n }\n\n check_is_valid(): boolean{\n if( this.items ){\n return ((this.items).length > 0) ? true : false;\n }\n return false;\n }\n\n generateID(): string{\n return `multiple-values-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\n }\n\n remove_duplicates(items: string[]): string[] {\n return [...new Set(items)];\n }\n\n item_width(text: any) {\n const value = `${text}`;\n const value_len = (value).length;\n let max_width = 155;\n if( value_len < 15 ){ max_width = 138; }\n if( value_len < 10 ){ max_width = 105; }\n if( value_len < 8 ){ max_width = 85; }\n if( value_len < 5 ){ max_width = 70; }\n return { 'max-width': max_width + 'px'};\n }\n\n add_items_by_data_list(e: any){\n this.input_items = e;\n this.add_items();\n }\n\n add_items(){\n\n if( this.disabled ){ return; }\n\n const input_items = this.input_items;\n\n this.input_items = '';\n \n let items = [];\n if( input_items && input_items !== '' ){\n\n items = <any> (input_items).split(this.delimiter);\n\n }\n\n if( (items).length === 0 ){\n if( input_items && input_items !== '' ){\n let txt = `${(input_items).trim()}`;\n items = [txt];\n }\n }\n\n //items = [...new Set(items)];\n\n for( let i = 0; i < (items).length; i++){\n let txt = `${(items[i]).trim()}`;\n\n if( this.uppercase ){\n if( txt && txt !== '' ){\n txt = (txt).toLocaleUpperCase();\n } \n }\n\n if( this.lowercase ){\n if( txt && txt !== '' ){\n txt = (txt).toLocaleLowerCase();\n }\n }\n\n if( txt && txt !== '' ){\n (this.items).push(txt);\n }\n \n }\n\n this.items = this.remove_duplicates(this.items);\n this.set_placeholder_list();\n }\n\n set_placeholder_list(){\n let placeholder_list = '';\n let delimiter = '';\n const items = this.items;\n if( items && (items).length > 0 ){\n for( let i = 0; i < (items).length; i++){\n placeholder_list += delimiter + `${(items[i]).trim()}`;\n delimiter = `${this.delimiter} `;\n }\n }\n this.placeholder_list = (placeholder_list !== '') ? placeholder_list : this.placeholder;\n this.onChangeTouched();\n this.onChangeCallback(this.items);\n }\n\n\n removeItem(item: any, index: number): void{\n if( this.disabled ){ return; }\n if( this.items ){\n for( let i = 0; i < (this.items).length; i++ ){\n const row = this.items[i];\n if( item === row && i === index ){\n (this.items).splice(index,1);\n break;\n }\n }\n }\n this.set_placeholder_list();\n }\n\n remove_all(){\n if( this.disabled ){ return; }\n this.items = [];\n this.set_placeholder_list();\n }\n\n toClick(){\n const box = `area-${this.id}`;\n window.addEventListener('click',(e: any) => { \n\n if( this.show_itens ){ \n try {\n if( !(document.getElementById(box)?.contains(e.target)) ){ \n if( 'box-action' !== e.target.parentElement.className ){\n this.show_itens = false;\n } \n \n }\n } catch (error) {\n \n }\n \n }\n });\n\n const boxsub = `${this.id}-options`;\n }\n\n toResize(){\n window.addEventListener('resize', () => {\n this.viewport_width = window.innerWidth;\n this.viewport_height = window.innerHeight;\n this.resolve_position_dropdown(this.show_itens);\n });\n }\n\n toOpen(){\n this.show_itens = !this.show_itens;\n this.resolve_position_dropdown(this.show_itens);\n }\n\n toClose(){\n this.show_itens = false;\n }\n\n resolve_position_dropdown(open: boolean){\n if( open ){\n this.box_style = '';\n this.menu_on_top = ''; \n const id = `${this.id}`; \n const box = `box-${this.id}`;\n if( this.viewport_height === 0 ){\n this.viewport_height = window.innerWidth;\n }\n const rect = document.getElementById(id)?.getBoundingClientRect();\n const box_position = rect?.bottom || 0; \n setTimeout(() => {\n this.box_height = document.getElementById(box)?.clientHeight || 0;\n if( ( this.viewport_height - box_position) < this.box_height ){\n this.menu_on_top = 'menu-on-top';\n this.box_style = `top: -${ (this.box_height) }px; height: ${this.box_height}px;`;\n }\n }); \n }\n }\n\n\n\n clearTextSearch(){\n this.search_text = '';\n this.toSearch('');\n }\n\n toSearch(e: any) {\n let input = (e && e.target && e.target.value) ? e.target.value : '';\n \n let filter = ( ( (input).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\n let ul = <any> document.getElementById(`${this.id}-options`);\n let li = ul.getElementsByTagName(\"label\");\n for (let i = 0; i < li.length; i++) {\n const a = li[i];\n const txtValue = ( ( ( a.textContent || a.innerText ).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\n if (txtValue.indexOf(filter) > -1) {\n li[i].style.display = \"\";\n } else {\n li[i].style.display = \"none\";\n }\n }\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n onChangeTouched(){ \n this.onTouchedCallback(); \n }\n\n\n toSetDefault(v:any){\n this.items = v;\n this.add_items();\n }\n\n innerValue: any | undefined;\n //Placeholders for the callbacks which are later providesd\n //by the Control Value Accessor\n private onTouchedCallback: () => void = noop;\n private onChangeCallback: (_: any) => void = noop;\n\n //get accessor\n get value(): any {\n return this.innerValue;\n };\n\n //set accessor including call the onchange callback\n set value(v: any) {\n if (v !== this.innerValue) {\n this.innerValue = v; \n this.toSetDefault(v); \n this.onChangeCallback(v);\n }\n }\n\n //Set touched on blur\n onBlur() {\n this.onTouchedCallback();\n }\n\n //From ControlValueAccessor interface\n writeValue(value: any) {\n if (value !== this.innerValue) {\n this.innerValue = value;\n this.toSetDefault(value);\n }\n }\n\n //From ControlValueAccessor interface\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n //From ControlValueAccessor interface\n registerOnTouched(fn: any) {\n this.onTouchedCallback = fn;\n }\n\n\n\n public validate(c: FormControl): any {\n if( c && ( typeof this.required !== 'undefined' ) ){\n this.use_validation_required = true;\n return (this.check_is_valid()) ? null : 'required';\n }\n return null;\n }\n\n\n ngOnDestroy(): void {\n \n }\n\n}\n","<div 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\" (keydown.enter)=\"add_items()\">\r\n <tcloud-ui-data-list [placeholder]=\"placeholder_list\" [border]=\"false\" [loading]=\"loading\" [disabled]=\"disabled\" name=\"items\" [listItems]=\"listItems\" [(ngModel)]=\"input_items\"></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 (keydown.enter)=\"add_items();toOpen()\"\r\n [disabled]=\"disabled\"\r\n [class.text-lowercase]=\"lowercase\"\r\n [class.text-uppercase]=\"uppercase\"\r\n type=\"text\" name=\"items\" class=\"form-control tc-form-control\" [(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\" 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: 50px;\">\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-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-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 <!-- <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 [border]=\"false\" [loading]=\"loading\" [disabled]=\"disabled\" name=\"items\" [listItems]=\"listItems\" [(ngModel)]=\"input_items\"></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 (keydown.enter)=\"add_items();toOpen()\"\r\n [disabled]=\"disabled\"\r\n [class.text-lowercase]=\"lowercase\"\r\n [class.text-uppercase]=\"uppercase\"\r\n type=\"text\" name=\"items\" class=\"form-control tc-form-control\" [(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\" 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 <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-primary btn-new-green\" (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-primary btn-new-green\" (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 </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\" *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 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]=\"item_width(item)\">\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 { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiMultiplesValuesComponent } from './tcloud-ui-multiples-values.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TCloudUiDataListModule } from '../tcloud-ui-data-list/tcloud-ui-data-list.module';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiMultiplesValuesComponent\n ],\n exports: [\n TCloudUiMultiplesValuesComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TCloudUiDataListModule\n ]\n})\nexport class TCloudUiMultiplesValuesModule { }\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 class=\"info-new-window\">\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 { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiWelcomeComponent } from './tcloud-ui-welcome.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiWelcomeComponent\n ],\n exports: [\n TCloudUiWelcomeComponent\n ],\n imports: [\n CommonModule\n ]\n})\nexport class TCloudUiWelcomeModule { }\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() 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 *ngIf=\"mode == 'password'\" type=\"password\" name=\"tc_password\" [pattern]=\"passwordRegex\" autoComplete=\"new-password\" [(ngModel)]=\"innerValue\" required>\r\n <input *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>\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>\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>\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 { 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})\r\nexport class TCloudUiInputPasswordModule { }\r\n","import { 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\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\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\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 \r\n ]\r\n})\r\nexport class TCloudUiModule {}","/*\r\n * Public API Surface of tcloud-ui\r\n */\r\n\r\nexport * from './lib/tcloud-ui.module';\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-WELCOME\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// 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\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';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i1.TabMenuService","i2","i1.TcloudModalService","i3","Step","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","i3.TCloudUiDataListComponent"],"mappings":"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"}
|