@j2inn/resolvable-ui-elements 0.0.1-react.18 → 0.0.2-beta.1

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 (67) hide show
  1. package/README.md +22 -22
  2. package/dist/index.d.ts +2 -2
  3. package/dist/index.js.map +1 -1
  4. package/dist/resolvableElements/Resolver.d.ts +4 -1
  5. package/dist/resolvableElements/Resolver.js +5 -2
  6. package/dist/resolvableElements/Resolver.js.map +1 -1
  7. package/dist/resolvableElements/elements/ResolvableElement.js +1 -1
  8. package/dist/resolvableElements/elements/ResolvableElement.js.map +1 -1
  9. package/dist/resolvableElements/elements/ResolvableValueElement.d.ts +2 -0
  10. package/dist/resolvableElements/elements/ResolvableValueElement.js +13 -0
  11. package/dist/resolvableElements/elements/ResolvableValueElement.js.map +1 -1
  12. package/dist/resolvableElements/elements/UiElement.d.ts +7 -16
  13. package/dist/resolvableElements/elements/UiElement.js +23 -20
  14. package/dist/resolvableElements/elements/UiElement.js.map +1 -1
  15. package/dist/resolvableElements/elements/expr/ResolvableExprElement.js.map +1 -1
  16. package/dist/resolvableElements/elements/function/FunctionElement.js.map +1 -1
  17. package/dist/resolvableElements/elements/list/ResolvableListElement.js +1 -1
  18. package/dist/resolvableElements/elements/list/ResolvableListElement.js.map +1 -1
  19. package/dist/resolvableElements/elements/section/ResolvableSectionElement.d.ts +5 -2
  20. package/dist/resolvableElements/elements/section/ResolvableSectionElement.js +27 -14
  21. package/dist/resolvableElements/elements/section/ResolvableSectionElement.js.map +1 -1
  22. package/dist/resolvableElements/elements/section/SectionElementMeta.d.ts +10 -1
  23. package/dist/resolvableElements/elements/section/SectionElementMeta.js.map +1 -1
  24. package/dist/resolvableElements/elements/tag/ResolvableTagElement.js +1 -1
  25. package/dist/resolvableElements/elements/tag/ResolvableTagElement.js.map +1 -1
  26. package/dist/resolvableElements/interfacesGeneration/generateInterfaces.d.ts +14 -0
  27. package/dist/resolvableElements/interfacesGeneration/generateInterfaces.js +41 -26
  28. package/dist/resolvableElements/interfacesGeneration/generateInterfaces.js.map +1 -1
  29. package/dist/resolvableElements/react/useResolveSection.d.ts +2 -2
  30. package/dist/resolvableElements/react/useResolveSection.js.map +1 -1
  31. package/dist/resolvableElements/react/useResolverContext.d.ts +5 -1
  32. package/dist/resolvableElements/react/useResolverContext.jsx +4 -4
  33. package/dist/resolvableElements/react/useResolverContext.jsx.map +1 -1
  34. package/dist_es/index.d.ts +2 -2
  35. package/dist_es/index.js +1 -1
  36. package/dist_es/index.js.map +1 -1
  37. package/dist_es/resolvableElements/Resolver.d.ts +4 -1
  38. package/dist_es/resolvableElements/Resolver.js +4 -1
  39. package/dist_es/resolvableElements/Resolver.js.map +1 -1
  40. package/dist_es/resolvableElements/elements/ResolvableElement.js +1 -1
  41. package/dist_es/resolvableElements/elements/ResolvableElement.js.map +1 -1
  42. package/dist_es/resolvableElements/elements/ResolvableValueElement.d.ts +2 -0
  43. package/dist_es/resolvableElements/elements/ResolvableValueElement.js +13 -0
  44. package/dist_es/resolvableElements/elements/ResolvableValueElement.js.map +1 -1
  45. package/dist_es/resolvableElements/elements/UiElement.d.ts +7 -16
  46. package/dist_es/resolvableElements/elements/UiElement.js +22 -18
  47. package/dist_es/resolvableElements/elements/UiElement.js.map +1 -1
  48. package/dist_es/resolvableElements/elements/expr/ResolvableExprElement.js.map +1 -1
  49. package/dist_es/resolvableElements/elements/function/FunctionElement.js.map +1 -1
  50. package/dist_es/resolvableElements/elements/list/ResolvableListElement.js +2 -2
  51. package/dist_es/resolvableElements/elements/list/ResolvableListElement.js.map +1 -1
  52. package/dist_es/resolvableElements/elements/section/ResolvableSectionElement.d.ts +5 -2
  53. package/dist_es/resolvableElements/elements/section/ResolvableSectionElement.js +28 -15
  54. package/dist_es/resolvableElements/elements/section/ResolvableSectionElement.js.map +1 -1
  55. package/dist_es/resolvableElements/elements/section/SectionElementMeta.d.ts +10 -1
  56. package/dist_es/resolvableElements/elements/section/SectionElementMeta.js.map +1 -1
  57. package/dist_es/resolvableElements/elements/tag/ResolvableTagElement.js +2 -2
  58. package/dist_es/resolvableElements/elements/tag/ResolvableTagElement.js.map +1 -1
  59. package/dist_es/resolvableElements/interfacesGeneration/generateInterfaces.d.ts +14 -0
  60. package/dist_es/resolvableElements/interfacesGeneration/generateInterfaces.js +39 -26
  61. package/dist_es/resolvableElements/interfacesGeneration/generateInterfaces.js.map +1 -1
  62. package/dist_es/resolvableElements/react/useResolveSection.d.ts +2 -2
  63. package/dist_es/resolvableElements/react/useResolveSection.js.map +1 -1
  64. package/dist_es/resolvableElements/react/useResolverContext.d.ts +5 -1
  65. package/dist_es/resolvableElements/react/useResolverContext.jsx +4 -4
  66. package/dist_es/resolvableElements/react/useResolverContext.jsx.map +1 -1
  67. package/package.json +2 -2
