Files
appco_dist/.output/server/chunks/build/FormItemContext-CDDW52IT.mjs
T
2025-07-23 16:57:31 +03:30

84 lines
2.5 KiB
JavaScript

import { defineComponent, computed, ref, getCurrentInstance, watch, provide, inject } from 'vue';
import { a2 as createContext } from './server.mjs';
const ContextKey = Symbol("ContextProps");
const InternalContextKey = Symbol("InternalContextProps");
const useProvideFormItemContext = function(props) {
let useValidation = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : computed(() => true);
const formItemFields = ref(/* @__PURE__ */ new Map());
const addFormItemField = (key, type) => {
formItemFields.value.set(key, type);
formItemFields.value = new Map(formItemFields.value);
};
const removeFormItemField = (key) => {
formItemFields.value.delete(key);
formItemFields.value = new Map(formItemFields.value);
};
getCurrentInstance();
watch([useValidation, formItemFields], () => {
});
provide(ContextKey, props);
provide(InternalContextKey, {
addFormItemField,
removeFormItemField
});
};
const defaultContext = {
id: computed(() => void 0),
onFieldBlur: () => {
},
onFieldChange: () => {
},
clearValidate: () => {
}
};
const defaultInternalContext = {
addFormItemField: () => {
},
removeFormItemField: () => {
}
};
const useInjectFormItemContext = () => {
const internalContext = inject(InternalContextKey, defaultInternalContext);
const formItemFieldKey = Symbol("FormItemFieldKey");
const instance = getCurrentInstance();
internalContext.addFormItemField(formItemFieldKey, instance.type);
provide(InternalContextKey, defaultInternalContext);
provide(ContextKey, defaultContext);
return inject(ContextKey, defaultContext);
};
const FormItemRest = defineComponent({
compatConfig: {
MODE: 3
},
name: "AFormItemRest",
setup(_, _ref) {
let {
slots
} = _ref;
provide(InternalContextKey, defaultInternalContext);
provide(ContextKey, defaultContext);
return () => {
var _a;
return (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots);
};
}
});
const FormItemInputContext = createContext({});
const NoFormStatus = defineComponent({
name: "NoFormStatus",
setup(_, _ref2) {
let {
slots
} = _ref2;
FormItemInputContext.useProvide({});
return () => {
var _a;
return (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots);
};
}
});
export { FormItemInputContext as F, NoFormStatus as N, FormItemRest as a, useProvideFormItemContext as b, useInjectFormItemContext as u };
//# sourceMappingURL=FormItemContext-CDDW52IT.mjs.map