@dev-tcloud/tcloud-ui 0.0.8 → 0.0.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.
Files changed (26) hide show
  1. package/README.md +6 -0
  2. package/esm2020/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.component.mjs +88 -0
  3. package/esm2020/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.module.mjs +31 -0
  4. package/esm2020/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.component.mjs +65 -0
  5. package/esm2020/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.module.mjs +31 -0
  6. package/esm2020/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.component.mjs +29 -2
  7. package/esm2020/lib/_pipes/tcloud-pipes.module.mjs +7 -3
  8. package/esm2020/lib/_services/loading-transitions.service.mjs +51 -0
  9. package/esm2020/lib/_services/search-in-object.service.mjs +91 -0
  10. package/esm2020/lib/tcloud-ui.module.mjs +26 -3
  11. package/esm2020/public-api.mjs +10 -1
  12. package/fesm2015/dev-tcloud-tcloud-ui.mjs +645 -264
  13. package/fesm2015/dev-tcloud-tcloud-ui.mjs.map +1 -1
  14. package/fesm2020/dev-tcloud-tcloud-ui.mjs +645 -264
  15. package/fesm2020/dev-tcloud-tcloud-ui.mjs.map +1 -1
  16. package/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.component.d.ts +27 -0
  17. package/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.module.d.ts +9 -0
  18. package/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.component.d.ts +28 -0
  19. package/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.module.d.ts +9 -0
  20. package/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.component.d.ts +31 -0
  21. package/lib/_pipes/tcloud-pipes.module.d.ts +1 -1
  22. package/lib/_services/loading-transitions.service.d.ts +16 -0
  23. package/lib/_services/search-in-object.service.d.ts +18 -0
  24. package/lib/tcloud-ui.module.d.ts +5 -3
  25. package/package.json +1 -1
  26. package/public-api.d.ts +6 -0
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, Input, NgModule, Injectable, EventEmitter, Output, ViewChild, forwardRef, Directive, HostListener, Pipe } from '@angular/core';
2
+ import { Component, Input, NgModule, Injectable, EventEmitter, Output, ViewChild, forwardRef, Pipe, Directive, HostListener } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
- import { CommonModule } from '@angular/common';
4
+ import { CommonModule, DatePipe } from '@angular/common';
5
5
  import { Buffer } from 'buffer';
6
6
  import { Subject } from 'rxjs';
7
7
  import * as i1$1 from '@angular/router';
@@ -495,13 +495,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
495
495
  class TCloudUiModalComponent {
496
496
  constructor(tcloudModalService) {
497
497
  this.tcloudModalService = tcloudModalService;
498
+ /**
499
+ * tcloud-ui-modal - Cria e exibe um modal
500
+ *
501
+ * toAction - (toAction) - Resultado do evento - 'confirmed'|'cancel'|'close'
502
+ * toConfirm - (toConfirm) - Indica que a ação foi confirmada - resultado true
503
+ * toCancel - (toCancel() - Indica que a ação foi cancelada - resultado false
504
+ */
498
505
  this.param_confirm = {};
499
506
  /* BEGIN - Parametros para modo confirmacao */
500
507
  this._confirm = false;
501
508
  this._confirmText = 'Confirmo';
509
+ /**
510
+ * autoClose boolean - Indica se deverá ser fechado quando confirmar uma ação - default true
511
+ */
502
512
  this.autoClose = true;
513
+ /**
514
+ * maxWidth - number - Largura máxima do modal - default 500px
515
+ */
503
516
  this.maxWidth = 500;
504
- // psg
505
517
  this._open = false;
506
518
  this._loading = false;
507
519
  this.openChange = new EventEmitter();
@@ -509,16 +521,25 @@ class TCloudUiModalComponent {
509
521
  this.toCancel = new EventEmitter();
510
522
  this.toAction = new EventEmitter();
511
523
  }
524
+ /**
525
+ * confirm boolean - Indica se será um modal do tipo confirmação - default false
526
+ */
512
527
  set confirm(v) {
513
528
  this._confirm = v;
514
529
  this.param_confirm.confirm = this._confirm;
515
530
  this.param_confirm.confirmText = this._confirmText;
516
531
  }
532
+ /**
533
+ * confirmText string - Texto que deverá ser digitado - defualt Confirmo
534
+ */
517
535
  set confirmText(v) {
518
536
  this._confirmText = v;
519
537
  this.param_confirm.confirmText = this._confirmText;
520
538
  this.param_confirm.confirm = this._confirm;
521
539
  }
540
+ /**
541
+ * window - string - nome referente ao tamanho do modal - não utilizar maxWidth se for utilizar window - default 500 (medium)
542
+ */
522
543
  set window(size) {
523
544
  switch (size) {
524
545
  case 'small':
@@ -538,11 +559,17 @@ class TCloudUiModalComponent {
538
559
  break;
539
560
  }
540
561
  }
562
+ /**
563
+ * open - boolean - Variável de controle para exibição do modal - obrigatório
564
+ */
541
565
  set open(open) {
542
566
  this._open = open;
543
567
  this.fixed_body((open) ? 'on' : 'off');
544
568
  }
545
569
  get open() { return this._open; }
570
+ /**
571
+ * loading - boolean - Coloca o modal em modo de carregamento - default false
572
+ */
546
573
  set loading(loading) {
547
574
  this._loading = loading;
548
575
  this.tcloudModalService.setLoading(loading);
@@ -1001,12 +1028,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
1001
1028
  type: Injectable
1002
1029
  }] });
1003
1030
 