package/README.md CHANGED
@@ -1,22 +1,22 @@
1
- # What is resolvable-ui-elements?
2
- The main goal of this library is to enhance the flexibility of the UI code written, by adding a layer that separates the queries and information used to interact with the backend from the UI code, moving it to a separated JSON file.
3
-
4
- The JSON file (typically called `elements.json`) can be generated from a spreadsheet used to simplify the data management for a project UI.
5
-
6
-
7
- ## How do I get set up? ###
8
- To install this package run `npm i @j2inn/resolvable-ui-elements`
9
-
10
- ## Where do I get more info? ###
11
- See: https://finproducts.atlassian.net/wiki/spaces/ECO/pages/32881311778/Element+Types
12
-
13
- ## Codebase Structure ##
14
-
15
- src
16
- ├── resolvableElements
17
- │ ├── elements # Element classes implementation
18
- │ ├── interfacesGeneration # Code for generating interfaces from an elements.json file
19
- │ ├── react # React hooks to use resolvable elements.
20
- │ └── ...
21
- └── ...
22
-
1
+ # What is resolvable-ui-elements?
2
+ The main goal of this library is to enhance the flexibility of the UI code written, by adding a layer that separates the queries and information used to interact with the backend from the UI code, moving it to a separated JSON file.
3
+
4
+ The JSON file (typically called `elements.json`) can be generated from a spreadsheet used to simplify the data management for a project UI.
5
+
6
+
7
+ ## How do I get set up? ###
8
+ To install this package run `npm i @j2inn/resolvable-ui-elements`
9
+
10
+ ## Where do I get more info? ###
11
+ See: https://finproducts.atlassian.net/wiki/spaces/ECO/pages/32881311778/Element+Types
12
+
13
+ ## Codebase Structure ##
14
+
15
+ src
16
+ ├── resolvableElements
17
+ │ ├── elements # Element classes implementation
18
+ │ ├── interfacesGeneration # Code for generating interfaces from an elements.json file
19
+ │ ├── react # React hooks to use resolvable elements.
20
+ │ └── ...
21
+ └── ...
22
+
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { type FunctionResult } from './resolvableElements/elements/function/FunctionElement';
2
- export { isSectionData } from './resolvableElements/elements/section/SectionElementMeta';
3
- export { type ParametersOfSection, type ResolvedElementValue, type UiElementData, } from './resolvableElements/elements/UiElement';
2
+ export { isSectionData, type ParametersOfSection, type ResolvedSectionResult, } from './resolvableElements/elements/section/SectionElementMeta';
3
+ export { type UiElementData } from './resolvableElements/elements/UiElement';
4
4
  export * from './resolvableElements/react/useResolverContext';
5
5
  export * from './resolvableElements/react/useResolveSection';
6
6
  export * from './useCurrentUser';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;AAMH,+FAAwF;AAA/E,mHAAA,aAAa,OAAA;AAMtB,0EAA0E;AAC1E,QAAQ;AACR,0EAA0E;AAC1E,gFAA6D;AAC7D,+EAA4D;AAC5D,0EAA0E;AAC1E,QAAQ;AACR,0EAA0E;AAC1E,mDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;AAMH,+FAIiE;AAHhE,mHAAA,aAAa,OAAA;AAKd,0EAA0E;AAC1E,QAAQ;AACR,0EAA0E;AAC1E,gFAA6D;AAC7D,+EAA4D;AAC5D,0EAA0E;AAC1E,QAAQ;AACR,0EAA0E;AAC1E,mDAAgC"}
@@ -1,17 +1,20 @@
1
1
  import { HDict, HGrid } from 'haystack-core';
2
2
  import { Client, Watch } from 'haystack-nclient';
3
+ export declare const DEFAULT_USER_ROLE_TAG_NAME = "uiElementPermissions";
3
4
  export interface ResolverData {
4
5
  client: Client;
5
6
  user?: HDict;
7
+ userRoleTagName?: string;
6
8
  }
7
9
  /**
8
10
  * Resolver is a mediator for the network interactions during the resolution process,
9
11
  * in order to enable future optimizations.
10
12
  */
