@sankhyalabs/sankhyablocks 8.7.0 → 8.8.0-dev.2

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 (141) hide show
  1. package/dist/cjs/{ConfigStorage-1097ff27.js → ConfigStorage-a97ca159.js} +2 -2
  2. package/dist/cjs/{DataFetcher-a00bc007.js → DataFetcher-2a99283c.js} +19 -10
  3. package/dist/cjs/{SnkFormConfigManager-a4b4d852.js → SnkFormConfigManager-f641f502.js} +2 -2
  4. package/dist/cjs/{SnkMultiSelectionListDataSource-804ff4c7.js → SnkMultiSelectionListDataSource-4e3de426.js} +11 -0
  5. package/dist/cjs/{auth-fetcher-92f3040b.js → auth-fetcher-78231356.js} +1 -1
  6. package/dist/cjs/dataunit-fetcher-a4e8352b.js +906 -0
  7. package/dist/cjs/{form-config-fetcher-60fbeb94.js → form-config-fetcher-a322a522.js} +1 -1
  8. package/dist/cjs/{pesquisa-fetcher-b2ed9767.js → pesquisa-fetcher-7ef61508.js} +1 -1
  9. package/dist/cjs/snk-actions-button.cjs.entry.js +4 -3
  10. package/dist/cjs/snk-application.cjs.entry.js +17 -8
  11. package/dist/cjs/snk-attach.cjs.entry.js +16 -3
  12. package/dist/cjs/snk-crud.cjs.entry.js +6 -4
  13. package/dist/cjs/snk-data-exporter.cjs.entry.js +1 -1
  14. package/dist/cjs/snk-detail-view.cjs.entry.js +8 -6
  15. package/dist/cjs/snk-filter-bar.cjs.entry.js +3 -3
  16. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
  17. package/dist/cjs/snk-form-config.cjs.entry.js +2 -2
  18. package/dist/cjs/snk-form.cjs.entry.js +4 -4
  19. package/dist/cjs/snk-grid-config.cjs.entry.js +3 -3
  20. package/dist/cjs/snk-grid.cjs.entry.js +25 -14
  21. package/dist/cjs/{snk-guides-viewer-eab0ec84.js → snk-guides-viewer-c540f4c5.js} +5 -4
  22. package/dist/cjs/snk-guides-viewer.cjs.entry.js +8 -6
  23. package/dist/cjs/snk-personalized-filter.cjs.entry.js +19 -9
  24. package/dist/cjs/snk-simple-crud.cjs.entry.js +8 -92
  25. package/dist/collection/components/snk-application/snk-application.js +11 -3
  26. package/dist/collection/components/snk-attach/snk-attach.js +14 -2
  27. package/dist/collection/components/snk-grid/filtercolumn/SnkMultiSelectionListDataSource.js +11 -0
  28. package/dist/collection/components/snk-grid/snk-grid.js +24 -14
  29. package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +16 -6
  30. package/dist/collection/lib/dataUnit/InMemoryLoader.js +23 -2
  31. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +19 -10
  32. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +113 -0
  33. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.js +77 -0
  34. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.js +179 -0
  35. package/dist/collection/lib/http/data-fetcher/fetchers/{dataunit-fetcher.js → data-unit/dataunit-fetcher.js} +48 -100
  36. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadDataResult.js +1 -0
  37. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadDataStrategy.js +1 -0
  38. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadingInfo.js +1 -0
  39. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/interfaces/IRecordField.js +1 -0
  40. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/interfaces/IResponseRecord.js +1 -0
  41. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DataUnitStrategy.js +68 -0
  42. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +131 -0
  43. package/dist/collection/lib/index.js +1 -1
  44. package/dist/components/DataFetcher.js +19 -10
  45. package/dist/components/SnkMultiSelectionListDataSource.js +11 -0
  46. package/dist/components/dataunit-fetcher.js +809 -100
  47. package/dist/components/snk-actions-button2.js +1 -1
  48. package/dist/components/snk-application2.js +11 -4
  49. package/dist/components/snk-attach2.js +13 -1
  50. package/dist/components/snk-crud.js +1 -1
  51. package/dist/components/snk-detail-view2.js +1 -1
  52. package/dist/components/snk-grid2.js +19 -11
  53. package/dist/components/snk-personalized-filter2.js +16 -6
  54. package/dist/components/snk-simple-crud2.js +2 -88
  55. package/dist/esm/{ConfigStorage-4d30a649.js → ConfigStorage-26f89143.js} +2 -2
  56. package/dist/esm/{DataFetcher-487d6aad.js → DataFetcher-90e91631.js} +19 -10
  57. package/dist/esm/{SnkFormConfigManager-da594f63.js → SnkFormConfigManager-18948123.js} +2 -2
  58. package/dist/esm/{SnkMultiSelectionListDataSource-892f37f9.js → SnkMultiSelectionListDataSource-36887f31.js} +11 -0
  59. package/dist/esm/{auth-fetcher-5c3ae75b.js → auth-fetcher-a8c8ee7e.js} +1 -1
  60. package/dist/esm/dataunit-fetcher-c22b889c.js +902 -0
  61. package/dist/esm/{form-config-fetcher-cd3fa459.js → form-config-fetcher-7c3b6273.js} +1 -1
  62. package/dist/{components/pesquisa-fetcher.js → esm/pesquisa-fetcher-90d6853b.js} +1 -1
  63. package/dist/esm/snk-actions-button.entry.js +4 -3
  64. package/dist/esm/snk-application.entry.js +17 -8
  65. package/dist/esm/snk-attach.entry.js +16 -3
  66. package/dist/esm/snk-crud.entry.js +6 -4
  67. package/dist/esm/snk-data-exporter.entry.js +1 -1
  68. package/dist/esm/snk-detail-view.entry.js +8 -6
  69. package/dist/esm/snk-filter-bar.entry.js +3 -3
  70. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  71. package/dist/esm/snk-form-config.entry.js +2 -2
  72. package/dist/esm/snk-form.entry.js +4 -4
  73. package/dist/esm/snk-grid-config.entry.js +3 -3
  74. package/dist/esm/snk-grid.entry.js +26 -15
  75. package/dist/esm/{snk-guides-viewer-cff5e95d.js → snk-guides-viewer-e87b77d5.js} +5 -4
  76. package/dist/esm/snk-guides-viewer.entry.js +8 -6
  77. package/dist/esm/snk-personalized-filter.entry.js +19 -9
  78. package/dist/esm/snk-simple-crud.entry.js +7 -91
  79. package/dist/sankhyablocks/p-182246c9.entry.js +1 -0
  80. package/dist/sankhyablocks/{p-ee57d9f5.js → p-240f5892.js} +1 -1
  81. package/dist/sankhyablocks/p-42de2707.entry.js +1 -0
  82. package/dist/sankhyablocks/p-5356efdd.entry.js +1 -0
  83. package/dist/sankhyablocks/{p-c9fa27ce.entry.js → p-57550ddc.entry.js} +1 -1
  84. package/dist/sankhyablocks/{p-e2160bdd.js → p-5d51bff4.js} +1 -1
  85. package/dist/sankhyablocks/{p-ebd9f2b1.entry.js → p-5dd52ec5.entry.js} +1 -1
  86. package/dist/sankhyablocks/p-6541f0df.js +1 -0
  87. package/dist/sankhyablocks/p-68fbd480.entry.js +1 -0
  88. package/dist/sankhyablocks/{p-5e5816ed.entry.js → p-8652f90b.entry.js} +1 -1
  89. package/dist/sankhyablocks/{p-358e8f7b.js → p-910af03c.js} +1 -1
  90. package/dist/sankhyablocks/p-992a9d0f.js +1 -0
  91. package/dist/sankhyablocks/p-9e705c91.entry.js +1 -0
  92. package/dist/sankhyablocks/p-a046a2e1.js +1 -0
  93. package/dist/sankhyablocks/p-a221bc67.js +1 -0
  94. package/dist/sankhyablocks/{p-54f01129.entry.js → p-b3cd0dd1.entry.js} +3 -3
  95. package/dist/sankhyablocks/p-b7798801.entry.js +1 -0
  96. package/dist/sankhyablocks/p-bcc2b79d.js +59 -0
  97. package/dist/sankhyablocks/p-d07651cc.entry.js +1 -0
  98. package/dist/sankhyablocks/{p-33745612.js → p-d47bbee3.js} +1 -1
  99. package/dist/sankhyablocks/{p-86d00468.entry.js → p-d563e451.entry.js} +1 -1
  100. package/dist/sankhyablocks/{p-6cd36947.entry.js → p-e74e2153.entry.js} +1 -1
  101. package/dist/sankhyablocks/p-eab2c97d.entry.js +1 -0
  102. package/dist/sankhyablocks/{p-d109914d.entry.js → p-ebfa6460.entry.js} +1 -1
  103. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  104. package/dist/types/components/snk-application/snk-application.d.ts +1 -1
  105. package/dist/types/components/snk-attach/snk-attach.d.ts +1 -0
  106. package/dist/types/components/snk-grid/filtercolumn/SnkMultiSelectionListDataSource.d.ts +1 -0
  107. package/dist/types/components/snk-grid/snk-grid.d.ts +3 -4
  108. package/dist/types/components/snk-personalized-filter/snk-personalized-filter.d.ts +3 -1
  109. package/dist/types/components.d.ts +3 -2
  110. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +2 -1
  111. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -1
  112. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.d.ts +13 -0
  113. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.d.ts +19 -0
  114. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.d.ts +25 -0
  115. package/dist/types/lib/http/data-fetcher/fetchers/{dataunit-fetcher.d.ts → data-unit/dataunit-fetcher.d.ts} +5 -3
  116. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadDataResult.d.ts +6 -0
  117. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadDataStrategy.d.ts +7 -0
  118. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadingInfo.d.ts +8 -0
  119. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/IRecordField.d.ts +4 -0
  120. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/IResponseRecord.d.ts +6 -0
  121. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DataUnitStrategy.d.ts +9 -0
  122. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +15 -0
  123. package/dist/types/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.d.ts +1 -1
  124. package/dist/types/lib/index.d.ts +1 -1
  125. package/package.json +3 -3
  126. package/dist/cjs/dataunit-fetcher-32bb845f.js +0 -356
  127. package/dist/esm/dataunit-fetcher-d3033a06.js +0 -354
  128. package/dist/esm/pesquisa-fetcher-615da3ca.js +0 -165
  129. package/dist/sankhyablocks/p-0abc880c.entry.js +0 -1
  130. package/dist/sankhyablocks/p-1284f14a.entry.js +0 -1
  131. package/dist/sankhyablocks/p-162161ae.entry.js +0 -1
  132. package/dist/sankhyablocks/p-329f7520.entry.js +0 -1
  133. package/dist/sankhyablocks/p-401da0a5.entry.js +0 -1
  134. package/dist/sankhyablocks/p-5d62a74e.js +0 -1
  135. package/dist/sankhyablocks/p-5e63571e.entry.js +0 -1
  136. package/dist/sankhyablocks/p-6b2ee5b5.entry.js +0 -1
  137. package/dist/sankhyablocks/p-719c246f.js +0 -1
  138. package/dist/sankhyablocks/p-89b3df4c.js +0 -1
  139. package/dist/sankhyablocks/p-90946802.js +0 -76
  140. package/dist/sankhyablocks/p-b417c608.entry.js +0 -1
  141. package/dist/sankhyablocks/p-fa9d3f73.js +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sankhyalabs/sankhyablocks",
