@razaman2/reactive-view 0.0.34-beta.6 → 0.0.34-beta.7

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/index.js CHANGED
@@ -168,7 +168,7 @@ var import_vue = require("vue");
168
168
 
169
169
  // package.json
170
170
  var name = "@razaman2/reactive-view";
171
- var version = "0.0.34-beta.6";
171
+ var version = "0.0.34-beta.7";
172
172
 
173
173
  // src/ReactiveView.ts
174
174
  var setup = {
@@ -224,6 +224,13 @@ var ReactiveView_default = {
224
224
  }, import_object_manager.default.on({}));
225
225
  return { before: before.get(), after: after.get(), change: change.get() };
226
226
  };
227
+ const dataPath = (path) => {
228
+ try {
229
+ return context.attrs["data:path"](path);
230
+ } catch (e) {
231
+ return path;
232
+ }
233
+ };
227
234
  const template = (component2, vue2) => {
228
235
  return (0, import_vue.createVNode)(
229
236
  "div",
@@ -279,15 +286,17 @@ var ReactiveView_default = {
279
286
  }
280
287
  }
281
288
  });
282
- const component = (0, import_vue.ref)({ parent: { self: vue.proxy }, self: { template, model, isValid } });
289
+ const component = (0, import_vue.ref)({ parent: { self: vue.proxy }, self: { template, model, dataPath, isValid } });
283
290
  if (props.debug) {
284
291
  console.log("[ReactiveView]:", { props, context, vue, defer, config, model, component, datatype, defaultData, isValid, isReady, isFunctionData, isAsyncFunctionData, isPromiseData });
285
292
  }
286
293
  const watchDataProp = (dataProp) => {
287
- var _a2, _b2, _c2;
294
+ var _a2, _b2, _c2, _d2;
288
295
  const config2 = typeof context.attrs["onUpdate:data"] === "function" ? { callback: context.attrs["onUpdate:data"] } : {
289
296
  callback: (_b2 = ((_a2 = context.attrs["onUpdate:data"]) != null ? _a2 : {}).callback) != null ? _b2 : context.attrs["data:callback"],
290
- options: Object.assign(__spreadValues(__spreadValues(__spreadValues({}, context.attrs["data:immediate"] ? { immediate: context.attrs["data:immediate"] } : {}), context.attrs["data:deep"] ? { deep: context.attrs["data:deep"] } : {}), context.attrs["data:once"] ? { once: context.attrs["data:once"] } : {}), ((_c2 = context.attrs["onUpdate:data"]) != null ? _c2 : {}).options)
297
+ options: Object.assign(__spreadValues(__spreadValues({
298
+ deep: (_c2 = context.attrs["data:deep"]) != null ? _c2 : true
299
+ }, context.attrs["data:immediate"] ? { immediate: context.attrs["data:immediate"] } : {}), context.attrs["data:once"] ? { once: context.attrs["data:once"] } : {}), ((_d2 = context.attrs["onUpdate:data"]) != null ? _d2 : {}).options)
291
300
  };
292
301
  if (context.attrs["data:log"]) {
293
302
  console.log(`[ReactiveView]:data`, { config: config2, dataProp });
@@ -315,11 +324,13 @@ var ReactiveView_default = {
315
324
  config2.callback(diff(import_object_manager.default.on(before), import_object_manager.default.on(after)), { component });
316
325
  }, config2.options);
317
326
  }