11
13
  export declare class Resolver {
12
- constructor({ client, user }: ResolverData);
14
+ constructor({ client, user, userRoleTagName, }: ResolverData);
13
15
  client: Client;
14
16
  user?: HDict;
17
+ userRoleTagName?: string;
15
18
  read(filter: string): Promise<HGrid<HDict>>;
16
19
  makeWatch(dis: string, grid: HGrid<HDict>): Promise<Watch>;
17
20
  eval(expr: string): Promise<HGrid<HDict>>;
@@ -3,18 +3,21 @@
3
3
  * Copyright (c) 2022, J2 Innovations. All Rights Reserved
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Resolver = void 0;
6
+ exports.Resolver = exports.DEFAULT_USER_ROLE_TAG_NAME = void 0;
7
+ exports.DEFAULT_USER_ROLE_TAG_NAME = 'uiElementPermissions';
7
8
  /**
8
9
  * Resolver is a mediator for the network interactions during the resolution process,
9
10
  * in order to enable future optimizations.
10
11
  */
11
12
  class Resolver {
12
- constructor({ client, user }) {
13
+ constructor({ client, user, userRoleTagName = exports.DEFAULT_USER_ROLE_TAG_NAME, }) {
13
14
  this.client = client;
14
15
  this.user = user;
16
+ this.userRoleTagName = userRoleTagName;
15
17
  }
16
18
  client;
17
19
  user;
20
+ userRoleTagName;
18
21
  async read(filter) {
19
22
  return this.client.ext.read(filter);
20
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Resolver.js","sourceRoot":"","sources":["../../src/resolvableElements/Resolver.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAUH;;;GAGG;AACH,MAAa,QAAQ;IACpB,YAAY,EAAE,MAAM,EAAE,IAAI,EAAgB;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IACjB,CAAC;IAED,MAAM,CAAQ;IACd,IAAI,CAAQ;IAEZ,KAAK,CAAC,IAAI,CAAC,MAAc;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAW,EAAE,IAAkB;QAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAC7C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAY;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAClC,CAAC;CACD;AApBD,4BAoBC"}
1
+ {"version":3,"file":"Resolver.js","sourceRoot":"","sources":["../../src/resolvableElements/Resolver.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAKU,QAAA,0BAA0B,GAAG,sBAAsB,CAAA;AAQhE;;;GAGG;AACH,MAAa,QAAQ;IACpB,YAAY,EACX,MAAM,EACN,IAAI,EACJ,eAAe,GAAG,kCAA0B,GAC9B;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;IACvC,CAAC;IAED,MAAM,CAAQ;IACd,IAAI,CAAQ;IACZ,eAAe,CAAS;IAExB,KAAK,CAAC,IAAI,CAAC,MAAc;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAW,EAAE,IAAkB;QAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAC7C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAY;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAClC,CAAC;CACD;AA1BD,4BA0BC"}
@@ -14,7 +14,7 @@ class ResolvableElement extends UiElement_1.UiElement {
14
14
  }
15
15
  #initialized = false;
16
16
  initialize = async (parameters) => {
17
- if (this.isAccessAllowed() && !this.#initialized) {
17
+ if (this.isAccessAllowed(this._meta) && !this.#initialized) {
18
18
  this.#initialized = true;
19
19
  return await this.doInitialize(parameters);
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ResolvableElement.js","sourceRoot":"","sources":["../../../src/resolvableElements/elements/ResolvableElement.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,2CAAgF;AAEhF;;GAEG;AACH,MAAsB,iBAEpB,SAAQ,qBAAY;IACrB,YAAY,IAAiC;QAC5C,KAAK,CAAC,IAAI,CAAC,CAAA;IACZ,CAAC;IAED,YAAY,GAAG,KAAK,CAAA;IACpB,UAAU,GAAyC,KAAK,EAAE,UAAU,EAAE,EAAE;QACvE,IAAI,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACjD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;YACxB,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;SAC1C;IACF,CAAC,CAAA;IAGD,KAAK,GAAwB,KAAK,IAAI,EAAE;QACvC,IAAI,IAAI,CAAC,YAAY,EAAE;YACtB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;YACpB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;SACzB;IACF,CAAC,CAAA;CAID;AAzBD,8CAyBC"}
1
+ {"version":3,"file":"ResolvableElement.js","sourceRoot":"","sources":["../../../src/resolvableElements/elements/ResolvableElement.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,2CAAgF;AAEhF;;GAEG;AACH,MAAsB,iBAEpB,SAAQ,qBAAY;IACrB,YAAY,IAAiC;QAC5C,KAAK,CAAC,IAAI,CAAC,CAAA;IACZ,CAAC;IAED,YAAY,GAAG,KAAK,CAAA;IACpB,UAAU,GAAyC,KAAK,EAAE,UAAU,EAAE,EAAE;QACvE,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YAC3D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;YACxB,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;SAC1C;IACF,CAAC,CAAA;IAGD,KAAK,GAAwB,KAAK,IAAI,EAAE;QACvC,IAAI,IAAI,CAAC,YAAY,EAAE;YACtB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;YACpB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;SACzB;IACF,CAAC,CAAA;CAID;AAzBD,8CAyBC"}
@@ -3,6 +3,7 @@ import { UiElementConstructorData, UiElementData, UiElementMeta } from './UiElem
3
3
  export interface ResolvableValueElementMeta extends UiElementMeta {
4
4
  resolutionType: string;
5
5
  resolvedType: string;
6
+ defaultValue: string;
6
7
  }
7
8
  export declare const isResolvableValueElement: (element: UiElementData) => element is UiElementData<ResolvableValueElementMeta>;
8
9
  export declare const isResolvableValueElementMeta: (meta: UiElementMeta) => meta is ResolvableValueElementMeta;
@@ -10,5 +11,6 @@ export declare const isResolvableValueElementMeta: (meta: UiElementMeta) => meta
10
11
  * base class for leaf resolvable elements that are resolved into a value defined by the resolvedType property in the metadata
11
12
  */
12
13
  export declare abstract class ResolvableValueElement<T extends UiElementData = UiElementData> extends ResolvableElement<T> {
14
+ #private;
13
15
  constructor(data: UiElementConstructorData<T>);
14
16
  }
@@ -4,6 +4,7 @@
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ResolvableValueElement = exports.isResolvableValueElementMeta = exports.isResolvableValueElement = void 0;
7
+ const haystack_core_1 = require("haystack-core");
7
8
  const ResolvableElement_1 = require("./ResolvableElement");
8
9
  const isResolvableValueElement = (element) => {
9
10
  return !!element?._meta && (0, exports.isResolvableValueElementMeta)(element._meta);
@@ -20,6 +21,18 @@ exports.isResolvableValueElementMeta = isResolvableValueElementMeta;
20
21
  class ResolvableValueElement extends ResolvableElement_1.ResolvableElement {
21
22
  constructor(data) {
22
23
  super(data);
24
+ this.#setDefaultValue();
25
+ }
26
+ #setDefaultValue() {
27
+ const { defaultValue } = this._meta;
28
+ if (defaultValue) {
29
+ try {
30
+ this.value = haystack_core_1.ZincReader.readValue(defaultValue);
31
+ }
32
+ catch (e) {
33
+ console.error('Failed to parse element default value from: ', JSON.stringify(this._meta), e);
34
+ }
35
+ }
23
36
  }
24
37
  }
25
38
  exports.ResolvableValueElement = ResolvableValueElement;
@@ -1 +1 @@
1
- {"version":3,"file":"ResolvableValueElement.js","sourceRoot":"","sources":["../../../src/resolvableElements/elements/ResolvableValueElement.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,2DAAuD;AAYhD,MAAM,wBAAwB,GAAG,CACvC,OAAsB,EACiC,EAAE;IACzD,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,IAAA,oCAA4B,EAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AACvE,CAAC,CAAA;AAJY,QAAA,wBAAwB,4BAIpC;AAEM,MAAM,4BAA4B,GAAG,CAC3C,IAAmB,EACkB,EAAE;IACvC,OAAO,CACN,CAAC,CAA8B,IAAK,CAAC,cAAc;QACnD,CAAC,CAA8B,IAAK,CAAC,YAAY,CACjD,CAAA;AACF,CAAC,CAAA;AAPY,QAAA,4BAA4B,gCAOxC;AAED;;GAEG;AACH,MAAsB,sBAEpB,SAAQ,qCAAoB;IAC7B,YAAY,IAAiC;QAC5C,KAAK,CAAC,IAAI,CAAC,CAAA;IACZ,CAAC;CACD;AAND,wDAMC"}
1
+ {"version":3,"file":"ResolvableValueElement.js","sourceRoot":"","sources":["../../../src/resolvableElements/elements/ResolvableValueElement.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,iDAA0C;AAC1C,2DAAuD;AAahD,MAAM,wBAAwB,GAAG,CACvC,OAAsB,EACiC,EAAE;IACzD,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,IAAA,oCAA4B,EAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AACvE,CAAC,CAAA;AAJY,QAAA,wBAAwB,4BAIpC;AAEM,MAAM,4BAA4B,GAAG,CAC3C,IAAmB,EACkB,EAAE;IACvC,OAAO,CACN,CAAC,CAA8B,IAAK,CAAC,cAAc;QACnD,CAAC,CAA8B,IAAK,CAAC,YAAY,CACjD,CAAA;AACF,CAAC,CAAA;AAPY,QAAA,4BAA4B,gCAOxC;AAED;;GAEG;AACH,MAAsB,sBAEpB,SAAQ,qCAAoB;IAC7B,YAAY,IAAiC;QAC5C,KAAK,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,gBAAgB,EAAE,CAAA;IACxB,CAAC;IAED,gBAAgB;QACf,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,KAAmC,CAAA;QAEjE,IAAI,YAAY,EAAE;YACjB,IAAI;gBACH,IAAI,CAAC,KAAK,GAAG,0BAAU,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;aAC/C;YAAC,OAAO,CAAC,EAAE;gBACX,OAAO,CAAC,KAAK,CACZ,8CAA8C,EAC9C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAC1B,CAAC,CACD,CAAA;aACD;SACD;IACF,CAAC;CACD;AAvBD,wDAuBC"}
@@ -1,4 +1,3 @@
1
- import { HVal } from 'haystack-core';
2
1
  import { Resolver } from '../Resolver';
3
2
  export interface UiElementData<Meta extends UiElementMeta = UiElementMeta> {
4
3
  _meta?: Meta;
@@ -6,18 +5,9 @@ export interface UiElementData<Meta extends UiElementMeta = UiElementMeta> {
6
5
  export interface UiElementMeta {
7
6
  access?: string[];
8
7
  }
9
- export declare type ResolvedElementValue<T extends UiElementData> = T extends {
10
- _resolved?: unknown;
11
- } ? Required<T>['_resolved'] : unknown;
12
- export declare type ParametersOfSection<T extends UiElementData> = T extends {
13
- _parameters?: Record<string, HVal>;
14
- } ? PartialExplicitUndefined<T['_parameters']> : undefined;
15
- export declare type PartialExplicitUndefined<T> = {
16
- [P in keyof T]: T[P] | null | undefined;
17
- };
18
8
  export interface UiElementConstructorData<T extends UiElementData> {
19
9
  resolver: Resolver;
20
- onUpdate: (value: ResolvedElementValue<T> | undefined) => void;
10
+ onUpdate: (value: unknown | undefined) => void;
21
11
  element: T;
22
12
  name?: string;
23
13
  }
@@ -32,9 +22,10 @@ export declare abstract class UiElement<T extends UiElementData = UiElementData>
32
22
  name?: string;
33
23
  toJSON(): Record<string, unknown>;
34
24
  inspect(): void;
35
- isAccessAllowed(): boolean;
36
- get value(): ResolvedElementValue<T> | undefined;
37
- set value(value: ResolvedElementValue<T> | undefined);
38
- onUpdate: (value: ResolvedElementValue<T> | undefined) => void;
25
+ isAccessAllowed(meta?: UiElementMeta): boolean;
26
+ protected _value?: unknown;
27
+ get value(): unknown | undefined;
28
+ set value(value: unknown | undefined);
29
+ onUpdate: (value: unknown | undefined) => void;
30
+ static joinFilters(...filter: (string | undefined)[]): string;
39
31
  }
40
- export declare function joinFilters(...filter: (string | undefined)[]): string;
@@ -3,8 +3,8 @@
3
3
  * Copyright (c) 2022, J2 Innovations. All Rights Reserved
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.joinFilters = exports.UiElement = void 0;
7
- const USER_ROLE_TAG_NAME = 'uiElementPermissions';
6
+ exports.UiElement = void 0;
7
+ const Resolver_1 = require("../Resolver");
8
8
  /**
9
9
  * Base UiElement class
10
10
  */
@@ -24,31 +24,34 @@ class UiElement {
24
24
  inspect() {
25
25
  console.log(this);
26
26
  }
27
- isAccessAllowed() {
28
- if (!this._meta?.access || isSuperuser(this.resolver.user)) {
29
- return true;
30
- }
31
- const userRole = this.resolver.user?.get(USER_ROLE_TAG_NAME);
32
- if (userRole) {
33
- return this._meta.access.includes(userRole.value);
34
- }
35
- // If userRole is not defined return false.
36
- return false;
27
+ isAccessAllowed(meta) {
28
+ return UiElement.#isElementAccessible(meta, this.resolver.user, this.resolver.userRoleTagName);
37
29
  }
38
- #value;
30
+ _value;
39
31
  get value() {
40
- return this.#value;
32
+ return this._value;
41
33
  }
42
34
  set value(value) {
43
- this.#value = value;
35
+ this._value = value;
44
36
  this.onUpdate(value);
45
37
  }
46
38
  onUpdate;
39
+ static #isElementAccessible(meta, user, userRoleTagName = Resolver_1.DEFAULT_USER_ROLE_TAG_NAME) {
40
+ if (!meta || !meta.access || UiElement.#isSuperuser(user)) {
41
+ return true;
42
+ }
43
+ const userRole = user?.get(userRoleTagName);
44
+ if (userRole && meta.access.includes(userRole.value)) {
45
+ return true;
46
+ }
47
+ return false;
48
+ }
49
+ static #isSuperuser(user) {
50
+ return user?.get('userRole')?.value === 'su';
51
+ }
52
+ static joinFilters(...filter) {
53
+ return filter.filter((filter) => filter).join(' and ');
54
+ }
47
55
  }
48
56
  exports.UiElement = UiElement;
49
- function joinFilters(...filter) {
50
- return filter.filter((filter) => filter).join(' and ');
51
- }
52
- exports.joinFilters = joinFilters;
53
- const isSuperuser = (user) => user?.get('userRole')?.value === 'su';
54
57
  //# sourceMappingURL=UiElement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UiElement.js","sourceRoot":"","sources":["../../../src/resolvableElements/elements/UiElement.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAKH,MAAM,kBAAkB,GAAG,sBAAsB,CAAA;AAiCjD;;GAEG;AACH,MAAsB,SAAS;IAC9B,YAAY,EACX,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,QAAQ,GACqB;QAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IACzB,CAAC;IACD,QAAQ,CAAU;IAElB,KAAK,CAAgB;IAErB,IAAI,CAAS;IAEb,MAAM;QACL,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAA;IAC7B,CAAC;IACD,OAAO;QACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC;IAED,eAAe;QACd,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC3D,OAAO,IAAI,CAAA;SACX;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAO,kBAAkB,CAAC,CAAA;QAClE,IAAI,QAAQ,EAAE;YACb,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;SACjD;QAED,2CAA2C;QAC3C,OAAO,KAAK,CAAA;IACb,CAAC;IAED,MAAM,CAA0B;IAEhC,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,MAAM,CAAA;IACnB,CAAC;IAED,IAAI,KAAK,CAAC,KAA0C;QACnD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACrB,CAAC;IACD,QAAQ,CAAsD;CAC9D;AAlDD,8BAkDC;AACD,SAAgB,WAAW,CAAC,GAAG,MAA8B;IAC5D,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AACvD,CAAC;AAFD,kCAEC;AAED,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE,CACpC,IAAI,EAAE,GAAG,CAAO,UAAU,CAAC,EAAE,KAAK,KAAK,IAAI,CAAA"}
1
+ {"version":3,"file":"UiElement.js","sourceRoot":"","sources":["../../../src/resolvableElements/elements/UiElement.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,0CAAkE;AAiBlE;;GAEG;AACH,MAAsB,SAAS;IAC9B,YAAY,EACX,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,QAAQ,GACqB;QAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IACzB,CAAC;IACD,QAAQ,CAAU;IAElB,KAAK,CAAgB;IAErB,IAAI,CAAS;IAEb,MAAM;QACL,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAA;IAC7B,CAAC;IACD,OAAO;QACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC;IAED,eAAe,CAAC,IAAoB;QACnC,OAAO,SAAS,CAAC,oBAAoB,CACpC,IAAI,EACJ,IAAI,CAAC,QAAQ,CAAC,IAAI,EAClB,IAAI,CAAC,QAAQ,CAAC,eAAe,CAC7B,CAAA;IACF,CAAC;IAES,MAAM,CAAU;IAE1B,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,MAAM,CAAA;IACnB,CAAC;IAED,IAAI,KAAK,CAAC,KAA0B;QACnC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACrB,CAAC;IACD,QAAQ,CAAsC;IAE9C,MAAM,CAAC,oBAAoB,CAC1B,IAAoB,EACpB,IAAY,EACZ,eAAe,GAAG,qCAA0B;QAE5C,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;YAC1D,OAAO,IAAI,CAAA;SACX;QAED,MAAM,QAAQ,GAAG,IAAI,EAAE,GAAG,CAAO,eAAe,CAAC,CAAA;QACjD,IAAI,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACrD,OAAO,IAAI,CAAA;SACX;QAED,OAAO,KAAK,CAAA;IACb,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,IAAY;QAC/B,OAAO,IAAI,EAAE,GAAG,CAAO,UAAU,CAAC,EAAE,KAAK,KAAK,IAAI,CAAA;IACnD,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,GAAG,MAA8B;QACnD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACvD,CAAC;CACD;AArED,8BAqEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ResolvableExprElement.js","sourceRoot":"","sources":["../../../../src/resolvableElements/elements/expr/ResolvableExprElement.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,iDAA2C;AAC3C,mDAAoD;AACpD,iFAGyC;AAEzC,sEAAkE;AAQlE;;GAEG;AACH,MAAa,qBAEX,SAAQ,+CAAyB;IAClC,YAAY,IAAiC;QAC5C,KAAK,CAAC,IAAI,CAAC,CAAA;IACZ,CAAC;IAED,SAAS,GAAG,CAAC,CAAA;IACb,QAAQ,CAAS;IAEP,YAAY,GAAG,KAAK,EAAE,UAAiB,EAAiB,EAAE;QACnE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;IAC9B,CAAC,CAAA;IAED,YAAY,GAAG,KAAK,EAAE,UAAiB,EAAiB,EAAE;QACzD,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,KAAkC,CAAA;QAEtE,MAAM,kBAAkB,GAAG,IAAA,sDAAyB,EAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QAEtE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QAEzD,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;YACnB,OAAO,CAAC,KAAK,CACZ,sCAAsC,EACtC,kBAAkB,EAClB,IAAI,CAAC,QAAQ,EAAE,CACf,CAAA;YACD,OAAM;SACN;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;QAE/B,IAAI,GAAG,EAAE;YACR,IAAI,CAAC,KAAK,GAAG,GAAyC,CAAA;SACtD;aAAM;YACN,IAAI,CAAC,KAAK,GAAG,IAA0C,CAAA;SACvD;QAED,IAAI,YAAY,EAAE;YACjB,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC/B,IAAI,CAAC,SAAS,EAAE,CAAA;gBAChB,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;YAC9B,CAAC,EAAE,oBAAI,CAAC,IAAI,CAAC,YAAY,EAAE,uBAAM,CAAC,CAAC,SAAS,CAAC,4BAAW,CAAC,CAAC,KAAK,CAAsB,CAAA;SACrF;IACF,CAAC,CAAA;IAES,OAAO,GAAG,KAAK,IAAmB,EAAE;QAC7C,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClB,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;SAC3B;IACF,CAAC,CAAA;IAED,gBAAgB,GAAmB,GAAG,EAAE;QACvC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAkC,CAAA;QAExD,MAAM,UAAU,GAAa,EAAE,CAAA;QAE/B,IAAI,IAAI,EAAE;YACT,IAAA,qDAAwB,EAAC,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;gBAC3C,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACtB,OAAO,EAAE,CAAA;YACV,CAAC,CAAC,CAAA;SACF;QAED,OAAO,UAAU,CAAA;IAClB,CAAC,CAAA;CACD;AAlED,sDAkEC"}
1
+ {"version":3,"file":"ResolvableExprElement.js","sourceRoot":"","sources":["../../../../src/resolvableElements/elements/expr/ResolvableExprElement.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,iDAA2C;AAC3C,mDAAoD;AACpD,iFAGyC;AAEzC,sEAAkE;AAIlE;;GAEG;AACH,MAAa,qBAEX,SAAQ,+CAAyB;IAClC,YAAY,IAAiC;QAC5C,KAAK,CAAC,IAAI,CAAC,CAAA;IACZ,CAAC;IAED,SAAS,GAAG,CAAC,CAAA;IACb,QAAQ,CAAS;IAEP,YAAY,GAAG,KAAK,EAAE,UAAiB,EAAiB,EAAE;QACnE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;IAC9B,CAAC,CAAA;IAED,YAAY,GAAG,KAAK,EAAE,UAAiB,EAAiB,EAAE;QACzD,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,KAAkC,CAAA;QAEtE,MAAM,kBAAkB,GAAG,IAAA,sDAAyB,EAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QAEtE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QAEzD,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;YACnB,OAAO,CAAC,KAAK,CACZ,sCAAsC,EACtC,kBAAkB,EAClB,IAAI,CAAC,QAAQ,EAAE,CACf,CAAA;YACD,OAAM;SACN;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;QAE/B,IAAI,GAAG,EAAE;YACR,IAAI,CAAC,KAAK,GAAG,GAAG,CAAA;SAChB;aAAM;YACN,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;SACjB;QAED,IAAI,YAAY,EAAE;YACjB,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC/B,IAAI,CAAC,SAAS,EAAE,CAAA;gBAChB,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;YAC9B,CAAC,EAAE,oBAAI,CAAC,IAAI,CAAC,YAAY,EAAE,uBAAM,CAAC,CAAC,SAAS,CAAC,4BAAW,CAAC,CAAC,KAAK,CAAsB,CAAA;SACrF;IACF,CAAC,CAAA;IAES,OAAO,GAAG,KAAK,IAAmB,EAAE;QAC7C,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClB,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;SAC3B;IACF,CAAC,CAAA;IAED,gBAAgB,GAAmB,GAAG,EAAE;QACvC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAkC,CAAA;QAExD,MAAM,UAAU,GAAa,EAAE,CAAA;QAE/B,IAAI,IAAI,EAAE;YACT,IAAA,qDAAwB,EAAC,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;gBAC3C,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACtB,OAAO,EAAE,CAAA;YACV,CAAC,CAAC,CAAA;SACF;QAED,OAAO,UAAU,CAAA;IAClB,CAAC,CAAA;CACD;AAlED,sDAkEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"FunctionElement.js","sourceRoot":"","sources":["../../../../src/resolvableElements/elements/function/FunctionElement.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,iDAAgF;AAChF,iFAA4E;AAE5E,4CAKqB;AAGrB;;GAEG;AACH,MAAa,eAAyC,SAAQ,qBAAY;IACzE,YAAY,IAAiC;QAC5C,KAAK,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,EAAwC,CAAA;IACzE,CAAC;IAED,cAAc,GAAG,GAAmB,EAAE;QACrC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAA4B,CAAA;QAElD,OAAO,KAAK,EAAE,UAAU,EAAE,EAAE;YAC3B,MAAM,kBAAkB,GAAG,IAAA,sDAAyB,EACnD,IAAI,EACJ,IAAA,0BAAkB,EAAC,UAAU,CAAC,CAC9B,CAAA;YAED,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QACpD,CAAC,CAAA;IACF,CAAC,CAAA;CACD;AAlBD,0CAkBC;AAUM,MAAM,kBAAkB,GAAG,CACjC,UAIY,EACJ,EAAE;IACV,IAAI,CAAC,UAAU,EAAE;QAChB,OAAO,qBAAK,CAAC,IAAI,EAAE,CAAA;KACnB;IACD,IAAI,UAAU,YAAY,qBAAK,EAAE;QAChC,OAAO,UAAU,CAAA;KACjB;IAED,OAAO,qBAAK,CAAC,IAAI,CAChB,MAAM,CAAC,WAAW,CACjB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CACvD,CACD,CAAA;AACF,CAAC,CAAA;AAnBY,QAAA,kBAAkB,sBAmB9B"}
1
+ {"version":3,"file":"FunctionElement.js","sourceRoot":"","sources":["../../../../src/resolvableElements/elements/function/FunctionElement.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,iDAAgF;AAChF,iFAA4E;AAE5E,4CAIqB;AAGrB;;GAEG;AACH,MAAa,eAAyC,SAAQ,qBAAY;IACzE,YAAY,IAAiC;QAC5C,KAAK,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;IACnC,CAAC;IAED,cAAc,GAAG,GAAmB,EAAE;QACrC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAA4B,CAAA;QAElD,OAAO,KAAK,EAAE,UAAU,EAAE,EAAE;YAC3B,MAAM,kBAAkB,GAAG,IAAA,sDAAyB,EACnD,IAAI,EACJ,IAAA,0BAAkB,EAAC,UAAU,CAAC,CAC9B,CAAA;YAED,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QACpD,CAAC,CAAA;IACF,CAAC,CAAA;CACD;AAlBD,0CAkBC;AAUM,MAAM,kBAAkB,GAAG,CACjC,UAIY,EACJ,EAAE;IACV,IAAI,CAAC,UAAU,EAAE;QAChB,OAAO,qBAAK,CAAC,IAAI,EAAE,CAAA;KACnB;IACD,IAAI,UAAU,YAAY,qBAAK,EAAE;QAChC,OAAO,UAAU,CAAA;KACjB;IAED,OAAO,qBAAK,CAAC,IAAI,CAChB,MAAM,CAAC,WAAW,CACjB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CACvD,CACD,CAAA;AACF,CAAC,CAAA;AAnBY,QAAA,kBAAkB,sBAmB9B"}
@@ -21,7 +21,7 @@ class ResolvableListElement extends ResolvableValueElement_1.ResolvableValueElem
21
21
  doInitialize = async (parameters) => {
22
22
  const { subscribe, entityBinding, parentBinding } = this
23
23
  ._meta;
24
- this.filter = (0, resolveTemplatedExpression_1.resolveTemplateExpression)((0, UiElement_1.joinFilters)(entityBinding, parentBinding), parameters);
24
+ this.filter = (0, resolveTemplatedExpression_1.resolveTemplateExpression)(UiElement_1.UiElement.joinFilters(entityBinding, parentBinding), parameters);
25
25
  if (!this.#isValidFilter(this.filter)) {
26
26
  throw Error('Invalid filter');
27
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ResolvableListElement.js","sourceRoot":"","sources":["../../../../src/resolvableElements/elements/list/ResolvableListElement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ResolvableListElement.js","sourceRoot":"","sources":["../../../../src/resolvableElements/elements/list/ResolvableListElement.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,16 @@
1
1
  import { HDict } from 'haystack-core';
2
2
  import { ResolvableElement } from '../ResolvableElement';
3
3
  import { UiElement, UiElementConstructorData, UiElementData } from '../UiElement';
4
- import { UiElementSectionMeta } from './SectionElementMeta';
4
+ import { ResolvedSectionResult, UiElementSectionMeta } from './SectionElementMeta';
5
5
  /**
6
6
  * A container of elements that can be resolve them by propagation of the lifecycle functions.
7
7
  */
8
- export declare class ResolvableSectionElement<T extends UiElementData> extends ResolvableElement<T> {
8
+ export declare class ResolvableSectionElement<T extends UiElementData<UiElementSectionMeta> = UiElementData<UiElementSectionMeta>> extends ResolvableElement<T> {
9
9
  #private;
10
10
  constructor(data: UiElementConstructorData<T>);
11
+ protected _value: Record<string, unknown>;
12
+ get value(): ResolvedSectionResult<T>;
13
+ set value(value: ResolvedSectionResult<T>);
11
14
  children: (UiElement<UiElementData> | ChildUnresolvedSection)[];
12
15
  toJSON(): Record<string, unknown>;
13
16
  protected doInitialize: (parameters: HDict) => Promise<void>;
@@ -14,29 +14,36 @@ const SectionElementMeta_1 = require("./SectionElementMeta");
14
14
  class ResolvableSectionElement extends ResolvableElement_1.ResolvableElement {
15
15
  constructor(data) {
16
16
  super(data);
17
- this.value = this.#getInitialValue(data);
18
17
  this.children = this.#deserializeChildren(data);
19
18
  }
20
- #getInitialValue = (data) => {
21
- const result = {};
22
- for (const [name, child] of Object.entries(data.element)) {
23
- if (!name.startsWith('_') && (0, SectionElementMeta_1.isSectionData)(child)) {
24
- result[name] = child;
25
- }
26
- }
27
- return result;
28
- };
19
+ _value = {};
20
+ get value() {
21
+ return this._value;
22
+ }
23
+ set value(value) {
24
+ this._value = value;
25
+ this.onUpdate(value);
26
+ }
29
27
  #deserializeChildren = (data) => {
30
28
  return Object.entries(data.element)
31
- .filter(([name]) => !name.startsWith('_'))
29
+ .filter(([name, element]) => {
30
+ // Filter out non-valid children
31
+ if (name.startsWith('_')) {
32
+ return false;
33
+ }
34
+ // Filter out non-accessible subsections
35
+ if ((0, SectionElementMeta_1.isSectionData)(element)) {
36
+ return this.isAccessAllowed(element._meta);
37
+ }
38
+ return true;
39
+ })
32
40
  .map(([name, element]) => {
33
41
  return this.#deserializeChild({
34
42
  ...data,
35
43
  element,
36
44
  name,
37
45
  onUpdate: (childVal) => {
38
- ;
39
- this.value[name] = childVal;
46
+ this._value[name] = childVal;
40
47
  this.onUpdate(this.value);
41
48
  },
42
49
  });
@@ -49,9 +56,11 @@ class ResolvableSectionElement extends ResolvableElement_1.ResolvableElement {
49
56
  }
50
57
  else {
51
58
  try {
59
+ // Make a resolvable element
52
60
  return (0, makeElement_1.makeElement)(data);
53
61
  }
54
62
  catch (e) {
63
+ // return children section name and data
55
64
  return [data.name, data.element];
56
65
  }
57
66
  }
@@ -78,10 +87,14 @@ class ResolvableSectionElement extends ResolvableElement_1.ResolvableElement {
78
87
  doInitialize = async (parameters) => {
79
88
  const promises = [];
80
89
  for (const child of this.children) {
81
- if (child instanceof ResolvableElement_1.ResolvableElement) {
90
+ if ((0, exports.isChildUnresolvedSection)(child) && child[0]) {
91
+ this._value[child[0]] = child[1];
92
+ }
93
+ else if (child instanceof ResolvableElement_1.ResolvableElement) {
82
94
  promises.push(child.initialize(parameters));
83
95
  }
84
96
  }
97
+ this.onUpdate(this.value);
85
98
  await Promise.all(promises);
86
99
  };
87
100
  doClose = async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"ResolvableSectionElement.js","sourceRoot":"","sources":["../../../../src/resolvableElements/elements/section/ResolvableSectionElement.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,gDAA4C;AAC5C,4DAAwD;AACxD,sEAAkE;AAOlE,6DAA0E;AAE1E;;GAEG;AACH,MAAa,wBAEX,SAAQ,qCAAoB;IAC7B,YAAY,IAAiC;QAC5C,KAAK,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;IAChD,CAAC;IAED,gBAAgB,GAAG,CAClB,IAAiC,EACP,EAAE;QAC5B,MAAM,MAAM,GAAkC,EAAE,CAAA;QAEhD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACzD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAA,kCAAa,EAAC,KAAK,CAAC,EAAE;gBAClD,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;aACpB;SACD;QAED,OAAO,MAAiC,CAAA;IACzC,CAAC,CAAA;IAED,oBAAoB,GAAG,CACtB,IAAiC,EACuB,EAAE;QAC1D,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;aACjC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aACzC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAA0B,EAAE,EAAE;YACjD,OAAO,IAAI,CAAC,iBAAiB,CAAC;gBAC7B,GAAG,IAAI;gBACP,OAAO;gBACP,IAAI;gBACJ,QAAQ,EAAE,CAAC,QAAiB,EAAE,EAAE;oBAC/B,CAAC;oBACA,IAAI,CAAC,KAIL,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAA;oBAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBAC1B,CAAC;aACD,CAAC,CAAA;QACH,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IACjC,CAAC,CAAA;IACD,iBAAiB,GAAG,CACnB,IAA6C,EAC7C,eAAe,GAAG,KAAK,EAC6B,EAAE;QACtD,IAAI,CAAC,eAAe,IAAI,IAAA,kCAAa,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACpD,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;SAChC;aAAM;YACN,IAAI;gBACH,OAAO,IAAA,yBAAW,EAAC,IAAI,CAAC,CAAA;aACxB;YAAC,OAAO,CAAC,EAAE;gBACX,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;aAChC;SACD;IACF,CAAC,CAAA;IAED,QAAQ,GAA0D,EAAE,CAAA;IAC3D,MAAM;QACd,MAAM,KAAK,GAA4B,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAA;QAE5D,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAChC,IAAI,IAAI,EAAE,GAAG,CAAA;YACb,IAAI,IAAA,gCAAwB,EAAC,KAAK,CAAC,EAAE;gBACpC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;gBACf,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;aACd;iBAAM;gBACN,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;gBACjB,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAA;aACpB;YAED,IAAI,IAAI,EAAE;gBACT,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAA;aACjB;QACF,CAAC,CAAC,CAAA;QAEF,OAAO,KAAK,CAAA;IACb,CAAC;IAES,YAAY,GAAG,KAAK,EAAE,UAAiB,EAAiB,EAAE;QACnE,MAAM,QAAQ,GAAG,EAAE,CAAA;QACnB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClC,IAAI,KAAK,YAAY,qCAAiB,EAAE;gBACvC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAA;aAC3C;SACD;QAED,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAC5B,CAAC,CAAA;IAES,OAAO,GAAG,KAAK,IAAmB,EAAE;QAC7C,MAAM,QAAQ,GAAG,EAAE,CAAA;QAEnB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClC,IAAI,KAAK,YAAY,qCAAiB,EAAE;gBACvC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAA;aAC5B;SACD;QAED,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAC5B,CAAC,CAAA;IAED,gBAAgB,GAAmB,GAAG,EAAE;QACvC,MAAM,UAAU,GAAa,EAAE,CAAA;QAE/B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACjC,IACC,CAAC,IAAA,gCAAwB,EAAC,OAAO,CAAC;gBAClC,OAAO,YAAY,+CAAsB,EACxC;gBACD,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAA;aAC9C;QACF,CAAC,CAAC,CAAA;QAEF,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAA,CAAC,yBAAyB;IAC1D,CAAC,CAAA;CACD;AAxHD,4DAwHC;AAEM,MAAM,wBAAwB,GAAG,CACvC,KAAc,EACoB,EAAE,CACpC,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAA,kCAAa,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAH3D,QAAA,wBAAwB,4BAGmC"}
1
+ {"version":3,"file":"ResolvableSectionElement.js","sourceRoot":"","sources":["../../../../src/resolvableElements/elements/section/ResolvableSectionElement.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,18 @@
1
+ import { HVal } from 'haystack-core';
1
2
  import { UiElementData, UiElementMeta } from '../UiElement';
2
3
  export interface UiElementSectionMeta extends UiElementMeta {
3
4
  resolutionType?: never;
4
5
  }
5
- export declare type ResolvedSectionResult<T extends UiElementData<UiElementSectionMeta>> = T extends {
6
+ declare type ResolvedSection<T extends UiElementData<UiElementSectionMeta>> = T extends {
6
7
  _resolved?: Record<string, unknown>;
7
8
  } ? Required<T>['_resolved'] : Record<string, unknown>;
9
+ export declare type ResolvedSectionResult<T extends UiElementData<UiElementSectionMeta>> = ResolvedSection<T> | Record<string, unknown>;
10
+ export declare type ParametersOfSection<T extends UiElementData> = T extends {
11
+ _parameters?: Record<string, HVal>;
12
+ } ? PartialExplicitUndefined<T['_parameters']> : undefined;
13
+ export declare type PartialExplicitUndefined<T> = {
14
+ [P in keyof T]: T[P] | null | undefined;
15
+ };
8
16
  export declare const isSectionData: (element: UiElementData) => element is UiElementData<UiElementSectionMeta>;
9
17
  export declare const isSectionMeta: (meta: UiElementMeta | undefined) => meta is UiElementSectionMeta;
18
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"SectionElementMeta.js","sourceRoot":"","sources":["../../../../src/resolvableElements/elements/section/SectionElementMeta.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,sEAAwE;AAejE,MAAM,aAAa,GAAG,CAC5B,OAAsB,EAC2B,EAAE,CACnD,IAAA,qBAAa,EAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAHhB,QAAA,aAAa,iBAGG;AAEtB,MAAM,aAAa,GAAG,CAC5B,IAA+B,EACA,EAAE,CACjC,IAAI,IAAI,IAAI,IAAI,CAAC,IAAA,qDAA4B,EAAC,IAAI,CAAC,CAAA;AAHvC,QAAA,aAAa,iBAG0B"}
1
+ {"version":3,"file":"SectionElementMeta.js","sourceRoot":"","sources":["../../../../src/resolvableElements/elements/section/SectionElementMeta.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,sEAAwE;AA4BjE,MAAM,aAAa,GAAG,CAC5B,OAAsB,EAC2B,EAAE,CACnD,IAAA,qBAAa,EAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAHhB,QAAA,aAAa,iBAGG;AAEtB,MAAM,aAAa,GAAG,CAC5B,IAA+B,EACA,EAAE,CACjC,IAAI,IAAI,IAAI,IAAI,CAAC,IAAA,qDAA4B,EAAC,IAAI,CAAC,CAAA;AAHvC,QAAA,aAAa,iBAG0B"}
@@ -21,7 +21,7 @@ class ResolvableTagElement extends ResolvableValueElement_1.ResolvableValueEleme
21
21
  doInitialize = async (parameters) => {
22
22
  const { subscribe, entityBinding, parentBinding } = this
23
23
  ._meta;
24
- const filter = (0, resolveTemplatedExpression_1.resolveTemplateExpression)((0, UiElement_1.joinFilters)(entityBinding, parentBinding), parameters);
24
+ const filter = (0, resolveTemplatedExpression_1.resolveTemplateExpression)(UiElement_1.UiElement.joinFilters(entityBinding, parentBinding), parameters);
25
25
  if (!this.#isValidFilter(filter)) {
26
26
  throw Error('Invalid filter');
27
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ResolvableTagElement.js","sourceRoot":"","sources":["../../../../src/resolvableElements/elements/tag/ResolvableTagElement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ResolvableTagElement.js","sourceRoot":"","sources":["../../../../src/resolvableElements/elements/tag/ResolvableTagElement.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,17 @@
1
+ import { ResolvableSectionElement } from '../elements/section/ResolvableSectionElement';
1
2
  import { UiElementSectionMeta } from '../elements/section/SectionElementMeta';
2
3
  import { UiElementData } from '../elements/UiElement';
3
4
  export declare const generateInterfaces: (section: UiElementData<UiElementSectionMeta>) => string;
5
+ /**
6
+ * Class for generating typescript interfaces from a section data.
7
+ */
8
+ export declare class SectionInterfacesGenerator {
9
+ #private;
10
+ constructor(section: UiElementData<UiElementSectionMeta>);
11
+ sectionData: UiElementData<UiElementSectionMeta>;
12
+ output: string;
13
+ generate: () => string;
14
+ generateInterface(section: ResolvableSectionElement, indentation: number): void;
15
+ generateNamespace(section: ResolvableSectionElement<UiElementData<UiElementSectionMeta>>, indentation: number): void;
16
+ }
17
+ export declare function makeResolvableSectionElementMock(sectionData: UiElementData<UiElementSectionMeta>, name?: string): ResolvableSectionElement<UiElementData<UiElementSectionMeta>>;