1004
- const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR = {
1031
+ const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR$1 = {
1005
1032
  provide: NG_VALUE_ACCESSOR,
1006
1033
  useExisting: forwardRef(() => TCloudUiDataListComponent),
1007
1034
  multi: true
1008
1035
  };
1009
- const noop = () => {
1036
+ const noop$1 = () => {
1010
1037
  };
1011
1038
  class TCloudUiDataListComponent {
1012
1039
  constructor(dataListService, formBuilder) {
@@ -1029,8 +1056,8 @@ class TCloudUiDataListComponent {
1029
1056
  this.id = '';
1030
1057
  //Placeholders for the callbacks which are later providesd
1031
1058
  //by the Control Value Accessor
1032
- this.onTouchedCallback = noop;
1033
- this.onChangeCallback = noop;
1059
+ this.onTouchedCallback = noop$1;
1060
+ this.onChangeCallback = noop$1;
1034
1061
  }
1035
1062
  set disabled(v) {
1036
1063
  this._disabled = v;
@@ -1220,13 +1247,13 @@ class TCloudUiDataListComponent {
1220
1247
  TCloudUiDataListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiDataListComponent, deps: [{ token: DataListService }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
1221
1248
  TCloudUiDataListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TCloudUiDataListComponent, selector: "tcloud-ui-data-list", inputs: { placeholder: "placeholder", disabled: "disabled", loading: "loading", search: "search", ngModel: "ngModel" }, outputs: { onInputChange: "onInputChange", onChange: "onChange" }, providers: [
1222
1249
  DataListService,
1223
- CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR
1250
+ CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR$1
1224
1251
  ], ngImport: i0, template: "<div *ngIf=\"formulario\" id=\"area-{{ id }}\" class=\"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 [class.loading-box]=\"loading\"\r\n [disabled]=\"disabled || loading\"\r\n class=\"dropdown-toggle button-select\" \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()\" >\r\n\r\n <i *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\" [(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 </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>", styles: [".dropdown-toggle:after{display:none!important}.tc-dropdown{position:relative}.tc-dropdown .button-select{width:100%;background-color:#fff;border:1px solid #ccc;height:35px;text-align:left;padding-left:15px;font-size:14px;color:#666}.tc-dropdown .button-select span{position:absolute;right:6px;top:7px}.tc-dropdown .tc-dropdown-menu{width:100%;border:1px solid #ccc;background-color:#fff}.tc-dropdown .area-options{max-height:200px;overflow-y:scroll;overflow-x:hidden}.tc-dropdown .menu-on-top{position:absolute}.line-search{padding:3px}.line-search .box-search{width:100%;border-collapse:collapse}.line-search .box-search td.area-icon{padding:4px 0 2px 8px;width:35px}.line-search .box-search td.area-icon .icon-search{color:#666}.line-search .box-search td.area-icon button{border:none;background-color:transparent;color:#999;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.line-search .box-search td.area-input{border:none}.line-search .box-search td.area-input input{width:100%}.line-search .box-search input{width:100%;font-size:13px;height:33px;border:1px solid #ccc;padding:10px}.loading-area{line-height:0;position:relative;height:0;bottom:-10px;left:10px}button:disabled{background-color:#eee!important;border:1px solid #ececec!important;cursor:not-allowed}.loading-box{cursor:progress!important}.disabled i{color:#999!important}.to-hide{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
1225
1252
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiDataListComponent, decorators: [{
1226
1253
  type: Component,
1227
1254
  args: [{ selector: 'tcloud-ui-data-list', providers: [
1228
1255
  DataListService,
1229
- CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR
1256
+ CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR$1
1230
1257
  ], template: "<div *ngIf=\"formulario\" id=\"area-{{ id }}\" class=\"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 [class.loading-box]=\"loading\"\r\n [disabled]=\"disabled || loading\"\r\n class=\"dropdown-toggle button-select\" \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()\" >\r\n\r\n <i *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\" [(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 </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>", styles: [".dropdown-toggle:after{display:none!important}.tc-dropdown{position:relative}.tc-dropdown .button-select{width:100%;background-color:#fff;border:1px solid #ccc;height:35px;text-align:left;padding-left:15px;font-size:14px;color:#666}.tc-dropdown .button-select span{position:absolute;right:6px;top:7px}.tc-dropdown .tc-dropdown-menu{width:100%;border:1px solid #ccc;background-color:#fff}.tc-dropdown .area-options{max-height:200px;overflow-y:scroll;overflow-x:hidden}.tc-dropdown .menu-on-top{position:absolute}.line-search{padding:3px}.line-search .box-search{width:100%;border-collapse:collapse}.line-search .box-search td.area-icon{padding:4px 0 2px 8px;width:35px}.line-search .box-search td.area-icon .icon-search{color:#666}.line-search .box-search td.area-icon button{border:none;background-color:transparent;color:#999;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.line-search .box-search td.area-input{border:none}.line-search .box-search td.area-input input{width:100%}.line-search .box-search input{width:100%;font-size:13px;height:33px;border:1px solid #ccc;padding:10px}.loading-area{line-height:0;position:relative;height:0;bottom:-10px;left:10px}button:disabled{background-color:#eee!important;border:1px solid #ececec!important;cursor:not-allowed}.loading-box{cursor:progress!important}.disabled i{color:#999!important}.to-hide{display:none}\n"] }]
1231
1258
  }], ctorParameters: function () { return [{ type: DataListService }, { type: i2.FormBuilder }]; }, propDecorators: { placeholder: [{
1232
1259
  type: Input
@@ -1329,202 +1356,228 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
1329
1356
  }]
1330
1357
  }] });
1331
1358
 
1332
- class TCloudUiTooltipDirective {
1333
- constructor(el, renderer) {
1334
- this.el = el;
1335
- this.renderer = renderer;
1336
- this._direction = 'top';
1337
- // main
1338
- this.el_height = 0;
1339
- this.el_width = 0;
1340
- this.el_center = 0;
1341
- this.el_position = 0;
1342
- // tooltip
1343
- this.target_height = 0;
1344
- this.target_width = 0;
1345
- this.target_center = 0;
1346
- this.ID = '';
1347
- this.info_text = '';
1348
- }
1349
- onMouseOver() {
1350
- if (this.getElement()) {
1351
- this.renderer.addClass(this.el.nativeElement, 'main-tooltip');
1352
- const el = this.getElement();
1353
- el.style.display = 'inline';
1354
- setTimeout(() => {
1355
- this.el_height = this.el.nativeElement.offsetHeight;
1356
- this.el_width = this.el.nativeElement.offsetWidth;
1357
- this.el_center = this.el_width / 2;
1358
- const rect = this.el.nativeElement?.getBoundingClientRect();
1359
- this.el_position = rect?.left || 0;
1360
- // console.log('this.el_width', this.el_width);
1361
- // console.log('this.el_center', this.el_center);
1362
- // console.log('this.el_position', this.el_position);
1363
- this.target_height = el.offsetHeight;
1364
- this.target_width = el.offsetWidth;
1365
- this.target_center = this.target_width / 2;
1366
- // console.log('target_heigth', this.target_height);
1367
- // console.log('target_width', this.target_width);
1368
- // console.log('target_center', this.target_center);
1369
- // this.renderer.setStyle(el, 'bottom', `${this.el_position}px`);
1370
- switch (this._direction) {
1371
- case 'top':
1372
- this.to_top(el);
1373
- break;
1374
- case 'bottom':
1375
- this.to_bottom(el);
1376
- break;
1377
- case 'left':
1378
- this.to_left(el);
1379
- break;
1380
- case 'right':
1381
- this.to_right(el);
1382
- break;
1383
- }
1384
- });
1385
- }
1386
- }
1387
- onMouseOut() {
1388
- if (this.getElement()) {
1389
- const el = this.getElement();
1390
- el.style.display = 'none';
1391
- this.renderer.removeClass(this.el.nativeElement, 'main-tooltip');
1392
- }
1359
+ const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR = {
1360
+ provide: NG_VALUE_ACCESSOR,
1361
+ useExisting: forwardRef(() => TCloudUiChoiceIssuesComponent),
1362
+ multi: true
1363
+ };
1364
+ const noop = () => {
1365
+ };
1366
+ class TCloudUiChoiceIssuesComponent {
1367
+ constructor() {
1368
+ this.view = false;
1369
+ this.titulo = '';
1370
+ this.subTitulo = '';
1371
+ this.disabled = false;
1372
+ this.onChange = new EventEmitter();
1373
+ this.innerValue = false;
1374
+ //Placeholders for the callbacks which are later providesd
1375
+ //by the Control Value Accessor
1376
+ this.onTouchedCallback = noop;
1377
+ this.onChangeCallback = noop;
1378
+ this.ID = 'tc-issue-' + Math.random().toString(36).substr(2, 9);
1393
1379
  }
1394
- set TCtooltip(tooltip) {
1395
- if (tooltip) {
1396
- this.check(tooltip);
1397
- }
1380
+ //get accessor
1381
+ get value() {
1382
+ return this.innerValue;
1398
1383
  }
1399
- set TCdirection(direction) {
1400
- if (direction) {
1401
- this._direction = direction;
1384
+ ;
1385
+ //set accessor including call the onchange callback
1386
+ set value(v) {
1387
+ if (v !== this.innerValue) {
1388
+ this.innerValue = v;
1389
+ this.onChangeCallback(v);
1402
1390
  }
1403
1391
  }
1404
- ngOnInit() {
1405
- }
1406
- generateID() {
1407
- return `tc-tooltip-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;
1408
- }
1409
- getElement() {
1410
- return document.getElementById(this.ID) || undefined;
1392
+ //Set touched on blur
1393
+ onBlur() {
1394
+ this.onTouchedCallback();
1411
1395
  }
1412
- check(tooltip) {
1413
- this.ID = this.generateID();
1414
- this.info_text = tooltip;
1415
- let el = this.el.nativeElement;
1416
- this.main_el = el;
1417
- if (el) {
1418
- this.create_tooltip(tooltip, el);
1419
- }
1420
- else {
1421
- console.log("TCL: tooltip -> el", this.el.nativeElement);
1396
+ //From ControlValueAccessor interface
1397
+ writeValue(value) {
1398
+ if (value !== this.innerValue) {
1399
+ this.innerValue = value;
1422
1400
  }
1423
1401
  }
1424
- setStyle(el) {
1425
- // this.renderer.setStyle(el, 'position', 'relative');
1426
- // this.renderer.setStyle(el, 'display', 'inline');
1427
- }
1428
- create_tooltip(tip, el) {
1429
- this.setStyle(el);
1430
- const tooltip = document.createElement("div");
1431
- tooltip.setAttribute('id', this.ID);
1432
- tooltip.setAttribute('style', `
1433
- position: absolute;
1434
- display: none;
1435
- padding: 10px;
1436
- border-radius: 10px;
1437
- text-align: center;
1438
- width: max-content;
1439
- max-width: 250px;
1440
- background-color: transparent;
1441
- color: transparent;
1442
- z-index: 1090;
1443
- bottom: ${this.el_position}px;
1444
- left: ${this.target_center}px;
1445
- `);
1446
- tooltip.innerHTML = tip;
1447
- el.insertBefore(tooltip, null);
1448
- }
1449
- to_top(el) {
1450
- const pos = this.el_center - (this.target_center);
1451
- this.renderer.setStyle(el, 'left', `${(pos)}px`);
1452
- this.renderer.setStyle(el, 'bottom', `${(this.el_height + 7)}px`);
1453
- el.setAttribute('class', 'tc-directive-tooltip tc-directive-tooltip-top');
1402
+ //From ControlValueAccessor interface
1403
+ registerOnChange(fn) {
1404
+ this.onChangeCallback = fn;
1454
1405
  }
1455
- to_bottom(el) {
1456
- const pos = this.el_center - (this.target_center);
1457
- this.renderer.setStyle(el, 'left', `${(pos)}px`);
1458
- this.renderer.setStyle(el, 'bottom', `-${(this.target_height + 7)}px`);
1459
- el.setAttribute('class', 'tc-directive-tooltip tc-directive-tooltip-bottom');
1406
+ //From ControlValueAccessor interface
1407
+ registerOnTouched(fn) {
1408
+ this.onTouchedCallback = fn;
1460
1409
  }
1461
- to_right(el) {
1462
- const pos = this.el_width;
1463
- this.renderer.setStyle(el, 'left', `${(pos + 11)}px`);
1464
- this.renderer.setStyle(el, 'bottom', `-${(((this.target_height) / 2) - (this.el_height / 2))}px`);
1465
- el.setAttribute('class', 'tc-directive-tooltip tc-directive-tooltip-right');
1410
+ setV(v) {
1411
+ console.log('setV', v);
1412
+ this.value = v;
1413
+ this.onChange.emit(v);
1466
1414
  }
1467
- to_left(el) {
1468
- const pos = -((this.target_width));
1469
- this.renderer.setStyle(el, 'left', `${(pos - 11)}px`);
1470
- this.renderer.setStyle(el, 'bottom', `-${(((this.target_height) / 2) - (this.el_height / 2))}px`);
1471
- el.setAttribute('class', 'tc-directive-tooltip tc-directive-tooltip-left');
1415
+ createID() {
1416
+ // Math.random should be unique because of its seeding algorithm.
1417
+ // Convert it to base 36 (numbers + letters), and grab the first 9 characters
1418
+ // after the decimal.
1419
+ return '_' + Math.random().toString(36).substr(2, 9);
1472
1420
  }
1473
1421
  }
1474
- TCloudUiTooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiTooltipDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
1475
- TCloudUiTooltipDirectivedir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: TCloudUiTooltipDirective, selector: "[TCtooltip]", inputs: { TCtooltip: "TCtooltip", TCdirection: "TCdirection" }, host: { listeners: { "mouseover": "onMouseOver()", "mouseout": "onMouseOut()" } }, ngImport: i0 });
1476
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiTooltipDirective, decorators: [{
1477
- type: Directive,
1478
- args: [{
1479
- selector: '[TCtooltip]'
1480
- }]
1481
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { onMouseOver: [{
1482
- type: HostListener,
1483
- args: ['mouseover']
1484
- }], onMouseOut: [{
1485
- type: HostListener,
1486
- args: ['mouseout']
1487
- }], TCtooltip: [{
1422
+ TCloudUiChoiceIssuesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiChoiceIssuesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1423
+ TCloudUiChoiceIssuesComponentcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TCloudUiChoiceIssuesComponent, selector: "tcloud-ui-choice-issues", inputs: { view: "view", titulo: "titulo", subTitulo: "subTitulo", disabled: "disabled" }, outputs: { onChange: "onChange" }, providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["campo"], descendants: true, read: true }], ngImport: i0, template: "\r\n\r\n<input #campo [(ngModel)]=\"value\" type=\"hidden\" [value]=\"false\" >\r\n<div class=\"box p-2 mt-3 mb-2\">\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\u00E3o</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\u00E3o</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>\r\n\r\n", styles: [".titulo{font-size:1rem;color:var(--cinza)}.sub-titulo{color:#b0adaa}.box{border:1px solid var(--cinza3);border-radius:10px}.box.box-icon{display:flex;justify-content:center;padding:35px 20px}.form-fieldset input{display:none}.form-fieldset .v-true{background:var(--verde);color:#fff}.form-fieldset label{font-size:11px;background:var(--cinza4);cursor:pointer;position:relative;display:inline-flex;align-items:center;justify-content:space-around;text-transform:uppercase;border-radius:30px;padding:7px;margin:0;width:66px}.form-fieldset label:before{content:\"\";background:#fff;border-radius:50%;height:15px;width:15px}.form-fieldset label:nth-child(2){margin-right:20px}table{width:100%;max-width:200px}.view,.view label{cursor:inherit!important}.disabled{background-color:#8fdfe8!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
1424
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiChoiceIssuesComponent, decorators: [{
1425
+ type: Component,
1426
+ args: [{ selector: 'tcloud-ui-choice-issues', providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR], template: "\r\n\r\n<input #campo [(ngModel)]=\"value\" type=\"hidden\" [value]=\"false\" >\r\n<div class=\"box p-2 mt-3 mb-2\">\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\u00E3o</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\u00E3o</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>\r\n\r\n", styles: [".titulo{font-size:1rem;color:var(--cinza)}.sub-titulo{color:#b0adaa}.box{border:1px solid var(--cinza3);border-radius:10px}.box.box-icon{display:flex;justify-content:center;padding:35px 20px}.form-fieldset input{display:none}.form-fieldset .v-true{background:var(--verde);color:#fff}.form-fieldset label{font-size:11px;background:var(--cinza4);cursor:pointer;position:relative;display:inline-flex;align-items:center;justify-content:space-around;text-transform:uppercase;border-radius:30px;padding:7px;margin:0;width:66px}.form-fieldset label:before{content:\"\";background:#fff;border-radius:50%;height:15px;width:15px}.form-fieldset label:nth-child(2){margin-right:20px}table{width:100%;max-width:200px}.view,.view label{cursor:inherit!important}.disabled{background-color:#8fdfe8!important}\n"] }]
1427
+ }], ctorParameters: function () { return []; }, propDecorators: { view: [{
1488
1428
  type: Input
1489
- }], TCdirection: [{
1429
+ }], titulo: [{
1490
1430
  type: Input
1431
+ }], subTitulo: [{
1432
+ type: Input
1433
+ }], disabled: [{
1434
+ type: Input
1435
+ }], onChange: [{
1436
+ type: Output
1437
+ }], inputRef: [{
1438
+ type: ViewChild,
1439
+ args: ['campo', { read: true, static: false }]
1491
1440
  }] } });
1492
1441
 
1493
- class TCloudUiDirectiveModule {
1442
+ class TCloudUiChoiceIssuesModule {
1494
1443
  }
1495
- TCloudUiDirectiveModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiDirectiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1496
- TCloudUiDirectiveModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiDirectiveModule, declarations: [TCloudUiTooltipDirective], exports: [TCloudUiTooltipDirective] });
1497
- TCloudUiDirectiveModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiDirectiveModule });
1498
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiDirectiveModule, decorators: [{
1444
+ TCloudUiChoiceIssuesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiChoiceIssuesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1445
+ TCloudUiChoiceIssuesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiChoiceIssuesModule, declarations: [TCloudUiChoiceIssuesComponent], imports: [CommonModule,
1446
+ FormsModule,
1447
+ ReactiveFormsModule], exports: [TCloudUiChoiceIssuesComponent] });
1448
+ TCloudUiChoiceIssuesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiChoiceIssuesModule, imports: [CommonModule,
1449
+ FormsModule,
1450
+ ReactiveFormsModule] });
1451
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiChoiceIssuesModule, decorators: [{
1499
1452
  type: NgModule,
1500
1453
  args: [{
1501
- declarations: [TCloudUiTooltipDirective],
1502
- exports: [TCloudUiTooltipDirective],
1454
+ declarations: [
1455
+ TCloudUiChoiceIssuesComponent,
1456
+ ],
1457
+ exports: [
1458
+ TCloudUiChoiceIssuesComponent,
1459
+ ],
1460
+ imports: [
1461
+ CommonModule,
1462
+ FormsModule,
1463
+ ReactiveFormsModule
1464
+ ]
1503
1465
  }]
1504
1466
  }] });
1505
1467
 
1506
- class MonthNamePipe {
1468
+ class TCloudUiMultiInputComponent {
1507
1469
  constructor() {
1508
- this.meses = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezenbro'];
1470
+ this.placeholder = '';
1471
+ this.disabled = false;
1472
+ this.loading = false;
1473
+ this.count_actives = 0;
1474
+ this.tcChange = new EventEmitter();
1509
1475
  }
1510
- transform(yyyy_mm) {
1511
- if (yyyy_mm !== '') {
1512
- let part = (yyyy_mm).split('-');
1513
- if ((part).length === 2) {
1514
- let yyyy = +part[0];
1515
- let mm = +part[1];
1516
- return this.meses[(mm - 1)];
1476
+ ngOnInit() {
1477
+ setTimeout(() => {
1478
+ this.toChange();
1479
+ });
1480
+ }
1481
+ addItem(item) {
1482
+ if (this.disabled) {
1483
+ return;
1484
+ }
1485
+ if (!this.tcList) {
1486
+ this.tcList = [];
1487
+ }
1488
+ (this.tcList).push({ value: item });
1489
+ this.toChange();
1490
+ this.input_value = '';
1491
+ }
1492
+ removeItem(item, index) {
1493
+ if (this.disabled) {
1494
+ return;
1495
+ }
1496
+ if (this.tcList) {
1497
+ for (let i = 0; i < (this.tcList).length; i++) {
1498
+ const row = this.tcList[i];
1499
+ if (item === row.value && i === index) {
1500
+ (this.tcList).splice(index, 1);
1501
+ break;
1502
+ }
1517
1503
  }
1504
+ this.toChange();
1518
1505
  }
1519
- return '';
1520
1506
  }
1521
- }
1522
- MonthNamePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: MonthNamePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
1523
- MonthNamePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: MonthNamePipe, name: "monthname" });
1524
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: MonthNamePipe, decorators: [{
1525
- type: Pipe,
1526
- args: [{ name: 'monthname' }]
1527
- }] });
1507
+ toChange() {
1508
+ let count_actives = 0;
1509
+ let itens = [];
1510
+ if (this.tcList) {
1511
+ for (let i = 0; i < (this.tcList).length; i++) {
1512
+ const row = this.tcList[i];
1513
+ (itens).push(row);
1514
+ }
1515
+ }
1516
+ this.count_actives = count_actives;
1517
+ this.tcChange.emit(itens);
1518
+ }
1519
+ }
1520
+ TCloudUiMultiInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiMultiInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1521
+ TCloudUiMultiInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TCloudUiMultiInputComponent, selector: "tcloud-ui-multi-input", inputs: { tcList: "tcList", placeholder: "placeholder", disabled: "disabled", loading: "loading" }, outputs: { tcChange: "tcChange" }, ngImport: i0, template: "<div>\n <form #_formulario=\"ngForm\">\n <table>\n <tr *ngIf=\"tcList\">\n <td>\n <input type=\"text\" [(ngModel)]=\"input_value\" [disabled]=\"disabled || loading\" name=\"input_value\" required>\n </td>\n <td>\n <button\n [disabled]=\"disabled || loading || !_formulario.valid\"\n title=\"Adicionar\"\n class=\"btn-plus-select\"\n (click)=\"addItem(input_value)\"\n type=\"button\">\n <i class=\"fas fa-plus\"></i>\n </button>\n </td>\n </tr>\n </table>\n \n <div class=\"box-itens-selected\">\n <ng-container *ngFor=\"let item of tcList; let i = index\">\n \n <div class=\"box-label\">\n <div class=\"box-value\" [title]=\"item.value\">\n {{ item.value }} \n </div>\n <div class=\"box-action\">\n <button\n [disabled]=\"tcList === undefined || (tcList && tcList.length === 0) || disabled || loading\"\n title=\"Remover\"\n type=\"button\"\n (click)=\"removeItem(item.value, i)\">\n <i class=\"fas fa-times\"></i>\n </button>\n </div>\n </div>\n\n </ng-container>\n </div>\n </form>\n</div>\n ", styles: ["table{width:100%;border-collapse:collapse;border:none}table td:first-child{width:100%}input{font-size:.8rem;height:40px;border:1px solid #999;border-radius:4px 0 0 4px;padding:6px 10px;white-space:nowrap;text-overflow:ellipsis;width:100%;background-color:#fff;color:#888}.btn-plus-select{width:30px;height:40px;border:none;color:#fff;background-color:var(--verde);border-radius:0 4px 4px 0}.box-itens-selected{display:flex;padding:9px;background-color:#ededed;border-radius:4px}select:disabled{opacity:.8!important;cursor:not-allowed!important;background-color:#ededed}button:disabled{opacity:.5!important;cursor:not-allowed!important}.box-label{display:flex;max-width:220px;height:35px;min-width:100px;background-color:var(--verde);color:#fff;padding:8px 15px 10px;border:none;border-radius:5px;margin:2px}.box-label .box-value{width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.box-label .box-action{width:8px}.box-label .box-action button{color:#d72020;background-color:var(--verde);border:none;font-weight:700;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1522
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiMultiInputComponent, decorators: [{
1523
+ type: Component,
1524
+ args: [{ selector: 'tcloud-ui-multi-input', template: "<div>\n <form #_formulario=\"ngForm\">\n <table>\n <tr *ngIf=\"tcList\">\n <td>\n <input type=\"text\" [(ngModel)]=\"input_value\" [disabled]=\"disabled || loading\" name=\"input_value\" required>\n </td>\n <td>\n <button\n [disabled]=\"disabled || loading || !_formulario.valid\"\n title=\"Adicionar\"\n class=\"btn-plus-select\"\n (click)=\"addItem(input_value)\"\n type=\"button\">\n <i class=\"fas fa-plus\"></i>\n </button>\n </td>\n </tr>\n </table>\n \n <div class=\"box-itens-selected\">\n <ng-container *ngFor=\"let item of tcList; let i = index\">\n \n <div class=\"box-label\">\n <div class=\"box-value\" [title]=\"item.value\">\n {{ item.value }} \n </div>\n <div class=\"box-action\">\n <button\n [disabled]=\"tcList === undefined || (tcList && tcList.length === 0) || disabled || loading\"\n title=\"Remover\"\n type=\"button\"\n (click)=\"removeItem(item.value, i)\">\n <i class=\"fas fa-times\"></i>\n </button>\n </div>\n </div>\n\n </ng-container>\n </div>\n </form>\n</div>\n ", styles: ["table{width:100%;border-collapse:collapse;border:none}table td:first-child{width:100%}input{font-size:.8rem;height:40px;border:1px solid #999;border-radius:4px 0 0 4px;padding:6px 10px;white-space:nowrap;text-overflow:ellipsis;width:100%;background-color:#fff;color:#888}.btn-plus-select{width:30px;height:40px;border:none;color:#fff;background-color:var(--verde);border-radius:0 4px 4px 0}.box-itens-selected{display:flex;padding:9px;background-color:#ededed;border-radius:4px}select:disabled{opacity:.8!important;cursor:not-allowed!important;background-color:#ededed}button:disabled{opacity:.5!important;cursor:not-allowed!important}.box-label{display:flex;max-width:220px;height:35px;min-width:100px;background-color:var(--verde);color:#fff;padding:8px 15px 10px;border:none;border-radius:5px;margin:2px}.box-label .box-value{width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.box-label .box-action{width:8px}.box-label .box-action button{color:#d72020;background-color:var(--verde);border:none;font-weight:700;cursor:pointer}\n"] }]
1525
+ }], ctorParameters: function () { return []; }, propDecorators: { tcList: [{
1526
+ type: Input
1527
+ }], placeholder: [{
1528
+ type: Input
1529
+ }], disabled: [{
1530
+ type: Input
1531
+ }], loading: [{
1532
+ type: Input
1533
+ }], tcChange: [{
1534
+ type: Output
1535
+ }] } });
1536
+
1537
+ class TCloudUiMultiInputModule {
1538
+ }
1539
+ TCloudUiMultiInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiMultiInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1540
+ TCloudUiMultiInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiMultiInputModule, declarations: [TCloudUiMultiInputComponent], imports: [FormsModule,
1541
+ ReactiveFormsModule,
1542
+ CommonModule], exports: [TCloudUiMultiInputComponent] });
1543
+ TCloudUiMultiInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiMultiInputModule, imports: [FormsModule,
1544
+ ReactiveFormsModule,
1545
+ CommonModule] });
1546
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiMultiInputModule, decorators: [{
1547
+ type: NgModule,
1548
+ args: [{
1549
+ declarations: [TCloudUiMultiInputComponent],
1550
+ exports: [TCloudUiMultiInputComponent],
1551
+ imports: [
1552
+ FormsModule,
1553
+ ReactiveFormsModule,
1554
+ CommonModule
1555
+ ]
1556
+ }]
1557
+ }] });
1558
+
1559
+ class MonthNamePipe {
1560
+ constructor() {
1561
+ this.meses = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezenbro'];
1562
+ }
1563
+ transform(yyyy_mm) {
1564
+ if (yyyy_mm !== '') {
1565
+ let part = (yyyy_mm).split('-');
1566
+ if ((part).length === 2) {
1567
+ let yyyy = +part[0];
1568
+ let mm = +part[1];
1569
+ return this.meses[(mm - 1)];
1570
+ }
1571
+ }
1572
+ return '';
1573
+ }
1574
+ }
1575
+ MonthNamePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: MonthNamePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
1576
+ MonthNamePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: MonthNamePipe, name: "monthname" });
1577
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: MonthNamePipe, decorators: [{
1578
+ type: Pipe,
1579
+ args: [{ name: 'monthname' }]
1580
+ }] });
1528
1581
 
1529
1582
  class StatusInfoPipe {
1530
1583
  constructor() {
@@ -1738,17 +1791,366 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
1738
1791
  args: [{ name: 'cpf' }]
1739
1792
  }] });
1740
1793
 
1794
+ class TCloudUiSearchInObjectService {
1795
+ constructor(datepipe, statusinfo) {
1796
+ this.datepipe = datepipe;
1797
+ this.statusinfo = statusinfo;
1798
+ }
1799
+ isADate(d) {
1800
+ if (Object.prototype.toString.call(d) === "[object Date]") {
1801
+ ;
1802
+ if (isNaN(d.getTime())) {
1803
+ return false;
1804
+ }
1805
+ else {
1806
+ return true;
1807
+ }
1808
+ }
1809
+ return false;
1810
+ }
1811
+ /**
1812
+ * meet - Procura em object - filtro utilizado para busca em tabelas
1813
+ * @param valor texto a ser procurado
1814
+ * @param emObject object alvo de onde procurar
1815
+ * @param camposDebusca (Opcional) informa em quais são as keys que deverá procurar
1816
+ */
1817
+ meet(valor, emObject, camposDebusca) {
1818
+ if (valor != "") {
1819
+ if (emObject.length < 1) {
1820
+ return emObject;
1821
+ }
1822
+ if (camposDebusca === undefined || camposDebusca === null) {
1823
+ camposDebusca = [];
1824
+ for (const key in emObject[0]) {
1825
+ camposDebusca.push(key);
1826
+ }
1827
+ }
1828
+ if (camposDebusca.length < 1) {
1829
+ return emObject;
1830
+ }
1831
+ valor = valor.toLowerCase();
1832
+ var result = [];
1833
+ for (const key in emObject) {
1834
+ var oObject = emObject[key];
1835
+ if (oObject) {
1836
+ for (const objectvalue of camposDebusca) {
1837
+ const dt = new Date(oObject[objectvalue]);
1838
+ if (this.isADate(dt) && typeof ((dt).getMonth) === 'function') {
1839
+ const data1 = this.datepipe.transform(dt, 'dd/MM/yyyy hh:mm');
1840
+ const data2 = this.datepipe.transform(dt, 'medium');
1841
+ const strToTest = (data1 + " " + data2 + " " + oObject[objectvalue]).toLowerCase();
1842
+ if ((strToTest.indexOf(valor) >= 0) && (result).indexOf(oObject) == -1) {
1843
+ result.push(oObject);
1844
+ break;
1845
+ }
1846
+ }
1847
+ else {
1848
+ const strToTest = (this.statusinfo.transform(oObject[objectvalue], 'ALL') + "").toLowerCase();
1849
+ if ((strToTest.indexOf(valor) >= 0) && (result).indexOf(oObject) == -1) {
1850
+ result.push(oObject);
1851
+ break;
1852
+ }
1853
+ }
1854
+ }
1855
+ }
1856
+ }
1857
+ if (emObject && typeof emObject === 'object' && Array.isArray(emObject)) {
1858
+ // is array
1859
+ const v = (`${valor}`).toUpperCase();
1860
+ for (let i = 0; i < (emObject).length; i++) {
1861
+ const item = (`${emObject[i]}`).toUpperCase();
1862
+ if (item.includes(v) || item === v) {
1863
+ result.push(emObject[i]);
1864
+ }
1865
+ }
1866
+ }
1867
+ return result;
1868
+ }
1869
+ return emObject;
1870
+ }
1871
+ }
1872
+ TCloudUiSearchInObjectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiSearchInObjectService, deps: [{ token: i1.DatePipe }, { token: StatusInfoPipe }], target: i0.ɵɵFactoryTarget.Injectable });
1873
+ TCloudUiSearchInObjectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiSearchInObjectService, providedIn: 'root' });
1874
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiSearchInObjectService, decorators: [{
1875
+ type: Injectable,
1876
+ args: [{
1877
+ providedIn: 'root',
1878
+ }]
1879
+ }], ctorParameters: function () { return [{ type: i1.DatePipe }, { type: StatusInfoPipe }]; } });
1880
+
1881
+ class TCloudUiInputSearchComponent {
1882
+ constructor(searchInObjectService) {
1883
+ this.searchInObjectService = searchInObjectService;
1884
+ /**
1885
+ * tcloud-ui-input-search - Procura pelo valor informado no objeto indicado
1886
+ * @param placeholder string - placeholder no input
1887
+ * @param mirror boolean - Exibir os valores espelhados ou somente os valores encontrados
1888
+ * @param base_object object - Objeto onde ser procurado
1889
+ * @param found - Evite o valor encontrado
1890
+ */
1891
+ this.placeholder = 'Procurar...';
1892
+ this.mirror = true;
1893
+ this.search_text = '';
1894
+ this.found = new EventEmitter();
1895
+ }
1896
+ set base_object(base_object) {
1897
+ if (base_object) {
1898
+ this._base_object = base_object;
1899
+ if (this.mirror) {
1900
+ this.result_object = base_object;
1901
+ this.toFound();
1902
+ }
1903
+ }
1904
+ }
1905
+ get base_object() { return this._base_object; }
1906
+ ngOnInit() {
1907
+ }
1908
+ buscar(value) {
1909
+ this.result_object = this.searchInObjectService.meet(`${value}`, this.base_object);
1910
+ this.toFound();
1911
+ }
1912
+ clean() {
1913
+ if (this.mirror) {
1914
+ this.buscar('');
1915
+ }
1916
+ else {
1917
+ this.result_object = [];
1918
+ this.toFound();
1919
+ }
1920
+ this.search_text = '';
1921
+ }
1922
+ toFound() {
1923
+ this.found.emit(this.result_object);
1924
+ }
1925
+ }
1926
+ TCloudUiInputSearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiInputSearchComponent, deps: [{ token: TCloudUiSearchInObjectService }], target: i0.ɵɵFactoryTarget.Component });
1927
+ TCloudUiInputSearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TCloudUiInputSearchComponent, selector: "tcloud-ui-input-search", inputs: { placeholder: "placeholder", mirror: "mirror", base_object: "base_object" }, outputs: { found: "found" }, ngImport: i0, template: "<table class=\"tc-group-input-table\" cellspacing=\"0\" cellpadding=\"0\">\n <tr>\n <td><input [(ngModel)]=\"search_text\" type=\"text\" (keyup)=\"buscar(search_text)\" placeholder=\"{{ placeholder }}\" ></td>\n <td> \n <ng-container *ngIf=\"search_text === ''\"> \n <button type=\"button\" (click)=\"buscar(search_text)\"><i class=\"fas fa-search\"></i></button>\n </ng-container> \n\n <ng-container *ngIf=\"search_text !== ''\"> \n <button type=\"button\" (click)=\"clean()\"><i class=\"fas fa-times\"></i></button>\n </ng-container>\n </td>\n </tr>\n</table>", styles: [".tc-group-input-table{width:100%;border-collapse:collapse;border-spacing:0}.tc-group-input-table td{border:none;border-style:hidden;border-spacing:0}.tc-group-input-table td:first-child input{width:100%;height:35px;border:none;border:1px solid #ccc}.tc-group-input-table td:last-child{width:40px}.tc-group-input-table td:last-child button{width:100%;height:35px;border:none;border-radius:0 10px 10px 0;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
1928
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiInputSearchComponent, decorators: [{
1929
+ type: Component,
1930
+ args: [{ selector: 'tcloud-ui-input-search', template: "<table class=\"tc-group-input-table\" cellspacing=\"0\" cellpadding=\"0\">\n <tr>\n <td><input [(ngModel)]=\"search_text\" type=\"text\" (keyup)=\"buscar(search_text)\" placeholder=\"{{ placeholder }}\" ></td>\n <td> \n <ng-container *ngIf=\"search_text === ''\"> \n <button type=\"button\" (click)=\"buscar(search_text)\"><i class=\"fas fa-search\"></i></button>\n </ng-container> \n\n <ng-container *ngIf=\"search_text !== ''\"> \n <button type=\"button\" (click)=\"clean()\"><i class=\"fas fa-times\"></i></button>\n </ng-container>\n </td>\n </tr>\n</table>", styles: [".tc-group-input-table{width:100%;border-collapse:collapse;border-spacing:0}.tc-group-input-table td{border:none;border-style:hidden;border-spacing:0}.tc-group-input-table td:first-child input{width:100%;height:35px;border:none;border:1px solid #ccc}.tc-group-input-table td:last-child{width:40px}.tc-group-input-table td:last-child button{width:100%;height:35px;border:none;border-radius:0 10px 10px 0;cursor:pointer}\n"] }]
1931
+ }], ctorParameters: function () { return [{ type: TCloudUiSearchInObjectService }]; }, propDecorators: { placeholder: [{
1932
+ type: Input
1933
+ }], mirror: [{
1934
+ type: Input
1935
+ }], base_object: [{
1936
+ type: Input
1937
+ }], found: [{
1938
+ type: Output
1939
+ }] } });
1940
+
1941
+ class TCloudUiInputSearchModule {
1942
+ }
1943
+ TCloudUiInputSearchModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiInputSearchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1944
+ TCloudUiInputSearchModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiInputSearchModule, declarations: [TCloudUiInputSearchComponent], imports: [CommonModule,
1945
+ FormsModule,
1946
+ ReactiveFormsModule], exports: [TCloudUiInputSearchComponent] });
1947
+ TCloudUiInputSearchModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiInputSearchModule, imports: [CommonModule,
1948
+ FormsModule,
1949
+ ReactiveFormsModule] });
1950
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiInputSearchModule, decorators: [{
1951
+ type: NgModule,
1952
+ args: [{
1953
+ declarations: [
1954
+ TCloudUiInputSearchComponent
1955
+ ],
1956
+ exports: [
1957
+ TCloudUiInputSearchComponent
1958
+ ],
1959
+ imports: [
1960
+ CommonModule,
1961
+ FormsModule,
1962
+ ReactiveFormsModule
1963
+ ]
1964
+ }]
1965
+ }] });
1966
+
1967
+ class TCloudUiTooltipDirective {
1968
+ constructor(el, renderer) {
1969
+ this.el = el;
1970
+ this.renderer = renderer;
1971
+ this._direction = 'top';
1972
+ // main
1973
+ this.el_height = 0;
1974
+ this.el_width = 0;
1975
+ this.el_center = 0;
1976
+ this.el_position = 0;
1977
+ // tooltip
1978
+ this.target_height = 0;
1979
+ this.target_width = 0;
1980
+ this.target_center = 0;
1981
+ this.ID = '';
1982
+ this.info_text = '';
1983
+ }
1984
+ onMouseOver() {
1985
+ if (this.getElement()) {
1986
+ this.renderer.addClass(this.el.nativeElement, 'main-tooltip');
1987
+ const el = this.getElement();
1988
+ el.style.display = 'inline';
1989
+ setTimeout(() => {
1990
+ this.el_height = this.el.nativeElement.offsetHeight;
1991
+ this.el_width = this.el.nativeElement.offsetWidth;
1992
+ this.el_center = this.el_width / 2;
1993
+ const rect = this.el.nativeElement?.getBoundingClientRect();
1994
+ this.el_position = rect?.left || 0;
1995
+ // console.log('this.el_width', this.el_width);
1996
+ // console.log('this.el_center', this.el_center);
1997
+ // console.log('this.el_position', this.el_position);
1998
+ this.target_height = el.offsetHeight;
1999
+ this.target_width = el.offsetWidth;
2000
+ this.target_center = this.target_width / 2;
2001
+ // console.log('target_heigth', this.target_height);
2002
+ // console.log('target_width', this.target_width);
2003
+ // console.log('target_center', this.target_center);
2004
+ // this.renderer.setStyle(el, 'bottom', `${this.el_position}px`);
2005
+ switch (this._direction) {
2006
+ case 'top':
2007
+ this.to_top(el);
2008
+ break;
2009
+ case 'bottom':
2010
+ this.to_bottom(el);
2011
+ break;
2012
+ case 'left':
2013
+ this.to_left(el);
2014
+ break;
2015
+ case 'right':
2016
+ this.to_right(el);
2017
+ break;
2018
+ }
2019
+ });
2020
+ }
2021
+ }
2022
+ onMouseOut() {
2023
+ if (this.getElement()) {
2024
+ const el = this.getElement();
2025
+ el.style.display = 'none';
2026
+ this.renderer.removeClass(this.el.nativeElement, 'main-tooltip');
2027
+ }
2028
+ }
2029
+ set TCtooltip(tooltip) {
2030
+ if (tooltip) {
2031
+ this.check(tooltip);
2032
+ }
2033
+ }
2034
+ set TCdirection(direction) {
2035
+ if (direction) {
2036
+ this._direction = direction;
2037
+ }
2038
+ }
2039
+ ngOnInit() {
2040
+ }
2041
+ generateID() {
2042
+ return `tc-tooltip-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;
2043
+ }
2044
+ getElement() {
2045
+ return document.getElementById(this.ID) || undefined;
2046
+ }
2047
+ check(tooltip) {
2048
+ this.ID = this.generateID();
2049
+ this.info_text = tooltip;
2050
+ let el = this.el.nativeElement;
2051
+ this.main_el = el;
2052
+ if (el) {
2053
+ this.create_tooltip(tooltip, el);
2054
+ }
2055
+ else {
2056
+ console.log("TCL: tooltip -> el", this.el.nativeElement);
2057
+ }
2058
+ }
2059
+ setStyle(el) {
2060
+ // this.renderer.setStyle(el, 'position', 'relative');
2061
+ // this.renderer.setStyle(el, 'display', 'inline');
2062
+ }
2063
+ create_tooltip(tip, el) {
2064
+ this.setStyle(el);
2065
+ const tooltip = document.createElement("div");
2066
+ tooltip.setAttribute('id', this.ID);
2067
+ tooltip.setAttribute('style', `
2068
+ position: absolute;
2069
+ display: none;
2070
+ padding: 10px;
2071
+ border-radius: 10px;
2072
+ text-align: center;
2073
+ width: max-content;
2074
+ max-width: 250px;
2075
+ background-color: transparent;
2076
+ color: transparent;
2077
+ z-index: 1090;
2078
+ bottom: ${this.el_position}px;
2079
+ left: ${this.target_center}px;
2080
+ `);
2081
+ tooltip.innerHTML = tip;
2082
+ el.insertBefore(tooltip, null);
2083
+ }
2084
+ to_top(el) {
2085
+ const pos = this.el_center - (this.target_center);
2086
+ this.renderer.setStyle(el, 'left', `${(pos)}px`);
2087
+ this.renderer.setStyle(el, 'bottom', `${(this.el_height + 7)}px`);
2088
+ el.setAttribute('class', 'tc-directive-tooltip tc-directive-tooltip-top');
2089
+ }
2090
+ to_bottom(el) {
2091
+ const pos = this.el_center - (this.target_center);
2092
+ this.renderer.setStyle(el, 'left', `${(pos)}px`);
2093
+ this.renderer.setStyle(el, 'bottom', `-${(this.target_height + 7)}px`);
2094
+ el.setAttribute('class', 'tc-directive-tooltip tc-directive-tooltip-bottom');
2095
+ }
2096
+ to_right(el) {
2097
+ const pos = this.el_width;
2098
+ this.renderer.setStyle(el, 'left', `${(pos + 11)}px`);
2099
+ this.renderer.setStyle(el, 'bottom', `-${(((this.target_height) / 2) - (this.el_height / 2))}px`);
2100
+ el.setAttribute('class', 'tc-directive-tooltip tc-directive-tooltip-right');
2101
+ }
2102
+ to_left(el) {
2103
+ const pos = -((this.target_width));
2104
+ this.renderer.setStyle(el, 'left', `${(pos - 11)}px`);
2105
+ this.renderer.setStyle(el, 'bottom', `-${(((this.target_height) / 2) - (this.el_height / 2))}px`);
2106
+ el.setAttribute('class', 'tc-directive-tooltip tc-directive-tooltip-left');
2107
+ }
2108
+ }
2109
+ TCloudUiTooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiTooltipDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
2110
+ TCloudUiTooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: TCloudUiTooltipDirective, selector: "[TCtooltip]", inputs: { TCtooltip: "TCtooltip", TCdirection: "TCdirection" }, host: { listeners: { "mouseover": "onMouseOver()", "mouseout": "onMouseOut()" } }, ngImport: i0 });
2111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiTooltipDirective, decorators: [{
2112
+ type: Directive,
2113
+ args: [{
2114
+ selector: '[TCtooltip]'
2115
+ }]
2116
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { onMouseOver: [{
2117
+ type: HostListener,
2118
+ args: ['mouseover']
2119
+ }], onMouseOut: [{
2120
+ type: HostListener,
2121
+ args: ['mouseout']
2122
+ }], TCtooltip: [{
2123
+ type: Input
2124
+ }], TCdirection: [{
2125
+ type: Input
2126
+ }] } });
2127
+
2128
+ class TCloudUiDirectiveModule {
2129
+ }
2130
+ TCloudUiDirectiveModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiDirectiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2131
+ TCloudUiDirectiveModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiDirectiveModule, declarations: [TCloudUiTooltipDirective], exports: [TCloudUiTooltipDirective] });
2132
+ TCloudUiDirectiveModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiDirectiveModule });
2133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiDirectiveModule, decorators: [{
2134
+ type: NgModule,
2135
+ args: [{
2136
+ declarations: [TCloudUiTooltipDirective],
2137
+ exports: [TCloudUiTooltipDirective],
2138
+ }]
2139
+ }] });
2140
+
1741
2141
  class TCloudUiPipesModule {
1742
2142
  }
1743
2143
  TCloudUiPipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiPipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1744
2144
  TCloudUiPipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiPipesModule, declarations: [MonthNamePipe,
1745
2145
  StatusInfoPipe,
1746
2146
  RespectivePipe,
1747
- CNPJPipe], imports: [CommonModule], exports: [MonthNamePipe,
2147
+ CNPJPipe], imports: [CommonModule], exports: [DatePipe,
2148
+ MonthNamePipe,
1748
2149
  StatusInfoPipe,
1749
2150
  RespectivePipe,
1750
2151
  CNPJPipe] });
