ng-tailwind 6.3.0 → 6.4.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 (107) hide show
  1. package/components/ngt-multi-select/ngt-multi-select.component.d.ts +2 -1
  2. package/fesm2022/ng-tailwind.mjs +361 -346
  3. package/fesm2022/ng-tailwind.mjs.map +1 -1
  4. package/package.json +1 -3
  5. package/esm2022/animations/ngt-angular-animations.mjs +0 -34
  6. package/esm2022/base/ngt-base-ng-model.mjs +0 -90
  7. package/esm2022/components/ngt-action/ngt-action.component.mjs +0 -96
  8. package/esm2022/components/ngt-action/ngt-action.module.mjs +0 -28
  9. package/esm2022/components/ngt-button/ngt-button.component.mjs +0 -142
  10. package/esm2022/components/ngt-button/ngt-button.module.mjs +0 -28
  11. package/esm2022/components/ngt-checkbox/ngt-checkbox.component.mjs +0 -192
  12. package/esm2022/components/ngt-checkbox/ngt-checkbox.module.mjs +0 -28
  13. package/esm2022/components/ngt-content/ngt-content.component.mjs +0 -32
  14. package/esm2022/components/ngt-content/ngt-content.module.mjs +0 -20
  15. package/esm2022/components/ngt-context-menu/ngt-context-menu.component.mjs +0 -25
  16. package/esm2022/components/ngt-context-menu/ngt-context-menu.directive.mjs +0 -89
  17. package/esm2022/components/ngt-context-menu/ngt-context-menu.module.mjs +0 -33
  18. package/esm2022/components/ngt-datatable/ngt-datatable.component.mjs +0 -472
  19. package/esm2022/components/ngt-datatable/ngt-datatable.module.mjs +0 -99
  20. package/esm2022/components/ngt-datatable/ngt-tbody/ngt-tbody.component.mjs +0 -57
  21. package/esm2022/components/ngt-datatable/ngt-td/ngt-td.component.mjs +0 -62
  22. package/esm2022/components/ngt-datatable/ngt-td-check/ngt-td-check.component.mjs +0 -113
  23. package/esm2022/components/ngt-datatable/ngt-th/ngt-th.component.mjs +0 -228
  24. package/esm2022/components/ngt-datatable/ngt-th-check/ngt-th-check.component.mjs +0 -127
  25. package/esm2022/components/ngt-datatable/ngt-thead/ngt-thead.component.mjs +0 -55
  26. package/esm2022/components/ngt-datatable/ngt-tr/ngt-tr.component.mjs +0 -86
  27. package/esm2022/components/ngt-date/ngt-date.component.mjs +0 -435
  28. package/esm2022/components/ngt-date/ngt-date.module.mjs +0 -40
  29. package/esm2022/components/ngt-dropdown/ngt-dropdown-container/ngt-dropdown-container.component.mjs +0 -19
  30. package/esm2022/components/ngt-dropdown/ngt-dropdown.component.mjs +0 -205
  31. package/esm2022/components/ngt-dropdown/ngt-dropdown.module.mjs +0 -21
  32. package/esm2022/components/ngt-dropzone/custom-dropzone-preview/custom-dropzone-preview.component.mjs +0 -54
  33. package/esm2022/components/ngt-dropzone/ngt-dropzone-file-viewer/ngt-dropzone-file-viewer.component.mjs +0 -66
  34. package/esm2022/components/ngt-dropzone/ngt-dropzone-view/ngt-dropzone-view.component.mjs +0 -94
  35. package/esm2022/components/ngt-dropzone/ngt-dropzone.component.mjs +0 -496
  36. package/esm2022/components/ngt-dropzone/ngt-dropzone.meta.mjs +0 -24
  37. package/esm2022/components/ngt-dropzone/ngt-dropzone.module.mjs +0 -55
  38. package/esm2022/components/ngt-floating-button/ngt-floating-button.component.mjs +0 -119
  39. package/esm2022/components/ngt-floating-button/ngt-floating-button.module.mjs +0 -28
  40. package/esm2022/components/ngt-form/ngt-form-validation-message/ngt-form-validation-message.component.mjs +0 -22
  41. package/esm2022/components/ngt-form/ngt-form.component.mjs +0 -207
  42. package/esm2022/components/ngt-form/ngt-form.module.mjs +0 -29
  43. package/esm2022/components/ngt-header-nav/ngt-header-nav.component.mjs +0 -39
  44. package/esm2022/components/ngt-header-nav/ngt-header-nav.module.mjs +0 -20
  45. package/esm2022/components/ngt-helper/ngt-helper.component.mjs +0 -69
  46. package/esm2022/components/ngt-helper/ngt-helper.module.mjs +0 -28
  47. package/esm2022/components/ngt-input/ngt-input.component.mjs +0 -844
  48. package/esm2022/components/ngt-input/ngt-input.module.mjs +0 -47
  49. package/esm2022/components/ngt-modal/ngt-modal-body/ngt-modal-body.component.mjs +0 -46
  50. package/esm2022/components/ngt-modal/ngt-modal-footer/ngt-modal-footer.component.mjs +0 -33
  51. package/esm2022/components/ngt-modal/ngt-modal-header/ngt-modal-header.component.mjs +0 -40
  52. package/esm2022/components/ngt-modal/ngt-modal.component.mjs +0 -122
  53. package/esm2022/components/ngt-modal/ngt-modal.module.mjs +0 -39
  54. package/esm2022/components/ngt-multi-select/ngt-multi-select.component.mjs +0 -503
  55. package/esm2022/components/ngt-multi-select/ngt-multi-select.module.mjs +0 -52
  56. package/esm2022/components/ngt-pagination/ngt-pagination.component.mjs +0 -162
  57. package/esm2022/components/ngt-pagination/ngt-pagination.module.mjs +0 -36
  58. package/esm2022/components/ngt-popover/ngt-popover-tooltip/ngt-popover-tooltip.component.mjs +0 -59
  59. package/esm2022/components/ngt-popover/ngt-popover.component.mjs +0 -85
  60. package/esm2022/components/ngt-popover/ngt-popover.directive.mjs +0 -130
  61. package/esm2022/components/ngt-popover/ngt-popover.module.mjs +0 -36
  62. package/esm2022/components/ngt-portlet/ngt-portlet-body/ngt-portlet-body.component.mjs +0 -34
  63. package/esm2022/components/ngt-portlet/ngt-portlet-footer/ngt-portlet-footer.component.mjs +0 -35
  64. package/esm2022/components/ngt-portlet/ngt-portlet-header/ngt-portlet-header.component.mjs +0 -57
  65. package/esm2022/components/ngt-portlet/ngt-portlet.component.mjs +0 -74
  66. package/esm2022/components/ngt-portlet/ngt-portlet.module.mjs +0 -47
  67. package/esm2022/components/ngt-radio-button/ngt-radio-button-container/ngt-radio-button-container.component.mjs +0 -19
  68. package/esm2022/components/ngt-radio-button/ngt-radio-button.component.mjs +0 -153
  69. package/esm2022/components/ngt-radio-button/ngt-radio-button.module.mjs +0 -29
  70. package/esm2022/components/ngt-section/ngt-section.component.mjs +0 -151
  71. package/esm2022/components/ngt-section/ngt-section.module.mjs +0 -32
  72. package/esm2022/components/ngt-select/ngt-select.component.mjs +0 -670
  73. package/esm2022/components/ngt-select/ngt-select.directive.mjs +0 -36
  74. package/esm2022/components/ngt-select/ngt-select.module.mjs +0 -65
  75. package/esm2022/components/ngt-shining/ngt-shining.component.mjs +0 -40
  76. package/esm2022/components/ngt-shining/ngt-shining.module.mjs +0 -20
  77. package/esm2022/components/ngt-sidenav/ngt-sidenav.component.mjs +0 -132
  78. package/esm2022/components/ngt-sidenav/ngt-sidenav.module.mjs +0 -20
  79. package/esm2022/components/ngt-slider/ngt-slider.component.mjs +0 -100
  80. package/esm2022/components/ngt-slider/ngt-slider.module.mjs +0 -24
  81. package/esm2022/components/ngt-svg/ngt-svg.component.mjs +0 -53
  82. package/esm2022/components/ngt-svg/ngt-svg.module.mjs +0 -24
  83. package/esm2022/components/ngt-tag/ngt-tag.component.mjs +0 -37
  84. package/esm2022/components/ngt-tag/ngt-tag.module.mjs +0 -24
  85. package/esm2022/components/ngt-textarea/ngt-textarea.component.mjs +0 -238
  86. package/esm2022/components/ngt-textarea/ngt-textarea.module.mjs +0 -43
  87. package/esm2022/components/ngt-validation/ngt-validation.component.mjs +0 -26
  88. package/esm2022/components/ngt-validation/ngt-validation.module.mjs +0 -20
  89. package/esm2022/directives/ngt-stylizable/ngt-stylizable.directive.mjs +0 -299
  90. package/esm2022/directives/ngt-stylizable/ngt-stylizable.module.mjs +0 -20
  91. package/esm2022/enums/size.enum.mjs +0 -11
  92. package/esm2022/helpers/enum/enum.mjs +0 -7
  93. package/esm2022/helpers/form/form.mjs +0 -14
  94. package/esm2022/helpers/input-mask/input-mask.helper.mjs +0 -26
  95. package/esm2022/helpers/promise/promise-helper.mjs +0 -4
  96. package/esm2022/helpers/routing/route.mjs +0 -11
  97. package/esm2022/helpers/uuid.mjs +0 -10
  98. package/esm2022/ng-tailwind.mjs +0 -5
  99. package/esm2022/public-api.mjs +0 -127
  100. package/esm2022/services/http/ngt-attachment-http.service.mjs +0 -3
  101. package/esm2022/services/http/ngt-http-form.service.mjs +0 -3
  102. package/esm2022/services/http/ngt-http-resource.service.mjs +0 -3
  103. package/esm2022/services/http/ngt-http-validation.service.mjs +0 -3
  104. package/esm2022/services/http/ngt-http.service.mjs +0 -3
  105. package/esm2022/services/http/ngt-translate.service.mjs +0 -3
  106. package/esm2022/services/ngt-stylizable/ngt-stylizable.service.mjs +0 -279
  107. package/esm2022/services/validation/ngt-ability-validation.service.mjs +0 -3
