@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.
- package/dist/components/form/BglField.vue.d.ts.map +1 -1
- package/dist/index.cjs +43 -24
- package/dist/index.mjs +43 -24
- package/dist/types/BagelForm.d.ts +2 -6
- package/dist/types/BagelForm.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/form/BglField.vue +14 -4
- package/src/components/form/BglForm.vue +5 -2
- package/src/types/BagelForm.ts +1 -2
- package/src/utils/index.ts +2 -2
|
@@ -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;;
|
|
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
|
|
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.
|
|
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
|
-
|
|
15775
|
-
|
|
15776
|
-
|
|
15777
|
-
|
|
15778
|
-
|
|
15779
|
-
|
|
15780
|
-
|
|
15781
|
-
|
|
15782
|
-
|
|
15783
|
-
|
|
15784
|
-
|
|
15785
|
-
|
|
15786
|
-
|
|
15787
|
-
|
|
15788
|
-
|
|
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
|
|
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
|
|
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(),
|
|
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
|
-
|
|
15773
|
-
|
|
15774
|
-
|
|
15775
|
-
|
|
15776
|
-
|
|
15777
|
-
|
|
15778
|
-
|
|
15779
|
-
|
|
15780
|
-
|
|
15781
|
-
|
|
15782
|
-
|
|
15783
|
-
|
|
15784
|
-
|
|
15785
|
-
|
|
15786
|
-
|
|
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
|
|
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
|
|
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":"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,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;
|
|
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
|
<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="
|
|
4
|
-
:
|
|
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,
|
|
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
|
-
<
|
|
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
|
-
</
|
|
9
|
+
</form>
|
|
7
10
|
</template>
|
|
8
11
|
|
|
9
12
|
<script lang="ts" setup>
|
package/src/types/BagelForm.ts
CHANGED
|
@@ -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
|
|
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>;
|
package/src/utils/index.ts
CHANGED
|
@@ -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
|
|
55
|
-
if (typeof field['v-if'] === 'function') return field['v-if']
|
|
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
|
|