1751
2152
  TCloudUiPipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiPipesModule, providers: [
2153
+ DatePipe,
1752
2154
  MonthNamePipe,
1753
2155
  StatusInfoPipe,
1754
2156
  RespectivePipe,
@@ -1767,12 +2169,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
1767
2169
  CNPJPipe
1768
2170
  ],
1769
2171
  exports: [
2172
+ DatePipe,
1770
2173
  MonthNamePipe,
1771
2174
  StatusInfoPipe,
1772
2175
  RespectivePipe,
1773
2176
  CNPJPipe
1774
2177
  ],
1775
2178
  providers: [
2179
+ DatePipe,
1776
2180
  MonthNamePipe,
1777
2181
  StatusInfoPipe,
1778
2182
  RespectivePipe,
@@ -1781,96 +2185,54 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
1781
2185
  }]
1782
2186
  }] });
1783
2187
 
1784
- class TCloudUiMultiInputComponent {
2188
+ class TCloudUiLoadingTransitionsService {
1785
2189
  constructor() {
1786
- this.placeholder = '';
1787
- this.disabled = false;
1788
- this.loading = false;
1789
- this.count_actives = 0;
1790
- this.tcChange = new EventEmitter();
1791
- }
1792
- ngOnInit() {
1793
- setTimeout(() => {
1794
- this.toChange();
1795
- });
1796
- }
1797
- addItem(item) {
1798
- if (this.disabled) {
1799
- return;
1800
- }
1801
- if (!this.tcList) {
1802
- this.tcList = [];
1803
- }
1804
- (this.tcList).push({ value: item });
1805
- this.toChange();
1806
- this.input_value = '';
1807
- }
1808
- removeItem(item, index) {
1809
- if (this.disabled) {
1810
- return;
2190
+ this.ID = 'tcloud-ui-loading-transitions';
2191
+ }
2192
+ /**
2193
+ * Inicia a tela de bloqueio para carregamento de tarefa
2194
+ */
2195
+ start() {
2196
+ this.create_loading_transition();
2197
+ if (document.getElementById(this.ID)) {
2198
+ const box = document.getElementById(this.ID);
2199
+ box?.classList.add('tcloud-ui-start-loading');
2200
+ }
2201
+ }
2202
+ /**
2203
+ * Encerra a tela de bloqueio
2204
+ */
2205
+ stop() {
2206
+ if (document.getElementById(this.ID)) {
2207
+ const box = document.getElementById(this.ID);
2208
+ box?.classList.remove('tcloud-ui-start-loading');
2209
+ const body = document.getElementsByTagName('body')[0];
2210
+ body.classList.remove('tcloud-ui-body-loading-transitions');
2211
+ }
2212
+ }
2213
+ create_loading_transition() {
2214
+ let box = null;
2215
+ if (document.getElementById(this.ID)) {
2216
+ box = document.getElementById(this.ID);
1811
2217
  }
1812
- if (this.tcList) {
1813
- for (let i = 0; i < (this.tcList).length; i++) {
1814
- const row = this.tcList[i];
1815
- if (item === row.value && i === index) {
1816
- (this.tcList).splice(index, 1);
1817
- break;
1818
- }
1819
- }
1820
- this.toChange();
1821
- }
1822
- }
1823
- toChange() {
1824
- let count_actives = 0;
1825
- let itens = [];
1826
- if (this.tcList) {
1827
- for (let i = 0; i < (this.tcList).length; i++) {
1828
- const row = this.tcList[i];
1829
- (itens).push(row);
1830
- }
2218
+ else {
2219
+ box = document.createElement("div");
2220
+ box.setAttribute('id', this.ID);
1831
2221
  }
1832
- this.count_actives = count_actives;
1833
- this.tcChange.emit(itens);
2222
+ const body = document.getElementsByTagName('body')[0];
2223
+ body.appendChild(box);
2224
+ body.classList.add('tcloud-ui-body-loading-transitions');
2225
+ // element.classList.remove('bar', 'baz');
1834
2226
  }
1835
2227
  }
1836
- TCloudUiMultiInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiMultiInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1837
- TCloudUiMultiInputComponentcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TCloudUiMultiInputComponent, selector: "tcloud-ui-multi-input", inputs: { tcList: "tcList", placeholder: "placeholder", disabled: "disabled", loading: "loading" }, outputs: { tcChange: "tcChange" }, ngImport: i0, template: "<div>\n <form #_formulario=\"ngForm\">\n <table>\n <tr *ngIf=\"tcList\">\n <td>\n <input type=\"text\" [(ngModel)]=\"input_value\" [disabled]=\"disabled || loading\" name=\"input_value\" required>\n </td>\n <td>\n <button\n [disabled]=\"disabled || loading || !_formulario.valid\"\n title=\"Adicionar\"\n class=\"btn-plus-select\"\n (click)=\"addItem(input_value)\"\n type=\"button\">\n <i class=\"fas fa-plus\"></i>\n </button>\n </td>\n </tr>\n </table>\n \n <div class=\"box-itens-selected\">\n <ng-container *ngFor=\"let item of tcList; let i = index\">\n \n <div class=\"box-label\">\n <div class=\"box-value\" [title]=\"item.value\">\n {{ item.value }} \n </div>\n <div class=\"box-action\">\n <button\n [disabled]=\"tcList === undefined || (tcList && tcList.length === 0) || disabled || loading\"\n title=\"Remover\"\n type=\"button\"\n (click)=\"removeItem(item.value, i)\">\n <i class=\"fas fa-times\"></i>\n </button>\n </div>\n </div>\n\n </ng-container>\n </div>\n </form>\n</div>\n ", styles: ["table{width:100%;border-collapse:collapse;border:none}table td:first-child{width:100%}input{font-size:.8rem;height:40px;border:1px solid #999;border-radius:4px 0 0 4px;padding:6px 10px;white-space:nowrap;text-overflow:ellipsis;width:100%;background-color:#fff;color:#888}.btn-plus-select{width:30px;height:40px;border:none;color:#fff;background-color:var(--verde);border-radius:0 4px 4px 0}.box-itens-selected{display:flex;padding:9px;background-color:#ededed;border-radius:4px}select:disabled{opacity:.8!important;cursor:not-allowed!important;background-color:#ededed}button:disabled{opacity:.5!important;cursor:not-allowed!important}.box-label{display:flex;max-width:220px;height:35px;min-width:100px;background-color:var(--verde);color:#fff;padding:8px 15px 10px;border:none;border-radius:5px;margin:2px}.box-label .box-value{width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.box-label .box-action{width:8px}.box-label .box-action button{color:#d72020;background-color:var(--verde);border:none;font-weight:700;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1838
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiMultiInputComponent, decorators: [{
1839
- type: Component,
1840
- args: [{ selector: 'tcloud-ui-multi-input', template: "<div>\n <form #_formulario=\"ngForm\">\n <table>\n <tr *ngIf=\"tcList\">\n <td>\n <input type=\"text\" [(ngModel)]=\"input_value\" [disabled]=\"disabled || loading\" name=\"input_value\" required>\n </td>\n <td>\n <button\n [disabled]=\"disabled || loading || !_formulario.valid\"\n title=\"Adicionar\"\n class=\"btn-plus-select\"\n (click)=\"addItem(input_value)\"\n type=\"button\">\n <i class=\"fas fa-plus\"></i>\n </button>\n </td>\n </tr>\n </table>\n \n <div class=\"box-itens-selected\">\n <ng-container *ngFor=\"let item of tcList; let i = index\">\n \n <div class=\"box-label\">\n <div class=\"box-value\" [title]=\"item.value\">\n {{ item.value }} \n </div>\n <div class=\"box-action\">\n <button\n [disabled]=\"tcList === undefined || (tcList && tcList.length === 0) || disabled || loading\"\n title=\"Remover\"\n type=\"button\"\n (click)=\"removeItem(item.value, i)\">\n <i class=\"fas fa-times\"></i>\n </button>\n </div>\n </div>\n\n </ng-container>\n </div>\n </form>\n</div>\n ", styles: ["table{width:100%;border-collapse:collapse;border:none}table td:first-child{width:100%}input{font-size:.8rem;height:40px;border:1px solid #999;border-radius:4px 0 0 4px;padding:6px 10px;white-space:nowrap;text-overflow:ellipsis;width:100%;background-color:#fff;color:#888}.btn-plus-select{width:30px;height:40px;border:none;color:#fff;background-color:var(--verde);border-radius:0 4px 4px 0}.box-itens-selected{display:flex;padding:9px;background-color:#ededed;border-radius:4px}select:disabled{opacity:.8!important;cursor:not-allowed!important;background-color:#ededed}button:disabled{opacity:.5!important;cursor:not-allowed!important}.box-label{display:flex;max-width:220px;height:35px;min-width:100px;background-color:var(--verde);color:#fff;padding:8px 15px 10px;border:none;border-radius:5px;margin:2px}.box-label .box-value{width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.box-label .box-action{width:8px}.box-label .box-action button{color:#d72020;background-color:var(--verde);border:none;font-weight:700;cursor:pointer}\n"] }]
1841
- }], ctorParameters: function () { return []; }, propDecorators: { tcList: [{
1842
- type: Input
1843
- }], placeholder: [{
1844
- type: Input
1845
- }], disabled: [{
1846
- type: Input
1847
- }], loading: [{
1848
- type: Input
1849
- }], tcChange: [{
1850
- type: Output
1851
- }] } });
1852
-
1853
- class TCloudUiMultiInputModule {
1854
- }
1855
- TCloudUiMultiInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiMultiInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1856
- TCloudUiMultiInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiMultiInputModule, declarations: [TCloudUiMultiInputComponent], imports: [FormsModule,
1857
- ReactiveFormsModule,
1858
- CommonModule], exports: [TCloudUiMultiInputComponent] });
1859
- TCloudUiMultiInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiMultiInputModule, imports: [FormsModule,
1860
- ReactiveFormsModule,
1861
- CommonModule] });
1862
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiMultiInputModule, decorators: [{
1863
- type: NgModule,
2228
+ TCloudUiLoadingTransitionsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiLoadingTransitionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2229
+ TCloudUiLoadingTransitionsServiceprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiLoadingTransitionsService, providedIn: 'root' });
2230
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiLoadingTransitionsService, decorators: [{
2231
+ type: Injectable,
1864
2232
  args: [{
1865
- declarations: [TCloudUiMultiInputComponent],
1866
- exports: [TCloudUiMultiInputComponent],
1867
- imports: [
1868
- FormsModule,
1869
- ReactiveFormsModule,
1870
- CommonModule
1871
- ]
2233
+ providedIn: 'root',
1872
2234
  }]
1873
- }] });
2235
+ }], ctorParameters: function () { return []; } });
1874
2236
 
