@bagelink/vue 0.0.243 → 0.0.245

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 +1 @@
1
- {"version":3,"file":"BglField.vue.d.ts","sourceRoot":"","sources":["../../../src/components/form/BglField.vue"],"names":[],"mappings":"AAUA;AAEA,OAAO,EACN,KAAK,KAAK,EACV,MAAM,eAAe,CAAC;;WAuHf,KAAK;gBACA,OAAO,MAAM,EAAE,GAAG,CAAC;;;;;;WADxB,KAAK;gBACA,OAAO,MAAM,EAAE,GAAG,CAAC;;;;;;gBAAnB,OAAO,MAAM,EAAE,GAAG,CAAC;;AAPhC,wBAUG;AACH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC;AAC9M,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI;KAE1B,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QACxE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;KACb,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACT,CAAC;AACN,KAAK,cAAc,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"BglField.vue.d.ts","sourceRoot":"","sources":["../../../src/components/form/BglField.vue"],"names":[],"mappings":"AAUA;AAEA,OAAO,EACN,KAAK,KAAK,EACV,MAAM,eAAe,CAAC;;WAiIf,KAAK;gBACA,OAAO,MAAM,EAAE,GAAG,CAAC;;;;;;WADxB,KAAK;gBACA,OAAO,MAAM,EAAE,GAAG,CAAC;;;;;;gBAAnB,OAAO,MAAM,EAAE,GAAG,CAAC;;AAPhC,wBAUG;AACH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC;AAC9M,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI;KAE1B,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QACxE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;KACb,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACT,CAAC;AACN,KAAK,cAAc,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC"}
package/dist/index.cjs CHANGED
@@ -2365,14 +2365,15 @@ function bindAttrs(attrs, fieldVal, row) {
2365
2365
  return resolvedAttrs;
2366
2366
  }
2367
2367
  const iffer = (field, itemData) => {
2368
+ var _a2;
2368
2369
  if (field["v-if"] === void 0)
2369
2370
  return true;
2370
2371
  if (typeof field["v-if"] === "boolean")
2371
2372
  return field["v-if"];
2372
2373
  if (typeof field["v-if"] === "string")
2373
- return !!itemData.value[field["v-if"]];
2374
+ return true;
2374
2375
  if (typeof field["v-if"] === "function")
2375
- return field["v-if"](itemData == null ? void 0 : itemData[field.id], itemData);
2376
+ return (_a2 = field["v-if"]) == null ? void 0 : _a2.call(field, itemData == null ? void 0 : itemData[field.id], itemData);
2376
2377
  return true;
2377
2378
  };
2378
2379
  const denullify = (itemData, fieldID) => fieldID && itemData ? itemData[fieldID] : null;
@@ -15766,29 +15767,34 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
15766
15767
  };
15767
15768
  __expose({ validateForm, deleteItem, isDirty: isDirty.value });