3
- "version": "8.7.0",
3
+ "version": "8.8.0-dev.2",
4
4
  "description": "Stencil Component Starter",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -42,7 +42,7 @@
42
42
  "@babel/preset-env": "^7.18.2",
43
43
  "@commitlint/cli": "^18.4.3",
44
44
  "@commitlint/config-conventional": "^18.4.3",
45
- "@sankhyalabs/core": "^5.6.0",
45
+ "@sankhyalabs/core": "5.11.0-rc.1",
46
46
  "@sankhyalabs/docscss": "^1.0.4",
47
47
  "@sankhyalabs/ezui": "^5.5.0",
48
48
  "@sankhyalabs/skippeerdeps": "^1.0.2",
@@ -64,7 +64,7 @@
64
64
  "verbose": true
65
65
  },
66
66
  "peerDependencies": {
67
- "@sankhyalabs/core": "^5.0.0",
67
+ "@sankhyalabs/core": "5.11.0-rc.1",
68
68
  "@sankhyalabs/ezui": "^5.0.0"
69
69
  },
70
70
  "license": "MIT"
@@ -1,356 +0,0 @@
1
- 'use strict';
2
-
3
- const core = require('@sankhyalabs/core');
4
- const DataFetcher = require('./DataFetcher-a00bc007.js');
5
- const constants = require('@sankhyalabs/ezui/dist/collection/utils/constants');
6
- const UnitMetadata = require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
7
-
8
- var __rest = (undefined && undefined.__rest) || function (s, e) {
9
- var t = {};
10
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
11
- t[p] = s[p];
12
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
13
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
14
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
15
- t[p[i]] = s[p[i]];
16
- }
17
- return t;
18
- };
19
- class DataUnitFetcher {
20
- constructor() {
21
- this.templateByQuery = new Map();
22
- this._loadDataTimeout = {};
23
- this.buldTemplates();
24
- }
25
- buldTemplates() {
26
- this.templateByQuery.set("fetchDataUnit", DataFetcher.dist.gql `query($name: String!) {
27
- $queryAlias$: fetchDataUnit(name: $name){
28
- name
29
- fields{
30
- name
31
- defaultValue
32
- label
33
- visible
34
- readOnly
35
- required
36
- dataType
37
- userInterface
38
- calculated
39
- group
40
- order
41
- properties{
42
- name
43
- value
44
- }
45
- dependencies{
46
- masterFields
47
- type
48
- expression
49
- }
50
- }
51
- children{
52
- name
53
- label
54
- links{
55
- source
56
- target
57
- }
58
- }
59
- }
60
- }`);
61
- this.templateByQuery.set("fetchData", DataFetcher.dist.gql `query($dataunit: String! $limit: Int $offset:Int $filters: [InputFilter!] $sort: [InputSort!] $parentRecordId: String) {
62
- $queryAlias$: fetchDataUnit(name: $dataunit){
63
- data(limit: $limit offset: $offset filters: $filters sort: $sort parentRecordId: $parentRecordId){
64
- limit
65
- offset
66
- total
67
- hasMore
68
- records{
69
- id
70
- label
71
- fields {
72
- name
73
- value
74
- }
75
- }
76
- }
77
- }
78
- }`);
79
- this.templateByQuery.set("saveData", DataFetcher.dist.gql `mutation($changes: [InputBatchChange!]!) {
80
- $queryAlias$: batchOperationDataUnit(changes: $changes){
81
- oldId
82
- id
83
- label
84
- ownerDataUnitName
85
- fields {
86
- name
87
- value
88
- }
89
- }
90
- }`);
91
- this.templateByQuery.set("fetchDataRecord", DataFetcher.dist.gql `query($dataunit: String! $recordID: [String!]) {
92
- $queryAlias$: fetchDataUnit(name: $dataunit){
93
- record(id: $recordID){
94
- id
95
- label
96
- fields {
97
- name
98
- value
99
- }
100
- }
101
- }
102
- }`);
103
- this.templateByQuery.set("fetchDistinctColumn", DataFetcher.dist.gql `query($dataUnit: String!, $fieldName: String!, $argument: String, $filters: [InputFilter], $parentRecordId: String) {
104
- $queryAlias$: selectDistinct(dataUnit: $dataUnit, fieldName: $fieldName, argument: $argument, filters: $filters, parentRecordId: $parentRecordId)
105
- }`);
106
- }
107
- getDataUnit(entityName, resourceID, parentDataUnit, configName) {
108
- const duName = `dd://${entityName}/${resourceID}${configName ? "/" + configName : ""}`;
109
- const dataUnit = parentDataUnit != undefined ? parentDataUnit.getChildDataunit(duName) : new core.DataUnit(duName);
110
- dataUnit.metadataLoader = (dataUnit) => this.loadMetadata(dataUnit);
111
- dataUnit.dataLoader = (dataUnit, request) => this.loadData(dataUnit, request);
112
- dataUnit.saveLoader = (_dataUnit, changes) => this.saveData(dataUnit, changes);
113
- dataUnit.removeLoader = (dataUnit, recordIds) => this.removeRecords(dataUnit, recordIds);
114
- dataUnit.recordLoader = (dataUnit, recordIds) => this.loadRecord(dataUnit, recordIds);
115
- return dataUnit;
116
- }
117
- loadMetadata(dataUnit) {
118
- return new Promise((resolve, reject) => {
119
- DataFetcher.DataFetcher.get()
120
- .callGraphQL({
121
- values: { name: dataUnit.name },
122
- query: this.templateByQuery.get("fetchDataUnit"),
123
- })
124
- .then((resp) => {
125
- var _a;
126
- const metadata = {
127
- name: resp.name,
128
- label: resp.name,
129
- children: [...resp.children],
130
- fields: []
131
- };
132
- (_a = resp.fields) === null || _a === void 0 ? void 0 : _a.forEach((source) => {
133
- let properties = undefined;
134
- if (Array.isArray(source.properties)) {
135
- properties = {};
136
- if (source.calculated) {
137
- properties.gridHeaderTooltip = "Campos calculados não podem ser ordenados";
138
- }
139
- source.properties.forEach((prop) => (properties[prop.name] = prop.value));
140
- }
141
- metadata.fields.push(Object.assign(Object.assign({}, source), { properties }));
142
- });
143
- metadata.fields.sort((a, b) => a.order - b.order);
144
- resolve(metadata);
145
- })
146
- .catch((error) => {
147
- reject(error);
148
- });
149
- });
150
- }
151
- async loadData(dataUnit, request) {
152
- try {
153
- const duName = dataUnit.name;
154
- if (this._loadDataTimeout[duName]) {
155
- clearTimeout(this._loadDataTimeout[duName]);
156
- delete this._loadDataTimeout[duName];
157
- }
158
- const result = await this.doLoadData(dataUnit, request);
159
- delete this._loadDataTimeout[duName];
160
- await new Promise(resolve => {
161
- this._loadDataTimeout[duName] = setTimeout(resolve, 200);
162
- });
163
- return Promise.resolve(result);
164
- }
165
- catch (error) {
166
- return Promise.reject(error);
167
- }
168
- }
169
- loadSelectDistinct(dataUnit, fieldName, argument) {
170
- const { parentRecordId, filters } = dataUnit.getLastLoadRequest() || {};
171
- const filteredFilters = filters.filter(f => f.name !== `${constants.DISTINCT_FILTER_NAME_PREFIX}${fieldName}`);
172
- const values = {
173
- dataUnit: dataUnit.name,
174
- argument,
175
- fieldName,
176
- parentRecordId,
177
- filters: filteredFilters
178
- };
179
- return new Promise((resolve, reject) => {
180
- DataFetcher.DataFetcher.get()
181
- .callGraphQL({
182
- values,
183
- query: this.templateByQuery.get("fetchDistinctColumn"),
184
- })
185
- .then((result) => {
186
- resolve(result);
187
- })
188
- .catch((error) => {
189
- reject(error);
190
- });
191
- });
192
- }
193
- doLoadData(dataUnit, request) {
194
- return new Promise((resolve, reject) => {
195
- var _a;
196
- const { sort, filters, limit, offset, quickFilter } = request;
197
- const variables = { dataunit: dataUnit.name, sort, filters };
198
- variables.limit = limit;
199
- variables.offset = offset;
200
- variables.parentRecordId = request.parentRecordId;
201
- if (!core.StringUtils.isEmpty(quickFilter === null || quickFilter === void 0 ? void 0 : quickFilter.term)) {
202
- if (variables.filter === undefined) {
203
- variables.filter = [];
204
- }
205
- const quickFilterCriteria = {
206
- name: "__QUICK_FILTER__",
207
- expression: "__QUICK_FILTER__",
208
- params: [{ name: "term", dataType: core.DataType.TEXT, value: quickFilter.term }]
209
- };
210
- if (((_a = quickFilter === null || quickFilter === void 0 ? void 0 : quickFilter.fields) === null || _a === void 0 ? void 0 : _a.length) > 0) {
211
- quickFilterCriteria.params.push({ name: "fields", dataType: core.DataType.OBJECT, value: quickFilter.fields });
212
- }
213
- variables.filter.push(quickFilterCriteria);
214
- }
215
- DataFetcher.DataFetcher.get()
216
- .callGraphQL({
217
- values: variables,
218
- query: this.templateByQuery.get("fetchData"),
219
- })
220
- .then((resp) => {
221
- const { limit, offset, total, hasMore, records } = resp.data;
222
- let paginationInfo;
223
- if (limit) {
224
- const firstRecord = total == 0 ? 0 : offset + 1;
225
- const lastRecord = offset + Math.min(records.length, limit);
226
- const currentPage = offset / limit;
227
- paginationInfo = {
228
- firstRecord,
229
- lastRecord,
230
- total,
231
- currentPage,
232
- hasMore
233
- };
234
- }
235
- const processedRecords = [];
236
- records.forEach((responseRecord) => {
237
- const duRecord = { __record__id__: responseRecord.id, __record__label__: responseRecord.label };
238
- responseRecord.fields.forEach(({ name, value }) => {
239
- duRecord[name] = dataUnit.valueFromString(name, value);
240
- });
241
- processedRecords.push(duRecord);
242
- });
243
- resolve({
244
- paginationInfo,
245
- records: processedRecords
246
- });
247
- })
248
- .catch((error) => {
249
- reject(error);
250
- });
251
- });
252
- }
253
- saveData(dataUnit, duChanges) {
254
- const changes = duChanges.map((change) => {
255
- const { dataUnit: changeDU, record, updatingFields, operation } = change;
256
- const dataUnitInstance = core.DataUnitStorage.get(changeDU);
257
- let parsedUpdatingFields;
258
- if (updatingFields) {
259
- parsedUpdatingFields = Object.entries(updatingFields).map(([fieldName, value]) => {
260
- const descriptor = dataUnitInstance.getField(fieldName);
261
- const dataType = descriptor ? descriptor.dataType : core.DataType.TEXT;
262
- return { fieldName, dataType, value: dataUnitInstance.valueToString(fieldName, value) };
263
- });
264
- }
265
- const reqChange = { dataUnit: changeDU, fields: parsedUpdatingFields, operation, recordId: record.__record__id__ };
266
- if (change.sourceId) {
267
- reqChange.sourceId = change.sourceId;
268
- }
269
- if (record.__parent__record__id__) {
270
- reqChange.parentRecordId = record.__parent__record__id__;
271
- }
272
- return reqChange;
273
- });
274
- return new Promise((resolve, reject) => {
275
- const changesFormatted = changes.map((_a) => {
276
- var rest = __rest(_a, []);
277
- return rest;
278
- });
279
- DataFetcher.DataFetcher.get()
280
- .callGraphQL({
281
- values: { changes: changesFormatted },
282
- query: this.templateByQuery.get("saveData"),
283
- })
284
- .then((resp) => {
285
- const dataUnitRecords = [];
286
- resp === null || resp === void 0 ? void 0 : resp.forEach((responseRecord) => {
287
- const duRecord = {
288
- __record__id__: responseRecord.id,
289
- __record__label__: responseRecord.label,
290
- __owner__dataunit__name__: responseRecord.ownerDataUnitName,
291
- };
292
- const dataUnitInstance = core.DataUnitStorage.get(duRecord.__owner__dataunit__name__) || dataUnit;
293
- if (responseRecord.oldId) {
294
- duRecord.__old__id__ = responseRecord.oldId;
295
- }
296
- responseRecord.fields.forEach(({ name, value }) => {
297
- var _a;
298
- duRecord[name] = ((_a = dataUnitInstance === null || dataUnitInstance === void 0 ? void 0 : dataUnitInstance.valueFromString) === null || _a === void 0 ? void 0 : _a.call(dataUnitInstance, name, value)) || value;
299
- });
300
- dataUnitRecords.push(duRecord);
301
- });
302
- resolve(dataUnitRecords);
303
- })
304
- .catch((error) => {
305
- reject(error);
306
- });
307
- });
308
- }
309
- getTransientInfo(dataUnit, recordID) {
310
- const { records } = dataUnit.getSelectionInfo();
311
- return Object.entries(records.filter(record => record.__record__id__ == recordID)[0]).filter(([key]) => key.startsWith(UnitMetadata.DataUnitTransient.DATA_UNIT_TRANSIENT_PREFIX_NAME)).map(([name, value]) => ({ fieldName: name, value, dataType: core.DataType.TEXT }));
312
- }
313
- removeRecords(dataUnit, recordIds) {
314
- const changes = recordIds.map((recordId) => {
315
- return { dataUnit: dataUnit.name, operation: core.ChangeOperation.DELETE, recordId, fields: this.getTransientInfo(dataUnit, recordId) };
316
- });
317
- return new Promise((resolve, reject) => {
318
- DataFetcher.DataFetcher.get()
319
- .callGraphQL({
320
- values: { changes: changes },
321
- query: this.templateByQuery.get("saveData"),
322
- })
323
- .then((_resp) => {
324
- resolve(recordIds);
325
- })
326
- .catch((error) => {
327
- reject(error);
328
- });
329
- });
330
- }
331
- loadRecord(dataUnit, recordIds) {
332
- return new Promise((resolve, reject) => {
333
- DataFetcher.DataFetcher.get()
334
- .callGraphQL({
335
- values: { recordID: recordIds, dataunit: dataUnit.name },
336
- query: this.templateByQuery.get("fetchDataRecord"),
337
- })
338
- .then((response) => {
339
- const dataUnitRecords = [];
340
- response.record.forEach(responseRecord => {
341
- const duRecord = { __record__id__: responseRecord.id, __record__label__: responseRecord.label };
342
- responseRecord.fields.forEach(({ name, value }) => {
343
- duRecord[name] = dataUnit.valueFromString(name, value);
344
- });
345
- dataUnitRecords.push(duRecord);
346
- });
347
- resolve(dataUnitRecords);
348
- })
349
- .catch((error) => {
350
- reject(error);
351
- });
352
- });
353
- }
354
- }
355
-
356
- exports.DataUnitFetcher = DataUnitFetcher;