keevo-components 2.0.27 → 2.0.29

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 (164) hide show
  1. package/fesm2022/keevo-components.mjs +53 -8
  2. package/fesm2022/keevo-components.mjs.map +1 -1
  3. package/lib/api/base-components/base-component-dropdown.d.ts +1 -1
  4. package/lib/components/keevo-components.module.d.ts +3 -2
  5. package/lib/components/kv-button/kv-button.component.d.ts +1 -1
  6. package/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.d.ts +1 -1
  7. package/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.d.ts +2 -1
  8. package/lib/components/kv-stepper/kv-stepper.component.d.ts +1 -1
  9. package/lib/components/kv-table/kv-table.component.d.ts +1 -1
  10. package/lib/components/kv-table-expandable/kv-table-expandable.component.d.ts +1 -1
  11. package/lib/components/kv-tag/kv-tag.component.d.ts +7 -0
  12. package/lib/components/kv-tag/kv-tag.module.d.ts +8 -0
  13. package/package.json +1 -3
  14. package/public-api.d.ts +5 -0
  15. package/esm2022/keevo-components.mjs +0 -5
  16. package/esm2022/lib/api/base-components/base-component-button.mjs +0 -39
  17. package/esm2022/lib/api/base-components/base-component-chart.mjs +0 -104
  18. package/esm2022/lib/api/base-components/base-component-crud-form.mjs +0 -302
  19. package/esm2022/lib/api/base-components/base-component-crud-list.mjs +0 -91
  20. package/esm2022/lib/api/base-components/base-component-crud.mjs +0 -80
  21. package/esm2022/lib/api/base-components/base-component-dropdown-external.mjs +0 -31
  22. package/esm2022/lib/api/base-components/base-component-dropdown.mjs +0 -238
  23. package/esm2022/lib/api/base-components/base-component-input.mjs +0 -101
  24. package/esm2022/lib/api/base-components/base-component-multi-select.mjs +0 -174
  25. package/esm2022/lib/api/base-components/base-component-table.mjs +0 -354
  26. package/esm2022/lib/api/base-components/base-component.mjs +0 -51
  27. package/esm2022/lib/api/components/chart/chart.config.mjs +0 -2
  28. package/esm2022/lib/api/components/chart/chart.model.mjs +0 -2
  29. package/esm2022/lib/api/components/chart/orchart.config.mjs +0 -2
  30. package/esm2022/lib/api/components/chart/orchartnode.mjs +0 -2
  31. package/esm2022/lib/api/components/dropdown/filtro.combo.mjs +0 -2
  32. package/esm2022/lib/api/components/stepper/kv-stepperpanel.mjs +0 -2
  33. package/esm2022/lib/api/components/table/action-item.mjs +0 -2
  34. package/esm2022/lib/api/components/table/kv-menuitem.mjs +0 -46
  35. package/esm2022/lib/api/components/table/table-dropdown-control.mjs +0 -2
  36. package/esm2022/lib/api/components/table/table.config.column.mjs +0 -2
  37. package/esm2022/lib/api/components/table/table.config.mjs +0 -2
  38. package/esm2022/lib/api/components/table/table.paginate.mjs +0 -10
  39. package/esm2022/lib/api/components/table/tabledit.config.mjs +0 -2
  40. package/esm2022/lib/api/components/table/tableedit.config.column.mjs +0 -2
  41. package/esm2022/lib/api/components/tree-table/tree-table-keys.mjs +0 -2
  42. package/esm2022/lib/api/components/tree-table/tree-table.config.mjs +0 -3
  43. package/esm2022/lib/api/directives/directives.module.mjs +0 -30
  44. package/esm2022/lib/api/directives/drag/drag.directive.mjs +0 -52
  45. package/esm2022/lib/api/directives/stepper/dynamicinput.directive.mjs +0 -31
  46. package/esm2022/lib/api/directives/template/template.directive.mjs +0 -24
  47. package/esm2022/lib/api/helpers/component-providers.mjs +0 -16
  48. package/esm2022/lib/api/helpers/keevo-validators.mjs +0 -131
  49. package/esm2022/lib/api/helpers/translate-primeng.mjs +0 -23
  50. package/esm2022/lib/api/modules/primeng.module.mjs +0 -275
  51. package/esm2022/lib/api/pipes/capitalize.pipe.mjs +0 -47
  52. package/esm2022/lib/api/pipes/cpfcnpj.pipe.mjs +0 -25
  53. package/esm2022/lib/api/pipes/mask.pipe.mjs +0 -29
  54. package/esm2022/lib/api/pipes/pipes.module.mjs +0 -39
  55. package/esm2022/lib/api/pipes/telefone.pipe.mjs +0 -45
  56. package/esm2022/lib/api/services/base.api.service.mjs +0 -74
  57. package/esm2022/lib/api/services/breadcrumbs.service.mjs +0 -62
  58. package/esm2022/lib/api/services/chat.service.mjs +0 -37
  59. package/esm2022/lib/api/services/component.service.mjs +0 -37
  60. package/esm2022/lib/api/services/docs.service.mjs +0 -129
  61. package/esm2022/lib/api/services/form.service.mjs +0 -95
  62. package/esm2022/lib/api/services/image.cutter.service.mjs +0 -191
  63. package/esm2022/lib/api/services/imagens.service.mjs +0 -28
  64. package/esm2022/lib/api/services/notification.service.mjs +0 -69
  65. package/esm2022/lib/api/services/object.service.mjs +0 -39
  66. package/esm2022/lib/api/services/orgchart.service.mjs +0 -64
  67. package/esm2022/lib/api/types/breadcrumb.model.mjs +0 -2
  68. package/esm2022/lib/components/keevo-components.module.mjs +0 -207
  69. package/esm2022/lib/components/kv-avatar/kv-avatar.component.mjs +0 -133
  70. package/esm2022/lib/components/kv-avatar/kv-avatar.module.mjs +0 -55
  71. package/esm2022/lib/components/kv-button/kv-button.component.mjs +0 -51
  72. package/esm2022/lib/components/kv-button/kv-button.module.mjs +0 -28
  73. package/esm2022/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.mjs +0 -25
  74. package/esm2022/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.mjs +0 -39
  75. package/esm2022/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.mjs +0 -17
  76. package/esm2022/lib/components/kv-buttons/kv-button-success/kv-button-success.component.mjs +0 -17
  77. package/esm2022/lib/components/kv-buttons/kv-button.module.mjs +0 -39
  78. package/esm2022/lib/components/kv-card-selection/kv-card-selection.component.mjs +0 -60
  79. package/esm2022/lib/components/kv-card-selection/kv-card-selection.module.mjs +0 -31
  80. package/esm2022/lib/components/kv-carousel/kv-carousel.component.mjs +0 -34
  81. package/esm2022/lib/components/kv-carousel/kv-carousel.module.mjs +0 -28
  82. package/esm2022/lib/components/kv-chart/kv-chart.component.mjs +0 -166
  83. package/esm2022/lib/components/kv-chart/kv-chart.module.mjs +0 -32
  84. package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.component.mjs +0 -183
  85. package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.module.mjs +0 -44
  86. package/esm2022/lib/components/kv-error/kv-error.component.mjs +0 -26
  87. package/esm2022/lib/components/kv-error/kv-error.module.mjs +0 -35
  88. package/esm2022/lib/components/kv-file-upload/kv-file-upload.component.mjs +0 -162
  89. package/esm2022/lib/components/kv-file-upload/kv-file-upload.module.mjs +0 -18
  90. package/esm2022/lib/components/kv-file-viewer/kv-file-viewer.component.mjs +0 -46
  91. package/esm2022/lib/components/kv-file-viewer/kv-file-viewer.module.mjs +0 -20
  92. package/esm2022/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.mjs +0 -68
  93. package/esm2022/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.module.mjs +0 -24
  94. package/esm2022/lib/components/kv-filter-card/kv-filter-card.component.mjs +0 -29
  95. package/esm2022/lib/components/kv-filter-card/kv-filter-card.module.mjs +0 -34
  96. package/esm2022/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.mjs +0 -26
  97. package/esm2022/lib/components/kv-filter-fieldset/kv-filter-fieldset.module.mjs +0 -28
  98. package/esm2022/lib/components/kv-g-icon/kv-g-icon.component.mjs +0 -11
  99. package/esm2022/lib/components/kv-g-icon/kv-g-icon.module.mjs +0 -19
  100. package/esm2022/lib/components/kv-home-card/kv-home-card.component.mjs +0 -27
  101. package/esm2022/lib/components/kv-home-card/kv-home-card.module.mjs +0 -32
  102. package/esm2022/lib/components/kv-image-upload/kv-image-upload.component.mjs +0 -135
  103. package/esm2022/lib/components/kv-image-upload/kv-image-upload.module.mjs +0 -18
  104. package/esm2022/lib/components/kv-inputs/kv-check/kv-check.component.mjs +0 -29
  105. package/esm2022/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.mjs +0 -102
  106. package/esm2022/lib/components/kv-inputs/kv-editor/kv-editor.component.mjs +0 -150
  107. package/esm2022/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.mjs +0 -168
  108. package/esm2022/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.mjs +0 -30
  109. package/esm2022/lib/components/kv-inputs/kv-input-number/kv-input-number.component.mjs +0 -59
  110. package/esm2022/lib/components/kv-inputs/kv-input-password/kv-input-password.component.mjs +0 -33
  111. package/esm2022/lib/components/kv-inputs/kv-input-text/kv-input-text.component.mjs +0 -38
  112. package/esm2022/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.mjs +0 -47
  113. package/esm2022/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.mjs +0 -43
  114. package/esm2022/lib/components/kv-inputs/kv-input-time/kv-input-time.component.mjs +0 -24
  115. package/esm2022/lib/components/kv-inputs/kv-inputs.module.mjs +0 -131
  116. package/esm2022/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.mjs +0 -60
  117. package/esm2022/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.mjs +0 -60
  118. package/esm2022/lib/components/kv-inputs/kv-select-button/kv-select-button.component.mjs +0 -46
  119. package/esm2022/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.mjs +0 -36
  120. package/esm2022/lib/components/kv-inputs/kv-switch/kv-switch.component.mjs +0 -42
  121. package/esm2022/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.mjs +0 -58
  122. package/esm2022/lib/components/kv-label/kv-label.component.mjs +0 -15
  123. package/esm2022/lib/components/kv-label/kv-label.module.mjs +0 -24
  124. package/esm2022/lib/components/kv-layout/dropdown-master/dropdown-master.component.mjs +0 -28
  125. package/esm2022/lib/components/kv-layout/kv-layout.module.mjs +0 -72
  126. package/esm2022/lib/components/kv-layout/layout/kv-layout.component.mjs +0 -430
  127. package/esm2022/lib/components/kv-layout/top-icons/top-icons.component.mjs +0 -15
  128. package/esm2022/lib/components/kv-loader/kv-loader.component.mjs +0 -16
  129. package/esm2022/lib/components/kv-loader/kv-loader.module.mjs +0 -28
  130. package/esm2022/lib/components/kv-loader/kv-loader.service.mjs +0 -29
  131. package/esm2022/lib/components/kv-login/kv-login.component.mjs +0 -62
  132. package/esm2022/lib/components/kv-login/kv-login.module.mjs +0 -47
  133. package/esm2022/lib/components/kv-modal/kv-modal.component.mjs +0 -98
  134. package/esm2022/lib/components/kv-modal/kv-modal.module.mjs +0 -20
  135. package/esm2022/lib/components/kv-orgchart/kv-orgchart.component.mjs +0 -225
  136. package/esm2022/lib/components/kv-orgchart/kv-orgchart.module.mjs +0 -59
  137. package/esm2022/lib/components/kv-page-form/kv-page-form.component.mjs +0 -215
  138. package/esm2022/lib/components/kv-page-form/kv-page-form.module.mjs +0 -41
  139. package/esm2022/lib/components/kv-page-stepper/kv-page-stepper.component.mjs +0 -205
  140. package/esm2022/lib/components/kv-page-stepper/kv-page-stepper.module.mjs +0 -51
  141. package/esm2022/lib/components/kv-pick-list/kv-pick-list.component.mjs +0 -144
  142. package/esm2022/lib/components/kv-pick-list/kv-pick-list.module.mjs +0 -39
  143. package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.component.mjs +0 -62
  144. package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.module.mjs +0 -28
  145. package/esm2022/lib/components/kv-report/kv-report.component.mjs +0 -44
  146. package/esm2022/lib/components/kv-report/kv-report.module.mjs +0 -24
  147. package/esm2022/lib/components/kv-stepper/kv-stepper.component.mjs +0 -74
  148. package/esm2022/lib/components/kv-stepper/kv-stepper.module.mjs +0 -47
  149. package/esm2022/lib/components/kv-table/kv-table.component.mjs +0 -673
  150. package/esm2022/lib/components/kv-table/kv-table.module.mjs +0 -40
  151. package/esm2022/lib/components/kv-table-edit/kv-table-edit.component.mjs +0 -323
  152. package/esm2022/lib/components/kv-table-edit/kv-table-edit.module.mjs +0 -45
  153. package/esm2022/lib/components/kv-table-expandable/kv-table-expandable.component.mjs +0 -516
  154. package/esm2022/lib/components/kv-table-expandable/kv-table-expandable.module.mjs +0 -40
  155. package/esm2022/lib/components/kv-tree-table/kv-tree-table.component.mjs +0 -331
  156. package/esm2022/lib/components/kv-tree-table/kv-tree-table.module.mjs +0 -39
  157. package/esm2022/lib/components/kv-tree-view/kv-tree-view.component.mjs +0 -70
  158. package/esm2022/lib/components/kv-tree-view/kv-tree-view.module.mjs +0 -28
  159. package/esm2022/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.mjs +0 -40
  160. package/esm2022/lib/components/kv-workspace/kv-workspace.module.mjs +0 -68
  161. package/esm2022/lib/components/kv-workspace/logo/kv-workspace-logo.component.mjs +0 -22
  162. package/esm2022/lib/components/kv-workspace/master/kv-workspace-master.component.mjs +0 -78
  163. package/esm2022/lib/components/kv-workspace/workspace/kv-workspace.component.mjs +0 -87
  164. package/esm2022/public-api.mjs +0 -256
