@dev-tcloud/tcloud-ui 4.2.2 → 5.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/README.md +106 -105
  2. package/datepicker/js/_info.txt +3 -3
  3. package/fesm2022/dev-tcloud-tcloud-ui.mjs +432 -365
  4. package/fesm2022/dev-tcloud-tcloud-ui.mjs.map +1 -1
  5. package/lib/_interfaces/theme.service.interface.d.ts +3 -0
  6. package/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.component.d.ts +1 -0
  7. package/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.component.d.ts +1 -1
  8. package/lib/_services/tcloud-ui-theme.services.d.ts +12 -0
  9. package/lib/tcloud-ui.config.d.ts +1 -0
  10. package/package.json +3 -5
  11. package/scss/components/custom/el-copy.scss +17 -17
  12. package/scss/components/custom/loading-transitions.scss +27 -27
  13. package/scss/components/custom/loading.scss +2 -2
  14. package/scss/components/custom/tab-menu.scss +57 -57
  15. package/scss/components/custom/table.scss +98 -98
  16. package/scss/components/custom/tooltip.scss +89 -89
  17. package/scss/components/custom/ui-datepicker.scss +15 -15
  18. package/scss/components/custom/validation.scss +7 -7
  19. package/scss/components/custom/variables.scss +32 -32
  20. package/scss/components/styles.scss +9 -9
  21. package/scss/tcloud/custom/alerts.scss +38 -37
  22. package/scss/tcloud/custom/buttons.scss +1002 -1002
  23. package/scss/tcloud/custom/card.scss +51 -51
  24. package/scss/tcloud/custom/colors.scss +97 -97
  25. package/scss/tcloud/custom/forms.scss +81 -81
  26. package/scss/tcloud/custom/layout.scss +5 -5
  27. package/scss/tcloud/custom/left-navigation.scss +47 -47
  28. package/scss/tcloud/custom/mixins.scss +318 -318
  29. package/scss/tcloud/custom/tcloud-prime.scss +4519 -4519
  30. package/scss/tcloud/custom/tcloud-standard.scss +121 -121
  31. package/scss/tcloud/custom/text.scss +57 -57
  32. package/scss/tcloud/custom/top-navigation.scss +59 -59
  33. package/scss/tcloud/custom/variables.scss +60 -60
  34. package/scss/tcloud/disaster-recovery/colors.scss +14 -14
  35. package/scss/tcloud/disaster-recovery/layout.scss +13 -13
  36. package/scss/tcloud/disaster-recovery/styles.scss +2 -2
  37. package/scss/tcloud/prime/cards-products.scss +333 -331
  38. package/scss/tcloud/prime/left-navigation.scss +329 -327
  39. package/scss/tcloud/prime/styles.scss +3 -3
  40. package/scss/tcloud/prime/tcloud-prime.scss +3874 -3872
  41. package/scss/tcloud/standard/left-navigation.scss +47 -47
  42. package/scss/tcloud/standard/styles.scss +3 -3
  43. package/scss/tcloud/standard/tcloud-standard.scss +125 -125
  44. package/scss/tcloud/standard/top-navigation.scss +61 -61
  45. package/scss/tcloud/styles.scss +19 -19
  46. package/scss/tcloud/tcloud-ui.scss +7 -7
  47. package/esm2022/dev-tcloud-tcloud-ui.mjs +0 -5
  48. package/esm2022/lib/_directives/align/align.directive.mjs +0 -42
  49. package/esm2022/lib/_directives/currency/currency.directive.mjs +0 -160
  50. package/esm2022/lib/_directives/directives.module.mjs +0 -76
  51. package/esm2022/lib/_directives/el-copy/el-copy.directive.mjs +0 -68
  52. package/esm2022/lib/_directives/hover-parent/hover-parent.directive.mjs +0 -58
  53. package/esm2022/lib/_directives/tcloud-access/tcloud-ui-check-access.directive.mjs +0 -66
  54. package/esm2022/lib/_directives/tcloud-access/tcloud-ui-ng-check-access.directive.mjs +0 -50
  55. package/esm2022/lib/_directives/tcloud-access/tcloud-ui-ng-feature-flags.directive.mjs +0 -44
  56. package/esm2022/lib/_directives/tcloud-ui-digit-only.directive.mjs +0 -64
  57. package/esm2022/lib/_directives/tcloud-ui-highlight.diretive.mjs +0 -36
  58. package/esm2022/lib/_directives/tcloud-ui-ip-mask.directive.mjs +0 -54
  59. package/esm2022/lib/_directives/tooltip/tooltip.directive.mjs +0 -196
  60. package/esm2022/lib/_interfaces/user.service.interface.mjs +0 -2
  61. package/esm2022/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component.mjs +0 -35
  62. package/esm2022/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component.mjs +0 -54
  63. package/esm2022/lib/_modules/tcloud-ui-accordion/services/tcloud-ui-accordion.service.mjs +0 -38
  64. package/esm2022/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.component.mjs +0 -75
  65. package/esm2022/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.module.mjs +0 -35
  66. package/esm2022/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.component.mjs +0 -87
  67. package/esm2022/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.module.mjs +0 -32
  68. package/esm2022/lib/_modules/tcloud-ui-data-list/services/data-list.service.mjs +0 -38
  69. package/esm2022/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list-option/tcloud-ui-data-list-option.component.mjs +0 -65
  70. package/esm2022/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.component.mjs +0 -317
  71. package/esm2022/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.mjs +0 -3
  72. package/esm2022/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.module.mjs +0 -37
  73. package/esm2022/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.component.mjs +0 -440
  74. package/esm2022/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.module.mjs +0 -32
  75. package/esm2022/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.component.mjs +0 -320
  76. package/esm2022/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module.mjs +0 -40
  77. package/esm2022/lib/_modules/tcloud-ui-filters/components/range-date/range-date.component.mjs +0 -213
  78. package/esm2022/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.component.mjs +0 -537
  79. package/esm2022/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.mjs +0 -20
  80. package/esm2022/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.module.mjs +0 -45
  81. package/esm2022/lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.component.mjs +0 -142
  82. package/esm2022/lib/_modules/tcloud-ui-input-password/tcloud-ui-input-password.module.mjs +0 -32
  83. package/esm2022/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.component.mjs +0 -66
  84. package/esm2022/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.module.mjs +0 -32
  85. package/esm2022/lib/_modules/tcloud-ui-label-token/tcloud-ui-label-token.component.mjs +0 -36
  86. package/esm2022/lib/_modules/tcloud-ui-label-token/tcloud-ui-label-token.module.mjs +0 -31
  87. package/esm2022/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.component.mjs +0 -93
  88. package/esm2022/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.module.mjs +0 -25
  89. package/esm2022/lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.component.mjs +0 -43
  90. package/esm2022/lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.mjs +0 -2
  91. package/esm2022/lib/_modules/tcloud-ui-line-step-title/tcloud-ui-line-step-title.module.mjs +0 -19
  92. package/esm2022/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.component.mjs +0 -65
  93. package/esm2022/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.module.mjs +0 -25
  94. package/esm2022/lib/_modules/tcloud-ui-loading/components/tcloud-ui-cubes/tcloud-ui-cubes.component.mjs +0 -11
  95. package/esm2022/lib/_modules/tcloud-ui-loading/tcloud-ui-loading.component.mjs +0 -29
  96. package/esm2022/lib/_modules/tcloud-ui-loading/tcloud-ui-loading.module.mjs +0 -21
  97. package/esm2022/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-body/tcloud-ui-modal-body.component.mjs +0 -14
  98. package/esm2022/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component.mjs +0 -61
  99. package/esm2022/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-header/tcloud-ui-modal-header.component.mjs +0 -24
  100. package/esm2022/lib/_modules/tcloud-ui-modal/services/tcloud-modal.service.mjs +0 -63
  101. package/esm2022/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.component.mjs +0 -203
  102. package/esm2022/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.mjs +0 -2
  103. package/esm2022/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.module.mjs +0 -47
  104. package/esm2022/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.component.mjs +0 -155
  105. package/esm2022/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.module.mjs +0 -28
  106. package/esm2022/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.component.mjs +0 -170
  107. package/esm2022/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.module.mjs +0 -28
  108. package/esm2022/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.component.mjs +0 -348
  109. package/esm2022/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.module.mjs +0 -36
  110. package/esm2022/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.component.mjs +0 -20
  111. package/esm2022/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.module.mjs +0 -25
  112. package/esm2022/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.component.mjs +0 -33
  113. package/esm2022/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.module.mjs +0 -28
  114. package/esm2022/lib/_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.component.mjs +0 -165
  115. package/esm2022/lib/_modules/tcloud-ui-progress-bar/tcloud-ui-progress-bar.module.mjs +0 -21
  116. package/esm2022/lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.component.mjs +0 -105
  117. package/esm2022/lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.mjs +0 -2
  118. package/esm2022/lib/_modules/tcloud-ui-reorder-items/tcloud-ui-reorder-items.module.mjs +0 -24
  119. package/esm2022/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.component.mjs +0 -46
  120. package/esm2022/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.module.mjs +0 -25
  121. package/esm2022/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-content/tcloud-ui-tab-content.component.mjs +0 -36
  122. package/esm2022/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-head/tcloud-ui-tab-head.component.mjs +0 -85
  123. package/esm2022/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component.mjs +0 -69
  124. package/esm2022/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-title/tcloud-ui-tab-title.component.mjs +0 -71
  125. package/esm2022/lib/_modules/tcloud-ui-tab-menu/services/tab-menu.service.mjs +0 -104
  126. package/esm2022/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.component.mjs +0 -64
  127. package/esm2022/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.mjs +0 -2
  128. package/esm2022/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.module.mjs +0 -45
  129. package/esm2022/lib/_modules/tcloud-ui-table/tcloud-ui-table.component.mjs +0 -21
  130. package/esm2022/lib/_modules/tcloud-ui-table/tcloud-ui-table.module.mjs +0 -25
  131. package/esm2022/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.component.mjs +0 -37
  132. package/esm2022/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.module.mjs +0 -25
  133. package/esm2022/lib/_pipes/array-to-text.mjs +0 -29
  134. package/esm2022/lib/_pipes/bytes.mjs +0 -31
  135. package/esm2022/lib/_pipes/cnpj.mjs +0 -37
  136. package/esm2022/lib/_pipes/cpf.mjs +0 -37
  137. package/esm2022/lib/_pipes/datebr.mjs +0 -102
  138. package/esm2022/lib/_pipes/index.mjs +0 -9
  139. package/esm2022/lib/_pipes/monthname.mjs +0 -25
  140. package/esm2022/lib/_pipes/respective.mjs +0 -73
  141. package/esm2022/lib/_pipes/statusinfo.mjs +0 -78
  142. package/esm2022/lib/_pipes/tcloud-pipes.module.mjs +0 -75
  143. package/esm2022/lib/_services/loading-transitions.service.mjs +0 -52
  144. package/esm2022/lib/_services/search-in-object.service.mjs +0 -99
  145. package/esm2022/lib/_services/tcloud-ui-check-access.service.mjs +0 -170
  146. package/esm2022/lib/tcloud-ui.config.mjs +0 -2
  147. package/esm2022/lib/tcloud-ui.module.mjs +0 -235
  148. package/esm2022/public-api.mjs +0 -116