15768
15769
  return (_ctx, _cache) => {
15769
- return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.id ? "div" : "form"), {
15770
+ return _ctx.id ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(_ctx.schema, (field, i3) => {
15771
+ return vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$h), {
15772
+ key: field.id || `${i3}p`,
15773
+ field,
15774
+ modelValue: data2.value,
15775
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => data2.value = $event)
15776
+ }, null, 8, ["field", "modelValue"]);
15777
+ }), 128)) : (vue.openBlock(), vue.createElementBlock("form", {
15778
+ key: 1,
15770
15779
  ref_key: "form",
15771
15780
  ref: form,
15772
15781
  onSubmit: vue.withModifiers(runSubmit, ["prevent"])
15773
- }, {
15774
- default: vue.withCtx(() => [
15775
- _ctx.label ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$k), {
15776
- key: 0,
15777
- tag: "h4",
15778
- label: _ctx.label
15779
- }, null, 8, ["label"])) : vue.createCommentVNode("", true),
15780
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.schema, (field, i3) => {
15781
- return vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$h), {
15782
- key: field.id || `${i3}p`,
15783
- field,
15784
- modelValue: data2.value,
15785
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => data2.value = $event)
15786
- }, null, 8, ["field", "modelValue"]);
15787
- }), 128)),
15788
- vue.renderSlot(_ctx.$slots, "submit")
15789
- ]),
15790
- _: 3
15791
- }, 544);
15782
+ }, [
15783
+ _ctx.label ? (vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$k), {
15784
+ key: 0,
15785
+ tag: "h4",
15786
+ label: _ctx.label
15787
+ }, null, 8, ["label"])) : vue.createCommentVNode("", true),
15788
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.schema, (field, i3) => {
15789
+ return vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$h), {
15790
+ key: field.id || `${i3}p`,
15791
+ field,
15792
+ modelValue: data2.value,
15793
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => data2.value = $event)
15794
+ }, null, 8, ["field", "modelValue"]);
15795
+ }), 128)),
15796
+ vue.renderSlot(_ctx.$slots, "submit")
15797
+ ], 544));
15792
15798
  };
15793
15799
  }
15794
15800
  });
@@ -15825,12 +15831,25 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
15825
15831
  data2[props2.field.id] = val;
15826
15832
  emit2("update:modelValue", data2);
15827
15833
  },
15828
- get: () => props2.field.id ? props2.modelValue[props2.field.id] : ""
15834
+ get: () => props2.field.id ? props2.modelValue[props2.field.id] : props2.field.defaultValue || ""
15835
+ });
15836
+ const vIf = vue.computed(() => {
15837
+ var _a2, _b;
15838
+ if (props2.field["v-if"] === void 0)
15839
+ return true;
15840
+ if (typeof props2.field["v-if"] === "boolean")
15841
+ return props2.field["v-if"];
15842
+ if (typeof props2.field["v-if"] === "string")
15843
+ return true;
15844
+ if (typeof props2.field["v-if"] === "function") {
15845
+ return (_b = (_a2 = props2.field)["v-if"]) == null ? void 0 : _b.call(_a2, fieldData.value, formData.value);
15846
+ }
15847
+ return true;
15829
15848
  });
