@j2inn/resolvable-ui-elements 0.0.1-beta.9 → 0.0.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.
- package/README.md +21 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/resolvableElements/Resolver.js +3 -0
- package/dist/resolvableElements/Resolver.js.map +1 -1
- package/dist/resolvableElements/elements/ResolvableElement.js +4 -1
- package/dist/resolvableElements/elements/ResolvableElement.js.map +1 -1
- package/dist/resolvableElements/elements/ResolvableValueElement.d.ts +2 -0
- package/dist/resolvableElements/elements/ResolvableValueElement.js +16 -0
- package/dist/resolvableElements/elements/ResolvableValueElement.js.map +1 -1
- package/dist/resolvableElements/elements/UiElement.d.ts +7 -16
- package/dist/resolvableElements/elements/UiElement.js +25 -19
- package/dist/resolvableElements/elements/UiElement.js.map +1 -1
- package/dist/resolvableElements/elements/expr/ResolvableExprElement.d.ts +3 -0
- package/dist/resolvableElements/elements/expr/ResolvableExprElement.js +6 -0
- package/dist/resolvableElements/elements/expr/ResolvableExprElement.js.map +1 -1
- package/dist/resolvableElements/elements/expr/ResolvableExprElementMeta.js +3 -0
- package/dist/resolvableElements/elements/expr/ResolvableExprElementMeta.js.map +1 -1
- package/dist/resolvableElements/elements/function/FunctionElement.d.ts +3 -0
- package/dist/resolvableElements/elements/function/FunctionElement.js +6 -0
- package/dist/resolvableElements/elements/function/FunctionElement.js.map +1 -1
- package/dist/resolvableElements/elements/function/FunctionElementMeta.js +3 -0
- package/dist/resolvableElements/elements/function/FunctionElementMeta.js.map +1 -1
- package/dist/resolvableElements/elements/list/ListElementMeta.js +3 -0
- package/dist/resolvableElements/elements/list/ListElementMeta.js.map +1 -1
- package/dist/resolvableElements/elements/list/ResolvableListElement.d.ts +3 -0
- package/dist/resolvableElements/elements/list/ResolvableListElement.js +7 -1
- package/dist/resolvableElements/elements/list/ResolvableListElement.js.map +1 -1
- package/dist/resolvableElements/elements/makeElement.js +3 -0
- package/dist/resolvableElements/elements/makeElement.js.map +1 -1
- package/dist/resolvableElements/elements/section/ResolvableSectionElement.d.ts +8 -2
- package/dist/resolvableElements/elements/section/ResolvableSectionElement.js +33 -14
- package/dist/resolvableElements/elements/section/ResolvableSectionElement.js.map +1 -1
- package/dist/resolvableElements/elements/section/SectionElementMeta.d.ts +10 -1
- package/dist/resolvableElements/elements/section/SectionElementMeta.js +3 -0
- package/dist/resolvableElements/elements/section/SectionElementMeta.js.map +1 -1
- package/dist/resolvableElements/elements/tag/ResolvableTagElement.d.ts +3 -0
- package/dist/resolvableElements/elements/tag/ResolvableTagElement.js +7 -1
- package/dist/resolvableElements/elements/tag/ResolvableTagElement.js.map +1 -1
- package/dist/resolvableElements/elements/tag/TagElementMeta.js +3 -0
- package/dist/resolvableElements/elements/tag/TagElementMeta.js.map +1 -1
- package/dist/resolvableElements/interfacesGeneration/generateInterfaces.d.ts +14 -0
- package/dist/resolvableElements/interfacesGeneration/generateInterfaces.js +47 -26
- package/dist/resolvableElements/interfacesGeneration/generateInterfaces.js.map +1 -1
- package/dist/resolvableElements/interfacesGeneration/generateTypescriptInterfacesFile.js +3 -0
- package/dist/resolvableElements/interfacesGeneration/generateTypescriptInterfacesFile.js.map +1 -1
- package/dist/resolvableElements/react/useResolveSection.d.ts +2 -2
- package/dist/resolvableElements/react/useResolveSection.js +3 -0
- package/dist/resolvableElements/react/useResolveSection.js.map +1 -1
- package/dist/resolvableElements/react/useResolverContext.d.ts +2 -2
- package/dist/resolvableElements/react/useResolverContext.jsx +3 -0
- package/dist/resolvableElements/react/useResolverContext.jsx.map +1 -1
- package/dist/resolvableElements/resolveTemplatedExpression.js +3 -0
- package/dist/resolvableElements/resolveTemplatedExpression.js.map +1 -1
- package/dist/useCurrentUser.d.ts +2 -2
- package/dist/useCurrentUser.jsx +4 -1
- package/dist/useCurrentUser.jsx.map +1 -1
- package/dist_es/index.d.ts +1 -0
- package/dist_es/index.js +4 -0
- package/dist_es/index.js.map +1 -1
- package/dist_es/resolvableElements/Resolver.js +3 -0
- package/dist_es/resolvableElements/Resolver.js.map +1 -1
- package/dist_es/resolvableElements/elements/ResolvableElement.js +4 -1
- package/dist_es/resolvableElements/elements/ResolvableElement.js.map +1 -1
- package/dist_es/resolvableElements/elements/ResolvableValueElement.d.ts +2 -0
- package/dist_es/resolvableElements/elements/ResolvableValueElement.js +16 -0
- package/dist_es/resolvableElements/elements/ResolvableValueElement.js.map +1 -1
- package/dist_es/resolvableElements/elements/UiElement.d.ts +7 -16
- package/dist_es/resolvableElements/elements/UiElement.js +24 -17
- package/dist_es/resolvableElements/elements/UiElement.js.map +1 -1
- package/dist_es/resolvableElements/elements/expr/ResolvableExprElement.d.ts +3 -0
- package/dist_es/resolvableElements/elements/expr/ResolvableExprElement.js +6 -0
- package/dist_es/resolvableElements/elements/expr/ResolvableExprElement.js.map +1 -1
- package/dist_es/resolvableElements/elements/expr/ResolvableExprElementMeta.js +3 -0
- package/dist_es/resolvableElements/elements/expr/ResolvableExprElementMeta.js.map +1 -1
- package/dist_es/resolvableElements/elements/function/FunctionElement.d.ts +3 -0
- package/dist_es/resolvableElements/elements/function/FunctionElement.js +6 -0
- package/dist_es/resolvableElements/elements/function/FunctionElement.js.map +1 -1
- package/dist_es/resolvableElements/elements/function/FunctionElementMeta.js +3 -0
- package/dist_es/resolvableElements/elements/function/FunctionElementMeta.js.map +1 -1
- package/dist_es/resolvableElements/elements/list/ListElementMeta.js +3 -0
- package/dist_es/resolvableElements/elements/list/ListElementMeta.js.map +1 -1
- package/dist_es/resolvableElements/elements/list/ResolvableListElement.d.ts +3 -0
- package/dist_es/resolvableElements/elements/list/ResolvableListElement.js +8 -2
- package/dist_es/resolvableElements/elements/list/ResolvableListElement.js.map +1 -1
- package/dist_es/resolvableElements/elements/makeElement.js +3 -0
- package/dist_es/resolvableElements/elements/makeElement.js.map +1 -1
- package/dist_es/resolvableElements/elements/section/ResolvableSectionElement.d.ts +8 -2
- package/dist_es/resolvableElements/elements/section/ResolvableSectionElement.js +34 -15
- package/dist_es/resolvableElements/elements/section/ResolvableSectionElement.js.map +1 -1
- package/dist_es/resolvableElements/elements/section/SectionElementMeta.d.ts +10 -1
- package/dist_es/resolvableElements/elements/section/SectionElementMeta.js +3 -0
- package/dist_es/resolvableElements/elements/section/SectionElementMeta.js.map +1 -1
- package/dist_es/resolvableElements/elements/tag/ResolvableTagElement.d.ts +3 -0
- package/dist_es/resolvableElements/elements/tag/ResolvableTagElement.js +8 -2
- package/dist_es/resolvableElements/elements/tag/ResolvableTagElement.js.map +1 -1
- package/dist_es/resolvableElements/elements/tag/TagElementMeta.js +3 -0
- package/dist_es/resolvableElements/elements/tag/TagElementMeta.js.map +1 -1
- package/dist_es/resolvableElements/interfacesGeneration/generateInterfaces.d.ts +14 -0
- package/dist_es/resolvableElements/interfacesGeneration/generateInterfaces.js +45 -26
- package/dist_es/resolvableElements/interfacesGeneration/generateInterfaces.js.map +1 -1
- package/dist_es/resolvableElements/interfacesGeneration/generateTypescriptInterfacesFile.js +3 -0
- package/dist_es/resolvableElements/interfacesGeneration/generateTypescriptInterfacesFile.js.map +1 -1
- package/dist_es/resolvableElements/react/useResolveSection.d.ts +2 -2
- package/dist_es/resolvableElements/react/useResolveSection.js +3 -0
- package/dist_es/resolvableElements/react/useResolveSection.js.map +1 -1
- package/dist_es/resolvableElements/react/useResolverContext.d.ts +2 -2
- package/dist_es/resolvableElements/react/useResolverContext.jsx +4 -1
- package/dist_es/resolvableElements/react/useResolverContext.jsx.map +1 -1
- package/dist_es/resolvableElements/resolveTemplatedExpression.js +3 -0
- package/dist_es/resolvableElements/resolveTemplatedExpression.js.map +1 -1
- package/dist_es/useCurrentUser.d.ts +2 -2
- package/dist_es/useCurrentUser.jsx +4 -1
- package/dist_es/useCurrentUser.jsx.map +1 -1
- package/package.json +52 -51
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2022, J2 Innovations. All Rights Reserved
|
|
4
|
+
*/
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.isSectionMeta = exports.isSectionData = void 0;
|
|
4
7
|
const ResolvableValueElement_1 = require("../ResolvableValueElement");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SectionElementMeta.js","sourceRoot":"","sources":["../../../../src/resolvableElements/elements/section/SectionElementMeta.ts"],"names":[],"mappings":";;;
|
|
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"}
|
|
@@ -2,6 +2,9 @@ import { HDict } from 'haystack-core';
|
|
|
2
2
|
import { Watch } from 'haystack-nclient';
|
|
3
3
|
import { ResolvableValueElement } from '../ResolvableValueElement';
|
|
4
4
|
import { UiElementConstructorData, UiElementData } from '../UiElement';
|
|
5
|
+
/**
|
|
6
|
+
* Resolves to the value of a tag on a record and keeps it updated using a watch.
|
|
7
|
+
*/
|
|
5
8
|
export declare class ResolvableTagElement<T extends UiElementData> extends ResolvableValueElement<T> {
|
|
6
9
|
#private;
|
|
7
10
|
constructor(data: UiElementConstructorData<T>);
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2022, J2 Innovations. All Rights Reserved
|
|
4
|
+
*/
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.ResolvableTagElement = void 0;
|
|
4
7
|
const haystack_core_1 = require("haystack-core");
|
|
@@ -6,6 +9,9 @@ const haystack_nclient_1 = require("haystack-nclient");
|
|
|
6
9
|
const resolveTemplatedExpression_1 = require("../../resolveTemplatedExpression");
|
|
7
10
|
const ResolvableValueElement_1 = require("../ResolvableValueElement");
|
|
8
11
|
const UiElement_1 = require("../UiElement");
|
|
12
|
+
/**
|
|
13
|
+
* Resolves to the value of a tag on a record and keeps it updated using a watch.
|
|
14
|
+
*/
|
|
9
15
|
class ResolvableTagElement extends ResolvableValueElement_1.ResolvableValueElement {
|
|
10
16
|
constructor(data) {
|
|
11
17
|
super(data);
|
|
@@ -15,7 +21,7 @@ class ResolvableTagElement extends ResolvableValueElement_1.ResolvableValueEleme
|
|
|
15
21
|
doInitialize = async (parameters) => {
|
|
16
22
|
const { subscribe, entityBinding, parentBinding } = this
|
|
17
23
|
._meta;
|
|
18
|
-
const filter = (0, resolveTemplatedExpression_1.resolveTemplateExpression)(
|
|
24
|
+
const filter = (0, resolveTemplatedExpression_1.resolveTemplateExpression)(UiElement_1.UiElement.joinFilters(entityBinding, parentBinding), parameters);
|
|
19
25
|
if (!this.#isValidFilter(filter)) {
|
|
20
26
|
throw Error('Invalid filter');
|
|
21
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResolvableTagElement.js","sourceRoot":"","sources":["../../../../src/resolvableElements/elements/tag/ResolvableTagElement.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ResolvableTagElement.js","sourceRoot":"","sources":["../../../../src/resolvableElements/elements/tag/ResolvableTagElement.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2022, J2 Innovations. All Rights Reserved
|
|
4
|
+
*/
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.isResolvableTagMeta = exports.isResolvableTagElementData = void 0;
|
|
4
7
|
const isResolvableTagElementData = (element) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TagElementMeta.js","sourceRoot":"","sources":["../../../../src/resolvableElements/elements/tag/TagElementMeta.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"TagElementMeta.js","sourceRoot":"","sources":["../../../../src/resolvableElements/elements/tag/TagElementMeta.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAcI,MAAM,0BAA0B,GAAG,CACzC,OAAsB,EAC2B,EAAE;IACnD,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,IAAA,2BAAmB,EAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAC9D,CAAC,CAAA;AAJY,QAAA,0BAA0B,8BAItC;AAEM,MAAM,mBAAmB,GAAG,CAClC,IAAmB,EACY,EAAE;IACjC,OAAQ,IAA6B,CAAC,cAAc,KAAK,KAAK,CAAA;AAC/D,CAAC,CAAA;AAJY,QAAA,mBAAmB,uBAI/B"}
|
|
@@ -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>>;
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2022, J2 Innovations. All Rights Reserved
|
|
4
|
+
*/
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generateInterfaces = void 0;
|
|
6
|
+
exports.makeResolvableSectionElementMock = exports.SectionInterfacesGenerator = exports.generateInterfaces = void 0;
|
|
7
|
+
const haystack_core_1 = require("haystack-core");
|
|
4
8
|
const haystack_nclient_1 = require("haystack-nclient");
|
|
5
9
|
const ResolvableValueElement_1 = require("../elements/ResolvableValueElement");
|
|
6
10
|
const ResolvableSectionElement_1 = require("../elements/section/ResolvableSectionElement");
|
|
@@ -11,22 +15,28 @@ const generateInterfaces = (section) => {
|
|
|
11
15
|
return new SectionInterfacesGenerator(section).generate();
|
|
12
16
|
};
|
|
13
17
|
exports.generateInterfaces = generateInterfaces;
|
|
18
|
+
/**
|
|
19
|
+
* Class for generating typescript interfaces from a section data.
|
|
20
|
+
*/
|
|
14
21
|
class SectionInterfacesGenerator {
|
|
15
22
|
constructor(section) {
|
|
16
|
-
this.
|
|
23
|
+
this.sectionData = section;
|
|
17
24
|
}
|
|
18
|
-
|
|
19
|
-
|
|
25
|
+
sectionData;
|
|
26
|
+
output = '';
|
|
20
27
|
#out = (str, indentation = 0) => {
|
|
21
|
-
this
|
|
28
|
+
this.output += this.#indent(indentation) + str + '\n';
|
|
22
29
|
};
|
|
23
30
|
#indent(indentation = 0) {
|
|
24
31
|
return '\t'.repeat(indentation);
|
|
25
32
|
}
|
|
26
33
|
generate = () => {
|
|
27
34
|
this.#generateImports();
|
|
28
|
-
|
|
29
|
-
|
|
35
|
+
const section = makeResolvableSectionElementMock(this.sectionData);
|
|
36
|
+
this.#generateSectionDefinition(section);
|
|
37
|
+
const result = this.output;
|
|
38
|
+
this.output = '';
|
|
39
|
+
return result;
|
|
30
40
|
};
|
|
31
41
|
#generateImports() {
|
|
32
42
|
this.#out(`/* eslint-disable @typescript-eslint/no-namespace */
|
|
@@ -47,21 +57,13 @@ export const UI_ELEMENTS = json as UiElementRoot
|
|
|
47
57
|
//////////////////////////////////////////////////////////////////////////
|
|
48
58
|
`);
|
|
49
59
|
}
|
|
50
|
-
#generateSectionDefinition(
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
onUpdate: () => {
|
|
55
|
-
return;
|
|
56
|
-
},
|
|
57
|
-
resolver: new Resolver_1.Resolver({ client: makeMockedClient() }),
|
|
58
|
-
});
|
|
59
|
-
this.#generateInterface(section, indentation);
|
|
60
|
-
if (countSectionChildrenSections(section) > 0) {
|
|
61
|
-
this.#generateNamespace(section, indentation);
|
|
60
|
+
#generateSectionDefinition(section, indentation = 0) {
|
|
61
|
+
this.generateInterface(section, indentation);
|
|
62
|
+
if (hasChildrenSections(section)) {
|
|
63
|
+
this.generateNamespace(section, indentation);
|
|
62
64
|
}
|
|
63
65
|
}
|
|
64
|
-
|
|
66
|
+
generateInterface(section, indentation) {
|
|
65
67
|
const name = section.name ?? ROOT_NAME;
|
|
66
68
|
this.#out(`export interface ${capitalize(name)} extends UiElementData {`, indentation);
|
|
67
69
|
const parameters = section.getParameterList();
|
|
@@ -84,7 +86,7 @@ export const UI_ELEMENTS = json as UiElementRoot
|
|
|
84
86
|
if (section.children.length > 0) {
|
|
85
87
|
this.#out('_resolved?: {', indentation);
|
|
86
88
|
section.children.forEach((child) => this.#out((0, ResolvableSectionElement_1.isChildUnresolvedSection)(child)
|
|
87
|
-
? `${child[0]}
|
|
89
|
+
? `${child[0]}?: ${capitalize(name)}.${capitalize(child[0] ?? '')}`
|
|
88
90
|
: `${child.name}?: ${getResolvedType(child)}`, indentation + 1));
|
|
89
91
|
this.#out('}', indentation);
|
|
90
92
|
}
|
|
@@ -92,27 +94,43 @@ export const UI_ELEMENTS = json as UiElementRoot
|
|
|
92
94
|
this.#out(`_resolved?: Record<string, unknown>`, indentation);
|
|
93
95
|
}
|
|
94
96
|
}
|
|
95
|
-
|
|
97
|
+
generateNamespace(section, indentation) {
|
|
96
98
|
const name = section.name ?? ROOT_NAME;
|
|
97
99
|
this.#out(`export namespace ${capitalize(name)} {`, indentation);
|
|
98
100
|
section.children
|
|
99
101
|
.filter((child) => (0, ResolvableSectionElement_1.isChildUnresolvedSection)(child))
|
|
100
102
|
.forEach((child) => {
|
|
101
103
|
if ((0, ResolvableSectionElement_1.isChildUnresolvedSection)(child)) {
|
|
102
|
-
|
|
104
|
+
const section = makeResolvableSectionElementMock(child[1], child[0]);
|
|
105
|
+
this.#generateSectionDefinition(section, indentation + 1);
|
|
103
106
|
}
|
|
104
107
|
});
|
|
105
108
|
this.#out(`}`, indentation);
|
|
106
109
|
}
|
|
107
110
|
}
|
|
108
|
-
|
|
111
|
+
exports.SectionInterfacesGenerator = SectionInterfacesGenerator;
|
|
112
|
+
function makeResolvableSectionElementMock(sectionData, name) {
|
|
113
|
+
return new ResolvableSectionElement_1.ResolvableSectionElement({
|
|
114
|
+
name,
|
|
115
|
+
element: sectionData,
|
|
116
|
+
onUpdate: () => {
|
|
117
|
+
return;
|
|
118
|
+
},
|
|
119
|
+
resolver: new Resolver_1.Resolver({
|
|
120
|
+
client: makeMockedClient(),
|
|
121
|
+
user: haystack_core_1.HDict.make({ userRole: 'su' }),
|
|
122
|
+
}),
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
exports.makeResolvableSectionElementMock = makeResolvableSectionElementMock;
|
|
126
|
+
function makeMockedClient() {
|
|
109
127
|
return new haystack_nclient_1.Client({
|
|
110
128
|
base: new URL('http://localhost:8080'),
|
|
111
129
|
fetch: () => new Promise(() => {
|
|
112
130
|
return new Response();
|
|
113
131
|
}),
|
|
114
132
|
});
|
|
115
|
-
}
|
|
133
|
+
}
|
|
116
134
|
function capitalize(str) {
|
|
117
135
|
return str.charAt(0)?.toUpperCase() + str.substring(1);
|
|
118
136
|
}
|
|
@@ -126,5 +144,8 @@ function getResolvedType(child) {
|
|
|
126
144
|
return 'unknown';
|
|
127
145
|
}
|
|
128
146
|
}
|
|
129
|
-
|
|
147
|
+
function hasChildrenSections(section) {
|
|
148
|
+
return (section.children.filter((child) => (0, ResolvableSectionElement_1.isChildUnresolvedSection)(child))
|
|
149
|
+
.length > 0);
|
|
150
|
+
}
|
|
130
151
|
//# sourceMappingURL=generateInterfaces.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateInterfaces.js","sourceRoot":"","sources":["../../../src/resolvableElements/interfacesGeneration/generateInterfaces.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"generateInterfaces.js","sourceRoot":"","sources":["../../../src/resolvableElements/interfacesGeneration/generateInterfaces.ts"],"names":[],"mappings":"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"}
|
package/dist/resolvableElements/interfacesGeneration/generateTypescriptInterfacesFile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateTypescriptInterfacesFile.js","sourceRoot":"","sources":["../../../src/resolvableElements/interfacesGeneration/generateTypescriptInterfacesFile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"generateTypescriptInterfacesFile.js","sourceRoot":"","sources":["../../../src/resolvableElements/interfacesGeneration/generateTypescriptInterfacesFile.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAwB;AACxB,6DAAyD;AAEzD;;GAEG;AACY,KAAK,UAAU,gCAAgC,CAC7D,SAAS,GAAG,kBAAkB,EAC9B,UAAU,GAAG,gBAAgB;IAE7B,OAAO,CAAC,GAAG,CAAC,8BAA8B,SAAS,QAAQ,CAAC,CAAA;IAE5D,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;IAE9D,MAAM,MAAM,GAAG,IAAA,uCAAkB,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IAEnD,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IAEpC,OAAO,CAAC,GAAG,CAAC,mCAAmC,UAAU,EAAE,CAAC,CAAA;AAC7D,CAAC;AAbD,mDAaC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ResolvableSectionElement } from '../elements/section/ResolvableSectionElement';
|
|
2
|
-
import { ResolvedSectionResult } from '../elements/section/SectionElementMeta';
|
|
3
|
-
import {
|
|
2
|
+
import { ParametersOfSection, ResolvedSectionResult } from '../elements/section/SectionElementMeta';
|
|
3
|
+
import { UiElementData } from '../elements/UiElement';
|
|
4
4
|
/**
|
|
5
5
|
* Resolves a section UI element.
|
|
6
6
|
* IMPORTANT: This hook requires a resolver react context defined. @See `ResolverProvider`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useResolveSection.js","sourceRoot":"","sources":["../../../src/resolvableElements/react/useResolveSection.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"useResolveSection.js","sourceRoot":"","sources":["../../../src/resolvableElements/react/useResolveSection.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,iCAA+D;AAC/D,0EAAyE;AACzE,2FAAuF;AAMvF,6DAAyD;AAEzD;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAChC,WAAc,EACd,UAAmC;IAEnC,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,IAAA,kBAAU,EAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IAC9D,MAAM,QAAQ,GAAG,IAAA,uCAAkB,GAAE,CAAA;IACrC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,IAAA,kBAAU,EAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IACxE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAA;IACrC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAA;IAC/C,MAAM,GAAG,GAAG,IAAA,cAAM,GAA+B,CAAA;IAEjD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;QACjB,GAAG,CAAC,OAAO,GAAG,IAAI,mDAAwB,CAAC;YAC1C,OAAO,EAAE,WAAW;YACpB,QAAQ;YACR,QAAQ,EAAE,MAAM;SAChB,CAAC,CAAA;KACF;IAED,MAAM,cAAc,GAAG,IAAA,oCAAkB,EAAC,UAAU,CAAC,CAAA;IAErD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACd,IAAI,kBAAkB,CAAC,UAAU,CAAC,EAAE;YACnC,GAAG,CAAC,OAAO,GAAG,IAAI,mDAAwB,CAAC;gBAC1C,OAAO,EAAE,WAAW;gBACpB,QAAQ;gBACR,QAAQ,EAAE,MAAM;aAChB,CAAC,CAAA;YAEF,UAAU,CAAC,IAAI,CAAC,CAAA;YAChB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO;iBACzB,UAAU,CAAC,cAAc,CAAC;iBAC1B,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;iBAC/B,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;YAElC,OAAO,GAAG,EAAE;gBACX,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;oBACpB,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,CAAA;gBACrB,CAAC,CAAC,CAAA;YACH,CAAC,CAAA;SACD;QACD,OAAM;IACP,CAAC,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IAE/D,OAAO;QACN,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAA6B;QACrD;YACC,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,KAAK;YACL,SAAS;SACT;KACD,CAAA;AACF,CAAC;AArDD,8CAqDC;AAED,MAAM,kBAAkB,GAAG,CAC1B,UAAkC,EACjC,EAAE;IACH,IACC,UAAU;QACV,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,EAC5D;QACD,OAAO,KAAK,CAAA;KACZ;IACD,OAAO,IAAI,CAAA;AACZ,CAAC,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { PropsWithChildren } from 'react';
|
|
2
2
|
import { Resolver } from '../Resolver';
|
|
3
3
|
export declare function useResolverContext(): Resolver;
|
|
4
|
-
export declare const ResolverProvider: React.FC
|
|
4
|
+
export declare const ResolverProvider: React.FC<PropsWithChildren>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useResolverContext.jsx","sourceRoot":"","sources":["../../../src/resolvableElements/react/useResolverContext.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"useResolverContext.jsx","sourceRoot":"","sources":["../../../src/resolvableElements/react/useResolverContext.tsx"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uDAAyC;AACzC,mDAA0C;AAC1C,+CAKc;AACd,yDAAqD;AACrD,0CAAsC;AAEtC,MAAM,eAAe,GAAG,eAAK,CAAC,aAAa,CAC1C,IAAI,mBAAQ,CAAC;IACZ,MAAM,EAAE,IAAI,yBAAM,CAAC;QAClB,IAAI,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;KACnC,CAAC;CACF,CAAC,CACF,CAAA;AAED,eAAe,CAAC,WAAW,GAAG,iBAAiB,CAAA;AAE/C,SAAgB,kBAAkB;IACjC,OAAO,IAAA,kBAAU,EAAC,eAAe,CAAC,CAAA;AACnC,CAAC;AAFD,gDAEC;AAEM,MAAM,gBAAgB,GAAgC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC7E,MAAM,MAAM,GAAG,IAAA,0BAAS,GAAE,CAAA;IAC1B,MAAM,IAAI,GAAG,IAAA,+BAAc,GAAE,CAAA;IAE7B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EACvC,GAAG,EAAE,CAAC,IAAI,mBAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CACpC,CAAA;IAED,IAAA,iBAAS,EAAC,GAAG,EAAE;QACd,WAAW,CAAC,IAAI,mBAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAC5C,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;IAElB,OAAO,CACN,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CACzC;GAAA,CAAC,QAAQ,CACV;EAAA,EAAE,eAAe,CAAC,QAAQ,CAAC,CAC3B,CAAA;AACF,CAAC,CAAA;AAjBY,QAAA,gBAAgB,oBAiB5B"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2022, J2 Innovations. All Rights Reserved
|
|
4
|
+
*/
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.replaceTemplateVariables = exports.resolveTemplateExpression = exports.REG_EXPR_MATCHING_TEMPLATE = void 0;
|
|
4
7
|
exports.REG_EXPR_MATCHING_TEMPLATE = new RegExp('{{([^{}]*)}}', 'g');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveTemplatedExpression.js","sourceRoot":"","sources":["../../src/resolvableElements/resolveTemplatedExpression.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"resolveTemplatedExpression.js","sourceRoot":"","sources":["../../src/resolvableElements/resolveTemplatedExpression.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAIU,QAAA,0BAA0B,GAAG,IAAI,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,CAAA;AAEzE;;;;;;;;GAQG;AACI,MAAM,yBAAyB,GAAG,CACxC,IAAY,EACZ,UAAkB,EACT,EAAE;IACX,MAAM,SAAS,GAAG,UAAU,CAAA;IAE5B,OAAO,IAAA,gCAAwB,EAC9B,IAAI,EACJ,CAAC,UAAkB,EAAE,KAAa,EAAE,EAAE;QACrC,MAAM,SAAS,GAAG,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;QACjD,IAAI,SAAS,IAAI,IAAI,EAAE;YACtB,OAAO,SAAS,CAAA;SAChB;QACD,MAAM,IAAI,KAAK,CACd,6BAA6B,KAAK,OAAO,SAAS,EAAE,MAAM,EAAE,EAAE,CAC9D,CAAA;IACF,CAAC,CACD,CAAA;AACF,CAAC,CAAA;AAlBY,QAAA,yBAAyB,6BAkBrC;AAED;;;;;GAKG;AACI,MAAM,wBAAwB,GAAG,CACvC,cAAsB,EACtB,QAAsD,EAC7C,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,kCAA0B,EAAE,QAAQ,CAAC,CAAA;AAH5D,QAAA,wBAAwB,4BAGoC"}
|
package/dist/useCurrentUser.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { HDict } from 'haystack-core';
|
|
2
|
-
import React from 'react';
|
|
2
|
+
import React, { PropsWithChildren } from 'react';
|
|
3
3
|
/**
|
|
4
4
|
* User context retrieval hook.
|
|
5
5
|
*/
|
|
@@ -7,4 +7,4 @@ export declare function useCurrentUser(): HDict | undefined;
|
|
|
7
7
|
/**
|
|
8
8
|
* User context provider for FIN 5.
|
|
9
9
|
*/
|
|
10
|
-
export declare const UserContextProvider: React.FC
|
|
10
|
+
export declare const UserContextProvider: React.FC<PropsWithChildren>;
|
package/dist/useCurrentUser.jsx
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2022, J2 Innovations. All Rights Reserved
|
|
4
|
+
*/
|
|
2
5
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
6
|
if (k2 === undefined) k2 = k;
|
|
4
7
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -38,7 +41,7 @@ exports.useCurrentUser = useCurrentUser;
|
|
|
38
41
|
/**
|
|
39
42
|
* User context provider for FIN 5.
|
|
40
43
|
*/
|
|
41
|
-
const UserContextProvider = ({ children }) => {
|
|
44
|
+
const UserContextProvider = ({ children, }) => {
|
|
42
45
|
const { grid, isLoading } = (0, haystack_react_1.useEval)('finGetCurrentUser()');
|
|
43
46
|
return (<UserContext.Provider value={isLoading ? undefined : grid[0]}>
|
|
44
47
|
{children}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCurrentUser.jsx","sourceRoot":"","sources":["../src/useCurrentUser.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"useCurrentUser.jsx","sourceRoot":"","sources":["../src/useCurrentUser.tsx"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;AAGH,mDAAwC;AACxC,+CAA4D;AAE5D,MAAM,WAAW,GAAG,eAAK,CAAC,aAAa,CAAoB,SAAS,CAAC,CAAA;AAErE,WAAW,CAAC,WAAW,GAAG,aAAa,CAAA;AAEvC;;GAEG;AACH,SAAgB,cAAc;IAC7B,OAAO,IAAA,kBAAU,EAAC,WAAW,CAAC,CAAA;AAC/B,CAAC;AAFD,wCAEC;AAED;;GAEG;AACI,MAAM,mBAAmB,GAAgC,CAAC,EAChE,QAAQ,GACR,EAAE,EAAE;IACJ,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAA,wBAAO,EAAC,qBAAqB,CAAC,CAAA;IAE1D,OAAO,CACN,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAC5D;GAAA,CAAC,QAAQ,CACV;EAAA,EAAE,WAAW,CAAC,QAAQ,CAAC,CACvB,CAAA;AACF,CAAC,CAAA;AAVY,QAAA,mBAAmB,uBAU/B"}
|
package/dist_es/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { type FunctionResult } from './resolvableElements/elements/function/FunctionElement';
|
|
2
|
+
export { isSectionData, type ParametersOfSection, type ResolvedSectionResult, } from './resolvableElements/elements/section/SectionElementMeta';
|
|
2
3
|
export { type UiElementData } from './resolvableElements/elements/UiElement';
|
|
3
4
|
export * from './resolvableElements/react/useResolverContext';
|
|
4
5
|
export * from './resolvableElements/react/useResolveSection';
|
package/dist_es/index.js
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2022, J2 Innovations. All Rights Reserved
|
|
3
|
+
*/
|
|
4
|
+
export { isSectionData, } from './resolvableElements/elements/section/SectionElementMeta';
|
|
1
5
|
//////////////////////////////////////////////////////////////////////////
|
|
2
6
|
// React
|
|
3
7
|
//////////////////////////////////////////////////////////////////////////
|
package/dist_es/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EACN,aAAa,GAGb,MAAM,0DAA0D,CAAA;AAEjE,0EAA0E;AAC1E,QAAQ;AACR,0EAA0E;AAC1E,cAAc,+CAA+C,CAAA;AAC7D,cAAc,8CAA8C,CAAA;AAC5D,0EAA0E;AAC1E,QAAQ;AACR,0EAA0E;AAC1E,cAAc,kBAAkB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Resolver.js","sourceRoot":"","sources":["../../src/resolvableElements/Resolver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Resolver.js","sourceRoot":"","sources":["../../src/resolvableElements/Resolver.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH;;;GAGG;AACH,MAAM,OAAO,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"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2022, J2 Innovations. All Rights Reserved
|
|
3
|
+
*/
|
|
1
4
|
import { UiElement } from './UiElement';
|
|
2
5
|
/**
|
|
3
6
|
* base class for elements that can be resolved
|
|
@@ -8,7 +11,7 @@ export class ResolvableElement extends UiElement {
|
|
|
8
11
|
}
|
|
9
12
|
#initialized = false;
|
|
10
13
|
initialize = async (parameters) => {
|
|
11
|
-
if (this.isAccessAllowed() && !this.#initialized) {
|
|
14
|
+
if (this.isAccessAllowed(this._meta) && !this.#initialized) {
|
|
12
15
|
this.#initialized = true;
|
|
13
16
|
return await this.doInitialize(parameters);
|
|
14
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResolvableElement.js","sourceRoot":"","sources":["../../../src/resolvableElements/elements/ResolvableElement.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ResolvableElement.js","sourceRoot":"","sources":["../../../src/resolvableElements/elements/ResolvableElement.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,SAAS,EAA2C,MAAM,aAAa,CAAA;AAEhF;;GAEG;AACH,MAAM,OAAgB,iBAEpB,SAAQ,SAAY;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"}
|
|
@@ -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
|
}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2022, J2 Innovations. All Rights Reserved
|
|
3
|
+
*/
|
|
4
|
+
import { ZincReader } from 'haystack-core';
|
|
1
5
|
import { ResolvableElement } from './ResolvableElement';
|
|
2
6
|
export const isResolvableValueElement = (element) => {
|
|
3
7
|
return !!element?._meta && isResolvableValueElementMeta(element._meta);
|
|
@@ -12,6 +16,18 @@ export const isResolvableValueElementMeta = (meta) => {
|
|
|
12
16
|
export class ResolvableValueElement extends ResolvableElement {
|
|
13
17
|
constructor(data) {
|
|
14
18
|
super(data);
|
|
19
|
+
this.#setDefaultValue();
|
|
20
|
+
}
|
|
21
|
+
#setDefaultValue() {
|
|
22
|
+
const { defaultValue } = this._meta;
|
|
23
|
+
if (defaultValue) {
|
|
24
|
+
try {
|
|
25
|
+
this.value = ZincReader.readValue(defaultValue);
|
|
26
|
+
}
|
|
27
|
+
catch (e) {
|
|
28
|
+
console.error('Failed to parse element default value from: ', JSON.stringify(this._meta), e);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
15
31
|
}
|
|
16
32
|
}
|
|
17
33
|
//# sourceMappingURL=ResolvableValueElement.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResolvableValueElement.js","sourceRoot":"","sources":["../../../src/resolvableElements/elements/ResolvableValueElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"ResolvableValueElement.js","sourceRoot":"","sources":["../../../src/resolvableElements/elements/ResolvableValueElement.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAavD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACvC,OAAsB,EACiC,EAAE;IACzD,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,4BAA4B,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AACvE,CAAC,CAAA;AAED,MAAM,CAAC,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;AAED;;GAEG;AACH,MAAM,OAAgB,sBAEpB,SAAQ,iBAAoB;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,UAAU,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"}
|
|
@@ -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:
|
|
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
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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;
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2022, J2 Innovations. All Rights Reserved
|
|
3
|
+
*/
|
|
1
4
|
const USER_ROLE_TAG_NAME = 'uiElementPermissions';
|
|
2
5
|
/**
|
|
3
6
|
* Base UiElement class
|
|
@@ -18,29 +21,33 @@ export class UiElement {
|
|
|
18
21
|
inspect() {
|
|
19
22
|
console.log(this);
|
|
20
23
|
}
|
|
21
|
-
isAccessAllowed() {
|
|
22
|
-
|
|
23
|
-
return true;
|
|
24
|
-
}
|
|
25
|
-
const userRole = this.resolver.user?.get(USER_ROLE_TAG_NAME);
|
|
26
|
-
if (userRole) {
|
|
27
|
-
return this._meta.access.includes(userRole.value);
|
|
28
|
-
}
|
|
29
|
-
// If userRole is not defined return false.
|
|
30
|
-
return false;
|
|
24
|
+
isAccessAllowed(meta) {
|
|
25
|
+
return UiElement.#isElementAccessible(meta, this.resolver.user);
|
|
31
26
|
}
|
|
32
|
-
|
|
27
|
+
_value;
|
|
33
28
|
get value() {
|
|
34
|
-
return this
|
|
29
|
+
return this._value;
|
|
35
30
|
}
|
|
36
31
|
set value(value) {
|
|
37
|
-
this
|
|
32
|
+
this._value = value;
|
|
38
33
|
this.onUpdate(value);
|
|
39
34
|
}
|
|
40
35
|
onUpdate;
|
|
36
|
+
static #isElementAccessible(meta, user) {
|
|
37
|
+
if (!meta || !meta.access || UiElement.#isSuperuser(user)) {
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
const userRole = user?.get(USER_ROLE_TAG_NAME);
|
|
41
|
+
if (userRole && meta.access.includes(userRole.value)) {
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
static #isSuperuser(user) {
|
|
47
|
+
return user?.get('userRole')?.value === 'su';
|
|
48
|
+
}
|
|
49
|
+
static joinFilters(...filter) {
|
|
50
|
+
return filter.filter((filter) => filter).join(' and ');
|
|
51
|
+
}
|
|
41
52
|
}
|
|
42
|
-
export function joinFilters(...filter) {
|
|
43
|
-
return filter.filter((filter) => filter).join(' and ');
|
|
44
|
-
}
|
|
45
|
-
const isSuperuser = (user) => user?.get('userRole')?.value === 'su';
|
|
46
53
|
//# sourceMappingURL=UiElement.js.map
|