@ea-lab/reactive-json 0.0.10 → 0.0.11
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/dist/reactive-json.js +40379 -15167
- package/dist/reactive-json.umd.cjs +316 -67
- package/lib/main.jsx +39 -39
- package/package.json +1 -1
package/lib/main.jsx
CHANGED
|
@@ -5,48 +5,48 @@ import "bootstrap/dist/css/bootstrap.min.css";
|
|
|
5
5
|
|
|
6
6
|
import ReactiveJsonRoot from "./engine/ReactiveJsonRoot.jsx";
|
|
7
7
|
import {mergeComponentCollections} from "./engine/ComponentCollector.js";
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
import {StrictMode} from "react"
|
|
9
|
+
import {createRoot} from "react-dom/client";
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* mergeComponentCollections helps in loading plugins when reactive-json is loaded in library mode.
|
|
13
13
|
*/
|
|
14
14
|
export {ReactiveJsonRoot, mergeComponentCollections};
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
//
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
//
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
//
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
16
|
+
/**
|
|
17
|
+
* Standalone mode.
|
|
18
|
+
* @example
|
|
19
|
+
* <reactive-json data-method="GET" data-url="https://your-site.example/rjs-build/build.json">
|
|
20
|
+
* <data-source-request-header data-header-field="X-Header-Field-Name" data-header-value="Your value"></data-source-request-header>
|
|
21
|
+
* </reactive-json>
|
|
22
|
+
*/
|
|
23
|
+
document.querySelectorAll("reactive-json").forEach((element) => {
|
|
24
|
+
// Use this to change the fetch method.
|
|
25
|
+
const maybeMethod = element.dataset?.method;
|
|
26
|
+
|
|
27
|
+
// Get data included in the root element.
|
|
28
|
+
const headersForData_asElements = element.querySelectorAll("data-source-request-header");
|
|
29
|
+
const headersForData = headersForData_asElements.length ? {} : undefined;
|
|
30
|
+
|
|
31
|
+
headersForData_asElements.forEach((headerElement, key, parent) => {
|
|
32
|
+
const headerField = headerElement?.dataset?.headerField;
|
|
33
|
+
const headerValue = headerElement?.dataset?.headerValue;
|
|
34
|
+
|
|
35
|
+
if (!headerField || !headerValue) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
headersForData[headerField] = headerValue;
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
// TODO: Retrieve the reactive-json plugins and inject them in ReactiveJsonRoot.
|
|
43
|
+
createRoot(element).render(
|
|
44
|
+
<StrictMode>
|
|
45
|
+
<ReactiveJsonRoot
|
|
46
|
+
dataFetchMethod={maybeMethod}
|
|
47
|
+
dataUrl={element.dataset.url}
|
|
48
|
+
headersForData={headersForData}
|
|
49
|
+
/>
|
|
50
|
+
</StrictMode>,
|
|
51
|
+
);
|
|
52
|
+
});
|