15830
15849
  return (_ctx, _cache) => {
15831
15850
  var _a2, _b;
15832
15851
  const _component_BglField = vue.resolveComponent("BglField", true);
15833
- return vue.unref(iffer)(_ctx.field, fieldData.value) ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(is4.value), vue.mergeProps({
15852
+ return vIf.value ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(is4.value), vue.mergeProps({
15834
15853
  key: 0,
15835
15854
  required: _ctx.field.required
15836
15855
  }, vue.unref(bindAttrs)(((_a2 = _ctx.field) == null ? void 0 : _a2.attrs) || {}, fieldData.value, _ctx.modelValue), {
package/dist/index.mjs CHANGED
@@ -2363,14 +2363,15 @@ function bindAttrs(attrs, fieldVal, row) {
2363
2363
  return resolvedAttrs;
2364
2364
  }
2365
2365
  const iffer = (field, itemData) => {
2366
+ var _a2;
2366
2367
  if (field["v-if"] === void 0)
2367
2368
  return true;
2368
2369
  if (typeof field["v-if"] === "boolean")
2369
2370
  return field["v-if"];
2370
2371
  if (typeof field["v-if"] === "string")
2371
- return !!itemData.value[field["v-if"]];
2372
+ return true;
2372
2373
  if (typeof field["v-if"] === "function")
2373
- return field["v-if"](itemData == null ? void 0 : itemData[field.id], itemData);
2374
+ return (_a2 = field["v-if"]) == null ? void 0 : _a2.call(field, itemData == null ? void 0 : itemData[field.id], itemData);
2374
2375
  return true;
2375
2376
  };
2376
2377
  const denullify = (itemData, fieldID) => fieldID && itemData ? itemData[fieldID] : null;
@@ -15764,29 +15765,34 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
15764
15765
  };
15765
15766
  __expose({ validateForm, deleteItem, isDirty: isDirty.value });
15766
15767
  return (_ctx, _cache) => {
15767
- return openBlock(), createBlock(resolveDynamicComponent(_ctx.id ? "div" : "form"), {
15768
+ return _ctx.id ? (openBlock(true), createElementBlock(Fragment$1, { key: 0 }, renderList(_ctx.schema, (field, i3) => {
15769
+ return openBlock(), createBlock(unref(_sfc_main$h), {
15770
+ key: field.id || `${i3}p`,
15771
+ field,
15772
+ modelValue: data2.value,
15773
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => data2.value = $event)
15774
+ }, null, 8, ["field", "modelValue"]);
15775
+ }), 128)) : (openBlock(), createElementBlock("form", {
15776
+ key: 1,
15768
15777
  ref_key: "form",
15769
15778
  ref: form,
15770
15779
  onSubmit: withModifiers(runSubmit, ["prevent"])
15771
- }, {
15772
- default: withCtx(() => [
15773
- _ctx.label ? (openBlock(), createBlock(unref(_sfc_main$k), {
15774
- key: 0,
15775
- tag: "h4",
15776
- label: _ctx.label
15777
- }, null, 8, ["label"])) : createCommentVNode("", true),
15778
- (openBlock(true), createElementBlock(Fragment$1, null, renderList(_ctx.schema, (field, i3) => {
15779
- return openBlock(), createBlock(unref(_sfc_main$h), {
15780
- key: field.id || `${i3}p`,
15781
- field,
15782
- modelValue: data2.value,
15783
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => data2.value = $event)
15784
- }, null, 8, ["field", "modelValue"]);
15785
- }), 128)),
15786
- renderSlot(_ctx.$slots, "submit")
15787
- ]),
15788
- _: 3
15789
- }, 544);
15780
+ }, [
15781
+ _ctx.label ? (openBlock(), createBlock(unref(_sfc_main$k), {
15782
+ key: 0,
15783
+ tag: "h4",
15784
+ label: _ctx.label
15785
+ }, null, 8, ["label"])) : createCommentVNode("", true),
15786
+ (openBlock(true), createElementBlock(Fragment$1, null, renderList(_ctx.schema, (field, i3) => {
15787
+ return openBlock(), createBlock(unref(_sfc_main$h), {
15788
+ key: field.id || `${i3}p`,
15789
+ field,
15790
+ modelValue: data2.value,
15791
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => data2.value = $event)
15792
+ }, null, 8, ["field", "modelValue"]);
15793
+ }), 128)),
15794
+ renderSlot(_ctx.$slots, "submit")
15795
+ ], 544));
15790
15796
  };
15791
15797
  }
15792
15798
  });
@@ -15823,12 +15829,25 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
15823
15829
  data2[props2.field.id] = val;
15824
15830
  emit2("update:modelValue", data2);
15825
15831
  },
15826
- get: () => props2.field.id ? props2.modelValue[props2.field.id] : ""
15832
+ get: () => props2.field.id ? props2.modelValue[props2.field.id] : props2.field.defaultValue || ""
15833
+ });
15834
+ const vIf = computed(() => {
15835
+ var _a2, _b;
15836
+ if (props2.field["v-if"] === void 0)
15837
+ return true;
15838
+ if (typeof props2.field["v-if"] === "boolean")
15839
+ return props2.field["v-if"];
15840
+ if (typeof props2.field["v-if"] === "string")
15841
+ return true;
15842
+ if (typeof props2.field["v-if"] === "function") {
15843
+ return (_b = (_a2 = props2.field)["v-if"]) == null ? void 0 : _b.call(_a2, fieldData.value, formData.value);
15844
+ }
15845
+ return true;
15827
15846
  });
