@cimo/jsmvcfw 1.4.36 → 1.5.36

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.
@@ -1,4 +1,4 @@
1
- import { IvariableBind, IvariableHook, Icontroller, IcallbackObserver } from "./JsMvcFwInterface.js";
1
+ import { IvariableBind, IvariableHook, IvariableLink, Icontroller, IcallbackObserver, TvariableBindInput } from "./JsMvcFwInterface.js";
2
2
  export declare const setUrlRoot: (urlRootValue: string) => string;
3
3
  export declare const getUrlRoot: () => string;
4
4
  export declare const setAppLabel: (appLabelValue: string) => string;
@@ -10,7 +10,8 @@ export declare const getControllerList: () => {
10
10
  export declare const renderTemplate: (controllerValue: Icontroller, controllerParent?: Icontroller, callback?: () => void) => void;
11
11
  export declare const renderAfter: (controller: Icontroller) => Promise<void>;
12
12
  export declare const variableHook: <T>(label: string, stateValue: T, controllerName: string) => IvariableHook<T>;
13
- export declare const variableBind: <T extends Record<string, unknown>>(variableObject: T, controllerName: string) => { [A in keyof T]: IvariableBind<T[A]>; };
13
+ export declare const variableBind: <T extends Record<string, unknown>>(inputObject: TvariableBindInput<T>, controllerName: string) => { [A in keyof T]: IvariableBind<T[A]>; };
14
+ export declare const variableLink: (controllerNameSource: string) => IvariableLink;
14
15
  export declare const elementObserver: (element: HTMLElement, callback: IcallbackObserver) => void;
15
16
  export declare const elementObserverOff: (element: HTMLElement) => void;
16
17
  export declare const elementObserverOn: (element: HTMLElement) => void;
@@ -4,10 +4,12 @@ let urlRoot = "";
4
4
  let appLabel = "";
5
5
  const virtualNodeObject = {};
6
6
  const renderTriggerObject = {};
7
+ const variableBindRegistry = {};
7
8
  const variableLoadedList = {};
8
9
  const variableEditedList = {};
9
10
  const variableRenderUpdateObject = {};
10
11
  const variableHookObject = {};
12
+ const variableLinkPendingList = [];
11
13
  const controllerList = [];
12
14
  let cacheVariableProxyWeakMap = new WeakMap();
13
15
  const emitterObject = {};
@@ -68,7 +70,7 @@ const variableProxy = (stateLabel, stateValue, controllerName) => {
68
70
  };
69
71
  const variableBindItem = (label, stateValue, controllerName) => {
70
72
  let _state = variableProxy(label, stateValue, controllerName);
71
- let _listener = null;
73
+ const _listenerList = [];
72
74
  return {
73
75
  get state() {
74
76
  return _state;
@@ -78,13 +80,13 @@ const variableBindItem = (label, stateValue, controllerName) => {
78
80
  variableEditedList[controllerName].push(label);
79
81
  }
80
82
  _state = variableProxy(label, value, controllerName);
81
- if (_listener) {
82
- _listener(_state);
83
+ for (const listener of _listenerList) {
84
+ listener(_state);
83
85
  }
84
86
  variableRenderUpdate(controllerName);
85
87
  },
86
88
  listener(callback) {
87
- _listener = callback;
89
+ _listenerList.push(callback);
88
90
  }
89
91
  };
90
92
  };
@@ -147,6 +149,43 @@ const elementHook = (elementContainer, controllerValue) => {
147
149
  }
148
150
  controllerValue.hookObject = hookObject;
149
151
  };
152
+ const variableLinkReference = (value) => {
153
+ if (typeof value !== "object" || value === null) {
154
+ return false;
155
+ }
156
+ const target = value;
157
+ return target.__jsmvcfwType === "variableLink" && typeof target.controllerNameSource === "string";
158
+ };
159
+ const variableLinkClone = (value) => {
160
+ if (value === null || typeof value !== "object") {
161
+ return value;
162
+ }
163
+ if (Array.isArray(value)) {
164
+ return [...value];
165
+ }
166
+ return { ...value };
167
+ };
168
+ const variableLinkResolve = (target, label, targetBind) => {
169
+ const sourceControllerObject = variableBindRegistry[target.controllerNameSource];
170
+ const sourceBind = sourceControllerObject ? sourceControllerObject[label] : null;
171
+ if (!sourceBind) {
172
+ return false;
173
+ }
174
+ targetBind.state = variableLinkClone(sourceBind.state);
175
+ sourceBind.listener((nextValue) => {
176
+ targetBind.state = variableLinkClone(nextValue);
177
+ });
178
+ return true;
179
+ };
180
+ const variableLinkPendingFlush = () => {
181
+ for (let a = variableLinkPendingList.length - 1; a >= 0; a--) {
182
+ const pending = variableLinkPendingList[a];
183
+ const isResolved = variableLinkResolve(pending.target, pending.label, pending.targetBind);
184
+ if (isResolved) {
185
+ variableLinkPendingList.splice(a, 1);
186
+ }
187
+ }
188
+ };
150
189
  export const setUrlRoot = (urlRootValue) => (urlRoot = urlRootValue);
151
190
  export const getUrlRoot = () => urlRoot;
152
191
  export const setAppLabel = (appLabelValue) => (appLabel = appLabelValue);
@@ -167,49 +206,70 @@ export const renderTemplate = (controllerValue, controllerParent, callback) => {
167
206
  }
168
207
  controllerValue.variable();
169
208
  const renderTrigger = () => {
170
- const virtualNodeNew = controllerValue.view();
171
- if (!virtualNodeNew || typeof virtualNodeNew !== "object" || !virtualNodeNew.tag) {
172
- throw new Error(`@cimo/jsmvcfw - JsMvcFw.ts - renderTrigger() => Invalid virtual node returned by controller "${controllerName}"!`);
173
- }
174
- let elementContainer = null;
175
209
  if (!controllerParent) {
210
+ const virtualNodeNew = controllerValue.view();
211
+ if (!virtualNodeNew || typeof virtualNodeNew !== "object" || !virtualNodeNew.tag) {
212
+ throw new Error(`@cimo/jsmvcfw - JsMvcFw.ts - renderTrigger() => Invalid virtual node returned by controller "${controllerName}"!`);
213
+ }
176
214
  const elementRoot = document.getElementById("jsmvcfw_app");
177
215
  if (!elementRoot) {
178
216
  throw new Error("@cimo/jsmvcfw - JsMvcFw.ts - renderTrigger() => Root element #jsmvcfw_app not found!");
179
217
  }
180
- elementContainer = elementRoot;
181
- }
182
- else {
183
- const parentContainer = document.querySelector(`[jsmvcfw-controllerName="${controllerParent.constructor.name}"]`);
184
- if (!parentContainer) {
185
- throw new Error(`@cimo/jsmvcfw - JsMvcFw.ts - renderTrigger() => Tag jsmvcfw-controllerName="${controllerParent.constructor.name}" not found!`);
218
+ const virtualNodeOld = virtualNodeObject[controllerName];
219
+ if (!virtualNodeOld) {
220
+ const elementVirtualNode = createVirtualNode(virtualNodeNew);
221
+ elementRoot.innerHTML = "";
222
+ elementRoot.appendChild(elementVirtualNode);
223
+ if (callback) {
224
+ callback();
225
+ }
186
226
  }
187
- elementContainer = parentContainer.querySelector(`[jsmvcfw-controllerName="${controllerName}"]`);
188
- if (!elementContainer) {
189
- throw new Error(`@cimo/jsmvcfw - JsMvcFw.ts - renderTrigger() => Tag jsmvcfw-controllerName="${controllerName}" not found inside jsmvcfw-controllerName="${controllerParent.constructor.name}"!`);
227
+ else {
228
+ const elementFirstChild = elementRoot.firstElementChild;
229
+ if (elementFirstChild) {
230
+ updateVirtualNode(elementFirstChild, virtualNodeOld, virtualNodeNew);
231
+ }
190
232
  }
233
+ virtualNodeObject[controllerName] = virtualNodeNew;
234
+ elementHook(elementRoot, controllerValue);
235
+ return;
191
236
  }
192
- const virtualNodeOld = virtualNodeObject[controllerName];
193
- if (!virtualNodeOld) {
194
- if (elementContainer) {
237
+ const parentContainer = document.querySelector(`[jsmvcfw-controllerName="${controllerParent.constructor.name}"]`);
238
+ if (!parentContainer) {
239
+ throw new Error(`@cimo/jsmvcfw - JsMvcFw.ts - renderTrigger() => Tag jsmvcfw-controllerName="${controllerParent.constructor.name}" not found!`);
240
+ }
241
+ const elementContainerList = parentContainer.querySelectorAll(`[jsmvcfw-controllerName="${controllerName}"]`);
242
+ if (!elementContainerList.length) {
243
+ throw new Error(`@cimo/jsmvcfw - JsMvcFw.ts - renderTrigger() => Tag jsmvcfw-controllerName="${controllerName}" not found inside jsmvcfw-controllerName="${controllerParent.constructor.name}"!`);
244
+ }
245
+ let isFirstRenderAtLeastOne = false;
246
+ elementContainerList.forEach((elementContainer, index) => {
247
+ const viewAttribute = elementContainer.getAttribute("view");
248
+ const viewName = viewAttribute && viewAttribute.trim() !== "" ? viewAttribute.trim() : undefined;
249
+ const virtualNodeNew = controllerValue.view(viewName);
250
+ if (!virtualNodeNew || typeof virtualNodeNew !== "object" || !virtualNodeNew.tag) {
251
+ throw new Error(`@cimo/jsmvcfw - JsMvcFw.ts - renderTrigger() => Invalid virtual node returned by controller "${controllerName}"!`);
252
+ }
253
+ const slotKey = `${controllerName}::${viewName || "__default__"}::${index}`;
254
+ const virtualNodeOld = virtualNodeObject[slotKey];
255
+ if (!virtualNodeOld) {
195
256
  const elementVirtualNode = createVirtualNode(virtualNodeNew);
196
257
  elementContainer.innerHTML = "";
197
258
  elementContainer.appendChild(elementVirtualNode);
198
- if (callback) {
199
- callback();
200
- }
259
+ isFirstRenderAtLeastOne = true;
201
260
  }
202
- }
203
- else {
204
- if (elementContainer) {
261
+ else {
205
262
  const elementFirstChild = elementContainer.firstElementChild;
206
263
  if (elementFirstChild) {
207
264
  updateVirtualNode(elementFirstChild, virtualNodeOld, virtualNodeNew);
208
265
  }
209
266
  }
267
+ virtualNodeObject[slotKey] = virtualNodeNew;
268
+ elementHook(elementContainer, controllerValue);
269
+ });
270
+ if (isFirstRenderAtLeastOne && callback) {
271
+ callback();
210
272
  }
211
- virtualNodeObject[controllerName] = virtualNodeNew;
212
- elementHook(elementContainer, controllerValue);
213
273
  };
214
274
  renderTriggerObject[controllerName] = renderTrigger;
215
275
  renderTrigger();
@@ -269,23 +329,63 @@ export const variableHook = (label, stateValue, controllerName) => {
269
329
  }
270
330
  };
271
331
  };
272
- export const variableBind = (variableObject, controllerName) => {
332
+ export const variableBind = (inputObject, controllerName) => {
273
333
  const result = {};
274
334
  if (!variableLoadedList[controllerName]) {
275
335
  variableLoadedList[controllerName] = [];
276
336
  variableEditedList[controllerName] = [];
277
337
  }
278
- for (const key in variableObject) {
279
- if (Object.prototype.hasOwnProperty.call(variableObject, key)) {
280
- if (variableLoadedList[controllerName].includes(key)) {
281
- throw new Error(`@cimo/jsmvcfw - JsMvcFw.ts - variableBind() => The method variableBind use existing label "${key}"!`);
282
- }
283
- variableLoadedList[controllerName].push(key);
284
- result[key] = variableBindItem(key, variableObject[key], controllerName);
338
+ if (!variableBindRegistry[controllerName]) {
339
+ variableBindRegistry[controllerName] = {};
340
+ }
341
+ for (const key in inputObject) {
342
+ if (!Object.prototype.hasOwnProperty.call(inputObject, key)) {
343
+ continue;
344
+ }
345
+ if (variableLoadedList[controllerName].includes(key)) {
346
+ throw new Error(`@cimo/jsmvcfw - JsMvcFw.ts - variableBind() => The method variableBind use existing label "${key}"!`);
347
+ }
348
+ variableLoadedList[controllerName].push(key);
349
+ const keyTyped = key;
350
+ const target = inputObject[keyTyped];
351
+ let initialValue = target;
352
+ if (variableLinkReference(target)) {
353
+ const sourceControllerObject = variableBindRegistry[target.controllerNameSource];
354
+ const sourceBind = sourceControllerObject ? sourceControllerObject[key] : null;
355
+ initialValue = sourceBind ? variableLinkClone(sourceBind.state) : undefined;
356
+ }
357
+ const bindItem = variableBindItem(key, initialValue, controllerName);
358
+ result[keyTyped] = bindItem;
359
+ variableBindRegistry[controllerName][key] = bindItem;
360
+ }
361
+ for (const key in inputObject) {
362
+ if (!Object.prototype.hasOwnProperty.call(inputObject, key)) {
363
+ continue;
364
+ }
365
+ const keyTyped = key;
366
+ const target = inputObject[keyTyped];
367
+ if (!variableLinkReference(target)) {
368
+ continue;
369
+ }
370
+ const targetBind = result[keyTyped];
371
+ const isResolved = variableLinkResolve(target, key, targetBind);
372
+ if (!isResolved) {
373
+ variableLinkPendingList.push({
374
+ target,
375
+ label: key,
376
+ targetBind
377
+ });
285
378
  }
286
379
  }
380
+ variableLinkPendingFlush();
287
381
  return result;
288
382
  };
383
+ export const variableLink = (controllerNameSource) => {
384
+ return {
385
+ __jsmvcfwType: "variableLink",
386
+ controllerNameSource
387
+ };
388
+ };
289
389
  export const elementObserver = (element, callback) => {
290
390
  const callbackList = callbackObserverWeakMap.get(element) || [];
291
391
  callbackObserverWeakMap.set(element, [...callbackList, callback]);
@@ -328,10 +428,12 @@ export const elementObserverOn = (element) => {
328
428
  export const frameworkReset = () => {
329
429
  Object.keys(virtualNodeObject).forEach((key) => delete virtualNodeObject[key]);
330
430
  Object.keys(renderTriggerObject).forEach((key) => delete renderTriggerObject[key]);
431
+ Object.keys(variableBindRegistry).forEach((key) => delete variableBindRegistry[key]);
331
432
  Object.keys(variableLoadedList).forEach((key) => delete variableLoadedList[key]);
332
433
  Object.keys(variableEditedList).forEach((key) => delete variableEditedList[key]);
333
434
  Object.keys(variableRenderUpdateObject).forEach((key) => delete variableRenderUpdateObject[key]);
334
435
  Object.keys(variableHookObject).forEach((key) => delete variableHookObject[key]);
436
+ variableLinkPendingList.length = 0;
335
437
  controllerList.length = 0;
336
438
  cacheVariableProxyWeakMap = new WeakMap();
337
439
  Object.keys(emitterObject).forEach((key) => delete emitterObject[key]);
@@ -1 +1 @@
1
- {"version":3,"file":"JsMvcFw.js","sourceRoot":"","sources":["../../src/JsMvcFw.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JsMvcFw.js","sourceRoot":"","sources":["../../src/JsMvcFw.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,44 @@
1
+ const safeHtml = (html) => {
2
+ const template = document.createElement("template");
3
+ template.innerHTML = html;
4
+ const blockElementList = ["script", "iframe", "object", "embed", "applet", "meta", "link", "style"].join(",");
5
+ template.content.querySelectorAll(blockElementList).forEach((element) => element.remove());
6
+ const elementList = template.content.querySelectorAll("*");
7
+ for (const element of elementList) {
8
+ const attributeList = [...element.attributes];
9
+ for (const attribute of attributeList) {
10
+ const name = attribute.name.toLowerCase();
11
+ const value = attribute.value.trim();
12
+ if (name.startsWith("on")) {
13
+ element.removeAttribute(attribute.name);
14
+ continue;
15
+ }
16
+ if (name === "href" || name === "src" || name === "xlink:href" || name === "action" || name === "formaction") {
17
+ const normalized = value.replace(/\s+/g, "").toLowerCase();
18
+ const isJs = normalized.startsWith("javascript:");
19
+ const isHtmlData = normalized.startsWith("data:text/html");
20
+ const isUnsafeData = normalized.startsWith("data:") && !normalized.startsWith("data:image/");
21
+ if (isJs || isHtmlData || isUnsafeData) {
22
+ element.removeAttribute(attribute.name);
23
+ }
24
+ }
25
+ if (name === "srcdoc") {
26
+ element.removeAttribute(attribute.name);
27
+ }
28
+ }
29
+ }
30
+ return template.innerHTML;
31
+ };
1
32
  const applyProperty = (element, key, valueNew, valueOld) => {
33
+ if (key === "jsmvcfw-html") {
34
+ if (typeof valueNew === "string") {
35
+ element.innerHTML = safeHtml(valueNew);
36
+ }
37
+ else {
38
+ element.innerHTML = "";
39
+ }
40
+ return;
41
+ }
2
42
  if (key.startsWith("on") && typeof valueNew === "function") {
3
43
  const eventName = key.slice(2).toLowerCase();
4
44
  if (typeof valueOld === "function") {
@@ -28,7 +68,10 @@ const applyProperty = (element, key, valueNew, valueOld) => {
28
68
  const updateProperty = (element, oldList, newList) => {
29
69
  for (const key in oldList) {
30
70
  if (!(key in newList)) {
31
- if (key.startsWith("on") && typeof oldList[key] === "function") {
71
+ if (key === "jsmvcfw-html") {
72
+ element.innerHTML = "";
73
+ }
74
+ else if (key.startsWith("on") && typeof oldList[key] === "function") {
32
75
  element.removeEventListener(key.slice(2).toLowerCase(), oldList[key]);
33
76
  }
34
77
  else {
@@ -139,7 +182,12 @@ export const updateVirtualNode = (element, nodeOld, nodeNew) => {
139
182
  element.replaceWith(elementNew);
140
183
  return;
141
184
  }
142
- updateProperty(element, nodeOld.propertyObject || {}, nodeNew.propertyObject || {});
185
+ const propertyOld = nodeOld.propertyObject || {};
186
+ const propertyNew = nodeNew.propertyObject || {};
187
+ updateProperty(element, propertyOld || {}, propertyNew || {});
188
+ if ("jsmvcfw-html" in propertyNew) {
189
+ return;
190
+ }
143
191
  updateChildren(element, nodeOld.childrenList, nodeNew.childrenList);
144
192
  };
145
193
  //# sourceMappingURL=JsMvcFwDom.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"JsMvcFwDom.js","sourceRoot":"","sources":["../../src/JsMvcFwDom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JsMvcFwDom.js","sourceRoot":"","sources":["../../src/JsMvcFwDom.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,15 @@ export interface IvariableHook<T> {
14
14
  state: T;
15
15
  setState: (value: T) => void;
16
16
  }
17
+ export interface IvariableLink {
18
+ __jsmvcfwType: "variableLink";
19
+ controllerNameSource: string;
20
+ }
21
+ export interface IvariableLinkPending {
22
+ target: IvariableLink;
23
+ label: string;
24
+ targetBind: IvariableBind<unknown>;
25
+ }
17
26
  export interface IvariableEffect {
18
27
  (groupObject: {
19
28
  list: string[];
@@ -24,7 +33,7 @@ export interface Icontroller {
24
33
  hookObject: Record<string, Element | Element[]>;
25
34
  variable(): void;
26
35
  variableEffect(watch: IvariableEffect): void;
27
- view(): IvirtualNode;
36
+ view(name?: string): IvirtualNode;
28
37
  event(): void;
29
38
  subControllerList(): Icontroller[];
30
39
  rendered(): void;
@@ -45,3 +54,9 @@ export interface IcallbackObserver {
45
54
  }
46
55
  export type TvirtualNodeProperty = string | number | boolean | (string | IvirtualNode)[] | ((event: Event) => void) | null | undefined;
47
56
  export type TvirtualNodeChildren = IvirtualNode | string | number;
57
+ export type TvariableBindInput<T extends Record<string, unknown>> = {
58
+ [A in keyof T]: T[A] | IvariableLink;
59
+ };
60
+ export type Temitter = {
61
+ variableChanged: void;
62
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cimo/jsmvcfw",
3
- "version": "1.4.36",
3
+ "version": "1.5.36",
4
4
  "description": "Javascript mvc framework. Light, fast and secure.",
5
5
  "author": "cimo",
6
6
  "license": "MIT",