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

Sign up to get free protection for your applications and to get access to all the features.
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;