@@ -1,75 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule, DatePipe } from '@angular/common';
3
- import { MonthNamePipe, StatusInfoPipe, RespectivePipe, CNPJPipe, BytesPipe, CPFPipe, DateBRPipe, ToTextPipe } from '../_pipes';
4
- import * as i0 from "@angular/core";
5
- export class TCloudUiPipesModule {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiPipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiPipesModule, declarations: [MonthNamePipe,
8
- StatusInfoPipe,
9
- RespectivePipe,
10
- CNPJPipe,
11
- CPFPipe,
12
- BytesPipe,
13
- DateBRPipe,
14
- ToTextPipe], imports: [CommonModule], exports: [DatePipe,
15
- MonthNamePipe,
16
- StatusInfoPipe,
17
- RespectivePipe,
18
- CNPJPipe,
19
- CPFPipe,
20
- BytesPipe,
21
- DateBRPipe,
22
- ToTextPipe] }); }
23
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiPipesModule, providers: [
24
- DatePipe,
25
- MonthNamePipe,
26
- StatusInfoPipe,
27
- RespectivePipe,
28
- CNPJPipe,
29
- CPFPipe,
30
- BytesPipe,
31
- DateBRPipe,
32
- ToTextPipe
33
- ], imports: [CommonModule] }); }
34
- }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiPipesModule, decorators: [{
36
- type: NgModule,
37
- args: [{
38
- imports: [
39
- CommonModule,
40
- ],
41
- declarations: [
42
- MonthNamePipe,
43
- StatusInfoPipe,
44
- RespectivePipe,
45
- CNPJPipe,
46
- CPFPipe,
47
- BytesPipe,
48
- DateBRPipe,
49
- ToTextPipe
50
- ],
51
- exports: [
52
- DatePipe,
53
- MonthNamePipe,
54
- StatusInfoPipe,
55
- RespectivePipe,
56
- CNPJPipe,
57
- CPFPipe,
58
- BytesPipe,
59
- DateBRPipe,
60
- ToTextPipe
61
- ],
62
- providers: [
63
- DatePipe,
64
- MonthNamePipe,
65
- StatusInfoPipe,
66
- RespectivePipe,
67
- CNPJPipe,
68
- CPFPipe,
69
- BytesPipe,
70
- DateBRPipe,
71
- ToTextPipe
72
- ]
73
- }]
74
- }] });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNsb3VkLXBpcGVzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RjbG91ZC11aS9zcmMvbGliL19waXBlcy90Y2xvdWQtcGlwZXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUEwQ2hJLE1BQU0sT0FBTyxtQkFBbUI7K0dBQW5CLG1CQUFtQjtnSEFBbkIsbUJBQW1CLGlCQWxDNUIsYUFBYTtZQUNiLGNBQWM7WUFDZCxjQUFjO1lBQ2QsUUFBUTtZQUNSLE9BQU87WUFDUCxTQUFTO1lBQ1QsVUFBVTtZQUNWLFVBQVUsYUFYVixZQUFZLGFBY1osUUFBUTtZQUVSLGFBQWE7WUFDYixjQUFjO1lBQ2QsY0FBYztZQUNkLFFBQVE7WUFDUixPQUFPO1lBQ1AsU0FBUztZQUNULFVBQVU7WUFDVixVQUFVO2dIQWVELG1CQUFtQixhQWJuQjtZQUNULFFBQVE7WUFFUixhQUFhO1lBQ2IsY0FBYztZQUNkLGNBQWM7WUFDZCxRQUFRO1lBQ1IsT0FBTztZQUNQLFNBQVM7WUFDVCxVQUFVO1lBQ1YsVUFBVTtTQUNYLFlBcENDLFlBQVk7OzRGQXNDSCxtQkFBbUI7a0JBeEMvQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3FCQUNiO29CQUNELFlBQVksRUFBRTt3QkFFWixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxRQUFRO3dCQUNSLE9BQU87d0JBQ1AsU0FBUzt3QkFDVCxVQUFVO3dCQUNWLFVBQVU7cUJBQ1g7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFFBQVE7d0JBRVIsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGNBQWM7d0JBQ2QsUUFBUTt3QkFDUixPQUFPO3dCQUNQLFNBQVM7d0JBQ1QsVUFBVTt3QkFDVixVQUFVO3FCQUNYO29CQUNELFNBQVMsRUFBRTt3QkFDVCxRQUFRO3dCQUVSLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLFFBQVE7d0JBQ1IsT0FBTzt3QkFDUCxTQUFTO3dCQUNULFVBQVU7d0JBQ1YsVUFBVTtxQkFDWDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUsIERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgTW9udGhOYW1lUGlwZSwgU3RhdHVzSW5mb1BpcGUsIFJlc3BlY3RpdmVQaXBlLCBDTlBKUGlwZSwgQnl0ZXNQaXBlLCBDUEZQaXBlLCBEYXRlQlJQaXBlLCBUb1RleHRQaXBlIH0gZnJvbSAnLi4vX3BpcGVzJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSwgICAgXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuXG4gICAgTW9udGhOYW1lUGlwZSxcbiAgICBTdGF0dXNJbmZvUGlwZSxcbiAgICBSZXNwZWN0aXZlUGlwZSxcbiAgICBDTlBKUGlwZSxcbiAgICBDUEZQaXBlLFxuICAgIEJ5dGVzUGlwZSxcbiAgICBEYXRlQlJQaXBlLFxuICAgIFRvVGV4dFBpcGVcbiAgXSxcbiAgZXhwb3J0czogWyAgXG4gICAgRGF0ZVBpcGUsXG5cbiAgICBNb250aE5hbWVQaXBlLFxuICAgIFN0YXR1c0luZm9QaXBlLFxuICAgIFJlc3BlY3RpdmVQaXBlLFxuICAgIENOUEpQaXBlLFxuICAgIENQRlBpcGUsXG4gICAgQnl0ZXNQaXBlLFxuICAgIERhdGVCUlBpcGUsXG4gICAgVG9UZXh0UGlwZVxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBEYXRlUGlwZSxcblxuICAgIE1vbnRoTmFtZVBpcGUsXG4gICAgU3RhdHVzSW5mb1BpcGUsXG4gICAgUmVzcGVjdGl2ZVBpcGUsXG4gICAgQ05QSlBpcGUsXG4gICAgQ1BGUGlwZSxcbiAgICBCeXRlc1BpcGUsXG4gICAgRGF0ZUJSUGlwZSxcbiAgICBUb1RleHRQaXBlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgVENsb3VkVWlQaXBlc01vZHVsZSB7IH1cbiJdfQ==
@@ -1,52 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class TCloudUiLoadingTransitionsService {
4
- constructor() {
5
- this.ID = 'tcloud-ui-loading-transitions';
6
- }
7
- /**
8
- * Inicia a tela de bloqueio para carregamento de tarefa
9
- */
10
- start() {
11
- this.create_loading_transition();
12
- if (document.getElementById(this.ID)) {
13
- const box = document.getElementById(this.ID);
14
- box?.classList.add('tcloud-ui-start-loading');
15
- }
16
- }
17
- /**
18
- * Encerra a tela de bloqueio
19
- */
20
- stop() {
21
- if (document.getElementById(this.ID)) {
22
- const box = document.getElementById(this.ID);
23
- box?.classList.remove('tcloud-ui-start-loading');
24
- const body = document.getElementsByTagName('body')[0];
25
- body.classList.remove('tcloud-ui-body-loading-transitions');
26
- }
27
- }
28
- create_loading_transition() {
29
- let box = null;
30
- if (document.getElementById(this.ID)) {
31
- box = document.getElementById(this.ID);
32
- }
33
- else {
34
- box = document.createElement("div");
35
- box.setAttribute('id', this.ID);
36
- }
37
- box.style.display = 'none';
38
- box.innerHTML = `<div class="tc-loading-icon"><i class="fas fa-spinner fa-spin"></i></div>`;
39
- const body = document.getElementsByTagName('body')[0];
40
- body.appendChild(box);
41
- body.classList.add('tcloud-ui-body-loading-transitions');
42
- }
43
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiLoadingTransitionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
44
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiLoadingTransitionsService, providedIn: 'root' }); }
45
- }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiLoadingTransitionsService, decorators: [{
47
- type: Injectable,
48
- args: [{
49
- providedIn: 'root',
50
- }]
51
- }], ctorParameters: () => [] });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy10cmFuc2l0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGNsb3VkLXVpL3NyYy9saWIvX3NlcnZpY2VzL2xvYWRpbmctdHJhbnNpdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8saUNBQWlDO0lBTTFDO1FBRlEsT0FBRSxHQUFXLCtCQUErQixDQUFDO0lBR2xELENBQUM7SUFFSjs7T0FFRztJQUNILEtBQUs7UUFDRCxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztRQUNqQyxJQUFJLFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDbkMsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDN0MsR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUNsRCxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSTtRQUNBLElBQUksUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNuQyxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM3QyxHQUFHLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1lBRWpELE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7SUFDTCxDQUFDO0lBRU8seUJBQXlCO1FBQzdCLElBQUksR0FBRyxHQUFHLElBQVcsQ0FBQztRQUN0QixJQUFJLFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDbkMsR0FBRyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLENBQUM7YUFBSSxDQUFDO1lBQ0YsR0FBRyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEMsR0FBRyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXBDLENBQUM7UUFFRCxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDM0IsR0FBRyxDQUFDLFNBQVMsR0FBRywyRUFBMkUsQ0FBQztRQUU1RixNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO0lBQzdELENBQUM7K0dBakRRLGlDQUFpQzttSEFBakMsaUNBQWlDLGNBRmhDLE1BQU07OzRGQUVQLGlDQUFpQztrQkFIN0MsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBUQ2xvdWRVaUxvYWRpbmdUcmFuc2l0aW9uc1NlcnZpY2Uge1xuXG4gICAgXG5cbiAgICBwcml2YXRlIElEOiBzdHJpbmcgPSAndGNsb3VkLXVpLWxvYWRpbmctdHJhbnNpdGlvbnMnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgKSB7fVxuXG4gICAgLyoqXG4gICAgICogSW5pY2lhIGEgdGVsYSBkZSBibG9xdWVpbyBwYXJhIGNhcnJlZ2FtZW50byBkZSB0YXJlZmFcbiAgICAgKi9cbiAgICBzdGFydCgpe1xuICAgICAgICB0aGlzLmNyZWF0ZV9sb2FkaW5nX3RyYW5zaXRpb24oKTtcbiAgICAgICAgaWYoIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuSUQpICl7XG4gICAgICAgICAgICBjb25zdCBib3ggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLklEKTtcbiAgICAgICAgICAgIGJveD8uY2xhc3NMaXN0LmFkZCgndGNsb3VkLXVpLXN0YXJ0LWxvYWRpbmcnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEVuY2VycmEgYSB0ZWxhIGRlIGJsb3F1ZWlvXG4gICAgICovXG4gICAgc3RvcCgpe1xuICAgICAgICBpZiggZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5JRCkgKXtcbiAgICAgICAgICAgIGNvbnN0IGJveCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuSUQpO1xuICAgICAgICAgICAgYm94Py5jbGFzc0xpc3QucmVtb3ZlKCd0Y2xvdWQtdWktc3RhcnQtbG9hZGluZycpO1xuXG4gICAgICAgICAgICBjb25zdCBib2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2JvZHknKVswXTtcbiAgICAgICAgICAgIGJvZHkuY2xhc3NMaXN0LnJlbW92ZSgndGNsb3VkLXVpLWJvZHktbG9hZGluZy10cmFuc2l0aW9ucycpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVfbG9hZGluZ190cmFuc2l0aW9uKCl7XG4gICAgICAgIGxldCBib3ggPSBudWxsIGFzIGFueTtcbiAgICAgICAgaWYoIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuSUQpICl7XG4gICAgICAgICAgICBib3ggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLklEKTtcbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICBib3ggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICAgICAgICAgICAgYm94LnNldEF0dHJpYnV0ZSgnaWQnLCB0aGlzLklEKTtcbiAgICAgICAgICAgIFxuICAgICAgICB9ICBcblxuICAgICAgICBib3guc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgYm94LmlubmVySFRNTCA9IGA8ZGl2IGNsYXNzPVwidGMtbG9hZGluZy1pY29uXCI+PGkgY2xhc3M9XCJmYXMgZmEtc3Bpbm5lciBmYS1zcGluXCI+PC9pPjwvZGl2PmA7XG5cbiAgICAgICAgY29uc3QgYm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdib2R5JylbMF07XG4gICAgICAgIGJvZHkuYXBwZW5kQ2hpbGQoYm94KTtcbiAgICAgICAgYm9keS5jbGFzc0xpc3QuYWRkKCd0Y2xvdWQtdWktYm9keS1sb2FkaW5nLXRyYW5zaXRpb25zJyk7XG4gICAgfVxuXG5cblxufSJdfQ==
@@ -1,99 +0,0 @@
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: "18.2.13", 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: "18.2.13", ngImport: i0, type: TCloudUiSearchInObjectService, providedIn: 'root' }); }
92
- }
93
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWluLW9iamVjdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGNsb3VkLXVpL3NyYy9saWIvX3NlcnZpY2VzL3NlYXJjaC1pbi1vYmplY3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBTTNDLE1BQU0sT0FBTyw2QkFBNkI7SUFFeEMsWUFDVSxRQUFrQixFQUNsQixVQUEwQjtRQUQxQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGVBQVUsR0FBVixVQUFVLENBQWdCO0lBQ2hDLENBQUM7SUFFRyxPQUFPLENBQUMsQ0FBTTtRQUNwQixJQUFJLENBQUMsSUFBSyxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDcEQsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssZUFBZSxFQUFFLENBQUM7Z0JBQUEsQ0FBQztnQkFDM0QsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztvQkFDdkIsT0FBTyxLQUFLLENBQUM7Z0JBQ2YsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE9BQU8sSUFBSSxDQUFDO2dCQUNkLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLFNBQVMsQ0FBQyxJQUFTO1FBQ3pCLE1BQU0sQ0FBQyxHQUFHLENBQUUsQ0FBRSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFFLENBQUMsSUFBSSxFQUFFLENBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwRyxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILElBQUksQ0FBQyxLQUFhLEVBQUUsUUFBYSxFQUFFLGFBQW1CO1FBQ3BELElBQUksS0FBSyxJQUFJLEVBQUUsRUFBQyxDQUFDO1lBRWYsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN4QixPQUFPLFFBQVEsQ0FBQztZQUNsQixDQUFDO1lBQ0QsSUFBSSxhQUFhLEtBQUssU0FBUyxJQUFJLGFBQWEsS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDMUQsYUFBYSxHQUFHLEVBQUUsQ0FBQztnQkFDbkIsS0FBSyxNQUFNLEdBQUcsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDOUIsYUFBYSxDQUFDLElBQUksQ0FBRSxHQUFHLENBQUUsQ0FBQztnQkFDNUIsQ0FBQztZQUNILENBQUM7WUFFRCxJQUFJLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzdCLE9BQU8sUUFBUSxDQUFDO1lBQ2xCLENBQUM7WUFFRCxJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFFckIsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUIsSUFBSSxNQUFNLEdBQUMsRUFBRSxDQUFDO1lBQ2QsS0FBSyxNQUFNLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDM0IsSUFBSSxPQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM1QixJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sT0FBTyxLQUFLLFFBQVEsQ0FBQyxFQUFFLENBQUM7b0JBQzdDLFFBQVEsR0FBRyxJQUFJLENBQUM7b0JBQ2hCLEtBQUssTUFBTSxXQUFXLElBQUksYUFBYSxFQUFFLENBQUM7d0JBQ3hDLE1BQU0sRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFBO3dCQUN6QyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssVUFBVSxFQUFFLENBQUM7NEJBQzlELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDOzRCQUM5RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7NEJBQ3BELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFDLEdBQUcsR0FBQyxLQUFLLEdBQUMsR0FBRyxHQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDOzRCQUMzRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO2dDQUNyRSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dDQUFDLE1BQU07NEJBQzlCLENBQUM7d0JBQ0gsQ0FBQzs2QkFBTSxDQUFDOzRCQUNOLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFDOzRCQUM1RixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO2dDQUNyRSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dDQUFDLE1BQU07NEJBQzlCLENBQUM7d0JBQ0gsQ0FBQztvQkFDSCxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1lBRUQsSUFBSSxRQUFRLElBQUksT0FBTyxRQUFRLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDckYsWUFBWTtnQkFDWixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQztnQkFDckMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7b0JBQzNDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUM5QyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDO3dCQUNuQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUMzQixDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1lBR0QsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7K0dBMUZVLDZCQUE2QjttSEFBN0IsNkJBQTZCLGNBRjVCLE1BQU07OzRGQUVQLDZCQUE2QjtrQkFIekMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdGF0dXNJbmZvUGlwZSB9IGZyb20gJy4uL19waXBlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLCAgXG59KVxuZXhwb3J0IGNsYXNzIFRDbG91ZFVpU2VhcmNoSW5PYmplY3RTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGRhdGVwaXBlOiBEYXRlUGlwZSxcbiAgICBwcml2YXRlIHN0YXR1c2luZm86IFN0YXR1c0luZm9QaXBlXG4gICkgeyB9XG5cbiAgcHJpdmF0ZSBpc0FEYXRlKGQ6IGFueSl7XG4gICAgaWYoIGQgJiYgIGQgaW5zdGFuY2VvZiBEYXRlICYmICFpc05hTiggZC52YWx1ZU9mKCkpICl7XG4gICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGQpID09PSBcIltvYmplY3QgRGF0ZV1cIikgeztcbiAgICAgICAgaWYgKGlzTmFOKGQuZ2V0VGltZSgpKSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZSh0ZXh0OiBhbnkpOiBzdHJpbmd7XG4gICAgY29uc3QgdiA9ICggKCAoYCR7dGV4dH1gKS5ub3JtYWxpemUoJ05GRCcpLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csIFwiXCIpICkudHJpbSgpICkudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4gdjtcbiAgfVxuXG4gIC8qKlxuICAgKiBtZWV0IC0gUHJvY3VyYSBlbSBvYmplY3QgLSBmaWx0cm8gdXRpbGl6YWRvIHBhcmEgYnVzY2EgZW0gdGFiZWxhc1xuICAgKiBAcGFyYW0gdmFsb3IgdGV4dG8gYSBzZXIgcHJvY3VyYWRvXG4gICAqIEBwYXJhbSBlbU9iamVjdCBvYmplY3QgYWx2byBkZSBvbmRlIHByb2N1cmFyXG4gICAqIEBwYXJhbSBjYW1wb3NEZWJ1c2NhIChPcGNpb25hbCkgaW5mb3JtYSBlbSBxdWFpcyBzw6NvIGFzIGtleXMgcXVlIGRldmVyw6EgcHJvY3VyYXIgXG4gICAqL1xuICBtZWV0KHZhbG9yOiBzdHJpbmcsIGVtT2JqZWN0OiBhbnksIGNhbXBvc0RlYnVzY2E/OiBhbnkpOiBhbnl7XG4gICAgaWYgKHZhbG9yICE9IFwiXCIpe1xuXG4gICAgICBpZiggZW1PYmplY3QubGVuZ3RoIDwgMSApe1xuICAgICAgICByZXR1cm4gZW1PYmplY3Q7XG4gICAgICB9XG4gICAgICBpZiggY2FtcG9zRGVidXNjYSA9PT0gdW5kZWZpbmVkIHx8IGNhbXBvc0RlYnVzY2EgPT09IG51bGwgKXtcbiAgICAgICAgY2FtcG9zRGVidXNjYSA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBlbU9iamVjdFswXSkge1xuICAgICAgICAgIGNhbXBvc0RlYnVzY2EucHVzaCgga2V5ICk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYoIGNhbXBvc0RlYnVzY2EubGVuZ3RoIDwgMSApe1xuICAgICAgICByZXR1cm4gZW1PYmplY3Q7XG4gICAgICB9XG4gICAgICBcbiAgICAgIGxldCBpc09iamVjdCA9IGZhbHNlO1xuXG4gICAgICB2YWxvciA9IHRoaXMubm9ybWFsaXplKHZhbG9yKTtcbiAgICAgIHZhciByZXN1bHQ9W107ICAgICAgICAgICAgICAgIFxuICAgICAgZm9yIChjb25zdCBrZXkgaW4gZW1PYmplY3QpIHtcbiAgICAgICAgdmFyIG9PYmplY3QgPSBlbU9iamVjdFtrZXldO1xuICAgICAgICBpZiAob09iamVjdCAmJiAodHlwZW9mIG9PYmplY3QgPT09ICdvYmplY3QnKSApe1xuICAgICAgICAgIGlzT2JqZWN0ID0gdHJ1ZTtcbiAgICAgICAgICBmb3IoIGNvbnN0IG9iamVjdHZhbHVlIG9mIGNhbXBvc0RlYnVzY2EgKXtcbiAgICAgICAgICAgIGNvbnN0IGR0ID0gbmV3IERhdGUob09iamVjdFtvYmplY3R2YWx1ZV0pXG4gICAgICAgICAgICBpZiggdGhpcy5pc0FEYXRlKGR0KSAmJiB0eXBlb2YgKChkdCkuZ2V0TW9udGgpID09PSAnZnVuY3Rpb24nICl7XG4gICAgICAgICAgICAgIGNvbnN0IGRhdGExID0gdGhpcy5kYXRlcGlwZS50cmFuc2Zvcm0oZHQsICdkZC9NTS95eXl5IGhoOm1tJyk7XG4gICAgICAgICAgICAgIGNvbnN0IGRhdGEyID0gdGhpcy5kYXRlcGlwZS50cmFuc2Zvcm0oZHQsICdtZWRpdW0nKTtcbiAgICAgICAgICAgICAgY29uc3Qgc3RyVG9UZXN0ID0gdGhpcy5ub3JtYWxpemUoZGF0YTErXCIgXCIrZGF0YTIrXCIgXCIrb09iamVjdFtvYmplY3R2YWx1ZV0pO1xuICAgICAgICAgICAgICBpZiggKHN0clRvVGVzdC5pbmRleE9mKHZhbG9yKT49MCkgJiYgKHJlc3VsdCkuaW5kZXhPZihvT2JqZWN0KSA9PSAtMSApe1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKG9PYmplY3QpOyBicmVhaztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29uc3Qgc3RyVG9UZXN0ID0gdGhpcy5ub3JtYWxpemUodGhpcy5zdGF0dXNpbmZvLnRyYW5zZm9ybShvT2JqZWN0W29iamVjdHZhbHVlXSwgJ0FMTCcpK1wiXCIpOyAgICAgICAgICAgIFxuICAgICAgICAgICAgICBpZiggKHN0clRvVGVzdC5pbmRleE9mKHZhbG9yKT49MCkgJiYgKHJlc3VsdCkuaW5kZXhPZihvT2JqZWN0KSA9PSAtMSApe1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKG9PYmplY3QpOyBicmVhaztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYoIGVtT2JqZWN0ICYmIHR5cGVvZiBlbU9iamVjdCA9PT0gJ29iamVjdCcgJiYgQXJyYXkuaXNBcnJheShlbU9iamVjdCkgJiYgIWlzT2JqZWN0ICl7XG4gICAgICAgIC8vIGlzIGFycmF5IFxuICAgICAgICBjb25zdCB2ID0gdGhpcy5ub3JtYWxpemUoYCR7dmFsb3J9YCk7XG4gICAgICAgIGZvciggbGV0IGkgPSAwOyBpIDwgKGVtT2JqZWN0KS5sZW5ndGg7IGkrKyApe1xuICAgICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLm5vcm1hbGl6ZShgJHtlbU9iamVjdFtpXX1gKTtcbiAgICAgICAgICBpZiggaXRlbS5pbmNsdWRlcyh2KSB8fCBpdGVtID09PSB2ICl7XG4gICAgICAgICAgICByZXN1bHQucHVzaChlbU9iamVjdFtpXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cblxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgcmV0dXJuIGVtT2JqZWN0O1xuICB9XG5cbn1cbiJdfQ==
@@ -1,170 +0,0 @@
1
- import { Inject, Injectable, Optional } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class TCloudUiCheckAccessService {
4
- constructor(_UserService) {
5
- this._UserService = _UserService;
6
- this.userService = {};
7
- this.userService = this._UserService;
8
- }
9
- check(checkAccess) {
10
- const temp_user = this.getImpersonalizeUserInfo();
11
- if (temp_user) {
12
- // Para uso com impersonalização - Visualização do T-Cloud por outro usuário
13
- return this.checkImpersonalizeMode(checkAccess, temp_user);
14
- }
15
- // Utilização para usuário logado
16
- return this.checkDefaultMode(checkAccess);
17
- }
18
- checkDefaultMode(checkAccess) {
19
- let hasAccess = false;
20
- if (Array.isArray(checkAccess[0])) {
21
- if (checkAccess[1]) {
22
- let features = checkAccess[1].ui_topology;
23
- if (features) {
24
- checkAccess[0].forEach((rule) => {
25
- hasAccess = hasAccess || ((features.findIndex((feature) => feature === rule) != -1) ? true : false);
26
- });
27
- }
28
- }
29
- }
30
- else {
31
- let features = this.userService?.getCurrentEnv()?.ui;
32
- console.log('features ui', features);
33
- checkAccess.forEach((rule) => {
34
- hasAccess = hasAccess || ((features && features.findIndex((feature) => feature === rule) != -1) ? true : false);
35
- });
36
- }
37
- return hasAccess;
38
- }
39
- checkImpersonalizeMode(checkAccess, temp_user) {
40
- let hasAccess = false;
41
- if (Array.isArray(checkAccess[0])) {
42
- if (checkAccess[1]) {
43
- let features = checkAccess[1].ui_topology;
44
- if (features) {
45
- checkAccess[0].forEach((rule) => {
46
- hasAccess = hasAccess || ((features.findIndex((feature) => feature === rule) != -1) ? true : false);
47
- });
48
- }
49
- }
50
- }
51
- else {
52
- let features = temp_user.ui;
53
- checkAccess.forEach((rule) => {
54
- hasAccess = hasAccess || ((features && features.findIndex((feature) => feature === rule) != -1) ? true : false);
55
- });
56
- }
57
- return hasAccess;
58
- }
59
- checkFeatureFlags(_feature) {
60
- let enable = false;
61
- let isEnabled = [];
62
- // tcloud_features - features do componente tcloud
63
- let tcloud_features = [];
64
- if (_feature) {
65
- if (typeof _feature === 'string') {
66
- (tcloud_features).push(_feature);
67
- }
68
- else if (_feature && (_feature).length > 0) {
69
- tcloud_features = _feature;
70
- }
71
- let feature_flags_topology = undefined;
72
- if (Array.isArray(_feature[0])) {
73
- if (_feature[1]) {
74
- tcloud_features = _feature[0];
75
- if (_feature[1] && _feature[1].feature_flags_topology && (_feature[1]?.feature_flags_topology).length >= 0) {
76
- feature_flags_topology = _feature[1].feature_flags_topology;
77
- }
78
- }
79
- }
80
- let feature_flags = [];
81
- if (feature_flags_topology && (feature_flags_topology).length >= 0) {
82
- // feature_flags - obtendo de topology (infProduto) -> feature_flags_topology
83
- feature_flags = feature_flags_topology;
84
- }
85
- else {
86
- // feature_flags - obtendo de user info
87
- feature_flags = this.userService?.getCurrentEnv()?.feature_flags || [];
88
- }
89
- console.log('feature_flags', feature_flags);
90
- for (let i = 0; i < (tcloud_features).length; i++) {
91
- const tcloud_feature = tcloud_features[i];
92
- if (tcloud_feature[0] === '!') {
93
- let qtd_exist = 0;
94
- for (let j = 0; j < (feature_flags).length; j++) {
95
- const feature_flag = feature_flags[j];
96
- if (tcloud_feature === '!' + feature_flag) {
97
- (isEnabled).push(false);
98
- qtd_exist++;
99
- }
100
- }
101
- if (qtd_exist === 0) {
102
- (isEnabled).push(true);
103
- }
104
- }
105
- else {
106
- let qtd_exist = 0;
107
- for (let j = 0; j < (feature_flags).length; j++) {
108
- const feature_flag = feature_flags[j];
109
- if (tcloud_feature === feature_flag) {
110
- (isEnabled).push(true);
111
- qtd_exist++;
112
- }
113
- }
114
- if (qtd_exist === 0) {
115
- (isEnabled).push(false);
116
- }
117
- }
118
- }
119
- if (isEnabled && (isEnabled).length > 0) {
120
- enable = true;
121
- for (let i = 0; i < (isEnabled).length; i++) {
122
- if (isEnabled[i] === false) {
123
- enable = false;
124
- break;
125
- }
126
- }
127
- }
128
- }
129
- return enable;
130
- }
131
- /* */
132
- getImpersonalizeUserInfo() {
133
- // return this.getLocalStorage();
134
- // remover do localstorage se não existir cCode ????
135
- const cCode = this.userService?.getCurrentEnv()?.currentCloudID?.cloud_id || '';
136
- if (cCode && cCode !== '') {
137
- return this.getLocalStorage();
138
- }
139
- this.removeLocalStorage();
140
- return undefined;
141
- }
142
- getLocalStorage() {
143
- let info = localStorage.getItem('temp_user_info');
144
- let user_info = {};
145
- try {
146
- user_info = JSON.parse(info);
147
- }
148
- catch (error) {
149
- user_info = undefined;
150
- }
151
- return user_info;
152
- }
153
- removeLocalStorage() {
154
- localStorage.removeItem('temp_user_info');
155
- }
156
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiCheckAccessService, deps: [{ token: 'UserService', optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
157
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiCheckAccessService, providedIn: 'root' }); }
158
- }
159
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TCloudUiCheckAccessService, decorators: [{
160
- type: Injectable,
161
- args: [{
162
- providedIn: 'root',
163
- }]
164
- }], ctorParameters: () => [{ type: undefined, decorators: [{
165
- type: Optional
166
- }, {
167
- type: Inject,
168
- args: ['UserService']
169
- }] }] });
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNsb3VkLXVpLWNoZWNrLWFjY2Vzcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGNsb3VkLXVpL3NyYy9saWIvX3NlcnZpY2VzL3RjbG91ZC11aS1jaGVjay1hY2Nlc3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTdELE1BQU0sT0FBTywwQkFBMEI7SUFJbkMsWUFDK0MsWUFBaUI7UUFBakIsaUJBQVksR0FBWixZQUFZLENBQUs7UUFIeEQsZ0JBQVcsR0FBRyxFQUEwQixDQUFDO1FBSzdDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUN6QyxDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQWdCO1FBQ2xCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ2xELElBQUksU0FBUyxFQUFFLENBQUM7WUFDWiw0RUFBNEU7WUFDNUUsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQy9ELENBQUM7UUFDRCxpQ0FBaUM7UUFDakMsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELGdCQUFnQixDQUFDLFdBQWdCO1FBQzdCLElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFLLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNqQyxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDO2dCQUNwQixJQUFJLFFBQVEsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO2dCQUMxQyxJQUFJLFFBQVEsRUFBQyxDQUFD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Q0gsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQ3hCLENBQUM7UUFDQSxPQUFPLFNBQVMsQ0FBQztJQUN0QixDQUFDO0lBRU8sa0JBQWtCO1FBQ3RCLFlBQVksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM5QyxDQUFDOytHQW5LUSwwQkFBMEIsa0JBS1gsYUFBYTttSEFMNUIsMEJBQTBCLGNBRnpCLE1BQU07OzRGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU1RLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVzZXJTZXJ2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi4vX2ludGVyZmFjZXMvdXNlci5zZXJ2aWNlLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBUQ2xvdWRVaUNoZWNrQWNjZXNzU2VydmljZSB7XG5cbiAgICBwcml2YXRlIHVzZXJTZXJ2aWNlID0ge30gYXMgVXNlclNlcnZpY2VJbnRlcmZhY2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdCgnVXNlclNlcnZpY2UnKSBwcml2YXRlIF9Vc2VyU2VydmljZTogYW55XG4gICAgKSB7XG4gICAgICAgIHRoaXMudXNlclNlcnZpY2UgPSB0aGlzLl9Vc2VyU2VydmljZTtcbiAgICB9XG5cbiAgICBjaGVjayhjaGVja0FjY2VzczogYW55KXtcbiAgICAgICAgY29uc3QgdGVtcF91c2VyID0gdGhpcy5nZXRJbXBlcnNvbmFsaXplVXNlckluZm8oKTtcbiAgICAgICAgaWYoIHRlbXBfdXNlciApe1xuICAgICAgICAgICAgLy8gUGFyYSB1c28gY29tIGltcGVyc29uYWxpemHDp8OjbyAtIFZpc3VhbGl6YcOnw6NvIGRvIFQtQ2xvdWQgcG9yIG91dHJvIHVzdcOhcmlvXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jaGVja0ltcGVyc29uYWxpemVNb2RlKGNoZWNrQWNjZXNzLCB0ZW1wX3VzZXIpO1xuICAgICAgICB9IFxuICAgICAgICAvLyBVdGlsaXphw6fDo28gcGFyYSB1c3XDoXJpbyBsb2dhZG9cbiAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tEZWZhdWx0TW9kZShjaGVja0FjY2Vzcyk7XG4gICAgfVxuXG4gICAgY2hlY2tEZWZhdWx0TW9kZShjaGVja0FjY2VzczogYW55KXtcbiAgICAgICAgbGV0IGhhc0FjY2VzcyA9IGZhbHNlO1xuICAgICAgICBpZiAoIEFycmF5LmlzQXJyYXkoY2hlY2tBY2Nlc3NbMF0pICl7XG4gICAgICAgICAgICBpZiAoY2hlY2tBY2Nlc3NbMV0pe1xuICAgICAgICAgICAgbGV0IGZlYXR1cmVzID0gY2hlY2tBY2Nlc3NbMV0udWlfdG9wb2xvZ3k7XG4gICAgICAgICAgICBpZiAoZmVhdHVyZXMpe1xuICAgICAgICAgICAgICAgIGNoZWNrQWNjZXNzWzBdLmZvckVhY2goKHJ1bGU6YW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaGFzQWNjZXNzID0gaGFzQWNjZXNzIHx8ICggKCBmZWF0dXJlcy5maW5kSW5kZXgoKGZlYXR1cmU6IGFueSkgPT4gZmVhdHVyZSA9PT0gcnVsZSApICE9IC0xICkgPyB0cnVlIDogZmFsc2UgKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICBsZXQgZmVhdHVyZXMgPSB0aGlzLnVzZXJTZXJ2aWNlPy5nZXRDdXJyZW50RW52KCk/LnVpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ2ZlYXR1cmVzIHVpJywgZmVhdHVyZXMpO1xuICAgICAgICAgICAgY2hlY2tBY2Nlc3MuZm9yRWFjaCgocnVsZTphbnkpID0+IHtcbiAgICAgICAgICAgIGhhc0FjY2VzcyA9IGhhc0FjY2VzcyB8fCAoICggZmVhdHVyZXMgJiYgZmVhdHVyZXMuZmluZEluZGV4KChmZWF0dXJlOiBhbnkpID0+IGZlYXR1cmUgPT09IHJ1bGUgKSAhPSAtMSApID8gdHJ1ZSA6IGZhbHNlICk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaGFzQWNjZXNzO1xuICAgIH1cblxuICAgIGNoZWNrSW1wZXJzb25hbGl6ZU1vZGUoY2hlY2tBY2Nlc3M6IGFueSwgdGVtcF91c2VyOiBhbnkpe1xuICAgICAgICBsZXQgaGFzQWNjZXNzID0gZmFsc2U7XG4gICAgICAgIGlmICggQXJyYXkuaXNBcnJheShjaGVja0FjY2Vzc1swXSkgKXtcbiAgICAgICAgICAgIGlmIChjaGVja0FjY2Vzc1sxXSl7XG4gICAgICAgICAgICAgICAgbGV0IGZlYXR1cmVzID0gY2hlY2tBY2Nlc3NbMV0udWlfdG9wb2xvZ3k7XG4gICAgICAgICAgICAgICAgaWYgKGZlYXR1cmVzKXtcbiAgICAgICAgICAgICAgICAgICAgY2hlY2tBY2Nlc3NbMF0uZm9yRWFjaCgocnVsZTphbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaGFzQWNjZXNzID0gaGFzQWNjZXNzIHx8ICggKCBmZWF0dXJlcy5maW5kSW5kZXgoKGZlYXR1cmU6IGFueSkgPT4gZmVhdHVyZSA9PT0gcnVsZSApICE9IC0xICkgPyB0cnVlIDogZmFsc2UgKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgIGxldCBmZWF0dXJlcyA9IHRlbXBfdXNlci51aTtcbiAgICAgICAgICAgIGNoZWNrQWNjZXNzLmZvckVhY2goKHJ1bGU6YW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaGFzQWNjZXNzID0gaGFzQWNjZXNzIHx8ICggKCBmZWF0dXJlcyAmJiBmZWF0dXJlcy5maW5kSW5kZXgoKGZlYXR1cmU6IGFueSkgPT4gZmVhdHVyZSA9PT0gcnVsZSApICE9IC0xICkgPyB0cnVlIDogZmFsc2UgKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBoYXNBY2Nlc3M7XG4gICAgfVxuXG4gICAgY2hlY2tGZWF0dXJlRmxhZ3MoX2ZlYXR1cmU6IHN0cmluZyB8IHN0cmluZ1tdIHwgYW55KTogYm9vbGVhbntcbiAgICAgICAgbGV0IGVuYWJsZSA9IGZhbHNlO1xuICAgICAgICBsZXQgaXNFbmFibGVkID0gW107XG5cbiAgICAgICAgLy8gdGNsb3VkX2ZlYXR1cmVzIC0gZmVhdHVyZXMgZG8gY29tcG9uZW50ZSB0Y2xvdWRcbiAgICAgICAgbGV0IHRjbG91ZF9mZWF0dXJlcyA9IFtdO1xuICAgICAgICBpZiggX2ZlYXR1cmUgKXtcbiAgICAgICAgICAgIGlmKCB0eXBlb2YgX2ZlYXR1cmUgPT09ICdzdHJpbmcnICl7XG4gICAgICAgICAgICAodGNsb3VkX2ZlYXR1cmVzKS5wdXNoKF9mZWF0dXJlKTtcbiAgICAgICAgICAgIH1lbHNlIGlmKCBfZmVhdHVyZSAmJiAoX2ZlYXR1cmUpLmxlbmd0aCA+IDAgKSB7XG4gICAgICAgICAgICB0Y2xvdWRfZmVhdHVyZXMgPSBfZmVhdHVyZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGV0IGZlYXR1cmVfZmxhZ3NfdG9wb2xvZ3kgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICBpZiAoIEFycmF5LmlzQXJyYXkoX2ZlYXR1cmVbMF0pICl7XG4gICAgICAgICAgICBpZiAoX2ZlYXR1cmVbMV0pe1xuICAgICAgICAgICAgICAgIHRjbG91ZF9mZWF0dXJlcyA9IF9mZWF0dXJlWzBdO1xuICAgICAgICAgICAgICAgIGlmKCBfZmVhdHVyZVsxXSAmJiBfZmVhdHVyZVsxXS5mZWF0dXJlX2ZsYWdzX3RvcG9sb2d5ICYmIChfZmVhdHVyZVsxXT8uZmVhdHVyZV9mbGFnc190b3BvbG9neSkubGVuZ3RoID49IDAgKXtcbiAgICAgICAgICAgICAgICBmZWF0dXJlX2ZsYWdzX3RvcG9sb2d5ID0gX2ZlYXR1cmVbMV0uZmVhdHVyZV9mbGFnc190b3BvbG9neTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB9ICAgICAgXG5cbiAgICAgICAgICAgIGxldCBmZWF0dXJlX2ZsYWdzID0gW107XG4gICAgICAgICAgICBpZiggZmVhdHVyZV9mbGFnc190b3BvbG9neSAmJiAoZmVhdHVyZV9mbGFnc190b3BvbG9neSkubGVuZ3RoID49IDAgKXtcbiAgICAgICAgICAgIC8vIGZlYXR1cmVfZmxhZ3MgLSBvYnRlbmRvIGRlIHRvcG9sb2d5IChpbmZQcm9kdXRvKSAtPiBmZWF0dXJlX2ZsYWdzX3RvcG9sb2d5XG4gICAgICAgICAgICBmZWF0dXJlX2ZsYWdzID0gZmVhdHVyZV9mbGFnc190b3BvbG9neTtcbiAgICAgICAgICAgIH1lbHNle1xuICAgICAgICAgICAgLy8gZmVhdHVyZV9mbGFncyAtIG9idGVuZG8gZGUgdXNlciBpbmZvXG4gICAgICAgICAgICBmZWF0dXJlX2ZsYWdzID0gdGhpcy51c2VyU2VydmljZT8uZ2V0Q3VycmVudEVudigpPy5mZWF0dXJlX2ZsYWdzIHx8IFtdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc29sZS5sb2coJ2ZlYXR1cmVfZmxhZ3MnLCBmZWF0dXJlX2ZsYWdzKTtcblxuICAgICAgICAgICAgZm9yKCBsZXQgaSA9IDA7IGkgPCAodGNsb3VkX2ZlYXR1cmVzKS5sZW5ndGg7IGkrKyApe1xuICAgICAgICAgICAgY29uc3QgdGNsb3VkX2ZlYXR1cmUgPSB0Y2xvdWRfZmVhdHVyZXNbaV07XG4gICAgICAgICAgICBpZiggdGNsb3VkX2ZlYXR1cmVbMF0gPT09ICchJyApe1xuICAgICAgICAgICAgICAgIGxldCBxdGRfZXhpc3QgPSAwO1xuICAgICAgICAgICAgICAgIGZvciggbGV0IGogPSAwOyBqIDwgKGZlYXR1cmVfZmxhZ3MpLmxlbmd0aDsgaisrICl7XG4gICAgICAgICAgICAgICAgY29uc3QgZmVhdHVyZV9mbGFnID0gZmVhdHVyZV9mbGFnc1tqXTsgIFxuICAgICAgICAgICAgICAgIGlmKCB0Y2xvdWRfZmVhdHVyZSA9PT0gJyEnK2ZlYXR1cmVfZmxhZyApe1xuICAgICAgICAgICAgICAgICAgICAoaXNFbmFibGVkKS5wdXNoKGZhbHNlKTsgXG4gICAgICAgICAgICAgICAgICAgIHF0ZF9leGlzdCsrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYoIHF0ZF9leGlzdCA9PT0gMCApe1xuICAgICAgICAgICAgICAgIChpc0VuYWJsZWQpLnB1c2godHJ1ZSk7XG4gICAgICAgICAgICAgICAgfSBcbiAgICAgICAgICAgIH1lbHNle1xuICAgICAgICAgICAgICAgIGxldCBxdGRfZXhpc3QgPSAwO1xuICAgICAgICAgICAgICAgIGZvciggbGV0IGogPSAwOyBqIDwgKGZlYXR1cmVfZmxhZ3MpLmxlbmd0aDsgaisrICl7XG4gICAgICAgICAgICAgICAgY29uc3QgZmVhdHVyZV9mbGFnID0gZmVhdHVyZV9mbGFnc1tqXTsgIFxuICAgICAgICAgICAgICAgIGlmKCB0Y2xvdWRfZmVhdHVyZSA9PT0gZmVhdHVyZV9mbGFnICl7XG4gICAgICAgICAgICAgICAgICAgIChpc0VuYWJsZWQpLnB1c2godHJ1ZSk7IFxuICAgICAgICAgICAgICAgICAgICBxdGRfZXhpc3QrKztcbiAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYoIHF0ZF9leGlzdCA9PT0gMCApe1xuICAgICAgICAgICAgICAgIChpc0VuYWJsZWQpLnB1c2goZmFsc2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYoIGlzRW5hYmxlZCAmJiAoaXNFbmFibGVkKS5sZW5ndGggPiAwICl7XG4gICAgICAgICAgICBlbmFibGUgPSB0cnVlO1xuICAgICAgICAgICAgZm9yKCBsZXQgaSA9IDA7IGkgPCAoaXNFbmFibGVkKS5sZW5ndGg7IGkrKyApe1xuICAgICAgICAgICAgICAgIGlmKCBpc0VuYWJsZWRbaV0gPT09IGZhbHNlICl7XG4gICAgICAgICAgICAgICAgZW5hYmxlID0gZmFsc2U7IGJyZWFrO1xuICAgICAgICAgICAgICAgIH0gICAgICAgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGVuYWJsZTsgICAgXG4gICAgfVxuXG5cblxuICAgIC8qICovXG4gICAgcHJpdmF0ZSBnZXRJbXBlcnNvbmFsaXplVXNlckluZm8oKXtcbiAgICAgICAgLy8gcmV0dXJuIHRoaXMuZ2V0TG9jYWxTdG9yYWdlKCk7XG4gICAgXG4gICAgICAgIC8vIHJlbW92ZXIgZG8gbG9jYWxzdG9yYWdlIHNlIG7Do28gZXhpc3RpciBjQ29kZSA/Pz8/XG4gICAgICAgIGNvbnN0IGNDb2RlID0gdGhpcy51c2VyU2VydmljZT8uZ2V0Q3VycmVudEVudigpPy5jdXJyZW50Q2xvdWRJRD8uY2xvdWRfaWQgfHwgJyc7XG4gICAgICAgIGlmKCBjQ29kZSAmJiBjQ29kZSAhPT0gJycgKXtcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRMb2NhbFN0b3JhZ2UoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJlbW92ZUxvY2FsU3RvcmFnZSgpO1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkOyAgICBcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldExvY2FsU3RvcmFnZSgpe1xuICAgICAgICBsZXQgaW5mbzogYW55ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3RlbXBfdXNlcl9pbmZvJyk7XG4gICAgICAgIGxldCB1c2VyX2luZm8gPSB7fSBhcyBhbnk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgdXNlcl9pbmZvID0gSlNPTi5wYXJzZShpbmZvKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICB1c2VyX2luZm8gPSB1bmRlZmluZWQ7IFxuICAgICAgICB9XG4gICAgICAgICByZXR1cm4gdXNlcl9pbmZvO1xuICAgIH1cbiAgICBcbiAgICBwcml2YXRlIHJlbW92ZUxvY2FsU3RvcmFnZSgpe1xuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgndGVtcF91c2VyX2luZm8nKTtcbiAgICB9XG5cbn0iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGNsb3VkLXVpLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RjbG91ZC11aS9zcmMvbGliL3RjbG91ZC11aS5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVENsb3VkVWlDb25maWcge1xuICAgIGRhdGE/OiBhbnk7XG4gICAgc2VydmljZXM/OiBUQ2xvdWRVaUN1c3RvbVNlcnZpY2VzIFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRDbG91ZFVpQ3VzdG9tU2VydmljZXMge1xuICAgIHVzZXJTZXJ2aWNlPzogYW55XG59Il19