@@ -1,225 +0,0 @@
1
- import { Component, EventEmitter, Input, model, Output, signal, ViewChild, ViewContainerRef, } from '@angular/core';
2
- import { OrgChart } from 'd3-org-chart';
3
- import * as d3 from 'd3';
4
- import { fromEvent } from 'rxjs';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../../api/services/orgchart.service";
7
- import * as i2 from "primeng/api";
8
- import * as i3 from "@angular/common";
9
- import * as i4 from "primeng/tooltip";
10
- import * as i5 from "primeng/dropdown";
11
- import * as i6 from "../kv-button/kv-button.component";
12
- export class KvOrgchartComponent {
13
- constructor(cdr, service, filterService) {
14
- this.cdr = cdr;
15
- this.service = service;
16
- this.filterService = filterService;
17
- this.dataSource = model(null);
18
- this.filtrosOpt = signal([]);
19
- this.selectedOpt = null;
20
- //#region Emissores de evento
21
- this.onNodeClick = new EventEmitter();
22
- // #endregion
23
- this.compact = true;
24
- this.mostraMenu = false;
25
- }
26
- //#region Iniciar OrgChart e Atualização de dados
27
- ngOnInit() {
28
- this.iniciarHandlersDeEventos();
29
- }
30
- ngAfterViewInit() {
31
- if (!this.chart) {
32
- this.chart = new OrgChart();
33
- }
34
- this.iniciarChart();
35
- }
36
- iniciarChart() {
37
- if (!this.dataSource() || !this.chart) {
38
- return;
39
- }
40
- const chartContainer = this.chartContainer.nativeElement;
41
- this.chart
42
- .createZoom(() => {
43
- return d3.zoom().filter((e) => {
44
- const element = e.srcElement;
45
- if (element.classList.contains('no-zoom')) {
46
- return false;
47
- }
48
- return true;
49
- });
50
- })
51
- .container(chartContainer)
52
- .data(this.dataSource())
53
- .nodeWidth(() => this.config.cardWidht)
54
- .nodeHeight((d) => {
55
- return d.data.expanded && this.config.cardExpandedHeight
56
- ? this.config.cardExpandedHeight
57
- : this.config.cardHeight;
58
- })
59
- .compact(false)
60
- .buttonContent(({ node, state }) => {
61
- return `<div style="color:#FFFFFF; border-radius:100%;font-size:5px;margin:auto auto;background-color:#64748B;">
62
- <span>
63
- ${node.children && node.children.length > 0
64
- ? `<i class="material-symbols-outlined">
65
- keyboard_arrow_up
66
- </i>`
67
- : `<i class="material-symbols-outlined">
68
- keyboard_arrow_down
69
- </i>`}
70
- </span>
71
- </div>`;
72
- })
73
- .linkUpdate((node, index, nodes) => {
74
- d3.select(nodes[index])
75
- .attr('stroke-width', this.config.conectionWidth || '2px')
76
- .style('stroke', this.config.connectionColor || '#d6d6d6');
77
- })
78
- .nodeContent((d) => {
79
- const node = {
80
- data: d.data.data,
81
- children: d.children,
82
- id: d.data.id,
83
- parentId: d.data.parentId,
84
- expanded: d.data.expanded,
85
- orgConfig: d.orgConfig,
86
- };
87
- const x = this.renderNodeTemplate(node);
88
- return x;
89
- })
90
- .nodeUpdate(function (d) {
91
- d.data.orgConfig.clicks.forEach((click) => {
92
- d3.select(this)
93
- .select(click)
94
- .on('click', (e, d) => {
95
- const dados = d;
96
- const node = {
97
- data: dados.data.data,
98
- children: dados.children,
99
- id: dados.data.id,
100
- parentId: dados.data.parentId,
101
- expanded: dados.data.expanded,
102
- orgConfig: dados.orgConfig,
103
- };
104
- window.dispatchEvent(new CustomEvent('KvOrgChart_NodeClick', {
105
- detail: {
106
- node,
107
- seletor: click,
108
- },
109
- }));
110
- });
111
- });
112
- })
113
- .defaultFont('Roboto')
114
- .render();
115
- this.chart.expandAll();
116
- }
117
- ngOnChanges(changes) {
118
- if (changes['dataSource']) {
119
- this.iniciarChart();
120
- }
121
- }
122
- //#endregion
123
- // #region Renderização de template
124
- renderNodeTemplate(node) {
125
- this.viewContainerRef.clear();
126
- const view = this.viewContainerRef.createEmbeddedView(this.nodeTemplate, {
127
- node: node,
128
- });
129
- this.cdr.detectChanges();
130
- return view.rootNodes[0].outerHTML;
131
- }
132
- iniciarHandlersDeEventos() {
133
- this.nodeClickSubscription = fromEvent(window, 'KvOrgChart_NodeClick').subscribe((event) => {
134
- this.emitirClick(event.detail.node, event.detail.seletor);
135
- });
136
- this.nodeAddSubscription = this.service.nodeAdd$.subscribe((node) => {
137
- this.adicionarNode(node);
138
- });
139
- this.nodeRemoveSubscription = this.service.nodeRemove$.subscribe((id) => {
140
- this.removerNode(id);
141
- });
142
- }
143
- ngOnDestroy() {
144
- this.nodeClickSubscription.unsubscribe();
145
- this.nodeAddSubscription.unsubscribe();
146
- this.nodeRemoveSubscription.unsubscribe();
147
- }
148
- emitirClick(node, seletorCss) {
149
- const event = {
150
- node: node,
151
- seletorCss: seletorCss ?? '',
152
- };
153
- this.onNodeClick.emit(event);
154
- }
155
- adicionarNode(node) {
156
- const arr = [...this.dataSource(), node];
157
- this.dataSource.set(arr);
158
- this.iniciarChart();
159
- }
160
- removerNode(id) {
161
- const indPai = this.dataSource().some((x) => x.parentId == id);
162
- if (indPai) {
163
- alert('Não é possível remover um nó que possui filhos');
164
- }
165
- else {
166
- const arr = this.dataSource().filter((x) => x.id != id);
167
- this.dataSource.set(arr);
168
- this.iniciarChart();
169
- }
170
- }
171
- // #endregion
172
- // #region Funções de utilidade
173
- pesquisar(e) {
174
- const valor = e.target.value;
175
- this.filtrosOpt.set(this.filtrarArray(valor));
176
- }
177
- filtrarArray(valor) {
178
- if (valor && this.config.filters) {
179
- const dataSource = this.dataSource();
180
- const valorLower = valor.toLowerCase(); // Converte o valor de busca para minúsculas
181
- const arr = dataSource.filter((node) => {
182
- return this.config.filters.every((filter) => {
183
- // Converte os valores para minúsculas e verifica se contém a string de busca
184
- return node.data[filter].toLowerCase().includes(valorLower);
185
- });
186
- });
187
- return arr ?? null;
188
- }
189
- else {
190
- return null;
191
- }
192
- }
193
- centralizarNo(id) {
194
- console.log(id);
195
- this.chart.setCentered(id).render();
196
- this.filter.hide();
197
- this.filter.clear();
198
- }
199
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvOrgchartComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.OrgChartService }, { token: i2.FilterService }], target: i0.ɵɵFactoryTarget.Component }); }
200
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.8", type: KvOrgchartComponent, selector: "kv-orgchart", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: false, isRequired: false, transformFunction: null }, nodeTemplate: { classPropertyName: "nodeTemplate", publicName: "nodeTemplate", isSignal: false, isRequired: false, transformFunction: null }, filterItemTemplate: { classPropertyName: "filterItemTemplate", publicName: "filterItemTemplate", isSignal: false, isRequired: false, transformFunction: null }, filterSelectedItemTemplate: { classPropertyName: "filterSelectedItemTemplate", publicName: "filterSelectedItemTemplate", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { dataSource: "dataSourceChange", onNodeClick: "onNodeClick" }, viewQueries: [{ propertyName: "chartContainer", first: true, predicate: ["chartContainer"], descendants: true }, { propertyName: "viewContainerRef", first: true, predicate: ["nodeTemplate"], descendants: true, read: ViewContainerRef }, { propertyName: "filter", first: true, predicate: ["filter"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #chartContainer id=\"chartContainer\" [ngClass]=\"{ backGround: true }\">\r\n <div class=\"div-botoes w-full flex gap-1\">\r\n <div\r\n id=\"menubar\"\r\n class=\"shadow-2 flex justify-content-between align-content-center\"\r\n >\r\n <div class=\"grid formgrid p-fluid flex-grow-1\">\r\n <!-- <div #filterContainer class=\"col-4 grid formgrid p-fluid\">\r\n <kv-input-text class=\"col-12\" #filtro (onInput)=\"pesquisar($event)\">\r\n </kv-input-text>\r\n </div>\r\n\r\n @if(filtrosOpt().length > 0) {\r\n \r\n <div id=\"filtro-org-chart\" [style.width.px]=\"filterContainer.offsetWidth*0.9\">\r\n\r\n @for (opt of filtrosOpt(); track $index) {\r\n <div class=\"filtro-org-chart-item\">\r\n {{ opt.data.name }}\r\n\r\n </div>\r\n\r\n }\r\n\r\n </div>\r\n\r\n } -->\r\n\r\n <p-dropdown\r\n #filter\r\n placeholder=\"Filtrar...\"\r\n [style]=\"{\r\n height: '30px',\r\n 'display': 'flex',\r\n 'align-items': 'center',\r\n 'margin-left': '15px',\r\n 'max-width': '95%'\r\n }\"\r\n [filter]=\"true\"\r\n [filterFields]=\"config.filters\"\r\n [options]=\"this.dataSource()!\"\r\n [showClear]=\"true\"\r\n (onChange)=\"centralizarNo($event.value.id)\"\r\n >\r\n <!-- [itemTemplate]=\"itemTemplate\"\r\n [selectedItemTemplate]=\"selectedItemTemplate\" -->\r\n <!-- [filteredOptions]=\"this.dataSource()!\" -->\r\n <!-- [filterFields]=\"data.name\" -->\r\n\r\n <ng-template #itemTemplate let-item pTemplate=\"item\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"filterItemTemplate!\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\r\n />\r\n </ng-template>\r\n\r\n <ng-template #selectedItemTemplate let-item pTemplate=\"selectedItem\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"filterSelectedItemTemplate!\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\r\n />\r\n </ng-template>\r\n </p-dropdown>\r\n </div>\r\n\r\n <!-- Actions bar -->\r\n <div class=\"flex gap-1 flex-row flex-grow-0\">\r\n <div style=\"width: 30px\" class=\"mr-2\">\r\n <kv-button\r\n (onClick)=\"chart.expandAll()\"\r\n class=\"button-expand-all\"\r\n [fullWidth]=\"false\"\r\n size=\"small\"\r\n severity=\"tertiary\"\r\n [icon]=\"'expand_all'\"\r\n [pTooltip]=\"'Expandir Todos'\"\r\n >\r\n </kv-button>\r\n </div>\r\n\r\n <div style=\"width: 30px\" class=\"mr-2\">\r\n <kv-button\r\n (onClick)=\"chart.collapseAll()\"\r\n class=\"button-colappse-all\"\r\n [fullWidth]=\"false\"\r\n size=\"small\"\r\n severity=\"tertiary\"\r\n [icon]=\"'collapse_all'\"\r\n [pTooltip]=\"'Recolher Todos'\"\r\n >\r\n </kv-button>\r\n </div>\r\n\r\n <div style=\"width: 30px\" class=\"mr-2\">\r\n <kv-button\r\n (onClick)=\"chart.fit().render()\"\r\n class=\"button-focus-center\"\r\n [fullWidth]=\"false\"\r\n size=\"small\"\r\n severity=\"primary\"\r\n [icon]=\"'center_focus_weak'\"\r\n [pTooltip]=\"'Centralizar Organograma'\"\r\n >\r\n </kv-button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/icon?family=Material+Icons\"\r\n/>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,400,0,0\"\r\n/>\r\n\r\n<div style=\"display: none\">\r\n <ng-template #nodeTemplate let-node>\r\n <div class=\"node-content\">erro</div>\r\n </ng-template>\r\n</div>\r\n", styles: ["#chartContainer{height:100%;overflow:hidden}:host ::ng-deep #chartContainer svg.svg-chart-container{height:100%!important;position:relative;width:100%;top:-56px;z-index:0;background-color:#fff}.div-botoes{z-index:1;width:100%;position:relative}:host ::ng-deep .p-organizationChart{overflow:hidden}svg{width:100%;height:100%}#menubar{width:100%;padding:5px;border-radius:8px;background:#eaeaea}.filtro-input{width:300px}#filtro-org-chart{height:300px;overflow-y:auto;overflow-x:hidden;position:absolute;top:40px;left:8px;background:#fff;color:#4b5563;border:0 none;border-radius:6px;box-shadow:0 2px 12px #0000001a}.filtro-org-chart-item{cursor:pointer;height:35px;padding:3px}.filtro-org-chart-item:hover{background-color:#d9dadb}.filtro-org-chart-item:active{background-color:#c0c1c2}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i4.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i5.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "component", type: i6.KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "iconPosition", "label", "disabled", "items", "popup"], outputs: ["iconChange", "onClick"] }] }); }
201
- }
202
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvOrgchartComponent, decorators: [{
203
- type: Component,
204
- args: [{ selector: 'kv-orgchart', template: "<div #chartContainer id=\"chartContainer\" [ngClass]=\"{ backGround: true }\">\r\n <div class=\"div-botoes w-full flex gap-1\">\r\n <div\r\n id=\"menubar\"\r\n class=\"shadow-2 flex justify-content-between align-content-center\"\r\n >\r\n <div class=\"grid formgrid p-fluid flex-grow-1\">\r\n <!-- <div #filterContainer class=\"col-4 grid formgrid p-fluid\">\r\n <kv-input-text class=\"col-12\" #filtro (onInput)=\"pesquisar($event)\">\r\n </kv-input-text>\r\n </div>\r\n\r\n @if(filtrosOpt().length > 0) {\r\n \r\n <div id=\"filtro-org-chart\" [style.width.px]=\"filterContainer.offsetWidth*0.9\">\r\n\r\n @for (opt of filtrosOpt(); track $index) {\r\n <div class=\"filtro-org-chart-item\">\r\n {{ opt.data.name }}\r\n\r\n </div>\r\n\r\n }\r\n\r\n </div>\r\n\r\n } -->\r\n\r\n <p-dropdown\r\n #filter\r\n placeholder=\"Filtrar...\"\r\n [style]=\"{\r\n height: '30px',\r\n 'display': 'flex',\r\n 'align-items': 'center',\r\n 'margin-left': '15px',\r\n 'max-width': '95%'\r\n }\"\r\n [filter]=\"true\"\r\n [filterFields]=\"config.filters\"\r\n [options]=\"this.dataSource()!\"\r\n [showClear]=\"true\"\r\n (onChange)=\"centralizarNo($event.value.id)\"\r\n >\r\n <!-- [itemTemplate]=\"itemTemplate\"\r\n [selectedItemTemplate]=\"selectedItemTemplate\" -->\r\n <!-- [filteredOptions]=\"this.dataSource()!\" -->\r\n <!-- [filterFields]=\"data.name\" -->\r\n\r\n <ng-template #itemTemplate let-item pTemplate=\"item\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"filterItemTemplate!\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\r\n />\r\n </ng-template>\r\n\r\n <ng-template #selectedItemTemplate let-item pTemplate=\"selectedItem\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"filterSelectedItemTemplate!\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\r\n />\r\n </ng-template>\r\n </p-dropdown>\r\n </div>\r\n\r\n <!-- Actions bar -->\r\n <div class=\"flex gap-1 flex-row flex-grow-0\">\r\n <div style=\"width: 30px\" class=\"mr-2\">\r\n <kv-button\r\n (onClick)=\"chart.expandAll()\"\r\n class=\"button-expand-all\"\r\n [fullWidth]=\"false\"\r\n size=\"small\"\r\n severity=\"tertiary\"\r\n [icon]=\"'expand_all'\"\r\n [pTooltip]=\"'Expandir Todos'\"\r\n >\r\n </kv-button>\r\n </div>\r\n\r\n <div style=\"width: 30px\" class=\"mr-2\">\r\n <kv-button\r\n (onClick)=\"chart.collapseAll()\"\r\n class=\"button-colappse-all\"\r\n [fullWidth]=\"false\"\r\n size=\"small\"\r\n severity=\"tertiary\"\r\n [icon]=\"'collapse_all'\"\r\n [pTooltip]=\"'Recolher Todos'\"\r\n >\r\n </kv-button>\r\n </div>\r\n\r\n <div style=\"width: 30px\" class=\"mr-2\">\r\n <kv-button\r\n (onClick)=\"chart.fit().render()\"\r\n class=\"button-focus-center\"\r\n [fullWidth]=\"false\"\r\n size=\"small\"\r\n severity=\"primary\"\r\n [icon]=\"'center_focus_weak'\"\r\n [pTooltip]=\"'Centralizar Organograma'\"\r\n >\r\n </kv-button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/icon?family=Material+Icons\"\r\n/>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,400,0,0\"\r\n/>\r\n\r\n<div style=\"display: none\">\r\n <ng-template #nodeTemplate let-node>\r\n <div class=\"node-content\">erro</div>\r\n </ng-template>\r\n</div>\r\n", styles: ["#chartContainer{height:100%;overflow:hidden}:host ::ng-deep #chartContainer svg.svg-chart-container{height:100%!important;position:relative;width:100%;top:-56px;z-index:0;background-color:#fff}.div-botoes{z-index:1;width:100%;position:relative}:host ::ng-deep .p-organizationChart{overflow:hidden}svg{width:100%;height:100%}#menubar{width:100%;padding:5px;border-radius:8px;background:#eaeaea}.filtro-input{width:300px}#filtro-org-chart{height:300px;overflow-y:auto;overflow-x:hidden;position:absolute;top:40px;left:8px;background:#fff;color:#4b5563;border:0 none;border-radius:6px;box-shadow:0 2px 12px #0000001a}.filtro-org-chart-item{cursor:pointer;height:35px;padding:3px}.filtro-org-chart-item:hover{background-color:#d9dadb}.filtro-org-chart-item:active{background-color:#c0c1c2}\n"] }]
205
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.OrgChartService }, { type: i2.FilterService }], propDecorators: { config: [{
206
- type: Input
207
- }], chartContainer: [{
208
- type: ViewChild,
209
- args: ['chartContainer']
210
- }], viewContainerRef: [{
211
- type: ViewChild,
212
- args: ['nodeTemplate', { read: ViewContainerRef }]
213
- }], nodeTemplate: [{
214
- type: Input
215
- }], filterItemTemplate: [{
216
- type: Input
217
- }], filterSelectedItemTemplate: [{
218
- type: Input
219
- }], onNodeClick: [{
220
- type: Output
221
- }], filter: [{
222
- type: ViewChild,
223
- args: ['filter']
224
- }] } });
225
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3Ytb3JnY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3Ytb3JnY2hhcnQva3Ytb3JnY2hhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3Ytb3JnY2hhcnQva3Ytb3JnY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUlOLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUl6QixPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7QUFZL0MsTUFBTSxPQUFPLG1CQUFtQjtJQThCOUIsWUFDVSxHQUFzQixFQUN0QixPQUF3QixFQUN4QixhQUE0QjtRQUY1QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQUN4QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQTVCdEMsZUFBVSxHQUFHLEtBQUssQ0FBd0IsSUFBSSxDQUFDLENBQUM7UUFFaEQsZUFBVSxHQUFHLE1BQU0sQ0FBaUIsRUFBRSxDQUFDLENBQUM7UUFDeEMsZ0JBQVcsR0FBRyxJQUFJLENBQUE7UUFhbEIsNkJBQTZCO1FBRW5CLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVoRCxhQUFhO1FBRWIsWUFBTyxHQUFZLElBQUksQ0FBQztRQUN4QixlQUFVLEdB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Q2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUE7UUFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ3JCLENBQUM7OEdBclBVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLGlqQ0FZSyxnQkFBZ0IscUlDN0NyRCxzbUlBNkhBOzsyRkQ1RmEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGFBQWE7Z0pBY2QsTUFBTTtzQkFBZCxLQUFLO2dCQUN1QixjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQjtnQkFFM0IsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFO2dCQUU1QyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRywwQkFBMEI7c0JBQWxDLEtBQUs7Z0JBTUksV0FBVztzQkFBcEIsTUFBTTtnQkFzTmMsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgbW9kZWwsXHJcbiAgT3V0cHV0LFxyXG4gIHNpZ25hbCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIHZpZXdDaGlsZCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IE9yZ0NoYXJ0IH0gZnJvbSAnZDMtb3JnLWNoYXJ0JztcclxuaW1wb3J0ICogYXMgZDMgZnJvbSAnZDMnO1xyXG5cclxuaW1wb3J0IE9yZ0NoYXJ0Q29uZmlnIGZyb20gJy4uLy4uL2FwaS9jb21wb25lbnRzL2NoYXJ0L29yY2hhcnQuY29uZmlnJztcclxuaW1wb3J0IE9yZ0NoYXJ0Tm9kZSBmcm9tICcuLi8uLi9hcGkvY29tcG9uZW50cy9jaGFydC9vcmNoYXJ0bm9kZSc7XHJcbmltcG9ydCB7IGZyb21FdmVudCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE9yZ0NoYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL2FwaS9zZXJ2aWNlcy9vcmdjaGFydC5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IEZpbHRlclNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IERyb3Bkb3duLCBEcm9wZG93bk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZHJvcGRvd24nO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAna3Ytb3JnY2hhcnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9rdi1vcmdjaGFydC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4va3Ytb3JnY2hhcnQuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEt2T3JnY2hhcnRDb21wb25lbnQge1xyXG5cclxuXHJcbiAgY2hhcnQhOiBhbnk7XHJcblxyXG4gIGRhdGFTb3VyY2UgPSBtb2RlbDxPcmdDaGFydE5vZGVbXSB8IG51bGw+KG51bGwpO1xyXG5cclxuICBmaWx0cm9zT3B0ID0gc2lnbmFsPE9yZ0NoYXJ0Tm9kZVtdPihbXSk7XHJcbiAgc2VsZWN0ZWRPcHQgPSBudWxsXHJcblxyXG4gIEBJbnB1dCgpIGNvbmZpZyE6IE9yZ0NoYXJ0Q29uZmlnO1xyXG4gIEBWaWV3Q2hpbGQoJ2NoYXJ0Q29udGFpbmVyJykgY2hhcnRDb250YWluZXIhOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ25vZGVUZW1wbGF0ZScsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KVxyXG4gIHZpZXdDb250YWluZXJSZWYhOiBWaWV3Q29udGFpbmVyUmVmO1xyXG4gIEBJbnB1dCgpIG5vZGVUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIEBJbnB1dCgpIGZpbHRlckl0ZW1UZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQElucHV0KCkgZmlsdGVyU2VsZWN0ZWRJdGVtVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuXHJcblxyXG4gIC8vI3JlZ2lvbiBFbWlzc29yZXMgZGUgZXZlbnRvXHJcblxyXG4gIEBPdXRwdXQoKSBvbk5vZGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAvLyAjZW5kcmVnaW9uXHJcblxyXG4gIGNvbXBhY3Q6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIG1vc3RyYU1lbnU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHNlcnZpY2U6IE9yZ0NoYXJ0U2VydmljZSxcclxuICAgIHByaXZhdGUgZmlsdGVyU2VydmljZTogRmlsdGVyU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgLy8jcmVnaW9uIEluaWNpYXIgT3JnQ2hhcnQgZSBBdHVhbGl6YcOnw6NvIGRlIGRhZG9zXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmluaWNpYXJIYW5kbGVyc0RlRXZlbnRvcygpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgaWYgKCF0aGlzLmNoYXJ0KSB7XHJcbiAgICAgIHRoaXMuY2hhcnQgPSBuZXcgT3JnQ2hhcnQoKTtcclxuICAgIH1cclxuICAgIHRoaXMuaW5pY2lhckNoYXJ0KCk7XHJcbiAgfVxyXG5cclxuICBpbmljaWFyQ2hhcnQoKSB7XHJcbiAgICBpZiAoIXRoaXMuZGF0YVNvdXJjZSgpIHx8ICF0aGlzLmNoYXJ0KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjaGFydENvbnRhaW5lciA9IHRoaXMuY2hhcnRDb250YWluZXIubmF0aXZlRWxlbWVudDtcclxuICAgIHRoaXMuY2hhcnRcclxuICAgICAgLmNyZWF0ZVpvb20oKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiBkMy56b29tKCkuZmlsdGVyKChlKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBlbGVtZW50OiBIVE1MRWxlbWVudCA9IGUuc3JjRWxlbWVudDtcclxuICAgICAgICAgIGlmIChlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnbm8tem9vbScpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KVxyXG4gICAgICAuY29udGFpbmVyKGNoYXJ0Q29udGFpbmVyKVxyXG4gICAgICAuZGF0YSh0aGlzLmRhdGFTb3VyY2UoKSlcclxuICAgICAgLm5vZGVXaWR0aCgoKSA9PiB0aGlzLmNvbmZpZy5jYXJkV2lkaHQpXHJcbiAgICAgIC5ub2RlSGVpZ2h0KChkOiBhbnkpID0+IHtcclxuICAgICAgICByZXR1cm4gZC5kYXRhLmV4cGFuZGVkICYmIHRoaXMuY29uZmlnLmNhcmRFeHBhbmRlZEhlaWdodFxyXG4gICAgICAgICAgPyB0aGlzLmNvbmZpZy5jYXJkRXhwYW5kZWRIZWlnaHRcclxuICAgICAgICAgIDogdGhpcy5jb25maWcuY2FyZEhlaWdodDtcclxuICAgICAgfSlcclxuICAgICAgLmNvbXBhY3QoZmFsc2UpXHJcbiAgICAgIC5idXR0b25Db250ZW50KCh7IG5vZGUsIHN0YXRlIH06IHsgbm9kZTogYW55OyBzdGF0ZTogYW55IH0pID0+IHtcclxuICAgICAgICByZXR1cm4gYDxkaXYgc3R5bGU9XCJjb2xvcjojRkZGRkZGOyBib3JkZXItcmFkaXVzOjEwMCU7Zm9udC1zaXplOjVweDttYXJnaW46YXV0byBhdXRvO2JhY2tncm91bmQtY29sb3I6IzY0NzQ4QjtcIj5cclxuICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgJHtcclxuICAgICAgICAgICAgbm9kZS5jaGlsZHJlbiAmJiBub2RlLmNoaWxkcmVuLmxlbmd0aCA+IDBcclxuICAgICAgICAgICAgICA/IGA8aSBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj5cclxuICAgICAgICAgICAgICBrZXlib2FyZF9hcnJvd191cFxyXG4gICAgICAgICAgICAgIDwvaT5gXHJcbiAgICAgICAgICAgICAgOiBgPGkgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+XHJcbiAgICAgICAgICAgICAga2V5Ym9hcmRfYXJyb3dfZG93blxyXG4gICAgICAgICAgICA8L2k+YFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5gO1xyXG4gICAgICB9KVxyXG4gICAgICAubGlua1VwZGF0ZSgobm9kZTogYW55LCBpbmRleDogYW55LCBub2RlczogYW55KSA9PiB7XHJcbiAgICAgICAgZDMuc2VsZWN0KG5vZGVzW2luZGV4XSlcclxuICAgICAgICAgIC5hdHRyKCdzdHJva2Utd2lkdGgnLCB0aGlzLmNvbmZpZy5jb25lY3Rpb25XaWR0aCB8fCAnMnB4JylcclxuICAgICAgICAgIC5zdHlsZSgnc3Ryb2tlJywgdGhpcy5jb25maWcuY29ubmVjdGlvbkNvbG9yIHx8ICcjZDZkNmQ2Jyk7XHJcbiAgICAgIH0pXHJcbiAgICAgIC5ub2RlQ29udGVudCgoZDogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc3Qgbm9kZTogT3JnQ2hhcnROb2RlID0ge1xyXG4gICAgICAgICAgZGF0YTogZC5kYXRhLmRhdGEsXHJcbiAgICAgICAgICBjaGlsZHJlbjogZC5jaGlsZHJlbixcclxuICAgICAgICAgIGlkOiBkLmRhdGEuaWQsXHJcbiAgICAgICAgICBwYXJlbnRJZDogZC5kYXRhLnBhcmVudElkLFxyXG4gICAgICAgICAgZXhwYW5kZWQ6IGQuZGF0YS5leHBhbmRlZCxcclxuICAgICAgICAgIG9yZ0NvbmZpZzogZC5vcmdDb25maWcsXHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb25zdCB4ID0gdGhpcy5yZW5kZXJOb2RlVGVtcGxhdGUobm9kZSk7XHJcbiAgICAgICAgcmV0dXJuIHg7XHJcbiAgICAgIH0pXHJcbiAgICAgIC5ub2RlVXBkYXRlKGZ1bmN0aW9uICh0aGlzOiBhbnksIGQ6IGFueSkge1xyXG4gICAgICAgIGQuZGF0YS5vcmdDb25maWcuY2xpY2tzLmZvckVhY2goKGNsaWNrOiBhbnkpID0+IHtcclxuICAgICAgICAgIGQzLnNlbGVjdCh0aGlzKVxyXG4gICAgICAgICAgICAuc2VsZWN0KGNsaWNrKVxyXG4gICAgICAgICAgICAub24oJ2NsaWNrJywgKGUsIGQpID0+IHtcclxuICAgICAgICAgICAgICBjb25zdCBkYWRvczogYW55ID0gZDtcclxuICAgICAgICAgICAgICBjb25zdCBub2RlOiBPcmdDaGFydE5vZGUgPSB7XHJcbiAgICAgICAgICAgICAgICBkYXRhOiBkYWRvcy5kYXRhLmRhdGEsXHJcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogZGFkb3MuY2hpbGRyZW4sXHJcbiAgICAgICAgICAgICAgICBpZDogZGFkb3MuZGF0YS5pZCxcclxuICAgICAgICAgICAgICAgIHBhcmVudElkOiBkYWRvcy5kYXRhLnBhcmVudElkLFxyXG4gICAgICAgICAgICAgICAgZXhwYW5kZWQ6IGRhZG9zLmRhdGEuZXhwYW5kZWQsXHJcbiAgICAgICAgICAgICAgICBvcmdDb25maWc6IGRhZG9zLm9yZ0NvbmZpZyxcclxuICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChcclxuICAgICAgICAgICAgICAgIG5ldyBDdXN0b21FdmVudCgnS3ZPcmdDaGFydF9Ob2RlQ2xpY2snLCB7XHJcbiAgICAgICAgICAgICAgICAgIGRldGFpbDoge1xyXG4gICAgICAgICAgICAgICAgICAgIG5vZGUsXHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZXRvcjogY2xpY2ssXHJcbiAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KVxyXG4gICAgICAuZGVmYXVsdEZvbnQoJ1JvYm90bycpXHJcbiAgICAgIC5yZW5kZXIoKTtcclxuXHJcbiAgICB0aGlzLmNoYXJ0LmV4cGFuZEFsbCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ2RhdGFTb3VyY2UnXSkge1xyXG4gICAgICB0aGlzLmluaWNpYXJDaGFydCgpO1xyXG4gICAgfVxyXG4gIH1cclxuICAvLyNlbmRyZWdpb25cclxuXHJcbiAgLy8gI3JlZ2lvbiBSZW5kZXJpemHDp8OjbyBkZSB0ZW1wbGF0ZVxyXG4gIHJlbmRlck5vZGVUZW1wbGF0ZShub2RlOiBPcmdDaGFydE5vZGUpOiBzdHJpbmcge1xyXG4gICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XHJcbiAgICBjb25zdCB2aWV3ID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLm5vZGVUZW1wbGF0ZSwge1xyXG4gICAgICBub2RlOiBub2RlLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICByZXR1cm4gdmlldy5yb290Tm9kZXNbMF0ub3V0ZXJIVE1MO1xyXG4gIH1cclxuICAvLyAjZW5kcmVnaW9uXHJcblxyXG4gIC8vICNyZWdpb24gRXZlbnRvc1xyXG4gIHByaXZhdGUgbm9kZUNsaWNrU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xyXG4gIHByaXZhdGUgbm9kZUFkZFN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcclxuICBwcml2YXRlIG5vZGVSZW1vdmVTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGluaWNpYXJIYW5kbGVyc0RlRXZlbnRvcygpIHtcclxuICAgIHRoaXMubm9kZUNsaWNrU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50PEN1c3RvbUV2ZW50PihcclxuICAgICAgd2luZG93LFxyXG4gICAgICAnS3ZPcmdDaGFydF9Ob2RlQ2xpY2snXHJcbiAgICApLnN1YnNjcmliZSgoZXZlbnQ6IEN1c3RvbUV2ZW50KSA9PiB7XHJcbiAgICAgIHRoaXMuZW1pdGlyQ2xpY2soZXZlbnQuZGV0YWlsLm5vZGUsIGV2ZW50LmRldGFpbC5zZWxldG9yKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMubm9kZUFkZFN1YnNjcmlwdGlvbiA9IHRoaXMuc2VydmljZS5ub2RlQWRkJC5zdWJzY3JpYmUoXHJcbiAgICAgIChub2RlOiBPcmdDaGFydE5vZGUpID0+IHtcclxuICAgICAgICB0aGlzLmFkaWNpb25hck5vZGUobm9kZSk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5ub2RlUmVtb3ZlU3Vic2NyaXB0aW9uID0gdGhpcy5zZXJ2aWNlLm5vZGVSZW1vdmUkLnN1YnNjcmliZShcclxuICAgICAgKGlkOiBudW1iZXIpID0+IHtcclxuICAgICAgICB0aGlzLnJlbW92ZXJOb2RlKGlkKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLm5vZGVDbGlja1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5ub2RlQWRkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLm5vZGVSZW1vdmVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIGVtaXRpckNsaWNrKG5vZGU6IE5vZGUsIHNlbGV0b3JDc3M/OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGV2ZW50ID0ge1xyXG4gICAgICBub2RlOiBub2RlLFxyXG4gICAgICBzZWxldG9yQ3NzOiBzZWxldG9yQ3NzID8/ICcnLFxyXG4gICAgfTtcclxuICAgIHRoaXMub25Ob2RlQ2xpY2suZW1pdChldmVudCk7XHJcbiAgfVxyXG4gIGFkaWNpb25hck5vZGUobm9kZTogT3JnQ2hhcnROb2RlKSB7XHJcbiAgICBjb25zdCBhcnIgPSBbLi4udGhpcy5kYXRhU291cmNlKCkhLCBub2RlXTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5zZXQoYXJyKTtcclxuICAgIHRoaXMuaW5pY2lhckNoYXJ0KCk7XHJcbiAgfVxyXG4gIHJlbW92ZXJOb2RlKGlkOiBudW1iZXIpIHtcclxuICAgIGNvbnN0IGluZFBhaSA9IHRoaXMuZGF0YVNvdXJjZSgpIS5zb21lKCh4OiBhbnkpID0+IHgucGFyZW50SWQgPT0gaWQpO1xyXG4gICAgaWYgKGluZFBhaSkge1xyXG4gICAgICBhbGVydCgnTsOjbyDDqSBwb3Nzw612ZWwgcmVtb3ZlciB1bSBuw7MgcXVlIHBvc3N1aSBmaWxob3MnKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGFyciA9IHRoaXMuZGF0YVNvdXJjZSgpIS5maWx0ZXIoKHg6IGFueSkgPT4geC5pZCAhPSBpZCk7XHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5zZXQoYXJyKTtcclxuICAgICAgdGhpcy5pbmljaWFyQ2hhcnQoKTtcclxuICAgIH1cclxuICB9XHJcbiAgLy8gI2VuZHJlZ2lvblxyXG5cclxuXHJcblxyXG4gIC8vICNyZWdpb24gRnVuw6fDtWVzIGRlIHV0aWxpZGFkZVxyXG5cclxuICBwZXNxdWlzYXIoZTogYW55KSB7XHJcbiAgICBjb25zdCB2YWxvciA9IGUudGFyZ2V0LnZhbHVlXHJcbiAgICB0aGlzLmZpbHRyb3NPcHQuc2V0KHRoaXMuZmlsdHJhckFycmF5KHZhbG9yKSEpXHJcbiAgfVxyXG5cclxuICBmaWx0cmFyQXJyYXkodmFsb3I6IHN0cmluZyk6IE9yZ0NoYXJ0Tm9kZVtdIHwgbnVsbCB7XHJcbiAgICBpZiAodmFsb3IgJiYgdGhpcy5jb25maWcuZmlsdGVycykge1xyXG4gICAgICBjb25zdCBkYXRhU291cmNlID0gdGhpcy5kYXRhU291cmNlKCkhO1xyXG4gICAgICBjb25zdCB2YWxvckxvd2VyID0gdmFsb3IudG9Mb3dlckNhc2UoKTsgLy8gQ29udmVydGUgbyB2YWxvciBkZSBidXNjYSBwYXJhIG1pbsO6c2N1bGFzXHJcblxyXG4gICAgICBjb25zdCBhcnIgPSBkYXRhU291cmNlLmZpbHRlcigobm9kZTogT3JnQ2hhcnROb2RlKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLmZpbHRlcnMhLmV2ZXJ5KChmaWx0ZXI6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgLy8gQ29udmVydGUgb3MgdmFsb3JlcyBwYXJhIG1pbsO6c2N1bGFzIGUgdmVyaWZpY2Egc2UgY29udMOpbSBhIHN0cmluZyBkZSBidXNjYVxyXG4gICAgICAgICAgcmV0dXJuIG5vZGUuZGF0YVtmaWx0ZXJdLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModmFsb3JMb3dlcik7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgcmV0dXJuIGFyciA/PyBudWxsO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAVmlld0NoaWxkKCdmaWx0ZXInKSBmaWx0ZXIhOiBEcm9wZG93bjtcclxuXHJcblxyXG4gIGNlbnRyYWxpemFyTm8oaWQ6IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coaWQpXHJcbiAgICB0aGlzLmNoYXJ0LnNldENlbnRlcmVkKGlkKS5yZW5kZXIoKVxyXG4gICAgdGhpcy5maWx0ZXIuaGlkZSgpXHJcbiAgICB0aGlzLmZpbHRlci5jbGVhcigpXHJcbiAgfVxyXG5cclxuXHJcbiAgLy8gI2VuZHJlZ2lvblxyXG59XHJcbiIsIjxkaXYgI2NoYXJ0Q29udGFpbmVyIGlkPVwiY2hhcnRDb250YWluZXJcIiBbbmdDbGFzc109XCJ7IGJhY2tHcm91bmQ6IHRydWUgfVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJkaXYtYm90b2VzIHctZnVsbCBmbGV4IGdhcC0xXCI+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGlkPVwibWVudWJhclwiXHJcbiAgICAgIGNsYXNzPVwic2hhZG93LTIgZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1jb250ZW50LWNlbnRlclwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGZvcm1ncmlkIHAtZmx1aWQgZmxleC1ncm93LTFcIj5cclxuICAgICAgICA8IS0tIDxkaXYgI2ZpbHRlckNvbnRhaW5lciBjbGFzcz1cImNvbC00IGdyaWQgZm9ybWdyaWQgcC1mbHVpZFwiPlxyXG4gICAgICAgICAgICA8a3YtaW5wdXQtdGV4dCBjbGFzcz1cImNvbC0xMlwiICNmaWx0cm8gKG9uSW5wdXQpPVwicGVzcXVpc2FyKCRldmVudClcIj5cclxuICAgICAgICAgICAgPC9rdi1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgQGlmKGZpbHRyb3NPcHQoKS5sZW5ndGggPiAwKSB7XHJcbiBcclxuICAgICAgICAgICAgICA8ZGl2IGlkPVwiZmlsdHJvLW9yZy1jaGFydFwiIFtzdHlsZS53aWR0aC5weF09XCJmaWx0ZXJDb250YWluZXIub2Zmc2V0V2lkdGgqMC45XCI+XHJcblxyXG4gICAgICAgICAgICAgICAgQGZvciAob3B0IG9mIGZpbHRyb3NPcHQoKTsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0cm8tb3JnLWNoYXJ0LWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBvcHQuZGF0YS5uYW1lIH19XHJcblxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIH0gLS0+XHJcblxyXG4gICAgICAgIDxwLWRyb3Bkb3duXHJcbiAgICAgICAgICAjZmlsdGVyXHJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIkZpbHRyYXIuLi5cIlxyXG4gICAgICAgICAgW3N0eWxlXT1cIntcclxuICAgICAgICAgICAgaGVpZ2h0OiAnMzBweCcsXHJcbiAgICAgICAgICAgICdkaXNwbGF5JzogJ2ZsZXgnLFxyXG4gICAgICAgICAgICAnYWxpZ24taXRlbXMnOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgJ21hcmdpbi1sZWZ0JzogJzE1cHgnLFxyXG4gICAgICAgICAgICAnbWF4LXdpZHRoJzogJzk1JSdcclxuICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgW2ZpbHRlcl09XCJ0cnVlXCJcclxuICAgICAgICAgIFtmaWx0ZXJGaWVsZHNdPVwiY29uZmlnLmZpbHRlcnNcIlxyXG4gICAgICAgICAgW29wdGlvbnNdPVwidGhpcy5kYXRhU291cmNlKCkhXCJcclxuICAgICAgICAgIFtzaG93Q2xlYXJdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAob25DaGFuZ2UpPVwiY2VudHJhbGl6YXJObygkZXZlbnQudmFsdWUuaWQpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8IS0tIFtpdGVtVGVtcGxhdGVdPVwiaXRlbVRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICBbc2VsZWN0ZWRJdGVtVGVtcGxhdGVdPVwic2VsZWN0ZWRJdGVtVGVtcGxhdGVcIiAtLT5cclxuICAgICAgICAgIDwhLS0gW2ZpbHRlcmVkT3B0aW9uc109XCJ0aGlzLmRhdGFTb3VyY2UoKSFcIiAtLT5cclxuICAgICAgICAgIDwhLS0gW2ZpbHRlckZpZWxkc109XCJkYXRhLm5hbWVcIiAtLT5cclxuXHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2l0ZW1UZW1wbGF0ZSBsZXQtaXRlbSBwVGVtcGxhdGU9XCJpdGVtXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJmaWx0ZXJJdGVtVGVtcGxhdGUhXCJcclxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc2VsZWN0ZWRJdGVtVGVtcGxhdGUgbGV0LWl0ZW0gcFRlbXBsYXRlPVwic2VsZWN0ZWRJdGVtXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJmaWx0ZXJTZWxlY3RlZEl0ZW1UZW1wbGF0ZSFcIlxyXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9wLWRyb3Bkb3duPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS0gQWN0aW9ucyBiYXIgLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC0xIGZsZXgtcm93IGZsZXgtZ3Jvdy0wXCI+XHJcbiAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOiAzMHB4XCIgY2xhc3M9XCJtci0yXCI+XHJcbiAgICAgICAgICA8a3YtYnV0dG9uXHJcbiAgICAgICAgICAgIChvbkNsaWNrKT1cImNoYXJ0LmV4cGFuZEFsbCgpXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJidXR0b24tZXhwYW5kLWFsbFwiXHJcbiAgICAgICAgICAgIFtmdWxsV2lkdGhdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxyXG4gICAgICAgICAgICBzZXZlcml0eT1cInRlcnRpYXJ5XCJcclxuICAgICAgICAgICAgW2ljb25dPVwiJ2V4cGFuZF9hbGwnXCJcclxuICAgICAgICAgICAgW3BUb29sdGlwXT1cIidFeHBhbmRpciBUb2RvcydcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9rdi1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogMzBweFwiIGNsYXNzPVwibXItMlwiPlxyXG4gICAgICAgICAgPGt2LWJ1dHRvblxyXG4gICAgICAgICAgICAob25DbGljayk9XCJjaGFydC5jb2xsYXBzZUFsbCgpXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJidXR0b24tY29sYXBwc2UtYWxsXCJcclxuICAgICAgICAgICAgW2Z1bGxXaWR0aF09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXHJcbiAgICAgICAgICAgIHNldmVyaXR5PVwidGVydGlhcnlcIlxyXG4gICAgICAgICAgICBbaWNvbl09XCInY29sbGFwc2VfYWxsJ1wiXHJcbiAgICAgICAgICAgIFtwVG9vbHRpcF09XCInUmVjb2xoZXIgVG9kb3MnXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwva3YtYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDMwcHhcIiBjbGFzcz1cIm1yLTJcIj5cclxuICAgICAgICAgIDxrdi1idXR0b25cclxuICAgICAgICAgICAgKG9uQ2xpY2spPVwiY2hhcnQuZml0KCkucmVuZGVyKClcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImJ1dHRvbi1mb2N1cy1jZW50ZXJcIlxyXG4gICAgICAgICAgICBbZnVsbFdpZHRoXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcclxuICAgICAgICAgICAgc2V2ZXJpdHk9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgW2ljb25dPVwiJ2NlbnRlcl9mb2N1c193ZWFrJ1wiXHJcbiAgICAgICAgICAgIFtwVG9vbHRpcF09XCInQ2VudHJhbGl6YXIgT3JnYW5vZ3JhbWEnXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwva3YtYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxsaW5rXHJcbiAgcmVsPVwic3R5bGVzaGVldFwiXHJcbiAgaHJlZj1cImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vaWNvbj9mYW1pbHk9TWF0ZXJpYWwrSWNvbnNcIlxyXG4vPlxyXG5cclxuPGxpbmtcclxuICByZWw9XCJzdHlsZXNoZWV0XCJcclxuICBocmVmPVwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1NYXRlcmlhbCtTeW1ib2xzK091dGxpbmVkOm9wc3osd2dodCxGSUxMLEdSQURANDgsNDAwLDAsMFwiXHJcbi8+XHJcblxyXG48ZGl2IHN0eWxlPVwiZGlzcGxheTogbm9uZVwiPlxyXG4gIDxuZy10ZW1wbGF0ZSAjbm9kZVRlbXBsYXRlIGxldC1ub2RlPlxyXG4gICAgPGRpdiBjbGFzcz1cIm5vZGUtY29udGVudFwiPmVycm88L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2Rpdj5cclxuIl19
@@ -1,59 +0,0 @@
1
- import { kvErrorModule } from './../kv-error/kv-error.module';
2
- import { NgModule } from '@angular/core';
3
- import { CommonModule } from '@angular/common';
4
- import { KvOrgchartComponent } from './kv-orgchart.component';
5
- import { PrimeNgModule } from '../../api/modules/primeng.module';
6
- import { OrganizationChartModule } from 'primeng/organizationchart';
7
- import { KvButtonModule } from '../kv-button/kv-button.module';
8
- import { KvInputsModule } from '../kv-inputs/kv-inputs.module';
9
- import { AutoCompleteModule } from 'primeng/autocomplete';
10
- import { DropdownModule } from 'primeng/dropdown';
11
- import { FormsModule } from '@angular/forms';
12
- import { FloatLabelModule } from 'primeng/floatlabel';
13
- import * as i0 from "@angular/core";
14
- export class KvOrgchartModule {
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvOrgchartModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
16
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.8", ngImport: i0, type: KvOrgchartModule, declarations: [KvOrgchartComponent], imports: [CommonModule,
17
- PrimeNgModule,
18
- FormsModule,
19
- kvErrorModule,
20
- PrimeNgModule,
21
- OrganizationChartModule,
22
- KvButtonModule,
23
- KvInputsModule,
24
- AutoCompleteModule,
25
- DropdownModule,
26
- FloatLabelModule], exports: [KvOrgchartComponent] }); }
27
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvOrgchartModule, imports: [CommonModule,
28
- PrimeNgModule,
29
- FormsModule,
30
- kvErrorModule,
31
- PrimeNgModule,
32
- OrganizationChartModule,
33
- KvButtonModule,
34
- KvInputsModule,
35
- AutoCompleteModule,
36
- DropdownModule,
37
- FloatLabelModule] }); }
38
- }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvOrgchartModule, decorators: [{
40
- type: NgModule,
41
- args: [{
42
- imports: [
43
- CommonModule,
44
- PrimeNgModule,
45
- FormsModule,
46
- kvErrorModule,
47
- PrimeNgModule,
48
- OrganizationChartModule,
49
- KvButtonModule,
50
- KvInputsModule,
51
- AutoCompleteModule,
52
- DropdownModule,
53
- FloatLabelModule
54
- ],
55
- declarations: [KvOrgchartComponent],
56
- exports: [KvOrgchartComponent]
57
- }]
58
- }] });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3Ytb3JnY2hhcnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3Ytb3JnY2hhcnQva3Ytb3JnY2hhcnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUcsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQW1CdEQsTUFBTSxPQUFPLGdCQUFnQjs4R0FBaEIsZ0JBQWdCOytHQUFoQixnQkFBZ0IsaUJBSFosbUJBQW1CLGFBWmhDLFlBQVk7WUFDWixhQUFhO1lBQ2IsV0FBVztZQUNYLGFBQWE7WUFDYixhQUFhO1lBQ2IsdUJBQXVCO1lBQ3ZCLGNBQWM7WUFDZCxjQUFjO1lBQ2Qsa0JBQWtCO1lBQ2xCLGNBQWM7WUFDZCxnQkFBZ0IsYUFHUixtQkFBbUI7K0dBRWxCLGdCQUFnQixZQWZ6QixZQUFZO1lBQ1osYUFBYTtZQUNiLFdBQVc7WUFDWCxhQUFhO1lBQ2IsYUFBYTtZQUNiLHVCQUF1QjtZQUN2QixjQUFjO1lBQ2QsY0FBYztZQUNkLGtCQUFrQjtZQUNsQixjQUFjO1lBQ2QsZ0JBQWdCOzsyRkFLUCxnQkFBZ0I7a0JBakI1QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsdUJBQXVCO3dCQUN2QixjQUFjO3dCQUNkLGNBQWM7d0JBQ2Qsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLGdCQUFnQjtxQkFDakI7b0JBQ0QsWUFBWSxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQ25DLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO2lCQUMvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGt2RXJyb3JNb2R1bGUgfSBmcm9tICcuLy4uL2t2LWVycm9yL2t2LWVycm9yLm1vZHVsZSc7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEt2T3JnY2hhcnRDb21wb25lbnQgfSBmcm9tICcuL2t2LW9yZ2NoYXJ0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByaW1lTmdNb2R1bGUgfSBmcm9tICcuLi8uLi9hcGkvbW9kdWxlcy9wcmltZW5nLm1vZHVsZSc7XHJcbmltcG9ydCB7IE9yZ2FuaXphdGlvbkNoYXJ0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9vcmdhbml6YXRpb25jaGFydCc7XHJcbmltcG9ydCB7IEt2QnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4va3YtYnV0dG9uL2t2LWJ1dHRvbi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBLdklucHV0c01vZHVsZSB9IGZyb20gJy4uL2t2LWlucHV0cy9rdi1pbnB1dHMubW9kdWxlJztcclxuaW1wb3J0IHsgQXV0b0NvbXBsZXRlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9hdXRvY29tcGxldGUnO1xyXG5pbXBvcnQgeyAgRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2Ryb3Bkb3duJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZsb2F0TGFiZWxNb2R1bGUgfSBmcm9tICdwcmltZW5nL2Zsb2F0bGFiZWwnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBQcmltZU5nTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBrdkVycm9yTW9kdWxlLFxyXG4gICAgUHJpbWVOZ01vZHVsZSxcclxuICAgIE9yZ2FuaXphdGlvbkNoYXJ0TW9kdWxlLFxyXG4gICAgS3ZCdXR0b25Nb2R1bGUsXHJcbiAgICBLdklucHV0c01vZHVsZSxcclxuICAgIEF1dG9Db21wbGV0ZU1vZHVsZSxcclxuICAgIERyb3Bkb3duTW9kdWxlLFxyXG4gICAgRmxvYXRMYWJlbE1vZHVsZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbS3ZPcmdjaGFydENvbXBvbmVudF0sXHJcbiAgZXhwb3J0czogW0t2T3JnY2hhcnRDb21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdk9yZ2NoYXJ0TW9kdWxlIHsgfVxyXG4iXX0=
@@ -1,215 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, effect, EventEmitter, Input, Output, signal, viewChild, } from '@angular/core';
2
- import { FormGroup } from '@angular/forms';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/forms";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "../kv-button/kv-button.component";
7
- export class KvPageFormComponent {
8
- constructor(fb) {
9
- this.fb = fb;
10
- /**
11
- * Configurações do formulário
12
- */
13
- this.formGroup = new FormGroup({});
14
- this.TituloForm = '';
15
- this.SubTituloForm = '';
16
- this.popup = false;
17
- this.locationUseComponent = 'dialog';
18
- // @Input() expandMenu!: boolean;
19
- /**
20
- * Botão cancelar
21
- */
22
- this.iconBtnCancel = 'close';
23
- this.showBtnCancel = true;
24
- this.txtBtnCancel = 'Cancelar';
25
- this.iconBtnCancelToogle = 'close';
26
- this.showBtnCancelToogle = false;
27
- this.txtBtnCancelToogle = 'Cancelar';
28
- /**
29
- * Botão salvar
30
- */
31
- this.iconBtnSave = 'save';
32
- this.showBtnSave = true;
33
- this.txtBtnSave = 'Salvar';
34
- this.disableBtnSave = false;
35
- this.iconBtnSaveToogle = 'pi pi-chevron-down';
36
- this.showBtnSaveToogle = false;
37
- this.txtBtnSaveToogle = 'Ações';
38
- this.showBtnSecundary = false;
39
- /**
40
- * @deprecated Essa não é mais utilizado, favor utilizar a propriedade severityBtnSecundary
41
- */
42
- this.colorBtnSecundary = '';
43
- this.iconBtnToogle = 'pi pi-chevron-down';
44
- this.showBtnToogle = false;
45
- this.txtBtnToogle = 'Ações';
46
- this.classBtnToogle = 'bg-glue-500';
47
- /**
48
- * Botão fechar
49
- */
50
- this.disableBtnSair = true;
51
- this.showMessageCamposObrigatorios = true;
52
- /**
53
- * Salvar dados
54
- */
55
- this.onSave = new EventEmitter();
56
- /**
57
- * Cancelar
58
- */
59
- this.onCancel = new EventEmitter();
60
- /**
61
- * Ação do botão Secundary
62
- */
63
- this.onClickSecundary = new EventEmitter();
64
- this.pageContainer = viewChild('pageContainer');
65
- this.pageContentHeight = signal(0);
66
- this.resizeObserver = new ResizeObserver((entries) => {
67
- entries.forEach((entry) => {
68
- this.setWidthBar();
69
- });
70
- });
71
- effect(() => {
72
- if (this.pageContainer())
73
- this.resizeObserver.observe(this.pageContainer()?.nativeElement);
74
- });
75
- }
76
- ngOnInit() {
77
- this.addSubTitle();
78
- // this.setPageFormContainerAttributes();
79
- }
80
- /**
81
- * Adiciona sub-título à tela
82
- */
83
- addSubTitle() {
84
- if (this.SubTituloForm) {
85
- const headerElement = document.querySelector('.p-dialog .p-dialog-header');
86
- if (headerElement) {
87
- const subtitleElement = document.createElement('span');
88
- subtitleElement.textContent = this.SubTituloForm;
89
- subtitleElement.style.fontSize = '0.75rem';
90
- subtitleElement.style.width = '100%';
91
- subtitleElement.style.marginLeft = '2px';
92
- headerElement.appendChild(subtitleElement);
93
- }
94
- }
95
- }
96
- /**
97
- * Dispara o método de cancelamento da tela
98
- * @param event evento
99
- */
100
- cancel(event) {
101
- this.onCancel.emit(event);
102
- }
103
- /**
104
- * Dispara o método de salvar da tela
105
- * @param event evento
106
- */
107
- save(event) {
108
- this.onSave.emit(event);
109
- }
110
- actionSecundary(event) {
111
- this.onClickSecundary.emit(event);
112
- }
113
- /**
114
- * Ajusta o tamanho da tela considerando o menu lateral
115
- */
116
- // setPageFormContainerAttributes() {
117
- // if (this.locationUseComponent == 'page') {
118
- // var form = document.getElementById('page-form-container');
119
- // if (form) {
120
- // var widthFull = form.clientWidth;
121
- // var widthAdjusted;
122
- // widthAdjusted = widthFull - 332;
123
- // }
124
- // }
125
- // }
126
- setWidthBar() {
127
- let divCard = document.getElementById('page-form-content');
128
- let divBarraAcoes = document.getElementById('barra-acoes');
129
- if (divCard && divBarraAcoes) {
130
- if (!this.popup) {
131
- divBarraAcoes.style.bottom = '0.5rem';
132
- divBarraAcoes.style.margin = '0 1rem 0 0';
133
- divBarraAcoes.style.width = divCard.clientWidth + 'px';
134
- }
135
- this.pageContentHeight.set(divBarraAcoes.clientHeight * 0.9);
136
- }
137
- }
138
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvPageFormComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
139
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvPageFormComponent, selector: "kv-page-form", inputs: { formGroup: "formGroup", TituloForm: "TituloForm", SubTituloForm: "SubTituloForm", isSaveLoading: "isSaveLoading", popup: "popup", locationUseComponent: "locationUseComponent", iconBtnCancel: "iconBtnCancel", showBtnCancel: "showBtnCancel", txtBtnCancel: "txtBtnCancel", actionsCancelToogle: "actionsCancelToogle", iconBtnCancelToogle: "iconBtnCancelToogle", showBtnCancelToogle: "showBtnCancelToogle", txtBtnCancelToogle: "txtBtnCancelToogle", iconBtnSave: "iconBtnSave", showBtnSave: "showBtnSave", txtBtnSave: "txtBtnSave", disableBtnSave: "disableBtnSave", actionsSaveToogle: "actionsSaveToogle", iconBtnSaveToogle: "iconBtnSaveToogle", showBtnSaveToogle: "showBtnSaveToogle", txtBtnSaveToogle: "txtBtnSaveToogle", iconBtnSecundary: "iconBtnSecundary", showBtnSecundary: "showBtnSecundary", txtBtnSecundary: "txtBtnSecundary", colorBtnSecundary: "colorBtnSecundary", actionsToogle: "actionsToogle", iconBtnToogle: "iconBtnToogle", showBtnToogle: "showBtnToogle", txtBtnToogle: "txtBtnToogle", classBtnToogle: "classBtnToogle", disableBtnSair: "disableBtnSair", showMessageCamposObrigatorios: "showMessageCamposObrigatorios" }, outputs: { onSave: "onSave", onCancel: "onCancel", onClickSecundary: "onClickSecundary" }, viewQueries: [{ propertyName: "pageContainer", first: true, predicate: ["pageContainer"], descendants: true, isSignal: true }], ngImport: i0, template: "<div\r\n [formGroup]=\"formGroup\"\r\n class=\"grid-nogutter m-0\"\r\n id=\"page-form-container\"\r\n #pageContainer\r\n [style.padding-bottom.px]=\"pageContentHeight()\"\r\n>\r\n <!-- Renderiza\u00E7\u00E3o do form -->\r\n <div class=\"col-12 p-0\" id=\"page-form-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <!-- Divider -->\r\n <!-- <p-divider class=\"col-12\"></p-divider> -->\r\n\r\n <!-- Barra de a\u00E7\u00F5es -->\r\n\r\n <div\r\n class=\"flex flex-column md:flex-row md:justify-content-end md:align-items-center col-12 gap-2 barra-acoes border-round-bottom-md\"\r\n id=\"barra-acoes\"\r\n >\r\n @if(showMessageCamposObrigatorios) {\r\n <span class=\"w-full text-sm\">\r\n <span class=\"font-bold\">*</span> Campos obrigat\u00F3rios</span\r\n >\r\n }\r\n <kv-button\r\n *ngIf=\"showBtnCancel\"\r\n [label]=\"txtBtnCancel\"\r\n [icon]=\"iconBtnCancel\"\r\n [disabled]=\"isSaveLoading\"\r\n (onClick)=\"cancel($event)\"\r\n class=\"w-full md:w-auto\"\r\n severity=\"secondary\"\r\n type=\"text\"\r\n >\r\n </kv-button>\r\n\r\n <kv-button\r\n *ngIf=\"actionsCancelToogle && showBtnCancelToogle\"\r\n [label]=\"txtBtnCancelToogle\"\r\n class=\"w-full md:w-auto\"\r\n [severity]=\"'secondary'\"\r\n type=\"text\"\r\n [disabled]=\"isSaveLoading\"\r\n [popup]=\"true\"\r\n [items]=\"actionsCancelToogle\"\r\n iconPosition=\"left\"\r\n />\r\n\r\n <kv-button\r\n *ngIf=\"showBtnSecundary\"\r\n [label]=\"txtBtnSecundary\"\r\n [icon]=\"iconBtnSecundary\"\r\n [disabled]=\"isSaveLoading\"\r\n severity=\"tertiary\"\r\n (onClick)=\"actionSecundary($event)\"\r\n class=\"w-full md:w-auto\"\r\n />\r\n\r\n <kv-button\r\n *ngIf=\"actionsToogle && showBtnToogle\"\r\n [label]=\"txtBtnToogle\"\r\n [icon]=\"iconBtnToogle\"\r\n class=\"w-full md:w-auto\"\r\n severity=\"tertiary\"\r\n [disabled]=\"isSaveLoading\"\r\n [popup]=\"true\"\r\n [items]=\"actionsToogle\"\r\n />\r\n\r\n <kv-button\r\n *ngIf=\"showBtnSave\"\r\n [label]=\"txtBtnSave\"\r\n [icon]=\"iconBtnSave\"\r\n [disabled]=\"disableBtnSave\"\r\n [loading]=\"isSaveLoading\"\r\n (onClick)=\"save($event)\"\r\n severity=\"primary\"\r\n class=\"w-full md:w-auto\"\r\n />\r\n\r\n <kv-button\r\n *ngIf=\"actionsSaveToogle && showBtnSaveToogle\"\r\n [label]=\"txtBtnSaveToogle\"\r\n [icon]=\"iconBtnSaveToogle\"\r\n [loading]=\"isSaveLoading\"\r\n class=\"w-full md:w-auto\"\r\n [severity]=\"'primary'\"\r\n [popup]=\"true\"\r\n [items]=\"actionsSaveToogle\"\r\n />\r\n </div>\r\n</div>\r\n", styles: ["*{padding-bottom:0rem;padding-top:0rem}.barra-acoes{position:fixed;bottom:0;right:0;background-color:#fff;padding:10px}#page-form-container{padding-bottom:40px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i3.KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "iconPosition", "label", "disabled", "items", "popup"], outputs: ["iconChange", "onClick"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
140
- }
141
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvPageFormComponent, decorators: [{
142
- type: Component,
143
- args: [{ selector: 'kv-page-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n [formGroup]=\"formGroup\"\r\n class=\"grid-nogutter m-0\"\r\n id=\"page-form-container\"\r\n #pageContainer\r\n [style.padding-bottom.px]=\"pageContentHeight()\"\r\n>\r\n <!-- Renderiza\u00E7\u00E3o do form -->\r\n <div class=\"col-12 p-0\" id=\"page-form-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <!-- Divider -->\r\n <!-- <p-divider class=\"col-12\"></p-divider> -->\r\n\r\n <!-- Barra de a\u00E7\u00F5es -->\r\n\r\n <div\r\n class=\"flex flex-column md:flex-row md:justify-content-end md:align-items-center col-12 gap-2 barra-acoes border-round-bottom-md\"\r\n id=\"barra-acoes\"\r\n >\r\n @if(showMessageCamposObrigatorios) {\r\n <span class=\"w-full text-sm\">\r\n <span class=\"font-bold\">*</span> Campos obrigat\u00F3rios</span\r\n >\r\n }\r\n <kv-button\r\n *ngIf=\"showBtnCancel\"\r\n [label]=\"txtBtnCancel\"\r\n [icon]=\"iconBtnCancel\"\r\n [disabled]=\"isSaveLoading\"\r\n (onClick)=\"cancel($event)\"\r\n class=\"w-full md:w-auto\"\r\n severity=\"secondary\"\r\n type=\"text\"\r\n >\r\n </kv-button>\r\n\r\n <kv-button\r\n *ngIf=\"actionsCancelToogle && showBtnCancelToogle\"\r\n [label]=\"txtBtnCancelToogle\"\r\n class=\"w-full md:w-auto\"\r\n [severity]=\"'secondary'\"\r\n type=\"text\"\r\n [disabled]=\"isSaveLoading\"\r\n [popup]=\"true\"\r\n [items]=\"actionsCancelToogle\"\r\n iconPosition=\"left\"\r\n />\r\n\r\n <kv-button\r\n *ngIf=\"showBtnSecundary\"\r\n [label]=\"txtBtnSecundary\"\r\n [icon]=\"iconBtnSecundary\"\r\n [disabled]=\"isSaveLoading\"\r\n severity=\"tertiary\"\r\n (onClick)=\"actionSecundary($event)\"\r\n class=\"w-full md:w-auto\"\r\n />\r\n\r\n <kv-button\r\n *ngIf=\"actionsToogle && showBtnToogle\"\r\n [label]=\"txtBtnToogle\"\r\n [icon]=\"iconBtnToogle\"\r\n class=\"w-full md:w-auto\"\r\n severity=\"tertiary\"\r\n [disabled]=\"isSaveLoading\"\r\n [popup]=\"true\"\r\n [items]=\"actionsToogle\"\r\n />\r\n\r\n <kv-button\r\n *ngIf=\"showBtnSave\"\r\n [label]=\"txtBtnSave\"\r\n [icon]=\"iconBtnSave\"\r\n [disabled]=\"disableBtnSave\"\r\n [loading]=\"isSaveLoading\"\r\n (onClick)=\"save($event)\"\r\n severity=\"primary\"\r\n class=\"w-full md:w-auto\"\r\n />\r\n\r\n <kv-button\r\n *ngIf=\"actionsSaveToogle && showBtnSaveToogle\"\r\n [label]=\"txtBtnSaveToogle\"\r\n [icon]=\"iconBtnSaveToogle\"\r\n [loading]=\"isSaveLoading\"\r\n class=\"w-full md:w-auto\"\r\n [severity]=\"'primary'\"\r\n [popup]=\"true\"\r\n [items]=\"actionsSaveToogle\"\r\n />\r\n </div>\r\n</div>\r\n", styles: ["*{padding-bottom:0rem;padding-top:0rem}.barra-acoes{position:fixed;bottom:0;right:0;background-color:#fff;padding:10px}#page-form-container{padding-bottom:40px}\n"] }]
144
- }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { formGroup: [{
145
- type: Input
146
- }], TituloForm: [{
147
- type: Input
148
- }], SubTituloForm: [{
149
- type: Input
150
- }], isSaveLoading: [{
151
- type: Input
152
- }], popup: [{
153
- type: Input
154
- }], locationUseComponent: [{
155
- type: Input
156
- }], iconBtnCancel: [{
157
- type: Input
158
- }], showBtnCancel: [{
159
- type: Input
160
- }], txtBtnCancel: [{
161
- type: Input
162
- }], actionsCancelToogle: [{
163
- type: Input
164
- }], iconBtnCancelToogle: [{
165
- type: Input
166
- }], showBtnCancelToogle: [{
167
- type: Input
168
- }], txtBtnCancelToogle: [{
169
- type: Input
170
- }], iconBtnSave: [{
171
- type: Input
172
- }], showBtnSave: [{
173
- type: Input
174
- }], txtBtnSave: [{
175
- type: Input
176
- }], disableBtnSave: [{
177
- type: Input
178
- }], actionsSaveToogle: [{
179
- type: Input
180
- }], iconBtnSaveToogle: [{
181
- type: Input
182
- }], showBtnSaveToogle: [{
183
- type: Input
184
- }], txtBtnSaveToogle: [{
185
- type: Input
186
- }], iconBtnSecundary: [{
187
- type: Input
188
- }], showBtnSecundary: [{
189
- type: Input
190
- }], txtBtnSecundary: [{
191
- type: Input
192
- }], colorBtnSecundary: [{
193
- type: Input
194
- }], actionsToogle: [{
195
- type: Input
196
- }], iconBtnToogle: [{
197
- type: Input
198
- }], showBtnToogle: [{
199
- type: Input
200
- }], txtBtnToogle: [{
201
- type: Input
202
- }], classBtnToogle: [{
203
- type: Input
204
- }], disableBtnSair: [{
205
- type: Input
206
- }], showMessageCamposObrigatorios: [{
207
- type: Input
208
- }], onSave: [{
209
- type: Output
210
- }], onCancel: [{
211
- type: Output
212
- }], onClickSecundary: [{
213
- type: Output
214
- }] } });
215
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtcGFnZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LXBhZ2UtZm9ybS9rdi1wYWdlLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtcGFnZS1mb3JtL2t2LXBhZ2UtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxNQUFNLEVBRU4sWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQWUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBVXhELE1BQU0sT0FBTyxtQkFBbUI7SUEyRjlCLFlBQW9CLEVBQWU7UUFBZixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBMUZuQzs7V0FFRztRQUNNLGNBQVMsR0FBYyxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6QyxlQUFVLEdBQXVCLEVBQUUsQ0FBQztRQUNwQyxrQkFBYSxHQUF1QixFQUFFLENBQUM7UUFFdkMsVUFBSyxHQUFZLEtBQUssQ0FBQztRQUN2Qix5QkFBb0IsR0FBc0IsUUFBUSxDQUFDO1FBQzVELGlDQUFpQztRQUVqQzs7V0FFRztRQUNNLGtCQUFhLEdBQVcsT0FBTyxDQUFDO1FBQ2hDLGtCQUFhLEdBQVksSUFBSSxDQUFDO1FBQzlCLGlCQUFZLEdBQVcsVUFBVSxDQUFDO1FBTWxDLHdCQUFtQixHQUFXLE9BQU8sQ0FBQztRQUN0Qyx3QkFBbUIsR0FBWSxLQUFLLENBQUM7UUFDckMsdUJBQWtCLEdBQVcsVUFBVSxDQUFDO1FBRWpEOztX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RyxZQUFZO3NCQUFwQixLQUFLO2dCQUtHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFLRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUtHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFLRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBS0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUtHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFLRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLDZCQUE2QjtzQkFBckMsS0FBSztnQkFLSSxNQUFNO3NCQUFmLE1BQU07Z0JBS0csUUFBUTtzQkFBakIsTUFBTTtnQkFLRyxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBlZmZlY3QsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBzaWduYWwsXHJcbiAgdmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IEFjdGlvbkl0ZW0gfSBmcm9tICcuLi8uLi9hcGkvY29tcG9uZW50cy90YWJsZS9hY3Rpb24taXRlbSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2t2LXBhZ2UtZm9ybScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2t2LXBhZ2UtZm9ybS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4va3YtcGFnZS1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdlBhZ2VGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAvKipcclxuICAgKiBDb25maWd1cmHDp8O1ZXMgZG8gZm9ybXVsw6FyaW9cclxuICAgKi9cclxuICBASW5wdXQoKSBmb3JtR3JvdXA6IEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gIEBJbnB1dCgpIFRpdHVsb0Zvcm06IHN0cmluZyB8IHVuZGVmaW5lZCA9ICcnO1xyXG4gIEBJbnB1dCgpIFN1YlRpdHVsb0Zvcm06IHN0cmluZyB8IHVuZGVmaW5lZCA9ICcnO1xyXG4gIEBJbnB1dCgpIGlzU2F2ZUxvYWRpbmchOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHBvcHVwOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgbG9jYXRpb25Vc2VDb21wb25lbnQ6ICdwYWdlJyB8ICdkaWFsb2cnID0gJ2RpYWxvZyc7XHJcbiAgLy8gQElucHV0KCkgZXhwYW5kTWVudSE6IGJvb2xlYW47XHJcblxyXG4gIC8qKlxyXG4gICAqIEJvdMOjbyBjYW5jZWxhclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGljb25CdG5DYW5jZWw6IHN0cmluZyA9ICdjbG9zZSc7XHJcbiAgQElucHV0KCkgc2hvd0J0bkNhbmNlbDogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgdHh0QnRuQ2FuY2VsOiBzdHJpbmcgPSAnQ2FuY2VsYXInO1xyXG5cclxuICAvKipcclxuICAgKiBCb3TDo28gZGUgY2FuY2VsYXIgY29tIG9ww6fDtWVzXHJcbiAgICovXHJcbiAgQElucHV0KCkgYWN0aW9uc0NhbmNlbFRvb2dsZSE6IEFjdGlvbkl0ZW1bXTtcclxuICBASW5wdXQoKSBpY29uQnRuQ2FuY2VsVG9vZ2xlOiBzdHJpbmcgPSAnY2xvc2UnO1xyXG4gIEBJbnB1dCgpIHNob3dCdG5DYW5jZWxUb29nbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSB0eHRCdG5DYW5jZWxUb29nbGU6IHN0cmluZyA9ICdDYW5jZWxhcic7XHJcblxyXG4gIC8qKlxyXG4gICAqIEJvdMOjbyBzYWx2YXJcclxuICAgKi9cclxuICBASW5wdXQoKSBpY29uQnRuU2F2ZTogc3RyaW5nID0gJ3NhdmUnO1xyXG4gIEBJbnB1dCgpIHNob3dCdG5TYXZlOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSB0eHRCdG5TYXZlOiBzdHJpbmcgPSAnU2FsdmFyJztcclxuICBASW5wdXQoKSBkaXNhYmxlQnRuU2F2ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBCb3TDo28gZGUgc2FsdmFyIGNvbSBvcMOnw7Vlc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGFjdGlvbnNTYXZlVG9vZ2xlITogQWN0aW9uSXRlbVtdO1xyXG4gIEBJbnB1dCgpIGljb25CdG5TYXZlVG9vZ2xlOiBzdHJpbmcgPSAncGkgcGktY2hldnJvbi1kb3duJztcclxuICBASW5wdXQoKSBzaG93QnRuU2F2ZVRvb2dsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHR4dEJ0blNhdmVUb29nbGU6IHN0cmluZyA9ICdBw6fDtWVzJztcclxuXHJcbiAgLyoqXHJcbiAgICogQm90w6NvIGdlbsOpcmljbyAnU2VjdW5kYXJ5J1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGljb25CdG5TZWN1bmRhcnkhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc2hvd0J0blNlY3VuZGFyeTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHR4dEJ0blNlY3VuZGFyeSE6IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogQGRlcHJlY2F0ZWQgRXNzYSBuw6NvIMOpIG1haXMgdXRpbGl6YWRvLCBmYXZvciB1dGlsaXphciBhIHByb3ByaWVkYWRlIHNldmVyaXR5QnRuU2VjdW5kYXJ5XHJcbiAgICovXHJcbiAgQElucHV0KCkgY29sb3JCdG5TZWN1bmRhcnk6IHN0cmluZyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBCb3TDo28gZ2Vuw6lyaWNvIGNvbSBvcMOnw7Vlc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGFjdGlvbnNUb29nbGUhOiBBY3Rpb25JdGVtW107XHJcbiAgQElucHV0KCkgaWNvbkJ0blRvb2dsZTogc3RyaW5nID0gJ3BpIHBpLWNoZXZyb24tZG93bic7XHJcbiAgQElucHV0KCkgc2hvd0J0blRvb2dsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHR4dEJ0blRvb2dsZTogc3RyaW5nID0gJ0HDp8O1ZXMnO1xyXG4gIEBJbnB1dCgpIGNsYXNzQnRuVG9vZ2xlOiBzdHJpbmcgPSAnYmctZ2x1ZS01MDAnO1xyXG5cclxuICAvKipcclxuICAgKiBCb3TDo28gZmVjaGFyXHJcbiAgICovXHJcbiAgQElucHV0KCkgZGlzYWJsZUJ0blNhaXI6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKSBzaG93TWVzc2FnZUNhbXBvc09icmlnYXRvcmlvczogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNhbHZhciBkYWRvc1xyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBvblNhdmU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAvKipcclxuICAgKiBDYW5jZWxhclxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBvbkNhbmNlbDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEHDp8OjbyBkbyBib3TDo28gU2VjdW5kYXJ5XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIG9uQ2xpY2tTZWN1bmRhcnk6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IHJlc2l6ZU9ic2VydmVyITogUmVzaXplT2JzZXJ2ZXI7XHJcbiAgcGFnZUNvbnRhaW5lciA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPigncGFnZUNvbnRhaW5lcicpO1xyXG5cclxuICBwYWdlQ29udGVudEhlaWdodCA9IHNpZ25hbDxudW1iZXI+KDApO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlcikge1xyXG4gICAgdGhpcy5yZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoZW50cmllcykgPT4ge1xyXG4gICAgICBlbnRyaWVzLmZvckVhY2goKGVudHJ5KSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXRXaWR0aEJhcigpO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIGVmZmVjdCgoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLnBhZ2VDb250YWluZXIoKSlcclxuICAgICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5wYWdlQ29udGFpbmVyKCk/Lm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuYWRkU3ViVGl0bGUoKTtcclxuICAgIC8vIHRoaXMuc2V0UGFnZUZvcm1Db250YWluZXJBdHRyaWJ1dGVzKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGljaW9uYSBzdWItdMOtdHVsbyDDoCB0ZWxhXHJcbiAgICovXHJcbiAgYWRkU3ViVGl0bGUoKSB7XHJcbiAgICBpZiAodGhpcy5TdWJUaXR1bG9Gb3JtKSB7XHJcbiAgICAgIGNvbnN0IGhlYWRlckVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFxyXG4gICAgICAgICcucC1kaWFsb2cgLnAtZGlhbG9nLWhlYWRlcidcclxuICAgICAgKTtcclxuICAgICAgaWYgKGhlYWRlckVsZW1lbnQpIHtcclxuICAgICAgICBjb25zdCBzdWJ0aXRsZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XHJcbiAgICAgICAgc3VidGl0bGVFbGVtZW50LnRleHRDb250ZW50ID0gdGhpcy5TdWJUaXR1bG9Gb3JtO1xyXG4gICAgICAgIHN1YnRpdGxlRWxlbWVudC5zdHlsZS5mb250U2l6ZSA9ICcwLjc1cmVtJztcclxuICAgICAgICBzdWJ0aXRsZUVsZW1lbnQuc3R5bGUud2lkdGggPSAnMTAwJSc7XHJcbiAgICAgICAgc3VidGl0bGVFbGVtZW50LnN0eWxlLm1hcmdpbkxlZnQgPSAnMnB4JztcclxuXHJcbiAgICAgICAgaGVhZGVyRWxlbWVudC5hcHBlbmRDaGlsZChzdWJ0aXRsZUVsZW1lbnQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEaXNwYXJhIG8gbcOpdG9kbyBkZSBjYW5jZWxhbWVudG8gZGEgdGVsYVxyXG4gICAqIEBwYXJhbSBldmVudCBldmVudG9cclxuICAgKi9cclxuICBjYW5jZWwoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICB0aGlzLm9uQ2FuY2VsLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGlzcGFyYSBvIG3DqXRvZG8gZGUgc2FsdmFyIGRhIHRlbGFcclxuICAgKiBAcGFyYW0gZXZlbnQgZXZlbnRvXHJcbiAgICovXHJcbiAgc2F2ZShldmVudDogRXZlbnQpIHtcclxuICAgIHRoaXMub25TYXZlLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgYWN0aW9uU2VjdW5kYXJ5KGV2ZW50OiBFdmVudCkge1xyXG4gICAgdGhpcy5vbkNsaWNrU2VjdW5kYXJ5LmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWp1c3RhIG8gdGFtYW5obyBkYSB0ZWxhIGNvbnNpZGVyYW5kbyBvIG1lbnUgbGF0ZXJhbFxyXG4gICAqL1xyXG4gIC8vIHNldFBhZ2VGb3JtQ29udGFpbmVyQXR0cmlidXRlcygpIHtcclxuICAvLyAgIGlmICh0aGlzLmxvY2F0aW9uVXNlQ29tcG9uZW50ID09ICdwYWdlJykge1xyXG4gIC8vICAgICB2YXIgZm9ybSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYWdlLWZvcm0tY29udGFpbmVyJyk7XHJcblxyXG4gIC8vICAgICBpZiAoZm9ybSkge1xyXG4gIC8vICAgICAgIHZhciB3aWR0aEZ1bGwgPSBmb3JtLmNsaWVudFdpZHRoO1xyXG4gIC8vICAgICAgIHZhciB3aWR0aEFkanVzdGVkO1xyXG5cclxuICAvLyAgICAgICB3aWR0aEFkanVzdGVkID0gd2lkdGhGdWxsIC0gMzMyO1xyXG4gIC8vICAgICB9XHJcbiAgLy8gICB9XHJcbiAgLy8gfVxyXG5cclxuXHJcbiAgc2V0V2lkdGhCYXIoKSB7XHJcbiAgICBsZXQgZGl2Q2FyZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYWdlLWZvcm0tY29udGVudCcpO1xyXG5cclxuICAgIGxldCBkaXZCYXJyYUFjb2VzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JhcnJhLWFjb2VzJyk7XHJcblxyXG4gICAgaWYgKGRpdkNhcmQgJiYgZGl2QmFycmFBY29lcykge1xyXG5cclxuICAgICAgaWYgKCF0aGlzLnBvcHVwKSB7XHJcbiAgICAgICAgZGl2QmFycmFBY29lcy5zdHlsZS5ib3R0b20gPSAnMC41cmVtJztcclxuICAgICAgICBkaXZCYXJyYUFjb2VzLnN0eWxlLm1hcmdpbiA9ICcwIDFyZW0gMCAwJztcclxuICAgICAgICBkaXZCYXJyYUFjb2VzLnN0eWxlLndpZHRoID0gZGl2Q2FyZC5jbGllbnRXaWR0aCArICdweCc7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMucGFnZUNvbnRlbnRIZWlnaHQuc2V0KGRpdkJhcnJhQWNvZXMuY2xpZW50SGVpZ2h0ICogMC45KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCJcclxuICBjbGFzcz1cImdyaWQtbm9ndXR0ZXIgbS0wXCJcclxuICBpZD1cInBhZ2UtZm9ybS1jb250YWluZXJcIlxyXG4gICNwYWdlQ29udGFpbmVyXHJcbiAgW3N0eWxlLnBhZGRpbmctYm90dG9tLnB4XT1cInBhZ2VDb250ZW50SGVpZ2h0KClcIlxyXG4+XHJcbiAgPCEtLSBSZW5kZXJpemHDp8OjbyBkbyBmb3JtIC0tPlxyXG4gIDxkaXYgY2xhc3M9XCJjb2wtMTIgcC0wXCIgaWQ9XCJwYWdlLWZvcm0tY29udGVudFwiPlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8IS0tIERpdmlkZXIgLS0+XHJcbiAgPCEtLSA8cC1kaXZpZGVyIGNsYXNzPVwiY29sLTEyXCI+PC9wLWRpdmlkZXI+IC0tPlxyXG5cclxuICA8IS0tIEJhcnJhIGRlIGHDp8O1ZXMgLS0+XHJcblxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBtZDpmbGV4LXJvdyBtZDpqdXN0aWZ5LWNvbnRlbnQtZW5kIG1kOmFsaWduLWl0ZW1zLWNlbnRlciBjb2wtMTIgZ2FwLTIgYmFycmEtYWNvZXMgYm9yZGVyLXJvdW5kLWJvdHRvbS1tZFwiXHJcbiAgICBpZD1cImJhcnJhLWFjb2VzXCJcclxuICA+XHJcbiAgICBAaWYoc2hvd01lc3NhZ2VDYW1wb3NPYnJpZ2F0b3Jpb3MpIHtcclxuICAgIDxzcGFuIGNsYXNzPVwidy1mdWxsIHRleHQtc21cIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGRcIj4qPC9zcGFuPiBDYW1wb3Mgb2JyaWdhdMOzcmlvczwvc3BhblxyXG4gICAgPlxyXG4gICAgfVxyXG4gICAgPGt2LWJ1dHRvblxyXG4gICAgICAqbmdJZj1cInNob3dCdG5DYW5jZWxcIlxyXG4gICAgICBbbGFiZWxdPVwidHh0QnRuQ2FuY2VsXCJcclxuICAgICAgW2ljb25dPVwiaWNvbkJ0bkNhbmNlbFwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJpc1NhdmVMb2FkaW5nXCJcclxuICAgICAgKG9uQ2xpY2spPVwiY2FuY2VsKCRldmVudClcIlxyXG4gICAgICBjbGFzcz1cInctZnVsbCBtZDp3LWF1dG9cIlxyXG4gICAgICBzZXZlcml0eT1cInNlY29uZGFyeVwiXHJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgID5cclxuICAgIDwva3YtYnV0dG9uPlxyXG5cclxuICAgIDxrdi1idXR0b25cclxuICAgICAgKm5nSWY9XCJhY3Rpb25zQ2FuY2VsVG9vZ2xlICYmIHNob3dCdG5DYW5jZWxUb29nbGVcIlxyXG4gICAgICBbbGFiZWxdPVwidHh0QnRuQ2FuY2VsVG9vZ2xlXCJcclxuICAgICAgY2xhc3M9XCJ3LWZ1bGwgbWQ6dy1hdXRvXCJcclxuICAgICAgW3NldmVyaXR5XT1cIidzZWNvbmRhcnknXCJcclxuICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiaXNTYXZlTG9hZGluZ1wiXHJcbiAgICAgIFtwb3B1cF09XCJ0cnVlXCJcclxuICAgICAgW2l0ZW1zXT1cImFjdGlvbnNDYW5jZWxUb29nbGVcIlxyXG4gICAgICBpY29uUG9zaXRpb249XCJsZWZ0XCJcclxuICAgIC8+XHJcblxyXG4gICAgPGt2LWJ1dHRvblxyXG4gICAgICAqbmdJZj1cInNob3dCdG5TZWN1bmRhcnlcIlxyXG4gICAgICBbbGFiZWxdPVwidHh0QnRuU2VjdW5kYXJ5XCJcclxuICAgICAgW2ljb25dPVwiaWNvbkJ0blNlY3VuZGFyeVwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJpc1NhdmVMb2FkaW5nXCJcclxuICAgICAgc2V2ZXJpdHk9XCJ0ZXJ0aWFyeVwiXHJcbiAgICAgIChvbkNsaWNrKT1cImFjdGlvblNlY3VuZGFyeSgkZXZlbnQpXCJcclxuICAgICAgY2xhc3M9XCJ3LWZ1bGwgbWQ6dy1hdXRvXCJcclxuICAgIC8+XHJcblxyXG4gICAgPGt2LWJ1dHRvblxyXG4gICAgICAqbmdJZj1cImFjdGlvbnNUb29nbGUgJiYgc2hvd0J0blRvb2dsZVwiXHJcbiAgICAgIFtsYWJlbF09XCJ0eHRCdG5Ub29nbGVcIlxyXG4gICAgICBbaWNvbl09XCJpY29uQnRuVG9vZ2xlXCJcclxuICAgICAgY2xhc3M9XCJ3LWZ1bGwgbWQ6dy1hdXRvXCJcclxuICAgICAgc2V2ZXJpdHk9XCJ0ZXJ0aWFyeVwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJpc1NhdmVMb2FkaW5nXCJcclxuICAgICAgW3BvcHVwXT1cInRydWVcIlxyXG4gICAgICBbaXRlbXNdPVwiYWN0aW9uc1Rvb2dsZVwiXHJcbiAgICAvPlxyXG5cclxuICAgIDxrdi1idXR0b25cclxuICAgICAgKm5nSWY9XCJzaG93QnRuU2F2ZVwiXHJcbiAgICAgIFtsYWJlbF09XCJ0eHRCdG5TYXZlXCJcclxuICAgICAgW2ljb25dPVwiaWNvbkJ0blNhdmVcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZUJ0blNhdmVcIlxyXG4gICAgICBbbG9hZGluZ109XCJpc1NhdmVMb2FkaW5nXCJcclxuICAgICAgKG9uQ2xpY2spPVwic2F2ZSgkZXZlbnQpXCJcclxuICAgICAgc2V2ZXJpdHk9XCJwcmltYXJ5XCJcclxuICAgICAgY2xhc3M9XCJ3LWZ1bGwgbWQ6dy1hdXRvXCJcclxuICAgIC8+XHJcblxyXG4gICAgPGt2LWJ1dHRvblxyXG4gICAgICAqbmdJZj1cImFjdGlvbnNTYXZlVG9vZ2xlICYmIHNob3dCdG5TYXZlVG9vZ2xlXCJcclxuICAgICAgW2xhYmVsXT1cInR4dEJ0blNhdmVUb29nbGVcIlxyXG4gICAgICBbaWNvbl09XCJpY29uQnRuU2F2ZVRvb2dsZVwiXHJcbiAgICAgIFtsb2FkaW5nXT1cImlzU2F2ZUxvYWRpbmdcIlxyXG4gICAgICBjbGFzcz1cInctZnVsbCBtZDp3LWF1dG9cIlxyXG4gICAgICBbc2V2ZXJpdHldPVwiJ3ByaW1hcnknXCJcclxuICAgICAgW3BvcHVwXT1cInRydWVcIlxyXG4gICAgICBbaXRlbXNdPVwiYWN0aW9uc1NhdmVUb29nbGVcIlxyXG4gICAgLz5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==