@genesislcap/foundation-comms 14.102.0 → 14.103.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -5,8 +5,34 @@
5
5
  *
6
6
  * @public
7
7
  * @remarks
8
- * For filtering REQUEST_SERVER resources. Maps concatenated criteria filters from a grid to a request fields object,
9
- * eg: `foo == 'bar' && asd == 'zxc', into { foo: 'bar', asd: 'zxc' }`
8
+ * For filtering REQUEST_SERVER resources. Maps concatenated criteria filters
9
+ * from a grid to a request fields object. Date/datetime groovy expressions will
10
+ * append `_FROM` and `_TO` onto field names appropriately
11
+ *
12
+ * eg: converts
13
+ *
14
+ * ```
15
+ * foo == 'bar' &&
16
+ * asd == 'zxc' &&
17
+ * Expr.containsIgnoreCase(FIELD, 'abc') &&
18
+ * Expr.dateIsToday(DATE) &&
19
+ * Expr.dateTimeIsGreaterEqual(DATETIME, '20231110-03:23') &&
20
+ * Expr.dateTimeIsLessEqual(DATETIME, '20231115-03:23')
21
+ * ```
22
+ *
23
+ * into
24
+ *
25
+ * ```
26
+ * {
27
+ * foo: 'bar',
28
+ * asd: 'zxc',
29
+ * FIELD: '*abc*',
30
+ * DATE_FROM: '20231110-00:00',
31
+ * DATE_TO: '20231111-00:00',
32
+ * DATETIME_FROM: '20231110-03:23',
33
+ * DATETIME_TO: '20231115-03:23',
34
+ * }
35
+ * ```
10
36
  */
11
37
  export declare function criteriaFiltersToFields(filters: string): Record<string, string>;
12
38
  //# sourceMappingURL=criteriaFiltersToFields.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"criteriaFiltersToFields.d.ts","sourceRoot":"","sources":["../../../src/datasource/criteriaFiltersToFields.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAY/E"}
