@sankhyalabs/sankhyablocks 8.6.0-dev.2 → 8.6.0-dev.4

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 (138) hide show
  1. package/dist/cjs/{ConfigStorage-bbffce76.js → ConfigStorage-a97ca159.js} +2 -2
  2. package/dist/cjs/{DataFetcher-0cc561bc.js → DataFetcher-2a99283c.js} +25 -10
  3. package/dist/cjs/{SnkFormConfigManager-c49af777.js → SnkFormConfigManager-f641f502.js} +2 -2
  4. package/dist/cjs/{SnkMultiSelectionListDataSource-804ff4c7.js → SnkMultiSelectionListDataSource-faf3a0f2.js} +11 -0
  5. package/dist/cjs/{auth-fetcher-fff2319e.js → auth-fetcher-78231356.js} +1 -1
  6. package/dist/cjs/dataunit-fetcher-9e875872.js +877 -0
  7. package/dist/cjs/{form-config-fetcher-35752aad.js → form-config-fetcher-a322a522.js} +1 -1
  8. package/dist/cjs/{pesquisa-fetcher-415eab63.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-36b39c9c.js → snk-guides-viewer-015b8632.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 +3 -3
  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/lib/dataUnit/InMemoryLoader.js +23 -2
  30. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +25 -10
  31. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +112 -0
  32. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.js +59 -0
  33. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.js +169 -0
  34. package/dist/collection/lib/http/data-fetcher/fetchers/{dataunit-fetcher.js → data-unit/dataunit-fetcher.js} +48 -100
  35. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadDataResult.js +1 -0
  36. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadDataStrategy.js +1 -0
  37. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadingInfo.js +1 -0
  38. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/interfaces/IRecordField.js +1 -0
  39. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/interfaces/IResponseRecord.js +1 -0
  40. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DataUnitStrategy.js +68 -0
  41. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +131 -0
  42. package/dist/collection/lib/index.js +1 -1
  43. package/dist/components/DataFetcher.js +26 -11
  44. package/dist/components/SnkMultiSelectionListDataSource.js +11 -0
  45. package/dist/components/dataunit-fetcher.js +780 -100
  46. package/dist/components/snk-actions-button2.js +1 -1
  47. package/dist/components/snk-application2.js +11 -4
  48. package/dist/components/snk-attach2.js +13 -1
  49. package/dist/components/snk-crud.js +1 -1
  50. package/dist/components/snk-detail-view2.js +1 -1
  51. package/dist/components/snk-grid2.js +19 -11
  52. package/dist/components/snk-simple-crud2.js +2 -88
  53. package/dist/esm/{ConfigStorage-80ca14d5.js → ConfigStorage-26f89143.js} +2 -2
  54. package/dist/esm/{DataFetcher-044e3988.js → DataFetcher-90e91631.js} +26 -11
  55. package/dist/esm/{SnkFormConfigManager-1a8b3a44.js → SnkFormConfigManager-18948123.js} +2 -2
  56. package/dist/esm/{SnkMultiSelectionListDataSource-892f37f9.js → SnkMultiSelectionListDataSource-9e916004.js} +11 -0
  57. package/dist/esm/{auth-fetcher-1b378f8e.js → auth-fetcher-a8c8ee7e.js} +1 -1
  58. package/dist/esm/dataunit-fetcher-cc16ac1a.js +873 -0
  59. package/dist/esm/{form-config-fetcher-c702e9e3.js → form-config-fetcher-7c3b6273.js} +1 -1
  60. package/dist/{components/pesquisa-fetcher.js → esm/pesquisa-fetcher-90d6853b.js} +1 -1
  61. package/dist/esm/snk-actions-button.entry.js +4 -3
  62. package/dist/esm/snk-application.entry.js +17 -8
  63. package/dist/esm/snk-attach.entry.js +16 -3
  64. package/dist/esm/snk-crud.entry.js +6 -4
  65. package/dist/esm/snk-data-exporter.entry.js +1 -1
  66. package/dist/esm/snk-detail-view.entry.js +8 -6
  67. package/dist/esm/snk-filter-bar.entry.js +3 -3
  68. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  69. package/dist/esm/snk-form-config.entry.js +2 -2
  70. package/dist/esm/snk-form.entry.js +4 -4
  71. package/dist/esm/snk-grid-config.entry.js +3 -3
  72. package/dist/esm/snk-grid.entry.js +26 -15
  73. package/dist/esm/{snk-guides-viewer-767ad354.js → snk-guides-viewer-1838230d.js} +5 -4
  74. package/dist/esm/snk-guides-viewer.entry.js +8 -6
  75. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  76. package/dist/esm/snk-simple-crud.entry.js +7 -91
  77. package/dist/sankhyablocks/p-218d30c7.js +1 -0
  78. package/dist/sankhyablocks/{p-76926391.js → p-240f5892.js} +2 -2
  79. package/dist/sankhyablocks/p-3258df1d.js +59 -0
  80. package/dist/sankhyablocks/{p-dacb4c4c.entry.js → p-3ec7e5f9.entry.js} +3 -3
  81. package/dist/sankhyablocks/{p-d1cc9007.entry.js → p-57550ddc.entry.js} +1 -1
  82. package/dist/sankhyablocks/p-5d51bff4.js +1 -0
  83. package/dist/sankhyablocks/{p-727b8cbe.entry.js → p-5dd52ec5.entry.js} +1 -1
  84. package/dist/sankhyablocks/p-6541f0df.js +1 -0
  85. package/dist/sankhyablocks/{p-845c7480.entry.js → p-8652f90b.entry.js} +1 -1
  86. package/dist/sankhyablocks/{p-a2c7c45f.js → p-910af03c.js} +1 -1
  87. package/dist/sankhyablocks/p-992a9d0f.js +1 -0
  88. package/dist/sankhyablocks/p-c3642830.entry.js +1 -0
  89. package/dist/sankhyablocks/p-cf954be2.entry.js +1 -0
  90. package/dist/sankhyablocks/{p-af86752b.js → p-d47bbee3.js} +1 -1
  91. package/dist/sankhyablocks/p-d50b5736.entry.js +1 -0
  92. package/dist/sankhyablocks/{p-e46dd27b.entry.js → p-d563e451.entry.js} +1 -1
  93. package/dist/sankhyablocks/p-d5bc8eb1.js +1 -0
  94. package/dist/sankhyablocks/p-d8d4ff87.entry.js +1 -0
  95. package/dist/sankhyablocks/p-dfca1930.entry.js +1 -0
  96. package/dist/sankhyablocks/{p-3ef37b31.entry.js → p-e74e2153.entry.js} +1 -1
  97. package/dist/sankhyablocks/{p-3c1759ba.entry.js → p-e8b55571.entry.js} +1 -1
  98. package/dist/sankhyablocks/{p-90c07587.entry.js → p-ebfa6460.entry.js} +1 -1
  99. package/dist/sankhyablocks/p-f3fdb409.entry.js +1 -0
  100. package/dist/sankhyablocks/p-f9dd2359.entry.js +1 -0
  101. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  102. package/dist/types/components/snk-application/snk-application.d.ts +1 -1
  103. package/dist/types/components/snk-attach/snk-attach.d.ts +1 -0
  104. package/dist/types/components/snk-grid/filtercolumn/SnkMultiSelectionListDataSource.d.ts +1 -0
  105. package/dist/types/components/snk-grid/snk-grid.d.ts +3 -4
  106. package/dist/types/components.d.ts +3 -2
  107. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +2 -1
  108. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +2 -1
  109. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.d.ts +13 -0
  110. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.d.ts +19 -0
  111. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.d.ts +25 -0
  112. package/dist/types/lib/http/data-fetcher/fetchers/{dataunit-fetcher.d.ts → data-unit/dataunit-fetcher.d.ts} +5 -3
  113. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadDataResult.d.ts +6 -0
  114. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadDataStrategy.d.ts +7 -0
  115. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadingInfo.d.ts +8 -0
  116. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/IRecordField.d.ts +4 -0
  117. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/IResponseRecord.d.ts +6 -0
  118. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DataUnitStrategy.d.ts +9 -0
  119. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +15 -0
  120. package/dist/types/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.d.ts +1 -1
  121. package/dist/types/lib/index.d.ts +1 -1
  122. package/package.json +3 -3
  123. package/dist/cjs/dataunit-fetcher-16b32d96.js +0 -356
  124. package/dist/esm/dataunit-fetcher-e0361781.js +0 -354
  125. package/dist/esm/pesquisa-fetcher-d1b4e5a2.js +0 -165
  126. package/dist/sankhyablocks/p-15578509.entry.js +0 -1
  127. package/dist/sankhyablocks/p-1f32ad9c.entry.js +0 -1
  128. package/dist/sankhyablocks/p-2043a64f.js +0 -1
  129. package/dist/sankhyablocks/p-251985c1.entry.js +0 -1
  130. package/dist/sankhyablocks/p-473c7df4.js +0 -1
  131. package/dist/sankhyablocks/p-77aebc26.js +0 -1
  132. package/dist/sankhyablocks/p-867e9b79.js +0 -1
  133. package/dist/sankhyablocks/p-8d1602f2.entry.js +0 -1
  134. package/dist/sankhyablocks/p-98ae8ddc.entry.js +0 -1
  135. package/dist/sankhyablocks/p-9de24cf3.entry.js +0 -1
  136. package/dist/sankhyablocks/p-b6d54b6c.entry.js +0 -1
  137. package/dist/sankhyablocks/p-d5b11196.js +0 -76
  138. package/dist/sankhyablocks/p-fa9d3f73.js +0 -1
@@ -1,76 +0,0 @@
1
- import{DataUnit as e,StringUtils as t,DataType as a,DataUnitStorage as r,ChangeOperation as i}from"@sankhyalabs/core";import{d as n,D as s}from"./p-2043a64f.js";import{DISTINCT_FILTER_NAME_PREFIX as o}from"@sankhyalabs/ezui/dist/collection/utils/constants";import{DataUnitTransient as l}from"@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata";class d{constructor(){this.templateByQuery=new Map,this._loadDataTimeout={},this.buldTemplates()}buldTemplates(){this.templateByQuery.set("fetchDataUnit",n.gql`query($name: String!) {
2
- $queryAlias$: fetchDataUnit(name: $name){
3
- name
4
- fields{
5
- name
6
- defaultValue
7
- label
8
- visible
9
- readOnly
10
- required
11
- dataType
12
- userInterface
13
- calculated
14
- group
15
- order
16
- properties{
17
- name
18
- value
19
- }
20
- dependencies{
21
- masterFields
22
- type
23
- expression
24
- }
25
- }
26
- children{
27
- name
28
- label
29
- links{
30
- source
31
- target
32
- }
33
- }
34
- }
35
- }`),this.templateByQuery.set("fetchData",n.gql`query($dataunit: String! $limit: Int $offset:Int $filters: [InputFilter!] $sort: [InputSort!] $parentRecordId: String) {
36
- $queryAlias$: fetchDataUnit(name: $dataunit){
37
- data(limit: $limit offset: $offset filters: $filters sort: $sort parentRecordId: $parentRecordId){
38
- limit
39
- offset
40
- total
41
- hasMore
42
- records{
43
- id
44
- label
45
- fields {
46
- name
47
- value
48
- }
49
- }
50
- }
51
- }
52
- }`),this.templateByQuery.set("saveData",n.gql`mutation($changes: [InputBatchChange!]!) {
53
- $queryAlias$: batchOperationDataUnit(changes: $changes){
54
- oldId
55
- id
56
- label
57
- ownerDataUnitName
58
- fields {
59
- name
60
- value
61
- }
62
- }
63
- }`),this.templateByQuery.set("fetchDataRecord",n.gql`query($dataunit: String! $recordID: [String!]) {
64
- $queryAlias$: fetchDataUnit(name: $dataunit){
65
- record(id: $recordID){
66
- id
67
- label
68
- fields {
69
- name
70
- value
71
- }
72
- }
73
- }
74
- }`),this.templateByQuery.set("fetchDistinctColumn",n.gql`query($dataUnit: String!, $fieldName: String!, $argument: String, $filters: [InputFilter], $parentRecordId: String) {
75
- $queryAlias$: selectDistinct(dataUnit: $dataUnit, fieldName: $fieldName, argument: $argument, filters: $filters, parentRecordId: $parentRecordId)
76
- }`)}getDataUnit(t,a,r,i){const n=`dd://${t}/${a}${i?"/"+i:""}`,s=null!=r?r.getChildDataunit(n):new e(n);return s.metadataLoader=e=>this.loadMetadata(e),s.dataLoader=(e,t)=>this.loadData(e,t),s.saveLoader=(e,t)=>this.saveData(s,t),s.removeLoader=(e,t)=>this.removeRecords(e,t),s.recordLoader=(e,t)=>this.loadRecord(e,t),s}loadMetadata(e){return new Promise(((t,a)=>{s.get().callGraphQL({values:{name:e.name},query:this.templateByQuery.get("fetchDataUnit")}).then((e=>{var a;const r={name:e.name,label:e.name,children:[...e.children],fields:[]};null===(a=e.fields)||void 0===a||a.forEach((e=>{let t;Array.isArray(e.properties)&&(t={},e.calculated&&(t.gridHeaderTooltip="Campos calculados não podem ser ordenados"),e.properties.forEach((e=>t[e.name]=e.value))),r.fields.push(Object.assign(Object.assign({},e),{properties:t}))})),r.fields.sort(((e,t)=>e.order-t.order)),t(r)})).catch((e=>{a(e)}))}))}async loadData(e,t){try{const a=e.name;this._loadDataTimeout[a]&&(clearTimeout(this._loadDataTimeout[a]),delete this._loadDataTimeout[a]);const r=await this.doLoadData(e,t);return delete this._loadDataTimeout[a],await new Promise((e=>{this._loadDataTimeout[a]=setTimeout(e,200)})),Promise.resolve(r)}catch(e){return Promise.reject(e)}}loadSelectDistinct(e,t,a){const{parentRecordId:r,filters:i}=e.getLastLoadRequest()||{},n=i.filter((e=>e.name!==`${o}${t}`)),l={dataUnit:e.name,argument:a,fieldName:t,parentRecordId:r,filters:n};return new Promise(((e,t)=>{s.get().callGraphQL({values:l,query:this.templateByQuery.get("fetchDistinctColumn")}).then((t=>{e(t)})).catch((e=>{t(e)}))}))}doLoadData(e,r){return new Promise(((i,n)=>{var o;const{sort:l,filters:d,limit:c,offset:u,quickFilter:m}=r,f={dataunit:e.name,sort:l,filters:d};if(f.limit=c,f.offset=u,f.parentRecordId=r.parentRecordId,!t.isEmpty(null==m?void 0:m.term)){void 0===f.filter&&(f.filter=[]);const e={name:"__QUICK_FILTER__",expression:"__QUICK_FILTER__",params:[{name:"term",dataType:a.TEXT,value:m.term}]};(null===(o=null==m?void 0:m.fields)||void 0===o?void 0:o.length)>0&&e.params.push({name:"fields",dataType:a.OBJECT,value:m.fields}),f.filter.push(e)}s.get().callGraphQL({values:f,query:this.templateByQuery.get("fetchData")}).then((t=>{const{limit:a,offset:r,total:n,hasMore:s,records:o}=t.data;let l;a&&(l={firstRecord:0==n?0:r+1,lastRecord:r+Math.min(o.length,a),total:n,currentPage:r/a,hasMore:s});const d=[];o.forEach((t=>{const a={__record__id__:t.id,__record__label__:t.label};t.fields.forEach((({name:t,value:r})=>{a[t]=e.valueFromString(t,r)})),d.push(a)})),i({paginationInfo:l,records:d})})).catch((e=>{n(e)}))}))}saveData(e,t){const i=t.map((e=>{const{dataUnit:t,record:i,updatingFields:n,operation:s}=e,o=r.get(t);let l;n&&(l=Object.entries(n).map((([e,t])=>{const r=o.getField(e);return{fieldName:e,dataType:r?r.dataType:a.TEXT,value:o.valueToString(e,t)}})));const d={dataUnit:t,fields:l,operation:s,recordId:i.__record__id__};return e.sourceId&&(d.sourceId=e.sourceId),i.__parent__record__id__&&(d.parentRecordId=i.__parent__record__id__),d}));return new Promise(((t,a)=>{const n=i.map((e=>function(e,t){var a={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(a[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(a[r[i]]=e[r[i]])}return a}(e,[])));s.get().callGraphQL({values:{changes:n},query:this.templateByQuery.get("saveData")}).then((a=>{const i=[];null==a||a.forEach((t=>{const a={__record__id__:t.id,__record__label__:t.label,__owner__dataunit__name__:t.ownerDataUnitName},n=r.get(a.__owner__dataunit__name__)||e;t.oldId&&(a.__old__id__=t.oldId),t.fields.forEach((({name:e,value:t})=>{var r;a[e]=(null===(r=null==n?void 0:n.valueFromString)||void 0===r?void 0:r.call(n,e,t))||t})),i.push(a)})),t(i)})).catch((e=>{a(e)}))}))}getTransientInfo(e,t){const{records:r}=e.getSelectionInfo();return Object.entries(r.filter((e=>e.__record__id__==t))[0]).filter((([e])=>e.startsWith(l.DATA_UNIT_TRANSIENT_PREFIX_NAME))).map((([e,t])=>({fieldName:e,value:t,dataType:a.TEXT})))}removeRecords(e,t){const a=t.map((t=>({dataUnit:e.name,operation:i.DELETE,recordId:t,fields:this.getTransientInfo(e,t)})));return new Promise(((e,r)=>{s.get().callGraphQL({values:{changes:a},query:this.templateByQuery.get("saveData")}).then((()=>{e(t)})).catch((e=>{r(e)}))}))}loadRecord(e,t){return new Promise(((a,r)=>{s.get().callGraphQL({values:{recordID:t,dataunit:e.name},query:this.templateByQuery.get("fetchDataRecord")}).then((t=>{const r=[];t.record.forEach((t=>{const a={__record__id__:t.id,__record__label__:t.label};t.fields.forEach((({name:t,value:r})=>{a[t]=e.valueFromString(t,r)})),r.push(a)})),a(r)})).catch((e=>{r(e)}))}))}}export{d as D}
@@ -1 +0,0 @@
1
- import{UserInterface as t,DateUtils as e}from"@sankhyalabs/core";class s{setDataUnit(t){this._dataUnit=t}setApplication(t){this._application=t}formatLabel(s,a){const{userInterface:i}=this._dataUnit.getField(s);return i===t.DATETIME?e.formatDate(this._dataUnit.valueFromString(s,a)):String(this._dataUnit.getFormattedValue(s,a))}fetchData(e,s){return new Promise((a=>{this._application.executeSelectDistinct(this._dataUnit,s,e).then((e=>{a(e.map((e=>this._dataUnit.getField(s).userInterface===t.SEARCH?Object.assign(Object.assign({},JSON.parse(e)),{check:!0}):{value:e,label:this.formatLabel(s,e),check:!0})))}))}))}}export{s as S}