1875
2237
  class TCloudUiModule {
1876
2238
  }
@@ -1882,6 +2244,8 @@ TCloudUiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
1882
2244
  TCloudUiMultiSelectModule,
1883
2245
  TCloudUiDataListModule,
1884
2246
  TCloudUiMultiInputModule,
2247
+ TCloudUiChoiceIssuesModule,
2248
+ TCloudUiInputSearchModule,
1885
2249
  // Directives
1886
2250
  TCloudUiDirectiveModule,
1887
2251
  // Pipes
@@ -1892,17 +2256,24 @@ TCloudUiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
1892
2256
  TCloudUiMultiSelectModule,
1893
2257
  TCloudUiDataListModule,
1894
2258
  TCloudUiMultiInputModule,
2259
+ TCloudUiChoiceIssuesModule,
2260
+ TCloudUiInputSearchModule,
1895
2261
  // Directives
1896
2262
  TCloudUiDirectiveModule,
1897
2263
  // Pipes
1898
2264
  TCloudUiPipesModule] });
1899
- TCloudUiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiModule, imports: [TCloudUiModalModule,
2265
+ TCloudUiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TCloudUiModule, providers: [
2266
+ TCloudUiLoadingTransitionsService,
2267
+ TCloudUiSearchInObjectService,
2268
+ ], imports: [TCloudUiModalModule,
1900
2269
  TCloudUiTabMenuModule,
1901
2270
  TCloudUiLinhaLogoModule,
1902
2271
  TCloudUiLineStepCircleModule,
1903
2272
  TCloudUiMultiSelectModule,
1904
2273
  TCloudUiDataListModule,
1905
2274
  TCloudUiMultiInputModule,
2275
+ TCloudUiChoiceIssuesModule,
2276
+ TCloudUiInputSearchModule,
1906
2277
  // Directives
1907
2278
  TCloudUiDirectiveModule,
1908
2279
  // Pipes
@@ -1913,6 +2284,8 @@ TCloudUiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
1913
2284
  TCloudUiMultiSelectModule,
1914
2285
  TCloudUiDataListModule,
1915
2286
  TCloudUiMultiInputModule,
2287
+ TCloudUiChoiceIssuesModule,
2288
+ TCloudUiInputSearchModule,
1916
2289
  // Directives
1917
2290
  TCloudUiDirectiveModule,
1918
2291
  // Pipes
@@ -1928,6 +2301,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
1928
2301
  TCloudUiMultiSelectModule,
1929
2302
  TCloudUiDataListModule,
1930
2303
  TCloudUiMultiInputModule,
2304
+ TCloudUiChoiceIssuesModule,
2305
+ TCloudUiInputSearchModule,
1931
2306
  // Directives
1932
2307
  TCloudUiDirectiveModule,
1933
2308
  // Pipes
@@ -1941,10 +2316,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
1941
2316
  TCloudUiMultiSelectModule,
1942
2317
  TCloudUiDataListModule,
1943
2318
  TCloudUiMultiInputModule,
2319
+ TCloudUiChoiceIssuesModule,
2320
+ TCloudUiInputSearchModule,
1944
2321
  // Directives
1945
2322
  TCloudUiDirectiveModule,
1946
2323
  // Pipes
1947
2324
  TCloudUiPipesModule
2325
+ ],
2326
+ providers: [
2327
+ TCloudUiLoadingTransitionsService,
2328
+ TCloudUiSearchInObjectService,
1948
2329
  ]
1949
2330
  }]
