@j2inn/resolvable-ui-elements 0.0.1-beta.6 → 0.0.1-beta.9

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 CHANGED
@@ -1,2 +1,2 @@
1
- ### How do I get set up? ###
2
- To install this package run `npm i @j2inn/resolvable-ui-elements`
1
+ ### How do I get set up? ###
2
+ To install this package run `npm i @j2inn/resolvable-ui-elements`
@@ -16,4 +16,6 @@ export declare type UseResolveSectionResult<T extends UiElementData> = [
16
16
  export interface UseResolveSectionExtra<T extends UiElementData> {
17
17
  refresh: () => void;
18
18
  element?: ResolvableSectionElement<T>;
19
+ loads: number;
20
+ isLoading: boolean;
19
21
  }
@@ -16,25 +16,29 @@ function useResolveSection(sectionData, parameters) {
16
16
  const [, update] = (0, react_1.useReducer)((count) => count + 1, 0);
17
17
  const resolver = (0, useResolverContext_1.useResolverContext)();
18
18
  const [refreshes, refresh] = (0, react_1.useReducer)((count) => count + 1, 0);
19
- const [initialResolvable] = (0, react_1.useState)(() => new ResolvableSectionElement_1.ResolvableSectionElement({
20
- element: sectionData,
21
- resolver,
22
- onUpdate: () => {
23
- update();
24
- },
25
- }));
26
- const ref = (0, react_1.useRef)(initialResolvable);
19
+ const [loads, setLoads] = (0, react_1.useState)(0);
20
+ const [isLoading, setLoading] = (0, react_1.useState)(false);
21
+ const ref = (0, react_1.useRef)();
22
+ if (!ref.current) {
23
+ ref.current = new ResolvableSectionElement_1.ResolvableSectionElement({
24
+ element: sectionData,
25
+ resolver,
26
+ onUpdate: update,
27
+ });
28
+ }
27
29
  const parametersDict = (0, FunctionElement_1.makeParametersDict)(parameters);
28
30
  (0, react_1.useEffect)(() => {
29
31
  if (areParametersValid(parameters)) {
30
32
  ref.current = new ResolvableSectionElement_1.ResolvableSectionElement({
31
33
  element: sectionData,
32
34
  resolver,
33
- onUpdate: () => {
34
- update();
35
- },
35
+ onUpdate: update,
36
36
  });
37
- const promise = ref.current.initialize(parametersDict);
37
+ setLoading(true);
38
+ const promise = ref.current
39
+ .initialize(parametersDict)
40
+ .then(() => setLoads(loads + 1))
41
+ .finally(() => setLoading(false));
38
42
  return () => {
39
43
  promise.finally(() => {
40
44
  ref.current?.close();
@@ -44,10 +48,12 @@ function useResolveSection(sectionData, parameters) {
44
48
  return;
45
49
  }, [sectionData, resolver, refreshes, parametersDict.toAxon()]);
46
50
  return [
47
- (ref.current?.value ?? {}),
51
+ (ref.current.value ?? {}),
48
52
  {
49
53
  refresh: refresh,
50
54
  element: ref.current,
55
+ loads,
56
+ isLoading,
51
57
  },
52
58
  ];
53
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useResolveSection.js","sourceRoot":"","sources":["../../../src/resolvableElements/react/useResolveSection.ts"],"names":[],"mappings":";;;AAAA,iCAA+D;AAC/D,0EAAyE;AACzE,2FAAuF;AAGvF,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,iBAAiB,CAAC,GAAG,IAAA,gBAAQ,EACnC,GAAG,EAAE,CACJ,IAAI,mDAAwB,CAAC;QAC5B,OAAO,EAAE,WAAW;QACpB,QAAQ;QACR,QAAQ,EAAE,GAAG,EAAE;YACd,MAAM,EAAE,CAAA;QACT,CAAC;KACD,CAAC,CACH,CAAA;IACD,MAAM,GAAG,GAAG,IAAA,cAAM,EAA8B,iBAAiB,CAAC,CAAA;IAClE,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,GAAG,EAAE;oBACd,MAAM,EAAE,CAAA;gBACT,CAAC;aACD,CAAC,CAAA;YAEF,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;YAEtD,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,EAAE,KAAK,IAAI,EAAE,CAA6B;QACtD;YACC,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,GAAG,CAAC,OAAO;SACpB;KACD,CAAA;AACF,CAAC;AAhDD,8CAgDC;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
+ {"version":3,"file":"useResolveSection.js","sourceRoot":"","sources":["../../../src/resolvableElements/react/useResolveSection.ts"],"names":[],"mappings":";;;AAAA,iCAA+D;AAC/D,0EAAyE;AACzE,2FAAuF;AAGvF,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"}
@@ -16,4 +16,6 @@ export declare type UseResolveSectionResult<T extends UiElementData> = [
16
16
  export interface UseResolveSectionExtra<T extends UiElementData> {
17
17
  refresh: () => void;
18
18
  element?: ResolvableSectionElement<T>;
19
+ loads: number;
20
+ isLoading: boolean;
19
21
  }
@@ -13,25 +13,29 @@ export function useResolveSection(sectionData, parameters) {
13
13
  const [, update] = useReducer((count) => count + 1, 0);
14
14
  const resolver = useResolverContext();
15
15
  const [refreshes, refresh] = useReducer((count) => count + 1, 0);
16
- const [initialResolvable] = useState(() => new ResolvableSectionElement({
17
- element: sectionData,
18
- resolver,
19
- onUpdate: () => {
20
- update();
21
- },
22
- }));
23
- const ref = useRef(initialResolvable);
16
+ const [loads, setLoads] = useState(0);
17
+ const [isLoading, setLoading] = useState(false);
18
+ const ref = useRef();
19
+ if (!ref.current) {
20
+ ref.current = new ResolvableSectionElement({
21
+ element: sectionData,
22
+ resolver,
23
+ onUpdate: update,
24
+ });
25
+ }
24
26
  const parametersDict = makeParametersDict(parameters);
25
27
  useEffect(() => {
26
28
  if (areParametersValid(parameters)) {
27
29
  ref.current = new ResolvableSectionElement({
28
30
  element: sectionData,
29
31
  resolver,
30
- onUpdate: () => {
31
- update();
32
- },
32
+ onUpdate: update,
33
33
  });
34
- const promise = ref.current.initialize(parametersDict);
34
+ setLoading(true);
35
+ const promise = ref.current
36
+ .initialize(parametersDict)
37
+ .then(() => setLoads(loads + 1))
38
+ .finally(() => setLoading(false));
35
39
  return () => {
36
40
  promise.finally(() => {
37
41
  ref.current?.close();
@@ -41,10 +45,12 @@ export function useResolveSection(sectionData, parameters) {
41
45
  return;
42
46
  }, [sectionData, resolver, refreshes, parametersDict.toAxon()]);
43
47
  return [
44
- (ref.current?.value ?? {}),
48
+ (ref.current.value ?? {}),
45
49
  {
46
50
  refresh: refresh,
47
51
  element: ref.current,
52
+ loads,
53
+ isLoading,
48
54
  },
49
55
  ];
50
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useResolveSection.js","sourceRoot":"","sources":["../../../src/resolvableElements/react/useResolveSection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAA;AAGvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEzD;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAChC,WAAc,EACd,UAAmC;IAEnC,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IAC9D,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAA;IACrC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IACxE,MAAM,CAAC,iBAAiB,CAAC,GAAG,QAAQ,CACnC,GAAG,EAAE,CACJ,IAAI,wBAAwB,CAAC;QAC5B,OAAO,EAAE,WAAW;QACpB,QAAQ;QACR,QAAQ,EAAE,GAAG,EAAE;YACd,MAAM,EAAE,CAAA;QACT,CAAC;KACD,CAAC,CACH,CAAA;IACD,MAAM,GAAG,GAAG,MAAM,CAA8B,iBAAiB,CAAC,CAAA;IAClE,MAAM,cAAc,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAA;IAErD,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,kBAAkB,CAAC,UAAU,CAAC,EAAE;YACnC,GAAG,CAAC,OAAO,GAAG,IAAI,wBAAwB,CAAC;gBAC1C,OAAO,EAAE,WAAW;gBACpB,QAAQ;gBACR,QAAQ,EAAE,GAAG,EAAE;oBACd,MAAM,EAAE,CAAA;gBACT,CAAC;aACD,CAAC,CAAA;YAEF,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;YAEtD,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,EAAE,KAAK,IAAI,EAAE,CAA6B;QACtD;YACC,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,GAAG,CAAC,OAAO;SACpB;KACD,CAAA;AACF,CAAC;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
+ {"version":3,"file":"useResolveSection.js","sourceRoot":"","sources":["../../../src/resolvableElements/react/useResolveSection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAA;AAGvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEzD;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAChC,WAAc,EACd,UAAmC;IAEnC,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IAC9D,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAA;IACrC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IACxE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACrC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC/C,MAAM,GAAG,GAAG,MAAM,EAA+B,CAAA;IAEjD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;QACjB,GAAG,CAAC,OAAO,GAAG,IAAI,wBAAwB,CAAC;YAC1C,OAAO,EAAE,WAAW;YACpB,QAAQ;YACR,QAAQ,EAAE,MAAM;SAChB,CAAC,CAAA;KACF;IAED,MAAM,cAAc,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAA;IAErD,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,kBAAkB,CAAC,UAAU,CAAC,EAAE;YACnC,GAAG,CAAC,OAAO,GAAG,IAAI,wBAAwB,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;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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@j2inn/resolvable-ui-elements",
3
- "version": "0.0.1-beta.6",
3
+ "version": "0.0.1-beta.9",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -23,14 +23,13 @@
23
23
  "dist_es/**/*"
24
24
  ],
25
25
  "peerDependencies": {
26
- "haystack-core": "^2.0.37",
27
- "haystack-nclient": "^3.0.26",
28
- "haystack-units": "^1.0.19",
26
+ "haystack-core": "^2.0.38",
27
+ "haystack-nclient": "^3.0.28",
29
28
  "haystack-react": "^3.0.9",
29
+ "haystack-units": "^1.0.19",
30
30
  "react": "^17.0.2",
31
31
  "react-dom": "^17.0.2"
32
32
  },
33
- "dependencies": {},
34
33
  "devDependencies": {
35
34
  "@types/jest": "^27.4.0",
36
35
  "@types/node": "^15.0.2",