1
+ {"version":3,"file":"criteriaFiltersToFields.d.ts","sourceRoot":"","sources":["../../../src/datasource/criteriaFiltersToFields.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAoD/E"}
@@ -1 +1 @@
1
- {"version":3,"file":"datasource.d.ts","sourceRoot":"","sources":["../../../src/datasource/datasource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"datasource.d.ts","sourceRoot":"","sources":["../../../src/datasource/datasource.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,KAAK,EACV,aAAa,EACb,wBAAwB,EACxB,WAAW,EACX,cAAc,EAEd,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AAKpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAsB,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAExF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,gBAcrC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,aAAa,EAAE,aAAa,EAAE,CAAC;IAE/B;;;;OAIG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,YAAY,EAAE,YAAY,CAAC;IAE3B;;;OAGG;IACH,MAAM,EAAE,gBAAgB,CAAC,wBAAwB,GAAG,mBAAmB,CAAC,CAAC;IAEzE;;;OAGG;IACH,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;IAEjD;;;;;;OAMG;IACH,IAAI,CAAC,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEvE;;;;OAIG;IACH,MAAM,QAAG;IAET;;;;;OAKG;IACH,WAAW,CAAC,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;IAElE;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,OAAE;IAEvB;;;;OAIG;IACH,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,OAAE;IAEjC;;;;;OAKG;IACH,UAAU,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7C;;;;;OAKG;IACH,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAE3C;;;;OAIG;IACH,OAAO,CAAC,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IAE/B;;;;OAIG;IACH,QAAQ,CAAC,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IAEhC;;;;;;;OAOG;IACH,SAAS,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnE;;;;;OAKG;IACH,WAAW,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1C;;;;;OAKG;IACH,UAAU,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAExC;;;;;OAKG;IACH,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3C;;;;;;OAMG;IACH,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvD;AAED;;;GAGG;AACH,qBAAa,iBAAkB,YAAW,UAAU;IAiBvC,SAAS,CAAC,OAAO,EAAE,OAAO;IAC7B,SAAS,CAAC,IAAI,EAAE,IAAI;IACE,SAAS,CAAC,MAAM;IAjBvC,WAAW,UAAS;IAGpB,QAAQ,UAAQ;IAEvB,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC;IAC9B,YAAY,EAAE,YAAY,CAAC;IAClC,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAC,wBAAwB,GAAG,mBAAmB,CAAC,CAAC;IAEpF,SAAS,CAAC,gBAAgB,EAAE,cAAc,EAAE,CAAM;IAClD,SAAS,CAAC,aAAa,EAAE,cAAc,EAAE,CAAM;IACxC,aAAa,EAAE,aAAa,EAAE,CAAM;IAC3C,SAAS,CAAC,gBAAgB,EAAE,WAAW,EAAE,CAAM;gBAG1B,OAAO,EAAE,OAAO,EACnB,IAAI,EAAE,IAAI,EACY,MAAM,mBAA0B;IAGjE,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IAOjD,IAAI,CAAC,OAAO,EAAE,iBAAiB,EAAE,SAAS,GAAE,OAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAqCnF,MAAM;IAUN,IACI,MAAM,IAAI,gBAAgB,CAAC,wBAAwB,GAAG,mBAAmB,CAAC,CAE7E;IAED,IAAI,MAAM,QA4BT;IAEK,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IA2B5B,gBAAgB,CAAC,KAAK,GAAE,MAAkB;YAYlC,YAAY;YAeZ,sBAAsB;IAMpC,OAAO,CAAC,kBAAkB;CAY3B;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,kEAAwE,CAAC"}
@@ -75,6 +75,10 @@ export interface DatasourceOptions {
75
75
  * @remarks in milliseconds
76
76
  */
77
77
  pollingInterval?: number;
78
+ /**
79
+ * Whether to disable polling when using request/reply
80
+ */
81
+ disablePolling?: boolean;
78
82
  /**
79
83
  * The field to use for sorting the data.
80
84
  */
@@ -1 +1 @@
1
- {"version":3,"file":"datasource.types.d.ts","sourceRoot":"","sources":["../../../src/datasource/datasource.types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,wBAAwB,EACxB,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AAEpC;;;GAGG;AACH,oBAAY,YAAY;IACtB,UAAU,eAAe;IACzB,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACjB,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C;;OAEG;IACH,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ;;OAEG;IACH,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;IAClC;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,GAAG,CAAC;IACd;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,MAAM,CAAC,QAAQ,CAAC,YAAY,OAAO;IACnC,MAAM,CAAC,QAAQ,CAAC,aAAa,QAAQ;IACrC,MAAM,CAAC,QAAQ,CAAC,2BAA2B,SAAS;IACpD,MAAM,CAAC,QAAQ,CAAC,iBAAiB,aAAa;IAC9C,MAAM,CAAC,QAAQ,CAAC,qBAAqB,eAAe;CACrD;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1D,sBAAsB,CAAC,MAAM,EAAE,mBAAmB,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,wBAAwB,CAAC;CAC/F;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,wEAAyC,CAAC"}
1
+ {"version":3,"file":"datasource.types.d.ts","sourceRoot":"","sources":["../../../src/datasource/datasource.types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,wBAAwB,EACxB,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AAEpC;;;GAGG;AACH,oBAAY,YAAY;IACtB,UAAU,eAAe;IACzB,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACjB,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C;;OAEG;IACH,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ;;OAEG;IACH,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;IAClC;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,GAAG,CAAC;IACd;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,MAAM,CAAC,QAAQ,CAAC,YAAY,OAAO;IACnC,MAAM,CAAC,QAAQ,CAAC,aAAa,QAAQ;IACrC,MAAM,CAAC,QAAQ,CAAC,2BAA2B,SAAS;IACpD,MAAM,CAAC,QAAQ,CAAC,iBAAiB,aAAa;IAC9C,MAAM,CAAC,QAAQ,CAAC,qBAAqB,eAAe;CACrD;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1D,sBAAsB,CAAC,MAAM,EAAE,mBAAmB,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,wBAAwB,CAAC;CAC/F;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,wEAAyC,CAAC"}
@@ -5,19 +5,82 @@
5
5
  *
6
6
  * @public
7
7
  * @remarks
8
- * For filtering REQUEST_SERVER resources. Maps concatenated criteria filters from a grid to a request fields object,
9
- * eg: `foo == 'bar' && asd == 'zxc', into { foo: 'bar', asd: 'zxc' }`
8
+ * For filtering REQUEST_SERVER resources. Maps concatenated criteria filters
9
+ * from a grid to a request fields object. Date/datetime groovy expressions will
10
+ * append `_FROM` and `_TO` onto field names appropriately
11
+ *
12
+ * eg: converts
13
+ *
14
+ * ```
15
+ * foo == 'bar' &&
16
+ * asd == 'zxc' &&
17
+ * Expr.containsIgnoreCase(FIELD, 'abc') &&
18
+ * Expr.dateIsToday(DATE) &&
19
+ * Expr.dateTimeIsGreaterEqual(DATETIME, '20231110-03:23') &&
20
+ * Expr.dateTimeIsLessEqual(DATETIME, '20231115-03:23')
21
+ * ```
22
+ *
23
+ * into
24
+ *
25
+ * ```
26
+ * {
27
+ * foo: 'bar',
28
+ * asd: 'zxc',
29
+ * FIELD: '*abc*',
30
+ * DATE_FROM: '20231110-00:00',
31
+ * DATE_TO: '20231111-00:00',
32
+ * DATETIME_FROM: '20231110-03:23',
33
+ * DATETIME_TO: '20231115-03:23',
34
+ * }
35
+ * ```
10
36
  */
11
37
  export function criteriaFiltersToFields(filters) {
12
38
  const criteria = filters.split('&&').map((s) => s.trim());
13
39
  const reqFields = {};
14
40
  criteria.forEach((c) => {
15
- const key = c.substr(0, c.indexOf('=')).trim().replace(/["']/g, '');
16
- const val = c
17
- .substr(c.lastIndexOf('=') + 1, c.length)
18
- .trim()
19
- .replace(/["']/g, '');
20
- reqFields[key] = val;
41
+ if (c.startsWith('Expr')) {
42
+ switch (c.match(/Expr\.(\w+)\(/)[1]) {
43
+ case 'dateIsToday':
44
+ {
45
+ const fieldNameMatcher = /Expr\.dateIsToday\((\w+)\)/;
46
+ const [, fieldName] = c.match(fieldNameMatcher);
47
+ const date = new Date();
48
+ reqFields[`${fieldName}_FROM`] = `${date.toISOString().replace(/-/g, '').split('T')[0]}-00:00`;
49
+ date.setDate(date.getDate() + 1);
50
+ reqFields[`${fieldName}_TO`] = `${date.toISOString().replace(/-/g, '').split('T')[0]}-00:00`;
51
+ }
52
+ break;
53
+ case 'dateTimeIsGreaterEqual':
54
+ {
55
+ const fieldNameValueMatcher = /Expr\.dateTimeIsGreaterEqual\((\w+), ?['"](.+)['"]\)/;
56
+ const [, fieldName, value] = c.match(fieldNameValueMatcher);
57
+ reqFields[`${fieldName}_FROM`] = value;
58
+ }
59
+ break;
60
+ case 'dateTimeIsLessEqual':
61
+ {
62
+ const fieldNameValueMatcher = /Expr\.dateTimeIsLessEqual\((\w+), ?['"](.+)['"]\)/;
63
+ const [, fieldName, value] = c.match(fieldNameValueMatcher);
64
+ reqFields[`${fieldName}_TO`] = value;
65
+ }
66
+ break;
67
+ case 'containsIgnoreCase':
68
+ {
69
+ const fieldNameValueMatcher = /Expr\.containsIgnoreCase\((\w+), ?['"](.+)['"]\)/;
70
+ const [, fieldName, value] = c.match(fieldNameValueMatcher);
71
+ reqFields[fieldName] = `*${value}*`;
72
+ }
73
+ break;
74
+ }
75
+ }
76
+ else {
77
+ const key = c.substr(0, c.indexOf('=')).trim().replace(/["']/g, '');
78
+ const val = c
79
+ .substr(c.lastIndexOf('=') + 1, c.length)
80
+ .trim()
81
+ .replace(/["']/g, '');
82
+ reqFields[key] = val;
83
+ }
21
84
  });
22
85
  return reqFields;
23
86
  }
@@ -103,6 +103,7 @@ let DefaultDatasource = class DefaultDatasource {
103
103
  MAX_VIEW: this.options.maxView,
104
104
  MOVING_VIEW: this.options.movingView,
105
105
  POLLING_INTERVAL: this.options.pollingInterval,
106
+ DISABLE_POLLING: this.options.disablePolling,
106
107
  REQUEST: this.options.request,
107
108
  REVERSE: this.options.reverse,
108
109
  };
@@ -173,7 +174,7 @@ let DefaultDatasource = class DefaultDatasource {
173
174
  });
174
175
  }
175
176
  createReqRepStream() {
176
- return timer(0, this.params.POLLING_INTERVAL).pipe(switchMap(() => {
177
+ return timer(0, this.params.DISABLE_POLLING ? undefined : this.params.POLLING_INTERVAL).pipe(switchMap(() => {
177
178
  // Combine the isConnected status with the isLoggedIn status
178
179
  return combineLatest([this.connect.isConnected$, this.auth.isLoggedIn$]).pipe(
179
180
  // Use takeWhile to continue polling until isConnected becomes false or isLoggedIn becomes false
@@ -3223,7 +3223,7 @@
3223
3223
  {
3224
3224
  "kind": "Function",
3225
3225
  "canonicalReference": "@genesislcap/foundation-comms!criteriaFiltersToFields:function(1)",
3226
- "docComment": "/**\n * Criteria filters to fields.\n *\n * @remarks\n *\n * For filtering REQUEST_SERVER resources. Maps concatenated criteria filters from a grid to a request fields object, eg: `foo == 'bar' && asd == 'zxc', into { foo: 'bar', asd: 'zxc' }`\n *\n * @param filters - Concatenated criteria filters.\n *\n * @public\n */\n",
3226
+ "docComment": "/**\n * Criteria filters to fields.\n *\n * @remarks\n *\n * For filtering REQUEST_SERVER resources. Maps concatenated criteria filters from a grid to a request fields object. Date/datetime groovy expressions will append `_FROM` and `_TO` onto field names appropriately\n *\n * eg: converts\n * ```\n * foo == 'bar' &&\n * asd == 'zxc' &&\n * Expr.containsIgnoreCase(FIELD, 'abc') &&\n * Expr.dateIsToday(DATE) &&\n * Expr.dateTimeIsGreaterEqual(DATETIME, '20231110-03:23') &&\n * Expr.dateTimeIsLessEqual(DATETIME, '20231115-03:23')\n * ```\n *\n * into\n * ```\n * {\n * foo: 'bar',\n * asd: 'zxc',\n * FIELD: '*abc*',\n * DATE_FROM: '20231110-00:00',\n * DATE_TO: '20231111-00:00',\n * DATETIME_FROM: '20231110-03:23',\n * DATETIME_TO: '20231115-03:23',\n * }\n * ```\n *\n * @param filters - Concatenated criteria filters.\n *\n * @public\n */\n",
3227
3227
  "excerptTokens": [
3228
3228
  {
3229
3229
  "kind": "Content",
@@ -4996,6 +4996,33 @@
4996
4996
  "endIndex": 2
4997
4997
  }
4998
4998
  },
4999
+ {
5000
+ "kind": "PropertySignature",
5001
+ "canonicalReference": "@genesislcap/foundation-comms!DatasourceOptions#disablePolling:member",
5002
+ "docComment": "/**\n * Whether to disable polling when using request/reply\n */\n",
5003
+ "excerptTokens": [
5004
+ {
5005
+ "kind": "Content",
5006
+ "text": "disablePolling?: "
5007
+ },
5008
+ {
5009
+ "kind": "Content",
5010
+ "text": "boolean"
5011
+ },
5012
+ {
5013
+ "kind": "Content",
5014
+ "text": ";"
5015
+ }
5016
+ ],
5017
+ "isReadonly": false,
5018
+ "isOptional": true,
5019
+ "releaseTag": "Public",
5020
+ "name": "disablePolling",
5021
+ "propertyTypeTokenRange": {
5022
+ "startIndex": 1,
5023
+ "endIndex": 2
5024
+ }
5025
+ },
4999
5026
  {
5000
5027
  "kind": "PropertySignature",
5001
5028
  "canonicalReference": "@genesislcap/foundation-comms!DatasourceOptions#fields:member",
@@ -592,8 +592,34 @@ export declare const credentialSeparator = ":";
592
592
  *
593
593
  * @public
594
594
  * @remarks
595
- * For filtering REQUEST_SERVER resources. Maps concatenated criteria filters from a grid to a request fields object,
596
- * eg: `foo == 'bar' && asd == 'zxc', into { foo: 'bar', asd: 'zxc' }`
595
+ * For filtering REQUEST_SERVER resources. Maps concatenated criteria filters
596
+ * from a grid to a request fields object. Date/datetime groovy expressions will
597
+ * append `_FROM` and `_TO` onto field names appropriately
598
+ *
599
+ * eg: converts
600
+ *
601
+ * ```
602
+ * foo == 'bar' &&
603
+ * asd == 'zxc' &&
604
+ * Expr.containsIgnoreCase(FIELD, 'abc') &&
605
+ * Expr.dateIsToday(DATE) &&
606
+ * Expr.dateTimeIsGreaterEqual(DATETIME, '20231110-03:23') &&
607
+ * Expr.dateTimeIsLessEqual(DATETIME, '20231115-03:23')
608
+ * ```
609
+ *
610
+ * into
611
+ *
612
+ * ```
613
+ * {
614
+ * foo: 'bar',
615
+ * asd: 'zxc',
616
+ * FIELD: '*abc*',
617
+ * DATE_FROM: '20231110-00:00',
618
+ * DATE_TO: '20231111-00:00',
619
+ * DATETIME_FROM: '20231110-03:23',
620
+ * DATETIME_TO: '20231115-03:23',
621
+ * }
622
+ * ```
597
623
  */
598
624
  export declare function criteriaFiltersToFields(filters: string): Record<string, string>;
599
625
 
@@ -866,6 +892,10 @@ export declare interface DatasourceOptions {
866
892
  * @remarks in milliseconds
867
893
  */
868
894
  pollingInterval?: number;
895
+ /**
896
+ * Whether to disable polling when using request/reply
897
+ */
898
+ disablePolling?: boolean;
869
899
  /**
870
900
  * The field to use for sorting the data.
871
901
  */
@@ -24,5 +24,29 @@ Record&lt;string, string&gt;
24
24
 
25
25
  ## Remarks
26
26
 
27
- For filtering REQUEST\_SERVER resources. Maps concatenated criteria filters from a grid to a request fields object, eg: `foo == 'bar' && asd == 'zxc', into { foo: 'bar', asd: 'zxc' }`
27
+ For filtering REQUEST\_SERVER resources. Maps concatenated criteria filters from a grid to a request fields object. Date/datetime groovy expressions will append `_FROM` and `_TO` onto field names appropriately
28
+
29
+ eg: converts
30
+
31
+ ```
32
+ foo == 'bar' &&
33
+ asd == 'zxc' &&
34
+ Expr.containsIgnoreCase(FIELD, 'abc') &&
35
+ Expr.dateIsToday(DATE) &&
36
+ Expr.dateTimeIsGreaterEqual(DATETIME, '20231110-03:23') &&
37
+ Expr.dateTimeIsLessEqual(DATETIME, '20231115-03:23')
38
+ ```
39
+ into
40
+
41
+ ```
42
+ {
43
+ foo: 'bar',
44
+ asd: 'zxc',
45
+ FIELD: '*abc*',
46
+ DATE_FROM: '20231110-00:00',
47
+ DATE_TO: '20231111-00:00',
48
+ DATETIME_FROM: '20231110-03:23',
49
+ DATETIME_TO: '20231115-03:23',
50
+ }
51
+ ```
28
52
 
@@ -0,0 +1,13 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-comms](./foundation-comms.md) &gt; [DatasourceOptions](./foundation-comms.datasourceoptions.md) &gt; [disablePolling](./foundation-comms.datasourceoptions.disablepolling.md)
4
+
5
+ ## DatasourceOptions.disablePolling property
6
+
7
+ Whether to disable polling when using request/reply
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ disablePolling?: boolean;
13
+ ```
@@ -17,6 +17,7 @@ export interface DatasourceOptions
17
17
  | Property | Modifiers | Type | Description |
18
18
  | --- | --- | --- | --- |
19
19
  | [criteria?](./foundation-comms.datasourceoptions.criteria.md) | | string | _(Optional)_ The criteria used to filter data in the datasource. |
20
+ | [disablePolling?](./foundation-comms.datasourceoptions.disablepolling.md) | | boolean | _(Optional)_ Whether to disable polling when using request/reply |
20
21
  | [fields?](./foundation-comms.datasourceoptions.fields.md) | | string | _(Optional)_ The fields to include in the returned data. |
21
22
  | [isSnapshot?](./foundation-comms.datasourceoptions.issnapshot.md) | | boolean | _(Optional)_ Whether the datasource is a snapshot or not. |
22
23
  | [maxRows?](./foundation-comms.datasourceoptions.maxrows.md) | | number | _(Optional)_ The maximum number of rows to return from the datasource. |
@@ -430,6 +430,7 @@ export class DatasourceMock implements Datasource {
430
430
  // @public
431
431
  export interface DatasourceOptions {
432
432
  criteria?: string;
433
+ disablePolling?: boolean;
433
434
  fields?: string;
434
435
  isSnapshot?: boolean;
435
436
  maxRows?: number;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/foundation-comms",
3
3
  "description": "Genesis Foundation UI Comms",
4
- "version": "14.102.0",
4
+ "version": "14.103.0",
5
5
  "sideEffects": false,
6
6
  "license": "SEE LICENSE IN license.txt",
7
7
  "main": "dist/esm/index.js",
@@ -59,8 +59,8 @@
59
59
  "test:debug": "genx test --debug"
60
60
  },
61
61
  "devDependencies": {
62
- "@genesislcap/foundation-testing": "14.102.0",
63
- "@genesislcap/genx": "14.102.0",
62
+ "@genesislcap/foundation-testing": "14.103.0",
63
+ "@genesislcap/genx": "14.103.0",
64
64
  "@types/js-cookie": "^3.0.2",
65
65
  "@types/json-schema": "^7.0.11",
66
66
  "@types/webappsec-credential-management": "^0.6.2",
@@ -68,8 +68,8 @@
68
68
  },
69
69
  "dependencies": {
70
70
  "@finos/fdc3": "^1.2.0",
71
- "@genesislcap/foundation-logger": "14.102.0",
72
- "@genesislcap/foundation-utils": "14.102.0",
71
+ "@genesislcap/foundation-logger": "14.103.0",
72
+ "@genesislcap/foundation-utils": "14.103.0",
73
73
  "@microsoft/fast-element": "^1.7.0",
74
74
  "@microsoft/fast-foundation": "^2.33.2",
75
75
  "analytics": "^0.8.0",
@@ -86,5 +86,5 @@
86
86
  "publishConfig": {
87
87
  "access": "public"
88
88
  },
89
- "gitHead": "8e85c441c245f1c0dd6eae41f25d2c3059f53a17"
89
+ "gitHead": "a2f0a1825fe66db9433563c30c256414762f4155"
90
90
  }