keevo-components 2.0.15 → 2.0.17

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 (155) hide show
  1. package/esm2022/keevo-components.mjs +5 -0
  2. package/esm2022/lib/api/base-components/base-component-button.mjs +39 -0
  3. package/esm2022/lib/api/base-components/base-component-chart.mjs +104 -0
  4. package/esm2022/lib/api/base-components/base-component-crud-form.mjs +302 -0
  5. package/esm2022/lib/api/base-components/base-component-crud-list.mjs +91 -0
  6. package/esm2022/lib/api/base-components/base-component-crud.mjs +80 -0
  7. package/esm2022/lib/api/base-components/base-component-dropdown-external.mjs +31 -0
  8. package/esm2022/lib/api/base-components/base-component-dropdown.mjs +238 -0
  9. package/esm2022/lib/api/base-components/base-component-input.mjs +101 -0
  10. package/esm2022/lib/api/base-components/base-component-multi-select.mjs +174 -0
  11. package/esm2022/lib/api/base-components/base-component-table.mjs +354 -0
  12. package/esm2022/lib/api/base-components/base-component.mjs +51 -0
  13. package/esm2022/lib/api/components/chart/chart.config.mjs +2 -0
  14. package/esm2022/lib/api/components/chart/chart.model.mjs +2 -0
  15. package/esm2022/lib/api/components/chart/orchart.config.mjs +2 -0
  16. package/esm2022/lib/api/components/chart/orchartnode.mjs +2 -0
  17. package/esm2022/lib/api/components/dropdown/filtro.combo.mjs +2 -0
  18. package/esm2022/lib/api/components/stepper/kv-stepperpanel.mjs +2 -0
  19. package/esm2022/lib/api/components/table/action-item.mjs +2 -0
  20. package/esm2022/lib/api/components/table/kv-menuitem.mjs +46 -0
  21. package/esm2022/lib/api/components/table/table-dropdown-control.mjs +2 -0
  22. package/esm2022/lib/api/components/table/table.config.column.mjs +2 -0
  23. package/esm2022/lib/api/components/table/table.config.mjs +2 -0
  24. package/esm2022/lib/api/components/table/table.paginate.mjs +10 -0
  25. package/esm2022/lib/api/components/table/tabledit.config.mjs +2 -0
  26. package/esm2022/lib/api/components/table/tableedit.config.column.mjs +2 -0
  27. package/esm2022/lib/api/components/tree-table/tree-table-keys.mjs +2 -0
  28. package/esm2022/lib/api/components/tree-table/tree-table.config.mjs +3 -0
  29. package/esm2022/lib/api/directives/directives.module.mjs +30 -0
  30. package/esm2022/lib/api/directives/drag/drag.directive.mjs +52 -0
  31. package/esm2022/lib/api/directives/stepper/dynamicinput.directive.mjs +31 -0
  32. package/esm2022/lib/api/directives/template/template.directive.mjs +24 -0
  33. package/esm2022/lib/api/helpers/component-providers.mjs +16 -0
  34. package/esm2022/lib/api/helpers/keevo-validators.mjs +131 -0
  35. package/esm2022/lib/api/helpers/translate-primeng.mjs +23 -0
  36. package/esm2022/lib/api/modules/primeng.module.mjs +275 -0
  37. package/esm2022/lib/api/pipes/capitalize.pipe.mjs +47 -0
  38. package/esm2022/lib/api/pipes/cpfcnpj.pipe.mjs +25 -0
  39. package/esm2022/lib/api/pipes/mask.pipe.mjs +29 -0
  40. package/esm2022/lib/api/pipes/pipes.module.mjs +39 -0
  41. package/esm2022/lib/api/pipes/telefone.pipe.mjs +45 -0
  42. package/esm2022/lib/api/services/base.api.service.mjs +74 -0
  43. package/esm2022/lib/api/services/breadcrumbs.service.mjs +62 -0
  44. package/esm2022/lib/api/services/chat.service.mjs +37 -0
  45. package/esm2022/lib/api/services/component.service.mjs +37 -0
  46. package/esm2022/lib/api/services/docs.service.mjs +129 -0
  47. package/esm2022/lib/api/services/form.service.mjs +95 -0
  48. package/esm2022/lib/api/services/image.cutter.service.mjs +191 -0
  49. package/esm2022/lib/api/services/imagens.service.mjs +28 -0
  50. package/esm2022/lib/api/services/notification.service.mjs +69 -0
  51. package/esm2022/lib/api/services/object.service.mjs +39 -0
  52. package/esm2022/lib/api/services/orgchart.service.mjs +64 -0
  53. package/esm2022/lib/api/types/breadcrumb.model.mjs +2 -0
  54. package/esm2022/lib/components/keevo-components.module.mjs +207 -0
  55. package/esm2022/lib/components/kv-avatar/kv-avatar.component.mjs +133 -0
  56. package/esm2022/lib/components/kv-avatar/kv-avatar.module.mjs +55 -0
  57. package/esm2022/lib/components/kv-button/kv-button.component.mjs +24 -0
  58. package/esm2022/lib/components/kv-button/kv-button.module.mjs +28 -0
  59. package/esm2022/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.mjs +25 -0
  60. package/esm2022/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.mjs +35 -0
  61. package/esm2022/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.mjs +17 -0
  62. package/esm2022/lib/components/kv-buttons/kv-button-success/kv-button-success.component.mjs +17 -0
  63. package/esm2022/lib/components/kv-buttons/kv-button.module.mjs +39 -0
  64. package/esm2022/lib/components/kv-card-selection/kv-card-selection.component.mjs +60 -0
  65. package/esm2022/lib/components/kv-card-selection/kv-card-selection.module.mjs +31 -0
  66. package/esm2022/lib/components/kv-carousel/kv-carousel.component.mjs +34 -0
  67. package/esm2022/lib/components/kv-carousel/kv-carousel.module.mjs +28 -0
  68. package/esm2022/lib/components/kv-chart/kv-chart.component.mjs +166 -0
  69. package/esm2022/lib/components/kv-chart/kv-chart.module.mjs +32 -0
  70. package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.component.mjs +143 -0
  71. package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.module.mjs +36 -0
  72. package/esm2022/lib/components/kv-error/kv-error.component.mjs +26 -0
  73. package/esm2022/lib/components/kv-error/kv-error.module.mjs +35 -0
  74. package/esm2022/lib/components/kv-file-upload/kv-file-upload.component.mjs +162 -0
  75. package/esm2022/lib/components/kv-file-upload/kv-file-upload.module.mjs +18 -0
  76. package/esm2022/lib/components/kv-file-viewer/kv-file-viewer.component.mjs +46 -0
  77. package/esm2022/lib/components/kv-file-viewer/kv-file-viewer.module.mjs +20 -0
  78. package/esm2022/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.mjs +68 -0
  79. package/esm2022/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.module.mjs +24 -0
  80. package/esm2022/lib/components/kv-filter-card/kv-filter-card.component.mjs +29 -0
  81. package/esm2022/lib/components/kv-filter-card/kv-filter-card.module.mjs +34 -0
  82. package/esm2022/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.mjs +26 -0
  83. package/esm2022/lib/components/kv-filter-fieldset/kv-filter-fieldset.module.mjs +28 -0
  84. package/esm2022/lib/components/kv-g-icon/kv-g-icon.component.mjs +11 -0
  85. package/esm2022/lib/components/kv-g-icon/kv-g-icon.module.mjs +19 -0
  86. package/esm2022/lib/components/kv-home-card/kv-home-card.component.mjs +27 -0
  87. package/esm2022/lib/components/kv-home-card/kv-home-card.module.mjs +32 -0
  88. package/esm2022/lib/components/kv-image-upload/kv-image-upload.component.mjs +135 -0
  89. package/esm2022/lib/components/kv-image-upload/kv-image-upload.module.mjs +18 -0
  90. package/esm2022/lib/components/kv-inputs/kv-check/kv-check.component.mjs +29 -0
  91. package/esm2022/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.mjs +102 -0
  92. package/esm2022/lib/components/kv-inputs/kv-editor/kv-editor.component.mjs +150 -0
  93. package/esm2022/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.mjs +168 -0
  94. package/esm2022/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.mjs +30 -0
  95. package/esm2022/lib/components/kv-inputs/kv-input-number/kv-input-number.component.mjs +59 -0
  96. package/esm2022/lib/components/kv-inputs/kv-input-password/kv-input-password.component.mjs +33 -0
  97. package/esm2022/lib/components/kv-inputs/kv-input-text/kv-input-text.component.mjs +38 -0
  98. package/esm2022/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.mjs +47 -0
  99. package/esm2022/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.mjs +43 -0
  100. package/esm2022/lib/components/kv-inputs/kv-input-time/kv-input-time.component.mjs +24 -0
  101. package/esm2022/lib/components/kv-inputs/kv-inputs.module.mjs +131 -0
  102. package/esm2022/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.mjs +57 -0
  103. package/esm2022/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.mjs +60 -0
  104. package/esm2022/lib/components/kv-inputs/kv-select-button/kv-select-button.component.mjs +46 -0
  105. package/esm2022/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.mjs +36 -0
  106. package/esm2022/lib/components/kv-inputs/kv-switch/kv-switch.component.mjs +42 -0
  107. package/esm2022/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.mjs +58 -0
  108. package/esm2022/lib/components/kv-label/kv-label.component.mjs +15 -0
  109. package/esm2022/lib/components/kv-label/kv-label.module.mjs +24 -0
  110. package/esm2022/lib/components/kv-layout/dropdown-master/dropdown-master.component.mjs +28 -0
  111. package/esm2022/lib/components/kv-layout/kv-layout.module.mjs +72 -0
  112. package/esm2022/lib/components/kv-layout/layout/kv-layout.component.mjs +430 -0
  113. package/esm2022/lib/components/kv-layout/top-icons/top-icons.component.mjs +15 -0
  114. package/esm2022/lib/components/kv-loader/kv-loader.component.mjs +16 -0
  115. package/esm2022/lib/components/kv-loader/kv-loader.module.mjs +28 -0
  116. package/esm2022/lib/components/kv-loader/kv-loader.service.mjs +29 -0
  117. package/esm2022/lib/components/kv-login/kv-login.component.mjs +62 -0
  118. package/esm2022/lib/components/kv-login/kv-login.module.mjs +47 -0
  119. package/esm2022/lib/components/kv-modal/kv-modal.component.mjs +98 -0
  120. package/esm2022/lib/components/kv-modal/kv-modal.module.mjs +20 -0
  121. package/esm2022/lib/components/kv-orgchart/kv-orgchart.component.mjs +225 -0
  122. package/esm2022/lib/components/kv-orgchart/kv-orgchart.module.mjs +59 -0
  123. package/esm2022/lib/components/kv-page-form/kv-page-form.component.mjs +217 -0
  124. package/esm2022/lib/components/kv-page-form/kv-page-form.module.mjs +41 -0
  125. package/esm2022/lib/components/kv-page-stepper/kv-page-stepper.component.mjs +205 -0
  126. package/esm2022/lib/components/kv-page-stepper/kv-page-stepper.module.mjs +51 -0
  127. package/esm2022/lib/components/kv-pick-list/kv-pick-list.component.mjs +144 -0
  128. package/esm2022/lib/components/kv-pick-list/kv-pick-list.module.mjs +39 -0
  129. package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.component.mjs +58 -0
  130. package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.module.mjs +28 -0
  131. package/esm2022/lib/components/kv-report/kv-report.component.mjs +44 -0
  132. package/esm2022/lib/components/kv-report/kv-report.module.mjs +24 -0
  133. package/esm2022/lib/components/kv-stepper/kv-stepper.component.mjs +74 -0
  134. package/esm2022/lib/components/kv-stepper/kv-stepper.module.mjs +47 -0
  135. package/esm2022/lib/components/kv-table/kv-table.component.mjs +673 -0
  136. package/esm2022/lib/components/kv-table/kv-table.module.mjs +40 -0
  137. package/esm2022/lib/components/kv-table-edit/kv-table-edit.component.mjs +323 -0
  138. package/esm2022/lib/components/kv-table-edit/kv-table-edit.module.mjs +45 -0
  139. package/esm2022/lib/components/kv-table-expandable/kv-table-expandable.component.mjs +516 -0
  140. package/esm2022/lib/components/kv-table-expandable/kv-table-expandable.module.mjs +40 -0
  141. package/esm2022/lib/components/kv-tree-table/kv-tree-table.component.mjs +331 -0
  142. package/esm2022/lib/components/kv-tree-table/kv-tree-table.module.mjs +39 -0
  143. package/esm2022/lib/components/kv-tree-view/kv-tree-view.component.mjs +70 -0
  144. package/esm2022/lib/components/kv-tree-view/kv-tree-view.module.mjs +28 -0
  145. package/esm2022/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.mjs +40 -0
  146. package/esm2022/lib/components/kv-workspace/kv-workspace.module.mjs +68 -0
  147. package/esm2022/lib/components/kv-workspace/logo/kv-workspace-logo.component.mjs +22 -0
  148. package/esm2022/lib/components/kv-workspace/master/kv-workspace-master.component.mjs +78 -0
  149. package/esm2022/lib/components/kv-workspace/workspace/kv-workspace.component.mjs +87 -0
  150. package/esm2022/public-api.mjs +256 -0
  151. package/fesm2022/keevo-components.mjs +6 -2
  152. package/fesm2022/keevo-components.mjs.map +1 -1
  153. package/lib/components/kv-table/kv-table.component.d.ts +1 -1
  154. package/lib/components/kv-table-expandable/kv-table-expandable.component.d.ts +1 -1
  155. package/package.json +3 -1