318
- setTimeout(async () => {
319
- var _a2;
320
- const [data] = await Promise.all([isAsyncFunctionData ? props.data() : props.data, (_a2 = defer.value) != null ? _a2 : true]);
321
- watchDataProp(data);
322
- });
327
+ if (isFunctionData || isPromiseData) {
328
+ setTimeout(async () => {
329
+ var _a2;
330
+ const [data] = await Promise.all([isAsyncFunctionData ? props.data() : props.data, (_a2 = defer.value) != null ? _a2 : true]);
331
+ watchDataProp(data);
332
+ });
333
+ }
323
334
  setTimeout(async () => {
324
335
  var _a2;
325
336
  isReady.value = (_a2 = await defer.value) != null ? _a2 : true;
package/dist/index.mjs CHANGED
@@ -125,7 +125,7 @@ import { ref, reactive, watch, isRef, isReactive, createVNode, getCurrentInstanc
125
125
 
126
126
  // package.json
127
127
  var name = "@razaman2/reactive-view";
128
- var version = "0.0.34-beta.6";
128
+ var version = "0.0.34-beta.7";
129
129
 
130
130
  // src/ReactiveView.ts
131
131
  var setup = {
@@ -181,6 +181,13 @@ var ReactiveView_default = {
181
181
  }, ObjectManager.on({}));
182
182
  return { before: before.get(), after: after.get(), change: change.get() };
183
183
  };
184
+ const dataPath = (path) => {
185
+ try {
186
+ return context.attrs["data:path"](path);
187
+ } catch (e) {
188
+ return path;
189
+ }
190
+ };
184
191
  const template = (component2, vue2) => {
185
192
  return createVNode(
186
193
  "div",
@@ -236,15 +243,17 @@ var ReactiveView_default = {
236
243
  }
237
244
  }
238
245
  });
239
- const component = ref({ parent: { self: vue.proxy }, self: { template, model, isValid } });
246
+ const component = ref({ parent: { self: vue.proxy }, self: { template, model, dataPath, isValid } });
240
247
  if (props.debug) {
241
248
  console.log("[ReactiveView]:", { props, context, vue, defer, config, model, component, datatype, defaultData, isValid, isReady, isFunctionData, isAsyncFunctionData, isPromiseData });
242
249
  }
243
250
  const watchDataProp = (dataProp) => {
244
- var _a2, _b2, _c2;
251
+ var _a2, _b2, _c2, _d2;
245
252
  const config2 = typeof context.attrs["onUpdate:data"] === "function" ? { callback: context.attrs["onUpdate:data"] } : {
246
253
  callback: (_b2 = ((_a2 = context.attrs["onUpdate:data"]) != null ? _a2 : {}).callback) != null ? _b2 : context.attrs["data:callback"],
247
- options: Object.assign(__spreadValues(__spreadValues(__spreadValues({}, context.attrs["data:immediate"] ? { immediate: context.attrs["data:immediate"] } : {}), context.attrs["data:deep"] ? { deep: context.attrs["data:deep"] } : {}), context.attrs["data:once"] ? { once: context.attrs["data:once"] } : {}), ((_c2 = context.attrs["onUpdate:data"]) != null ? _c2 : {}).options)
254
+ options: Object.assign(__spreadValues(__spreadValues({
255
+ deep: (_c2 = context.attrs["data:deep"]) != null ? _c2 : true
256
+ }, context.attrs["data:immediate"] ? { immediate: context.attrs["data:immediate"] } : {}), context.attrs["data:once"] ? { once: context.attrs["data:once"] } : {}), ((_d2 = context.attrs["onUpdate:data"]) != null ? _d2 : {}).options)
248
257
  };
249
258
  if (context.attrs["data:log"]) {
250
259
  console.log(`[ReactiveView]:data`, { config: config2, dataProp });
@@ -272,11 +281,13 @@ var ReactiveView_default = {
272
281
  config2.callback(diff(ObjectManager.on(before), ObjectManager.on(after)), { component });
273
282
  }, config2.options);
274
283
  }
275
- setTimeout(async () => {
276
- var _a2;
277
- const [data] = await Promise.all([isAsyncFunctionData ? props.data() : props.data, (_a2 = defer.value) != null ? _a2 : true]);
278
- watchDataProp(data);
279
- });
284
+ if (isFunctionData || isPromiseData) {
285
+ setTimeout(async () => {
286
+ var _a2;
287
+ const [data] = await Promise.all([isAsyncFunctionData ? props.data() : props.data, (_a2 = defer.value) != null ? _a2 : true]);
288
+ watchDataProp(data);
289
+ });
290
+ }
280
291
  setTimeout(async () => {
281
292
  var _a2;
282
293
  isReady.value = (_a2 = await defer.value) != null ? _a2 : true;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@razaman2/reactive-view",
3
- "version": "0.0.34-beta.6",
3
+ "version": "0.0.34-beta.7",
4
4
  "description": "This library enables you to build vue apps in an object oriented way. It provides a convenient approach to extend and override ui components. It provides a built in eventing system along with component data management.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",