orion-design 0.1.38 → 0.1.40
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/_plugin-vue_export-helper-CHgC5LLL.js +10 -0
- package/dist/_plugin-vue_export-helper-CHgC5LLL.js.map +1 -0
- package/dist/components/Card/Card.vue.d.ts +22 -0
- package/dist/components/Card/index.d.ts +28 -0
- package/dist/components/Card/index.js +38 -0
- package/dist/components/Card/index.js.map +1 -0
- package/dist/components/Form/StringInput/StringInput.vue.d.ts +18 -1
- package/dist/components/Form/index.js +450 -421
- package/dist/components/Form/index.js.map +1 -1
- package/dist/components/Icon/Icon.vue.d.ts +6 -0
- package/dist/components/Icon/index.d.ts +6 -0
- package/dist/components/Icon/index.js +34 -0
- package/dist/components/Icon/index.js.map +1 -0
- package/dist/components/Modal/index.js +40 -44
- package/dist/components/Modal/index.js.map +1 -1
- package/dist/components/Tree/index.d.ts +1 -0
- package/dist/components/Tree/index.js +2 -0
- package/dist/components/Tree/index.js.map +1 -0
- package/dist/components/components.d.ts +2 -0
- package/dist/components/components.js +20 -16
- package/dist/components/components.js.map +1 -1
- package/dist/components/index.js +30 -26
- package/dist/components/index.js.map +1 -1
- package/dist/components-Pdc4XEej.js +52 -0
- package/dist/{components-BJrXhY2G.js.map → components-Pdc4XEej.js.map} +1 -1
- package/dist/index.css +1 -1
- package/dist/index.js +27 -23
- package/dist/index.js.map +1 -1
- package/dist/version/version.d.ts +1 -1
- package/dist/version/version.js +1 -1
- package/dist/version/version.js.map +1 -1
- package/global.d.ts +5 -0
- package/package.json +1 -1
- package/dist/components-BJrXhY2G.js +0 -48
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/Form/Form.vue","../../../src/components/Form/StringInput/StringInput.vue","../../../src/components/Form/PasswordInput/PasswordInput.vue","../../../src/components/Form/Textarea/Textarea.vue","../../../src/components/Form/SingleSelect/SingleSelect.vue","../../../src/components/Form/MultiSelect/MultiSelect.vue","../../../src/components/Form/RadioGroup/RadioGroup.vue","../../../src/components/Form/CheckboxGroup/CheckboxGroup.vue","../../../src/components/Form/Checkbox/Checkbox.vue","../../../src/components/Form/Switch/Switch.vue","../../../src/components/Form/DateInput/DateInput.vue","../../../src/components/Form/FileInput/FileInput.vue","../../../src/components/Form/ButtonGroup/ButtonGroup.vue","../../../src/components/Form/DiyItem/DiyItem.vue","../../../src/components/Form/LovInput/LovInput.vue","../../../src/components/Form/NumberInput/NumberInput.vue","../../../src/components/Form/TableSelect/TableSelect.vue","../../../src/components/Form/index.ts"],"sourcesContent":["<template>\r\n <el-form ref=\"form\" :model=\"modelValue\" :rules=\"rules\" :label-width=\"itemLabelWidth\" :disabled=\"disabled\" class=\"orion-form\">\r\n <el-row :gutter=\"16\">\r\n <slot></slot>\r\n </el-row>\r\n </el-form>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { provide, reactive, toRef, useTemplateRef } from 'vue'\r\nimport { ElForm, ElRow } from 'element-plus'\r\nimport { type FormProps, type FormExpose, formContextKey } from './Form'\r\nimport OrionError from '../../error/OrionError'\r\nimport { difference, isEmpty } from 'lodash-es'\r\n\r\ndefineOptions({ name: 'OForm', inheritAttrs: false })\r\n\r\nconst { rules, itemSpan = 6, itemLabelWidth = 'auto', disabled = false, modelValue } = defineProps<FormProps>()\r\n\r\nconst emit = defineEmits(['update:modelValue'])\r\n\r\nconst updateModelValue = (name: string, value: any) => {\r\n if (!Object.keys(modelValue).includes(name)) {\r\n throw new OrionError(`modelValue中不存在[${name}]`)\r\n }\r\n emit('update:modelValue', { ...modelValue, [name]: value })\r\n}\r\n\r\nconst updateModelValueMulti = (data: Record<string, any>) => {\r\n const modelKeys = Object.keys(modelValue)\r\n const dataKeys = Object.keys(data)\r\n const diff = difference(dataKeys, modelKeys)\r\n if (!isEmpty(diff)) {\r\n throw new OrionError(`modelValue中不存在[${diff.join(',')}]`)\r\n }\r\n emit('update:modelValue', { ...modelValue, ...data })\r\n}\r\n\r\nconst formRef = useTemplateRef('form')\r\n\r\nconst validate: FormExpose['validate'] = async () => {\r\n return await formRef.value!.validate()\r\n}\r\n\r\ndefineExpose({\r\n validate,\r\n})\r\n\r\nprovide(\r\n formContextKey,\r\n reactive({\r\n modelValue: toRef(() => modelValue),\r\n updateModelValue,\r\n updateModelValueMulti,\r\n rules: toRef(() => rules),\r\n itemSpan: toRef(() => itemSpan),\r\n disabled: toRef(() => disabled),\r\n })\r\n)\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-input v-model=\"elModel\" :maxlength=\"maxlength\" :placeholder=\"placeholder\" :disabled=\"disabled\" :readonly=\"readonly\" />\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem, ElInput } from 'element-plus'\r\nimport type { StringInputProps } from './StringInput'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemStringModel } from '../hooks'\r\n\r\ndefineOptions({ name: 'OFormString', inheritAttrs: false })\r\n\r\nconst { name, label, labelWidth, required, maxlength, placeholder, disabled, readonly } = defineProps<StringInputProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst elModel = useFormItemStringModel()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-input v-model=\"elModel\" :maxlength=\"maxlength\" :placeholder=\"placeholder\" :disabled=\"disabled\" :readonly=\"readonly\" type=\"password\" />\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem, ElInput } from 'element-plus'\r\nimport type { PasswordInputProps } from './PasswordInput'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemStringModel } from '../hooks'\r\n\r\ndefineOptions({ name: 'OFormPassword', inheritAttrs: false })\r\n\r\nconst { name, label, labelWidth, required, maxlength, placeholder, disabled, readonly } = defineProps<PasswordInputProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst elModel = useFormItemStringModel()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-input\r\n v-model=\"elModel\"\r\n :maxlength=\"maxlength\"\r\n :placeholder=\"placeholder\"\r\n :disabled=\"disabled\"\r\n :readonly=\"readonly\"\r\n type=\"textarea\"\r\n :rows=\"rows\"\r\n :resize=\"'none'\"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem, ElInput } from 'element-plus'\r\nimport type { TextareaProps } from './Textarea'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemStringModel } from '../hooks'\r\n\r\ndefineOptions({ name: 'OFormTextarea', inheritAttrs: false })\r\n\r\nconst { name, label, labelWidth, required, maxlength, placeholder, disabled, readonly, rows } = defineProps<TextareaProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst elModel = useFormItemStringModel()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-input v-if=\"normalizedDisabled\" :model-value=\"content\" :placeholder=\"placeholder\" :disabled=\"true\" :readonly=\"true\" />\r\n <el-select v-else v-model=\"elModel\" :placeholder=\"placeholder\" :clearable=\"clearable\" :filterable=\"filterable\" @change=\"attrs.onChange as any\">\r\n <el-option v-for=\"codeItem in normalizedCode\" :key=\"codeItem.value\" :label=\"codeItem.content\" :value=\"codeItem.value\" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, useAttrs } from 'vue'\r\nimport { ElCol, ElFormItem, ElInput, ElSelect, ElOption } from 'element-plus'\r\nimport type { SingleSelectProps } from './SingleSelect'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemDisabled, useFormItemCode, useFormItemStringModel } from '../hooks'\r\nimport { getSingleCodeContent } from '../utils'\r\n\r\ndefineOptions({ name: 'OFormSingleselect', inheritAttrs: false })\r\nconst attrs = useAttrs()\r\n\r\nconst { name, label, labelWidth, required, placeholder, clearable, filterable } = defineProps<SingleSelectProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst normalizedDisabled = useFormItemDisabled()\r\nconst normalizedCode = useFormItemCode()\r\nconst elModel = useFormItemStringModel()\r\nconst content = computed(() => getSingleCodeContent(normalizedCode.value, elModel.value))\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-input v-if=\"normalizedDisabled\" :model-value=\"content\" :placeholder=\"placeholder\" :disabled=\"true\" :readonly=\"true\" />\r\n <el-select\r\n v-else\r\n v-model=\"elModel\"\r\n :placeholder=\"placeholder\"\r\n multiple\r\n :collapse-tags=\"collapseTags\"\r\n :collapse-tags-tooltip=\"collapseTagsTooltip\"\r\n @change=\"attrs.onChange as any\"\r\n >\r\n <el-option v-for=\"codeItem in normalizedCode\" :key=\"codeItem.value\" :label=\"codeItem.content\" :value=\"codeItem.value\" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, useAttrs } from 'vue'\r\nimport { ElCol, ElFormItem, ElInput, ElSelect, ElOption } from 'element-plus'\r\nimport type { MultiSelectProps } from './MultiSelect'\r\nimport { useFormContext, useFormItemSpan, useFormItemRules, useFormItemDisabled, useFormItemCode, useFormItemMultiModel } from '../hooks'\r\nimport { getMultiCodeContent } from '../utils'\r\n\r\ndefineOptions({ name: 'OFormMultiselect', inheritAttrs: false })\r\nconst attrs = useAttrs()\r\n\r\nconst { name, label, labelWidth, required, placeholder, collapseTags, collapseTagsTooltip } = defineProps<MultiSelectProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst normalizedDisabled = useFormItemDisabled()\r\nconst normalizedCode = useFormItemCode()\r\nconst elModel = useFormItemMultiModel()\r\nconst formContext = useFormContext()!\r\nconst content = computed(() => getMultiCodeContent(normalizedCode.value, formContext.modelValue[name]))\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-radio-group v-model=\"elModel\" :disabled=\"disabled\">\r\n <el-radio v-for=\"codeItem in normalizedCode\" :key=\"codeItem.value\" :value=\"codeItem.value\">\r\n {{ codeItem.content }}\r\n </el-radio>\r\n </el-radio-group>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem, ElRadioGroup, ElRadio } from 'element-plus'\r\nimport type { RadioGroupProps } from './RadioGroup'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemCode, useFormItemStringModel } from '../hooks'\r\n\r\ndefineOptions({ name: 'OFormRadiogroup', inheritAttrs: false })\r\n\r\nconst { name, label, labelWidth, required, disabled } = defineProps<RadioGroupProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst normalizedCode = useFormItemCode()\r\nconst elModel = useFormItemStringModel()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-checkbox-group v-model=\"elModel\" :disabled=\"disabled\">\r\n <el-checkbox v-for=\"codeItem in normalizedCode\" :key=\"codeItem.value\" :label=\"codeItem.content\" :value=\"codeItem.value\" />\r\n </el-checkbox-group>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem, ElCheckboxGroup, ElCheckbox } from 'element-plus'\r\nimport type { CheckboxGroupProps } from './CheckboxGroup'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemCode, useFormItemMultiModel } from '../hooks'\r\n\r\ndefineOptions({ name: 'OFormCheckboxgroup', inheritAttrs: false })\r\n\r\nconst { name, label, labelWidth, required, disabled } = defineProps<CheckboxGroupProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst normalizedCode = useFormItemCode()\r\nconst elModel = useFormItemMultiModel()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :rules=\"rules\">\r\n <el-checkbox v-model=\"elModel\" :disabled=\"disabled\"></el-checkbox>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem, ElCheckbox } from 'element-plus'\r\nimport type { CheckboxProps } from './Checkbox'\r\nimport { useFormItemBooleanModel, useFormItemSpan } from '../hooks'\r\n\r\ndefineOptions({ name: 'OFormCheckbox', inheritAttrs: false })\r\n\r\nconst { name, label, labelWidth, rules, disabled } = defineProps<CheckboxProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst elModel = useFormItemBooleanModel()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :rules=\"rules\">\r\n <el-switch v-model=\"elModel\" :disabled=\"disabled\" />\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem, ElSwitch } from 'element-plus'\r\nimport type { SwitchProps } from './Switch'\r\nimport { useFormItemBooleanModel, useFormItemSpan } from '../hooks'\r\n\r\ndefineOptions({ name: 'OFormSwitch', inheritAttrs: false })\r\n\r\nconst { name, label, labelWidth, rules, disabled } = defineProps<SwitchProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst elModel = useFormItemBooleanModel()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-time-picker\r\n v-if=\"isTimePicker\"\r\n v-model=\"elModel\"\r\n :placeholder=\"placeholder\"\r\n :disabled=\"disabled\"\r\n :readonly=\"readonly\"\r\n :editable=\"editable\"\r\n :clearable=\"clearable\"\r\n :format=\"normalizedSourceFormat\"\r\n arrow-control\r\n style=\"width: 100%\"\r\n />\r\n <el-date-picker\r\n v-else\r\n v-model=\"elModel\"\r\n :placeholder=\"placeholder\"\r\n :disabled=\"disabled\"\r\n :readonly=\"readonly\"\r\n :editable=\"editable\"\r\n :clearable=\"clearable\"\r\n :type=\"dateType\"\r\n :format=\"normalizedSourceFormat\"\r\n style=\"width: 100%\"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed } from 'vue'\r\nimport { ElCol, ElFormItem, ElDatePicker, ElTimePicker, dayjs } from 'element-plus'\r\nimport type { DateInputProps } from './DateInput'\r\nimport { useFormContext, useFormItemSpan, useFormItemRules } from '../hooks'\r\nimport { isDate, isString } from 'lodash-es'\r\nimport OrionError from '../../../error/OrionError'\r\n\r\ndefineOptions({ name: 'OFormDate', inheritAttrs: false })\r\n\r\nconst {\r\n name,\r\n label,\r\n labelWidth,\r\n required,\r\n placeholder,\r\n disabled,\r\n readonly,\r\n editable = true,\r\n clearable = true,\r\n format = 'YYYY-MM-DD',\r\n sourceFormat,\r\n} = defineProps<DateInputProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\n\r\nconst isTimePicker = computed(() => format.startsWith('H') || format.startsWith('h') || format.startsWith('m') || format.startsWith('s'))\r\n\r\nconst normalizedSourceFormat = computed(() => {\r\n if (sourceFormat) {\r\n return sourceFormat\r\n }\r\n if (isTimePicker.value) {\r\n return 'HH:mm:ss'\r\n } else {\r\n return 'YYYY-MM-DD'\r\n }\r\n})\r\n\r\nconst dateType = computed(() => {\r\n let picker: 'date' | 'year' | 'month' | 'datetime' = 'date'\r\n\r\n // 配置年 yyyy指年 YYYY指周年,年末年初的值可能有所变化\r\n if (format.indexOf('y') > -1 || format.indexOf('Y') > -1) {\r\n picker = 'year'\r\n }\r\n\r\n // 配置月,M指月份,m指分钟\r\n if (format.indexOf('M') > -1) {\r\n picker = 'month'\r\n }\r\n\r\n // 配置日,d指星期,D指月的天,DDD指年的天\r\n if (format.indexOf('d') > -1 || format.indexOf('D') > -1) {\r\n picker = 'date'\r\n }\r\n\r\n // 配置小时,H指24小时制(0~23),k指24小时制(1~24),h指12小时制,m指分钟,s指秒,S指小数秒\r\n if (\r\n format.indexOf('H') > -1 ||\r\n format.indexOf('h') > -1 ||\r\n format.indexOf('k') > -1 ||\r\n format.indexOf('m') > -1 ||\r\n format.indexOf('s') > -1 ||\r\n format.indexOf('S') > -1\r\n ) {\r\n picker = 'datetime'\r\n }\r\n\r\n return picker\r\n})\r\n\r\nconst formContext = useFormContext()!\r\nconst elModel = computed<Date | undefined>({\r\n get: () => {\r\n const value = formContext.modelValue[name]\r\n if (!value) {\r\n return undefined\r\n }\r\n if (isDate(value)) {\r\n return value as Date\r\n } else if (isString(value)) {\r\n const dayjsObj = dayjs(value, normalizedSourceFormat.value, true)\r\n if (!dayjsObj.isValid()) {\r\n throw new OrionError(`日期输入框的值无效,不符合${normalizedSourceFormat.value}格式`)\r\n }\r\n return dayjsObj.toDate()\r\n } else {\r\n throw new OrionError('日期输入框的值只能为字符串或日期类型')\r\n }\r\n },\r\n set: (newValue) => {\r\n if (sourceFormat) {\r\n if (!newValue) {\r\n formContext.updateModelValue(name, '')\r\n } else {\r\n formContext.updateModelValue(name, dayjs(newValue).format(normalizedSourceFormat.value))\r\n }\r\n } else {\r\n if (!newValue) {\r\n formContext.updateModelValue(name, undefined)\r\n } else {\r\n formContext.updateModelValue(name, newValue)\r\n }\r\n }\r\n },\r\n})\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-input ref=\"inputRef\" v-model=\"file\" :disabled=\"disabled\" type=\"file\" :validate-event=\"false\" />\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { onMounted, ref, useTemplateRef, watch } from 'vue'\r\nimport { ElCol, ElFormItem, ElInput } from 'element-plus'\r\nimport type { FileInputProps } from './FileInput'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemStringModel } from '../hooks'\r\n\r\ndefineOptions({ name: 'OFormFile', inheritAttrs: false })\r\n\r\nconst { name, label, labelWidth, required, disabled } = defineProps<FileInputProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst elModel = useFormItemStringModel()\r\nwatch(elModel, () => {\r\n if (!elModel.value) {\r\n file.value = ''\r\n }\r\n})\r\n\r\nconst file = ref('')\r\nconst fileRef = useTemplateRef('inputRef')\r\nonMounted(() => {\r\n fileRef.value!.input!.onchange = (event) => {\r\n //@ts-ignore\r\n elModel.value = event?.target?.files[0]\r\n }\r\n file.value = ''\r\n})\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\" :style=\"style\">\r\n <space :gutter=\"gutter\" style=\"margin-bottom: var(--orion-form-validation-message-height)\"> <slot></slot> </space>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol } from 'element-plus'\r\nimport type { ButtonGroupProps } from './ButtonGroup'\r\nimport Space from '../../Space'\r\nimport { useFormItemSpan } from '../hooks'\r\nimport { computed, CSSProperties } from 'vue'\r\n\r\ndefineOptions({ name: 'OFormButtongroup', inheritAttrs: false })\r\n\r\nconst { gutter, align = 'right' } = defineProps<ButtonGroupProps>()\r\nconst style = computed<CSSProperties>(() => {\r\n return {\r\n textAlign: align,\r\n }\r\n})\r\n\r\nconst normalizedSpan = useFormItemSpan()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <slot></slot>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem } from 'element-plus'\r\nimport type { DiyItemProps } from './DiyItem'\r\nimport { useFormItemSpan, useFormItemRules } from '../hooks'\r\n\r\ndefineOptions({ name: 'OFormDiy', inheritAttrs: false })\r\n\r\nconst { name, label, labelWidth, required } = defineProps<DiyItemProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-dropdown ref=\"dropdown\" :trigger=\"'click'\" @visible-change=\"onVisibleChange\" style=\"width: 100%\">\r\n <el-input ref=\"input\" v-model=\"elModel\" :maxlength=\"maxlength\" :placeholder=\"placeholder\" :disabled=\"disabled\"\r\n :readonly=\"readonly\" @input=\"onInput\" @keydown=\"onKeydown\" @change=\"onChange\" @blur=\"onBlur\"\r\n :suffix-icon=\"Search\" />\r\n <template #dropdown>\r\n <slot></slot>\r\n </template>\r\n </el-dropdown>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem, ElInput, ElDropdown } from 'element-plus'\r\nimport { Search } from '@element-plus/icons-vue'\r\nimport { KeydownHandler, LovContext, lovContextKey, type LovInputProps } from './LovInput'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemStringModel, useFormContext } from '../hooks'\r\nimport { provide, reactive, ref, useTemplateRef } from 'vue'\r\nimport { isString } from 'lodash-es'\r\n\r\ndefineOptions({ name: 'OFormLov', inheritAttrs: false })\r\n\r\nconst { name, label, labelWidth, required, maxlength, placeholder, disabled, readonly, fillMapping } = defineProps<LovInputProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst elModel = useFormItemStringModel()\r\nconst formContext = useFormContext()!\r\n\r\nconst visible = ref(false)\r\nconst onVisibleChange = (val: boolean) => {\r\n visible.value = val\r\n}\r\n\r\nconst changed = ref(false)\r\nconst onInput = () => {\r\n if (!changed.value) {\r\n changed.value = true\r\n }\r\n\r\n if (!visible.value) {\r\n dropdownRef.value!.handleOpen()\r\n }\r\n}\r\n\r\nlet keydownHandler: KeydownHandler | undefined\r\nconst registerKeydownHandler: LovContext['registerKeydownHandler'] = (handler) => {\r\n keydownHandler = handler\r\n}\r\n\r\nconst onKeydown = (e: any) => {\r\n const fallthroughCodes = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'Enter', 'Space']\r\n\r\n if (fallthroughCodes.indexOf(e.code) > -1) {\r\n if (visible.value) {\r\n keydownHandler && keydownHandler(e.code)\r\n }\r\n e.stopPropagation()\r\n }\r\n\r\n const triggerCodes = ['ArrowUp', 'ArrowDown']\r\n if (triggerCodes.indexOf(e.code) > -1 && !visible.value) {\r\n dropdownRef.value!.handleOpen()\r\n }\r\n}\r\n\r\nconst inputRef = useTemplateRef('input')\r\nconst onBlur = async (e: any) => {\r\n if (visible.value) {\r\n inputRef.value!.focus()\r\n }\r\n}\r\n\r\nconst onChange = () => {\r\n if (!changed.value) {\r\n return\r\n }\r\n\r\n if (isString(fillMapping)) {\r\n const data: Record<string, any> = {}\r\n\r\n const pairs = fillMapping.split(',')\r\n for (let i = 0; i < pairs.length; i++) {\r\n const dstName = pairs[i].split(':')[0].trim()\r\n data[dstName] = undefined\r\n }\r\n\r\n formContext.updateModelValueMulti(data)\r\n }\r\n}\r\n\r\nconst dropdownRef = useTemplateRef('dropdown')\r\nconst backfill: LovContext['backfill'] = (params) => {\r\n dropdownRef.value!.handleClose()\r\n\r\n if (isString(fillMapping)) {\r\n const data: Record<string, any> = {}\r\n\r\n const pairs = fillMapping.split(',')\r\n for (let i = 0; i < pairs.length; i++) {\r\n const dstName = pairs[i].split(':')[0].trim()\r\n const srcName = pairs[i].split(':')[1].trim()\r\n const srcValue = params[srcName]\r\n data[dstName] = srcValue\r\n }\r\n\r\n formContext.updateModelValueMulti(data)\r\n } else {\r\n fillMapping && fillMapping(params)\r\n }\r\n\r\n if (changed.value) {\r\n changed.value = false\r\n }\r\n}\r\n\r\nprovide(\r\n lovContextKey,\r\n reactive({\r\n lovValue: elModel,\r\n backfill,\r\n registerKeydownHandler,\r\n })\r\n)\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-input-number\r\n v-model=\"elModel\"\r\n :placeholder=\"placeholder\"\r\n :disabled=\"disabled\"\r\n :readonly=\"readonly\"\r\n :min=\"min\"\r\n :max=\"max\"\r\n :step=\"step\"\r\n :step-strictly=\"stepStrictly\"\r\n :precision=\"precision\"\r\n :controls=\"controls\"\r\n :controls-position=\"controlsPosition\"\r\n style=\"width: 100%\"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem, ElInputNumber } from 'element-plus'\r\nimport type { NumberInputProps } from './NumberInput'\r\nimport { useFormItemSpan, useFormItemRules, useFormContext } from '../hooks'\r\nimport { computed } from 'vue'\r\nimport { isNumber, isString, toNumber } from 'lodash-es'\r\nimport OrionError from '../../../error/OrionError'\r\n\r\ndefineOptions({ name: 'OFormNumber', inheritAttrs: false })\r\n\r\nconst {\r\n name,\r\n label,\r\n labelWidth,\r\n required,\r\n placeholder,\r\n disabled,\r\n readonly,\r\n min,\r\n max,\r\n step,\r\n stepStrictly,\r\n precision,\r\n controls = true,\r\n controlsPosition,\r\n} = defineProps<NumberInputProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\n\r\nconst formContext = useFormContext()!\r\nconst elModel = computed<number | undefined>({\r\n get: () => {\r\n const value = formContext.modelValue[name]\r\n if (!value) {\r\n return undefined\r\n }\r\n if (isNumber(value)) {\r\n return value\r\n } else if (isString(value)) {\r\n return toNumber(value)\r\n } else {\r\n throw new OrionError('数字输入框的值只能为字符串或数字类型')\r\n }\r\n },\r\n set: (newValue) => {\r\n if (!newValue) {\r\n formContext.updateModelValue(name, undefined)\r\n } else {\r\n formContext.updateModelValue(name, newValue)\r\n }\r\n },\r\n})\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-dropdown ref=\"dropdown\" :trigger=\"'click'\" @visible-change=\"onVisibleChange\" style=\"width: 100%;\">\r\n <div @focus=\"onFocus\" :style=\"{ position: 'relative', width: '100%', height: '100%' }\">\r\n <el-input ref=\"input\" v-model=\"inputValue\" :maxlength=\"maxlength\" :placeholder=\"placeholder\"\r\n :disabled=\"disabled\" :readonly=\"readonly\" @input=\"onInput\" @keydown=\"onKeydown\" @blur=\"onBlur\"\r\n :suffix-icon=\"visible ? ArrowUp : ArrowDown\" />\r\n <div v-if=\"!visible\"\r\n :style=\"{ position: 'absolute', inset: '4px 30px 4px 4px', overflow: 'hidden', pointerEvents: 'none' }\">\r\n <o-space>\r\n <el-tag v-for=\"tag in tags\" type=\"info\">{{ tag }}</el-tag>\r\n </o-space>\r\n </div>\r\n </div>\r\n <template #dropdown>\r\n <slot></slot>\r\n </template>\r\n </el-dropdown>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem, ElInput, ElDropdown, ElTag } from 'element-plus'\r\nimport { ArrowDown, ArrowUp } from '@element-plus/icons-vue'\r\nimport { RowCompletionProvider, TableSelectContext, tableSelectContext, type TableSelectProps } from './TableSelect'\r\nimport { useFormItemSpan, useFormItemRules, useFormContext } from '../hooks'\r\nimport { computed, onMounted, provide, reactive, ref, useTemplateRef, watch } from 'vue'\r\nimport { isArray, pick } from 'lodash-es'\r\nimport OrionError from '../../../error/OrionError'\r\n\r\ndefineOptions({ name: 'OFormTableselect', inheritAttrs: false })\r\n\r\nconst emit = defineEmits(['change'])\r\nconst { name, label, labelWidth, required, maxlength, placeholder, disabled, readonly, pick: pickup, tag } = defineProps<TableSelectProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\n\r\nconst inputValue = ref('')\r\nconst modifyByForm = ref(false)\r\nconst formContext = useFormContext()!\r\nconst elModel = computed<any[] | undefined>({\r\n get: () => {\r\n const value = formContext.modelValue[name]\r\n if (!value) {\r\n return undefined\r\n }\r\n if (!isArray(value)) {\r\n throw new OrionError('表格下拉框的值只能为数组类型')\r\n }\r\n return value\r\n },\r\n set: (newValue) => {\r\n modifyByForm.value = false\r\n if (!newValue) {\r\n formContext.updateModelValue(name, undefined)\r\n } else {\r\n formContext.updateModelValue(name, newValue)\r\n }\r\n },\r\n})\r\n\r\nconst selection = ref<any[] | undefined>([])\r\nonMounted(async () => {\r\n if (completionItemProvider) {\r\n selection.value = await completionItemProvider(elModel.value)\r\n if (selection.value) {\r\n tags.value = selection.value.map((item) => tag(item))\r\n }\r\n }\r\n})\r\nwatch(elModel, async () => {\r\n if (modifyByForm.value) {\r\n if (completionItemProvider) {\r\n selection.value = await completionItemProvider(elModel.value)\r\n if (selection.value) {\r\n tags.value = selection.value.map((item) => tag(item))\r\n }\r\n }\r\n } else {\r\n modifyByForm.value = true\r\n }\r\n})\r\n\r\nconst visible = ref(false)\r\nconst onVisibleChange = (val: boolean) => {\r\n visible.value = val\r\n}\r\nconst onInput = () => {\r\n if (!visible.value) {\r\n dropdownRef.value!.handleOpen()\r\n }\r\n}\r\n\r\nconst inputRef = useTemplateRef('input')\r\nconst onFocus = () => {\r\n inputRef.value!.focus()\r\n}\r\n\r\nconst onKeydown = (e: any) => {\r\n if (visible.value) {\r\n if (['Enter', 'Escape'].indexOf(e.code) > -1) {\r\n dropdownRef.value!.handleClose()\r\n } else if ('ArrowDown' == e.code) {\r\n e.stopPropagation()\r\n } else if ('Tab' == e.code) {\r\n visible.value = false\r\n dropdownRef.value!.handleClose()\r\n }\r\n } else {\r\n if (['ArrowUp', 'ArrowDown'].indexOf(e.code) > -1) {\r\n dropdownRef.value!.handleOpen()\r\n e.stopPropagation()\r\n }\r\n }\r\n}\r\n\r\nconst onBlur = async (e: any) => {\r\n if (visible.value) {\r\n inputRef.value!.focus()\r\n } else {\r\n inputValue.value = ''\r\n }\r\n}\r\n\r\nconst tags = ref<string[]>([])\r\nconst dropdownRef = useTemplateRef('dropdown')\r\nconst onSelect: TableSelectContext['onSelect'] = (selection, clear) => {\r\n elModel.value = selection.map((item) => pick(item, pickup))\r\n tags.value = selection.map((item) => tag(item))\r\n if (clear) {\r\n inputValue.value = ''\r\n }\r\n emit('change', selection)\r\n}\r\nconst selectDone: TableSelectContext['selectDone'] = () => {\r\n dropdownRef.value!.handleClose()\r\n}\r\n\r\nlet completionItemProvider: RowCompletionProvider | undefined\r\nconst registerRowCompletionProvider: TableSelectContext['registerRowCompletionProvider'] = (provider) => {\r\n completionItemProvider = provider\r\n}\r\n\r\nprovide(\r\n tableSelectContext,\r\n reactive({\r\n inputValue,\r\n selection,\r\n onSelect,\r\n selectDone,\r\n tag,\r\n registerRowCompletionProvider\r\n })\r\n)\r\n</script>","import { withInstall } from '../_util'\r\n\r\nimport Form from './Form.vue'\r\nimport StringInput from './StringInput/StringInput.vue'\r\nimport PasswordInput from './PasswordInput/PasswordInput.vue'\r\nimport Textarea from './Textarea/Textarea.vue'\r\nimport SingleSelect from './SingleSelect/SingleSelect.vue'\r\nimport MultiSelect from './MultiSelect/MultiSelect.vue'\r\nimport RadioGroup from './RadioGroup/RadioGroup.vue'\r\nimport CheckboxGroup from './CheckboxGroup/CheckboxGroup.vue'\r\nimport Checkbox from './Checkbox/Checkbox.vue'\r\nimport Switch from './Switch/Switch.vue'\r\nimport DateInput from './DateInput/DateInput.vue'\r\nimport FileInput from './FileInput/FileInput.vue'\r\nimport ButtonGroup from './ButtonGroup/ButtonGroup.vue'\r\nimport DiyItem from './DiyItem/DiyItem.vue'\r\nimport LovInput from './LovInput/LovInput.vue'\r\nimport NumberInput from './NumberInput/NumberInput.vue'\r\nimport TableSelect from './TableSelect/TableSelect.vue'\r\n\r\nexport default withInstall<\r\n typeof Form,\r\n {\r\n StringInput: typeof StringInput\r\n PasswordInput: typeof PasswordInput\r\n Textarea: typeof Textarea\r\n SingleSelect: typeof SingleSelect\r\n MultiSelect: typeof MultiSelect\r\n RadioGroup: typeof RadioGroup\r\n CheckboxGroup: typeof CheckboxGroup\r\n Checkbox: typeof Checkbox\r\n Switch: typeof Switch\r\n DateInput: typeof DateInput\r\n FileInput: typeof FileInput\r\n ButtonGroup: typeof ButtonGroup\r\n DiyItem: typeof DiyItem\r\n LovInput: typeof LovInput\r\n NumberInput: typeof NumberInput\r\n TableSelect: typeof TableSelect\r\n }\r\n>(Form, {\r\n StringInput,\r\n PasswordInput,\r\n Textarea,\r\n SingleSelect,\r\n MultiSelect,\r\n RadioGroup,\r\n CheckboxGroup,\r\n Checkbox,\r\n Switch,\r\n DateInput,\r\n FileInput,\r\n ButtonGroup,\r\n DiyItem,\r\n LovInput,\r\n NumberInput,\r\n TableSelect,\r\n})\r\n\r\nexport * from './Form'\r\nexport * from './StringInput'\r\nexport * from './PasswordInput'\r\nexport * from './Textarea'\r\nexport * from './SingleSelect'\r\nexport * from './MultiSelect'\r\nexport * from './RadioGroup'\r\nexport * from './CheckboxGroup'\r\nexport * from './Checkbox'\r\nexport * from './Switch'\r\nexport * from './DateInput'\r\nexport * from './FileInput'\r\nexport * from './ButtonGroup'\r\nexport * from './DiyItem'\r\nexport * from './LovInput'\r\nexport * from './NumberInput'\r\nexport * from './TableSelect'\r\n"],"names":["emit","__emit","updateModelValue","name","value","__props","OrionError","updateModelValueMulti","data","modelKeys","dataKeys","diff","difference","isEmpty","formRef","useTemplateRef","__expose","provide","formContextKey","reactive","toRef","normalizedSpan","useFormItemSpan","normalizedRules","useFormItemRules","elModel","useFormItemStringModel","attrs","useAttrs","normalizedDisabled","useFormItemDisabled","normalizedCode","useFormItemCode","content","computed","getSingleCodeContent","useFormItemMultiModel","formContext","useFormContext","getMultiCodeContent","useFormItemBooleanModel","isTimePicker","normalizedSourceFormat","dateType","picker","isDate","isString","dayjsObj","dayjs","newValue","watch","file","ref","fileRef","onMounted","event","_a","style","visible","onVisibleChange","val","changed","onInput","dropdownRef","keydownHandler","registerKeydownHandler","handler","onKeydown","e","inputRef","onBlur","onChange","pairs","i","dstName","lovContextKey","params","srcName","srcValue","isNumber","toNumber","inputValue","modifyByForm","isArray","selection","completionItemProvider","tags","item","onFocus","onSelect","clear","pick","selectDone","registerRowCompletionProvider","provider","tableSelectContext","index","withInstall","Form","StringInput","PasswordInput","Textarea","SingleSelect","MultiSelect","RadioGroup","CheckboxGroup","Checkbox","Switch","DateInput","FileInput","ButtonGroup","DiyItem","LovInput","NumberInput","TableSelect"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/Form/Form.vue","../../../src/components/Form/StringInput/StringInput.vue","../../../src/components/Form/PasswordInput/PasswordInput.vue","../../../src/components/Form/Textarea/Textarea.vue","../../../src/components/Form/SingleSelect/SingleSelect.vue","../../../src/components/Form/MultiSelect/MultiSelect.vue","../../../src/components/Form/RadioGroup/RadioGroup.vue","../../../src/components/Form/CheckboxGroup/CheckboxGroup.vue","../../../src/components/Form/Checkbox/Checkbox.vue","../../../src/components/Form/Switch/Switch.vue","../../../src/components/Form/DateInput/DateInput.vue","../../../src/components/Form/FileInput/FileInput.vue","../../../src/components/Form/ButtonGroup/ButtonGroup.vue","../../../src/components/Form/DiyItem/DiyItem.vue","../../../src/components/Form/LovInput/LovInput.vue","../../../src/components/Form/NumberInput/NumberInput.vue","../../../src/components/Form/TableSelect/TableSelect.vue","../../../src/components/Form/index.ts"],"sourcesContent":["<template>\r\n <el-form ref=\"form\" :model=\"modelValue\" :rules=\"rules\" :label-width=\"itemLabelWidth\" :disabled=\"disabled\" class=\"orion-form\">\r\n <el-row :gutter=\"16\">\r\n <slot></slot>\r\n </el-row>\r\n </el-form>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { provide, reactive, toRef, useTemplateRef } from 'vue'\r\nimport { ElForm, ElRow } from 'element-plus'\r\nimport { type FormProps, type FormExpose, formContextKey } from './Form'\r\nimport OrionError from '../../error/OrionError'\r\nimport { difference, isEmpty } from 'lodash-es'\r\n\r\ndefineOptions({ name: 'OForm', inheritAttrs: false })\r\n\r\nconst { rules, itemSpan = 6, itemLabelWidth = 'auto', disabled = false, modelValue } = defineProps<FormProps>()\r\n\r\nconst emit = defineEmits(['update:modelValue'])\r\n\r\nconst updateModelValue = (name: string, value: any) => {\r\n if (!Object.keys(modelValue).includes(name)) {\r\n throw new OrionError(`modelValue中不存在[${name}]`)\r\n }\r\n emit('update:modelValue', { ...modelValue, [name]: value })\r\n}\r\n\r\nconst updateModelValueMulti = (data: Record<string, any>) => {\r\n const modelKeys = Object.keys(modelValue)\r\n const dataKeys = Object.keys(data)\r\n const diff = difference(dataKeys, modelKeys)\r\n if (!isEmpty(diff)) {\r\n throw new OrionError(`modelValue中不存在[${diff.join(',')}]`)\r\n }\r\n emit('update:modelValue', { ...modelValue, ...data })\r\n}\r\n\r\nconst formRef = useTemplateRef('form')\r\n\r\nconst validate: FormExpose['validate'] = async () => {\r\n return await formRef.value!.validate()\r\n}\r\n\r\ndefineExpose({\r\n validate,\r\n})\r\n\r\nprovide(\r\n formContextKey,\r\n reactive({\r\n modelValue: toRef(() => modelValue),\r\n updateModelValue,\r\n updateModelValueMulti,\r\n rules: toRef(() => rules),\r\n itemSpan: toRef(() => itemSpan),\r\n disabled: toRef(() => disabled),\r\n })\r\n)\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-input v-model=\"elModel\" :maxlength=\"maxlength\" :placeholder=\"placeholder\" :disabled=\"disabled\"\r\n :readonly=\"readonly\">\r\n <template v-if=\"slots.prefix\" #prefix>\r\n <slot name=\"prefix\"></slot>\r\n </template>\r\n <template v-if=\"slots.suffix\" #suffix>\r\n <slot name=\"suffix\"></slot>\r\n </template>\r\n <template v-if=\"slots.prepend\" #prepend>\r\n <slot name=\"prepend\"></slot>\r\n </template>\r\n <template v-if=\"slots.append\" #append>\r\n <slot name=\"append\"></slot>\r\n </template>\r\n </el-input>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem, ElInput } from 'element-plus'\r\nimport type { StringInputProps } from './StringInput'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemStringModel } from '../hooks'\r\nimport { useSlots } from 'vue';\r\n\r\ndefineOptions({ name: 'OFormString', inheritAttrs: false })\r\nconst slots = useSlots()\r\n\r\nconst { name, label, labelWidth, required, maxlength, placeholder, disabled, readonly } = defineProps<StringInputProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst elModel = useFormItemStringModel()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-input v-model=\"elModel\" :maxlength=\"maxlength\" :placeholder=\"placeholder\" :disabled=\"disabled\" :readonly=\"readonly\" type=\"password\" />\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem, ElInput } from 'element-plus'\r\nimport type { PasswordInputProps } from './PasswordInput'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemStringModel } from '../hooks'\r\n\r\ndefineOptions({ name: 'OFormPassword', inheritAttrs: false })\r\n\r\nconst { name, label, labelWidth, required, maxlength, placeholder, disabled, readonly } = defineProps<PasswordInputProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst elModel = useFormItemStringModel()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-input\r\n v-model=\"elModel\"\r\n :maxlength=\"maxlength\"\r\n :placeholder=\"placeholder\"\r\n :disabled=\"disabled\"\r\n :readonly=\"readonly\"\r\n type=\"textarea\"\r\n :rows=\"rows\"\r\n :resize=\"'none'\"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem, ElInput } from 'element-plus'\r\nimport type { TextareaProps } from './Textarea'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemStringModel } from '../hooks'\r\n\r\ndefineOptions({ name: 'OFormTextarea', inheritAttrs: false })\r\n\r\nconst { name, label, labelWidth, required, maxlength, placeholder, disabled, readonly, rows } = defineProps<TextareaProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst elModel = useFormItemStringModel()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-input v-if=\"normalizedDisabled\" :model-value=\"content\" :placeholder=\"placeholder\" :disabled=\"true\" :readonly=\"true\" />\r\n <el-select v-else v-model=\"elModel\" :placeholder=\"placeholder\" :clearable=\"clearable\" :filterable=\"filterable\" @change=\"attrs.onChange as any\">\r\n <el-option v-for=\"codeItem in normalizedCode\" :key=\"codeItem.value\" :label=\"codeItem.content\" :value=\"codeItem.value\" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, useAttrs } from 'vue'\r\nimport { ElCol, ElFormItem, ElInput, ElSelect, ElOption } from 'element-plus'\r\nimport type { SingleSelectProps } from './SingleSelect'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemDisabled, useFormItemCode, useFormItemStringModel } from '../hooks'\r\nimport { getSingleCodeContent } from '../utils'\r\n\r\ndefineOptions({ name: 'OFormSingleselect', inheritAttrs: false })\r\nconst attrs = useAttrs()\r\n\r\nconst { name, label, labelWidth, required, placeholder, clearable, filterable } = defineProps<SingleSelectProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst normalizedDisabled = useFormItemDisabled()\r\nconst normalizedCode = useFormItemCode()\r\nconst elModel = useFormItemStringModel()\r\nconst content = computed(() => getSingleCodeContent(normalizedCode.value, elModel.value))\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-input v-if=\"normalizedDisabled\" :model-value=\"content\" :placeholder=\"placeholder\" :disabled=\"true\" :readonly=\"true\" />\r\n <el-select\r\n v-else\r\n v-model=\"elModel\"\r\n :placeholder=\"placeholder\"\r\n multiple\r\n :collapse-tags=\"collapseTags\"\r\n :collapse-tags-tooltip=\"collapseTagsTooltip\"\r\n @change=\"attrs.onChange as any\"\r\n >\r\n <el-option v-for=\"codeItem in normalizedCode\" :key=\"codeItem.value\" :label=\"codeItem.content\" :value=\"codeItem.value\" />\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, useAttrs } from 'vue'\r\nimport { ElCol, ElFormItem, ElInput, ElSelect, ElOption } from 'element-plus'\r\nimport type { MultiSelectProps } from './MultiSelect'\r\nimport { useFormContext, useFormItemSpan, useFormItemRules, useFormItemDisabled, useFormItemCode, useFormItemMultiModel } from '../hooks'\r\nimport { getMultiCodeContent } from '../utils'\r\n\r\ndefineOptions({ name: 'OFormMultiselect', inheritAttrs: false })\r\nconst attrs = useAttrs()\r\n\r\nconst { name, label, labelWidth, required, placeholder, collapseTags, collapseTagsTooltip } = defineProps<MultiSelectProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst normalizedDisabled = useFormItemDisabled()\r\nconst normalizedCode = useFormItemCode()\r\nconst elModel = useFormItemMultiModel()\r\nconst formContext = useFormContext()!\r\nconst content = computed(() => getMultiCodeContent(normalizedCode.value, formContext.modelValue[name]))\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-radio-group v-model=\"elModel\" :disabled=\"disabled\">\r\n <el-radio v-for=\"codeItem in normalizedCode\" :key=\"codeItem.value\" :value=\"codeItem.value\">\r\n {{ codeItem.content }}\r\n </el-radio>\r\n </el-radio-group>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem, ElRadioGroup, ElRadio } from 'element-plus'\r\nimport type { RadioGroupProps } from './RadioGroup'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemCode, useFormItemStringModel } from '../hooks'\r\n\r\ndefineOptions({ name: 'OFormRadiogroup', inheritAttrs: false })\r\n\r\nconst { name, label, labelWidth, required, disabled } = defineProps<RadioGroupProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst normalizedCode = useFormItemCode()\r\nconst elModel = useFormItemStringModel()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-checkbox-group v-model=\"elModel\" :disabled=\"disabled\">\r\n <el-checkbox v-for=\"codeItem in normalizedCode\" :key=\"codeItem.value\" :label=\"codeItem.content\" :value=\"codeItem.value\" />\r\n </el-checkbox-group>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem, ElCheckboxGroup, ElCheckbox } from 'element-plus'\r\nimport type { CheckboxGroupProps } from './CheckboxGroup'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemCode, useFormItemMultiModel } from '../hooks'\r\n\r\ndefineOptions({ name: 'OFormCheckboxgroup', inheritAttrs: false })\r\n\r\nconst { name, label, labelWidth, required, disabled } = defineProps<CheckboxGroupProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst normalizedCode = useFormItemCode()\r\nconst elModel = useFormItemMultiModel()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :rules=\"rules\">\r\n <el-checkbox v-model=\"elModel\" :disabled=\"disabled\"></el-checkbox>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem, ElCheckbox } from 'element-plus'\r\nimport type { CheckboxProps } from './Checkbox'\r\nimport { useFormItemBooleanModel, useFormItemSpan } from '../hooks'\r\n\r\ndefineOptions({ name: 'OFormCheckbox', inheritAttrs: false })\r\n\r\nconst { name, label, labelWidth, rules, disabled } = defineProps<CheckboxProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst elModel = useFormItemBooleanModel()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :rules=\"rules\">\r\n <el-switch v-model=\"elModel\" :disabled=\"disabled\" />\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem, ElSwitch } from 'element-plus'\r\nimport type { SwitchProps } from './Switch'\r\nimport { useFormItemBooleanModel, useFormItemSpan } from '../hooks'\r\n\r\ndefineOptions({ name: 'OFormSwitch', inheritAttrs: false })\r\n\r\nconst { name, label, labelWidth, rules, disabled } = defineProps<SwitchProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst elModel = useFormItemBooleanModel()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-time-picker\r\n v-if=\"isTimePicker\"\r\n v-model=\"elModel\"\r\n :placeholder=\"placeholder\"\r\n :disabled=\"disabled\"\r\n :readonly=\"readonly\"\r\n :editable=\"editable\"\r\n :clearable=\"clearable\"\r\n :format=\"normalizedSourceFormat\"\r\n arrow-control\r\n style=\"width: 100%\"\r\n />\r\n <el-date-picker\r\n v-else\r\n v-model=\"elModel\"\r\n :placeholder=\"placeholder\"\r\n :disabled=\"disabled\"\r\n :readonly=\"readonly\"\r\n :editable=\"editable\"\r\n :clearable=\"clearable\"\r\n :type=\"dateType\"\r\n :format=\"normalizedSourceFormat\"\r\n style=\"width: 100%\"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed } from 'vue'\r\nimport { ElCol, ElFormItem, ElDatePicker, ElTimePicker, dayjs } from 'element-plus'\r\nimport type { DateInputProps } from './DateInput'\r\nimport { useFormContext, useFormItemSpan, useFormItemRules } from '../hooks'\r\nimport { isDate, isString } from 'lodash-es'\r\nimport OrionError from '../../../error/OrionError'\r\n\r\ndefineOptions({ name: 'OFormDate', inheritAttrs: false })\r\n\r\nconst {\r\n name,\r\n label,\r\n labelWidth,\r\n required,\r\n placeholder,\r\n disabled,\r\n readonly,\r\n editable = true,\r\n clearable = true,\r\n format = 'YYYY-MM-DD',\r\n sourceFormat,\r\n} = defineProps<DateInputProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\n\r\nconst isTimePicker = computed(() => format.startsWith('H') || format.startsWith('h') || format.startsWith('m') || format.startsWith('s'))\r\n\r\nconst normalizedSourceFormat = computed(() => {\r\n if (sourceFormat) {\r\n return sourceFormat\r\n }\r\n if (isTimePicker.value) {\r\n return 'HH:mm:ss'\r\n } else {\r\n return 'YYYY-MM-DD'\r\n }\r\n})\r\n\r\nconst dateType = computed(() => {\r\n let picker: 'date' | 'year' | 'month' | 'datetime' = 'date'\r\n\r\n // 配置年 yyyy指年 YYYY指周年,年末年初的值可能有所变化\r\n if (format.indexOf('y') > -1 || format.indexOf('Y') > -1) {\r\n picker = 'year'\r\n }\r\n\r\n // 配置月,M指月份,m指分钟\r\n if (format.indexOf('M') > -1) {\r\n picker = 'month'\r\n }\r\n\r\n // 配置日,d指星期,D指月的天,DDD指年的天\r\n if (format.indexOf('d') > -1 || format.indexOf('D') > -1) {\r\n picker = 'date'\r\n }\r\n\r\n // 配置小时,H指24小时制(0~23),k指24小时制(1~24),h指12小时制,m指分钟,s指秒,S指小数秒\r\n if (\r\n format.indexOf('H') > -1 ||\r\n format.indexOf('h') > -1 ||\r\n format.indexOf('k') > -1 ||\r\n format.indexOf('m') > -1 ||\r\n format.indexOf('s') > -1 ||\r\n format.indexOf('S') > -1\r\n ) {\r\n picker = 'datetime'\r\n }\r\n\r\n return picker\r\n})\r\n\r\nconst formContext = useFormContext()!\r\nconst elModel = computed<Date | undefined>({\r\n get: () => {\r\n const value = formContext.modelValue[name]\r\n if (!value) {\r\n return undefined\r\n }\r\n if (isDate(value)) {\r\n return value as Date\r\n } else if (isString(value)) {\r\n const dayjsObj = dayjs(value, normalizedSourceFormat.value, true)\r\n if (!dayjsObj.isValid()) {\r\n throw new OrionError(`日期输入框的值无效,不符合${normalizedSourceFormat.value}格式`)\r\n }\r\n return dayjsObj.toDate()\r\n } else {\r\n throw new OrionError('日期输入框的值只能为字符串或日期类型')\r\n }\r\n },\r\n set: (newValue) => {\r\n if (sourceFormat) {\r\n if (!newValue) {\r\n formContext.updateModelValue(name, '')\r\n } else {\r\n formContext.updateModelValue(name, dayjs(newValue).format(normalizedSourceFormat.value))\r\n }\r\n } else {\r\n if (!newValue) {\r\n formContext.updateModelValue(name, undefined)\r\n } else {\r\n formContext.updateModelValue(name, newValue)\r\n }\r\n }\r\n },\r\n})\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-input ref=\"inputRef\" v-model=\"file\" :disabled=\"disabled\" type=\"file\" :validate-event=\"false\" />\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { onMounted, ref, useTemplateRef, watch } from 'vue'\r\nimport { ElCol, ElFormItem, ElInput } from 'element-plus'\r\nimport type { FileInputProps } from './FileInput'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemStringModel } from '../hooks'\r\n\r\ndefineOptions({ name: 'OFormFile', inheritAttrs: false })\r\n\r\nconst { name, label, labelWidth, required, disabled } = defineProps<FileInputProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst elModel = useFormItemStringModel()\r\nwatch(elModel, () => {\r\n if (!elModel.value) {\r\n file.value = ''\r\n }\r\n})\r\n\r\nconst file = ref('')\r\nconst fileRef = useTemplateRef('inputRef')\r\nonMounted(() => {\r\n fileRef.value!.input!.onchange = (event) => {\r\n //@ts-ignore\r\n elModel.value = event?.target?.files[0]\r\n }\r\n file.value = ''\r\n})\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\" :style=\"style\">\r\n <space :gutter=\"gutter\" style=\"margin-bottom: var(--orion-form-validation-message-height)\"> <slot></slot> </space>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol } from 'element-plus'\r\nimport type { ButtonGroupProps } from './ButtonGroup'\r\nimport Space from '../../Space'\r\nimport { useFormItemSpan } from '../hooks'\r\nimport { computed, CSSProperties } from 'vue'\r\n\r\ndefineOptions({ name: 'OFormButtongroup', inheritAttrs: false })\r\n\r\nconst { gutter, align = 'right' } = defineProps<ButtonGroupProps>()\r\nconst style = computed<CSSProperties>(() => {\r\n return {\r\n textAlign: align,\r\n }\r\n})\r\n\r\nconst normalizedSpan = useFormItemSpan()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <slot></slot>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem } from 'element-plus'\r\nimport type { DiyItemProps } from './DiyItem'\r\nimport { useFormItemSpan, useFormItemRules } from '../hooks'\r\n\r\ndefineOptions({ name: 'OFormDiy', inheritAttrs: false })\r\n\r\nconst { name, label, labelWidth, required } = defineProps<DiyItemProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-dropdown ref=\"dropdown\" :trigger=\"'click'\" @visible-change=\"onVisibleChange\" style=\"width: 100%\">\r\n <el-input ref=\"input\" v-model=\"elModel\" :maxlength=\"maxlength\" :placeholder=\"placeholder\" :disabled=\"disabled\"\r\n :readonly=\"readonly\" @input=\"onInput\" @keydown=\"onKeydown\" @change=\"onChange\" @blur=\"onBlur\"\r\n :suffix-icon=\"Search\" />\r\n <template #dropdown>\r\n <slot></slot>\r\n </template>\r\n </el-dropdown>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem, ElInput, ElDropdown } from 'element-plus'\r\nimport { Search } from '@element-plus/icons-vue'\r\nimport { KeydownHandler, LovContext, lovContextKey, type LovInputProps } from './LovInput'\r\nimport { useFormItemSpan, useFormItemRules, useFormItemStringModel, useFormContext } from '../hooks'\r\nimport { provide, reactive, ref, useTemplateRef } from 'vue'\r\nimport { isString } from 'lodash-es'\r\n\r\ndefineOptions({ name: 'OFormLov', inheritAttrs: false })\r\n\r\nconst { name, label, labelWidth, required, maxlength, placeholder, disabled, readonly, fillMapping } = defineProps<LovInputProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\nconst elModel = useFormItemStringModel()\r\nconst formContext = useFormContext()!\r\n\r\nconst visible = ref(false)\r\nconst onVisibleChange = (val: boolean) => {\r\n visible.value = val\r\n}\r\n\r\nconst changed = ref(false)\r\nconst onInput = () => {\r\n if (!changed.value) {\r\n changed.value = true\r\n }\r\n\r\n if (!visible.value) {\r\n dropdownRef.value!.handleOpen()\r\n }\r\n}\r\n\r\nlet keydownHandler: KeydownHandler | undefined\r\nconst registerKeydownHandler: LovContext['registerKeydownHandler'] = (handler) => {\r\n keydownHandler = handler\r\n}\r\n\r\nconst onKeydown = (e: any) => {\r\n const fallthroughCodes = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'Enter', 'Space']\r\n\r\n if (fallthroughCodes.indexOf(e.code) > -1) {\r\n if (visible.value) {\r\n keydownHandler && keydownHandler(e.code)\r\n }\r\n e.stopPropagation()\r\n }\r\n\r\n const triggerCodes = ['ArrowUp', 'ArrowDown']\r\n if (triggerCodes.indexOf(e.code) > -1 && !visible.value) {\r\n dropdownRef.value!.handleOpen()\r\n }\r\n}\r\n\r\nconst inputRef = useTemplateRef('input')\r\nconst onBlur = async (e: any) => {\r\n if (visible.value) {\r\n inputRef.value!.focus()\r\n }\r\n}\r\n\r\nconst onChange = () => {\r\n if (!changed.value) {\r\n return\r\n }\r\n\r\n if (isString(fillMapping)) {\r\n const data: Record<string, any> = {}\r\n\r\n const pairs = fillMapping.split(',')\r\n for (let i = 0; i < pairs.length; i++) {\r\n const dstName = pairs[i].split(':')[0].trim()\r\n data[dstName] = undefined\r\n }\r\n\r\n formContext.updateModelValueMulti(data)\r\n }\r\n}\r\n\r\nconst dropdownRef = useTemplateRef('dropdown')\r\nconst backfill: LovContext['backfill'] = (params) => {\r\n dropdownRef.value!.handleClose()\r\n\r\n if (isString(fillMapping)) {\r\n const data: Record<string, any> = {}\r\n\r\n const pairs = fillMapping.split(',')\r\n for (let i = 0; i < pairs.length; i++) {\r\n const dstName = pairs[i].split(':')[0].trim()\r\n const srcName = pairs[i].split(':')[1].trim()\r\n const srcValue = params[srcName]\r\n data[dstName] = srcValue\r\n }\r\n\r\n formContext.updateModelValueMulti(data)\r\n } else {\r\n fillMapping && fillMapping(params)\r\n }\r\n\r\n if (changed.value) {\r\n changed.value = false\r\n }\r\n}\r\n\r\nprovide(\r\n lovContextKey,\r\n reactive({\r\n lovValue: elModel,\r\n backfill,\r\n registerKeydownHandler,\r\n })\r\n)\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-input-number\r\n v-model=\"elModel\"\r\n :placeholder=\"placeholder\"\r\n :disabled=\"disabled\"\r\n :readonly=\"readonly\"\r\n :min=\"min\"\r\n :max=\"max\"\r\n :step=\"step\"\r\n :step-strictly=\"stepStrictly\"\r\n :precision=\"precision\"\r\n :controls=\"controls\"\r\n :controls-position=\"controlsPosition\"\r\n style=\"width: 100%\"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem, ElInputNumber } from 'element-plus'\r\nimport type { NumberInputProps } from './NumberInput'\r\nimport { useFormItemSpan, useFormItemRules, useFormContext } from '../hooks'\r\nimport { computed } from 'vue'\r\nimport { isNumber, isString, toNumber } from 'lodash-es'\r\nimport OrionError from '../../../error/OrionError'\r\n\r\ndefineOptions({ name: 'OFormNumber', inheritAttrs: false })\r\n\r\nconst {\r\n name,\r\n label,\r\n labelWidth,\r\n required,\r\n placeholder,\r\n disabled,\r\n readonly,\r\n min,\r\n max,\r\n step,\r\n stepStrictly,\r\n precision,\r\n controls = true,\r\n controlsPosition,\r\n} = defineProps<NumberInputProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\n\r\nconst formContext = useFormContext()!\r\nconst elModel = computed<number | undefined>({\r\n get: () => {\r\n const value = formContext.modelValue[name]\r\n if (!value) {\r\n return undefined\r\n }\r\n if (isNumber(value)) {\r\n return value\r\n } else if (isString(value)) {\r\n return toNumber(value)\r\n } else {\r\n throw new OrionError('数字输入框的值只能为字符串或数字类型')\r\n }\r\n },\r\n set: (newValue) => {\r\n if (!newValue) {\r\n formContext.updateModelValue(name, undefined)\r\n } else {\r\n formContext.updateModelValue(name, newValue)\r\n }\r\n },\r\n})\r\n</script>\r\n","<template>\r\n <el-col :span=\"normalizedSpan\">\r\n <el-form-item :prop=\"name\" :label=\"label\" :label-width=\"labelWidth\" :required=\"required\" :rules=\"normalizedRules\">\r\n <el-dropdown ref=\"dropdown\" :trigger=\"'click'\" @visible-change=\"onVisibleChange\" style=\"width: 100%;\">\r\n <div @focus=\"onFocus\" :style=\"{ position: 'relative', width: '100%', height: '100%' }\">\r\n <el-input ref=\"input\" v-model=\"inputValue\" :maxlength=\"maxlength\" :placeholder=\"placeholder\"\r\n :disabled=\"disabled\" :readonly=\"readonly\" @input=\"onInput\" @keydown=\"onKeydown\" @blur=\"onBlur\"\r\n :suffix-icon=\"visible ? ArrowUp : ArrowDown\" />\r\n <div v-if=\"!visible\"\r\n :style=\"{ position: 'absolute', inset: '4px 30px 4px 4px', overflow: 'hidden', pointerEvents: 'none' }\">\r\n <o-space>\r\n <el-tag v-for=\"tag in tags\" type=\"info\">{{ tag }}</el-tag>\r\n </o-space>\r\n </div>\r\n </div>\r\n <template #dropdown>\r\n <slot></slot>\r\n </template>\r\n </el-dropdown>\r\n </el-form-item>\r\n </el-col>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ElCol, ElFormItem, ElInput, ElDropdown, ElTag } from 'element-plus'\r\nimport { ArrowDown, ArrowUp } from '@element-plus/icons-vue'\r\nimport { RowCompletionProvider, TableSelectContext, tableSelectContext, type TableSelectProps } from './TableSelect'\r\nimport { useFormItemSpan, useFormItemRules, useFormContext } from '../hooks'\r\nimport { computed, onMounted, provide, reactive, ref, useTemplateRef, watch } from 'vue'\r\nimport { isArray, pick } from 'lodash-es'\r\nimport OrionError from '../../../error/OrionError'\r\n\r\ndefineOptions({ name: 'OFormTableselect', inheritAttrs: false })\r\n\r\nconst emit = defineEmits(['change'])\r\nconst { name, label, labelWidth, required, maxlength, placeholder, disabled, readonly, pick: pickup, tag } = defineProps<TableSelectProps>()\r\nconst normalizedSpan = useFormItemSpan()\r\nconst normalizedRules = useFormItemRules()\r\n\r\nconst inputValue = ref('')\r\nconst modifyByForm = ref(false)\r\nconst formContext = useFormContext()!\r\nconst elModel = computed<any[] | undefined>({\r\n get: () => {\r\n const value = formContext.modelValue[name]\r\n if (!value) {\r\n return undefined\r\n }\r\n if (!isArray(value)) {\r\n throw new OrionError('表格下拉框的值只能为数组类型')\r\n }\r\n return value\r\n },\r\n set: (newValue) => {\r\n modifyByForm.value = false\r\n if (!newValue) {\r\n formContext.updateModelValue(name, undefined)\r\n } else {\r\n formContext.updateModelValue(name, newValue)\r\n }\r\n },\r\n})\r\n\r\nconst selection = ref<any[] | undefined>([])\r\nonMounted(async () => {\r\n if (completionItemProvider) {\r\n selection.value = await completionItemProvider(elModel.value)\r\n if (selection.value) {\r\n tags.value = selection.value.map((item) => tag(item))\r\n }\r\n }\r\n})\r\nwatch(elModel, async () => {\r\n if (modifyByForm.value) {\r\n if (completionItemProvider) {\r\n selection.value = await completionItemProvider(elModel.value)\r\n if (selection.value) {\r\n tags.value = selection.value.map((item) => tag(item))\r\n }\r\n }\r\n } else {\r\n modifyByForm.value = true\r\n }\r\n})\r\n\r\nconst visible = ref(false)\r\nconst onVisibleChange = (val: boolean) => {\r\n visible.value = val\r\n}\r\nconst onInput = () => {\r\n if (!visible.value) {\r\n dropdownRef.value!.handleOpen()\r\n }\r\n}\r\n\r\nconst inputRef = useTemplateRef('input')\r\nconst onFocus = () => {\r\n inputRef.value!.focus()\r\n}\r\n\r\nconst onKeydown = (e: any) => {\r\n if (visible.value) {\r\n if (['Enter', 'Escape'].indexOf(e.code) > -1) {\r\n dropdownRef.value!.handleClose()\r\n } else if ('ArrowDown' == e.code) {\r\n e.stopPropagation()\r\n } else if ('Tab' == e.code) {\r\n visible.value = false\r\n dropdownRef.value!.handleClose()\r\n }\r\n } else {\r\n if (['ArrowUp', 'ArrowDown'].indexOf(e.code) > -1) {\r\n dropdownRef.value!.handleOpen()\r\n e.stopPropagation()\r\n }\r\n }\r\n}\r\n\r\nconst onBlur = async (e: any) => {\r\n if (visible.value) {\r\n inputRef.value!.focus()\r\n } else {\r\n inputValue.value = ''\r\n }\r\n}\r\n\r\nconst tags = ref<string[]>([])\r\nconst dropdownRef = useTemplateRef('dropdown')\r\nconst onSelect: TableSelectContext['onSelect'] = (selection, clear) => {\r\n elModel.value = selection.map((item) => pick(item, pickup))\r\n tags.value = selection.map((item) => tag(item))\r\n if (clear) {\r\n inputValue.value = ''\r\n }\r\n emit('change', selection)\r\n}\r\nconst selectDone: TableSelectContext['selectDone'] = () => {\r\n dropdownRef.value!.handleClose()\r\n}\r\n\r\nlet completionItemProvider: RowCompletionProvider | undefined\r\nconst registerRowCompletionProvider: TableSelectContext['registerRowCompletionProvider'] = (provider) => {\r\n completionItemProvider = provider\r\n}\r\n\r\nprovide(\r\n tableSelectContext,\r\n reactive({\r\n inputValue,\r\n selection,\r\n onSelect,\r\n selectDone,\r\n tag,\r\n registerRowCompletionProvider\r\n })\r\n)\r\n</script>","import { withInstall } from '../_util'\r\n\r\nimport Form from './Form.vue'\r\nimport StringInput from './StringInput/StringInput.vue'\r\nimport PasswordInput from './PasswordInput/PasswordInput.vue'\r\nimport Textarea from './Textarea/Textarea.vue'\r\nimport SingleSelect from './SingleSelect/SingleSelect.vue'\r\nimport MultiSelect from './MultiSelect/MultiSelect.vue'\r\nimport RadioGroup from './RadioGroup/RadioGroup.vue'\r\nimport CheckboxGroup from './CheckboxGroup/CheckboxGroup.vue'\r\nimport Checkbox from './Checkbox/Checkbox.vue'\r\nimport Switch from './Switch/Switch.vue'\r\nimport DateInput from './DateInput/DateInput.vue'\r\nimport FileInput from './FileInput/FileInput.vue'\r\nimport ButtonGroup from './ButtonGroup/ButtonGroup.vue'\r\nimport DiyItem from './DiyItem/DiyItem.vue'\r\nimport LovInput from './LovInput/LovInput.vue'\r\nimport NumberInput from './NumberInput/NumberInput.vue'\r\nimport TableSelect from './TableSelect/TableSelect.vue'\r\n\r\nexport default withInstall<\r\n typeof Form,\r\n {\r\n StringInput: typeof StringInput\r\n PasswordInput: typeof PasswordInput\r\n Textarea: typeof Textarea\r\n SingleSelect: typeof SingleSelect\r\n MultiSelect: typeof MultiSelect\r\n RadioGroup: typeof RadioGroup\r\n CheckboxGroup: typeof CheckboxGroup\r\n Checkbox: typeof Checkbox\r\n Switch: typeof Switch\r\n DateInput: typeof DateInput\r\n FileInput: typeof FileInput\r\n ButtonGroup: typeof ButtonGroup\r\n DiyItem: typeof DiyItem\r\n LovInput: typeof LovInput\r\n NumberInput: typeof NumberInput\r\n TableSelect: typeof TableSelect\r\n }\r\n>(Form, {\r\n StringInput,\r\n PasswordInput,\r\n Textarea,\r\n SingleSelect,\r\n MultiSelect,\r\n RadioGroup,\r\n CheckboxGroup,\r\n Checkbox,\r\n Switch,\r\n DateInput,\r\n FileInput,\r\n ButtonGroup,\r\n DiyItem,\r\n LovInput,\r\n NumberInput,\r\n TableSelect,\r\n})\r\n\r\nexport * from './Form'\r\nexport * from './StringInput'\r\nexport * from './PasswordInput'\r\nexport * from './Textarea'\r\nexport * from './SingleSelect'\r\nexport * from './MultiSelect'\r\nexport * from './RadioGroup'\r\nexport * from './CheckboxGroup'\r\nexport * from './Checkbox'\r\nexport * from './Switch'\r\nexport * from './DateInput'\r\nexport * from './FileInput'\r\nexport * from './ButtonGroup'\r\nexport * from './DiyItem'\r\nexport * from './LovInput'\r\nexport * from './NumberInput'\r\nexport * from './TableSelect'\r\n"],"names":["emit","__emit","updateModelValue","name","value","__props","OrionError","updateModelValueMulti","data","modelKeys","dataKeys","diff","difference","isEmpty","formRef","useTemplateRef","__expose","provide","formContextKey","reactive","toRef","slots","useSlots","normalizedSpan","useFormItemSpan","normalizedRules","useFormItemRules","elModel","useFormItemStringModel","attrs","useAttrs","normalizedDisabled","useFormItemDisabled","normalizedCode","useFormItemCode","content","computed","getSingleCodeContent","useFormItemMultiModel","formContext","useFormContext","getMultiCodeContent","useFormItemBooleanModel","isTimePicker","normalizedSourceFormat","dateType","picker","isDate","isString","dayjsObj","dayjs","newValue","watch","file","ref","fileRef","onMounted","event","_a","style","visible","onVisibleChange","val","changed","onInput","dropdownRef","keydownHandler","registerKeydownHandler","handler","onKeydown","e","inputRef","onBlur","onChange","pairs","i","dstName","lovContextKey","params","srcName","srcValue","isNumber","toNumber","inputValue","modifyByForm","isArray","selection","completionItemProvider","tags","item","onFocus","onSelect","clear","pick","selectDone","registerRowCompletionProvider","provider","tableSelectContext","index","withInstall","Form","StringInput","PasswordInput","Textarea","SingleSelect","MultiSelect","RadioGroup","CheckboxGroup","Checkbox","Switch","DateInput","FileInput","ButtonGroup","DiyItem","LovInput","NumberInput","TableSelect"],"mappings":"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"}
|
@@ -0,0 +1,6 @@
|
|
1
|
+
declare const _default: import('vue').DefineComponent<{
|
2
|
+
name: string;
|
3
|
+
}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
|
4
|
+
name: string;
|
5
|
+
}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
6
|
+
export default _default;
|
@@ -0,0 +1,6 @@
|
|
1
|
+
declare const _default: import('../_util').SFCWithInstall<import('vue').DefineComponent<{
|
2
|
+
name: string;
|
3
|
+
}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
|
4
|
+
name: string;
|
5
|
+
}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>> & {};
|
6
|
+
export default _default;
|
@@ -0,0 +1,34 @@
|
|
1
|
+
import "lodash-es";
|
2
|
+
import { defineComponent as r, useAttrs as o, computed as s, openBlock as l, createElementBlock as i, normalizeStyle as a, normalizeClass as m, unref as c, createElementVNode as u } from "vue";
|
3
|
+
import { withInstall as p } from "../_util/vue/install.js";
|
4
|
+
import "element-plus";
|
5
|
+
const f = ["xlink:href"], d = /* @__PURE__ */ r({
|
6
|
+
name: "OIcon",
|
7
|
+
inheritAttrs: !1,
|
8
|
+
__name: "Icon",
|
9
|
+
props: {
|
10
|
+
name: {}
|
11
|
+
},
|
12
|
+
setup(h) {
|
13
|
+
const e = o(), t = s(() => {
|
14
|
+
if (e.style)
|
15
|
+
return e.style;
|
16
|
+
});
|
17
|
+
return (n, _) => (l(), i("svg", {
|
18
|
+
"aria-hidden": "true",
|
19
|
+
width: "1em",
|
20
|
+
height: "1em",
|
21
|
+
style: a(t.value),
|
22
|
+
class: m(c(e).class)
|
23
|
+
}, [
|
24
|
+
u("use", {
|
25
|
+
"xlink:href": `#${n.name}`,
|
26
|
+
fill: "currentColor"
|
27
|
+
}, null, 8, f)
|
28
|
+
], 6));
|
29
|
+
}
|
30
|
+
}), C = p(d, {});
|
31
|
+
export {
|
32
|
+
C as default
|
33
|
+
};
|
34
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/Icon/Icon.vue","../../../src/components/Icon/index.ts"],"sourcesContent":["<template>\r\n <svg aria-hidden=\"true\" width=\"1em\" height=\"1em\" :style=\"style\" :class=\"attrs.class\">\r\n <use :xlink:href=\"`#${name}`\" fill=\"currentColor\" />\r\n </svg>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { computed, useAttrs, type CSSProperties } from 'vue'\r\n\r\ndefineOptions({ name: 'OIcon', inheritAttrs: false })\r\n\r\nconst { name } = defineProps<{ name: string }>()\r\nconst attrs = useAttrs()\r\nconst style = computed(() => {\r\n if (attrs.style) {\r\n return attrs.style as CSSProperties\r\n }\r\n return undefined\r\n})\r\n</script>","import { withInstall } from '../_util'\r\n\r\nimport Icon from './Icon.vue'\r\nexport default withInstall<typeof Icon, {}>(Icon, {})\r\n"],"names":["attrs","useAttrs","style","computed","index","withInstall","Icon"],"mappings":";;;;;;;;;;;;AAWA,UAAMA,IAAQC,KACRC,IAAQC,EAAS,MAAM;AACzB,UAAIH,EAAM;AACN,eAAOA,EAAM;AAAA,IAEV,CACV;;;;;;;;;;;;;;ICdDI,IAAeC,EAA6BC,GAAM,EAAE;"}
|
@@ -1,74 +1,70 @@
|
|
1
1
|
import "lodash-es";
|
2
|
-
import { defineComponent as
|
2
|
+
import { defineComponent as _, inject as L, ref as o, shallowRef as P, provide as g, createVNode as f, Fragment as O, useTemplateRef as k, openBlock as E, createElementBlock as T, renderSlot as b } from "vue";
|
3
3
|
import { withInstall as j } from "../_util/vue/install.js";
|
4
4
|
import { ElDialog as B } from "element-plus";
|
5
5
|
import { addUnit as I } from "../_util/dom/style.js";
|
6
|
-
import { modalLocatorContextKey as
|
7
|
-
|
6
|
+
import { modalLocatorContextKey as w, modalContextKey as K } from "./types.js";
|
7
|
+
import { _ as R } from "../../_plugin-vue_export-helper-CHgC5LLL.js";
|
8
|
+
const V = /* @__PURE__ */ _({
|
8
9
|
name: "OModal",
|
9
|
-
setup(
|
10
|
-
slots:
|
11
|
-
attrs:
|
12
|
-
emit:
|
13
|
-
expose:
|
10
|
+
setup(C, {
|
11
|
+
slots: m,
|
12
|
+
attrs: h,
|
13
|
+
emit: M,
|
14
|
+
expose: x
|
14
15
|
}) {
|
15
|
-
const
|
16
|
-
|
17
|
-
open: async (e) => (
|
18
|
-
|
16
|
+
const r = L(w), l = o(!1), a = o(), s = P(), t = o(), u = o(), c = o(), d = o(), i = o(!0), n = o();
|
17
|
+
x({
|
18
|
+
open: async (e) => (l.value = !0, a.value = e.title, s.value = e.content, e.contentProps ? t.value = e.contentProps : t.value = {}, e.width && (u.value = e.width), e.height && (c.value = I(e.height)), e.showClose != null && e.showClose == !1 && (i.value = !1), e.locator ? n.value = e.locator : r && r.locator.value && (n.value = r.locator.value), new Promise((y, S) => {
|
19
|
+
d.value = y;
|
19
20
|
}))
|
20
21
|
});
|
21
|
-
const
|
22
|
-
const
|
23
|
-
|
22
|
+
const p = (e) => {
|
23
|
+
const v = d.value;
|
24
|
+
l.value = !1, a.value = void 0, s.value = void 0, t.value = void 0, u.value = void 0, c.value = void 0, d.value = void 0, i.value = !0, n.value = void 0, v && v(e);
|
24
25
|
};
|
25
|
-
return
|
26
|
-
close:
|
26
|
+
return g(K, {
|
27
|
+
close: p
|
27
28
|
}), () => {
|
28
|
-
const e =
|
29
|
-
return
|
30
|
-
class: "orion-dialog",
|
29
|
+
const e = s.value;
|
30
|
+
return l.value ? f(B, {
|
31
|
+
class: a.value ? "orion-dialog" : "orion-dialog notitle",
|
31
32
|
"modal-class": "orion-dialog-overlay",
|
32
|
-
title:
|
33
|
-
width:
|
34
|
-
modelValue:
|
35
|
-
beforeClose:
|
33
|
+
title: a.value,
|
34
|
+
width: u.value,
|
35
|
+
modelValue: l.value,
|
36
|
+
beforeClose: p,
|
36
37
|
draggable: !0,
|
37
38
|
closeOnClickModal: !1,
|
38
39
|
closeOnPressEscape: !1,
|
39
|
-
showClose:
|
40
|
+
showClose: i.value,
|
40
41
|
alignCenter: !0,
|
41
42
|
style: {
|
42
|
-
height:
|
43
|
+
height: c.value
|
43
44
|
},
|
44
|
-
appendTo:
|
45
|
+
appendTo: n.value
|
45
46
|
}, {
|
46
|
-
default: () => [
|
47
|
-
}) :
|
47
|
+
default: () => [f(e, t.value, null)]
|
48
|
+
}) : f(O, null, null);
|
48
49
|
};
|
49
50
|
}
|
50
|
-
}),
|
51
|
+
}), A = {
|
51
52
|
ref: "modal-locator",
|
52
53
|
class: "orion-modal-locator"
|
53
|
-
},
|
54
|
+
}, D = /* @__PURE__ */ _({
|
54
55
|
name: "OModalLocator",
|
55
56
|
inheritAttrs: !0,
|
56
57
|
__name: "ModalLocator",
|
57
|
-
setup(
|
58
|
-
const
|
59
|
-
return
|
60
|
-
locator:
|
61
|
-
}), (
|
62
|
-
b(
|
58
|
+
setup(C) {
|
59
|
+
const m = k("modal-locator");
|
60
|
+
return g(w, {
|
61
|
+
locator: m
|
62
|
+
}), (h, M) => (E(), T("div", A, [
|
63
|
+
b(h.$slots, "default", {}, void 0, !0)
|
63
64
|
], 512));
|
64
65
|
}
|
65
|
-
}),
|
66
|
-
const l = t.__vccOpts || t;
|
67
|
-
for (const [c, u] of a)
|
68
|
-
l[c] = u;
|
69
|
-
return l;
|
70
|
-
}, F = /* @__PURE__ */ D(A, [["__scopeId", "data-v-0fd5a1a9"]]), J = j(R, { ModalLocator: F });
|
66
|
+
}), F = /* @__PURE__ */ R(D, [["__scopeId", "data-v-0fd5a1a9"]]), Q = j(V, { ModalLocator: F });
|
71
67
|
export {
|
72
|
-
|
68
|
+
Q as default
|
73
69
|
};
|
74
70
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/Modal/Modal.tsx","../../../src/components/Modal/ModalLocator.vue","../../../src/components/Modal/index.ts"],"sourcesContent":["import { defineComponent, inject, provide, ref, shallowRef } from 'vue'\r\nimport { ElDialog } from 'element-plus'\r\nimport { addUnit } from '../_util'\r\nimport { modalContextKey, modalLocatorContextKey, ModalOptions } from './types'\r\n\r\nconst Modal = defineComponent({\r\n name: 'OModal',\r\n setup(props, { slots, attrs, emit, expose }) {\r\n const modalLocator = inject(modalLocatorContextKey)\r\n\r\n const show = ref(false)\r\n const title = ref<string>()\r\n const content = shallowRef()\r\n const contentProps = ref<Record<string, any>>()\r\n const width = ref<number | string>()\r\n const height = ref<number | string>()\r\n const __resolve = ref<(value: Record<string, any> | PromiseLike<Record<string, any>>) => void>()\r\n const showClose = ref(true)\r\n const appendTo = ref<HTMLElement>()\r\n\r\n const _open: (options: ModalOptions) => Promise<Record<string, any>> = async (options) => {\r\n show.value = true\r\n title.value = options.title\r\n content.value = options.content\r\n if (options.contentProps) {\r\n contentProps.value = options.contentProps\r\n } else {\r\n contentProps.value = {}\r\n }\r\n if (options.width) {\r\n width.value = options.width\r\n }\r\n if (options.height) {\r\n height.value = addUnit(options.height)\r\n }\r\n if (options.showClose != undefined && options.showClose == false) {\r\n showClose.value = false\r\n }\r\n if (options.locator) {\r\n appendTo.value = options.locator\r\n } else {\r\n if (modalLocator && modalLocator.locator.value) {\r\n appendTo.value = modalLocator.locator.value\r\n }\r\n }\r\n\r\n const promise = new Promise<Record<string, any>>((resolve, reject) => {\r\n __resolve.value = resolve\r\n })\r\n\r\n return promise\r\n }\r\n expose({\r\n open: _open,\r\n })\r\n\r\n const _close: (options: Record<string, any>) => void = (options) => {\r\n const resolve = __resolve.value\r\n\r\n show.value = false\r\n title.value = undefined\r\n content.value = undefined\r\n contentProps.value = undefined\r\n width.value = undefined\r\n height.value = undefined\r\n __resolve.value = undefined\r\n showClose.value = true\r\n appendTo.value = undefined\r\n\r\n resolve && resolve(options)\r\n }\r\n provide(modalContextKey, { close: _close })\r\n\r\n return () => {\r\n const Children = content.value\r\n return show.value ? (\r\n <ElDialog\r\n class
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/Modal/Modal.tsx","../../../src/components/Modal/ModalLocator.vue","../../../src/components/Modal/index.ts"],"sourcesContent":["import { defineComponent, inject, provide, ref, shallowRef } from 'vue'\r\nimport { ElDialog } from 'element-plus'\r\nimport { addUnit } from '../_util'\r\nimport { modalContextKey, modalLocatorContextKey, ModalOptions } from './types'\r\n\r\nconst Modal = defineComponent({\r\n name: 'OModal',\r\n setup(props, { slots, attrs, emit, expose }) {\r\n const modalLocator = inject(modalLocatorContextKey)\r\n\r\n const show = ref(false)\r\n const title = ref<string>()\r\n const content = shallowRef()\r\n const contentProps = ref<Record<string, any>>()\r\n const width = ref<number | string>()\r\n const height = ref<number | string>()\r\n const __resolve = ref<(value: Record<string, any> | PromiseLike<Record<string, any>>) => void>()\r\n const showClose = ref(true)\r\n const appendTo = ref<HTMLElement>()\r\n\r\n const _open: (options: ModalOptions) => Promise<Record<string, any>> = async (options) => {\r\n show.value = true\r\n title.value = options.title\r\n content.value = options.content\r\n if (options.contentProps) {\r\n contentProps.value = options.contentProps\r\n } else {\r\n contentProps.value = {}\r\n }\r\n if (options.width) {\r\n width.value = options.width\r\n }\r\n if (options.height) {\r\n height.value = addUnit(options.height)\r\n }\r\n if (options.showClose != undefined && options.showClose == false) {\r\n showClose.value = false\r\n }\r\n if (options.locator) {\r\n appendTo.value = options.locator\r\n } else {\r\n if (modalLocator && modalLocator.locator.value) {\r\n appendTo.value = modalLocator.locator.value\r\n }\r\n }\r\n\r\n const promise = new Promise<Record<string, any>>((resolve, reject) => {\r\n __resolve.value = resolve\r\n })\r\n\r\n return promise\r\n }\r\n expose({\r\n open: _open,\r\n })\r\n\r\n const _close: (options: Record<string, any>) => void = (options) => {\r\n const resolve = __resolve.value\r\n\r\n show.value = false\r\n title.value = undefined\r\n content.value = undefined\r\n contentProps.value = undefined\r\n width.value = undefined\r\n height.value = undefined\r\n __resolve.value = undefined\r\n showClose.value = true\r\n appendTo.value = undefined\r\n\r\n resolve && resolve(options)\r\n }\r\n provide(modalContextKey, { close: _close })\r\n\r\n return () => {\r\n const Children = content.value\r\n return show.value ? (\r\n <ElDialog\r\n class={title.value ? 'orion-dialog' : 'orion-dialog notitle'}\r\n modal-class=\"orion-dialog-overlay\"\r\n title={title.value}\r\n width={width.value}\r\n modelValue={show.value}\r\n beforeClose={_close}\r\n draggable={true}\r\n closeOnClickModal={false}\r\n closeOnPressEscape={false}\r\n showClose={showClose.value}\r\n alignCenter={true}\r\n style={{ height: height.value }}\r\n appendTo={appendTo.value}\r\n >\r\n <Children {...contentProps.value}></Children>\r\n </ElDialog>\r\n ) : (\r\n <></>\r\n )\r\n }\r\n },\r\n})\r\n\r\nexport default Modal\r\n","<template>\r\n <div ref=\"modal-locator\" class=\"orion-modal-locator\"><slot></slot></div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { provide, useTemplateRef } from 'vue'\r\nimport { modalLocatorContextKey } from './types'\r\n\r\ndefineOptions({ name: 'OModalLocator', inheritAttrs: true })\r\nconst locator = useTemplateRef('modal-locator')\r\n\r\nprovide(modalLocatorContextKey, {\r\n locator,\r\n})\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.orion-modal-locator {\r\n width: 100%;\r\n height: 100%;\r\n overflow: auto;\r\n box-sizing: border-box;\r\n position: relative;\r\n\r\n :deep(> .el-overlay) {\r\n position: absolute;\r\n\r\n > .el-overlay-dialog {\r\n position: absolute;\r\n }\r\n }\r\n}\r\n</style>\r\n","import { withInstall } from '../_util'\r\n\r\nimport Modal from './Modal'\r\nimport ModalLocator from './ModalLocator.vue'\r\n\r\nexport default withInstall<typeof Modal, { ModalLocator: typeof ModalLocator }>(Modal, { ModalLocator })\r\n"],"names":["Modal","defineComponent","name","setup","props","slots","attrs","emit","expose","modalLocator","inject","modalLocatorContextKey","show","ref","title","content","shallowRef","contentProps","width","height","__resolve","showClose","appendTo","open","options","value","addUnit","undefined","locator","Promise","resolve","reject","_close","provide","modalContextKey","close","Children","_createVNode","ElDialog","default","_Fragment","useTemplateRef","index","withInstall","ModalLocator"],"mappings":";;;;;;;AAKA,MAAMA,IAAQC,gBAAAA,EAAgB;AAAA,EAC5BC,MAAM;AAAA,EACNC,MAAMC,GAAO;AAAA,IAAEC,OAAAA;AAAAA,IAAOC,OAAAA;AAAAA,IAAOC,MAAAA;AAAAA,IAAMC,QAAAA;AAAAA,EAAO,GAAG;AAC3C,UAAMC,IAAeC,EAAOC,CAAsB,GAE5CC,IAAOC,EAAI,EAAK,GAChBC,IAAQD,KACRE,IAAUC,KACVC,IAAeJ,KACfK,IAAQL,KACRM,IAASN,KACTO,IAAYP,KACZQ,IAAYR,EAAI,EAAI,GACpBS,IAAWT;AAkCjBL,IAAAA,EAAO;AAAA,MACLe,MAjCqE,OAAOC,OAC5EZ,EAAKa,QAAQ,IACbX,EAAMW,QAAQD,EAAQV,OACtBC,EAAQU,QAAQD,EAAQT,SACpBS,EAAQP,eACVA,EAAaQ,QAAQD,EAAQP,eAE7BA,EAAaQ,QAAQ,IAEnBD,EAAQN,UACVA,EAAMO,QAAQD,EAAQN,QAEpBM,EAAQL,WACVA,EAAOM,QAAQC,EAAQF,EAAQL,MAAM,IAEnCK,EAAQH,aAAaM,QAAaH,EAAQH,aAAa,OACzDA,EAAUI,QAAQ,KAEhBD,EAAQI,UACVN,EAASG,QAAQD,EAAQI,UAErBnB,KAAgBA,EAAamB,QAAQH,UACvCH,EAASG,QAAQhB,EAAamB,QAAQH,QAI1B,IAAII,QAA6B,CAACC,GAASC,MAAW;AACpEX,QAAAA,EAAUK,QAAQK;AAAAA,MACpB,CAAC;AAAA,IAMH,CAAC;AAED,UAAME,IAAkDR,CAAAA,MAAY;AAClE,YAAMM,IAAUV,EAAUK;AAE1Bb,MAAAA,EAAKa,QAAQ,IACbX,EAAMW,QAAQE,QACdZ,EAAQU,QAAQE,QAChBV,EAAaQ,QAAQE,QACrBT,EAAMO,QAAQE,QACdR,EAAOM,QAAQE,QACfP,EAAUK,QAAQE,QAClBN,EAAUI,QAAQ,IAClBH,EAASG,QAAQE,QAEjBG,KAAWA,EAAQN,CAAO;AAAA;AAE5BS,WAAAA,EAAQC,GAAiB;AAAA,MAAEC,OAAOH;AAAAA,IAAO,CAAC,GAEnC,MAAM;AACX,YAAMI,IAAWrB,EAAQU;AACzB,aAAOb,EAAKa,QAAKY,EAAAC,GAAA;AAAA,QAAA,OAENxB,EAAMW,QAAQ,iBAAiB;AAAA,QAAsB,eAAA;AAAA,QAAA,OAErDX,EAAMW;AAAAA,QAAK,OACXP,EAAMO;AAAAA,QAAK,YACNb,EAAKa;AAAAA,QAAK,aACTO;AAAAA,QAAM,WACR;AAAA,QAAI,mBACI;AAAA,QAAK,oBACJ;AAAA,QAAK,WACdX,EAAUI;AAAAA,QAAK,aACb;AAAA,QAAI,OACV;AAAA,UAAEN,QAAQA,EAAOM;AAAAA,QAAO;AAAA,QAAA,UACrBH,EAASG;AAAAA,MAAK,GAAA;AAAA,QAAAc,SAAAA,MAAAF,CAAAA,EAAAD,GAEVnB,EAAaQ,OAAK,IAAA,CAAA;AAAA,MAAAY,CAAAA,IAAAA,EAAAG,GAInC,MAAA,IAAA;AAAA;EAEL;AACF,CAAC;;;;;;;;AC1FK,UAAAZ,IAAUa,EAAe,eAAe;AAE9C,WAAAR,EAAQtB,GAAwB;AAAA,MAC9B,SAAAiB;AAAA,IAAA,CACD;;;;kECPDc,IAAeC,EAAiE3C,GAAO,EAAE,cAAA4C,GAAc;"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
@@ -4,6 +4,7 @@ export { default as Space } from './Space';
|
|
4
4
|
export type { SpaceProps } from './Space';
|
5
5
|
export { Rowflex, Colflex, Flexitem } from './Flex';
|
6
6
|
export type { RowflexProps, ColflexProps, FlexitemProps } from './Flex';
|
7
|
+
export { default as Card } from './Card';
|
7
8
|
export { default as Tabs } from './Tabs';
|
8
9
|
export type { TabsProps } from './Tabs';
|
9
10
|
export { default as Pagetable } from './Pagetable';
|
@@ -14,3 +15,4 @@ export { default as Modal } from './Modal';
|
|
14
15
|
export { default as Form } from './Form';
|
15
16
|
export { default as LovTable } from './LovTable';
|
16
17
|
export { default as TableSelectPagetable } from './TableSelectPagetable';
|
18
|
+
export { default as Icon } from './Icon';
|
@@ -1,27 +1,31 @@
|
|
1
1
|
import { default as a } from "./Button/index.js";
|
2
|
-
import { T as
|
2
|
+
import { T as t } from "../components-Pdc4XEej.js";
|
3
3
|
import { S as l } from "../index-BbsXWo7C.js";
|
4
|
-
import { Colflex as m, Flexitem as p, Rowflex as
|
5
|
-
import { default as u } from "./
|
6
|
-
import { default as T } from "./
|
4
|
+
import { Colflex as m, Flexitem as p, Rowflex as d } from "./Flex/index.js";
|
5
|
+
import { default as u } from "./Card/index.js";
|
6
|
+
import { default as T } from "./Tabs/index.js";
|
7
|
+
import { default as c } from "./Pagetable/index.js";
|
7
8
|
import { default as P } from "./Querytable/index.js";
|
8
|
-
import { default as
|
9
|
-
import { default as
|
10
|
-
import { default as
|
11
|
-
import { default as
|
9
|
+
import { default as g } from "./Modal/index.js";
|
10
|
+
import { default as v } from "./Form/index.js";
|
11
|
+
import { default as h } from "./LovTable/index.js";
|
12
|
+
import { default as y } from "./TableSelectPagetable/index.js";
|
13
|
+
import { default as I } from "./Icon/index.js";
|
12
14
|
export {
|
13
15
|
a as Button,
|
16
|
+
u as Card,
|
14
17
|
m as Colflex,
|
15
18
|
p as Flexitem,
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
19
|
+
v as Form,
|
20
|
+
I as Icon,
|
21
|
+
h as LovTable,
|
22
|
+
g as Modal,
|
23
|
+
c as Pagetable,
|
20
24
|
P as Querytable,
|
21
|
-
|
25
|
+
d as Rowflex,
|
22
26
|
l as Space,
|
23
|
-
|
24
|
-
|
25
|
-
|
27
|
+
y as TableSelectPagetable,
|
28
|
+
T as Tabs,
|
29
|
+
t as ThroneContextProvider
|
26
30
|
};
|
27
31
|
//# sourceMappingURL=components.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"components.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"components.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
|