@@ -1,228 +0,0 @@
1
- import { Component, EventEmitter, Input, Optional, Output, Self, SkipSelf, ViewChild, } from '@angular/core';
2
- import { NgtStylizableService } from '../../../services/ngt-stylizable/ngt-stylizable.service';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../../directives/ngt-stylizable/ngt-stylizable.directive";
5
- import * as i2 from "../ngt-datatable.component";
6
- import * as i3 from "@angular/common";
7
- import * as i4 from "@angular/forms";
8
- import * as i5 from "../../ngt-input/ngt-input.component";
9
- import * as i6 from "../../ngt-modal/ngt-modal-header/ngt-modal-header.component";
10
- import * as i7 from "../../ngt-modal/ngt-modal-body/ngt-modal-body.component";
11
- import * as i8 from "../../ngt-action/ngt-action.component";
12
- import * as i9 from "../../ngt-svg/ngt-svg.component";
13
- export class NgtThComponent {
14
- constructor(injector, hostElement, ngtStylizableDirective, ngtDataTable) {
15
- this.injector = injector;
16
- this.hostElement = hostElement;
17
- this.ngtStylizableDirective = ngtStylizableDirective;
18
- this.ngtDataTable = ngtDataTable;
19
- this.modalWidth = 'md:max-w-md';
20
- this.searchModalOverflow = 'overflow-visible';
21
- this.hasCustomSearch = false;
22
- this.sortableTooltip = {
23
- ascending: 'Ordenar de Z a A',
24
- descending: 'Limpar ordenação',
25
- unordered: 'Ordenar de A a Z'
26
- };
27
- this.onEnableSearch = new EventEmitter();
28
- this.inputFocused = false;
29
- this.isCurrentSort = false;
30
- this.sortDirection = '';
31
- this.filterModalHeaderStyle = new NgtStylizableService();
32
- this.filterModalBodyStyle = new NgtStylizableService();
33
- this.subscriptions = [];
34
- if (this.checkDataTable()) {
35
- this.subscriptions.push(this.ngtDataTable.onDataChange.subscribe(() => {
36
- this.isCurrentSort = this.ngtDataTable.getCurrentSort().field == this.getSortReference();
37
- if (this.isCurrentSort) {
38
- this.sortDirection = this.ngtDataTable.getCurrentSort().direction;
39
- }
40
- }));
41
- this.subscriptions.push(this.ngtDataTable.onClearFilter.subscribe((reference) => {
42
- if (reference == this.reference || !reference) {
43
- this.searchTerm = '';
44
- this.customSearchTerm = null;
45
- }
46
- }));
47
- }
48
- this.bindNgtStyle();
49
- }
50
- ngOnChanges(changes) {
51
- if (changes.searchLabel && this.checkDataTable) {
52
- this.ngtDataTable.setFilterDescription(this.reference, this.searchLabel);
53
- }
54
- }
55
- ngOnDestroy() {
56
- this.destroySubscriptions();
57
- }
58
- async sort() {
59
- if (this.sortable && this.checkDataTable() && this.checkReference()) {
60
- let sortDirection = this.getNextSortDirection();
61
- if (sortDirection) {
62
- await this.ngtDataTable.sort(this.getSortReference(), sortDirection);
63
- }
64
- else {
65
- this.ngtDataTable.sort('', '');
66
- }
67
- this.sortDirection = sortDirection;
68
- }
69
- }
70
- enableSearch(event) {
71
- event.stopPropagation();
72
- this.ngtDataTable.searchModal.ngtStyle.w = this.modalWidth;
73
- this.ngtDataTable.searchModal.ngtStyle.overflow = this.searchModalOverflow;
74
- this.ngtDataTable.setSearchModalTemplate(this.modal);
75
- this.ngtDataTable.openSearchModal(this.reference);
76
- setTimeout(() => {
77
- if (this.searchInput) {
78
- this.searchInput.setFocus();
79
- }
80
- }, 100);
81
- this.onEnableSearch.emit();
82
- }
83
- search(term) {
84
- if (!this.hasCustomSearch && this.searchTerm === undefined
85
- && this.customSearchTerm === undefined && !term) {
86
- return;
87
- }
88
- if (this.searchable && this.reference) {
89
- let filter = {};
90
- filter[this.reference] = term;
91
- this.ngtDataTable.search(filter);
92
- }
93
- }
94
- customSearch(term) {
95
- this.customSearchTerm = term;
96
- }
97
- getTooltip() {
98
- if (this.sortable && this.sortableTooltip) {
99
- if (this.sortDirection == 'asc') {
100
- return this.sortableTooltip.ascending;
101
- }
102
- else if (this.sortDirection == 'desc') {
103
- return this.sortableTooltip.descending;
104
- }
105
- return this.sortableTooltip.unordered;
106
- }
107
- return '';
108
- }
109
- getSortReference() {
110
- return this.sortReference ? this.sortReference : this.reference;
111
- }
112
- checkDataTable() {
113
- if (!this.ngtDataTable) {
114
- console.error('The [ngt-th] must be inside of a [ngt-datatable]');
115
- return false;
116
- }
117
- return true;
118
- }
119
- checkReference() {
120
- if (!this.reference && !this.sortReference) {
121
- console.error('The [ngt-th] must have a [reference] or a [sortReference] property to be able to sort');
122
- return false;
123
- }
124
- return true;
125
- }
126
- getNextSortDirection() {
127
- switch (this.sortDirection) {
128
- case 'asc': return 'desc';
129
- case 'desc': return '';
130
- case '': return 'asc';
131
- }
132
- }
133
- bindNgtStyle() {
134
- if (this.ngtStylizableDirective) {
135
- this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();
136
- }
137
- else {
138
- this.ngtStyle = new NgtStylizableService();
139
- }
140
- this.ngtStyle.load(this.injector, 'NgtTh', {
141
- py: 'py-4',
142
- px: 'px-6',
143
- font: 'font-bold',
144
- text: 'text-sm',
145
- border: 'border-b',
146
- justifyContent: 'justify-center',
147
- color: {
148
- bg: '',
149
- text: '',
150
- border: ''
151
- }
152
- });
153
- this.hostElement.nativeElement.classList += this.ngtStyle.compile([
154
- 'h',
155
- 'px',
156
- 'py',
157
- 'pb',
158
- 'pl',
159
- 'pr',
160
- 'pt',
161
- 'mb',
162
- 'ml',
163
- 'mr',
164
- 'mt',
165
- 'border',
166
- 'color.bg',
167
- 'color.text',
168
- 'color.border',
169
- 'text',
170
- 'font',
171
- ]);
172
- this.filterModalHeaderStyle.load(this.injector, 'FilterModalHeader', {
173
- pb: 'pb-3',
174
- color: {}
175
- });
176
- this.filterModalBodyStyle.load(this.injector, 'FilterModalBody', {
177
- px: 'px-0',
178
- py: 'py-0'
179
- });
180
- }
181
- destroySubscriptions() {
182
- this.subscriptions.forEach(subscription => subscription.unsubscribe());
183
- this.subscriptions = [];
184
- }
185
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtThComponent, deps: [{ token: i0.Injector }, { token: i0.ElementRef }, { token: i1.NgtStylizableDirective, optional: true, self: true }, { token: i2.NgtDatatableComponent, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component }); }
186
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NgtThComponent, selector: "[ngt-th]", inputs: { reference: "reference", sortReference: "sortReference", modalWidth: "modalWidth", searchModalOverflow: "searchModalOverflow", sortable: "sortable", searchable: "searchable", hasCustomSearch: "hasCustomSearch", searchLabel: "searchLabel", searchIcon: "searchIcon", sortableTooltip: "sortableTooltip" }, outputs: { onEnableSearch: "onEnableSearch" }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }, { propertyName: "modal", first: true, predicate: ["modal"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"flex items-center w-full {{ ngtStyle.compile(['justifyContent']) }}\" [title]=\"getTooltip()\" (click)='sort()'\n [class.cursor-pointer]='sortable'>\n <ng-content></ng-content>\n <ng-container *ngIf='sortable && isCurrentSort'>\n <svg *ngIf=\"sortDirection == 'asc'\" class=\"fill-current self-center cursor-pointer ml-1\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path d=\"M9.293 12.95l.707.707L15.657 8l-1.414-1.414L10 10.828 5.757 6.586 4.343 8z\" />\n </svg>\n\n <svg *ngIf=\"sortDirection == 'desc'\" class=\"fill-current self-center cursor-pointer ml-1\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path d=\"M10.707 7.05L10 6.343 4.343 12l1.414 1.414L10 9.172l4.243 4.242L15.657 12z\" />\n </svg>\n </ng-container>\n\n <ng-container *ngIf='searchable'>\n <div (click)='enableSearch($event)' class=\"float-right ml-2\" title=\"Filtrar\">\n <ngt-action class=\"text-lg\" h='h-6' w='w-6' [forceEnable]=\"true\" ngt-stylizable>\n <svg class=\"fill-current self-center\" viewBox=\"0 0 1792 1792\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M1595 295q17 41-14 70l-493 493v742q0 42-39 59-13 5-25 5-27 0-45-19l-256-256q-19-19-19-45V858L211 365q-31-29-14-70 17-39 59-39h1280q42 0 59 39z\" />\n </svg>\n </ngt-action>\n </div>\n </ng-container>\n</div>\n\n<ng-template #modal>\n <ngt-modal-header [disableDefaultCloses]=\"ngtDataTable.searchModal.disableDefaultCloses\"\n [ngtStyle]=\"filterModalHeaderStyle\" (onClose)=\"ngtDataTable.searchModal.close()\">\n <ngt-svg *ngIf=\"searchIcon\" [src]=\"searchIcon\" class=\"text-sm\">\n </ngt-svg>\n\n <svg *ngIf=\"!searchIcon\" class=\"fill-current self-center text-sm\" viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M7.0042 6.84417L11.8042 2.04417V-0.355835H-0.195801V2.04417L4.6042 6.84417V11.6442L7.0042 9.24417V6.84417Z\" />\n </svg>\n\n <span *ngIf=\"searchLabel\" class=\"font-semibold text-sm ml-2\">\n {{ searchLabel }}\n </span>\n\n <ng-content select='[customSearchHeader]'></ng-content>\n </ngt-modal-header>\n\n <ngt-modal-body [isDisabled]=\"false\" [ngtStyle]=\"filterModalBodyStyle\">\n <ngt-input *ngIf=\"!hasCustomSearch\" jit='true' [(ngModel)]='searchTerm' (ngModelChange)='search($event)'\n placeholder='Pesquisar...' name='{{ reference }}_filter' #searchInput>\n </ngt-input>\n\n <div [hidden]='!hasCustomSearch'>\n <ng-content select='[customSearch]'></ng-content>\n </div>\n </ngt-modal-body>\n</ng-template>", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.NgtInputComponent, selector: "ngt-input", inputs: ["label", "placeholder", "shining", "loading", "helpTitle", "helpTextColor", "helpText", "innerLeftIcon", "innerLeftIconColor", "innerRightIcon", "innerRightIconColor", "decimalMaskPrecision", "showCharactersLength", "uppercase", "customInnerContentTemplate", "helperReverseYPosition", "helperAutoXReverse", "isDisabled", "isReadonly", "showRoundedIcon", "type", "name", "mask", "focus", "allowClear", "jit", "useInputEvent", "findExistingResource", "allowPhoneValidation", "validatePassword", "passwordableId", "passwordPolicyId", "isRequired", "uniqueResource", "minValue", "maxValue", "maxLength", "minLength", "match", "multipleOf", "validateMinValueOnMask", "externalServerDependency", "customValidator"], outputs: ["onClickLeftIcon", "onClickRightIcon", "validatePhoneResult"] }, { kind: "component", type: i6.NgtModalHeaderComponent, selector: "ngt-modal-header", inputs: ["disableDefaultCloses", "ngtStyle"] }, { kind: "component", type: i7.NgtModalBodyComponent, selector: "ngt-modal-body", inputs: ["ngtStyle", "isDisabled"] }, { kind: "component", type: i8.NgtActionComponent, selector: "ngt-action", inputs: ["href", "icon", "ngtStyle", "isDisabled", "forceEnable"] }, { kind: "directive", type: i1.NgtStylizableDirective, selector: "[ngt-stylizable]", inputs: ["color", "color.text", "color.bg", "color.border", "h", "w", "p", "px", "py", "pt", "pr", "pb", "pl", "m", "mx", "my", "mt", "mr", "mb", "ml", "gap", "border", "shadow", "rounded", "font", "text", "breakWords", "overflow", "position", "justifyContent", "cursor", "fontCase"] }, { kind: "component", type: i9.NgtSvgComponent, selector: "ngt-svg", inputs: ["src", "class"] }] }); }
187
- }
188
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtThComponent, decorators: [{
189
- type: Component,
190
- args: [{ selector: '[ngt-th]', template: "<div class=\"flex items-center w-full {{ ngtStyle.compile(['justifyContent']) }}\" [title]=\"getTooltip()\" (click)='sort()'\n [class.cursor-pointer]='sortable'>\n <ng-content></ng-content>\n <ng-container *ngIf='sortable && isCurrentSort'>\n <svg *ngIf=\"sortDirection == 'asc'\" class=\"fill-current self-center cursor-pointer ml-1\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path d=\"M9.293 12.95l.707.707L15.657 8l-1.414-1.414L10 10.828 5.757 6.586 4.343 8z\" />\n </svg>\n\n <svg *ngIf=\"sortDirection == 'desc'\" class=\"fill-current self-center cursor-pointer ml-1\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path d=\"M10.707 7.05L10 6.343 4.343 12l1.414 1.414L10 9.172l4.243 4.242L15.657 12z\" />\n </svg>\n </ng-container>\n\n <ng-container *ngIf='searchable'>\n <div (click)='enableSearch($event)' class=\"float-right ml-2\" title=\"Filtrar\">\n <ngt-action class=\"text-lg\" h='h-6' w='w-6' [forceEnable]=\"true\" ngt-stylizable>\n <svg class=\"fill-current self-center\" viewBox=\"0 0 1792 1792\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M1595 295q17 41-14 70l-493 493v742q0 42-39 59-13 5-25 5-27 0-45-19l-256-256q-19-19-19-45V858L211 365q-31-29-14-70 17-39 59-39h1280q42 0 59 39z\" />\n </svg>\n </ngt-action>\n </div>\n </ng-container>\n</div>\n\n<ng-template #modal>\n <ngt-modal-header [disableDefaultCloses]=\"ngtDataTable.searchModal.disableDefaultCloses\"\n [ngtStyle]=\"filterModalHeaderStyle\" (onClose)=\"ngtDataTable.searchModal.close()\">\n <ngt-svg *ngIf=\"searchIcon\" [src]=\"searchIcon\" class=\"text-sm\">\n </ngt-svg>\n\n <svg *ngIf=\"!searchIcon\" class=\"fill-current self-center text-sm\" viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M7.0042 6.84417L11.8042 2.04417V-0.355835H-0.195801V2.04417L4.6042 6.84417V11.6442L7.0042 9.24417V6.84417Z\" />\n </svg>\n\n <span *ngIf=\"searchLabel\" class=\"font-semibold text-sm ml-2\">\n {{ searchLabel }}\n </span>\n\n <ng-content select='[customSearchHeader]'></ng-content>\n </ngt-modal-header>\n\n <ngt-modal-body [isDisabled]=\"false\" [ngtStyle]=\"filterModalBodyStyle\">\n <ngt-input *ngIf=\"!hasCustomSearch\" jit='true' [(ngModel)]='searchTerm' (ngModelChange)='search($event)'\n placeholder='Pesquisar...' name='{{ reference }}_filter' #searchInput>\n </ngt-input>\n\n <div [hidden]='!hasCustomSearch'>\n <ng-content select='[customSearch]'></ng-content>\n </div>\n </ngt-modal-body>\n</ng-template>" }]
191
- }], ctorParameters: () => [{ type: i0.Injector }, { type: i0.ElementRef }, { type: i1.NgtStylizableDirective, decorators: [{
192
- type: Self
193
- }, {
194
- type: Optional
195
- }] }, { type: i2.NgtDatatableComponent, decorators: [{
196
- type: Optional
197
- }, {
198
- type: SkipSelf
199
- }] }], propDecorators: { searchInput: [{
200
- type: ViewChild,
201
- args: ['searchInput']
202
- }], modal: [{
203
- type: ViewChild,
204
- args: ['modal', { static: true }]
205
- }], reference: [{
206
- type: Input
207
- }], sortReference: [{
208
- type: Input
209
- }], modalWidth: [{
210
- type: Input
211
- }], searchModalOverflow: [{
212
- type: Input
213
- }], sortable: [{
214
- type: Input
215
- }], searchable: [{
216
- type: Input
217
- }], hasCustomSearch: [{
218
- type: Input
219
- }], searchLabel: [{
220
- type: Input
221
- }], searchIcon: [{
222
- type: Input
223
- }], sortableTooltip: [{
224
- type: Input
225
- }], onEnableSearch: [{
226
- type: Output
227
- }] } });
228
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LXRoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXRhaWx3aW5kL3NyYy9jb21wb25lbnRzL25ndC1kYXRhdGFibGUvbmd0LXRoL25ndC10aC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy10YWlsd2luZC9zcmMvY29tcG9uZW50cy9uZ3QtZGF0YXRhYmxlL25ndC10aC9uZ3QtdGguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxZQUFZLEVBRVosS0FBSyxFQUdMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUVKLFFBQVEsRUFFUixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seURBQXlELENBQUM7Ozs7Ozs7Ozs7O0FBUS9GLE1BQU0sT0FBTyxjQUFjO0lBaUN2QixZQUNZLFFBQWtCLEVBQ2xCLFdBQXVCLEVBQ0gsc0JBQThDLEVBRW5FLFlBQW1DO1FBSmxDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDSCwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBRW5FLGlCQUFZLEdBQVosWUFBWSxDQUF1QjtRQWhDOUIsZUFBVSxHQUFXLGFBQWEsQ0FBQztRQUNuQyx3QkFBbUIsR0FBVyxrQkFBa0IsQ0FBQztRQUdqRCxvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUdqQyxvQkFBZSxHQUF1QjtZQUNsRCxTQUFTLEVBQUUsa0JBQWtCO1lBQzdCLFVBQVUsRUFBRSxrQkFBa0I7WUFDOUIsU0FBUyxFQUFFLGtCQUFrQjtTQUNoQyxDQUFDO1FBRWUsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTlDLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBS25CLDJCQUFzQixHQUF5QixJQUFJLG9CQUFvQixFQUFFLENBQUM7UUFDMUUseUJBQW9CLEdBQXlCLElBQUksb0JBQW9CLEVBQUUsQ0FBQztRQUV2RSxrQkFBYSxHQUF3QixFQUFFLENBQUM7UUFTNUMsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDMUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFFekYsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7b0JBQ3JCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxTQUFTLENBQUM7Z0JBQ3RFLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FDTCxDQUFDO1lBRUYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO2dCQUNwRCxJQUFJLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQzVDLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO29CQUNyQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO2dCQUNqQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQ0wsQ0FBQztRQUNOLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVNLFdBQVcsQ0FBQyxPQUFzQjtRQUNyQyxJQUFJLE9BQU8sQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0UsQ0FBQztJQUNMLENBQUM7SUFFTSxXQUFXO1FBQ2QsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxJQUFJO1FBQ2IsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQztZQUNsRSxJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUVoRCxJQUFJLGFBQWEsRUFBRSxDQUFDO2dCQUNoQixNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBQ3pFLENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDbkMsQ0FBQztZQUVELElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ3ZDLENBQUM7SUFDTCxDQUFDO0lBRU0sWUFBWSxDQUFDLEtBQVU7UUFDMUIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXhCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUMzRCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztRQUUzRSxJQUFJLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFbEQsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNuQixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hDLENBQUM7UUFDTCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFUixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFTSxNQUFNLENBQUMsSUFBUztRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLFNBQVM7ZUFDbkQsSUFBSSxDQUFDLGdCQUFnQixLQUFLLFNBQVMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xELE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNwQyxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7WUFFaEIsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckMsQ0FBQztJQUNMLENBQUM7SUFFTSxZQUFZLENBQUMsSUFBUztRQUN6QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO0lBQ2pDLENBQUM7SUFFTSxVQUFVO1FBQ2IsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN4QyxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQzlCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUM7WUFDMUMsQ0FBQztpQkFBTSxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ3RDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUM7WUFDM0MsQ0FBQztZQUVELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUM7UUFDMUMsQ0FBQztRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVPLGdCQUFnQjtRQUNwQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDcEUsQ0FBQztJQUVPLGNBQWM7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNyQixPQUFPLENBQUMsS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7WUFFbEUsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxjQUFjO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3pDLE9BQU8sQ0FBQyxLQUFLLENBQUMsdUZBQXVGLENBQUMsQ0FBQztZQUV2RyxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVPLG9CQUFvQjtRQUN4QixRQUFRLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN6QixLQUFLLEtBQUssQ0FBQyxDQUFDLE9BQU8sTUFBTSxDQUFDO1lBQzFCLEtBQUssTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdkIsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLEtBQUssQ0FBQztRQUMxQixDQUFDO0lBQ0wsQ0FBQztJQUVPLFlBQVk7UUFDaEIsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBQzFFLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLG9CQUFvQixFQUFFLENBQUM7UUFDL0MsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFO1lBQ3ZDLEVBQUUsRUFBRSxNQUFNO1lBQ1YsRUFBRSxFQUFFLE1BQU07WUFDVixJQUFJLEVBQUUsV0FBVztZQUNqQixJQUFJLEVBQUUsU0FBUztZQUNmLE1BQU0sRUFBRSxVQUFVO1lBQ2xCLGNBQWMsRUFBRSxnQkFBZ0I7WUFDaEMsS0FBSyxFQUFFO2dCQUNILEVBQUUsRUFBRSxFQUFFO2dCQUNOLElBQUksRUFBRSxFQUFFO2dCQUNSLE1BQU0sRUFBRSxFQUFFO2FBQ2I7U0FDSixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7WUFDOUQsR0FBRztZQUNILElBQUk7WUFDSixJQUFJO1lBQ0osSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJO1lBQ0osSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJO1lBQ0osSUFBSTtZQUNKLElBQUk7WUFDSixRQUFRO1lBQ1IsVUFBVTtZQUNWLFlBQVk7WUFDWixjQUFjO1lBQ2QsTUFBTTtZQUNOLE1BQU07U0FDVCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsbUJBQW1CLEVBQUU7WUFDakUsRUFBRSxFQUFFLE1BQU07WUFDVixLQUFLLEVBQUUsRUFBRTtTQUNaLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxpQkFBaUIsRUFBRTtZQUM3RCxFQUFFLEVBQUUsTUFBTTtZQUNWLEVBQUUsRUFBRSxNQUFNO1NBQ2IsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLG9CQUFvQjtRQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQzVCLENBQUM7K0dBak9RLGNBQWM7bUdBQWQsY0FBYyx1bkJDM0IzQixteEZBdURjOzs0RkQ1QkQsY0FBYztrQkFKMUIsU0FBUzsrQkFDSSxVQUFVOzswQkF1Q2YsSUFBSTs7MEJBQUksUUFBUTs7MEJBQ2hCLFFBQVE7OzBCQUFJLFFBQVE7eUNBcENRLFdBQVc7c0JBQTNDLFNBQVM7dUJBQUMsYUFBYTtnQkFDcUIsS0FBSztzQkFBakQsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUVwQixTQUFTO3NCQUF4QixLQUFLO2dCQUNVLGFBQWE7c0JBQTVCLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxtQkFBbUI7c0JBQWxDLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLGVBQWU7c0JBQTlCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLGVBQWU7c0JBQTlCLEtBQUs7Z0JBTVcsY0FBYztzQkFBOUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFNlbGYsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBTa2lwU2VsZixcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE5ndFN0eWxpemFibGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzL25ndC1zdHlsaXphYmxlL25ndC1zdHlsaXphYmxlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBOZ3RTdHlsaXphYmxlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL25ndC1zdHlsaXphYmxlL25ndC1zdHlsaXphYmxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmd0SW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9uZ3QtaW5wdXQvbmd0LWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ3REYXRhdGFibGVDb21wb25lbnQgfSBmcm9tICcuLi9uZ3QtZGF0YXRhYmxlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnW25ndC10aF0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uZ3QtdGguY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIE5ndFRoQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAgIEBWaWV3Q2hpbGQoJ3NlYXJjaElucHV0JykgcHVibGljIHNlYXJjaElucHV0OiBOZ3RJbnB1dENvbXBvbmVudDtcbiAgICBAVmlld0NoaWxkKCdtb2RhbCcsIHsgc3RhdGljOiB0cnVlIH0pIHB1YmxpYyBtb2RhbDogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBJbnB1dCgpIHB1YmxpYyByZWZlcmVuY2U6IHN0cmluZztcbiAgICBASW5wdXQoKSBwdWJsaWMgc29ydFJlZmVyZW5jZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBtb2RhbFdpZHRoOiBzdHJpbmcgPSAnbWQ6bWF4LXctbWQnO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzZWFyY2hNb2RhbE92ZXJmbG93OiBzdHJpbmcgPSAnb3ZlcmZsb3ctdmlzaWJsZSc7XG4gICAgQElucHV0KCkgcHVibGljIHNvcnRhYmxlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzZWFyY2hhYmxlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBoYXNDdXN0b21TZWFyY2g6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgc2VhcmNoTGFiZWw6IHN0cmluZztcbiAgICBASW5wdXQoKSBwdWJsaWMgc2VhcmNoSWNvbjogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzb3J0YWJsZVRvb2x0aXA6IE5ndFNvcnRhYmxlVG9vbHRpcCA9IHtcbiAgICAgICAgYXNjZW5kaW5nOiAnT3JkZW5hciBkZSBaIGEgQScsXG4gICAgICAgIGRlc2NlbmRpbmc6ICdMaW1wYXIgb3JkZW5hw6fDo28nLFxuICAgICAgICB1bm9yZGVyZWQ6ICdPcmRlbmFyIGRlIEEgYSBaJ1xuICAgIH07XG5cbiAgICBAT3V0cHV0KCkgcHVibGljIG9uRW5hYmxlU2VhcmNoID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgcHVibGljIGlucHV0Rm9jdXNlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc0N1cnJlbnRTb3J0ID0gZmFsc2U7XG4gICAgcHVibGljIHNvcnREaXJlY3Rpb24gPSAnJztcbiAgICBwdWJsaWMgc2VhcmNoVGVybTogYW55O1xuICAgIHB1YmxpYyBjdXN0b21TZWFyY2hUZXJtOiBhbnk7XG5cbiAgICBwdWJsaWMgbmd0U3R5bGU6IE5ndFN0eWxpemFibGVTZXJ2aWNlO1xuICAgIHB1YmxpYyBmaWx0ZXJNb2RhbEhlYWRlclN0eWxlOiBOZ3RTdHlsaXphYmxlU2VydmljZSA9IG5ldyBOZ3RTdHlsaXphYmxlU2VydmljZSgpO1xuICAgIHB1YmxpYyBmaWx0ZXJNb2RhbEJvZHlTdHlsZTogTmd0U3R5bGl6YWJsZVNlcnZpY2UgPSBuZXcgTmd0U3R5bGl6YWJsZVNlcnZpY2UoKTtcblxuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uczogQXJyYXk8U3Vic2NyaXB0aW9uPiA9IFtdO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSBob3N0RWxlbWVudDogRWxlbWVudFJlZixcbiAgICAgICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwcml2YXRlIG5ndFN0eWxpemFibGVEaXJlY3RpdmU6IE5ndFN0eWxpemFibGVEaXJlY3RpdmUsXG4gICAgICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpXG4gICAgICAgIHB1YmxpYyBuZ3REYXRhVGFibGU6IE5ndERhdGF0YWJsZUNvbXBvbmVudFxuICAgICkge1xuICAgICAgICBpZiAodGhpcy5jaGVja0RhdGFUYWJsZSgpKSB7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgICAgICAgICAgICB0aGlzLm5ndERhdGFUYWJsZS5vbkRhdGFDaGFuZ2Uuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0N1cnJlbnRTb3J0ID0gdGhpcy5uZ3REYXRhVGFibGUuZ2V0Q3VycmVudFNvcnQoKS5maWVsZCA9PSB0aGlzLmdldFNvcnRSZWZlcmVuY2UoKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0N1cnJlbnRTb3J0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNvcnREaXJlY3Rpb24gPSB0aGlzLm5ndERhdGFUYWJsZS5nZXRDdXJyZW50U29ydCgpLmRpcmVjdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgICAgICAgICAgICB0aGlzLm5ndERhdGFUYWJsZS5vbkNsZWFyRmlsdGVyLnN1YnNjcmliZSgocmVmZXJlbmNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZWZlcmVuY2UgPT0gdGhpcy5yZWZlcmVuY2UgfHwgIXJlZmVyZW5jZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWFyY2hUZXJtID0gJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmN1c3RvbVNlYXJjaFRlcm0gPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmJpbmROZ3RTdHlsZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGlmIChjaGFuZ2VzLnNlYXJjaExhYmVsICYmIHRoaXMuY2hlY2tEYXRhVGFibGUpIHtcbiAgICAgICAgICAgIHRoaXMubmd0RGF0YVRhYmxlLnNldEZpbHRlckRlc2NyaXB0aW9uKHRoaXMucmVmZXJlbmNlLCB0aGlzLnNlYXJjaExhYmVsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kZXN0cm95U3Vic2NyaXB0aW9ucygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBzb3J0KCkge1xuICAgICAgICBpZiAodGhpcy5zb3J0YWJsZSAmJiB0aGlzLmNoZWNrRGF0YVRhYmxlKCkgJiYgdGhpcy5jaGVja1JlZmVyZW5jZSgpKSB7XG4gICAgICAgICAgICBsZXQgc29ydERpcmVjdGlvbiA9IHRoaXMuZ2V0TmV4dFNvcnREaXJlY3Rpb24oKTtcblxuICAgICAgICAgICAgaWYgKHNvcnREaXJlY3Rpb24pIHtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLm5ndERhdGFUYWJsZS5zb3J0KHRoaXMuZ2V0U29ydFJlZmVyZW5jZSgpLCBzb3J0RGlyZWN0aW9uKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5uZ3REYXRhVGFibGUuc29ydCgnJywgJycpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnNvcnREaXJlY3Rpb24gPSBzb3J0RGlyZWN0aW9uO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGVuYWJsZVNlYXJjaChldmVudDogYW55KSB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIHRoaXMubmd0RGF0YVRhYmxlLnNlYXJjaE1vZGFsLm5ndFN0eWxlLncgPSB0aGlzLm1vZGFsV2lkdGg7XG4gICAgICAgIHRoaXMubmd0RGF0YVRhYmxlLnNlYXJjaE1vZGFsLm5ndFN0eWxlLm92ZXJmbG93ID0gdGhpcy5zZWFyY2hNb2RhbE92ZXJmbG93O1xuXG4gICAgICAgIHRoaXMubmd0RGF0YVRhYmxlLnNldFNlYXJjaE1vZGFsVGVtcGxhdGUodGhpcy5tb2RhbCk7XG4gICAgICAgIHRoaXMubmd0RGF0YVRhYmxlLm9wZW5TZWFyY2hNb2RhbCh0aGlzLnJlZmVyZW5jZSk7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5zZWFyY2hJbnB1dCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoSW5wdXQuc2V0Rm9jdXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgMTAwKTtcblxuICAgICAgICB0aGlzLm9uRW5hYmxlU2VhcmNoLmVtaXQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VhcmNoKHRlcm06IGFueSkge1xuICAgICAgICBpZiAoIXRoaXMuaGFzQ3VzdG9tU2VhcmNoICYmIHRoaXMuc2VhcmNoVGVybSA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAmJiB0aGlzLmN1c3RvbVNlYXJjaFRlcm0gPT09IHVuZGVmaW5lZCAmJiAhdGVybSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoYWJsZSAmJiB0aGlzLnJlZmVyZW5jZSkge1xuICAgICAgICAgICAgbGV0IGZpbHRlciA9IHt9O1xuXG4gICAgICAgICAgICBmaWx0ZXJbdGhpcy5yZWZlcmVuY2VdID0gdGVybTtcbiAgICAgICAgICAgIHRoaXMubmd0RGF0YVRhYmxlLnNlYXJjaChmaWx0ZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGN1c3RvbVNlYXJjaCh0ZXJtOiBhbnkpIHtcbiAgICAgICAgdGhpcy5jdXN0b21TZWFyY2hUZXJtID0gdGVybTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0VG9vbHRpcCgpIHtcbiAgICAgICAgaWYgKHRoaXMuc29ydGFibGUgJiYgdGhpcy5zb3J0YWJsZVRvb2x0aXApIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNvcnREaXJlY3Rpb24gPT0gJ2FzYycpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zb3J0YWJsZVRvb2x0aXAuYXNjZW5kaW5nO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnNvcnREaXJlY3Rpb24gPT0gJ2Rlc2MnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc29ydGFibGVUb29sdGlwLmRlc2NlbmRpbmc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNvcnRhYmxlVG9vbHRpcC51bm9yZGVyZWQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTb3J0UmVmZXJlbmNlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zb3J0UmVmZXJlbmNlID8gdGhpcy5zb3J0UmVmZXJlbmNlIDogdGhpcy5yZWZlcmVuY2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0RhdGFUYWJsZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLm5ndERhdGFUYWJsZSkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignVGhlIFtuZ3QtdGhdIG11c3QgYmUgaW5zaWRlIG9mIGEgW25ndC1kYXRhdGFibGVdJyk7XG5cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tSZWZlcmVuY2UoKSB7XG4gICAgICAgIGlmICghdGhpcy5yZWZlcmVuY2UgJiYgIXRoaXMuc29ydFJlZmVyZW5jZSkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignVGhlIFtuZ3QtdGhdIG11c3QgaGF2ZSBhIFtyZWZlcmVuY2VdIG9yIGEgW3NvcnRSZWZlcmVuY2VdIHByb3BlcnR5IHRvIGJlIGFibGUgdG8gc29ydCcpO1xuXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE5leHRTb3J0RGlyZWN0aW9uKCkge1xuICAgICAgICBzd2l0Y2ggKHRoaXMuc29ydERpcmVjdGlvbikge1xuICAgICAgICAgICAgY2FzZSAnYXNjJzogcmV0dXJuICdkZXNjJztcbiAgICAgICAgICAgIGNhc2UgJ2Rlc2MnOiByZXR1cm4gJyc7XG4gICAgICAgICAgICBjYXNlICcnOiByZXR1cm4gJ2FzYyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGJpbmROZ3RTdHlsZSgpIHtcbiAgICAgICAgaWYgKHRoaXMubmd0U3R5bGl6YWJsZURpcmVjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy5uZ3RTdHlsZSA9IHRoaXMubmd0U3R5bGl6YWJsZURpcmVjdGl2ZS5nZXROZ3RTdHlsaXphYmxlU2VydmljZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5uZ3RTdHlsZSA9IG5ldyBOZ3RTdHlsaXphYmxlU2VydmljZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5uZ3RTdHlsZS5sb2FkKHRoaXMuaW5qZWN0b3IsICdOZ3RUaCcsIHtcbiAgICAgICAgICAgIHB5OiAncHktNCcsXG4gICAgICAgICAgICBweDogJ3B4LTYnLFxuICAgICAgICAgICAgZm9udDogJ2ZvbnQtYm9sZCcsXG4gICAgICAgICAgICB0ZXh0OiAndGV4dC1zbScsXG4gICAgICAgICAgICBib3JkZXI6ICdib3JkZXItYicsXG4gICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2p1c3RpZnktY2VudGVyJyxcbiAgICAgICAgICAgIGNvbG9yOiB7XG4gICAgICAgICAgICAgICAgYmc6ICcnLFxuICAgICAgICAgICAgICAgIHRleHQ6ICcnLFxuICAgICAgICAgICAgICAgIGJvcmRlcjogJydcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdCArPSB0aGlzLm5ndFN0eWxlLmNvbXBpbGUoW1xuICAgICAgICAgICAgJ2gnLFxuICAgICAgICAgICAgJ3B4JyxcbiAgICAgICAgICAgICdweScsXG4gICAgICAgICAgICAncGInLFxuICAgICAgICAgICAgJ3BsJyxcbiAgICAgICAgICAgICdwcicsXG4gICAgICAgICAgICAncHQnLFxuICAgICAgICAgICAgJ21iJyxcbiAgICAgICAgICAgICdtbCcsXG4gICAgICAgICAgICAnbXInLFxuICAgICAgICAgICAgJ210JyxcbiAgICAgICAgICAgICdib3JkZXInLFxuICAgICAgICAgICAgJ2NvbG9yLmJnJyxcbiAgICAgICAgICAgICdjb2xvci50ZXh0JyxcbiAgICAgICAgICAgICdjb2xvci5ib3JkZXInLFxuICAgICAgICAgICAgJ3RleHQnLFxuICAgICAgICAgICAgJ2ZvbnQnLFxuICAgICAgICBdKTtcblxuICAgICAgICB0aGlzLmZpbHRlck1vZGFsSGVhZGVyU3R5bGUubG9hZCh0aGlzLmluamVjdG9yLCAnRmlsdGVyTW9kYWxIZWFkZXInLCB7XG4gICAgICAgICAgICBwYjogJ3BiLTMnLFxuICAgICAgICAgICAgY29sb3I6IHt9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZmlsdGVyTW9kYWxCb2R5U3R5bGUubG9hZCh0aGlzLmluamVjdG9yLCAnRmlsdGVyTW9kYWxCb2R5Jywge1xuICAgICAgICAgICAgcHg6ICdweC0wJyxcbiAgICAgICAgICAgIHB5OiAncHktMCdcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZXN0cm95U3Vic2NyaXB0aW9ucygpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goc3Vic2NyaXB0aW9uID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zID0gW107XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5ndFNvcnRhYmxlVG9vbHRpcCB7XG4gICAgYXNjZW5kaW5nOiBzdHJpbmc7XG4gICAgZGVzY2VuZGluZzogc3RyaW5nO1xuICAgIHVub3JkZXJlZDogc3RyaW5nO1xufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIHctZnVsbCB7eyBuZ3RTdHlsZS5jb21waWxlKFsnanVzdGlmeUNvbnRlbnQnXSkgfX1cIiBbdGl0bGVdPVwiZ2V0VG9vbHRpcCgpXCIgKGNsaWNrKT0nc29ydCgpJ1xuICAgIFtjbGFzcy5jdXJzb3ItcG9pbnRlcl09J3NvcnRhYmxlJz5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj0nc29ydGFibGUgJiYgaXNDdXJyZW50U29ydCc+XG4gICAgICAgIDxzdmcgKm5nSWY9XCJzb3J0RGlyZWN0aW9uID09ICdhc2MnXCIgY2xhc3M9XCJmaWxsLWN1cnJlbnQgc2VsZi1jZW50ZXIgY3Vyc29yLXBvaW50ZXIgbWwtMVwiXG4gICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiPlxuICAgICAgICAgICAgPHBhdGggZD1cIk05LjI5MyAxMi45NWwuNzA3LjcwN0wxNS42NTcgOGwtMS40MTQtMS40MTRMMTAgMTAuODI4IDUuNzU3IDYuNTg2IDQuMzQzIDh6XCIgLz5cbiAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgPHN2ZyAqbmdJZj1cInNvcnREaXJlY3Rpb24gPT0gJ2Rlc2MnXCIgY2xhc3M9XCJmaWxsLWN1cnJlbnQgc2VsZi1jZW50ZXIgY3Vyc29yLXBvaW50ZXIgbWwtMVwiXG4gICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiPlxuICAgICAgICAgICAgPHBhdGggZD1cIk0xMC43MDcgNy4wNUwxMCA2LjM0MyA0LjM0MyAxMmwxLjQxNCAxLjQxNEwxMCA5LjE3Mmw0LjI0MyA0LjI0MkwxNS42NTcgMTJ6XCIgLz5cbiAgICAgICAgPC9zdmc+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPSdzZWFyY2hhYmxlJz5cbiAgICAgICAgPGRpdiAoY2xpY2spPSdlbmFibGVTZWFyY2goJGV2ZW50KScgY2xhc3M9XCJmbG9hdC1yaWdodCBtbC0yXCIgdGl0bGU9XCJGaWx0cmFyXCI+XG4gICAgICAgICAgICA8bmd0LWFjdGlvbiBjbGFzcz1cInRleHQtbGdcIiBoPSdoLTYnIHc9J3ctNicgW2ZvcmNlRW5hYmxlXT1cInRydWVcIiBuZ3Qtc3R5bGl6YWJsZT5cbiAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwiZmlsbC1jdXJyZW50IHNlbGYtY2VudGVyXCIgdmlld0JveD1cIjAgMCAxNzkyIDE3OTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE1OTUgMjk1cTE3IDQxLTE0IDcwbC00OTMgNDkzdjc0MnEwIDQyLTM5IDU5LTEzIDUtMjUgNS0yNyAwLTQ1LTE5bC0yNTYtMjU2cS0xOS0xOS0xOS00NVY4NThMMjExIDM2NXEtMzEtMjktMTQtNzAgMTctMzkgNTktMzloMTI4MHE0MiAwIDU5IDM5elwiIC8+XG4gICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICA8L25ndC1hY3Rpb24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjbW9kYWw+XG4gICAgPG5ndC1tb2RhbC1oZWFkZXIgW2Rpc2FibGVEZWZhdWx0Q2xvc2VzXT1cIm5ndERhdGFUYWJsZS5zZWFyY2hNb2RhbC5kaXNhYmxlRGVmYXVsdENsb3Nlc1wiXG4gICAgICAgIFtuZ3RTdHlsZV09XCJmaWx0ZXJNb2RhbEhlYWRlclN0eWxlXCIgKG9uQ2xvc2UpPVwibmd0RGF0YVRhYmxlLnNlYXJjaE1vZGFsLmNsb3NlKClcIj5cbiAgICAgICAgPG5ndC1zdmcgKm5nSWY9XCJzZWFyY2hJY29uXCIgW3NyY109XCJzZWFyY2hJY29uXCIgY2xhc3M9XCJ0ZXh0LXNtXCI+XG4gICAgICAgIDwvbmd0LXN2Zz5cblxuICAgICAgICA8c3ZnICpuZ0lmPVwiIXNlYXJjaEljb25cIiBjbGFzcz1cImZpbGwtY3VycmVudCBzZWxmLWNlbnRlciB0ZXh0LXNtXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiXG4gICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgIGQ9XCJNNy4wMDQyIDYuODQ0MTdMMTEuODA0MiAyLjA0NDE3Vi0wLjM1NTgzNUgtMC4xOTU4MDFWMi4wNDQxN0w0LjYwNDIgNi44NDQxN1YxMS42NDQyTDcuMDA0MiA5LjI0NDE3VjYuODQ0MTdaXCIgLz5cbiAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJzZWFyY2hMYWJlbFwiIGNsYXNzPVwiZm9udC1zZW1pYm9sZCB0ZXh0LXNtIG1sLTJcIj5cbiAgICAgICAgICAgIHt7IHNlYXJjaExhYmVsIH19XG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9J1tjdXN0b21TZWFyY2hIZWFkZXJdJz48L25nLWNvbnRlbnQ+XG4gICAgPC9uZ3QtbW9kYWwtaGVhZGVyPlxuXG4gICAgPG5ndC1tb2RhbC1ib2R5IFtpc0Rpc2FibGVkXT1cImZhbHNlXCIgW25ndFN0eWxlXT1cImZpbHRlck1vZGFsQm9keVN0eWxlXCI+XG4gICAgICAgIDxuZ3QtaW5wdXQgKm5nSWY9XCIhaGFzQ3VzdG9tU2VhcmNoXCIgaml0PSd0cnVlJyBbKG5nTW9kZWwpXT0nc2VhcmNoVGVybScgKG5nTW9kZWxDaGFuZ2UpPSdzZWFyY2goJGV2ZW50KSdcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPSdQZXNxdWlzYXIuLi4nIG5hbWU9J3t7IHJlZmVyZW5jZSB9fV9maWx0ZXInICNzZWFyY2hJbnB1dD5cbiAgICAgICAgPC9uZ3QtaW5wdXQ+XG5cbiAgICAgICAgPGRpdiBbaGlkZGVuXT0nIWhhc0N1c3RvbVNlYXJjaCc+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9J1tjdXN0b21TZWFyY2hdJz48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmd0LW1vZGFsLWJvZHk+XG48L25nLXRlbXBsYXRlPiJdfQ==
@@ -1,127 +0,0 @@
1
- import { Component, Optional, Self, SkipSelf, ViewChild } from '@angular/core';
2
- import { NgtStylizableService } from '../../../services/ngt-stylizable/ngt-stylizable.service';
3
- import { NgtCheckboxComponent } from '../../ngt-checkbox/ngt-checkbox.component';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../../../directives/ngt-stylizable/ngt-stylizable.directive";
6
- import * as i2 from "../ngt-datatable.component";
7
- import * as i3 from "../../../services/http/ngt-translate.service";
8
- import * as i4 from "@angular/common";
9
- import * as i5 from "@angular/forms";
10
- import * as i6 from "../../ngt-checkbox/ngt-checkbox.component";
11
- export class NgtThCheckComponent {
12
- constructor(injector, hostElement, ngtStylizableDirective, ngtDataTable, ngtTranslateService) {
13
- this.injector = injector;
14
- this.hostElement = hostElement;
15
- this.ngtStylizableDirective = ngtStylizableDirective;
16
- this.ngtDataTable = ngtDataTable;
17
- this.ngtTranslateService = ngtTranslateService;
18
- this.checked = false;
19
- this.subscriptions = [];
20
- this.bindNgtStyle();
21
- if (this.hasSelectedAllElements()) {
22
- this.checked = true;
23
- this.hasSelectedAllCheckboxes = true;
24
- }
25
- }
26
- getSelectAllElementsCheckboxStyle() {
27
- return this.hasSelectedAllElements()
28
- ? `${this.ngtCheckbox?.ngtStyle.compile(['color.bg'])} text-white`
29
- : `hover:${this.ngtCheckbox?.ngtStyle.compile(['color.bg'])} hover:text-white bg-white`;
30
- }
31
- hasSelectedAllElements() {
32
- return this.ngtDataTable?.hasSelectedAllElements;
33
- }
34
- canSelectAllFilter() {
35
- return this.ngtDataTable?.canSelectAllRegisters;
36
- }
37
- getPaginationTotal() {
38
- return this.ngtDataTable?.ngtPagination?.getPagination()?.total;
39
- }
40
- onToggleSelectAllElements() {
41
- this.ngtDataTable?.onSelectAllRegisters.emit();
42
- }
43
- ngAfterContentInit() {
44
- if (this.ngtDataTable) {
45
- this.subscriptions.push(this.ngtDataTable.onDataChange.subscribe(() => {
46
- this.checked = false;
47
- }));
48
- this.subscriptions.push(this.ngtDataTable.onClearSelectedElements.subscribe(() => {
49
- this.checked = false;
50
- }));
51
- }
52
- }
53
- ngOnDestroy() {
54
- this.destroySubscriptions();
55
- }
56
- onCheckboxChange(checked) {
57
- if (this.ngtDataTable) {
58
- this.ngtDataTable.onToogleAllCheckboxes.emit(checked);
59
- this.hasSelectedAllCheckboxes = checked;
60
- this.checked = checked;
61
- if (!checked && this.hasSelectedAllElements()) {
62
- this.hasSelectedAllCheckboxes = true;
63
- this.checked = true;
64
- }
65
- }
66
- }
67
- bindNgtStyle() {
68
- if (this.ngtStylizableDirective) {
69
- this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();
70
- }
71
- else {
72
- this.ngtStyle = new NgtStylizableService();
73
- }
74
- this.ngtStyle.load(this.injector, 'NgtThCheck', {
75
- py: 'py-4',
76
- px: 'px-6',
77
- text: 'text-center',
78
- border: 'border-b',
79
- color: {
80
- border: '',
81
- bg: 'bg-gray-500',
82
- text: 'text-white'
83
- }
84
- });
85
- this.hostElement.nativeElement.classList += this.ngtStyle.compile([
86
- 'h',
87
- 'px',
88
- 'py',
89
- 'pb',
90
- 'pl',
91
- 'pr',
92
- 'pt',
93
- 'mb',
94
- 'ml',
95
- 'mr',
96
- 'mt',
97
- 'border',
98
- 'color.border',
99
- 'color.bg',
100
- 'color.text'
101
- ]);
102
- }
103
- destroySubscriptions() {
104
- this.subscriptions.forEach(subscription => subscription.unsubscribe());
105
- this.subscriptions = [];
106
- }
107
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtThCheckComponent, deps: [{ token: i0.Injector }, { token: i0.ElementRef }, { token: i1.NgtStylizableDirective, optional: true, self: true }, { token: i2.NgtDatatableComponent, optional: true, skipSelf: true }, { token: i3.NgtTranslateService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
108
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NgtThCheckComponent, selector: "[ngt-th-check]", viewQueries: [{ propertyName: "ngtCheckbox", first: true, predicate: NgtCheckboxComponent, descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"canSelectAllFilter(); else default\">\n <div class=\"flex items-center content-center relative w-10\">\n <ngt-checkbox [(ngModel)]='checked' (ngModelChange)='onCheckboxChange($event)'\n (click)=\"$event.stopPropagation()\">\n </ngt-checkbox>\n\n <div *ngIf=\"hasSelectedAllCheckboxes\" class=\"rounded-md border border-gray-400 p-1 ml-1 cursor-pointer relative\"\n [ngClass]=\"getSelectAllElementsCheckboxStyle()\"\n [title]=\"hasSelectedAllElements() ? ngtTranslateService.ngtDatatableClearSelection : ngtTranslateService.ngtDatatableSelectAllRegisters\"\n (click)=\"onToggleSelectAllElements()\">\n <svg class=\"fill-current self-center h-4\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\">\n <path\n d=\"M342.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 178.7l-57.4-57.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l80 80c12.5 12.5 32.8 12.5 45.3 0l160-160zm96 128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 402.7 54.6 297.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l256-256z\" />\n </svg>\n\n <div *ngIf=\"hasSelectedAllElements()\"\n class=\"rounded-xl absolute top-0 text-xs right-0 -mt-5 -mr-2 py-1 px-2 text-center text-white bg-blue-500\">\n {{ getPaginationTotal() }}\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #default>\n <ngt-checkbox [(ngModel)]='checked' (ngModelChange)='onCheckboxChange($event)' (click)=\"$event.stopPropagation()\">\n </ngt-checkbox>\n</ng-template>\n\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.NgtCheckboxComponent, selector: "ngt-checkbox", inputs: ["label", "shining", "isDisabled", "isClickDisabled", "name", "mode", "helpTitle", "helpTextColor", "helpText", "helperAutoXReverse"] }] }); }
109
- }
110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtThCheckComponent, decorators: [{
111
- type: Component,
112
- args: [{ selector: '[ngt-th-check]', template: "<ng-container *ngIf=\"canSelectAllFilter(); else default\">\n <div class=\"flex items-center content-center relative w-10\">\n <ngt-checkbox [(ngModel)]='checked' (ngModelChange)='onCheckboxChange($event)'\n (click)=\"$event.stopPropagation()\">\n </ngt-checkbox>\n\n <div *ngIf=\"hasSelectedAllCheckboxes\" class=\"rounded-md border border-gray-400 p-1 ml-1 cursor-pointer relative\"\n [ngClass]=\"getSelectAllElementsCheckboxStyle()\"\n [title]=\"hasSelectedAllElements() ? ngtTranslateService.ngtDatatableClearSelection : ngtTranslateService.ngtDatatableSelectAllRegisters\"\n (click)=\"onToggleSelectAllElements()\">\n <svg class=\"fill-current self-center h-4\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\">\n <path\n d=\"M342.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 178.7l-57.4-57.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l80 80c12.5 12.5 32.8 12.5 45.3 0l160-160zm96 128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L160 402.7 54.6 297.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l256-256z\" />\n </svg>\n\n <div *ngIf=\"hasSelectedAllElements()\"\n class=\"rounded-xl absolute top-0 text-xs right-0 -mt-5 -mr-2 py-1 px-2 text-center text-white bg-blue-500\">\n {{ getPaginationTotal() }}\n </div>\n </div>\n </div>\n</ng-container>\n\n<ng-template #default>\n <ngt-checkbox [(ngModel)]='checked' (ngModelChange)='onCheckboxChange($event)' (click)=\"$event.stopPropagation()\">\n </ngt-checkbox>\n</ng-template>\n\n<ng-content></ng-content>\n" }]
113
- }], ctorParameters: () => [{ type: i0.Injector }, { type: i0.ElementRef }, { type: i1.NgtStylizableDirective, decorators: [{
114
- type: Self
115
- }, {
116
- type: Optional
117
- }] }, { type: i2.NgtDatatableComponent, decorators: [{
118
- type: Optional
119
- }, {
120
- type: SkipSelf
121
- }] }, { type: i3.NgtTranslateService, decorators: [{
122
- type: Optional
123
- }] }], propDecorators: { ngtCheckbox: [{
124
- type: ViewChild,
125
- args: [NgtCheckboxComponent]
126
- }] } });
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LXRoLWNoZWNrLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXRhaWx3aW5kL3NyYy9jb21wb25lbnRzL25ndC1kYXRhdGFibGUvbmd0LXRoLWNoZWNrL25ndC10aC1jaGVjay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy10YWlsd2luZC9zcmMvY29tcG9uZW50cy9uZ3QtZGF0YXRhYmxlL25ndC10aC1jaGVjay9uZ3QtdGgtY2hlY2suY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNlLFNBQVMsRUFBbUMsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUNwRyxNQUFNLGVBQWUsQ0FBQztBQUt2QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUMvRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7Ozs7Ozs7QUFPakYsTUFBTSxPQUFPLG1CQUFtQjtJQVM1QixZQUNZLFFBQWtCLEVBQ2xCLFdBQXVCLEVBR3ZCLHNCQUE4QyxFQUc5QyxZQUFtQyxFQUdwQyxtQkFBd0M7UUFWdkMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUd2QiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBRzlDLGlCQUFZLEdBQVosWUFBWSxDQUF1QjtRQUdwQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBakI1QyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBSWYsa0JBQWEsR0FBd0IsRUFBRSxDQUFDO1FBZTVDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVwQixJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFD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LENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztZQUM5RCxHQUFHO1lBQ0gsSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJO1lBQ0osSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJO1lBQ0osSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJO1lBQ0osSUFBSTtZQUNKLFFBQVE7WUFDUixjQUFjO1lBQ2QsVUFBVTtZQUNWLFlBQVk7U0FDZixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sb0JBQW9CO1FBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDNUIsQ0FBQzsrR0E5SFEsbUJBQW1CO21HQUFuQixtQkFBbUIsbUdBQ2pCLG9CQUFvQixnRENoQm5DLHNyREE2QkE7OzRGRGRhLG1CQUFtQjtrQkFKL0IsU0FBUzsrQkFDSSxnQkFBZ0I7OzBCQWdCckIsSUFBSTs7MEJBQUksUUFBUTs7MEJBR2hCLFFBQVE7OzBCQUFJLFFBQVE7OzBCQUdwQixRQUFRO3lDQWxCMkIsV0FBVztzQkFBbEQsU0FBUzt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0b3IsIE9uRGVzdHJveSwgT3B0aW9uYWwsIFNlbGYsIFNraXBTZWxmLCBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE5ndFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9odHRwL25ndC10cmFuc2xhdGUuc2VydmljZSc7XG5cbmltcG9ydCB7IE5ndFN0eWxpemFibGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzL25ndC1zdHlsaXphYmxlL25ndC1zdHlsaXphYmxlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBOZ3RTdHlsaXphYmxlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL25ndC1zdHlsaXphYmxlL25ndC1zdHlsaXphYmxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmd0Q2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuLi8uLi9uZ3QtY2hlY2tib3gvbmd0LWNoZWNrYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ3REYXRhdGFibGVDb21wb25lbnQgfSBmcm9tICcuLi9uZ3QtZGF0YXRhYmxlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnW25ndC10aC1jaGVja10nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uZ3QtdGgtY2hlY2suY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIE5ndFRoQ2hlY2tDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICAgIEBWaWV3Q2hpbGQoTmd0Q2hlY2tib3hDb21wb25lbnQpIHB1YmxpYyBuZ3RDaGVja2JveDogTmd0Q2hlY2tib3hDb21wb25lbnQ7XG5cbiAgICBwdWJsaWMgY2hlY2tlZCA9IGZhbHNlO1xuICAgIHB1YmxpYyBuZ3RTdHlsZTogTmd0U3R5bGl6YWJsZVNlcnZpY2U7XG4gICAgcHVibGljIGhhc1NlbGVjdGVkQWxsQ2hlY2tib3hlczogYm9vbGVhbjtcblxuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uczogQXJyYXk8U3Vic2NyaXB0aW9uPiA9IFtdO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSBob3N0RWxlbWVudDogRWxlbWVudFJlZixcblxuICAgICAgICBAU2VsZigpIEBPcHRpb25hbCgpXG4gICAgICAgIHByaXZhdGUgbmd0U3R5bGl6YWJsZURpcmVjdGl2ZTogTmd0U3R5bGl6YWJsZURpcmVjdGl2ZSxcblxuICAgICAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKVxuICAgICAgICBwcml2YXRlIG5ndERhdGFUYWJsZTogTmd0RGF0YXRhYmxlQ29tcG9uZW50LFxuXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIHB1YmxpYyBuZ3RUcmFuc2xhdGVTZXJ2aWNlOiBOZ3RUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICB0aGlzLmJpbmROZ3RTdHlsZSgpO1xuXG4gICAgICAgIGlmICh0aGlzLmhhc1NlbGVjdGVkQWxsRWxlbWVudHMoKSkge1xuICAgICAgICAgICAgdGhpcy5jaGVja2VkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuaGFzU2VsZWN0ZWRBbGxDaGVja2JveGVzID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTZWxlY3RBbGxFbGVtZW50c0NoZWNrYm94U3R5bGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzU2VsZWN0ZWRBbGxFbGVtZW50cygpXG4gICAgICAgICAgICA/IGAke3RoaXMubmd0Q2hlY2tib3g/Lm5ndFN0eWxlLmNvbXBpbGUoWydjb2xvci5iZyddKX0gdGV4dC13aGl0ZWBcbiAgICAgICAgICAgIDogYGhvdmVyOiR7dGhpcy5uZ3RDaGVja2JveD8ubmd0U3R5bGUuY29tcGlsZShbJ2NvbG9yLmJnJ10pfSBob3Zlcjp0ZXh0LXdoaXRlIGJnLXdoaXRlYDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFzU2VsZWN0ZWRBbGxFbGVtZW50cygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0RGF0YVRhYmxlPy5oYXNTZWxlY3RlZEFsbEVsZW1lbnRzO1xuICAgIH1cblxuICAgIHB1YmxpYyBjYW5TZWxlY3RBbGxGaWx0ZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ndERhdGFUYWJsZT8uY2FuU2VsZWN0QWxsUmVnaXN0ZXJzO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRQYWdpbmF0aW9uVG90YWwoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmd0RGF0YVRhYmxlPy5uZ3RQYWdpbmF0aW9uPy5nZXRQYWdpbmF0aW9uKCk/LnRvdGFsO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblRvZ2dsZVNlbGVjdEFsbEVsZW1lbnRzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5ndERhdGFUYWJsZT8ub25TZWxlY3RBbGxSZWdpc3RlcnMuZW1pdCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLm5ndERhdGFUYWJsZSkge1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICAgICAgICAgICAgdGhpcy5uZ3REYXRhVGFibGUub25EYXRhQ2hhbmdlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgICAgICAgICAgICB0aGlzLm5ndERhdGFUYWJsZS5vbkNsZWFyU2VsZWN0ZWRFbGVtZW50cy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoZWNrZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kZXN0cm95U3Vic2NyaXB0aW9ucygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNoZWNrYm94Q2hhbmdlKGNoZWNrZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHRoaXMubmd0RGF0YVRhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLm5ndERhdGFUYWJsZS5vblRvb2dsZUFsbENoZWNrYm94ZXMuZW1pdChjaGVja2VkKTtcbiAgICAgICAgICAgIHRoaXMuaGFzU2VsZWN0ZWRBbGxDaGVja2JveGVzID0gY2hlY2tlZDtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tlZCA9IGNoZWNrZWQ7XG5cbiAgICAgICAgICAgIGlmICghY2hlY2tlZCAmJiB0aGlzLmhhc1NlbGVjdGVkQWxsRWxlbWVudHMoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFzU2VsZWN0ZWRBbGxDaGVja2JveGVzID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmNoZWNrZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiaW5kTmd0U3R5bGUoKSB7XG4gICAgICAgIGlmICh0aGlzLm5ndFN0eWxpemFibGVEaXJlY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMubmd0U3R5bGUgPSB0aGlzLm5ndFN0eWxpemFibGVEaXJlY3RpdmUuZ2V0Tmd0U3R5bGl6YWJsZVNlcnZpY2UoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubmd0U3R5bGUgPSBuZXcgTmd0U3R5bGl6YWJsZVNlcnZpY2UoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubmd0U3R5bGUubG9hZCh0aGlzLmluamVjdG9yLCAnTmd0VGhDaGVjaycsIHtcbiAgICAgICAgICAgIHB5OiAncHktNCcsXG4gICAgICAgICAgICBweDogJ3B4LTYnLFxuICAgICAgICAgICAgdGV4dDogJ3RleHQtY2VudGVyJyxcbiAgICAgICAgICAgIGJvcmRlcjogJ2JvcmRlci1iJyxcbiAgICAgICAgICAgIGNvbG9yOiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAnJyxcbiAgICAgICAgICAgICAgICBiZzogJ2JnLWdyYXktNTAwJyxcbiAgICAgICAgICAgICAgICB0ZXh0OiAndGV4dC13aGl0ZSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdCArPSB0aGlzLm5ndFN0eWxlLmNvbXBpbGUoW1xuICAgICAgICAgICAgJ2gnLFxuICAgICAgICAgICAgJ3B4JyxcbiAgICAgICAgICAgICdweScsXG4gICAgICAgICAgICAncGInLFxuICAgICAgICAgICAgJ3BsJyxcbiAgICAgICAgICAgICdwcicsXG4gICAgICAgICAgICAncHQnLFxuICAgICAgICAgICAgJ21iJyxcbiAgICAgICAgICAgICdtbCcsXG4gICAgICAgICAgICAnbXInLFxuICAgICAgICAgICAgJ210JyxcbiAgICAgICAgICAgICdib3JkZXInLFxuICAgICAgICAgICAgJ2NvbG9yLmJvcmRlcicsXG4gICAgICAgICAgICAnY29sb3IuYmcnLFxuICAgICAgICAgICAgJ2NvbG9yLnRleHQnXG4gICAgICAgIF0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGVzdHJveVN1YnNjcmlwdGlvbnMoKSB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHN1YnNjcmlwdGlvbiA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IFtdO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJjYW5TZWxlY3RBbGxGaWx0ZXIoKTsgZWxzZSBkZWZhdWx0XCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGNvbnRlbnQtY2VudGVyIHJlbGF0aXZlIHctMTBcIj5cbiAgICAgICAgPG5ndC1jaGVja2JveCBbKG5nTW9kZWwpXT0nY2hlY2tlZCcgKG5nTW9kZWxDaGFuZ2UpPSdvbkNoZWNrYm94Q2hhbmdlKCRldmVudCknXG4gICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gICAgICAgIDwvbmd0LWNoZWNrYm94PlxuXG4gICAgICAgIDxkaXYgKm5nSWY9XCJoYXNTZWxlY3RlZEFsbENoZWNrYm94ZXNcIiBjbGFzcz1cInJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1ncmF5LTQwMCBwLTEgbWwtMSBjdXJzb3ItcG9pbnRlciByZWxhdGl2ZVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJnZXRTZWxlY3RBbGxFbGVtZW50c0NoZWNrYm94U3R5bGUoKVwiXG4gICAgICAgICAgICBbdGl0bGVdPVwiaGFzU2VsZWN0ZWRBbGxFbGVtZW50cygpID8gbmd0VHJhbnNsYXRlU2VydmljZS5uZ3REYXRhdGFibGVDbGVhclNlbGVjdGlvbiA6IG5ndFRyYW5zbGF0ZVNlcnZpY2Uubmd0RGF0YXRhYmxlU2VsZWN0QWxsUmVnaXN0ZXJzXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvblRvZ2dsZVNlbGVjdEFsbEVsZW1lbnRzKClcIj5cbiAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJmaWxsLWN1cnJlbnQgc2VsZi1jZW50ZXIgaC00XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNDQ4IDUxMlwiPlxuICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICAgIGQ9XCJNMzQyLjYgODYuNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwxNjAgMTc4LjdsLTU3LjQtNTcuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsODAgODBjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsMTYwLTE2MHptOTYgMTI4YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDE2MCA0MDIuNyA1NC42IDI5Ny40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2wxMjggMTI4YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDI1Ni0yNTZ6XCIgLz5cbiAgICAgICAgICAgIDwvc3ZnPlxuXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaGFzU2VsZWN0ZWRBbGxFbGVtZW50cygpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInJvdW5kZWQteGwgYWJzb2x1dGUgdG9wLTAgdGV4dC14cyByaWdodC0wIC1tdC01IC1tci0yIHB5LTEgcHgtMiB0ZXh0LWNlbnRlciB0ZXh0LXdoaXRlIGJnLWJsdWUtNTAwXCI+XG4gICAgICAgICAgICAgICAge3sgZ2V0UGFnaW5hdGlvblRvdGFsKCkgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHQ+XG4gICAgPG5ndC1jaGVja2JveCBbKG5nTW9kZWwpXT0nY2hlY2tlZCcgKG5nTW9kZWxDaGFuZ2UpPSdvbkNoZWNrYm94Q2hhbmdlKCRldmVudCknIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgICA8L25ndC1jaGVja2JveD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
@@ -1,55 +0,0 @@
1
- import { Component, Optional, Self } from '@angular/core';
2
- import { NgtStylizableService } from '../../../services/ngt-stylizable/ngt-stylizable.service';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../../directives/ngt-stylizable/ngt-stylizable.directive";
5
- export class NgtTheadComponent {
6
- constructor(injector, hostElement, ngtStylizableDirective) {
7
- this.injector = injector;
8
- this.hostElement = hostElement;
9
- this.ngtStylizableDirective = ngtStylizableDirective;
10
- if (this.ngtStylizableDirective) {
11
- this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();
12
- }
13
- else {
14
- this.ngtStyle = new NgtStylizableService();
15
- }
16
- this.ngtStyle.load(this.injector, 'NgtThead', {
17
- color: {
18
- bg: 'bg-gray-200',
19
- text: '',
20
- border: ''
21
- }
22
- });
23
- this.hostElement.nativeElement.classList += this.ngtStyle.compile([
24
- 'h',
25
- 'px',
26
- 'py',
27
- 'pb',
28
- 'pl',
29
- 'pr',
30
- 'pt',
31
- 'mb',
32
- 'ml',
33
- 'mr',
34
- 'mt',
35
- 'border',
36
- 'color.bg',
37
- 'color.text',
38
- 'color.border',
39
- 'text',
40
- 'font',
41
- 'rounded'
42
- ]);
43
- }
44
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtTheadComponent, deps: [{ token: i0.Injector }, { token: i0.ElementRef }, { token: i1.NgtStylizableDirective, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
45
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NgtTheadComponent, selector: "[ngt-thead]", ngImport: i0, template: "<ng-content></ng-content>" }); }
46
- }
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtTheadComponent, decorators: [{
48
- type: Component,
49
- args: [{ selector: '[ngt-thead]', template: "<ng-content></ng-content>" }]
50
- }], ctorParameters: () => [{ type: i0.Injector }, { type: i0.ElementRef }, { type: i1.NgtStylizableDirective, decorators: [{
51
- type: Self
52
- }, {
53
- type: Optional
54
- }] }] });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LXRoZWFkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXRhaWx3aW5kL3NyYy9jb21wb25lbnRzL25ndC1kYXRhdGFibGUvbmd0LXRoZWFkL25ndC10aGVhZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy10YWlsd2luZC9zcmMvY29tcG9uZW50cy9uZ3QtZGF0YXRhYmxlL25ndC10aGVhZC9uZ3QtdGhlYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBd0IsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdoRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5REFBeUQsQ0FBQzs7O0FBTS9GLE1BQU0sT0FBTyxpQkFBaUI7SUFHMUIsWUFDWSxRQUFrQixFQUNsQixXQUF1QixFQUNILHNCQUE4QztRQUZsRSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ0gsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUUxRSxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDMUUsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztRQUMvQyxDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUU7WUFDMUMsS0FBSyxFQUFFO2dCQUNILEVBQUUsRUFBRSxhQUFhO2dCQUNqQixJQUFJLEVBQUUsRUFBRTtnQkFDUixNQUFNLEVBQUUsRUFBRTthQUNiO1NBQ0osQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO1lBQzlELEdBQUc7WUFDSCxJQUFJO1lBQ0osSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJO1lBQ0osSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJO1lBQ0osSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJO1lBQ0osUUFBUTtZQUNSLFVBQVU7WUFDVixZQUFZO1lBQ1osY0FBYztZQUNkLE1BQU07WUFDTixNQUFNO1lBQ04sU0FBUztTQUNaLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBMUNRLGlCQUFpQjttR0FBakIsaUJBQWlCLG1EQ1Q5QiwyQkFBeUI7OzRGRFNaLGlCQUFpQjtrQkFKN0IsU0FBUzsrQkFDSSxhQUFhOzswQkFTbEIsSUFBSTs7MEJBQUksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0b3IsIE9wdGlvbmFsLCBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5ndFN0eWxpemFibGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzL25ndC1zdHlsaXphYmxlL25ndC1zdHlsaXphYmxlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBOZ3RTdHlsaXphYmxlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL25ndC1zdHlsaXphYmxlL25ndC1zdHlsaXphYmxlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ1tuZ3QtdGhlYWRdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmd0LXRoZWFkLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBOZ3RUaGVhZENvbXBvbmVudCB7XG4gICAgcHVibGljIG5ndFN0eWxlOiBOZ3RTdHlsaXphYmxlU2VydmljZTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgaG9zdEVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgICAgIEBTZWxmKCkgQE9wdGlvbmFsKCkgcHJpdmF0ZSBuZ3RTdHlsaXphYmxlRGlyZWN0aXZlOiBOZ3RTdHlsaXphYmxlRGlyZWN0aXZlLFxuICAgICkge1xuICAgICAgICBpZiAodGhpcy5uZ3RTdHlsaXphYmxlRGlyZWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLm5ndFN0eWxlID0gdGhpcy5uZ3RTdHlsaXphYmxlRGlyZWN0aXZlLmdldE5ndFN0eWxpemFibGVTZXJ2aWNlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm5ndFN0eWxlID0gbmV3IE5ndFN0eWxpemFibGVTZXJ2aWNlKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm5ndFN0eWxlLmxvYWQodGhpcy5pbmplY3RvciwgJ05ndFRoZWFkJywge1xuICAgICAgICAgICAgY29sb3I6IHtcbiAgICAgICAgICAgICAgICBiZzogJ2JnLWdyYXktMjAwJyxcbiAgICAgICAgICAgICAgICB0ZXh0OiAnJyxcbiAgICAgICAgICAgICAgICBib3JkZXI6ICcnXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QgKz0gdGhpcy5uZ3RTdHlsZS5jb21waWxlKFtcbiAgICAgICAgICAgICdoJyxcbiAgICAgICAgICAgICdweCcsXG4gICAgICAgICAgICAncHknLFxuICAgICAgICAgICAgJ3BiJyxcbiAgICAgICAgICAgICdwbCcsXG4gICAgICAgICAgICAncHInLFxuICAgICAgICAgICAgJ3B0JyxcbiAgICAgICAgICAgICdtYicsXG4gICAgICAgICAgICAnbWwnLFxuICAgICAgICAgICAgJ21yJyxcbiAgICAgICAgICAgICdtdCcsXG4gICAgICAgICAgICAnYm9yZGVyJyxcbiAgICAgICAgICAgICdjb2xvci5iZycsXG4gICAgICAgICAgICAnY29sb3IudGV4dCcsXG4gICAgICAgICAgICAnY29sb3IuYm9yZGVyJyxcbiAgICAgICAgICAgICd0ZXh0JyxcbiAgICAgICAgICAgICdmb250JyxcbiAgICAgICAgICAgICdyb3VuZGVkJ1xuICAgICAgICBdKTtcbiAgICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+Il19
@@ -1,86 +0,0 @@
1
- import { Component, HostBinding, Input, Optional, Self, SkipSelf, ViewEncapsulation, } from '@angular/core';
2
- import { NgtStylizableService } from '../../../services/ngt-stylizable/ngt-stylizable.service';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../ngt-thead/ngt-thead.component";
5
- import * as i2 from "../ngt-tbody/ngt-tbody.component";
6
- import * as i3 from "../../../directives/ngt-stylizable/ngt-stylizable.directive";
7
- export class NgtTrComponent {
8
- constructor(injector, hostElement, ngtThead, ngtTbody, ngtStylizableDirective) {
9
- this.injector = injector;
10
- this.hostElement = hostElement;
11
- this.ngtThead = ngtThead;
12
- this.ngtTbody = ngtTbody;
13
- this.ngtStylizableDirective = ngtStylizableDirective;
14
- if (this.ngtStylizableDirective) {
15
- this.ngtStyle = this.ngtStylizableDirective.getNgtStylizableService();
16
- }
17
- else {
18
- this.ngtStyle = new NgtStylizableService();
19
- }
20
- this.ngtStyle.load(this.injector, 'NgtTr', {
21
- border: 'border-r border-t md:border-r-0 md:border-t-0',
22
- color: {
23
- bg: '',
24
- text: '',
25
- border: ''
26
- }
27
- }, [this.getInheritanceStyles()]);
28
- this.hostElement.nativeElement.classList += this.ngtStyle.compile([
29
- 'h',
30
- 'px',
31
- 'py',
32
- 'pb',
33
- 'pl',
34
- 'pr',
35
- 'pt',
36
- 'mb',
37
- 'ml',
38
- 'mr',
39
- 'mt',
40
- 'border',
41
- 'color.bg',
42
- 'color.text',
43
- 'color.border',
44
- 'text',
45
- 'font',
46
- ]);
47
- }
48
- getInheritanceStyles() {
49
- if (this.ngtThead) {
50
- return 'NgtTheadStyle';
51
- }
52
- else if (this.ngtTbody) {
53
- return 'NgtTbodyStyle';
54
- }
55
- return '';
56
- }
57
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtTrComponent, deps: [{ token: i0.Injector }, { token: i0.ElementRef }, { token: i1.NgtTheadComponent, optional: true, skipSelf: true }, { token: i2.NgtTbodyComponent, optional: true, skipSelf: true }, { token: i3.NgtStylizableDirective, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
58
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NgtTrComponent, selector: "[ngt-tr]", inputs: { evenStripped: "evenStripped", oddStripped: "oddStripped" }, host: { properties: { "class.evenStripped": "this.evenStripped", "class.oddStripped": "this.oddStripped" } }, ngImport: i0, template: "<ng-content></ng-content>", styles: [".evenStripped:nth-child(2n){background-color:#edf2f7!important}.oddStripped:nth-child(odd){background-color:#edf2f7!important}\n"], encapsulation: i0.ViewEncapsulation.None }); }
59
- }
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NgtTrComponent, decorators: [{
61
- type: Component,
62
- args: [{ selector: '[ngt-tr]', encapsulation: ViewEncapsulation.None, template: "<ng-content></ng-content>", styles: [".evenStripped:nth-child(2n){background-color:#edf2f7!important}.oddStripped:nth-child(odd){background-color:#edf2f7!important}\n"] }]
63
- }], ctorParameters: () => [{ type: i0.Injector }, { type: i0.ElementRef }, { type: i1.NgtTheadComponent, decorators: [{
64
- type: SkipSelf
65
- }, {
66
- type: Optional
67
- }] }, { type: i2.NgtTbodyComponent, decorators: [{
68
- type: SkipSelf
69
- }, {
70
- type: Optional
71
- }] }, { type: i3.NgtStylizableDirective, decorators: [{
72
- type: Self
73
- }, {
74
- type: Optional
75
- }] }], propDecorators: { evenStripped: [{
76
- type: HostBinding,
77
- args: ['class.evenStripped']
78
- }, {
79
- type: Input
80
- }], oddStripped: [{
81
- type: HostBinding,
82
- args: ['class.oddStripped']
83
- }, {
84
- type: Input
85
- }] } });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0LXRyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXRhaWx3aW5kL3NyYy9jb21wb25lbnRzL25ndC1kYXRhdGFibGUvbmd0LXRyL25ndC10ci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy10YWlsd2luZC9zcmMvY29tcG9uZW50cy9uZ3QtZGF0YXRhYmxlL25ndC10ci9uZ3QtdHIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxXQUFXLEVBRVgsS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osUUFBUSxFQUNSLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5REFBeUQsQ0FBQzs7Ozs7QUFVL0YsTUFBTSxPQUFPLGNBQWM7SUFNdkIsWUFDWSxRQUFrQixFQUNsQixXQUF1QixFQUNDLFFBQTJCLEVBQzNCLFFBQTJCLEVBQy9CLHNCQUE4QztRQUpsRSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ0MsYUFBUSxHQUFSLFFBQVEsQ0FBbUI7UUFDM0IsYUFBUSxHQUFSLFFBQVEsQ0FBbUI7UUFDL0IsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUUxRSxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDMUUsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztRQUMvQyxDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUU7WUFDdkMsTUFBTSxFQUFFLCtDQUErQztZQUN2RCxLQUFLLEVBQUU7Z0JBQ0gsRUFBRSxFQUFFLEVBQUU7Z0JBQ04sSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsTUFBTSxFQUFFLEVBQUU7YUFDYjtTQUNKLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFbEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO1lBQzlELEdBQUc7WUFDSCxJQUFJO1lBQ0osSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJO1lBQ0osSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJO1lBQ0osSUFBSTtZQUNKLElBQUk7WUFDSixJQUFJO1lBQ0osUUFBUTtZQUNSLFVBQVU7WUFDVixZQUFZO1lBQ1osY0FBYztZQUNkLE1BQU07WUFDTixNQUFNO1NBQ1QsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLG9CQUFvQjtRQUN4QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixPQUFPLGVBQWUsQ0FBQztRQUMzQixDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdkIsT0FBTyxlQUFlLENBQUM7UUFDM0IsQ0FBQztRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQzsrR0F6RFEsY0FBYzttR0FBZCxjQUFjLG9PQ3ZCM0IsMkJBQXlCOzs0RkR1QlosY0FBYztrQkFOMUIsU0FBUzsrQkFDSSxVQUFVLGlCQUdMLGlCQUFpQixDQUFDLElBQUk7OzBCQVdoQyxRQUFROzswQkFBSSxRQUFROzswQkFDcEIsUUFBUTs7MEJBQUksUUFBUTs7MEJBQ3BCLElBQUk7OzBCQUFJLFFBQVE7eUNBVjhCLFlBQVk7c0JBQTlELFdBQVc7dUJBQUMsb0JBQW9COztzQkFBRyxLQUFLO2dCQUNTLFdBQVc7c0JBQTVELFdBQVc7dUJBQUMsbUJBQW1COztzQkFBRyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxuICAgIFNraXBTZWxmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTmd0U3R5bGl6YWJsZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZXMvbmd0LXN0eWxpemFibGUvbmd0LXN0eWxpemFibGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IE5ndFN0eWxpemFibGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbmd0LXN0eWxpemFibGUvbmd0LXN0eWxpemFibGUuc2VydmljZSc7XG5pbXBvcnQgeyBOZ3RUYm9keUNvbXBvbmVudCB9IGZyb20gJy4uL25ndC10Ym9keS9uZ3QtdGJvZHkuY29tcG9uZW50JztcbmltcG9ydCB7IE5ndFRoZWFkQ29tcG9uZW50IH0gZnJvbSAnLi4vbmd0LXRoZWFkL25ndC10aGVhZC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ1tuZ3QtdHJdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmd0LXRyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9uZ3QtdHIuY29tcG9uZW50LmNzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgTmd0VHJDb21wb25lbnQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZXZlblN0cmlwcGVkJykgQElucHV0KCkgcHVibGljIGV2ZW5TdHJpcHBlZDogYm9vbGVhbjtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLm9kZFN0cmlwcGVkJykgQElucHV0KCkgcHVibGljIG9kZFN0cmlwcGVkOiBib29sZWFuO1xuXG4gICAgcHVibGljIG5ndFN0eWxlOiBOZ3RTdHlsaXphYmxlU2VydmljZTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgaG9zdEVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgICAgIEBTa2lwU2VsZigpIEBPcHRpb25hbCgpIHByaXZhdGUgbmd0VGhlYWQ6IE5ndFRoZWFkQ29tcG9uZW50LFxuICAgICAgICBAU2tpcFNlbGYoKSBAT3B0aW9uYWwoKSBwcml2YXRlIG5ndFRib2R5OiBOZ3RUYm9keUNvbXBvbmVudCxcbiAgICAgICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwcml2YXRlIG5ndFN0eWxpemFibGVEaXJlY3RpdmU6IE5ndFN0eWxpemFibGVEaXJlY3RpdmUsXG4gICAgKSB7XG4gICAgICAgIGlmICh0aGlzLm5ndFN0eWxpemFibGVEaXJlY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMubmd0U3R5bGUgPSB0aGlzLm5ndFN0eWxpemFibGVEaXJlY3RpdmUuZ2V0Tmd0U3R5bGl6YWJsZVNlcnZpY2UoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubmd0U3R5bGUgPSBuZXcgTmd0U3R5bGl6YWJsZVNlcnZpY2UoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubmd0U3R5bGUubG9hZCh0aGlzLmluamVjdG9yLCAnTmd0VHInLCB7XG4gICAgICAgICAgICBib3JkZXI6ICdib3JkZXItciBib3JkZXItdCBtZDpib3JkZXItci0wIG1kOmJvcmRlci10LTAnLFxuICAgICAgICAgICAgY29sb3I6IHtcbiAgICAgICAgICAgICAgICBiZzogJycsXG4gICAgICAgICAgICAgICAgdGV4dDogJycsXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAnJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCBbdGhpcy5nZXRJbmhlcml0YW5jZVN0eWxlcygpXSk7XG5cbiAgICAgICAgdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdCArPSB0aGlzLm5ndFN0eWxlLmNvbXBpbGUoW1xuICAgICAgICAgICAgJ2gnLFxuICAgICAgICAgICAgJ3B4JyxcbiAgICAgICAgICAgICdweScsXG4gICAgICAgICAgICAncGInLFxuICAgICAgICAgICAgJ3BsJyxcbiAgICAgICAgICAgICdwcicsXG4gICAgICAgICAgICAncHQnLFxuICAgICAgICAgICAgJ21iJyxcbiAgICAgICAgICAgICdtbCcsXG4gICAgICAgICAgICAnbXInLFxuICAgICAgICAgICAgJ210JyxcbiAgICAgICAgICAgICdib3JkZXInLFxuICAgICAgICAgICAgJ2NvbG9yLmJnJyxcbiAgICAgICAgICAgICdjb2xvci50ZXh0JyxcbiAgICAgICAgICAgICdjb2xvci5ib3JkZXInLFxuICAgICAgICAgICAgJ3RleHQnLFxuICAgICAgICAgICAgJ2ZvbnQnLFxuICAgICAgICBdKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEluaGVyaXRhbmNlU3R5bGVzKCkge1xuICAgICAgICBpZiAodGhpcy5uZ3RUaGVhZCkge1xuICAgICAgICAgICAgcmV0dXJuICdOZ3RUaGVhZFN0eWxlJztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm5ndFRib2R5KSB7XG4gICAgICAgICAgICByZXR1cm4gJ05ndFRib2R5U3R5bGUnO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD4iXX0=