@@ -0,0 +1,225 @@
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"], outputs: ["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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3Ytb3JnY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3Ytb3JnY2hhcnQva3Ytb3JnY2hhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3Ytb3JnY2hhcnQva3Ytb3JnY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUlOLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUl6QixPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7QUFZL0MsTUFBTSxPQUFPLG1CQUFtQjtJQThCOUIsWUFDVSxHQUFzQixFQUN0QixPQUF3QixFQUN4QixhQUE0QjtRQUY1QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQUN4QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQTVCdEMsZUFBVSxHQUFHLEtBQUssQ0FBd0IsSUFBSSxDQUFDLENBQUM7UUFFaEQsZUFBVSxHQUFHLE1BQU0sQ0FBaUIsRUFBRSxDQUFDLENBQUM7UUFDeEMsZ0JBQVcsR0FBRyxJQUFJLENBQUE7UUFhbEIsNkJBQTZCO1FBRW5CLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVoRCxhQUFhO1FBRWIsWUFBTyxHQUFZLElBQUksQ0FBQztRQUN4QixlQUFVLEdBQVksS0FBSyxDQUFDO0lBTXpCLENBQUM7SUFFSixpREFBaUQ7SUFDakQsUUFBUTtRQUNOLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7UUFDOUIsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDdEMsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQztRQUN6RCxJQUFJLENBQUMsS0FBSzthQUNQLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZixPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDNUIsTUFBTSxPQUFPLEdBQWdCLENBQUMsQ0FBQyxVQUFVLENBQUM7Z0JBQzFDLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztvQkFDMUMsT0FBTyxLQUFLLENBQUM7Z0JBQ2YsQ0FBQztnQkFDRCxPQUFPLElBQUksQ0FBQztZQUNkLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO2FBQ0QsU0FBUyxDQUFDLGNBQWMsQ0FBQzthQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ3ZCLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQzthQUN0QyxVQUFVLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRTtZQUNyQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCO2dCQUN0RCxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0I7Z0JBQ2hDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUM3QixDQUFDLENBQUM7YUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDO2FBQ2QsYUFBYSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUE2QixFQUFFLEVBQUU7WUFDNUQsT0FBTzs7WUFHSCxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUM7Z0JBQ3ZDLENBQUMsQ0FBQzs7bUJBRUc7Z0JBQ0wsQ0FBQyxDQUFDOztpQkFHTjs7bUJBRVMsQ0FBQztRQUNkLENBQUMsQ0FBQzthQUNELFVBQVUsQ0FBQyxDQUFDLElBQVMsRUFBRSxLQUFVLEVBQUUsS0FBVSxFQUFFLEVBQUU7WUFDaEQsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ3BCLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLElBQUksS0FBSyxDQUFDO2lCQUN6RCxLQUFLLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxJQUFJLFNBQVMsQ0FBQyxDQUFDO1FBQy9ELENBQUMsQ0FBQzthQUNELFdBQVcsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFO1lBQ3RCLE1BQU0sSUFBSSxHQUFpQjtnQkFDekIsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSTtnQkFDakIsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRO2dCQUNwQixFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNiLFFBQVEsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVE7Z0JBQ3pCLFFBQVEsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVE7Z0JBQ3pCLFNBQVMsRUFBRSxDQUFDLENBQUMsU0FBUzthQUN2QixDQUFDO1lBQ0YsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3hDLE9BQU8sQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDO2FBQ0QsVUFBVSxDQUFDLFVBQXFCLENBQU07WUFDckMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO2dCQUM3QyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztxQkFDWixNQUFNLENBQUMsS0FBSyxDQUFDO3FCQUNiLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7b0JBQ3BCLE1BQU0sS0FBSyxHQUFRLENBQUMsQ0FBQztvQkFDckIsTUFBTSxJQUFJLEdBQWlCO3dCQUN6QixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJO3dCQUNyQixRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7d0JBQ3hCLEVBQUUsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7d0JBQ2pCLFFBQVEsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVE7d0JBQzdCLFFBQVEsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVE7d0JBQzdCLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUztxQkFDM0IsQ0FBQztvQkFFRixNQUFNLENBQUMsYUFBYSxDQUNsQixJQUFJLFdBQVcsQ0FBQyxzQkFBc0IsRUFBRTt3QkFDdEMsTUFBTSxFQUFFOzRCQUNOLElBQUk7NEJBQ0osT0FBTyxFQUFFLEtBQUs7eUJBQ2Y7cUJBQ0YsQ0FBQyxDQUNILENBQUM7Z0JBQ0osQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQzthQUNELFdBQVcsQ0FBQyxRQUFRLENBQUM7YUFDckIsTUFBTSxFQUFFLENBQUM7UUFFWixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEIsQ0FBQztJQUNILENBQUM7SUFDRCxZQUFZO0lBRVosbUNBQW1DO0lBQ25DLGtCQUFrQixDQUFDLElBQWtCO1FBQ25DLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM5QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN2RSxJQUFJLEVBQUUsSUFBSTtTQUNYLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNyQyxDQUFDO0lBUUQsd0JBQXdCO1FBQ3RCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxTQUFTLENBQ3BDLE1BQU0sRUFDTixzQkFBc0IsQ0FDdkIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFrQixFQUFFLEVBQUU7WUFDakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVELENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FDeEQsQ0FBQyxJQUFrQixFQUFFLEVBQUU7WUFDckIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixDQUFDLENBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQzlELENBQUMsRUFBVSxFQUFFLEVBQUU7WUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZCLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMscUJBQXFCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQVUsRUFBRSxVQUFtQjtRQUN6QyxNQUFNLEtBQUssR0FBRztZQUNaLElBQUksRUFBRSxJQUFJO1lBQ1YsVUFBVSxFQUFFLFVBQVUsSUFBSSxFQUFFO1NBQzdCLENBQUM7UUFDRixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBQ0QsYUFBYSxDQUFDLElBQWtCO1FBQzlCLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFDRCxXQUFXLENBQUMsRUFBVTtRQUNwQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3JFLElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxLQUFLLENBQUMsZ0RBQWdELENBQUMsQ0FBQztRQUMxRCxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDOUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RCLENBQUM7SUFDSCxDQUFDO0lBQ0QsYUFBYTtJQUliLCtCQUErQjtJQUUvQixTQUFTLENBQUMsQ0FBTTtRQUNkLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFBO1FBQzVCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFFLENBQUMsQ0FBQTtJQUNoRCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWE7UUFDeEIsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFHLENBQUM7WUFDdEMsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsNENBQTRDO1lBRXBGLE1BQU0sR0FBRyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFrQixFQUFFLEVBQUU7Z0JBQ25ELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBYyxFQUFFLEVBQUU7b0JBQ25ELDZFQUE2RTtvQkFDN0UsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDOUQsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUVILE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQztRQUNyQixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7SUFLRCxhQUFhLENBQUMsRUFBTztRQUNuQixPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUE7UUFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ3JCLENBQUM7OEdBclBVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLGlqQ0FZSyxnQkFBZ0IscUlDN0NyRCxzbUlBNkhBOzsyRkQ1RmEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGFBQWE7Z0pBY2QsTUFBTTtzQkFBZCxLQUFLO2dCQUN1QixjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQjtnQkFFM0IsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFO2dCQUU1QyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRywwQkFBMEI7c0JBQWxDLEtBQUs7Z0JBTUksV0FBVztzQkFBcEIsTUFBTTtnQkFzTmMsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgbW9kZWwsXHJcbiAgT3V0cHV0LFxyXG4gIHNpZ25hbCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIHZpZXdDaGlsZCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IE9yZ0NoYXJ0IH0gZnJvbSAnZDMtb3JnLWNoYXJ0JztcclxuaW1wb3J0ICogYXMgZDMgZnJvbSAnZDMnO1xyXG5cclxuaW1wb3J0IE9yZ0NoYXJ0Q29uZmlnIGZyb20gJy4uLy4uL2FwaS9jb21wb25lbnRzL2NoYXJ0L29yY2hhcnQuY29uZmlnJztcclxuaW1wb3J0IE9yZ0NoYXJ0Tm9kZSBmcm9tICcuLi8uLi9hcGkvY29tcG9uZW50cy9jaGFydC9vcmNoYXJ0bm9kZSc7XHJcbmltcG9ydCB7IGZyb21FdmVudCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE9yZ0NoYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL2FwaS9zZXJ2aWNlcy9vcmdjaGFydC5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IEZpbHRlclNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IERyb3Bkb3duLCBEcm9wZG93bk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZHJvcGRvd24nO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAna3Ytb3JnY2hhcnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9rdi1vcmdjaGFydC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4va3Ytb3JnY2hhcnQuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEt2T3JnY2hhcnRDb21wb25lbnQge1xyXG5cclxuXHJcbiAgY2hhcnQhOiBhbnk7XHJcblxyXG4gIGRhdGFTb3VyY2UgPSBtb2RlbDxPcmdDaGFydE5vZGVbXSB8IG51bGw+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
@@ -0,0 +1,59 @@
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=