15828
15847
  return (_ctx, _cache) => {
15829
15848
  var _a2, _b;
15830
15849
  const _component_BglField = resolveComponent("BglField", true);
15831
- return unref(iffer)(_ctx.field, fieldData.value) ? (openBlock(), createBlock(resolveDynamicComponent(is4.value), mergeProps({
15850
+ return vIf.value ? (openBlock(), createBlock(resolveDynamicComponent(is4.value), mergeProps({
15832
15851
  key: 0,
15833
15852
  required: _ctx.field.required
15834
15853
  }, unref(bindAttrs)(((_a2 = _ctx.field) == null ? void 0 : _a2.attrs) || {}, fieldData.value, _ctx.modelValue), {
@@ -15,9 +15,9 @@ export type BaseBagelField<T = Record<string, any>> = {
15
15
  required?: boolean;
16
16
  helptext?: string;
17
17
  options?: string | ({
18
- label: string;
18
+ label?: string;
19
19
  value: string | number;
20
- } | string | number)[];
20
+ } | string | number | Record<string, any>)[];
21
21
  defaultValue?: any;
22
22
  transform?: (val?: any, rowData?: Record<string, any>) => any;
23
23
  onUpdate?: (val: any, fieldData?: any, rowData?: Record<string, any>) => void;
@@ -31,10 +31,6 @@ export interface InputBagelField<T> extends BaseBagelField<T> {
31
31
  export interface SelectBagelField<T> extends BaseBagelField<T> {
32
32
  $el: 'select' | typeof SelectInput;
33
33
  id: string;
34
- options: string | ({
35
- label: string;
36
- value: string | number;
37
- } | string | number)[];
38
34
  }
39
35
  export type Field<T = Record<string, any>> = BaseBagelField<T> | InputBagelField<T> | SelectBagelField<T>;
40
36
  export type BglFormSchemaT<T = Record<string, any>> = Field<T>[];
@@ -1 +1 @@
1
- {"version":3,"file":"BagelForm.d.ts","sourceRoot":"","sources":["../../src/types/BagelForm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BagelForm.d.ts","sourceRoot":"","sources":["../../src/types/BagelForm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEvD,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEhG,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,cAAc,CAAC;AAE1F,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,GAAG;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;CAC/C;AAED,MAAM,MAAM,cAAc,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI;IACpD,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IACxC,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;IAC1G,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC;IAC9D,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IAC9E,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC;CAC7D,CAAA;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;IAC3D,GAAG,EAAE,MAAM,GAAG,OAAO,SAAS,CAAC;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;IAC5D,GAAG,EAAE,QAAQ,GAAG,OAAO,WAAW,CAAC;IACnC,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,MAAM,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAE1G,MAAM,MAAM,cAAc,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bagelink/vue",
3
3
  "type": "module",
4
- "version": "0.0.243",
4
+ "version": "0.0.245",
5
5
  "description": "Bagel core sdk packages",
6
6
  "author": {
7
7
  "name": "Neveh Allon",
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <component :required="field.required" v-bind="bindAttrs(field?.attrs || {}, fieldData, modelValue)"
3
- :class="classify(fieldData, modelValue, field.class, field.attrs?.class)" v-if="iffer(field, fieldData)" :is="is"
4
- :label="field.label" :id="field.id" :placeholder="field.placeholder || field.label" v-model="fieldData"
3
+ :class="classify(fieldData, modelValue, field.class, field.attrs?.class)" v-if="vIf" :is="is" :label="field.label"
4
+ :id="field.id" :placeholder="field.placeholder || field.label" v-model="fieldData"
5
5
  :defaultValue="field.defaultValue" :options="field.options" :helptext="field.helptext"
6
6
  @update:modelValue="($event: any) => field?.onUpdate?.($event, denullify(fieldData, field.id), formData)">
7
7
  {{ field.transform?.(fieldData, modelValue) || fieldData || '' }}
@@ -11,7 +11,7 @@
11
11
 
12
12
  <script lang="ts" setup>
13
13
  import {
14
- type Field, bindAttrs, classify, SelectInput, TextInput, ToggleInput, CheckInput, iffer, denullify,
14
+ type Field, bindAttrs, classify, SelectInput, TextInput, ToggleInput, CheckInput, denullify,
15
15
  } from '@bagelink/vue';
16
16
 
17
17
  const props = withDefaults(defineProps<{
@@ -43,6 +43,16 @@ const fieldData = $computed({
43
43
  data[props.field.id] = val;
44
44
  emit('update:modelValue', data);
45
45
  },
46
- get: () => (props.field.id ? props.modelValue[props.field.id] : ''),
46
+ get: () => (props.field.id ? props.modelValue[props.field.id] : props.field.defaultValue || ''),
47
+ });
48
+
49
+ const vIf = $computed(() => {
50
+ if (props.field['v-if'] === undefined) return true;
51
+ if (typeof props.field['v-if'] === 'boolean') return props.field['v-if'];
52
+ if (typeof props.field['v-if'] === 'string') return true;
53
+ if (typeof props.field['v-if'] === 'function') {
54
+ return props.field['v-if']?.(fieldData, formData);
55
+ }
56
+ return true;
47
57
  });
48
58
  </script>
@@ -1,9 +1,12 @@
1
1
  <template>
2
- <component :is="id?'div':'form'" ref="form" @submit.prevent="runSubmit">
2
+ <template v-if="id">
3
+ <BglField v-for="(field, i) in schema" :key="field.id || `${i}p`" :field="field" v-model="data" />
4
+ </template>
5
+ <form v-else ref="form" @submit.prevent="runSubmit">
3
6
  <Title tag="h4" :label="label" v-if="label" />
4
7
  <BglField v-for="(field, i) in schema" :key="field.id || `${i}p`" :field="field" v-model="data" />
5
8
  <slot name="submit" />
6
- </component>
9
+ </form>
7
10
  </template>
8
11
 
9
12
  <script lang="ts" setup>
@@ -18,7 +18,7 @@ export type BaseBagelField<T = Record<string, any>> = {
18
18
  attrs?: Attributes<T>;
19
19
  required?: boolean;
20
20
  helptext?: string;
21
- options?: string | ({ label: string; value: string | number } | string | number)[],
21
+ options?: string | ({ label?: string; value: string | number } | string | number | Record<string, any>)[],
22
22
  defaultValue?: any;
23
23
  transform?: (val?: any, rowData?: Record<string, any>) => any;
24
24
  onUpdate?: (val: any, fieldData?: any, rowData?: Record<string, any>) => void;
@@ -34,7 +34,6 @@ export interface InputBagelField<T> extends BaseBagelField<T> {
34
34
  export interface SelectBagelField<T> extends BaseBagelField<T> {
35
35
  $el: 'select' | typeof SelectInput;
36
36
  id: string;
37
- options: string | ({ label: string; value: string | number } | string | number)[],
38
37
  }
39
38
 
40
39
  export type Field<T = Record<string, any>> = BaseBagelField<T> | InputBagelField<T> | SelectBagelField<T>;
@@ -51,8 +51,8 @@ export function bindAttrs<T = Record<string, any>>(attrs?: Attributes, fieldVal?
51
51
  export const iffer = (field: any, itemData: any) => {
52
52
  if (field['v-if'] === undefined) return true;
53
53
  if (typeof field['v-if'] === 'boolean') return field['v-if'];
54
- if (typeof field['v-if'] === 'string') return !!itemData.value[field['v-if']];
55
- if (typeof field['v-if'] === 'function') return field['v-if']!(itemData?.[field.id], itemData);
54
+ if (typeof field['v-if'] === 'string') return true;
55
+ if (typeof field['v-if'] === 'function') return field['v-if']?.(itemData?.[field.id], itemData);
56
56
  return true;
57
57
  };
58
58