@_linked/react 1.0.0 → 1.2.0-next.20260329000308
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/CHANGELOG.md +15 -0
- package/lib/cjs/index.d.ts +2 -0
- package/lib/cjs/index.js +2 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/package.d.ts +5 -5
- package/lib/cjs/package.js.map +1 -1
- package/lib/cjs/utils/ClassNames.d.ts +2 -0
- package/lib/cjs/utils/ClassNames.js +9 -0
- package/lib/cjs/utils/ClassNames.js.map +1 -0
- package/lib/cjs/utils/LinkedComponent.d.ts +26 -9
- package/lib/cjs/utils/LinkedComponent.js +66 -37
- package/lib/cjs/utils/LinkedComponent.js.map +1 -1
- package/lib/cjs/utils/LinkedComponentClass.d.ts +1 -0
- package/lib/cjs/utils/LinkedComponentClass.js.map +1 -1
- package/lib/cjs/utils/useQueryContext.d.ts +7 -0
- package/lib/cjs/utils/useQueryContext.js +18 -0
- package/lib/cjs/utils/useQueryContext.js.map +1 -0
- package/lib/esm/index.d.ts +2 -0
- package/lib/esm/index.js +2 -0
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/package.d.ts +5 -5
- package/lib/esm/package.js.map +1 -1
- package/lib/esm/utils/ClassNames.d.ts +2 -0
- package/lib/esm/utils/ClassNames.js +3 -0
- package/lib/esm/utils/ClassNames.js.map +1 -0
- package/lib/esm/utils/LinkedComponent.d.ts +26 -9
- package/lib/esm/utils/LinkedComponent.js +66 -37
- package/lib/esm/utils/LinkedComponent.js.map +1 -1
- package/lib/esm/utils/LinkedComponentClass.d.ts +1 -0
- package/lib/esm/utils/LinkedComponentClass.js.map +1 -1
- package/lib/esm/utils/useQueryContext.d.ts +7 -0
- package/lib/esm/utils/useQueryContext.js +15 -0
- package/lib/esm/utils/useQueryContext.js.map +1 -0
- package/package.json +6 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.2.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#5](https://github.com/Semantu/linked-react/pull/5) [`ed0e99d`](https://github.com/Semantu/linked-react/commit/ed0e99d942fd9b5dfc936a5759d5c591ac470a04) Thanks [@linked-cm](https://github.com/linked-cm)! - Migrate from `SelectQueryFactory` to `QueryBuilder` for compatibility with `@_linked/core` v2.x. Replace removed `Shape.queryParser` with `getQueryDispatch()`, update all type signatures and runtime code to use the immutable `QueryBuilder` API (`.for()`, `.forAll()`, `.limit()`, `.offset()`, `.build()`). Query result types are now correctly inferred from `QueryBuilder` generic parameters. Requires `@_linked/core` ^2.2.0 as peer dependency.
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- [#4](https://github.com/Semantu/linked-react/pull/4) [`58522a9`](https://github.com/Semantu/linked-react/commit/58522a9b7be5a2c7d8e279704da7dd2bc371cba4) Thanks [@flyon](https://github.com/flyon)! - Upgrade to @\_linked/core@2.2.1
|
|
12
|
+
Fix `preloadFor` rendering wrong entity and add Fuseki integration tests.
|
|
13
|
+
Added 7 Fuseki-backed integration tests covering `linkedComponent` and `linkedSetComponent`:
|
|
14
|
+
Tests use a custom Jest environment (`jest-environment-jsdom-with-fetch`) that restores Node's native `fetch` in jsdom, and auto-start Fuseki via Docker when needed.
|
|
15
|
+
|
|
16
|
+
- [#8](https://github.com/Semantu/linked-react/pull/8) [`fac333c`](https://github.com/Semantu/linked-react/commit/fac333c81c913d515ad70af53c13f0e9bc8737a4) Thanks [@flyon](https://github.com/flyon)! - `linkedComponent` now shows a loading spinner while a `PendingQueryContext` resolves instead of logging a warning and returning null. `loadData` handles null/error results gracefully. Fuseki test URL uses shared `FUSEKI_BASE_URL` constant.
|
|
17
|
+
|
|
3
18
|
## 1.0.0
|
|
4
19
|
|
|
5
20
|
### Major Changes
|
package/lib/cjs/index.d.ts
CHANGED
package/lib/cjs/index.js
CHANGED
|
@@ -18,4 +18,6 @@ __exportStar(require("./package.js"), exports);
|
|
|
18
18
|
__exportStar(require("./utils/LinkedComponent.js"), exports);
|
|
19
19
|
__exportStar(require("./utils/LinkedComponentClass.js"), exports);
|
|
20
20
|
__exportStar(require("./utils/Hooks.js"), exports);
|
|
21
|
+
__exportStar(require("./utils/ClassNames.js"), exports);
|
|
22
|
+
__exportStar(require("./utils/useQueryContext.js"), exports);
|
|
21
23
|
//# sourceMappingURL=index.js.map
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,6DAA2C;AAC3C,kEAAgD;AAChD,mDAAiC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,6DAA2C;AAC3C,kEAAgD;AAChD,mDAAiC;AACjC,wDAAsC;AACtC,6DAA2C"}
|
package/lib/cjs/package.d.ts
CHANGED
|
@@ -2,9 +2,9 @@ import { Shape } from '@_linked/core/shapes/Shape';
|
|
|
2
2
|
declare const linkedUtil: (constructor: any) => any, linkedOntology: (allFileExports: any, nameSpace: (term: string) => import("@_linked/core/utils/NodeReference.js").NodeReferenceValue, suggestedPrefixAndFileName: string, loadDataFunction?: () => Promise<any>, dataSource?: string | string[]) => void, linkedShape: {
|
|
3
3
|
<T extends typeof Shape>(constructor: T): void;
|
|
4
4
|
<T extends typeof Shape>(config?: import("@_linked/core/utils/Package").ShapeConfig): (constructor: T) => void;
|
|
5
|
-
}, registerPackageExport: (exportedObject: any) => void, registerPackageModule: (_module: any) => void, packageExports: any, getPackageShape: (name: string) =>
|
|
6
|
-
declare const linkedComponent: <QueryType extends import("@_linked/core/queries/
|
|
7
|
-
declare const linkedSetComponent: <QueryType extends import("@_linked/core/queries/
|
|
8
|
-
[key: string]: import("@_linked/core/queries/
|
|
9
|
-
} = null, CustomProps = {}, ShapeType extends Shape = import("@_linked/core/queries/
|
|
5
|
+
}, registerPackageExport: (exportedObject: any) => void, registerPackageModule: (_module: any) => void, packageExports: any, getPackageShape: (name: string) => import("@_linked/core/shapes/Shape").ShapeConstructor | undefined;
|
|
6
|
+
declare const linkedComponent: <QueryType extends import("@_linked/core/queries/QueryBuilder.js").QueryBuilder<any> = null, CustomProps = {}, ShapeType extends Shape = QueryType extends import("@_linked/core/queries/QueryBuilder.js").QueryBuilder<infer S extends Shape, any, any> ? S : never, Res = QueryType extends import("@_linked/core/queries/QueryBuilder.js").QueryBuilder<any, infer R, any> ? R : QueryType extends import("@_linked/core/queries/FieldSet.js").FieldSet<infer R_1, any> ? R_1 : QueryType>(query: QueryType, functionalComponent: import("./utils/LinkedComponent.js").LinkableComponent<CustomProps & import("@_linked/core/queries/SelectQuery.js").QueryResponseToResultType<Res, ShapeType>, ShapeType>) => import("./utils/LinkedComponent.js").LinkedComponent<CustomProps, ShapeType, Res>;
|
|
7
|
+
declare const linkedSetComponent: <QueryType extends import("@_linked/core/queries/QueryBuilder.js").QueryBuilder<any> | {
|
|
8
|
+
[key: string]: import("@_linked/core/queries/QueryBuilder.js").QueryBuilder<any>;
|
|
9
|
+
} = null, CustomProps = {}, ShapeType extends Shape = QueryType extends import("@_linked/core/queries/QueryBuilder.js").QueryBuilder<infer S extends Shape, any, any> ? S : never, Res = import("@_linked/core/queries/SelectQuery.js").ToQueryResultSet<QueryType>>(query: QueryType, functionalComponent: import("./utils/LinkedComponent.js").LinkableSetComponent<CustomProps & import("@_linked/core/queries/SelectQuery.js").GetCustomObjectKeys<QueryType> & import("@_linked/core/queries/SelectQuery.js").QueryControllerProps, ShapeType>) => import("./utils/LinkedComponent.js").LinkedSetComponent<CustomProps, ShapeType, Res>;
|
|
10
10
|
export { linkedComponent, linkedSetComponent, linkedShape, linkedUtil, linkedOntology, registerPackageExport, registerPackageModule, packageExports, getPackageShape, };
|
package/lib/cjs/package.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package.js","sourceRoot":"","sources":["../../src/package.ts"],"names":[],"mappings":";;;AAAA,+DAA0D;AAC1D,yDAA0D;AAE1D,mEAIoC;AAEpC,IAAI,iBAAiB,GAA0C,IAAI,GAAG,EAAE,CAAC;AAEzE,MAAM,EACJ,UAAU,EACV,cAAc,EACd,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACd,eAAe,GAChB,GAAG,IAAA,uBAAa,EAAC,gBAAgB,CAAC,CAAC;AAoClC,gCAAU;AACV,wCAAc;AAFd,kCAAW;AAGX,sDAAqB;AACrB,sDAAqB;AACrB,wCAAc;AACd,0CAAe;AAvCjB,SAAS,iBAAiB,CAAC,iBAA4B,EAAE,KAAoB;IAC3E,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,EAAE,CAAC;YACtE,OAAO,CAAC,IAAI,CACV,
|
|
1
|
+
{"version":3,"file":"package.js","sourceRoot":"","sources":["../../src/package.ts"],"names":[],"mappings":";;;AAAA,+DAA0D;AAC1D,yDAA0D;AAE1D,mEAIoC;AAEpC,IAAI,iBAAiB,GAA0C,IAAI,GAAG,EAAE,CAAC;AAEzE,MAAM,EACJ,UAAU,EACV,cAAc,EACd,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACd,eAAe,GAChB,GAAG,IAAA,uBAAa,EAAC,gBAAgB,CAAC,CAAC;AAoClC,gCAAU;AACV,wCAAc;AAFd,kCAAW;AAGX,sDAAqB;AACrB,sDAAqB;AACrB,wCAAc;AACd,0CAAe;AAvCjB,SAAS,iBAAiB,CAAC,iBAA4B,EAAE,KAAoB;IAC3E,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,EAAE,CAAC;YACtE,OAAO,CAAC,IAAI,CACV,aACG,iBAAyB,CAAC,WAAW,IAAK,iBAAyB,CAAC,IACvE,4BAA4B,CAC7B,CAAC;YACF,OAAO;QACT,CAAC;QACD,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,iBAAO,EAAO,CAAC,CAAC;IACnD,CAAC;IAED,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,eAAe,GAAG,IAAA,4CAAuB,EAC7C,qBAAqB,EACrB,iBAAiB,CAClB,CAAC;AAQA,0CAAe;AANjB,MAAM,kBAAkB,GAAG,IAAA,+CAA0B,EACnD,qBAAqB,EACrB,iBAAiB,CAClB,CAAC;AAIA,gDAAkB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.cl = void 0;
|
|
7
|
+
const classnames_1 = __importDefault(require("classnames"));
|
|
8
|
+
exports.cl = classnames_1.default;
|
|
9
|
+
//# sourceMappingURL=ClassNames.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClassNames.js","sourceRoot":"","sources":["../../../src/utils/ClassNames.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AACpB,aADD,oBAAE,CACC"}
|
|
@@ -1,8 +1,25 @@
|
|
|
1
|
-
import { GetCustomObjectKeys,
|
|
1
|
+
import { GetCustomObjectKeys, QResult, QueryControllerProps, QueryResponseToResultType, ToQueryResultSet } from '@_linked/core/queries/SelectQuery';
|
|
2
2
|
import { Shape } from '@_linked/core/shapes/Shape';
|
|
3
|
+
import { QueryBuilder } from '@_linked/core/queries/QueryBuilder';
|
|
4
|
+
import { FieldSet } from '@_linked/core/queries/FieldSet';
|
|
3
5
|
import React from 'react';
|
|
4
6
|
import { ShapeSet } from '@_linked/core/collections/ShapeSet';
|
|
5
7
|
import { NodeReferenceValue } from '@_linked/core/utils/NodeReference';
|
|
8
|
+
/**
|
|
9
|
+
* Extract the Shape type parameter from a QueryBuilder.
|
|
10
|
+
*/
|
|
11
|
+
type GetQueryShapeType<Q> = Q extends QueryBuilder<infer S, any, any> ? S : never;
|
|
12
|
+
/**
|
|
13
|
+
* Extract the query response type from a QueryBuilder or FieldSet.
|
|
14
|
+
* Falls through to Q itself if neither matches (preserves legacy behaviour).
|
|
15
|
+
*/
|
|
16
|
+
type GetQueryResponseType<Q> = Q extends QueryBuilder<any, infer R, any> ? R : Q extends FieldSet<infer R, any> ? R : Q;
|
|
17
|
+
/**
|
|
18
|
+
* A wrapper object mapping a single key to a QueryBuilder (used by linkedSetComponent).
|
|
19
|
+
*/
|
|
20
|
+
type QueryWrapperObject<ShapeType extends Shape = any> = {
|
|
21
|
+
[key: string]: QueryBuilder<ShapeType>;
|
|
22
|
+
};
|
|
6
23
|
export type Component<P = any, ShapeType extends Shape = Shape> = ClassComponent<P, ShapeType> | LinkedComponent<P, ShapeType> | LinkedSetComponent<P, ShapeType>;
|
|
7
24
|
export interface ClassComponent<P, ShapeType extends Shape = Shape> extends React.ComponentClass<P & LinkedComponentProps<ShapeType>> {
|
|
8
25
|
props: P & LinkedComponentProps<ShapeType>;
|
|
@@ -10,12 +27,12 @@ export interface ClassComponent<P, ShapeType extends Shape = Shape> extends Reac
|
|
|
10
27
|
}
|
|
11
28
|
export interface LinkedComponent<P, ShapeType extends Shape = Shape, ResultType = any> extends React.FC<P & LinkedComponentInputProps<ShapeType> & React.ComponentPropsWithRef<any>> {
|
|
12
29
|
original?: LinkableComponent<P, ShapeType>;
|
|
13
|
-
query:
|
|
30
|
+
query: QueryBuilder<any>;
|
|
14
31
|
shape?: typeof Shape;
|
|
15
32
|
}
|
|
16
33
|
export interface LinkedSetComponent<P, ShapeType extends Shape = Shape, Res = any> extends React.FC<P & LinkedSetComponentInputProps<ShapeType> & React.ComponentPropsWithRef<any>> {
|
|
17
34
|
original?: LinkableSetComponent<P, ShapeType>;
|
|
18
|
-
query:
|
|
35
|
+
query: QueryBuilder<any> | QueryWrapperObject<ShapeType>;
|
|
19
36
|
shape?: typeof Shape;
|
|
20
37
|
}
|
|
21
38
|
export type LinkableComponent<P, ShapeType extends Shape = Shape> = React.FC<P & LinkedComponentProps<ShapeType>>;
|
|
@@ -40,13 +57,13 @@ interface LinkedComponentInputBaseProps extends React.PropsWithChildren {
|
|
|
40
57
|
className?: string | string[];
|
|
41
58
|
style?: React.CSSProperties;
|
|
42
59
|
}
|
|
43
|
-
export type LinkedSetComponentFactoryFn = <QueryType extends
|
|
44
|
-
[key: string]:
|
|
60
|
+
export type LinkedSetComponentFactoryFn = <QueryType extends QueryBuilder<any> | {
|
|
61
|
+
[key: string]: QueryBuilder<any>;
|
|
45
62
|
} = null, CustomProps = {}, ShapeType extends Shape = GetQueryShapeType<QueryType>, Res = ToQueryResultSet<QueryType>>(requiredData: QueryType, functionalComponent: LinkableSetComponent<CustomProps & GetCustomObjectKeys<QueryType> & QueryControllerProps, ShapeType, Res>) => LinkedSetComponent<CustomProps, ShapeType, Res>;
|
|
46
|
-
export type LinkedComponentFactoryFn = <QueryType extends
|
|
47
|
-
export declare function createLinkedComponentFn(registerPackageExport: any, registerComponent: any): <QueryType extends
|
|
48
|
-
export declare function createLinkedSetComponentFn(registerPackageExport: any, registerComponent: any): <QueryType extends
|
|
49
|
-
[key: string]:
|
|
63
|
+
export type LinkedComponentFactoryFn = <QueryType extends QueryBuilder<any> = null, CustomProps = {}, ShapeType extends Shape = GetQueryShapeType<QueryType>, Response = GetQueryResponseType<QueryType>, ResultType = QueryResponseToResultType<Response, ShapeType>>(query: QueryType, functionalComponent: LinkableComponent<CustomProps & ResultType, ShapeType>) => LinkedComponent<CustomProps, ShapeType, ResultType>;
|
|
64
|
+
export declare function createLinkedComponentFn(registerPackageExport: any, registerComponent: any): <QueryType extends QueryBuilder<any> = null, CustomProps = {}, ShapeType extends Shape = GetQueryShapeType<QueryType>, Res = GetQueryResponseType<QueryType>>(query: QueryType, functionalComponent: LinkableComponent<CustomProps & QueryResponseToResultType<Res, ShapeType>, ShapeType>) => LinkedComponent<CustomProps, ShapeType, Res>;
|
|
65
|
+
export declare function createLinkedSetComponentFn(registerPackageExport: any, registerComponent: any): <QueryType extends QueryBuilder<any> | {
|
|
66
|
+
[key: string]: QueryBuilder<any>;
|
|
50
67
|
} = null, CustomProps = {}, ShapeType extends Shape = GetQueryShapeType<QueryType>, Res = ToQueryResultSet<QueryType>>(query: QueryType, functionalComponent: LinkableSetComponent<CustomProps & GetCustomObjectKeys<QueryType> & QueryControllerProps, ShapeType>) => LinkedSetComponent<CustomProps, ShapeType, Res>;
|
|
51
68
|
export declare function getSourceFromInputProps(props: any, shapeClass: any): any;
|
|
52
69
|
export {};
|
|
@@ -36,8 +36,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.createLinkedComponentFn = createLinkedComponentFn;
|
|
37
37
|
exports.createLinkedSetComponentFn = createLinkedSetComponentFn;
|
|
38
38
|
exports.getSourceFromInputProps = getSourceFromInputProps;
|
|
39
|
-
const SelectQuery_1 = require("@_linked/core/queries/SelectQuery");
|
|
40
39
|
const Shape_1 = require("@_linked/core/shapes/Shape");
|
|
40
|
+
const QueryBuilder_1 = require("@_linked/core/queries/QueryBuilder");
|
|
41
|
+
const queryDispatch_1 = require("@_linked/core/queries/queryDispatch");
|
|
41
42
|
const react_1 = __importStar(require("react"));
|
|
42
43
|
const LinkedStorage_1 = require("@_linked/core/utils/LinkedStorage");
|
|
43
44
|
const Package_1 = require("@_linked/core/utils/Package");
|
|
@@ -56,20 +57,22 @@ function createLinkedComponentFn(registerPackageExport, registerComponent) {
|
|
|
56
57
|
linkedProps.ref = ref;
|
|
57
58
|
}
|
|
58
59
|
const loadData = () => {
|
|
59
|
-
var _a
|
|
60
|
+
var _a;
|
|
60
61
|
const sourceId = (_a = linkedProps.source) === null || _a === void 0 ? void 0 : _a.id;
|
|
61
62
|
if (!loadingData || loadingData !== sourceId) {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
setLoadingData(sourceId ||
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
63
|
+
// QueryBuilder is immutable — chain calls produce new instances.
|
|
64
|
+
let requestQuery = linkedProps.source
|
|
65
|
+
? actualQuery.for(linkedProps.source)
|
|
66
|
+
: actualQuery;
|
|
67
|
+
setLoadingData(sourceId || requestQuery.toJSON().subject);
|
|
68
|
+
(0, queryDispatch_1.getQueryDispatch)().selectQuery(requestQuery.build()).then((result) => {
|
|
69
|
+
// Use empty object when result is null/undefined so the component
|
|
70
|
+
// renders with default values instead of showing spinner forever.
|
|
71
|
+
setQueryResult(result !== null && result !== void 0 ? result : {});
|
|
72
|
+
setLoadingData(null);
|
|
73
|
+
}).catch((err) => {
|
|
74
|
+
console.error('linkedComponent loadData failed:', err);
|
|
75
|
+
setQueryResult({});
|
|
73
76
|
setLoadingData(null);
|
|
74
77
|
});
|
|
75
78
|
}
|
|
@@ -77,7 +80,7 @@ function createLinkedComponentFn(registerPackageExport, registerComponent) {
|
|
|
77
80
|
console.warn(`Already loading data for source ${loadingData}, ignoring request`);
|
|
78
81
|
}
|
|
79
82
|
};
|
|
80
|
-
let sourceIsValidQResult = isValidQResult(props.of,
|
|
83
|
+
let sourceIsValidQResult = isValidQResult(props.of, actualQuery);
|
|
81
84
|
if (queryResult || sourceIsValidQResult) {
|
|
82
85
|
linkedProps = Object.assign(linkedProps, queryResult || props.of);
|
|
83
86
|
}
|
|
@@ -94,7 +97,14 @@ function createLinkedComponentFn(registerPackageExport, registerComponent) {
|
|
|
94
97
|
loadData();
|
|
95
98
|
}
|
|
96
99
|
}, [queryResult, props.of]);
|
|
97
|
-
|
|
100
|
+
// Resolve the current subject ID — for pending contexts this reads
|
|
101
|
+
// from the live global Map, so it updates when auth sets the context.
|
|
102
|
+
const resolvedSubjectId = actualQuery.toJSON().subject;
|
|
103
|
+
if (!linkedProps.source && !resolvedSubjectId) {
|
|
104
|
+
if (actualQuery.hasPendingContext()) {
|
|
105
|
+
// Subject will resolve after auth — show spinner until then.
|
|
106
|
+
return createLoadingSpinner();
|
|
107
|
+
}
|
|
98
108
|
console.warn('This component requires a source to be provided (use the property "of"): ' +
|
|
99
109
|
functionalComponent.name);
|
|
100
110
|
return null;
|
|
@@ -107,7 +117,7 @@ function createLinkedComponentFn(registerPackageExport, registerComponent) {
|
|
|
107
117
|
if (usingStorage && !sourceIsValidQResult) {
|
|
108
118
|
loadData();
|
|
109
119
|
}
|
|
110
|
-
}, [(_a = linkedProps.source) === null || _a === void 0 ? void 0 : _a.id]);
|
|
120
|
+
}, [(_a = linkedProps.source) === null || _a === void 0 ? void 0 : _a.id, resolvedSubjectId]);
|
|
111
121
|
let dataIsLoaded = queryResult || !usingStorage || sourceIsValidQResult;
|
|
112
122
|
// Keep legacy client-side guard to avoid hydration drift.
|
|
113
123
|
if (dataIsLoaded && typeof window !== 'undefined') {
|
|
@@ -138,7 +148,7 @@ function createLinkedSetComponentFn(registerPackageExport, registerComponent) {
|
|
|
138
148
|
var _a;
|
|
139
149
|
let [queryResult, setQueryResult] = (0, react_1.useState)(undefined);
|
|
140
150
|
let linkedProps = getLinkedSetComponentProps(props, shapeClass, functionalComponent);
|
|
141
|
-
let defaultLimit = actualQuery.
|
|
151
|
+
let defaultLimit = actualQuery.toJSON().limit || Package_1.DEFAULT_LIMIT;
|
|
142
152
|
let [limit, setLimit] = (0, react_1.useState)(defaultLimit);
|
|
143
153
|
let [offset, setOffset] = (0, react_1.useState)(0);
|
|
144
154
|
if (ref) {
|
|
@@ -147,7 +157,7 @@ function createLinkedSetComponentFn(registerPackageExport, registerComponent) {
|
|
|
147
157
|
let sourceIsValidQResult = Array.isArray(props.of) &&
|
|
148
158
|
props.of.length > 0 &&
|
|
149
159
|
typeof ((_a = props.of[0]) === null || _a === void 0 ? void 0 : _a.id) === 'string' &&
|
|
150
|
-
|
|
160
|
+
isValidSetQResult(props.of, actualQuery);
|
|
151
161
|
if (queryResult || sourceIsValidQResult) {
|
|
152
162
|
let dataResult;
|
|
153
163
|
if (queryResult) {
|
|
@@ -161,7 +171,7 @@ function createLinkedSetComponentFn(registerPackageExport, registerComponent) {
|
|
|
161
171
|
dataResult = props.of;
|
|
162
172
|
}
|
|
163
173
|
}
|
|
164
|
-
if (query instanceof
|
|
174
|
+
if (query instanceof QueryBuilder_1.QueryBuilder) {
|
|
165
175
|
linkedProps = Object.assign(linkedProps, {
|
|
166
176
|
linkedData: dataResult,
|
|
167
177
|
});
|
|
@@ -189,19 +199,18 @@ function createLinkedSetComponentFn(registerPackageExport, registerComponent) {
|
|
|
189
199
|
}
|
|
190
200
|
(0, react_1.useEffect)(() => {
|
|
191
201
|
if (usingStorage && !sourceIsValidQResult) {
|
|
192
|
-
|
|
193
|
-
requestQuery
|
|
202
|
+
// QueryBuilder is immutable — chain calls to set subjects, limit, offset.
|
|
203
|
+
let requestQuery = actualQuery;
|
|
204
|
+
if (linkedProps.sources) {
|
|
205
|
+
requestQuery = requestQuery.forAll(Array.from(linkedProps.sources).map((s) => ({ id: s.id })));
|
|
206
|
+
}
|
|
194
207
|
if (limit) {
|
|
195
|
-
requestQuery.
|
|
208
|
+
requestQuery = requestQuery.limit(limit);
|
|
196
209
|
}
|
|
197
210
|
if (offset) {
|
|
198
|
-
requestQuery.
|
|
199
|
-
}
|
|
200
|
-
const parser = shapeClass.queryParser || Shape_1.Shape.queryParser;
|
|
201
|
-
if (!parser) {
|
|
202
|
-
throw new Error(`No query parser configured for ${(shapeClass === null || shapeClass === void 0 ? void 0 : shapeClass.name) || 'shape'}.`);
|
|
211
|
+
requestQuery = requestQuery.offset(offset);
|
|
203
212
|
}
|
|
204
|
-
|
|
213
|
+
(0, queryDispatch_1.getQueryDispatch)().selectQuery(requestQuery.build()).then((result) => {
|
|
205
214
|
setQueryResult(result);
|
|
206
215
|
});
|
|
207
216
|
}
|
|
@@ -247,26 +256,27 @@ function getLinkedComponentProps(props, shapeClass) {
|
|
|
247
256
|
function processQuery(requiredData, setComponent = false) {
|
|
248
257
|
let shapeClass;
|
|
249
258
|
let query;
|
|
250
|
-
if (requiredData instanceof
|
|
259
|
+
if (requiredData instanceof QueryBuilder_1.QueryBuilder) {
|
|
251
260
|
query = requiredData;
|
|
252
|
-
|
|
261
|
+
// QueryBuilder._shape is private; extract shape IRI via toJSON and resolve the class.
|
|
262
|
+
shapeClass = (0, ShapeClass_1.getShapeClass)(requiredData.toJSON().shape);
|
|
253
263
|
}
|
|
254
264
|
else if (typeof requiredData === 'object' && setComponent) {
|
|
255
265
|
if (Object.keys(requiredData).length > 1) {
|
|
256
266
|
throw new Error('Only one key is allowed to map a query to a property for linkedSetComponents');
|
|
257
267
|
}
|
|
258
268
|
for (let key in requiredData) {
|
|
259
|
-
if (requiredData[key] instanceof
|
|
260
|
-
shapeClass = requiredData[key].shape;
|
|
269
|
+
if (requiredData[key] instanceof QueryBuilder_1.QueryBuilder) {
|
|
270
|
+
shapeClass = (0, ShapeClass_1.getShapeClass)(requiredData[key].toJSON().shape);
|
|
261
271
|
query = requiredData[key];
|
|
262
272
|
}
|
|
263
273
|
else {
|
|
264
|
-
throw new Error('Unknown value type for query object. Keep to this format: {propName: Shape.
|
|
274
|
+
throw new Error('Unknown value type for query object. Keep to this format: {propName: Shape.select(s => ...)}');
|
|
265
275
|
}
|
|
266
276
|
}
|
|
267
277
|
}
|
|
268
278
|
else {
|
|
269
|
-
throw new Error('Unknown data query type. Expected a
|
|
279
|
+
throw new Error('Unknown data query type. Expected a QueryBuilder (from Shape.select()) or an object with 1 key whose value is a QueryBuilder');
|
|
270
280
|
}
|
|
271
281
|
return [shapeClass, query];
|
|
272
282
|
}
|
|
@@ -294,7 +304,12 @@ function getLinkedSetComponentProps(props, shapeClass, functionalComponent) {
|
|
|
294
304
|
return newProps;
|
|
295
305
|
}
|
|
296
306
|
function getSourceFromInputProps(props, shapeClass) {
|
|
297
|
-
|
|
307
|
+
let input = props === null || props === void 0 ? void 0 : props.of;
|
|
308
|
+
// Unwrap single-element arrays (e.g. from preloadFor on maxCount:1 properties
|
|
309
|
+
// where the result mapper returns an array with one item).
|
|
310
|
+
if (Array.isArray(input) && input.length === 1) {
|
|
311
|
+
input = input[0];
|
|
312
|
+
}
|
|
298
313
|
if (input instanceof Shape_1.Shape) {
|
|
299
314
|
if (input.nodeShape !== shapeClass.shape &&
|
|
300
315
|
!(0, ShapeClass_1.hasSuperClass)((0, ShapeClass_1.getShapeClass)(input.nodeShape.id), shapeClass)) {
|
|
@@ -308,9 +323,23 @@ function getSourceFromInputProps(props, shapeClass) {
|
|
|
308
323
|
// If nothing is provided, keep undefined; callers handle required source checks.
|
|
309
324
|
return input;
|
|
310
325
|
}
|
|
326
|
+
/**
|
|
327
|
+
* Check if a QResult has all the fields the query selects.
|
|
328
|
+
*/
|
|
311
329
|
function isValidQResult(of, query) {
|
|
312
|
-
|
|
313
|
-
|
|
330
|
+
if (typeof (of === null || of === void 0 ? void 0 : of.id) !== 'string')
|
|
331
|
+
return false;
|
|
332
|
+
const fieldSet = query.fields();
|
|
333
|
+
if (!fieldSet)
|
|
334
|
+
return false;
|
|
335
|
+
const labels = fieldSet.labels();
|
|
336
|
+
return labels.every((label) => label in of);
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* Check if an array of QResults all have the fields the query selects.
|
|
340
|
+
*/
|
|
341
|
+
function isValidSetQResult(qResults, query) {
|
|
342
|
+
return qResults.every((qResult) => isValidQResult(qResult, query));
|
|
314
343
|
}
|
|
315
344
|
function createLoadingSpinner() {
|
|
316
345
|
return react_1.default.createElement('div', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkedComponent.js","sourceRoot":"","sources":["../../../src/utils/LinkedComponent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LinkedComponent.js","sourceRoot":"","sources":["../../../src/utils/LinkedComponent.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { LinkedComponentProps } from './LinkedComponent.js';
|
|
|
5
5
|
* Class component base for linked components.
|
|
6
6
|
*/
|
|
7
7
|
export declare class LinkedComponentClass<ShapeClass extends Shape, P = {}, S = any> extends React.Component<P & LinkedComponentProps<ShapeClass>, S> {
|
|
8
|
+
props: Readonly<P & LinkedComponentProps<ShapeClass>> & Readonly<React.PropsWithChildren>;
|
|
8
9
|
private _shape;
|
|
9
10
|
get sourceShape(): ShapeClass;
|
|
10
11
|
componentDidUpdate(prevProps: Readonly<P & LinkedComponentProps<ShapeClass>>): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkedComponentClass.js","sourceRoot":"","sources":["../../../src/utils/LinkedComponentClass.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAI1B;;GAEG;AACH,MAAa,oBAIX,SAAQ,eAAK,CAAC,SAAkD;
|
|
1
|
+
{"version":3,"file":"LinkedComponentClass.js","sourceRoot":"","sources":["../../../src/utils/LinkedComponentClass.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAI1B;;GAEG;AACH,MAAa,oBAIX,SAAQ,eAAK,CAAC,SAAkD;IAIhE,IAAI,WAAW;QACb,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAC3C,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,2BAA2B,CAAC,CAAC;gBACvE,CAAC;gBACD,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAe,CAAC;YAChE,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,kBAAkB,CAChB,SAAyD;QAEzD,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC3C,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QAC1B,CAAC;IACH,CAAC;CACF;AA9BD,oDA8BC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Shape } from '@_linked/core/shapes/Shape';
|
|
2
|
+
/**
|
|
3
|
+
* React hook that registers a value in the global query context.
|
|
4
|
+
* Keeps the context in sync with the component's state — sets on
|
|
5
|
+
* mount / value change and clears on unmount.
|
|
6
|
+
*/
|
|
7
|
+
export declare function useQueryContext(name: string, value: any, shapeType?: new (...args: any[]) => Shape): void;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useQueryContext = useQueryContext;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const QueryContext_1 = require("@_linked/core/queries/QueryContext");
|
|
6
|
+
/**
|
|
7
|
+
* React hook that registers a value in the global query context.
|
|
8
|
+
* Keeps the context in sync with the component's state — sets on
|
|
9
|
+
* mount / value change and clears on unmount.
|
|
10
|
+
*/
|
|
11
|
+
function useQueryContext(name, value, shapeType) {
|
|
12
|
+
(0, react_1.useEffect)(() => {
|
|
13
|
+
if (value) {
|
|
14
|
+
(0, QueryContext_1.setQueryContext)(name, value, shapeType);
|
|
15
|
+
}
|
|
16
|
+
}, [name, value, shapeType]);
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=useQueryContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useQueryContext.js","sourceRoot":"","sources":["../../../src/utils/useQueryContext.ts"],"names":[],"mappings":";;AASA,0CAUC;AAnBD,iCAAgC;AAChC,qEAAmE;AAGnE;;;;GAIG;AACH,SAAgB,eAAe,CAC7B,IAAY,EACZ,KAAU,EACV,SAAyC;IAEzC,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,KAAK,EAAE,CAAC;YACV,IAAA,8BAAe,EAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;AAC/B,CAAC"}
|
package/lib/esm/index.d.ts
CHANGED
package/lib/esm/index.js
CHANGED
|
@@ -2,4 +2,6 @@ export * from './package.js';
|
|
|
2
2
|
export * from './utils/LinkedComponent.js';
|
|
3
3
|
export * from './utils/LinkedComponentClass.js';
|
|
4
4
|
export * from './utils/Hooks.js';
|
|
5
|
+
export * from './utils/ClassNames.js';
|
|
6
|
+
export * from './utils/useQueryContext.js';
|
|
5
7
|
//# sourceMappingURL=index.js.map
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC"}
|
package/lib/esm/package.d.ts
CHANGED
|
@@ -2,9 +2,9 @@ import { Shape } from '@_linked/core/shapes/Shape';
|
|
|
2
2
|
declare const linkedUtil: (constructor: any) => any, linkedOntology: (allFileExports: any, nameSpace: (term: string) => import("@_linked/core/utils/NodeReference.js").NodeReferenceValue, suggestedPrefixAndFileName: string, loadDataFunction?: () => Promise<any>, dataSource?: string | string[]) => void, linkedShape: {
|
|
3
3
|
<T extends typeof Shape>(constructor: T): void;
|
|
4
4
|
<T extends typeof Shape>(config?: import("@_linked/core/utils/Package").ShapeConfig): (constructor: T) => void;
|
|
5
|
-
}, registerPackageExport: (exportedObject: any) => void, registerPackageModule: (_module: any) => void, packageExports: any, getPackageShape: (name: string) =>
|
|
6
|
-
declare const linkedComponent: <QueryType extends import("@_linked/core/queries/
|
|
7
|
-
declare const linkedSetComponent: <QueryType extends import("@_linked/core/queries/
|
|
8
|
-
[key: string]: import("@_linked/core/queries/
|
|
9
|
-
} = null, CustomProps = {}, ShapeType extends Shape = import("@_linked/core/queries/
|
|
5
|
+
}, registerPackageExport: (exportedObject: any) => void, registerPackageModule: (_module: any) => void, packageExports: any, getPackageShape: (name: string) => import("@_linked/core/shapes/Shape").ShapeConstructor | undefined;
|
|
6
|
+
declare const linkedComponent: <QueryType extends import("@_linked/core/queries/QueryBuilder.js").QueryBuilder<any> = null, CustomProps = {}, ShapeType extends Shape = QueryType extends import("@_linked/core/queries/QueryBuilder.js").QueryBuilder<infer S extends Shape, any, any> ? S : never, Res = QueryType extends import("@_linked/core/queries/QueryBuilder.js").QueryBuilder<any, infer R, any> ? R : QueryType extends import("@_linked/core/queries/FieldSet.js").FieldSet<infer R_1, any> ? R_1 : QueryType>(query: QueryType, functionalComponent: import("./utils/LinkedComponent.js").LinkableComponent<CustomProps & import("@_linked/core/queries/SelectQuery.js").QueryResponseToResultType<Res, ShapeType>, ShapeType>) => import("./utils/LinkedComponent.js").LinkedComponent<CustomProps, ShapeType, Res>;
|
|
7
|
+
declare const linkedSetComponent: <QueryType extends import("@_linked/core/queries/QueryBuilder.js").QueryBuilder<any> | {
|
|
8
|
+
[key: string]: import("@_linked/core/queries/QueryBuilder.js").QueryBuilder<any>;
|
|
9
|
+
} = null, CustomProps = {}, ShapeType extends Shape = QueryType extends import("@_linked/core/queries/QueryBuilder.js").QueryBuilder<infer S extends Shape, any, any> ? S : never, Res = import("@_linked/core/queries/SelectQuery.js").ToQueryResultSet<QueryType>>(query: QueryType, functionalComponent: import("./utils/LinkedComponent.js").LinkableSetComponent<CustomProps & import("@_linked/core/queries/SelectQuery.js").GetCustomObjectKeys<QueryType> & import("@_linked/core/queries/SelectQuery.js").QueryControllerProps, ShapeType>) => import("./utils/LinkedComponent.js").LinkedSetComponent<CustomProps, ShapeType, Res>;
|
|
10
10
|
export { linkedComponent, linkedSetComponent, linkedShape, linkedUtil, linkedOntology, registerPackageExport, registerPackageModule, packageExports, getPackageShape, };
|
package/lib/esm/package.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package.js","sourceRoot":"","sources":["../../src/package.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,mCAAmC,CAAC;AAC1D,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAEL,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AAEpC,IAAI,iBAAiB,GAA0C,IAAI,GAAG,EAAE,CAAC;AAEzE,MAAM,EACJ,UAAU,EACV,cAAc,EACd,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACd,eAAe,GAChB,GAAG,aAAa,CAAC,gBAAgB,CAAC,CAAC;AAEpC,SAAS,iBAAiB,CAAC,iBAA4B,EAAE,KAAoB;IAC3E,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,EAAE,CAAC;YACtE,OAAO,CAAC,IAAI,CACV,
|
|
1
|
+
{"version":3,"file":"package.js","sourceRoot":"","sources":["../../src/package.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,mCAAmC,CAAC;AAC1D,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAEL,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AAEpC,IAAI,iBAAiB,GAA0C,IAAI,GAAG,EAAE,CAAC;AAEzE,MAAM,EACJ,UAAU,EACV,cAAc,EACd,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACd,eAAe,GAChB,GAAG,aAAa,CAAC,gBAAgB,CAAC,CAAC;AAEpC,SAAS,iBAAiB,CAAC,iBAA4B,EAAE,KAAoB;IAC3E,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,EAAE,CAAC;YACtE,OAAO,CAAC,IAAI,CACV,aACG,iBAAyB,CAAC,WAAW,IAAK,iBAAyB,CAAC,IACvE,4BAA4B,CAC7B,CAAC;YACF,OAAO;QACT,CAAC;QACD,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,OAAO,EAAO,CAAC,CAAC;IACnD,CAAC;IAED,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,eAAe,GAAG,uBAAuB,CAC7C,qBAAqB,EACrB,iBAAiB,CAClB,CAAC;AAEF,MAAM,kBAAkB,GAAG,0BAA0B,CACnD,qBAAqB,EACrB,iBAAiB,CAClB,CAAC;AAEF,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACd,eAAe,GAChB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClassNames.js","sourceRoot":"","sources":["../../../src/utils/ClassNames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAC,EAAE,EAAC,CAAC"}
|
|
@@ -1,8 +1,25 @@
|
|
|
1
|
-
import { GetCustomObjectKeys,
|
|
1
|
+
import { GetCustomObjectKeys, QResult, QueryControllerProps, QueryResponseToResultType, ToQueryResultSet } from '@_linked/core/queries/SelectQuery';
|
|
2
2
|
import { Shape } from '@_linked/core/shapes/Shape';
|
|
3
|
+
import { QueryBuilder } from '@_linked/core/queries/QueryBuilder';
|
|
4
|
+
import { FieldSet } from '@_linked/core/queries/FieldSet';
|
|
3
5
|
import React from 'react';
|
|
4
6
|
import { ShapeSet } from '@_linked/core/collections/ShapeSet';
|
|
5
7
|
import { NodeReferenceValue } from '@_linked/core/utils/NodeReference';
|
|
8
|
+
/**
|
|
9
|
+
* Extract the Shape type parameter from a QueryBuilder.
|
|
10
|
+
*/
|
|
11
|
+
type GetQueryShapeType<Q> = Q extends QueryBuilder<infer S, any, any> ? S : never;
|
|
12
|
+
/**
|
|
13
|
+
* Extract the query response type from a QueryBuilder or FieldSet.
|
|
14
|
+
* Falls through to Q itself if neither matches (preserves legacy behaviour).
|
|
15
|
+
*/
|
|
16
|
+
type GetQueryResponseType<Q> = Q extends QueryBuilder<any, infer R, any> ? R : Q extends FieldSet<infer R, any> ? R : Q;
|
|
17
|
+
/**
|
|
18
|
+
* A wrapper object mapping a single key to a QueryBuilder (used by linkedSetComponent).
|
|
19
|
+
*/
|
|
20
|
+
type QueryWrapperObject<ShapeType extends Shape = any> = {
|
|
21
|
+
[key: string]: QueryBuilder<ShapeType>;
|
|
22
|
+
};
|
|
6
23
|
export type Component<P = any, ShapeType extends Shape = Shape> = ClassComponent<P, ShapeType> | LinkedComponent<P, ShapeType> | LinkedSetComponent<P, ShapeType>;
|
|
7
24
|
export interface ClassComponent<P, ShapeType extends Shape = Shape> extends React.ComponentClass<P & LinkedComponentProps<ShapeType>> {
|
|
8
25
|
props: P & LinkedComponentProps<ShapeType>;
|
|
@@ -10,12 +27,12 @@ export interface ClassComponent<P, ShapeType extends Shape = Shape> extends Reac
|
|
|
10
27
|
}
|
|
11
28
|
export interface LinkedComponent<P, ShapeType extends Shape = Shape, ResultType = any> extends React.FC<P & LinkedComponentInputProps<ShapeType> & React.ComponentPropsWithRef<any>> {
|
|
12
29
|
original?: LinkableComponent<P, ShapeType>;
|
|
13
|
-
query:
|
|
30
|
+
query: QueryBuilder<any>;
|
|
14
31
|
shape?: typeof Shape;
|
|
15
32
|
}
|
|
16
33
|
export interface LinkedSetComponent<P, ShapeType extends Shape = Shape, Res = any> extends React.FC<P & LinkedSetComponentInputProps<ShapeType> & React.ComponentPropsWithRef<any>> {
|
|
17
34
|
original?: LinkableSetComponent<P, ShapeType>;
|
|
18
|
-
query:
|
|
35
|
+
query: QueryBuilder<any> | QueryWrapperObject<ShapeType>;
|
|
19
36
|
shape?: typeof Shape;
|
|
20
37
|
}
|
|
21
38
|
export type LinkableComponent<P, ShapeType extends Shape = Shape> = React.FC<P & LinkedComponentProps<ShapeType>>;
|
|
@@ -40,13 +57,13 @@ interface LinkedComponentInputBaseProps extends React.PropsWithChildren {
|
|
|
40
57
|
className?: string | string[];
|
|
41
58
|
style?: React.CSSProperties;
|
|
42
59
|
}
|
|
43
|
-
export type LinkedSetComponentFactoryFn = <QueryType extends
|
|
44
|
-
[key: string]:
|
|
60
|
+
export type LinkedSetComponentFactoryFn = <QueryType extends QueryBuilder<any> | {
|
|
61
|
+
[key: string]: QueryBuilder<any>;
|
|
45
62
|
} = null, CustomProps = {}, ShapeType extends Shape = GetQueryShapeType<QueryType>, Res = ToQueryResultSet<QueryType>>(requiredData: QueryType, functionalComponent: LinkableSetComponent<CustomProps & GetCustomObjectKeys<QueryType> & QueryControllerProps, ShapeType, Res>) => LinkedSetComponent<CustomProps, ShapeType, Res>;
|
|
46
|
-
export type LinkedComponentFactoryFn = <QueryType extends
|
|
47
|
-
export declare function createLinkedComponentFn(registerPackageExport: any, registerComponent: any): <QueryType extends
|
|
48
|
-
export declare function createLinkedSetComponentFn(registerPackageExport: any, registerComponent: any): <QueryType extends
|
|
49
|
-
[key: string]:
|
|
63
|
+
export type LinkedComponentFactoryFn = <QueryType extends QueryBuilder<any> = null, CustomProps = {}, ShapeType extends Shape = GetQueryShapeType<QueryType>, Response = GetQueryResponseType<QueryType>, ResultType = QueryResponseToResultType<Response, ShapeType>>(query: QueryType, functionalComponent: LinkableComponent<CustomProps & ResultType, ShapeType>) => LinkedComponent<CustomProps, ShapeType, ResultType>;
|
|
64
|
+
export declare function createLinkedComponentFn(registerPackageExport: any, registerComponent: any): <QueryType extends QueryBuilder<any> = null, CustomProps = {}, ShapeType extends Shape = GetQueryShapeType<QueryType>, Res = GetQueryResponseType<QueryType>>(query: QueryType, functionalComponent: LinkableComponent<CustomProps & QueryResponseToResultType<Res, ShapeType>, ShapeType>) => LinkedComponent<CustomProps, ShapeType, Res>;
|
|
65
|
+
export declare function createLinkedSetComponentFn(registerPackageExport: any, registerComponent: any): <QueryType extends QueryBuilder<any> | {
|
|
66
|
+
[key: string]: QueryBuilder<any>;
|
|
50
67
|
} = null, CustomProps = {}, ShapeType extends Shape = GetQueryShapeType<QueryType>, Res = ToQueryResultSet<QueryType>>(query: QueryType, functionalComponent: LinkableSetComponent<CustomProps & GetCustomObjectKeys<QueryType> & QueryControllerProps, ShapeType>) => LinkedSetComponent<CustomProps, ShapeType, Res>;
|
|
51
68
|
export declare function getSourceFromInputProps(props: any, shapeClass: any): any;
|
|
52
69
|
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { SelectQueryFactory, } from '@_linked/core/queries/SelectQuery';
|
|
2
1
|
import { Shape } from '@_linked/core/shapes/Shape';
|
|
2
|
+
import { QueryBuilder } from '@_linked/core/queries/QueryBuilder';
|
|
3
|
+
import { getQueryDispatch } from '@_linked/core/queries/queryDispatch';
|
|
3
4
|
import React, { useCallback, useEffect, useState } from 'react';
|
|
4
5
|
import { LinkedStorage } from '@_linked/core/utils/LinkedStorage';
|
|
5
6
|
import { DEFAULT_LIMIT } from '@_linked/core/utils/Package';
|
|
@@ -18,20 +19,22 @@ export function createLinkedComponentFn(registerPackageExport, registerComponent
|
|
|
18
19
|
linkedProps.ref = ref;
|
|
19
20
|
}
|
|
20
21
|
const loadData = () => {
|
|
21
|
-
var _a
|
|
22
|
+
var _a;
|
|
22
23
|
const sourceId = (_a = linkedProps.source) === null || _a === void 0 ? void 0 : _a.id;
|
|
23
24
|
if (!loadingData || loadingData !== sourceId) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
setLoadingData(sourceId ||
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
25
|
+
// QueryBuilder is immutable — chain calls produce new instances.
|
|
26
|
+
let requestQuery = linkedProps.source
|
|
27
|
+
? actualQuery.for(linkedProps.source)
|
|
28
|
+
: actualQuery;
|
|
29
|
+
setLoadingData(sourceId || requestQuery.toJSON().subject);
|
|
30
|
+
getQueryDispatch().selectQuery(requestQuery.build()).then((result) => {
|
|
31
|
+
// Use empty object when result is null/undefined so the component
|
|
32
|
+
// renders with default values instead of showing spinner forever.
|
|
33
|
+
setQueryResult(result !== null && result !== void 0 ? result : {});
|
|
34
|
+
setLoadingData(null);
|
|
35
|
+
}).catch((err) => {
|
|
36
|
+
console.error('linkedComponent loadData failed:', err);
|
|
37
|
+
setQueryResult({});
|
|
35
38
|
setLoadingData(null);
|
|
36
39
|
});
|
|
37
40
|
}
|
|
@@ -39,7 +42,7 @@ export function createLinkedComponentFn(registerPackageExport, registerComponent
|
|
|
39
42
|
console.warn(`Already loading data for source ${loadingData}, ignoring request`);
|
|
40
43
|
}
|
|
41
44
|
};
|
|
42
|
-
let sourceIsValidQResult = isValidQResult(props.of,
|
|
45
|
+
let sourceIsValidQResult = isValidQResult(props.of, actualQuery);
|
|
43
46
|
if (queryResult || sourceIsValidQResult) {
|
|
44
47
|
linkedProps = Object.assign(linkedProps, queryResult || props.of);
|
|
45
48
|
}
|
|
@@ -56,7 +59,14 @@ export function createLinkedComponentFn(registerPackageExport, registerComponent
|
|
|
56
59
|
loadData();
|
|
57
60
|
}
|
|
58
61
|
}, [queryResult, props.of]);
|
|
59
|
-
|
|
62
|
+
// Resolve the current subject ID — for pending contexts this reads
|
|
63
|
+
// from the live global Map, so it updates when auth sets the context.
|
|
64
|
+
const resolvedSubjectId = actualQuery.toJSON().subject;
|
|
65
|
+
if (!linkedProps.source && !resolvedSubjectId) {
|
|
66
|
+
if (actualQuery.hasPendingContext()) {
|
|
67
|
+
// Subject will resolve after auth — show spinner until then.
|
|
68
|
+
return createLoadingSpinner();
|
|
69
|
+
}
|
|
60
70
|
console.warn('This component requires a source to be provided (use the property "of"): ' +
|
|
61
71
|
functionalComponent.name);
|
|
62
72
|
return null;
|
|
@@ -69,7 +79,7 @@ export function createLinkedComponentFn(registerPackageExport, registerComponent
|
|
|
69
79
|
if (usingStorage && !sourceIsValidQResult) {
|
|
70
80
|
loadData();
|
|
71
81
|
}
|
|
72
|
-
}, [(_a = linkedProps.source) === null || _a === void 0 ? void 0 : _a.id]);
|
|
82
|
+
}, [(_a = linkedProps.source) === null || _a === void 0 ? void 0 : _a.id, resolvedSubjectId]);
|
|
73
83
|
let dataIsLoaded = queryResult || !usingStorage || sourceIsValidQResult;
|
|
74
84
|
// Keep legacy client-side guard to avoid hydration drift.
|
|
75
85
|
if (dataIsLoaded && typeof window !== 'undefined') {
|
|
@@ -100,7 +110,7 @@ export function createLinkedSetComponentFn(registerPackageExport, registerCompon
|
|
|
100
110
|
var _a;
|
|
101
111
|
let [queryResult, setQueryResult] = useState(undefined);
|
|
102
112
|
let linkedProps = getLinkedSetComponentProps(props, shapeClass, functionalComponent);
|
|
103
|
-
let defaultLimit = actualQuery.
|
|
113
|
+
let defaultLimit = actualQuery.toJSON().limit || DEFAULT_LIMIT;
|
|
104
114
|
let [limit, setLimit] = useState(defaultLimit);
|
|
105
115
|
let [offset, setOffset] = useState(0);
|
|
106
116
|
if (ref) {
|
|
@@ -109,7 +119,7 @@ export function createLinkedSetComponentFn(registerPackageExport, registerCompon
|
|
|
109
119
|
let sourceIsValidQResult = Array.isArray(props.of) &&
|
|
110
120
|
props.of.length > 0 &&
|
|
111
121
|
typeof ((_a = props.of[0]) === null || _a === void 0 ? void 0 : _a.id) === 'string' &&
|
|
112
|
-
|
|
122
|
+
isValidSetQResult(props.of, actualQuery);
|
|
113
123
|
if (queryResult || sourceIsValidQResult) {
|
|
114
124
|
let dataResult;
|
|
115
125
|
if (queryResult) {
|
|
@@ -123,7 +133,7 @@ export function createLinkedSetComponentFn(registerPackageExport, registerCompon
|
|
|
123
133
|
dataResult = props.of;
|
|
124
134
|
}
|
|
125
135
|
}
|
|
126
|
-
if (query instanceof
|
|
136
|
+
if (query instanceof QueryBuilder) {
|
|
127
137
|
linkedProps = Object.assign(linkedProps, {
|
|
128
138
|
linkedData: dataResult,
|
|
129
139
|
});
|
|
@@ -151,19 +161,18 @@ export function createLinkedSetComponentFn(registerPackageExport, registerCompon
|
|
|
151
161
|
}
|
|
152
162
|
useEffect(() => {
|
|
153
163
|
if (usingStorage && !sourceIsValidQResult) {
|
|
154
|
-
|
|
155
|
-
requestQuery
|
|
164
|
+
// QueryBuilder is immutable — chain calls to set subjects, limit, offset.
|
|
165
|
+
let requestQuery = actualQuery;
|
|
166
|
+
if (linkedProps.sources) {
|
|
167
|
+
requestQuery = requestQuery.forAll(Array.from(linkedProps.sources).map((s) => ({ id: s.id })));
|
|
168
|
+
}
|
|
156
169
|
if (limit) {
|
|
157
|
-
requestQuery.
|
|
170
|
+
requestQuery = requestQuery.limit(limit);
|
|
158
171
|
}
|
|
159
172
|
if (offset) {
|
|
160
|
-
requestQuery.
|
|
161
|
-
}
|
|
162
|
-
const parser = shapeClass.queryParser || Shape.queryParser;
|
|
163
|
-
if (!parser) {
|
|
164
|
-
throw new Error(`No query parser configured for ${(shapeClass === null || shapeClass === void 0 ? void 0 : shapeClass.name) || 'shape'}.`);
|
|
173
|
+
requestQuery = requestQuery.offset(offset);
|
|
165
174
|
}
|
|
166
|
-
|
|
175
|
+
getQueryDispatch().selectQuery(requestQuery.build()).then((result) => {
|
|
167
176
|
setQueryResult(result);
|
|
168
177
|
});
|
|
169
178
|
}
|
|
@@ -209,26 +218,27 @@ function getLinkedComponentProps(props, shapeClass) {
|
|
|
209
218
|
function processQuery(requiredData, setComponent = false) {
|
|
210
219
|
let shapeClass;
|
|
211
220
|
let query;
|
|
212
|
-
if (requiredData instanceof
|
|
221
|
+
if (requiredData instanceof QueryBuilder) {
|
|
213
222
|
query = requiredData;
|
|
214
|
-
|
|
223
|
+
// QueryBuilder._shape is private; extract shape IRI via toJSON and resolve the class.
|
|
224
|
+
shapeClass = getShapeClass(requiredData.toJSON().shape);
|
|
215
225
|
}
|
|
216
226
|
else if (typeof requiredData === 'object' && setComponent) {
|
|
217
227
|
if (Object.keys(requiredData).length > 1) {
|
|
218
228
|
throw new Error('Only one key is allowed to map a query to a property for linkedSetComponents');
|
|
219
229
|
}
|
|
220
230
|
for (let key in requiredData) {
|
|
221
|
-
if (requiredData[key] instanceof
|
|
222
|
-
shapeClass = requiredData[key].shape;
|
|
231
|
+
if (requiredData[key] instanceof QueryBuilder) {
|
|
232
|
+
shapeClass = getShapeClass(requiredData[key].toJSON().shape);
|
|
223
233
|
query = requiredData[key];
|
|
224
234
|
}
|
|
225
235
|
else {
|
|
226
|
-
throw new Error('Unknown value type for query object. Keep to this format: {propName: Shape.
|
|
236
|
+
throw new Error('Unknown value type for query object. Keep to this format: {propName: Shape.select(s => ...)}');
|
|
227
237
|
}
|
|
228
238
|
}
|
|
229
239
|
}
|
|
230
240
|
else {
|
|
231
|
-
throw new Error('Unknown data query type. Expected a
|
|
241
|
+
throw new Error('Unknown data query type. Expected a QueryBuilder (from Shape.select()) or an object with 1 key whose value is a QueryBuilder');
|
|
232
242
|
}
|
|
233
243
|
return [shapeClass, query];
|
|
234
244
|
}
|
|
@@ -256,7 +266,12 @@ function getLinkedSetComponentProps(props, shapeClass, functionalComponent) {
|
|
|
256
266
|
return newProps;
|
|
257
267
|
}
|
|
258
268
|
export function getSourceFromInputProps(props, shapeClass) {
|
|
259
|
-
|
|
269
|
+
let input = props === null || props === void 0 ? void 0 : props.of;
|
|
270
|
+
// Unwrap single-element arrays (e.g. from preloadFor on maxCount:1 properties
|
|
271
|
+
// where the result mapper returns an array with one item).
|
|
272
|
+
if (Array.isArray(input) && input.length === 1) {
|
|
273
|
+
input = input[0];
|
|
274
|
+
}
|
|
260
275
|
if (input instanceof Shape) {
|
|
261
276
|
if (input.nodeShape !== shapeClass.shape &&
|
|
262
277
|
!hasSuperClass(getShapeClass(input.nodeShape.id), shapeClass)) {
|
|
@@ -270,9 +285,23 @@ export function getSourceFromInputProps(props, shapeClass) {
|
|
|
270
285
|
// If nothing is provided, keep undefined; callers handle required source checks.
|
|
271
286
|
return input;
|
|
272
287
|
}
|
|
288
|
+
/**
|
|
289
|
+
* Check if a QResult has all the fields the query selects.
|
|
290
|
+
*/
|
|
273
291
|
function isValidQResult(of, query) {
|
|
274
|
-
|
|
275
|
-
|
|
292
|
+
if (typeof (of === null || of === void 0 ? void 0 : of.id) !== 'string')
|
|
293
|
+
return false;
|
|
294
|
+
const fieldSet = query.fields();
|
|
295
|
+
if (!fieldSet)
|
|
296
|
+
return false;
|
|
297
|
+
const labels = fieldSet.labels();
|
|
298
|
+
return labels.every((label) => label in of);
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* Check if an array of QResults all have the fields the query selects.
|
|
302
|
+
*/
|
|
303
|
+
function isValidSetQResult(qResults, query) {
|
|
304
|
+
return qResults.every((qResult) => isValidQResult(qResult, query));
|
|
276
305
|
}
|
|
277
306
|
function createLoadingSpinner() {
|
|
278
307
|
return React.createElement('div', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkedComponent.js","sourceRoot":"","sources":["../../../src/utils/LinkedComponent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LinkedComponent.js","sourceRoot":"","sources":["../../../src/utils/LinkedComponent.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { LinkedComponentProps } from './LinkedComponent.js';
|
|
|
5
5
|
* Class component base for linked components.
|
|
6
6
|
*/
|
|
7
7
|
export declare class LinkedComponentClass<ShapeClass extends Shape, P = {}, S = any> extends React.Component<P & LinkedComponentProps<ShapeClass>, S> {
|
|
8
|
+
props: Readonly<P & LinkedComponentProps<ShapeClass>> & Readonly<React.PropsWithChildren>;
|
|
8
9
|
private _shape;
|
|
9
10
|
get sourceShape(): ShapeClass;
|
|
10
11
|
componentDidUpdate(prevProps: Readonly<P & LinkedComponentProps<ShapeClass>>): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkedComponentClass.js","sourceRoot":"","sources":["../../../src/utils/LinkedComponentClass.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B;;GAEG;AACH,MAAM,OAAO,oBAIX,SAAQ,KAAK,CAAC,SAAkD;
|
|
1
|
+
{"version":3,"file":"LinkedComponentClass.js","sourceRoot":"","sources":["../../../src/utils/LinkedComponentClass.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B;;GAEG;AACH,MAAM,OAAO,oBAIX,SAAQ,KAAK,CAAC,SAAkD;IAIhE,IAAI,WAAW;QACb,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAC3C,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,2BAA2B,CAAC,CAAC;gBACvE,CAAC;gBACD,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAe,CAAC;YAChE,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,kBAAkB,CAChB,SAAyD;QAEzD,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC3C,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QAC1B,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Shape } from '@_linked/core/shapes/Shape';
|
|
2
|
+
/**
|
|
3
|
+
* React hook that registers a value in the global query context.
|
|
4
|
+
* Keeps the context in sync with the component's state — sets on
|
|
5
|
+
* mount / value change and clears on unmount.
|
|
6
|
+
*/
|
|
7
|
+
export declare function useQueryContext(name: string, value: any, shapeType?: new (...args: any[]) => Shape): void;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
import { setQueryContext } from '@_linked/core/queries/QueryContext';
|
|
3
|
+
/**
|
|
4
|
+
* React hook that registers a value in the global query context.
|
|
5
|
+
* Keeps the context in sync with the component's state — sets on
|
|
6
|
+
* mount / value change and clears on unmount.
|
|
7
|
+
*/
|
|
8
|
+
export function useQueryContext(name, value, shapeType) {
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
if (value) {
|
|
11
|
+
setQueryContext(name, value, shapeType);
|
|
12
|
+
}
|
|
13
|
+
}, [name, value, shapeType]);
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=useQueryContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useQueryContext.js","sourceRoot":"","sources":["../../../src/utils/useQueryContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAChC,OAAO,EAAC,eAAe,EAAC,MAAM,oCAAoC,CAAC;AAGnE;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAY,EACZ,KAAU,EACV,SAAyC;IAEzC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,EAAE,CAAC;YACV,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;AAC/B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@_linked/react",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.2.0-next.20260329000308",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "React bindings for @_linked/core",
|
|
6
6
|
"repository": {
|
|
@@ -45,19 +45,20 @@
|
|
|
45
45
|
"test": "npx jest --config jest.config.js"
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
|
-
"@_linked/core": "^
|
|
48
|
+
"@_linked/core": "^2.2.3",
|
|
49
49
|
"react": "^18.2.0"
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
|
+
"classnames": "^2.5.1",
|
|
52
53
|
"react-usestateref": "^1.0.8"
|
|
53
54
|
},
|
|
54
55
|
"devDependencies": {
|
|
56
|
+
"@_linked/core": "^2.2.3",
|
|
57
|
+
"@_linked/rdf-mem-store": "^1.0.0",
|
|
55
58
|
"@changesets/changelog-github": "^0.5.2",
|
|
56
59
|
"@changesets/cli": "^2.29.8",
|
|
57
|
-
"@_linked/core": "^1.0.0",
|
|
58
|
-
"@_linked/rdf-mem-store": "^1.0.0",
|
|
59
|
-
"@testing-library/react": "^14.2.1",
|
|
60
60
|
"@jest/globals": "^29.7.0",
|
|
61
|
+
"@testing-library/react": "^14.2.1",
|
|
61
62
|
"@types/jest": "^29.5.12",
|
|
62
63
|
"@types/node": "^20.12.7",
|
|
63
64
|
"@types/react": "^18.2.61",
|