@sankhyalabs/sankhyablocks 1.3.3 → 1.3.6

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.
@@ -6454,24 +6454,26 @@ class UrlUtils {
6454
6454
  return params;
6455
6455
  }
6456
6456
  static getUrlBase() {
6457
+ if (window['mock_url'])
6458
+ return window['mock_url'];
6457
6459
  return `${location.protocol}"//"${location.hostname}${location.port ? ":" + location.port : ""}`;
6458
6460
  }
6459
6461
  }
6460
6462
 
6461
- class HttpFetcher {
6463
+ class DataFetcher {
6462
6464
  constructor() {
6463
6465
  this.watingRequestsById = new Map();
6464
6466
  }
6465
6467
  static get() {
6466
- if (!HttpFetcher.instance) {
6467
- HttpFetcher.instance = new HttpFetcher();
6468
+ if (!DataFetcher.instance) {
6469
+ DataFetcher.instance = new DataFetcher();
6468
6470
  const application = document.querySelector(this.appTagName);
6469
6471
  if (application === null) {
6470
- HttpFetcher.instance.resume();
6472
+ DataFetcher.instance.resume();
6471
6473
  }
6472
6474
  else {
6473
- application.addEventListener('applicationLoading', () => HttpFetcher.instance.pause());
6474
- application.addEventListener('applicationLoaded', () => HttpFetcher.instance.resume());
6475
+ application.addEventListener('applicationLoading', () => DataFetcher.instance.pause());
6476
+ application.addEventListener('applicationLoaded', () => DataFetcher.instance.resume());
6475
6477
  }
6476
6478
  }
6477
6479
  return this.instance;
@@ -6505,8 +6507,6 @@ class HttpFetcher {
6505
6507
  }
6506
6508
  }
6507
6509
  resolveURL() {
6508
- if (window['mock_url'])
6509
- return window['mock_url'];
6510
6510
  return UrlUtils.getUrlBase();
6511
6511
  }
6512
6512
  getContext() {
@@ -6598,7 +6598,7 @@ class HttpFetcher {
6598
6598
  let dataResponse = [];
6599
6599
  let errorsResponse = [];
6600
6600
  try {
6601
- res = await dist.batchRequests('http://localhost:8082/', request);
6601
+ res = await dist.batchRequests(this.resolveURL(), request);
6602
6602
  res.forEach((resItem) => {
6603
6603
  dataResponse.push(resItem.data);
6604
6604
  });
@@ -6636,7 +6636,7 @@ class HttpFetcher {
6636
6636
  }
6637
6637
  ;
6638
6638
  }
6639
- HttpFetcher.appTagName = "snk-application";
6639
+ DataFetcher.appTagName = "snk-application";
6640
6640
  class WaitingRequest {
6641
6641
  constructor(req) {
6642
6642
  this._resolve = () => { };
@@ -6692,10 +6692,10 @@ class DataUnitFetcher {
6692
6692
  }
6693
6693
  }
6694
6694
  }`);
6695
- this.templateByQuery.set("fetchData", dist.gql `query($dataunit: String! $first: Int $offset:Int $filter: [Filter!] $sort: [Sort!]) {
6695
+ this.templateByQuery.set("fetchData", dist.gql `query($dataunit: String! $limit: Int $offset:Int $filter: [Filter!] $sort: [Sort!]) {
6696
6696
  $queryAlias$: fetchDataUnit(name: $dataunit){
6697
- data(first: $first offset: $offset filters: $filter sort: $sort){
6698
- first
6697
+ data(limit: $limit offset: $offset filters: $filter sort: $sort){
6698
+ limit
6699
6699
  offset
6700
6700
  total
6701
6701
  hasMore
@@ -6723,14 +6723,14 @@ class DataUnitFetcher {
6723
6723
  getDataUnit(entityName, resourceID) {
6724
6724
  const dataUnit = new core.DataUnit(`dd://${entityName}/${resourceID}`);
6725
6725
  dataUnit.metadataLoader = (dataUnit) => this.loadMetadata(dataUnit);
6726
- dataUnit.dataLoader = (dataUnit, sort, filters) => this.loadData(dataUnit, sort, filters);
6726
+ dataUnit.dataLoader = (dataUnit, page, sort, filters) => this.loadData(dataUnit, page, sort, filters);
6727
6727
  dataUnit.saveLoader = (dataUnit, changes) => this.saveData(dataUnit, changes);
6728
6728
  dataUnit.removeLoader = (dataUnit, recordIds) => this.removeRecords(dataUnit, recordIds);
6729
6729
  return dataUnit;
6730
6730
  }
6731
6731
  loadMetadata(dataUnit) {
6732
6732
  return new Promise((resolve, reject) => {
6733
- HttpFetcher.get()
6733
+ DataFetcher.get()
6734
6734
  .callGraphQL({
6735
6735
  values: { name: dataUnit.name },
6736
6736
  query: this.templateByQuery.get("fetchDataUnit"),
@@ -6757,24 +6757,36 @@ class DataUnitFetcher {
6757
6757
  });
6758
6758
  });
6759
6759
  }
6760
- loadData(dataUnit, sort, filters) {
6760
+ loadData(dataUnit, page, sort, filters) {
6761
6761
  return new Promise((resolve, reject) => {
6762
- HttpFetcher.get()
6762
+ const variables = { dataunit: dataUnit.name, sort, filters };
6763
+ if (page) {
6764
+ variables.limit = page.limit;
6765
+ variables.offset = page.offset;
6766
+ }
6767
+ if (!core.StringUtils.isEmpty(page === null || page === void 0 ? void 0 : page.quickFilter)) {
6768
+ variables.filter = [{
6769
+ name: "__ALL_SEARCHABLE_FIELDS__",
6770
+ expression: "__ALL_SEARCHABLE_FIELDS__",
6771
+ params: [{ name: "term", value: page.quickFilter }]
6772
+ }];
6773
+ }
6774
+ DataFetcher.get()
6763
6775
  .callGraphQL({
6764
- values: { dataunit: dataUnit.name, sort, filters },
6776
+ values: variables,
6765
6777
  query: this.templateByQuery.get("fetchData"),
6766
6778
  })
6767
6779
  .then((resp) => {
6768
- const result = resp.data;
6769
- const dataUnitRecords = [];
6770
- result.records.forEach((responseRecord) => {
6780
+ const pageResult = resp.data;
6781
+ const records = [];
6782
+ pageResult.records.forEach((responseRecord) => {
6771
6783
  const duRecord = { __record__id__: responseRecord.id };
6772
6784
  responseRecord.fields.forEach(({ name, value }) => {
6773
6785
  duRecord[name] = dataUnit.valueFromString(name, value);
6774
6786
  });
6775
- dataUnitRecords.push(duRecord);
6787
+ records.push(duRecord);
6776
6788
  });
6777
- resolve(dataUnitRecords);
6789
+ resolve(Object.assign(Object.assign({}, pageResult), { records }));
6778
6790
  })
6779
6791
  .catch((error) => {
6780
6792
  reject(error);
@@ -6784,13 +6796,20 @@ class DataUnitFetcher {
6784
6796
  saveData(dataUnit, duChanges) {
6785
6797
  const changes = duChanges.map((change) => {
6786
6798
  const { dataUnit: changeDU, record, updatingFields, operation } = change;
6787
- const parsedUpdatingFields = Object.entries(updatingFields).map(([fieldName, value]) => {
6788
- return { fieldName, value: formatValueToServer(value) };
6789
- });
6790
- return { dataUnit: changeDU, updatingFields: parsedUpdatingFields, operation, recordId: record.__record__id__ };
6799
+ let parsedUpdatingFields;
6800
+ if (updatingFields) {
6801
+ parsedUpdatingFields = Object.entries(updatingFields).map(([fieldName, value]) => {
6802
+ return { fieldName, value: formatValueToServer(value) };
6803
+ });
6804
+ }
6805
+ const reqChange = { dataUnit: changeDU, updatingFields: parsedUpdatingFields, operation, recordId: record.__record__id__ };
6806
+ if (change.sourceId) {
6807
+ reqChange.sourceId = change.sourceId;
6808
+ }
6809
+ return reqChange;
6791
6810
  });
6792
6811
  return new Promise((resolve, reject) => {
6793
- HttpFetcher.get()
6812
+ DataFetcher.get()
6794
6813
  .callGraphQL({
6795
6814
  values: { changes: changes },
6796
6815
  query: this.templateByQuery.get("saveData"),
@@ -6819,7 +6838,7 @@ class DataUnitFetcher {
6819
6838
  return { dataUnit: dataUnit.name, operation: core.ChangeOperation.DELETE, recordId };
6820
6839
  });
6821
6840
  return new Promise((resolve, reject) => {
6822
- HttpFetcher.get()
6841
+ DataFetcher.get()
6823
6842
  .callGraphQL({
6824
6843
  values: { changes: changes },
6825
6844
  query: this.templateByQuery.get("saveData"),
@@ -6873,7 +6892,7 @@ class ParametersFetcher {
6873
6892
  }
6874
6893
  async getParam(name, resourceID) {
6875
6894
  const completPath = `param://${resourceID}?params=${window.btoa(name)}`;
6876
- return HttpFetcher.get().callGraphQL({
6895
+ return DataFetcher.get().callGraphQL({
6877
6896
  values: { name: completPath },
6878
6897
  query: this.templateByQuery.get("fetchParam"),
6879
6898
  });
@@ -6929,7 +6948,7 @@ class ResourceFetcher {
6929
6948
  }
6930
6949
  loadResource(name) {
6931
6950
  return new Promise((resolve, reject) => {
6932
- HttpFetcher.get()
6951
+ DataFetcher.get()
6933
6952
  .callGraphQL({
6934
6953
  values: { name },
6935
6954
  query: this.templateByQuery.get("fetchResource"),
@@ -6984,7 +7003,7 @@ class PesquisaFetcher {
6984
7003
  }
6985
7004
  loadSearchOptions(entityName, argument, criteria) {
6986
7005
  return new Promise((resolve, reject) => {
6987
- HttpFetcher.get()
7006
+ DataFetcher.get()
6988
7007
  .callGraphQL({
6989
7008
  values: { argument, entityName, criteria },
6990
7009
  query: this.templateByQuery.get("search"),
@@ -7028,7 +7047,7 @@ class PesquisaFetcher {
7028
7047
  }
7029
7048
  };
7030
7049
  return new Promise((resolve, reject) => {
7031
- HttpFetcher.get()
7050
+ DataFetcher.get()
7032
7051
  .callServiceBroker("PesquisaSP.getSuggestion", JSON.stringify(reqBody))
7033
7052
  .then(result => resolve(result))
7034
7053
  .catch(error => reject(error));
@@ -7216,6 +7235,7 @@ const SnkApplication = class {
7216
7235
  }
7217
7236
  }
7218
7237
  componentWillLoad() {
7238
+ core.ApplicationContext.setContextValue("__EZUI__UPLOAD__ADD__URL__", `${UrlUtils.getUrlBase()}/mge/ez.uploading`);
7219
7239
  core.ApplicationContext.setContextValue("__EZUI__SEARCH__OPTION__LOADER__", (searchArgument, fieldName, dataUnit) => {
7220
7240
  return this.executeSearch(searchArgument, fieldName, dataUnit);
7221
7241
  });
@@ -171,6 +171,7 @@ export class SnkApplication {
171
171
  }
172
172
  }
173
173
  componentWillLoad() {
174
+ ApplicationContext.setContextValue("__EZUI__UPLOAD__ADD__URL__", `${UrlUtils.getUrlBase()}/mge/ez.uploading`);
174
175
  ApplicationContext.setContextValue("__EZUI__SEARCH__OPTION__LOADER__", (searchArgument, fieldName, dataUnit) => {
175
176
  return this.executeSearch(searchArgument, fieldName, dataUnit);
176
177
  });
@@ -1,19 +1,19 @@
1
1
  import { batchRequests } from 'graphql-request';
2
2
  import UrlUtils from "../../../lib/utils/urlutils";
3
- export class HttpFetcher {
3
+ export class DataFetcher {
4
4
  constructor() {
5
5
  this.watingRequestsById = new Map();
6
6
  }
7
7
  static get() {
8
- if (!HttpFetcher.instance) {
9
- HttpFetcher.instance = new HttpFetcher();
8
+ if (!DataFetcher.instance) {
9
+ DataFetcher.instance = new DataFetcher();
10
10
  const application = document.querySelector(this.appTagName);
11
11
  if (application === null) {
12
- HttpFetcher.instance.resume();
12
+ DataFetcher.instance.resume();
13
13
  }
14
14
  else {
15
- application.addEventListener('applicationLoading', () => HttpFetcher.instance.pause());
16
- application.addEventListener('applicationLoaded', () => HttpFetcher.instance.resume());
15
+ application.addEventListener('applicationLoading', () => DataFetcher.instance.pause());
16
+ application.addEventListener('applicationLoaded', () => DataFetcher.instance.resume());
17
17
  }
18
18
  }
19
19
  return this.instance;
@@ -47,8 +47,6 @@ export class HttpFetcher {
47
47
  }
48
48
  }
49
49
  resolveURL() {
50
- if (window['mock_url'])
51
- return window['mock_url'];
52
50
  return UrlUtils.getUrlBase();
53
51
  }
54
52
  getContext() {
@@ -140,7 +138,7 @@ export class HttpFetcher {
140
138
  let dataResponse = [];
141
139
  let errorsResponse = [];
142
140
  try {
143
- res = await batchRequests('http://localhost:8082/', request);
141
+ res = await batchRequests(this.resolveURL(), request);
144
142
  res.forEach((resItem) => {
145
143
  dataResponse.push(resItem.data);
146
144
  });
@@ -178,7 +176,7 @@ export class HttpFetcher {
178
176
  }
179
177
  ;
180
178
  }
181
- HttpFetcher.appTagName = "snk-application";
179
+ DataFetcher.appTagName = "snk-application";
182
180
  class WaitingRequest {
183
181
  constructor(req) {
184
182
  this._resolve = () => { };
@@ -1,5 +1,5 @@
1
1
  import { gql } from "graphql-request";
2
- import { HttpFetcher } from "../DataFetcher";
2
+ import { DataFetcher } from "../DataFetcher";
3
3
  export default class ApplicationConfigFetcher {
4
4
  constructor() {
5
5
  this.templateByQuery = new Map();
@@ -15,7 +15,7 @@ export default class ApplicationConfigFetcher {
15
15
  }
16
16
  getResource(name, resourceID) {
17
17
  const completPath = `cfg://app/${resourceID}/${name}`;
18
- return HttpFetcher.get().callGraphQL({
18
+ return DataFetcher.get().callGraphQL({
19
19
  values: { name: completPath },
20
20
  query: this.templateByQuery.get("getResource"),
21
21
  });
@@ -1,5 +1,5 @@
1
- import { DataUnit, ChangeOperation, } from "@sankhyalabs/core";
2
- import { HttpFetcher } from "../DataFetcher";
1
+ import { DataUnit, ChangeOperation, StringUtils, } from "@sankhyalabs/core";
2
+ import { DataFetcher } from "../DataFetcher";
3
3
  import { gql } from "graphql-request";
4
4
  export default class DataUnitFetcher {
5
5
  constructor() {
@@ -31,10 +31,10 @@ export default class DataUnitFetcher {
31
31
  }
32
32
  }
33
33
  }`);
34
- this.templateByQuery.set("fetchData", gql `query($dataunit: String! $first: Int $offset:Int $filter: [Filter!] $sort: [Sort!]) {
34
+ this.templateByQuery.set("fetchData", gql `query($dataunit: String! $limit: Int $offset:Int $filter: [Filter!] $sort: [Sort!]) {
35
35
  $queryAlias$: fetchDataUnit(name: $dataunit){
36
- data(first: $first offset: $offset filters: $filter sort: $sort){
37
- first
36
+ data(limit: $limit offset: $offset filters: $filter sort: $sort){
37
+ limit
38
38
  offset
39
39
  total
40
40
  hasMore
@@ -62,14 +62,14 @@ export default class DataUnitFetcher {
62
62
  getDataUnit(entityName, resourceID) {
63
63
  const dataUnit = new DataUnit(`dd://${entityName}/${resourceID}`);
64
64
  dataUnit.metadataLoader = (dataUnit) => this.loadMetadata(dataUnit);
65
- dataUnit.dataLoader = (dataUnit, sort, filters) => this.loadData(dataUnit, sort, filters);
65
+ dataUnit.dataLoader = (dataUnit, page, sort, filters) => this.loadData(dataUnit, page, sort, filters);
66
66
  dataUnit.saveLoader = (dataUnit, changes) => this.saveData(dataUnit, changes);
67
67
  dataUnit.removeLoader = (dataUnit, recordIds) => this.removeRecords(dataUnit, recordIds);
68
68
  return dataUnit;
69
69
  }
70
70
  loadMetadata(dataUnit) {
71
71
  return new Promise((resolve, reject) => {
72
- HttpFetcher.get()
72
+ DataFetcher.get()
73
73
  .callGraphQL({
74
74
  values: { name: dataUnit.name },
75
75
  query: this.templateByQuery.get("fetchDataUnit"),
@@ -96,24 +96,36 @@ export default class DataUnitFetcher {
96
96
  });
97
97
  });
98
98
  }
99
- loadData(dataUnit, sort, filters) {
99
+ loadData(dataUnit, page, sort, filters) {
100
100
  return new Promise((resolve, reject) => {
101
- HttpFetcher.get()
101
+ const variables = { dataunit: dataUnit.name, sort, filters };
102
+ if (page) {
103
+ variables.limit = page.limit;
104
+ variables.offset = page.offset;
105
+ }
106
+ if (!StringUtils.isEmpty(page === null || page === void 0 ? void 0 : page.quickFilter)) {
107
+ variables.filter = [{
108
+ name: "__ALL_SEARCHABLE_FIELDS__",
109
+ expression: "__ALL_SEARCHABLE_FIELDS__",
110
+ params: [{ name: "term", value: page.quickFilter }]
111
+ }];
112
+ }
113
+ DataFetcher.get()
102
114
  .callGraphQL({
103
- values: { dataunit: dataUnit.name, sort, filters },
115
+ values: variables,
104
116
  query: this.templateByQuery.get("fetchData"),
105
117
  })
106
118
  .then((resp) => {
107
- const result = resp.data;
108
- const dataUnitRecords = [];
109
- result.records.forEach((responseRecord) => {
119
+ const pageResult = resp.data;
120
+ const records = [];
121
+ pageResult.records.forEach((responseRecord) => {
110
122
  const duRecord = { __record__id__: responseRecord.id };
111
123
  responseRecord.fields.forEach(({ name, value }) => {
112
124
  duRecord[name] = dataUnit.valueFromString(name, value);
113
125
  });
114
- dataUnitRecords.push(duRecord);
126
+ records.push(duRecord);
115
127
  });
116
- resolve(dataUnitRecords);
128
+ resolve(Object.assign(Object.assign({}, pageResult), { records }));
117
129
  })
118
130
  .catch((error) => {
119
131
  reject(error);
@@ -123,13 +135,20 @@ export default class DataUnitFetcher {
123
135
  saveData(dataUnit, duChanges) {
124
136
  const changes = duChanges.map((change) => {
125
137
  const { dataUnit: changeDU, record, updatingFields, operation } = change;
126
- const parsedUpdatingFields = Object.entries(updatingFields).map(([fieldName, value]) => {
127
- return { fieldName, value: formatValueToServer(value) };
128
- });
129
- return { dataUnit: changeDU, updatingFields: parsedUpdatingFields, operation, recordId: record.__record__id__ };
138
+ let parsedUpdatingFields;
139
+ if (updatingFields) {
140
+ parsedUpdatingFields = Object.entries(updatingFields).map(([fieldName, value]) => {
141
+ return { fieldName, value: formatValueToServer(value) };
142
+ });
143
+ }
144
+ const reqChange = { dataUnit: changeDU, updatingFields: parsedUpdatingFields, operation, recordId: record.__record__id__ };
145
+ if (change.sourceId) {
146
+ reqChange.sourceId = change.sourceId;
147
+ }
148
+ return reqChange;
130
149
  });
131
150
  return new Promise((resolve, reject) => {
132
- HttpFetcher.get()
151
+ DataFetcher.get()
133
152
  .callGraphQL({
134
153
  values: { changes: changes },
135
154
  query: this.templateByQuery.get("saveData"),
@@ -158,7 +177,7 @@ export default class DataUnitFetcher {
158
177
  return { dataUnit: dataUnit.name, operation: ChangeOperation.DELETE, recordId };
159
178
  });
160
179
  return new Promise((resolve, reject) => {
161
- HttpFetcher.get()
180
+ DataFetcher.get()
162
181
  .callGraphQL({
163
182
  values: { changes: changes },
164
183
  query: this.templateByQuery.get("saveData"),
@@ -1,6 +1,6 @@
1
1
  import { gql } from "graphql-request";
2
2
  import { DateUtils, StringUtils } from "@sankhyalabs/core";
3
- import { HttpFetcher } from "../DataFetcher";
3
+ import { DataFetcher } from "../DataFetcher";
4
4
  export default class ParametersFetcher {
5
5
  constructor() {
6
6
  this.templateByQuery = new Map();
@@ -16,7 +16,7 @@ export default class ParametersFetcher {
16
16
  }
17
17
  async getParam(name, resourceID) {
18
18
  const completPath = `param://${resourceID}?params=${window.btoa(name)}`;
19
- return HttpFetcher.get().callGraphQL({
19
+ return DataFetcher.get().callGraphQL({
20
20
  values: { name: completPath },
21
21
  query: this.templateByQuery.get("fetchParam"),
22
22
  });
@@ -1,6 +1,6 @@
1
1
  import { DataType } from "@sankhyalabs/core";
2
2
  import { gql } from "graphql-request";
3
- import { HttpFetcher } from "../DataFetcher";
3
+ import { DataFetcher } from "../DataFetcher";
4
4
  export class PesquisaFetcher {
5
5
  constructor() {
6
6
  this.templateByQuery = new Map();
@@ -16,7 +16,7 @@ export class PesquisaFetcher {
16
16
  }
17
17
  loadSearchOptions(entityName, argument, criteria) {
18
18
  return new Promise((resolve, reject) => {
19
- HttpFetcher.get()
19
+ DataFetcher.get()
20
20
  .callGraphQL({
21
21
  values: { argument, entityName, criteria },
22
22
  query: this.templateByQuery.get("search"),
@@ -60,7 +60,7 @@ export class PesquisaFetcher {
60
60
  }
61
61
  };
62
62
  return new Promise((resolve, reject) => {
63
- HttpFetcher.get()
63
+ DataFetcher.get()
64
64
  .callServiceBroker("PesquisaSP.getSuggestion", JSON.stringify(reqBody))
65
65
  .then(result => resolve(result))
66
66
  .catch(error => reject(error));
@@ -1,5 +1,5 @@
1
1
  import { gql } from "graphql-request";
2
- import { HttpFetcher } from "../DataFetcher";
2
+ import { DataFetcher } from "../DataFetcher";
3
3
  export class ResourceFetcher {
4
4
  constructor() {
5
5
  this.templateByQuery = new Map();
@@ -14,7 +14,7 @@ export class ResourceFetcher {
14
14
  }
15
15
  loadResource(name) {
16
16
  return new Promise((resolve, reject) => {
17
- HttpFetcher.get()
17
+ DataFetcher.get()
18
18
  .callGraphQL({
19
19
  values: { name },
20
20
  query: this.templateByQuery.get("fetchResource"),
@@ -18,6 +18,8 @@ export default class UrlUtils {
18
18
  return params;
19
19
  }
20
20
  static getUrlBase() {
21
+ if (window['mock_url'])
22
+ return window['mock_url'];
21
23
  return `${location.protocol}"//"${location.hostname}${location.port ? ":" + location.port : ""}`;
22
24
  }
23
25
  }