@sankhyalabs/sankhyablocks 8.16.0-dev.63 → 8.16.0-dev.65

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 (124) hide show
  1. package/dist/cjs/{ContinuousInsertUtils-414b772c.js → ContinuousInsertUtils-a6139f3d.js} +2 -2
  2. package/dist/cjs/{dataunit-fetcher-228016f4.js → dataunit-fetcher-0121621c.js} +1 -1
  3. package/dist/cjs/index-f9e81701.js +4 -0
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/{pesquisa-fetcher-2ec4811b.js → pesquisa-fetcher-a85d6935.js} +175 -0
  6. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +127 -0
  7. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  8. package/dist/cjs/snk-actions-button_5.cjs.entry.js +2 -2
  9. package/dist/cjs/snk-application.cjs.entry.js +140 -17
  10. package/dist/cjs/snk-attach.cjs.entry.js +2 -2
  11. package/dist/cjs/snk-crud.cjs.entry.js +5 -4
  12. package/dist/cjs/snk-data-exporter.cjs.entry.js +3 -3
  13. package/dist/cjs/{snk-data-unit-3d9b6ed4.js → snk-data-unit-c699179d.js} +1 -1
  14. package/dist/cjs/snk-data-unit.cjs.entry.js +2 -2
  15. package/dist/cjs/snk-detail-view.cjs.entry.js +3 -3
  16. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +21 -7
  17. package/dist/cjs/snk-grid.cjs.entry.js +6 -5
  18. package/dist/cjs/{snk-guides-viewer-421555af.js → snk-guides-viewer-575596a2.js} +2 -2
  19. package/dist/cjs/snk-guides-viewer.cjs.entry.js +3 -3
  20. package/dist/cjs/snk-pesquisa.cjs.entry.js +105 -31
  21. package/dist/cjs/snk-simple-crud.cjs.entry.js +6 -5
  22. package/dist/collection/collection-manifest.json +2 -0
  23. package/dist/collection/components/snk-application/request-listener/DebouncedRequestListener.js +4 -3
  24. package/dist/collection/components/snk-application/snk-application.css +34 -0
  25. package/dist/collection/components/snk-application/snk-application.js +197 -14
  26. package/dist/collection/components/snk-crud/snk-crud.js +39 -20
  27. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +40 -8
  28. package/dist/collection/components/snk-grid/snk-grid.js +39 -20
  29. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.css +10 -0
  30. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.js +190 -0
  31. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.css +25 -0
  32. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.js +173 -0
  33. package/dist/collection/components/snk-pesquisa/pesquisaHelper.js +89 -0
  34. package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +24 -5
  35. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +168 -32
  36. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +39 -20
  37. package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +1 -1
  38. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +89 -3
  39. package/dist/components/ContinuousInsertUtils.js +1 -2
  40. package/dist/components/ISave.js +346 -1
  41. package/dist/components/dataunit-fetcher.js +1 -1
  42. package/dist/components/index.d.ts +2 -0
  43. package/dist/components/index.js +2 -0
  44. package/dist/components/pesquisa-grid.d.ts +11 -0
  45. package/dist/components/pesquisa-grid.js +6 -0
  46. package/dist/components/pesquisa-grid2.js +86 -0
  47. package/dist/components/pesquisa-tree.d.ts +11 -0
  48. package/dist/components/pesquisa-tree.js +6 -0
  49. package/dist/components/pesquisa-tree2.js +76 -0
  50. package/dist/components/snk-actions-button2.js +0 -1
  51. package/dist/components/snk-application2.js +159 -20
  52. package/dist/components/snk-attach2.js +0 -1
  53. package/dist/components/snk-crud.js +5 -4
  54. package/dist/components/snk-data-exporter2.js +1 -2
  55. package/dist/components/snk-detail-view2.js +0 -1
  56. package/dist/components/snk-filter-bar2.js +23 -8
  57. package/dist/components/snk-grid2.js +5 -4
  58. package/dist/components/snk-pesquisa2.js +118 -33
  59. package/dist/components/snk-simple-crud2.js +6 -5
  60. package/dist/components/snk-simple-form-config2.js +1 -2
  61. package/dist/components/teste-pesquisa.js +13 -1
  62. package/dist/esm/{ContinuousInsertUtils-bab45060.js → ContinuousInsertUtils-15b5f1da.js} +2 -2
  63. package/dist/esm/{dataunit-fetcher-56cb648b.js → dataunit-fetcher-481e159d.js} +1 -1
  64. package/dist/esm/index-a7d3d3f1.js +4 -0
  65. package/dist/esm/loader.js +1 -1
  66. package/dist/esm/{pesquisa-fetcher-24e5bba0.js → pesquisa-fetcher-c437c9b1.js} +176 -2
  67. package/dist/esm/pesquisa-grid_2.entry.js +122 -0
  68. package/dist/esm/sankhyablocks.js +1 -1
  69. package/dist/esm/snk-actions-button_5.entry.js +2 -2
  70. package/dist/esm/snk-application.entry.js +142 -19
  71. package/dist/esm/snk-attach.entry.js +2 -2
  72. package/dist/esm/snk-crud.entry.js +5 -4
  73. package/dist/esm/snk-data-exporter.entry.js +3 -3
  74. package/dist/esm/{snk-data-unit-9fa7d2b9.js → snk-data-unit-d4ba54d7.js} +1 -1
  75. package/dist/esm/snk-data-unit.entry.js +2 -2
  76. package/dist/esm/snk-detail-view.entry.js +3 -3
  77. package/dist/esm/snk-filter-bar_4.entry.js +22 -8
  78. package/dist/esm/snk-grid.entry.js +6 -5
  79. package/dist/esm/{snk-guides-viewer-b740a1fe.js → snk-guides-viewer-3043422d.js} +2 -2
  80. package/dist/esm/snk-guides-viewer.entry.js +3 -3
  81. package/dist/esm/snk-pesquisa.entry.js +105 -31
  82. package/dist/esm/snk-simple-crud.entry.js +6 -5
  83. package/dist/sankhyablocks/{p-c629c07a.entry.js → p-08242e3f.entry.js} +1 -1
  84. package/dist/sankhyablocks/{p-342eeb3b.js → p-0f3b2a32.js} +1 -1
  85. package/dist/sankhyablocks/{p-72a451c8.js → p-229c3615.js} +1 -1
  86. package/dist/sankhyablocks/p-22d04eac.entry.js +1 -0
  87. package/dist/sankhyablocks/{p-b619ee23.js → p-36598f95.js} +1 -1
  88. package/dist/sankhyablocks/p-4895f6e4.entry.js +1 -0
  89. package/dist/sankhyablocks/p-4be4cdac.js +6 -0
  90. package/dist/sankhyablocks/{p-47d24ac8.js → p-58fd3017.js} +1 -1
  91. package/dist/sankhyablocks/p-70cb4e36.entry.js +11 -0
  92. package/dist/sankhyablocks/{p-64ff0fb6.entry.js → p-73fc8ec5.entry.js} +1 -1
  93. package/dist/sankhyablocks/{p-50306605.entry.js → p-7d09f66c.entry.js} +1 -1
  94. package/dist/sankhyablocks/{p-53ae0296.entry.js → p-a33e803a.entry.js} +1 -1
  95. package/dist/sankhyablocks/{p-89da2953.entry.js → p-b299dc14.entry.js} +1 -1
  96. package/dist/sankhyablocks/p-badbd2ca.entry.js +1 -0
  97. package/dist/sankhyablocks/p-c9bd54e6.entry.js +1 -0
  98. package/dist/sankhyablocks/{p-0d2a2e9e.entry.js → p-e2bd42c0.entry.js} +1 -1
  99. package/dist/sankhyablocks/p-e8512d4b.entry.js +1 -0
  100. package/dist/sankhyablocks/p-f71d043b.entry.js +1 -0
  101. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  102. package/dist/types/components/snk-application/snk-application.d.ts +22 -4
  103. package/dist/types/components/snk-crud/snk-crud.d.ts +8 -4
  104. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +6 -1
  105. package/dist/types/components/snk-grid/snk-grid.d.ts +8 -4
  106. package/dist/types/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.d.ts +38 -0
  107. package/dist/types/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.d.ts +28 -0
  108. package/dist/types/components/snk-pesquisa/pesquisaHelper.d.ts +19 -0
  109. package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +35 -1
  110. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +8 -1
  111. package/dist/types/components.d.ts +206 -23
  112. package/dist/types/lib/http/data-fetcher/fetchers/pesquisa-fetcher.d.ts +10 -1
  113. package/package.json +1 -1
  114. package/react/components.d.ts +2 -0
  115. package/react/components.js +2 -0
  116. package/react/components.js.map +1 -1
  117. package/dist/components/pesquisa-fetcher.js +0 -172
  118. package/dist/sankhyablocks/p-0c55538b.entry.js +0 -1
  119. package/dist/sankhyablocks/p-65650e05.entry.js +0 -1
  120. package/dist/sankhyablocks/p-690b4311.entry.js +0 -1
  121. package/dist/sankhyablocks/p-8cf0a9fe.entry.js +0 -1
  122. package/dist/sankhyablocks/p-d1791da2.entry.js +0 -1
  123. package/dist/sankhyablocks/p-e6683406.js +0 -6
  124. package/dist/sankhyablocks/p-eda55eef.entry.js +0 -11
