@dev-tcloud/tcloud-ui 2.4.14 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/esm2022/dev-tcloud-tcloud-ui.mjs +4 -4
- package/esm2022/lib/_directives/align/align.directive.mjs +42 -42
- package/esm2022/lib/_directives/currency/currency.directive.mjs +160 -160
- package/esm2022/lib/_directives/directives.module.mjs +39 -39
- package/esm2022/lib/_directives/el-copy/el-copy.directive.mjs +68 -68
- package/esm2022/lib/_directives/hover-parent/hover-parent.directive.mjs +58 -58
- package/esm2022/lib/_directives/tooltip/tooltip.directive.mjs +151 -151
- package/esm2022/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component.mjs +34 -34
- package/esm2022/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component.mjs +54 -54
- package/esm2022/lib/_modules/tcloud-ui-accordion/services/tcloud-ui-accordion.service.mjs +37 -37
- package/esm2022/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.component.mjs +75 -75
- package/esm2022/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.module.mjs +34 -34
- package/esm2022/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.component.mjs +87 -87
- package/esm2022/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.module.mjs +31 -31
- package/esm2022/lib/_modules/tcloud-ui-data-list/services/data-list.service.mjs +37 -37
- package/esm2022/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list-option/tcloud-ui-data-list-option.component.mjs +65 -65
- package/esm2022/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.component.mjs +317 -317
- package/esm2022/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.mjs +2 -2
- package/esm2022/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.module.mjs +36 -36
- package/esm2022/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.component.mjs +440 -440
- package/esm2022/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.module.mjs +31 -31
- package/esm2022/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.component.mjs +320 -320
- package/esm2022/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module.mjs +39 -39
- package/esm2022/lib/_modules/tcloud-ui-filters/components/range-date/range-date.component.mjs +213 -213
- package/esm2022/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.component.mjs +537 -534
- package/esm2022/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.mjs +19 -19
- package/esm2022/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.module.mjs +44 -44
- package/esm2022/lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.component.mjs +142 -142
- package/esm2022/lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.module.mjs +31 -31
- package/esm2022/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.component.mjs +66 -66
- package/esm2022/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.module.mjs +31 -31
- package/esm2022/lib/_modules/tcloud-ui-label-token/tcloud-ui-label-token.component.mjs +36 -36
- package/esm2022/lib/_modules/tcloud-ui-label-token/tcloud-ui-label-token.module.mjs +30 -30
- package/esm2022/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.component.mjs +93 -93
- package/esm2022/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.module.mjs +24 -24
- package/esm2022/lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.component.mjs +42 -42
- package/esm2022/lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.mjs +1 -1
- package/esm2022/lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.module.mjs +18 -18
- package/esm2022/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.component.mjs +65 -65
- package/esm2022/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.module.mjs +24 -24
- package/esm2022/lib/_modules/tcloud-ui-loading/components/tcloud-ui-cubes/tcloud-ui-cubes.component.mjs +10 -10
- package/esm2022/lib/_modules/tcloud-ui-loading/tcloud-ui-loading.component.mjs +29 -29
- package/esm2022/lib/_modules/tcloud-ui-loading/tcloud-ui-loading.module.mjs +20 -20
- package/esm2022/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-body/tcloud-ui-modal-body.component.mjs +13 -13
- package/esm2022/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component.mjs +61 -61
- package/esm2022/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-header/tcloud-ui-modal-header.component.mjs +24 -24
- package/esm2022/lib/_modules/tcloud-ui-modal/services/tcloud-modal.service.mjs +63 -63
- package/esm2022/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.component.mjs +203 -203
- package/esm2022/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.mjs +1 -1
- package/esm2022/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.module.mjs +46 -46
- package/esm2022/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.component.mjs +152 -152
- package/esm2022/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.module.mjs +27 -27
- package/esm2022/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.component.mjs +167 -167
- package/esm2022/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.module.mjs +27 -27
- package/esm2022/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.component.mjs +348 -348
- package/esm2022/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.module.mjs +35 -35
- package/esm2022/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.component.mjs +19 -19
- package/esm2022/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.module.mjs +24 -24
- package/esm2022/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.component.mjs +99 -99
- package/esm2022/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.module.mjs +24 -24
- package/esm2022/lib/_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.component.mjs +165 -161
- package/esm2022/lib/_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.module.mjs +20 -20
- package/esm2022/lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.component.mjs +105 -105
- package/esm2022/lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.mjs +1 -1
- package/esm2022/lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.module.mjs +23 -23
- package/esm2022/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.component.mjs +46 -46
- package/esm2022/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.module.mjs +24 -24
- package/esm2022/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-content/tcloud-ui-tab-content.component.mjs +36 -36
- package/esm2022/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-head/tcloud-ui-tab-head.component.mjs +85 -85
- package/esm2022/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component.mjs +69 -69
- package/esm2022/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-title/tcloud-ui-tab-title.component.mjs +71 -71
- package/esm2022/lib/_modules/tcloud-ui-tab-menu/services/tab-menu.service.mjs +104 -104
- package/esm2022/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.component.mjs +64 -64
- package/esm2022/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.mjs +1 -1
- package/esm2022/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.module.mjs +44 -44
- package/esm2022/lib/_modules/tcloud-ui-table/tcloud-ui-table.component.mjs +21 -21
- package/esm2022/lib/_modules/tcloud-ui-table/tcloud-ui-table.module.mjs +24 -24
- package/esm2022/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.component.mjs +37 -37
- package/esm2022/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.module.mjs +24 -24
- package/esm2022/lib/_pipes/array-to-text.mjs +29 -29
- package/esm2022/lib/_pipes/bytes.mjs +31 -31
- package/esm2022/lib/_pipes/cnpj.mjs +37 -37
- package/esm2022/lib/_pipes/cpf.mjs +37 -37
- package/esm2022/lib/_pipes/datebr.mjs +102 -102
- package/esm2022/lib/_pipes/index.mjs +8 -8
- package/esm2022/lib/_pipes/monthname.mjs +25 -25
- package/esm2022/lib/_pipes/respective.mjs +73 -73
- package/esm2022/lib/_pipes/statusinfo.mjs +78 -78
- package/esm2022/lib/_pipes/tcloud-pipes.module.mjs +74 -74
- package/esm2022/lib/_services/loading-transitions.service.mjs +52 -52
- package/esm2022/lib/_services/search-in-object.service.mjs +99 -99
- package/esm2022/lib/tcloud-ui.module.mjs +222 -222
- package/esm2022/public-api.mjs +107 -107
- package/fesm2022/dev-tcloud-tcloud-ui.mjs +6284 -6277
- package/fesm2022/dev-tcloud-tcloud-ui.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/_directives/align/align.directive.d.ts +13 -13
- package/lib/_directives/currency/currency.directive.d.ts +24 -24
- package/lib/_directives/directives.module.d.ts +11 -11
- package/lib/_directives/el-copy/el-copy.directive.d.ts +13 -13
- package/lib/_directives/hover-parent/hover-parent.directive.d.ts +15 -15
- package/lib/_directives/tooltip/tooltip.directive.d.ts +18 -18
- package/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component.d.ts +11 -11
- package/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component.d.ts +20 -20
- package/lib/_modules/tcloud-ui-accordion/services/tcloud-ui-accordion.service.d.ts +20 -20
- package/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.component.d.ts +27 -27
- package/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.module.d.ts +10 -10
- package/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.component.d.ts +27 -27
- package/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.module.d.ts +9 -9
- package/lib/_modules/tcloud-ui-data-list/services/data-list.service.d.ts +20 -20
- package/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list-option/tcloud-ui-data-list-option.component.d.ts +23 -23
- package/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.component.d.ts +74 -74
- package/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.d.ts +5 -5
- package/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.module.d.ts +10 -10
- package/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.component.d.ts +59 -59
- package/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.module.d.ts +9 -9
- package/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.component.d.ts +52 -52
- package/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module.d.ts +11 -11
- package/lib/_modules/tcloud-ui-filters/components/range-date/range-date.component.d.ts +41 -41
- package/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.component.d.ts +64 -63
- package/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.d.ts +40 -40
- package/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.module.d.ts +12 -12
- package/lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.component.d.ts +36 -36
- package/lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.module.d.ts +9 -9
- package/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.component.d.ts +28 -28
- package/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.module.d.ts +9 -9
- package/lib/_modules/tcloud-ui-label-token/tcloud-ui-label-token.component.d.ts +14 -14
- package/lib/_modules/tcloud-ui-label-token/tcloud-ui-label-token.module.d.ts +9 -9
- package/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.component.d.ts +28 -28
- package/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.module.d.ts +8 -8
- package/lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.component.d.ts +12 -12
- package/lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.d.ts +5 -5
- package/lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.module.d.ts +8 -8
- package/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.component.d.ts +17 -17
- package/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.module.d.ts +8 -8
- package/lib/_modules/tcloud-ui-loading/components/tcloud-ui-cubes/tcloud-ui-cubes.component.d.ts +5 -5
- package/lib/_modules/tcloud-ui-loading/tcloud-ui-loading.component.d.ts +11 -11
- package/lib/_modules/tcloud-ui-loading/tcloud-ui-loading.module.d.ts +9 -9
- package/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-body/tcloud-ui-modal-body.component.d.ts +8 -8
- package/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component.d.ts +26 -26
- package/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-header/tcloud-ui-modal-header.component.d.ts +12 -12
- package/lib/_modules/tcloud-ui-modal/services/tcloud-modal.service.d.ts +28 -28
- package/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.component.d.ts +68 -68
- package/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.d.ts +4 -4
- package/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.module.d.ts +12 -12
- package/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.component.d.ts +39 -39
- package/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.module.d.ts +9 -9
- package/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.component.d.ts +39 -39
- package/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.module.d.ts +9 -9
- package/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.component.d.ts +69 -69
- package/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.module.d.ts +10 -10
- package/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.component.d.ts +8 -8
- package/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.module.d.ts +8 -8
- package/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.component.d.ts +29 -29
- package/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.module.d.ts +8 -8
- package/lib/_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.component.d.ts +31 -29
- package/lib/_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.module.d.ts +8 -8
- package/lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.component.d.ts +17 -17
- package/lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.d.ts +4 -4
- package/lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.module.d.ts +8 -8
- package/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.component.d.ts +13 -13
- package/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.module.d.ts +8 -8
- package/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-content/tcloud-ui-tab-content.component.d.ts +15 -15
- package/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-head/tcloud-ui-tab-head.component.d.ts +24 -24
- package/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component.d.ts +21 -21
- package/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-title/tcloud-ui-tab-title.component.d.ts +22 -22
- package/lib/_modules/tcloud-ui-tab-menu/services/tab-menu.service.d.ts +38 -38
- package/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.component.d.ts +23 -23
- package/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.d.ts +4 -4
- package/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.module.d.ts +12 -12
- package/lib/_modules/tcloud-ui-table/tcloud-ui-table.component.d.ts +10 -10
- package/lib/_modules/tcloud-ui-table/tcloud-ui-table.module.d.ts +8 -8
- package/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.component.d.ts +17 -17
- package/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.module.d.ts +8 -8
- package/lib/_pipes/array-to-text.d.ts +8 -8
- package/lib/_pipes/bytes.d.ts +8 -8
- package/lib/_pipes/cnpj.d.ts +9 -9
- package/lib/_pipes/cpf.d.ts +9 -9
- package/lib/_pipes/datebr.d.ts +11 -11
- package/lib/_pipes/index.d.ts +8 -8
- package/lib/_pipes/monthname.d.ts +8 -8
- package/lib/_pipes/respective.d.ts +11 -11
- package/lib/_pipes/statusinfo.d.ts +15 -15
- package/lib/_pipes/tcloud-pipes.module.d.ts +15 -15
- package/lib/_services/loading-transitions.service.d.ts +16 -16
- package/lib/_services/search-in-object.service.d.ts +19 -19
- package/lib/tcloud-ui.module.d.ts +33 -33
- package/package.json +1 -1
- package/public-api.d.ts +76 -76
|
@@ -1,99 +1,99 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
import * as i2 from "../_pipes";
|
|
5
|
-
export class TCloudUiSearchInObjectService {
|
|
6
|
-
constructor(datepipe, statusinfo) {
|
|
7
|
-
this.datepipe = datepipe;
|
|
8
|
-
this.statusinfo = statusinfo;
|
|
9
|
-
}
|
|
10
|
-
isADate(d) {
|
|
11
|
-
if (d && d instanceof Date && !isNaN(d.valueOf())) {
|
|
12
|
-
if (Object.prototype.toString.call(d) === "[object Date]") {
|
|
13
|
-
;
|
|
14
|
-
if (isNaN(d.getTime())) {
|
|
15
|
-
return false;
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
return true;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
return false;
|
|
23
|
-
}
|
|
24
|
-
normalize(text) {
|
|
25
|
-
const v = (((`${text}`).normalize('NFD').replace(/[\u0300-\u036f]/g, "")).trim()).toLowerCase();
|
|
26
|
-
return v;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* meet - Procura em object - filtro utilizado para busca em tabelas
|
|
30
|
-
* @param valor texto a ser procurado
|
|
31
|
-
* @param emObject object alvo de onde procurar
|
|
32
|
-
* @param camposDebusca (Opcional) informa em quais são as keys que deverá procurar
|
|
33
|
-
*/
|
|
34
|
-
meet(valor, emObject, camposDebusca) {
|
|
35
|
-
if (valor != "") {
|
|
36
|
-
if (emObject.length < 1) {
|
|
37
|
-
return emObject;
|
|
38
|
-
}
|
|
39
|
-
if (camposDebusca === undefined || camposDebusca === null) {
|
|
40
|
-
camposDebusca = [];
|
|
41
|
-
for (const key in emObject[0]) {
|
|
42
|
-
camposDebusca.push(key);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
if (camposDebusca.length < 1) {
|
|
46
|
-
return emObject;
|
|
47
|
-
}
|
|
48
|
-
let isObject = false;
|
|
49
|
-
valor = this.normalize(valor);
|
|
50
|
-
var result = [];
|
|
51
|
-
for (const key in emObject) {
|
|
52
|
-
var oObject = emObject[key];
|
|
53
|
-
if (oObject && (typeof oObject === 'object')) {
|
|
54
|
-
isObject = true;
|
|
55
|
-
for (const objectvalue of camposDebusca) {
|
|
56
|
-
const dt = new Date(oObject[objectvalue]);
|
|
57
|
-
if (this.isADate(dt) && typeof ((dt).getMonth) === 'function') {
|
|
58
|
-
const data1 = this.datepipe.transform(dt, 'dd/MM/yyyy hh:mm');
|
|
59
|
-
const data2 = this.datepipe.transform(dt, 'medium');
|
|
60
|
-
const strToTest = this.normalize(data1 + " " + data2 + " " + oObject[objectvalue]);
|
|
61
|
-
if ((strToTest.indexOf(valor) >= 0) && (result).indexOf(oObject) == -1) {
|
|
62
|
-
result.push(oObject);
|
|
63
|
-
break;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
const strToTest = this.normalize(this.statusinfo.transform(oObject[objectvalue], 'ALL') + "");
|
|
68
|
-
if ((strToTest.indexOf(valor) >= 0) && (result).indexOf(oObject) == -1) {
|
|
69
|
-
result.push(oObject);
|
|
70
|
-
break;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
if (emObject && typeof emObject === 'object' && Array.isArray(emObject) && !isObject) {
|
|
77
|
-
// is array
|
|
78
|
-
const v = this.normalize(`${valor}`);
|
|
79
|
-
for (let i = 0; i < (emObject).length; i++) {
|
|
80
|
-
const item = this.normalize(`${emObject[i]}`);
|
|
81
|
-
if (item.includes(v) || item === v) {
|
|
82
|
-
result.push(emObject[i]);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
return result;
|
|
87
|
-
}
|
|
88
|
-
return emObject;
|
|
89
|
-
}
|
|
90
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
91
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
92
|
-
}
|
|
93
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
94
|
-
type: Injectable,
|
|
95
|
-
args: [{
|
|
96
|
-
providedIn: 'root',
|
|
97
|
-
}]
|
|
98
|
-
}], ctorParameters:
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "../_pipes";
|
|
5
|
+
export class TCloudUiSearchInObjectService {
|
|
6
|
+
constructor(datepipe, statusinfo) {
|
|
7
|
+
this.datepipe = datepipe;
|
|
8
|
+
this.statusinfo = statusinfo;
|
|
9
|
+
}
|
|
10
|
+
isADate(d) {
|
|
11
|
+
if (d && d instanceof Date && !isNaN(d.valueOf())) {
|
|
12
|
+
if (Object.prototype.toString.call(d) === "[object Date]") {
|
|
13
|
+
;
|
|
14
|
+
if (isNaN(d.getTime())) {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
normalize(text) {
|
|
25
|
+
const v = (((`${text}`).normalize('NFD').replace(/[\u0300-\u036f]/g, "")).trim()).toLowerCase();
|
|
26
|
+
return v;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* meet - Procura em object - filtro utilizado para busca em tabelas
|
|
30
|
+
* @param valor texto a ser procurado
|
|
31
|
+
* @param emObject object alvo de onde procurar
|
|
32
|
+
* @param camposDebusca (Opcional) informa em quais são as keys que deverá procurar
|
|
33
|
+
*/
|
|
34
|
+
meet(valor, emObject, camposDebusca) {
|
|
35
|
+
if (valor != "") {
|
|
36
|
+
if (emObject.length < 1) {
|
|
37
|
+
return emObject;
|
|
38
|
+
}
|
|
39
|
+
if (camposDebusca === undefined || camposDebusca === null) {
|
|
40
|
+
camposDebusca = [];
|
|
41
|
+
for (const key in emObject[0]) {
|
|
42
|
+
camposDebusca.push(key);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
if (camposDebusca.length < 1) {
|
|
46
|
+
return emObject;
|
|
47
|
+
}
|
|
48
|
+
let isObject = false;
|
|
49
|
+
valor = this.normalize(valor);
|
|
50
|
+
var result = [];
|
|
51
|
+
for (const key in emObject) {
|
|
52
|
+
var oObject = emObject[key];
|
|
53
|
+
if (oObject && (typeof oObject === 'object')) {
|
|
54
|
+
isObject = true;
|
|
55
|
+
for (const objectvalue of camposDebusca) {
|
|
56
|
+
const dt = new Date(oObject[objectvalue]);
|
|
57
|
+
if (this.isADate(dt) && typeof ((dt).getMonth) === 'function') {
|
|
58
|
+
const data1 = this.datepipe.transform(dt, 'dd/MM/yyyy hh:mm');
|
|
59
|
+
const data2 = this.datepipe.transform(dt, 'medium');
|
|
60
|
+
const strToTest = this.normalize(data1 + " " + data2 + " " + oObject[objectvalue]);
|
|
61
|
+
if ((strToTest.indexOf(valor) >= 0) && (result).indexOf(oObject) == -1) {
|
|
62
|
+
result.push(oObject);
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
const strToTest = this.normalize(this.statusinfo.transform(oObject[objectvalue], 'ALL') + "");
|
|
68
|
+
if ((strToTest.indexOf(valor) >= 0) && (result).indexOf(oObject) == -1) {
|
|
69
|
+
result.push(oObject);
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
if (emObject && typeof emObject === 'object' && Array.isArray(emObject) && !isObject) {
|
|
77
|
+
// is array
|
|
78
|
+
const v = this.normalize(`${valor}`);
|
|
79
|
+
for (let i = 0; i < (emObject).length; i++) {
|
|
80
|
+
const item = this.normalize(`${emObject[i]}`);
|
|
81
|
+
if (item.includes(v) || item === v) {
|
|
82
|
+
result.push(emObject[i]);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return result;
|
|
87
|
+
}
|
|
88
|
+
return emObject;
|
|
89
|
+
}
|
|
90
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TCloudUiSearchInObjectService, deps: [{ token: i1.DatePipe }, { token: i2.StatusInfoPipe }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
91
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TCloudUiSearchInObjectService, providedIn: 'root' }); }
|
|
92
|
+
}
|
|
93
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TCloudUiSearchInObjectService, decorators: [{
|
|
94
|
+
type: Injectable,
|
|
95
|
+
args: [{
|
|
96
|
+
providedIn: 'root',
|
|
97
|
+
}]
|
|
98
|
+
}], ctorParameters: () => [{ type: i1.DatePipe }, { type: i2.StatusInfoPipe }] });
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWluLW9iamVjdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGNsb3VkLXVpL3NyYy9saWIvX3NlcnZpY2VzL3NlYXJjaC1pbi1vYmplY3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBTTNDLE1BQU0sT0FBTyw2QkFBNkI7SUFFeEMsWUFDVSxRQUFrQixFQUNsQixVQUEwQjtRQUQxQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGVBQVUsR0FBVixVQUFVLENBQWdCO0lBQ2hDLENBQUM7SUFFRyxPQUFPLENBQUMsQ0FBTTtRQUNwQixJQUFJLENBQUMsSUFBSyxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDcEQsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssZUFBZSxFQUFFLENBQUM7Z0JBQUEsQ0FBQztnQkFDM0QsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztvQkFDdkIsT0FBTyxLQUFLLENBQUM7Z0JBQ2YsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE9BQU8sSUFBSSxDQUFDO2dCQUNkLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLFNBQVMsQ0FBQyxJQUFTO1FBQ3pCLE1BQU0sQ0FBQyxHQUFHLENBQUUsQ0FBRSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFFLENBQUMsSUFBSSxFQUFFLENBQUUsQ0FBQyxXQUFX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LENBQUM7d0JBQ0gsQ0FBQztvQkFDSCxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1lBRUQsSUFBSSxRQUFRLElBQUksT0FBTyxRQUFRLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDckYsWUFBWTtnQkFDWixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQztnQkFDckMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7b0JBQzNDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUM5QyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDO3dCQUNuQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUMzQixDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1lBR0QsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7K0dBMUZVLDZCQUE2QjttSEFBN0IsNkJBQTZCLGNBRjVCLE1BQU07OzRGQUVQLDZCQUE2QjtrQkFIekMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3RhdHVzSW5mb1BpcGUgfSBmcm9tICcuLi9fcGlwZXMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JywgIFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVENsb3VkVWlTZWFyY2hJbk9iamVjdFNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZGF0ZXBpcGU6IERhdGVQaXBlLFxyXG4gICAgcHJpdmF0ZSBzdGF0dXNpbmZvOiBTdGF0dXNJbmZvUGlwZVxyXG4gICkgeyB9XHJcblxyXG4gIHByaXZhdGUgaXNBRGF0ZShkOiBhbnkpe1xyXG4gICAgaWYoIGQgJiYgIGQgaW5zdGFuY2VvZiBEYXRlICYmICFpc05hTiggZC52YWx1ZU9mKCkpICl7XHJcbiAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZCkgPT09IFwiW29iamVjdCBEYXRlXVwiKSB7O1xyXG4gICAgICAgIGlmIChpc05hTihkLmdldFRpbWUoKSkpIHtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG5vcm1hbGl6ZSh0ZXh0OiBhbnkpOiBzdHJpbmd7XHJcbiAgICBjb25zdCB2ID0gKCAoIChgJHt0ZXh0fWApLm5vcm1hbGl6ZSgnTkZEJykucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgXCJcIikgKS50cmltKCkgKS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgcmV0dXJuIHY7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBtZWV0IC0gUHJvY3VyYSBlbSBvYmplY3QgLSBmaWx0cm8gdXRpbGl6YWRvIHBhcmEgYnVzY2EgZW0gdGFiZWxhc1xyXG4gICAqIEBwYXJhbSB2YWxvciB0ZXh0byBhIHNlciBwcm9jdXJhZG9cclxuICAgKiBAcGFyYW0gZW1PYmplY3Qgb2JqZWN0IGFsdm8gZGUgb25kZSBwcm9jdXJhclxyXG4gICAqIEBwYXJhbSBjYW1wb3NEZWJ1c2NhIChPcGNpb25hbCkgaW5mb3JtYSBlbSBxdWFpcyBzw6NvIGFzIGtleXMgcXVlIGRldmVyw6EgcHJvY3VyYXIgXHJcbiAgICovXHJcbiAgbWVldCh2YWxvcjogc3RyaW5nLCBlbU9iamVjdDogYW55LCBjYW1wb3NEZWJ1c2NhPzogYW55KTogYW55e1xyXG4gICAgaWYgKHZhbG9yICE9IFwiXCIpe1xyXG5cclxuICAgICAgaWYoIGVtT2JqZWN0Lmxlbmd0aCA8IDEgKXtcclxuICAgICAgICByZXR1cm4gZW1PYmplY3Q7XHJcbiAgICAgIH1cclxuICAgICAgaWYoIGNhbXBvc0RlYnVzY2EgPT09IHVuZGVmaW5lZCB8fCBjYW1wb3NEZWJ1c2NhID09PSBudWxsICl7XHJcbiAgICAgICAgY2FtcG9zRGVidXNjYSA9IFtdO1xyXG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIGVtT2JqZWN0WzBdKSB7XHJcbiAgICAgICAgICBjYW1wb3NEZWJ1c2NhLnB1c2goIGtleSApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYoIGNhbXBvc0RlYnVzY2EubGVuZ3RoIDwgMSApe1xyXG4gICAgICAgIHJldHVybiBlbU9iamVjdDtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgbGV0IGlzT2JqZWN0ID0gZmFsc2U7XHJcblxyXG4gICAgICB2YWxvciA9IHRoaXMubm9ybWFsaXplKHZhbG9yKTtcclxuICAgICAgdmFyIHJlc3VsdD1bXTsgICAgICAgICAgICAgICAgXHJcbiAgICAgIGZvciAoY29uc3Qga2V5IGluIGVtT2JqZWN0KSB7XHJcbiAgICAgICAgdmFyIG9PYmplY3QgPSBlbU9iamVjdFtrZXldO1xyXG4gICAgICAgIGlmIChvT2JqZWN0ICYmICh0eXBlb2Ygb09iamVjdCA9PT0gJ29iamVjdCcpICl7XHJcbiAgICAgICAgICBpc09iamVjdCA9IHRydWU7XHJcbiAgICAgICAgICBmb3IoIGNvbnN0IG9iamVjdHZhbHVlIG9mIGNhbXBvc0RlYnVzY2EgKXtcclxuICAgICAgICAgICAgY29uc3QgZHQgPSBuZXcgRGF0ZShvT2JqZWN0W29iamVjdHZhbHVlXSlcclxuICAgICAgICAgICAgaWYoIHRoaXMuaXNBRGF0ZShkdCkgJiYgdHlwZW9mICgoZHQpLmdldE1vbnRoKSA9PT0gJ2Z1bmN0aW9uJyApe1xyXG4gICAgICAgICAgICAgIGNvbnN0IGRhdGExID0gdGhpcy5kYXRlcGlwZS50cmFuc2Zvcm0oZHQsICdkZC9NTS95eXl5IGhoOm1tJyk7XHJcbiAgICAgICAgICAgICAgY29uc3QgZGF0YTIgPSB0aGlzLmRhdGVwaXBlLnRyYW5zZm9ybShkdCwgJ21lZGl1bScpO1xyXG4gICAgICAgICAgICAgIGNvbnN0IHN0clRvVGVzdCA9IHRoaXMubm9ybWFsaXplKGRhdGExK1wiIFwiK2RhdGEyK1wiIFwiK29PYmplY3Rbb2JqZWN0dmFsdWVdKTtcclxuICAgICAgICAgICAgICBpZiggKHN0clRvVGVzdC5pbmRleE9mKHZhbG9yKT49MCkgJiYgKHJlc3VsdCkuaW5kZXhPZihvT2JqZWN0KSA9PSAtMSApe1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2gob09iamVjdCk7IGJyZWFrO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBjb25zdCBzdHJUb1Rlc3QgPSB0aGlzLm5vcm1hbGl6ZSh0aGlzLnN0YXR1c2luZm8udHJhbnNmb3JtKG9PYmplY3Rbb2JqZWN0dmFsdWVdLCAnQUxMJykrXCJcIik7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgaWYoIChzdHJUb1Rlc3QuaW5kZXhPZih2YWxvcik+PTApICYmIChyZXN1bHQpLmluZGV4T2Yob09iamVjdCkgPT0gLTEgKXtcclxuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKG9PYmplY3QpOyBicmVhaztcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiggZW1PYmplY3QgJiYgdHlwZW9mIGVtT2JqZWN0ID09PSAnb2JqZWN0JyAmJiBBcnJheS5pc0FycmF5KGVtT2JqZWN0KSAmJiAhaXNPYmplY3QgKXtcclxuICAgICAgICAvLyBpcyBhcnJheSBcclxuICAgICAgICBjb25zdCB2ID0gdGhpcy5ub3JtYWxpemUoYCR7dmFsb3J9YCk7XHJcbiAgICAgICAgZm9yKCBsZXQgaSA9IDA7IGkgPCAoZW1PYmplY3QpLmxlbmd0aDsgaSsrICl7XHJcbiAgICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5ub3JtYWxpemUoYCR7ZW1PYmplY3RbaV19YCk7XHJcbiAgICAgICAgICBpZiggaXRlbS5pbmNsdWRlcyh2KSB8fCBpdGVtID09PSB2ICl7XHJcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKGVtT2JqZWN0W2ldKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcblxyXG4gICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGVtT2JqZWN0O1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|