1950
2331
  }] });
@@ -1957,5 +2338,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
1957
2338
  * Generated bundle index. Do not edit.
1958
2339
  */
1959
2340
 
1960
- export { CNPJPipe, CPFPipe, CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, MonthNamePipe, RespectivePipe, StatusInfoPipe, TCloudUiDataListComponent, TCloudUiDataListModule, TCloudUiDataListOptionComponent, TCloudUiDirectiveModule, TCloudUiLineStepCircleComponent, TCloudUiLineStepCircleModule, TCloudUiLinhaLogoComponent, TCloudUiLinhaLogoModule, TCloudUiModalBodyComponent, TCloudUiModalComponent, TCloudUiModalFooterComponent, TCloudUiModalHeaderComponent, TCloudUiModalModule, TCloudUiModule, TCloudUiMultiInputComponent, TCloudUiMultiInputModule, TCloudUiMultiSelectComponent, TCloudUiMultiSelectModule, TCloudUiPipesModule, TCloudUiTabContentComponent, TCloudUiTabHeadComponent, TCloudUiTabMenuComponent, TCloudUiTabMenuModule, TCloudUiTabSubtitleComponent, TCloudUiTabTitleComponent, TCloudUiTooltipDirective };
2341
+ export { CNPJPipe, CPFPipe, CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR$1 as CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, MonthNamePipe, RespectivePipe, StatusInfoPipe, TCloudUiChoiceIssuesComponent, TCloudUiChoiceIssuesModule, TCloudUiDataListComponent, TCloudUiDataListModule, TCloudUiDataListOptionComponent, TCloudUiDirectiveModule, TCloudUiInputSearchComponent, TCloudUiInputSearchModule, TCloudUiLineStepCircleComponent, TCloudUiLineStepCircleModule, TCloudUiLinhaLogoComponent, TCloudUiLinhaLogoModule, TCloudUiLoadingTransitionsService, TCloudUiModalBodyComponent, TCloudUiModalComponent, TCloudUiModalFooterComponent, TCloudUiModalHeaderComponent, TCloudUiModalModule, TCloudUiModule, TCloudUiMultiInputComponent, TCloudUiMultiInputModule, TCloudUiMultiSelectComponent, TCloudUiMultiSelectModule, TCloudUiPipesModule, TCloudUiSearchInObjectService, TCloudUiTabContentComponent, TCloudUiTabHeadComponent, TCloudUiTabMenuComponent, TCloudUiTabMenuModule, TCloudUiTabSubtitleComponent, TCloudUiTabTitleComponent, TCloudUiTooltipDirective };
1961
2342
  //# sourceMappingURL=dev-tcloud-tcloud-ui.mjs.map