@@ -0,0 +1,190 @@
1
+ import { h, Host } from '@stencil/core';
2
+ import InMemoryLoader from '../../../lib/dataUnit/InMemoryLoader';
3
+ import { PesquisaFetcher } from '../../../lib';
4
+ export class PesquisaGrid {
5
+ constructor() {
6
+ this._pesquisaFetcher = new PesquisaFetcher();
7
+ this.metadata = undefined;
8
+ this.dataSource = [];
9
+ this.pkField = undefined;
10
+ this.descriptionField = undefined;
11
+ this.entityName = undefined;
12
+ this._inMemoryLoader = undefined;
13
+ this._dataunit = undefined;
14
+ this._gridConfig = undefined;
15
+ }
16
+ observeDataSource(newValue) {
17
+ if (!this._inMemoryLoader || !this._dataunit || !newValue)
18
+ return;
19
+ this._inMemoryLoader.records = [...newValue];
20
+ }
21
+ async componentWillLoad() {
22
+ this.initializeDataUnit();
23
+ this._gridConfig = await this._pesquisaFetcher.loadPesquisaGridConfig(this.entityName);
24
+ }
25
+ initializeDataUnit() {
26
+ var _a;
27
+ this._inMemoryLoader = new InMemoryLoader(this.metadata, (_a = this.dataSource) !== null && _a !== void 0 ? _a : []);
28
+ this._dataunit = this._inMemoryLoader.dataUnit;
29
+ this._dataunit.pageSize = 0;
30
+ }
31
+ handleDbClick(record) {
32
+ const option = {
33
+ value: record[this.pkField],
34
+ label: record[this.descriptionField],
35
+ };
36
+ this.pesquisaGridSelectItem.emit(option);
37
+ }
38
+ async handleConfigChanged({ detail }) {
39
+ var _a;
40
+ const columns = (_a = detail === null || detail === void 0 ? void 0 : detail.columns) !== null && _a !== void 0 ? _a : [];
41
+ await this._pesquisaFetcher.savePesquisaGridConfig(this.entityName, columns);
42
+ }
43
+ render() {
44
+ return (h(Host, null, h("ez-grid", { dataUnit: this._dataunit, config: this._gridConfig, canEdit: false, suppressCheckboxColumn: true, compact: true, autoFocus: false, onEzDoubleClick: ({ detail }) => this.handleDbClick(detail), onConfigChange: async (event) => this.handleConfigChanged(event) })));
45
+ }
46
+ static get is() { return "pesquisa-grid"; }
47
+ static get encapsulation() { return "scoped"; }
48
+ static get originalStyleUrls() {
49
+ return {
50
+ "$": ["pesquisa-grid.css"]
51
+ };
52
+ }
53
+ static get styleUrls() {
54
+ return {
55
+ "$": ["pesquisa-grid.css"]
56
+ };
57
+ }
58
+ static get properties() {
59
+ return {
60
+ "metadata": {
61
+ "type": "unknown",
62
+ "mutable": false,
63
+ "complexType": {
64
+ "original": "UnitMetadata",
65
+ "resolved": "UnitMetadata",
66
+ "references": {
67
+ "UnitMetadata": {
68
+ "location": "import",
69
+ "path": "@sankhyalabs/core"
70
+ }
71
+ }
72
+ },
73
+ "required": false,
74
+ "optional": false,
75
+ "docs": {
76
+ "tags": [],
77
+ "text": "Campos que representam as colunas da grade."
78
+ }
79
+ },
80
+ "dataSource": {
81
+ "type": "unknown",
82
+ "mutable": false,
83
+ "complexType": {
84
+ "original": "Record[]",
85
+ "resolved": "Record[]",
86
+ "references": {
87
+ "Record": {
88
+ "location": "import",
89
+ "path": "@sankhyalabs/core"
90
+ }
91
+ }
92
+ },
93
+ "required": false,
94
+ "optional": false,
95
+ "docs": {
96
+ "tags": [],
97
+ "text": "Registros da grade"
98
+ },
99
+ "defaultValue": "[]"
100
+ },
101
+ "pkField": {
102
+ "type": "string",
103
+ "mutable": false,
104
+ "complexType": {
105
+ "original": "string",
106
+ "resolved": "string",
107
+ "references": {}
108
+ },
109
+ "required": false,
110
+ "optional": false,
111
+ "docs": {
112
+ "tags": [],
113
+ "text": "Campo que representa a chave prim\u00E1ria do registro"
114
+ },
115
+ "attribute": "pk-field",
116
+ "reflect": false
117
+ },
118
+ "descriptionField": {
119
+ "type": "string",
120
+ "mutable": false,
121
+ "complexType": {
122
+ "original": "string",
123
+ "resolved": "string",
124
+ "references": {}
125
+ },
126
+ "required": false,
127
+ "optional": false,
128
+ "docs": {
129
+ "tags": [],
130
+ "text": "Campo que representa a descri\u00E7\u00E3o do registro"
131
+ },
132
+ "attribute": "description-field",
133
+ "reflect": false
134
+ },
135
+ "entityName": {
136
+ "type": "string",
137
+ "mutable": false,
138
+ "complexType": {
139
+ "original": "string",
140
+ "resolved": "string",
141
+ "references": {}
142
+ },
143
+ "required": false,
144
+ "optional": false,
145
+ "docs": {
146
+ "tags": [],
147
+ "text": "Nome da entidade representada na grade"
148
+ },
149
+ "attribute": "entity-name",
150
+ "reflect": false
151
+ }
152
+ };
153
+ }
154
+ static get states() {
155
+ return {
156
+ "_inMemoryLoader": {},
157
+ "_dataunit": {},
158
+ "_gridConfig": {}
159
+ };
160
+ }
161
+ static get events() {
162
+ return [{
163
+ "method": "pesquisaGridSelectItem",
164
+ "name": "pesquisaGridSelectItem",
165
+ "bubbles": true,
166
+ "cancelable": true,
167
+ "composed": true,
168
+ "docs": {
169
+ "tags": [],
170
+ "text": ""
171
+ },
172
+ "complexType": {
173
+ "original": "IOption",
174
+ "resolved": "IOption",
175
+ "references": {
176
+ "IOption": {
177
+ "location": "import",
178
+ "path": "@sankhyalabs/ezui/.diststorybook/types/components/ez-combo-box/ez-combo-box"
179
+ }
180
+ }
181
+ }
182
+ }];
183
+ }
184
+ static get watchers() {
185
+ return [{
186
+ "propName": "dataSource",
187
+ "methodName": "observeDataSource"
188
+ }];
189
+ }
190
+ }
@@ -0,0 +1,25 @@
1
+ :host {
2
+ /*@doc Define o posicionamento superior do container de botões de ação.*/
3
+ --snk-pesquisa--tree__action-container--top: var(--space--sm);
4
+ /*@doc Define o posicionamento direito do container de botões de ação.*/
5
+ --snk-pesquisa--tree__action-container--right: var(--space--small);
6
+ /*@doc Define a altura mínima do componente.*/
7
+ --snk-pesquisa--tree__min-height: var(--space--extra-large);
8
+
9
+ background: var(--background--xlight, #FFF);
10
+ position: relative;
11
+ display: inline-block;
12
+ min-height: var(--snk-pesquisa--tree__min-height);
13
+ }
14
+
15
+ :host:hover .actions-container{
16
+ display: flex;
17
+ }
18
+
19
+ .actions-container {
20
+ flex-direction: row;
21
+ position: absolute;
22
+ top: var(--snk-pesquisa--tree__action-container--top);
23
+ right: var(--snk-pesquisa--tree__action-container--right);
24
+ display: none;
25
+ }
@@ -0,0 +1,173 @@
1
+ import { h, Host } from '@stencil/core';
2
+ import { ApplicationUtils } from '@sankhyalabs/ezui/dist/collection/utils';
3
+ export class PesquisaTree {
4
+ constructor() {
5
+ this.treeLoader = undefined;
6
+ this.argument = undefined;
7
+ this.allowsNonAnalytic = false;
8
+ this.items = [];
9
+ }
10
+ async applyFilter() {
11
+ await this._tree.applyFilter(this.argument);
12
+ }
13
+ async loadTree() {
14
+ if (!this.treeLoader || typeof this.treeLoader !== 'function')
15
+ return;
16
+ const response = await this.treeLoader((this.argument || '').trim());
17
+ this.items = [...response];
18
+ }
19
+ expandOrCloseAllItems(items, expanded) {
20
+ return items.map(item => (Object.assign(Object.assign({}, item), { expanded, children: item.children ? this.expandOrCloseAllItems(item.children, expanded) : undefined })));
21
+ }
22
+ handleExpandAll() {
23
+ this.items = [...this.expandOrCloseAllItems(this.items, true)];
24
+ }
25
+ handleCloseAll() {
26
+ this.items = [...this.expandOrCloseAllItems(this.items, false)];
27
+ }
28
+ handleDbClick(item) {
29
+ var _a;
30
+ if (!this.allowsNonAnalytic && !((_a = item['props']) === null || _a === void 0 ? void 0 : _a['analitico'])) {
31
+ const title = 'Erro';
32
+ const message = `Há pelo menos um registro inválido selecionado. Você deve selecionar itens do tipo 'analítico'.`;
33
+ ApplicationUtils.error(title, message);
34
+ return;
35
+ }
36
+ const option = {
37
+ value: item.id,
38
+ label: item.label,
39
+ };
40
+ this.pesquisaTreeSelectItem.emit(option);
41
+ }
42
+ async componentWillLoad() {
43
+ await this.loadTree();
44
+ }
45
+ render() {
46
+ return (h(Host, null, h("div", { class: 'actions-container' }, h("ez-button", { size: 'small', mode: 'icon', class: 'ez-margin-right--small', iconName: 'show-list', title: "Expandir", onClick: () => this.handleExpandAll() }), h("ez-button", { size: 'small', mode: 'icon', iconName: 'hide-list', title: "Recolher", onClick: () => this.handleCloseAll() })), h("ez-tree", { ref: (element) => this._tree = element, onEzDbClickItem: ({ detail }) => this.handleDbClick(detail), items: this.items })));
47
+ }
48
+ static get is() { return "pesquisa-tree"; }
49
+ static get encapsulation() { return "scoped"; }
50
+ static get originalStyleUrls() {
51
+ return {
52
+ "$": ["pesquisa-tree.css"]
53
+ };
54
+ }
55
+ static get styleUrls() {
56
+ return {
57
+ "$": ["pesquisa-tree.css"]
58
+ };
59
+ }
60
+ static get properties() {
61
+ return {
62
+ "treeLoader": {
63
+ "type": "unknown",
64
+ "mutable": false,
65
+ "complexType": {
66
+ "original": "(text: string) => Promise<Array<ITreeItem>>",
67
+ "resolved": "(text: string) => Promise<ITreeItem[]>",
68
+ "references": {
69
+ "Promise": {
70
+ "location": "global"
71
+ },
72
+ "Array": {
73
+ "location": "global"
74
+ },
75
+ "ITreeItem": {
76
+ "location": "import",
77
+ "path": "@sankhyalabs/ezui/.diststorybook/types/components/ez-tree/interfaces/ITreeItem"
78
+ }
79
+ }
80
+ },
81
+ "required": false,
82
+ "optional": true,
83
+ "docs": {
84
+ "tags": [],
85
+ "text": "Fun\u00E7\u00E3o respons\u00E1vel por carregar a \u00E1rvore hier\u00E1rquica do componente"
86
+ }
87
+ },
88
+ "argument": {
89
+ "type": "string",
90
+ "mutable": true,
91
+ "complexType": {
92
+ "original": "string",
93
+ "resolved": "string",
94
+ "references": {}
95
+ },
96
+ "required": false,
97
+ "optional": false,
98
+ "docs": {
99
+ "tags": [],
100
+ "text": "Argumentos que ser\u00E3o usados ao chamar a fun\u00E7\u00E3o treeLoader."
101
+ },
102
+ "attribute": "argument",
103
+ "reflect": false
104
+ },
105
+ "allowsNonAnalytic": {
106
+ "type": "boolean",
107
+ "mutable": false,
108
+ "complexType": {
109
+ "original": "boolean",
110
+ "resolved": "boolean",
111
+ "references": {}
112
+ },
113
+ "required": false,
114
+ "optional": false,
115
+ "docs": {
116
+ "tags": [],
117
+ "text": "Define se permite sele\u00E7\u00E3o de items n\u00E3o anal\u00EDticos"
118
+ },
119
+ "attribute": "allows-non-analytic",
120
+ "reflect": false,
121
+ "defaultValue": "false"
122
+ }
123
+ };
124
+ }
125
+ static get states() {
126
+ return {
127
+ "items": {}
128
+ };
129
+ }
130
+ static get events() {
131
+ return [{
132
+ "method": "pesquisaTreeSelectItem",
133
+ "name": "pesquisaTreeSelectItem",
134
+ "bubbles": true,
135
+ "cancelable": true,
136
+ "composed": true,
137
+ "docs": {
138
+ "tags": [],
139
+ "text": ""
140
+ },
141
+ "complexType": {
142
+ "original": "IOption",
143
+ "resolved": "IOption",
144
+ "references": {
145
+ "IOption": {
146
+ "location": "import",
147
+ "path": "@sankhyalabs/ezui/.diststorybook/types/components/ez-combo-box/ez-combo-box"
148
+ }
149
+ }
150
+ }
151
+ }];
152
+ }
153
+ static get methods() {
154
+ return {
155
+ "applyFilter": {
156
+ "complexType": {
157
+ "signature": "() => Promise<void>",
158
+ "parameters": [],
159
+ "references": {
160
+ "Promise": {
161
+ "location": "global"
162
+ }
163
+ },
164
+ "return": "Promise<void>"
165
+ },
166
+ "docs": {
167
+ "text": "",
168
+ "tags": []
169
+ }
170
+ }
171
+ };
172
+ }
173
+ }
@@ -0,0 +1,89 @@
1
+ import { DataType, UserInterface } from '@sankhyalabs/core';
2
+ export function buildGridMetadata(rawValue) {
3
+ const fieldsMetadata = buildFieldsMetadata(rawValue.fieldsMetadata);
4
+ const duName = rawValue.descriptionField;
5
+ const duLabel = rawValue.entityDescription;
6
+ return {
7
+ label: duLabel,
8
+ name: duName,
9
+ fields: fieldsMetadata,
10
+ };
11
+ }
12
+ function buildFieldsMetadata(rawMetadata) {
13
+ if (!rawMetadata || !rawMetadata.length)
14
+ return [];
15
+ return rawMetadata.map(field => {
16
+ return {
17
+ name: field['fieldName'],
18
+ label: field['description'],
19
+ dataType: buildDataType(field['type']),
20
+ userInterface: buildUserInterface(field),
21
+ properties: bildProperties(field)
22
+ };
23
+ });
24
+ }
25
+ function bildProperties(field) {
26
+ const properties = {};
27
+ properties['options'] = buildOptions(field);
28
+ properties['mask'] = buildMask(field);
29
+ return properties;
30
+ }
31
+ function buildMask(field) {
32
+ const fieldUI = field['uiType'];
33
+ return fieldUI ? String(fieldUI).toLowerCase() : undefined;
34
+ }
35
+ function buildOptions(field) {
36
+ const optionsJson = field.options;
37
+ if (!optionsJson)
38
+ return undefined;
39
+ const options = [];
40
+ Object.keys(optionsJson).forEach(key => {
41
+ options.push({
42
+ label: key,
43
+ value: optionsJson[key]
44
+ });
45
+ });
46
+ return options;
47
+ }
48
+ function buildUserInterface(field) {
49
+ const options = field.options;
50
+ if (options && Object.keys(options).length > 0)
51
+ return UserInterface.OPTIONSELECTOR;
52
+ if (field['type'] === 'D')
53
+ return UserInterface.DATE;
54
+ if (field['type'] === 'H')
55
+ return UserInterface.DATETIME;
56
+ if (field['type'] === 'T')
57
+ return UserInterface.TIME;
58
+ return undefined;
59
+ }
60
+ function buildDataType(rawType) {
61
+ switch (rawType) {
62
+ case 'F':
63
+ return DataType.NUMBER;
64
+ case 'D':
65
+ case 'H':
66
+ return DataType.DATE;
67
+ case 'B':
68
+ return DataType.OBJECT;
69
+ default:
70
+ return DataType.TEXT;
71
+ }
72
+ }
73
+ export function parseLegacyTree(legacy) {
74
+ var _a, _b;
75
+ const structure = (_b = (_a = legacy.arvore) === null || _a === void 0 ? void 0 : _a.no) !== null && _b !== void 0 ? _b : [];
76
+ return structure.map(parseLegacyItem);
77
+ }
78
+ function parseLegacyItem(node) {
79
+ return Object.assign({ id: node.codigo, label: `${node.caminho} - ${node.descricao}`, bold: node.analitico === "N", props: { analitico: node.analitico === 'S' } }, (node.no && { children: node.no.map(parseLegacyItem) }));
80
+ }
81
+ export function parseGridConfig(rawConfig) {
82
+ var _a, _b;
83
+ const columns = [];
84
+ const fields = (_b = (_a = rawConfig === null || rawConfig === void 0 ? void 0 : rawConfig.gridConfig) === null || _a === void 0 ? void 0 : _a.field) !== null && _b !== void 0 ? _b : {};
85
+ Object.keys(fields).forEach(key => columns.push(fields[key]));
86
+ if (!columns.length)
87
+ return undefined;
88
+ return { columns };
89
+ }
@@ -10,6 +10,10 @@
10
10
  /* records */
11
11
  /*@doc Define a cor da fonte do indicador de registros do componente.*/
12
12
  --snk-pesquisa__records--color: var(--text--primary, #626e82);
13
+ /* records */
14
+ /*@doc Define a cor da fonte do indicador de registros do componente.*/
15
+ --snk-pesquisa__records--color-secondary: var(--text--secondary, #626e82);
16
+ /* records */
13
17
  /*@doc Define o espaçamento vertical do indicador de registros do componente.*/
14
18
  --snk-pesquisa__records--padding-vertical: var(--space--medium, 12px);
15
19
 
@@ -69,9 +73,9 @@
69
73
  .snk-pesquisa__content {
70
74
  display: flex;
71
75
  flex-direction: column;
72
- overflow-y: auto;
73
- scrollbar-width: thin;
76
+ overflow-y: hidden;
74
77
 
78
+ scrollbar-width: thin;
75
79
  /*public*/
76
80
  scrollbar-color: var(--snk-pesquisa__scrollbar--color-clicked) var(--snk-pesquisa__scrollbar--color-background);
77
81
  padding-right: var(--snk-pesquisa__content--padding-right);
@@ -109,16 +113,31 @@
109
113
  background-color: var(--snk-pesquisa__scrollbar--color-clicked);
110
114
  }
111
115
 
112
- .snk-pesquisa__records {
113
- /*public*/
116
+ .snk-pesquisa__records-label{
117
+ display: flex;
118
+ flex-direction: row;
119
+ justify-content: space-between;
120
+
114
121
  font-family: var(--snk-pesquisa--font-family);
115
122
  font-weight: var(--snk-pesquisa--font-weight);
116
123
  font-size: var(--snk-pesquisa--font-size);
117
- color: var(--snk-pesquisa__records--color);
118
124
  padding-bottom: var(--snk-pesquisa__records--padding-vertical);
119
125
  padding-top: var(--snk-pesquisa__records--padding-vertical);
120
126
  }
121
127
 
128
+ .snk-pesquisa__records {
129
+ color: var(--snk-pesquisa__records--color);
130
+ }
131
+
132
+ .snk-pesquisa__records-limit {
133
+ color: var(--snk-pesquisa__records--color-secondary);
134
+ }
135
+
136
+ .snk-pesquisa__records-limit.hidden,
137
+ .snk-pesquisa__records.hidden {
138
+ visibility: hidden;
139
+ }
140
+
122
141
  .snk-pesquisa__btn {
123
142
  outline: none;
124
143
  border: none;