skyline-vue-admin 0.0.15 → 0.0.17
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/auto-complete-array-input/index.cjs +1 -1
- package/dist/components/auto-complete-array-input/index.cjs.map +1 -1
- package/dist/components/auto-complete-array-input/index.mjs +25 -22
- package/dist/components/auto-complete-array-input/index.mjs.map +1 -1
- package/dist/components/avatar-input/index.cjs +1 -1
- package/dist/components/avatar-input/index.cjs.map +1 -1
- package/dist/components/avatar-input/index.d.ts +0 -4
- package/dist/components/avatar-input/index.mjs +72 -104
- package/dist/components/avatar-input/index.mjs.map +1 -1
- package/dist/components/can-access/index.cjs +1 -1
- package/dist/components/can-access/index.mjs +1 -1
- package/dist/components/create/index.cjs +1 -1
- package/dist/components/create/index.mjs +4 -4
- package/dist/components/data-table/index.cjs +1 -1
- package/dist/components/data-table/index.mjs +4 -4
- package/dist/components/data-table-col/index.cjs +1 -1
- package/dist/components/data-table-col/index.cjs.map +1 -1
- package/dist/components/data-table-col/index.mjs +5 -4
- package/dist/components/data-table-col/index.mjs.map +1 -1
- package/dist/components/edit/index.cjs +1 -1
- package/dist/components/edit/index.mjs +1 -1
- package/dist/components/file-multiple-input/index.cjs +1 -1
- package/dist/components/file-multiple-input/index.cjs.map +1 -1
- package/dist/components/file-multiple-input/index.d.ts +2 -8
- package/dist/components/file-multiple-input/index.mjs +38 -146
- package/dist/components/file-multiple-input/index.mjs.map +1 -1
- package/dist/components/file-multiple-model-input/index.cjs +2 -0
- package/dist/components/file-multiple-model-input/index.cjs.map +1 -0
- package/dist/components/file-multiple-model-input/index.d.ts +72 -0
- package/dist/components/file-multiple-model-input/index.mjs +154 -0
- package/dist/components/file-multiple-model-input/index.mjs.map +1 -0
- package/dist/components/filter/index.cjs +1 -1
- package/dist/components/filter/index.mjs +6 -6
- package/dist/components/image-field/index.cjs +1 -1
- package/dist/components/image-field/index.cjs.map +1 -1
- package/dist/components/image-field/index.mjs +3 -2
- package/dist/components/image-field/index.mjs.map +1 -1
- package/dist/components/link-field/index.cjs +1 -1
- package/dist/components/link-field/index.cjs.map +1 -1
- package/dist/components/link-field/index.mjs +3 -2
- package/dist/components/link-field/index.mjs.map +1 -1
- package/dist/components/radio-button-group-input/index.cjs +1 -1
- package/dist/components/radio-button-group-input/index.cjs.map +1 -1
- package/dist/components/radio-button-group-input/index.mjs +3 -2
- package/dist/components/radio-button-group-input/index.mjs.map +1 -1
- package/dist/components/reference-field/index.cjs +1 -1
- package/dist/components/reference-field/index.mjs +1 -1
- package/dist/components/show-simple-layout/index.cjs +1 -1
- package/dist/components/show-simple-layout/index.cjs.map +1 -1
- package/dist/components/show-simple-layout/index.mjs +4 -2
- package/dist/components/show-simple-layout/index.mjs.map +1 -1
- package/dist/components/simple-form/index.cjs +1 -1
- package/dist/components/simple-form/index.cjs.map +1 -1
- package/dist/components/simple-form/index.mjs +3 -2
- package/dist/components/simple-form/index.mjs.map +1 -1
- package/dist/components/text-field/index.cjs +1 -1
- package/dist/components/text-field/index.cjs.map +1 -1
- package/dist/components/text-field/index.mjs +6 -4
- package/dist/components/text-field/index.mjs.map +1 -1
- package/dist/components/text-input/index.cjs +1 -1
- package/dist/components/text-input/index.cjs.map +1 -1
- package/dist/components/text-input/index.mjs +7 -6
- package/dist/components/text-input/index.mjs.map +1 -1
- package/dist/hooks/useUpload.cjs +1 -1
- package/dist/hooks/useUpload.cjs.map +1 -1
- package/dist/hooks/useUpload.d.ts +9 -3
- package/dist/hooks/useUpload.mjs +20 -5
- package/dist/hooks/useUpload.mjs.map +1 -1
- package/dist/layouts/default.cjs +1 -1
- package/dist/layouts/default.mjs +14 -14
- package/dist/provides/dataProvider.d.ts +2 -6
- package/dist/styles/components/file-multiple-input.css +1 -1
- package/dist/styles/components/file-multiple-model-input.css +1 -0
- package/dist/styles/index.css +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/components/file-multiple-model-input/index.tsx"],"sourcesContent":["import { EpPlus } from '@/icons/EpPlus'\nimport type { SkyUploadRawFile } from '@/provides'\nimport {\n ElDialog,\n ElIcon,\n ElUpload,\n genFileId,\n type UploadFile,\n type UploadInstance,\n type UploadProps,\n type UploadRawFile,\n} from 'element-plus'\nimport {\n cloneVNode,\n computed,\n defineComponent,\n Fragment,\n h,\n ref,\n useTemplateRef,\n type PropType,\n} from 'vue'\nimport { useUpload, type SkyUploadUserFile } from '@/hooks'\nimport { EpUploadFilled } from '@/icons/EpUploadFilled'\nimport { useI18n } from 'vue-i18n'\n\nexport type SkyFileMultipleModelInputProps = {\n type?: 'file' | 'image'\n dataName?: string\n dataUrl?: string\n limit?: number\n autoUpload?: UploadProps['autoUpload']\n modelValue?: Array<Record<string, unknown>>\n} & Partial<UploadProps>\n\nexport const SkyFileMultipleModelInput = defineComponent({\n name: 'SkyFileMultipleModelInput',\n inheritAttrs: false,\n props: {\n // 这样就不能透传了\n // ...uploadProps,\n type: {\n type: String,\n default: 'file',\n },\n dataName: {\n type: String,\n default: 'name',\n },\n dataUrl: {\n type: String,\n default: 'url',\n },\n limit: {\n type: Number,\n default: 1,\n },\n autoUpload: {\n type: Boolean,\n default: true,\n },\n modelValue: {\n type: Array as PropType<Array<Record<string, unknown>>>,\n default: () => [],\n },\n },\n emits: {\n 'update:modelValue': (value: Array<Record<string, unknown>>) => value,\n },\n setup(props, { slots, attrs, emit }) {\n const { t } = useI18n()\n // init fileList\n const { fileList, action, data, headers, method, name, beforeUpload } = useUpload()\n const uploadRef = useTemplateRef<UploadInstance>('uploadRef')\n\n fileList.value = props.modelValue!.map((md) => ({\n upload: md,\n name: md[props.dataName!] as string,\n url: md[props.dataUrl!] as string,\n }))\n\n const onExceed = (files: File[]) => {\n if (props.limit === 1) {\n uploadRef.value?.clearFiles()\n const file = files[0] as UploadRawFile\n file.uid = genFileId()\n uploadRef.value?.handleStart(file)\n if (props.autoUpload) {\n uploadRef.value?.submit()\n }\n }\n }\n\n const onSuccess = () => {\n const result: Array<Record<string, unknown>> = []\n for (const fl of fileList.value) {\n if (fl.upload) {\n result.push(fl.upload)\n } else {\n const raw = fl.raw as SkyUploadRawFile | undefined\n if (raw?.upload) {\n result.push(raw.upload)\n }\n }\n }\n emit('update:modelValue', result)\n }\n\n const preview = ref(false)\n const previewUrl = ref<string>()\n const onPreview = (file: UploadFile) => {\n previewUrl.value = file.url\n preview.value = true\n }\n\n const accept = computed(() => (props.type === 'image' ? 'image/*' : undefined))\n const listType = computed(() => (props.type === 'image' ? 'picture-card' : 'text'))\n\n return () => (\n <>\n <ElUpload\n class=\"sky-file-multiple-model-input\"\n ref=\"uploadRef\"\n action={action.value}\n method={method.value}\n name={name.value}\n multiple={props.limit! > 1}\n limit={props.limit}\n beforeUpload={beforeUpload}\n onSuccess={onSuccess}\n onExceed={onExceed}\n headers={headers.value}\n data={data.value}\n listType={listType.value}\n fileList={fileList.value}\n onUpdate:file-list={(fs: SkyUploadUserFile[]) => (fileList.value = fs)}\n autoUpload={props.autoUpload}\n drag={props.type === 'file'}\n showFileList\n onPreview={onPreview}\n // https://developer.mozilla.org/zh-CN/docs/Web/HTML/Reference/Attributes/accept\n accept={accept.value}\n {...attrs}\n >\n {{\n default: () =>\n props.type === 'image' ? (\n <ElIcon>\n <EpPlus />\n </ElIcon>\n ) : (\n <>\n <ElIcon class=\"sky-file-multiple-model-input__icon\">\n <EpUploadFilled />\n </ElIcon>\n <div class=\"sky-file-multiple-model-input__text\">\n {t('upload.drop')}\n <em>{t('upload.click')}</em>\n </div>\n </>\n ),\n file: (scope: { file: UploadFile; index: number }) => {\n if (slots.default) {\n const vnodes = slots.default()\n return h(\n Fragment,\n vnodes.map((vnode) => cloneVNode(vnode, { ...scope })),\n )\n }\n },\n }}\n </ElUpload>\n <ElDialog\n appendToBody\n modelValue={preview.value}\n onUpdate:modelValue={(v) => (preview.value = v)}\n >\n <img class=\"sky-file-multiple-model-input__img\" src={previewUrl.value} />\n </ElDialog>\n </>\n )\n },\n})\n"],"names":["SkyFileMultipleModelInput","defineComponent","name","inheritAttrs","props","type","default","dataName","dataUrl","limit","autoUpload","modelValue","emits","emit","t","beforeUpload","uploadRef","useTemplateRef","upload","url","file","files","fl","fileList","result","raw","preview","ref","previewUrl","accept","computed","listType","onSuccess","onExceed","fs","onPreview","attrs","_createVNode","_Fragment","ElIcon","vnodes","slots","h","Fragment","vnode","cloneVNode","v"],"mappings":"2iCAmCAA,EAAAC,EAAAA,gBAAA,CACEC,KAAAA,4BACAC,aAAAA,GACAC,MAAAA,CAGEC,KAAAA,CACEA,KAAAA,OACAC,QAAAA,QAEFC,SAAAA,CACEF,KAAAA,OACAC,QAAAA,QAEFE,QAAAA,CACEH,KAAAA,OACAC,QAAAA,OAEFG,MAAAA,CACEJ,KAAAA,OACAC,QAAAA,GAEFI,WAAAA,CACEL,KAAAA,QACAC,QAAAA,IAEFK,WAAAA,CACEN,KAAAA,oBAEF,GAEFO,MAAAA,oDAG6BC,KAAAA,CAAK,EAAA,OACxBC,EAAAA,qEAE+CC,aAAAA,iBACvDC,EAAAC,EAAAA,eAAA,WAAA,gCAGEC,OAAAA,EACAhB,KAAAA,EAAAA,EAAAA,QAAAA,EACAiB,IAAAA,EAAAA,EAAAA,OAAAA,CACF,EAAA,cAGE,GAAAf,EAAA,QAAA,EAAA,CACEY,EAAAA,OAAAA,WAAAA,EACA,MAAAI,EAAAC,EAAA,CAAA,EACAD,EAAAA,IAAAA,YAAAA,EACAJ,EAAAA,OAAAA,YAAAA,CAAAA,gBAEEA,EAAAA,OAAAA,OAAAA,CAEJ,qBAKA,UAAAM,KAAAC,EAAA,kBAEIC,EAAAA,KAAAA,EAAAA,MAAAA,MACF,CACE,MAAAC,EAAAH,EAAA,eAEEE,EAAAA,KAAAA,EAAAA,MAAAA,CAEJ,CAEFX,EAAAA,oBAAAA,CAAAA,GAGFa,EAAAC,EAAAA,IAAA,EAAA,EACAC,EAAAD,EAAAA,IAAA,QAEEC,EAAAA,MAAAA,EAAAA,gBAIFC,EAAAC,EAAAA,SAAA,IAAA1B,EAAA,OAAA,QAAA,UAAA,MAAA,EACA2B,EAAAD,EAAAA,SAAA,IAAA1B,EAAA,OAAA,QAAA,eAAA,MAAA,kFAEO,MAAA,gCAAA,IAAA,uDAOe,SAAAA,EAAA,MAAA,gBAEE,aAAAW,EACQ,UAAAiB,EACN,SAAAC,iEAKI,qBAAAC,GAAAX,EAAA,MAAAW,0BAEI,KAAA9B,EAAA,OAAA,OACD,aAAA,GAAA,UAAA+B,EAEP,OAAAN,EAAA,KAEA,EAAAO,CAAA,EAAA,2DAKM9B,QAAAA,IAAAA,CAAAA,EAAAA,YAAAA,EAAAA,OAAAA,KAAAA,IAAAA,CAAAA,CAAA,CAAA,EAAA+B,EAAAA,YAAAC,EAAAA,SAAA,KAAA,CAAAD,EAAAA,YAAAE,EAAAA,OAAA,CAAA,MAAA,qCAAA,EAAA,CAAAjC,QAAAA,IAAAA,CAAAA,EAAAA,YAAAA,EAAAA,eAAAA,KAAAA,IAAAA,CAAAA,CAAA,CAAA,EAAA+B,EAAAA,YAAA,MAAA,CAAA,MAAA,iIAiBpB,MAAAG,EAAAC,EAAA,QAAA,EACA,OAAAC,EAAAA,EAAAC,EAAAA,SAAAH,EAAA,IAAAI,GAAAC,EAAAA,WAAAD,EAAA,SAIF,CACF,8BAAC,aAAA,sBAKsB,sBAAAE,GAAApB,EAAA,MAAAoB,CACsB,EAAA,mCAAA,MAAA,qCAAA,IAAAlB,EAAA,KAEsB,EAAA,IAAA,CAAA,KAI7E,CACF,CAAA"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { UploadProps } from 'element-plus';
|
|
2
|
+
import { PropType } from 'vue';
|
|
3
|
+
export type SkyFileMultipleModelInputProps = {
|
|
4
|
+
type?: 'file' | 'image';
|
|
5
|
+
dataName?: string;
|
|
6
|
+
dataUrl?: string;
|
|
7
|
+
limit?: number;
|
|
8
|
+
autoUpload?: UploadProps['autoUpload'];
|
|
9
|
+
modelValue?: Array<Record<string, unknown>>;
|
|
10
|
+
} & Partial<UploadProps>;
|
|
11
|
+
export declare const SkyFileMultipleModelInput: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
12
|
+
type: {
|
|
13
|
+
type: StringConstructor;
|
|
14
|
+
default: string;
|
|
15
|
+
};
|
|
16
|
+
dataName: {
|
|
17
|
+
type: StringConstructor;
|
|
18
|
+
default: string;
|
|
19
|
+
};
|
|
20
|
+
dataUrl: {
|
|
21
|
+
type: StringConstructor;
|
|
22
|
+
default: string;
|
|
23
|
+
};
|
|
24
|
+
limit: {
|
|
25
|
+
type: NumberConstructor;
|
|
26
|
+
default: number;
|
|
27
|
+
};
|
|
28
|
+
autoUpload: {
|
|
29
|
+
type: BooleanConstructor;
|
|
30
|
+
default: boolean;
|
|
31
|
+
};
|
|
32
|
+
modelValue: {
|
|
33
|
+
type: PropType<Array<Record<string, unknown>>>;
|
|
34
|
+
default: () => never[];
|
|
35
|
+
};
|
|
36
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
37
|
+
'update:modelValue': (value: Array<Record<string, unknown>>) => Record<string, unknown>[];
|
|
38
|
+
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
39
|
+
type: {
|
|
40
|
+
type: StringConstructor;
|
|
41
|
+
default: string;
|
|
42
|
+
};
|
|
43
|
+
dataName: {
|
|
44
|
+
type: StringConstructor;
|
|
45
|
+
default: string;
|
|
46
|
+
};
|
|
47
|
+
dataUrl: {
|
|
48
|
+
type: StringConstructor;
|
|
49
|
+
default: string;
|
|
50
|
+
};
|
|
51
|
+
limit: {
|
|
52
|
+
type: NumberConstructor;
|
|
53
|
+
default: number;
|
|
54
|
+
};
|
|
55
|
+
autoUpload: {
|
|
56
|
+
type: BooleanConstructor;
|
|
57
|
+
default: boolean;
|
|
58
|
+
};
|
|
59
|
+
modelValue: {
|
|
60
|
+
type: PropType<Array<Record<string, unknown>>>;
|
|
61
|
+
default: () => never[];
|
|
62
|
+
};
|
|
63
|
+
}>> & Readonly<{
|
|
64
|
+
"onUpdate:modelValue"?: ((value: Record<string, unknown>[]) => any) | undefined;
|
|
65
|
+
}>, {
|
|
66
|
+
type: string;
|
|
67
|
+
modelValue: Record<string, unknown>[];
|
|
68
|
+
autoUpload: boolean;
|
|
69
|
+
limit: number;
|
|
70
|
+
dataName: string;
|
|
71
|
+
dataUrl: string;
|
|
72
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import "element-plus/es/components/dialog/style/css";
|
|
2
|
+
import "element-plus/es/components/icon/style/css";
|
|
3
|
+
import "element-plus/es/components/upload/style/css";
|
|
4
|
+
import { defineComponent as I, useTemplateRef as N, ref as f, computed as s, createVNode as t, Fragment as d, mergeProps as b, h as M, cloneVNode as P } from "vue";
|
|
5
|
+
import { EpPlus as R } from "../../icons/EpPlus.mjs";
|
|
6
|
+
import { ElUpload as T, ElIcon as c, ElDialog as L, genFileId as A } from "element-plus";
|
|
7
|
+
import "../../hooks/useUser.mjs";
|
|
8
|
+
import "../../hooks/usePermission.mjs";
|
|
9
|
+
import "../../hooks/useMenu.mjs";
|
|
10
|
+
import "../../hooks/useTab.mjs";
|
|
11
|
+
import "../../hooks/useRouteKeepAlive.mjs";
|
|
12
|
+
import "../../hooks/useSize.mjs";
|
|
13
|
+
import "../../hooks/useLang.mjs";
|
|
14
|
+
import "../../hooks/useTheme.mjs";
|
|
15
|
+
import "../../hooks/useList.mjs";
|
|
16
|
+
import "../../hooks/useHiddenTitle.mjs";
|
|
17
|
+
import "../../hooks/useForm.mjs";
|
|
18
|
+
import "../../hooks/useShow.mjs";
|
|
19
|
+
import "../../hooks/useReferenceArrayField.mjs";
|
|
20
|
+
import "../../hooks/useTreeWithDetails.mjs";
|
|
21
|
+
import "../../hooks/useFormGrid.mjs";
|
|
22
|
+
import "../../hooks/useReferenceArrayInput.mjs";
|
|
23
|
+
import { useUpload as B } from "../../hooks/useUpload.mjs";
|
|
24
|
+
import { EpUploadFilled as C } from "../../icons/EpUploadFilled.mjs";
|
|
25
|
+
import { useI18n as D } from "vue-i18n";
|
|
26
|
+
const ne = /* @__PURE__ */ I({
|
|
27
|
+
name: "SkyFileMultipleModelInput",
|
|
28
|
+
inheritAttrs: !1,
|
|
29
|
+
props: {
|
|
30
|
+
// 这样就不能透传了
|
|
31
|
+
// ...uploadProps,
|
|
32
|
+
type: {
|
|
33
|
+
type: String,
|
|
34
|
+
default: "file"
|
|
35
|
+
},
|
|
36
|
+
dataName: {
|
|
37
|
+
type: String,
|
|
38
|
+
default: "name"
|
|
39
|
+
},
|
|
40
|
+
dataUrl: {
|
|
41
|
+
type: String,
|
|
42
|
+
default: "url"
|
|
43
|
+
},
|
|
44
|
+
limit: {
|
|
45
|
+
type: Number,
|
|
46
|
+
default: 1
|
|
47
|
+
},
|
|
48
|
+
autoUpload: {
|
|
49
|
+
type: Boolean,
|
|
50
|
+
default: !0
|
|
51
|
+
},
|
|
52
|
+
modelValue: {
|
|
53
|
+
type: Array,
|
|
54
|
+
default: () => []
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
emits: {
|
|
58
|
+
"update:modelValue": (l) => l
|
|
59
|
+
},
|
|
60
|
+
setup(l, {
|
|
61
|
+
slots: p,
|
|
62
|
+
attrs: v,
|
|
63
|
+
emit: y
|
|
64
|
+
}) {
|
|
65
|
+
const {
|
|
66
|
+
t: r
|
|
67
|
+
} = D(), {
|
|
68
|
+
fileList: o,
|
|
69
|
+
action: g,
|
|
70
|
+
data: U,
|
|
71
|
+
headers: h,
|
|
72
|
+
method: S,
|
|
73
|
+
name: V,
|
|
74
|
+
beforeUpload: k
|
|
75
|
+
} = B(), u = N("uploadRef");
|
|
76
|
+
o.value = l.modelValue.map((e) => ({
|
|
77
|
+
upload: e,
|
|
78
|
+
name: e[l.dataName],
|
|
79
|
+
url: e[l.dataUrl]
|
|
80
|
+
}));
|
|
81
|
+
const w = (e) => {
|
|
82
|
+
if (l.limit === 1) {
|
|
83
|
+
u.value?.clearFiles();
|
|
84
|
+
const a = e[0];
|
|
85
|
+
a.uid = A(), u.value?.handleStart(a), l.autoUpload && u.value?.submit();
|
|
86
|
+
}
|
|
87
|
+
}, E = () => {
|
|
88
|
+
const e = [];
|
|
89
|
+
for (const a of o.value)
|
|
90
|
+
if (a.upload)
|
|
91
|
+
e.push(a.upload);
|
|
92
|
+
else {
|
|
93
|
+
const i = a.raw;
|
|
94
|
+
i?.upload && e.push(i.upload);
|
|
95
|
+
}
|
|
96
|
+
y("update:modelValue", e);
|
|
97
|
+
}, m = f(!1), n = f(), F = (e) => {
|
|
98
|
+
n.value = e.url, m.value = !0;
|
|
99
|
+
}, _ = s(() => l.type === "image" ? "image/*" : void 0), x = s(() => l.type === "image" ? "picture-card" : "text");
|
|
100
|
+
return () => t(d, null, [t(T, b({
|
|
101
|
+
class: "sky-file-multiple-model-input",
|
|
102
|
+
ref: "uploadRef",
|
|
103
|
+
action: g.value,
|
|
104
|
+
method: S.value,
|
|
105
|
+
name: V.value,
|
|
106
|
+
multiple: l.limit > 1,
|
|
107
|
+
limit: l.limit,
|
|
108
|
+
beforeUpload: k,
|
|
109
|
+
onSuccess: E,
|
|
110
|
+
onExceed: w,
|
|
111
|
+
headers: h.value,
|
|
112
|
+
data: U.value,
|
|
113
|
+
listType: x.value,
|
|
114
|
+
fileList: o.value,
|
|
115
|
+
"onUpdate:file-list": (e) => o.value = e,
|
|
116
|
+
autoUpload: l.autoUpload,
|
|
117
|
+
drag: l.type === "file",
|
|
118
|
+
showFileList: !0,
|
|
119
|
+
onPreview: F,
|
|
120
|
+
accept: _.value
|
|
121
|
+
}, v), {
|
|
122
|
+
default: () => l.type === "image" ? t(c, null, {
|
|
123
|
+
default: () => [t(R, null, null)]
|
|
124
|
+
}) : t(d, null, [t(c, {
|
|
125
|
+
class: "sky-file-multiple-model-input__icon"
|
|
126
|
+
}, {
|
|
127
|
+
default: () => [t(C, null, null)]
|
|
128
|
+
}), t("div", {
|
|
129
|
+
class: "sky-file-multiple-model-input__text"
|
|
130
|
+
}, [r("upload.drop"), t("em", null, [r("upload.click")])])]),
|
|
131
|
+
file: (e) => {
|
|
132
|
+
if (p.default) {
|
|
133
|
+
const a = p.default();
|
|
134
|
+
return M(d, a.map((i) => P(i, {
|
|
135
|
+
...e
|
|
136
|
+
})));
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}), t(L, {
|
|
140
|
+
appendToBody: !0,
|
|
141
|
+
modelValue: m.value,
|
|
142
|
+
"onUpdate:modelValue": (e) => m.value = e
|
|
143
|
+
}, {
|
|
144
|
+
default: () => [t("img", {
|
|
145
|
+
class: "sky-file-multiple-model-input__img",
|
|
146
|
+
src: n.value
|
|
147
|
+
}, null)]
|
|
148
|
+
})]);
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
export {
|
|
152
|
+
ne as SkyFileMultipleModelInput
|
|
153
|
+
};
|
|
154
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../src/components/file-multiple-model-input/index.tsx"],"sourcesContent":["import { EpPlus } from '@/icons/EpPlus'\nimport type { SkyUploadRawFile } from '@/provides'\nimport {\n ElDialog,\n ElIcon,\n ElUpload,\n genFileId,\n type UploadFile,\n type UploadInstance,\n type UploadProps,\n type UploadRawFile,\n} from 'element-plus'\nimport {\n cloneVNode,\n computed,\n defineComponent,\n Fragment,\n h,\n ref,\n useTemplateRef,\n type PropType,\n} from 'vue'\nimport { useUpload, type SkyUploadUserFile } from '@/hooks'\nimport { EpUploadFilled } from '@/icons/EpUploadFilled'\nimport { useI18n } from 'vue-i18n'\n\nexport type SkyFileMultipleModelInputProps = {\n type?: 'file' | 'image'\n dataName?: string\n dataUrl?: string\n limit?: number\n autoUpload?: UploadProps['autoUpload']\n modelValue?: Array<Record<string, unknown>>\n} & Partial<UploadProps>\n\nexport const SkyFileMultipleModelInput = defineComponent({\n name: 'SkyFileMultipleModelInput',\n inheritAttrs: false,\n props: {\n // 这样就不能透传了\n // ...uploadProps,\n type: {\n type: String,\n default: 'file',\n },\n dataName: {\n type: String,\n default: 'name',\n },\n dataUrl: {\n type: String,\n default: 'url',\n },\n limit: {\n type: Number,\n default: 1,\n },\n autoUpload: {\n type: Boolean,\n default: true,\n },\n modelValue: {\n type: Array as PropType<Array<Record<string, unknown>>>,\n default: () => [],\n },\n },\n emits: {\n 'update:modelValue': (value: Array<Record<string, unknown>>) => value,\n },\n setup(props, { slots, attrs, emit }) {\n const { t } = useI18n()\n // init fileList\n const { fileList, action, data, headers, method, name, beforeUpload } = useUpload()\n const uploadRef = useTemplateRef<UploadInstance>('uploadRef')\n\n fileList.value = props.modelValue!.map((md) => ({\n upload: md,\n name: md[props.dataName!] as string,\n url: md[props.dataUrl!] as string,\n }))\n\n const onExceed = (files: File[]) => {\n if (props.limit === 1) {\n uploadRef.value?.clearFiles()\n const file = files[0] as UploadRawFile\n file.uid = genFileId()\n uploadRef.value?.handleStart(file)\n if (props.autoUpload) {\n uploadRef.value?.submit()\n }\n }\n }\n\n const onSuccess = () => {\n const result: Array<Record<string, unknown>> = []\n for (const fl of fileList.value) {\n if (fl.upload) {\n result.push(fl.upload)\n } else {\n const raw = fl.raw as SkyUploadRawFile | undefined\n if (raw?.upload) {\n result.push(raw.upload)\n }\n }\n }\n emit('update:modelValue', result)\n }\n\n const preview = ref(false)\n const previewUrl = ref<string>()\n const onPreview = (file: UploadFile) => {\n previewUrl.value = file.url\n preview.value = true\n }\n\n const accept = computed(() => (props.type === 'image' ? 'image/*' : undefined))\n const listType = computed(() => (props.type === 'image' ? 'picture-card' : 'text'))\n\n return () => (\n <>\n <ElUpload\n class=\"sky-file-multiple-model-input\"\n ref=\"uploadRef\"\n action={action.value}\n method={method.value}\n name={name.value}\n multiple={props.limit! > 1}\n limit={props.limit}\n beforeUpload={beforeUpload}\n onSuccess={onSuccess}\n onExceed={onExceed}\n headers={headers.value}\n data={data.value}\n listType={listType.value}\n fileList={fileList.value}\n onUpdate:file-list={(fs: SkyUploadUserFile[]) => (fileList.value = fs)}\n autoUpload={props.autoUpload}\n drag={props.type === 'file'}\n showFileList\n onPreview={onPreview}\n // https://developer.mozilla.org/zh-CN/docs/Web/HTML/Reference/Attributes/accept\n accept={accept.value}\n {...attrs}\n >\n {{\n default: () =>\n props.type === 'image' ? (\n <ElIcon>\n <EpPlus />\n </ElIcon>\n ) : (\n <>\n <ElIcon class=\"sky-file-multiple-model-input__icon\">\n <EpUploadFilled />\n </ElIcon>\n <div class=\"sky-file-multiple-model-input__text\">\n {t('upload.drop')}\n <em>{t('upload.click')}</em>\n </div>\n </>\n ),\n file: (scope: { file: UploadFile; index: number }) => {\n if (slots.default) {\n const vnodes = slots.default()\n return h(\n Fragment,\n vnodes.map((vnode) => cloneVNode(vnode, { ...scope })),\n )\n }\n },\n }}\n </ElUpload>\n <ElDialog\n appendToBody\n modelValue={preview.value}\n onUpdate:modelValue={(v) => (preview.value = v)}\n >\n <img class=\"sky-file-multiple-model-input__img\" src={previewUrl.value} />\n </ElDialog>\n </>\n )\n },\n})\n"],"names":["SkyFileMultipleModelInput","defineComponent","name","inheritAttrs","props","type","default","dataName","dataUrl","limit","autoUpload","modelValue","emits","emit","t","beforeUpload","uploadRef","useTemplateRef","upload","url","file","files","fl","fileList","result","raw","preview","ref","previewUrl","accept","computed","listType","onSuccess","onExceed","fs","onPreview","attrs","_createVNode","_Fragment","ElIcon","vnodes","slots","h","Fragment","vnode","cloneVNode","v"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,MAAAA,KAAA,gBAAAC,EAAA;AAAA,EACEC,MAAAA;AAAAA,EACAC,cAAAA;AAAAA,EACAC,OAAAA;AAAAA;AAAAA;AAAAA,IAGEC,MAAAA;AAAAA,MACEA,MAAAA;AAAAA,MACAC,SAAAA;AAAAA;IAEFC,UAAAA;AAAAA,MACEF,MAAAA;AAAAA,MACAC,SAAAA;AAAAA;IAEFE,SAAAA;AAAAA,MACEH,MAAAA;AAAAA,MACAC,SAAAA;AAAAA;IAEFG,OAAAA;AAAAA,MACEJ,MAAAA;AAAAA,MACAC,SAAAA;AAAAA;IAEFI,YAAAA;AAAAA,MACEL,MAAAA;AAAAA,MACAC,SAAAA;AAAAA;IAEFK,YAAAA;AAAAA,MACEN,MAAAA;AAAAA;IAEF;AAAA;EAEFO,OAAAA;AAAAA;;;;;IAG6BC,MAAAA;AAAAA,EAAK,GAAA;;MACxBC,GAAAA;AAAAA;;;;;;;MAE+CC,cAAAA;AAAAA,aACvDC,IAAAC,EAAA,WAAA;;MAGEC,QAAAA;AAAAA,MACAhB,MAAAA,EAAAA,EAAAA,QAAAA;AAAAA,MACAiB,KAAAA,EAAAA,EAAAA,OAAAA;AAAAA,IACF,EAAA;;AAGE,UAAAf,EAAA,UAAA,GAAA;AACEY,QAAAA,EAAAA,OAAAA,WAAAA;AACA,cAAAI,IAAAC,EAAA,CAAA;AACAD,QAAAA,EAAAA,MAAAA,EAAAA,GACAJ,EAAAA,OAAAA,YAAAA,CAAAA,mBAEEA,EAAAA,OAAAA,OAAAA;AAAAA,MAEJ;AAAA;;AAKA,iBAAAM,KAAAC,EAAA;;AAEIC,UAAAA,EAAAA,KAAAA,EAAAA,MAAAA;AAAAA,aACF;AACE,gBAAAC,IAAAH,EAAA;uBAEEE,EAAAA,KAAAA,EAAAA,MAAAA;AAAAA,QAEJ;AAEFX,MAAAA,EAAAA,qBAAAA,CAAAA;AAAAA,OAGFa,IAAAC,EAAA,EAAA,GACAC,IAAAD,EAAA;AAEEC,MAAAA,EAAAA,QAAAA,EAAAA;OAIFC,IAAAC,EAAA,MAAA1B,EAAA,SAAA,UAAA,YAAA,MAAA,GACA2B,IAAAD,EAAA,MAAA1B,EAAA,SAAA,UAAA,iBAAA,MAAA;;MAEO,OAAA;AAAA,MAAA,KAAA;AAAA;;;MAOe,UAAAA,EAAA,QAAA;AAAA;MAEE,cAAAW;AAAA,MACQ,WAAAiB;AAAA,MACN,UAAAC;AAAA;;;;MAKI,sBAAA,CAAAC,MAAAX,EAAA,QAAAW;AAAA;MAEI,MAAA9B,EAAA,SAAA;AAAA,MACD,cAAA;AAAA,MAAA,WAAA+B;AAAA,MAEP,QAAAN,EAAA;AAAA,IAEA,GAAAO,CAAA,GAAA;AAAA;QAKM9B,SAAAA,MAAAA,CAAAA,EAAAA,GAAAA,MAAAA,IAAAA,CAAAA;AAAAA,MAAA,CAAA,IAAA+B,EAAAC,GAAA,MAAA,CAAAD,EAAAE,GAAA;AAAA,QAAA,OAAA;AAAA,MAAA,GAAA;AAAA,QAAAjC,SAAAA,MAAAA,CAAAA,EAAAA,GAAAA,MAAAA,IAAAA,CAAAA;AAAAA,MAAA,CAAA,GAAA+B,EAAA,OAAA;AAAA,QAAA,OAAA;AAAA;;;AAiBpB,gBAAAG,IAAAC,EAAA,QAAA;AACA,iBAAAC,EAAAC,GAAAH,EAAA,IAAA,CAAAI,MAAAC,EAAAD,GAAA;AAAA;;QAIF;AAAA,MACF;AAAA;MAAC,cAAA;AAAA;MAKsB,uBAAA,CAAAE,MAAApB,EAAA,QAAAoB;AAAA,IACsB,GAAA;AAAA;QAAA,OAAA;AAAA,QAAA,KAAAlB,EAAA;AAAA,MAEsB,GAAA,IAAA,CAAA;AAAA;EAI7E;AACF,CAAA;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("element-plus/es/components/button/style/css");require("element-plus/es/components/form/style/css");require("element-plus/es/components/form-item/style/css");const e=require("vue");require("../../hooks/useUser.cjs");require("../../hooks/usePermission.cjs");require("../../hooks/useMenu.cjs");require("../../hooks/useTab.cjs");require("../../hooks/useRouteKeepAlive.cjs");require("../../hooks/useSize.cjs");require("../../hooks/useLang.cjs");require("../../hooks/useTheme.cjs");const q=require("../../hooks/useList.cjs");require("../../hooks/useHiddenTitle.cjs");const a=require("../../hooks/useForm.cjs");require("../../hooks/useShow.cjs");require("../../hooks/useReferenceArrayField.cjs");require("../../hooks/useTreeWithDetails.cjs");require("../../hooks/useFormGrid.cjs");require("../../hooks/useReferenceArrayInput.cjs");const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("element-plus/es/components/button/style/css");require("element-plus/es/components/form/style/css");require("element-plus/es/components/form-item/style/css");const e=require("vue");require("../../hooks/useUser.cjs");require("../../hooks/usePermission.cjs");require("../../hooks/useMenu.cjs");require("../../hooks/useTab.cjs");require("../../hooks/useRouteKeepAlive.cjs");require("../../hooks/useSize.cjs");require("../../hooks/useLang.cjs");require("../../hooks/useTheme.cjs");const q=require("../../hooks/useList.cjs");require("../../hooks/useHiddenTitle.cjs");const a=require("../../hooks/useForm.cjs");require("../../hooks/useShow.cjs");require("../../hooks/useReferenceArrayField.cjs");require("../../hooks/useTreeWithDetails.cjs");require("../../hooks/useFormGrid.cjs");require("../../hooks/useReferenceArrayInput.cjs");const d=require("vue-i18n"),u=require("element-plus");function f(r){return typeof r=="function"||Object.prototype.toString.call(r)==="[object Object]"&&!e.isVNode(r)}const m=e.defineComponent({name:"SkyFilter",setup(r,{slots:o}){const{t:n}=d.useI18n(),{formData:i}=a.useProvideForm(),{filterData:l,getList:s}=q.useList(),c=()=>{Object.assign(l,i),s()};return()=>{let t;return e.createVNode(u.ElForm,{class:"sky-filter",inline:!0,model:i},{default:()=>[o.default?.(),e.createVNode(u.ElFormItem,null,{default:()=>[e.createVNode(u.ElButton,{type:"primary",onClick:c},f(t=n("button.query"))?t:{default:()=>[t]})]})]})}}});exports.SkyFilter=m;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -18,8 +18,8 @@ import "../../hooks/useReferenceArrayField.mjs";
|
|
|
18
18
|
import "../../hooks/useTreeWithDetails.mjs";
|
|
19
19
|
import "../../hooks/useFormGrid.mjs";
|
|
20
20
|
import "../../hooks/useReferenceArrayInput.mjs";
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
21
|
+
import { useI18n as a } from "vue-i18n";
|
|
22
|
+
import { ElForm as d, ElFormItem as y, ElButton as b } from "element-plus";
|
|
23
23
|
function k(t) {
|
|
24
24
|
return typeof t == "function" || Object.prototype.toString.call(t) === "[object Object]" && !u(t);
|
|
25
25
|
}
|
|
@@ -30,7 +30,7 @@ const G = /* @__PURE__ */ s({
|
|
|
30
30
|
}) {
|
|
31
31
|
const {
|
|
32
32
|
t: m
|
|
33
|
-
} =
|
|
33
|
+
} = a(), {
|
|
34
34
|
formData: i
|
|
35
35
|
} = f(), {
|
|
36
36
|
filterData: p,
|
|
@@ -40,13 +40,13 @@ const G = /* @__PURE__ */ s({
|
|
|
40
40
|
};
|
|
41
41
|
return () => {
|
|
42
42
|
let o;
|
|
43
|
-
return r(
|
|
43
|
+
return r(d, {
|
|
44
44
|
class: "sky-filter",
|
|
45
45
|
inline: !0,
|
|
46
46
|
model: i
|
|
47
47
|
}, {
|
|
48
|
-
default: () => [e.default?.(), r(
|
|
49
|
-
default: () => [r(
|
|
48
|
+
default: () => [e.default?.(), r(y, null, {
|
|
49
|
+
default: () => [r(b, {
|
|
50
50
|
type: "primary",
|
|
51
51
|
onClick: l
|
|
52
52
|
}, k(o = m("button.query")) ? o : {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("element-plus/es/components/image/style/css");const e=require("vue");require("../../hooks/useUser.cjs");require("../../hooks/usePermission.cjs");require("../../hooks/useMenu.cjs");require("../../hooks/useTab.cjs");require("../../hooks/useRouteKeepAlive.cjs");require("../../hooks/useSize.cjs");require("../../hooks/useLang.cjs");require("../../hooks/useTheme.cjs");require("../../hooks/useList.cjs");const a=require("../../hooks/useHiddenTitle.cjs");require("../../hooks/useForm.cjs");require("../../hooks/useShow.cjs");require("../../hooks/useReferenceArrayField.cjs");require("../../hooks/useTreeWithDetails.cjs");require("../../hooks/useFormGrid.cjs");require("../../hooks/useReferenceArrayInput.cjs");const c=require("element-plus"),d=require("vue-router"),q=require("../can-access/index.cjs"),m=e.defineComponent({name:"SkyImageField",inheritAttrs:!1,props:{source:{type:String,required:!0},src:{type:String,default:"src"},label:String,row:Object},setup(r,{attrs:i}){const n=d.useRoute(),l=a.useHiddenTitle(),o=e.computed(()=>r.label||r.source),s=n.meta,t=e.computed(()=>{const u=r.row?.[r.source];return u?typeof u!="object"?String(u):u[r.src]||"":""});return()=>e.createVNode(q.SkyCanAccess,{resource:s.resource,action:["list","show"],column:r.source},{default:()=>[t.value&&(l?e.createVNode(c.ElImage,e.mergeProps({src:t.value},i),null):e.createVNode("div",{class:"sky-image-field"},[o.value&&e.createVNode("h4",null,[o.value]),e.createVNode(c.ElImage,e.mergeProps({src:t.value},i),null)]))]})}});exports.SkyImageField=m;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("element-plus/es/components/image/style/css");const e=require("vue");require("../../hooks/useUser.cjs");require("../../hooks/usePermission.cjs");require("../../hooks/useMenu.cjs");require("../../hooks/useTab.cjs");require("../../hooks/useRouteKeepAlive.cjs");require("../../hooks/useSize.cjs");require("../../hooks/useLang.cjs");require("../../hooks/useTheme.cjs");require("../../hooks/useList.cjs");const a=require("../../hooks/useHiddenTitle.cjs");require("../../hooks/useForm.cjs");require("../../hooks/useShow.cjs");require("../../hooks/useReferenceArrayField.cjs");require("../../hooks/useTreeWithDetails.cjs");require("../../hooks/useFormGrid.cjs");require("../../hooks/useReferenceArrayInput.cjs");require("vue-i18n");const c=require("element-plus"),d=require("vue-router"),q=require("../can-access/index.cjs"),m=e.defineComponent({name:"SkyImageField",inheritAttrs:!1,props:{source:{type:String,required:!0},src:{type:String,default:"src"},label:String,row:Object},setup(r,{attrs:i}){const n=d.useRoute(),l=a.useHiddenTitle(),o=e.computed(()=>r.label||r.source),s=n.meta,t=e.computed(()=>{const u=r.row?.[r.source];return u?typeof u!="object"?String(u):u[r.src]||"":""});return()=>e.createVNode(q.SkyCanAccess,{resource:s.resource,action:["list","show"],column:r.source},{default:()=>[t.value&&(l?e.createVNode(c.ElImage,e.mergeProps({src:t.value},i),null):e.createVNode("div",{class:"sky-image-field"},[o.value&&e.createVNode("h4",null,[o.value]),e.createVNode(c.ElImage,e.mergeProps({src:t.value},i),null)]))]})}});exports.SkyImageField=m;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../src/components/image-field/index.tsx"],"sourcesContent":["import { useHiddenTitle } from '@/hooks'\nimport { ElImage, type ImageProps } from 'element-plus'\nimport { computed, defineComponent } from 'vue'\nimport { useRoute } from 'vue-router'\nimport { SkyCanAccess } from '../can-access'\nimport type { SkyLayoutRouteMeta } from '@/router'\n\nexport interface SkyImageFieldProps {\n source: string\n src?: string\n label?: string\n row?: Record<string, unknown>\n}\n\nexport const SkyImageField = defineComponent<SkyImageFieldProps & Partial<ImageProps>>({\n name: 'SkyImageField',\n inheritAttrs: false,\n props: {\n source: {\n type: String,\n required: true,\n },\n src: {\n type: String,\n default: 'src',\n },\n label: String,\n row: Object,\n },\n setup(props, { attrs }) {\n const route = useRoute()\n const hiddenTitle = useHiddenTitle()\n const title = computed<string>(() => props.label || props.source)\n const routeMeta = route.meta as SkyLayoutRouteMeta\n\n const field = computed<string>(() => {\n const v = props.row?.[props.source]\n if (!v) {\n return ''\n }\n if (typeof v !== 'object') {\n return String(v)\n }\n return (v as Record<string, string>)[props.src!] || ''\n })\n\n return () => (\n <SkyCanAccess resource={routeMeta.resource} action={['list', 'show']} column={props.source}>\n {field.value &&\n (hiddenTitle ? (\n <ElImage src={field.value} {...attrs} />\n ) : (\n <div class=\"sky-image-field\">\n {title.value && <h4>{title.value}</h4>}\n <ElImage src={field.value} {...attrs} />\n </div>\n ))}\n </SkyCanAccess>\n )\n },\n})\n"],"names":["SkyImageField","defineComponent","name","inheritAttrs","props","source","type","required","src","default","label","row","attrs","route","useRoute","hiddenTitle","useHiddenTitle","title","computed","routeMeta","field","v","_createVNode","ElImage","_mergeProps"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/components/image-field/index.tsx"],"sourcesContent":["import { useHiddenTitle } from '@/hooks'\nimport { ElImage, type ImageProps } from 'element-plus'\nimport { computed, defineComponent } from 'vue'\nimport { useRoute } from 'vue-router'\nimport { SkyCanAccess } from '../can-access'\nimport type { SkyLayoutRouteMeta } from '@/router'\n\nexport interface SkyImageFieldProps {\n source: string\n src?: string\n label?: string\n row?: Record<string, unknown>\n}\n\nexport const SkyImageField = defineComponent<SkyImageFieldProps & Partial<ImageProps>>({\n name: 'SkyImageField',\n inheritAttrs: false,\n props: {\n source: {\n type: String,\n required: true,\n },\n src: {\n type: String,\n default: 'src',\n },\n label: String,\n row: Object,\n },\n setup(props, { attrs }) {\n const route = useRoute()\n const hiddenTitle = useHiddenTitle()\n const title = computed<string>(() => props.label || props.source)\n const routeMeta = route.meta as SkyLayoutRouteMeta\n\n const field = computed<string>(() => {\n const v = props.row?.[props.source]\n if (!v) {\n return ''\n }\n if (typeof v !== 'object') {\n return String(v)\n }\n return (v as Record<string, string>)[props.src!] || ''\n })\n\n return () => (\n <SkyCanAccess resource={routeMeta.resource} action={['list', 'show']} column={props.source}>\n {field.value &&\n (hiddenTitle ? (\n <ElImage src={field.value} {...attrs} />\n ) : (\n <div class=\"sky-image-field\">\n {title.value && <h4>{title.value}</h4>}\n <ElImage src={field.value} {...attrs} />\n </div>\n ))}\n </SkyCanAccess>\n )\n },\n})\n"],"names":["SkyImageField","defineComponent","name","inheritAttrs","props","source","type","required","src","default","label","row","attrs","route","useRoute","hiddenTitle","useHiddenTitle","title","computed","routeMeta","field","v","_createVNode","ElImage","_mergeProps"],"mappings":"04BAcAA,EAAAC,EAAAA,gBAAA,CACEC,KAAAA,gBACAC,aAAAA,GACAC,MAAAA,CACEC,OAAAA,CACEC,KAAAA,OACAC,SAAAA,IAEFC,IAAAA,CACEF,KAAAA,OACAG,QAAAA,OAEFC,MAAAA,OACAC,IAAAA,iBAEaC,MAAAA,CAAM,EAAA,CACnB,MAAAC,EAAAC,EAAAA,SAAA,EACAC,EAAAC,EAAAA,eAAA,EACAC,EAAAC,EAAAA,SAAA,IAAAd,EAAA,OAAAA,EAAA,MAAA,EACAe,EAAAN,EAAA,KAEAO,EAAAF,EAAAA,SAAA,IAAA,oCAKE,OAAAG,GAAA,mBAGAA,EAAAjB,EAAA,GAAA,GAAA,GALE,EAMJ,CAAA,8DAG4C,OAAA,CAAA,OAAA,MAAA,EAA0B,OAAAA,EAAA,MAAsB,EAAA,CAAAK,QAAAA,IAAAA,CAAAA,EAAAA,QAAAA,EAAAA,EAAAA,YAAAA,EAAAA,QAAAA,aAAAA,CAE1E,IAAAW,EAAA,qCAC0B,MAAA,iBAAA,EAAA,CAAAH,EAAA,OAAAK,EAAAA,YAAA,KAAA,KAAA,CAAAL,EAAA,KAAA,CAAA,EAAAK,cAAAC,EAAAA,QAAAC,EAAAA,WAAA,CAGI,IAAAJ,EAAA,qBAMlD,CACF,CAAA"}
|
|
@@ -16,10 +16,11 @@ import "../../hooks/useReferenceArrayField.mjs";
|
|
|
16
16
|
import "../../hooks/useTreeWithDetails.mjs";
|
|
17
17
|
import "../../hooks/useFormGrid.mjs";
|
|
18
18
|
import "../../hooks/useReferenceArrayInput.mjs";
|
|
19
|
+
import "vue-i18n";
|
|
19
20
|
import { ElImage as n } from "element-plus";
|
|
20
21
|
import { useRoute as f } from "vue-router";
|
|
21
22
|
import { SkyCanAccess as g } from "../can-access/index.mjs";
|
|
22
|
-
const
|
|
23
|
+
const V = /* @__PURE__ */ a({
|
|
23
24
|
name: "SkyImageField",
|
|
24
25
|
inheritAttrs: !1,
|
|
25
26
|
props: {
|
|
@@ -57,6 +58,6 @@ const R = /* @__PURE__ */ a({
|
|
|
57
58
|
}
|
|
58
59
|
});
|
|
59
60
|
export {
|
|
60
|
-
|
|
61
|
+
V as SkyImageField
|
|
61
62
|
};
|
|
62
63
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../src/components/image-field/index.tsx"],"sourcesContent":["import { useHiddenTitle } from '@/hooks'\nimport { ElImage, type ImageProps } from 'element-plus'\nimport { computed, defineComponent } from 'vue'\nimport { useRoute } from 'vue-router'\nimport { SkyCanAccess } from '../can-access'\nimport type { SkyLayoutRouteMeta } from '@/router'\n\nexport interface SkyImageFieldProps {\n source: string\n src?: string\n label?: string\n row?: Record<string, unknown>\n}\n\nexport const SkyImageField = defineComponent<SkyImageFieldProps & Partial<ImageProps>>({\n name: 'SkyImageField',\n inheritAttrs: false,\n props: {\n source: {\n type: String,\n required: true,\n },\n src: {\n type: String,\n default: 'src',\n },\n label: String,\n row: Object,\n },\n setup(props, { attrs }) {\n const route = useRoute()\n const hiddenTitle = useHiddenTitle()\n const title = computed<string>(() => props.label || props.source)\n const routeMeta = route.meta as SkyLayoutRouteMeta\n\n const field = computed<string>(() => {\n const v = props.row?.[props.source]\n if (!v) {\n return ''\n }\n if (typeof v !== 'object') {\n return String(v)\n }\n return (v as Record<string, string>)[props.src!] || ''\n })\n\n return () => (\n <SkyCanAccess resource={routeMeta.resource} action={['list', 'show']} column={props.source}>\n {field.value &&\n (hiddenTitle ? (\n <ElImage src={field.value} {...attrs} />\n ) : (\n <div class=\"sky-image-field\">\n {title.value && <h4>{title.value}</h4>}\n <ElImage src={field.value} {...attrs} />\n </div>\n ))}\n </SkyCanAccess>\n )\n },\n})\n"],"names":["SkyImageField","defineComponent","name","inheritAttrs","props","source","type","required","src","default","label","row","attrs","route","useRoute","hiddenTitle","useHiddenTitle","title","computed","routeMeta","field","v","_createVNode","ElImage","_mergeProps"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../src/components/image-field/index.tsx"],"sourcesContent":["import { useHiddenTitle } from '@/hooks'\nimport { ElImage, type ImageProps } from 'element-plus'\nimport { computed, defineComponent } from 'vue'\nimport { useRoute } from 'vue-router'\nimport { SkyCanAccess } from '../can-access'\nimport type { SkyLayoutRouteMeta } from '@/router'\n\nexport interface SkyImageFieldProps {\n source: string\n src?: string\n label?: string\n row?: Record<string, unknown>\n}\n\nexport const SkyImageField = defineComponent<SkyImageFieldProps & Partial<ImageProps>>({\n name: 'SkyImageField',\n inheritAttrs: false,\n props: {\n source: {\n type: String,\n required: true,\n },\n src: {\n type: String,\n default: 'src',\n },\n label: String,\n row: Object,\n },\n setup(props, { attrs }) {\n const route = useRoute()\n const hiddenTitle = useHiddenTitle()\n const title = computed<string>(() => props.label || props.source)\n const routeMeta = route.meta as SkyLayoutRouteMeta\n\n const field = computed<string>(() => {\n const v = props.row?.[props.source]\n if (!v) {\n return ''\n }\n if (typeof v !== 'object') {\n return String(v)\n }\n return (v as Record<string, string>)[props.src!] || ''\n })\n\n return () => (\n <SkyCanAccess resource={routeMeta.resource} action={['list', 'show']} column={props.source}>\n {field.value &&\n (hiddenTitle ? (\n <ElImage src={field.value} {...attrs} />\n ) : (\n <div class=\"sky-image-field\">\n {title.value && <h4>{title.value}</h4>}\n <ElImage src={field.value} {...attrs} />\n </div>\n ))}\n </SkyCanAccess>\n )\n },\n})\n"],"names":["SkyImageField","defineComponent","name","inheritAttrs","props","source","type","required","src","default","label","row","attrs","route","useRoute","hiddenTitle","useHiddenTitle","title","computed","routeMeta","field","v","_createVNode","ElImage","_mergeProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAcA,MAAAA,IAAA,gBAAAC,EAAA;AAAA,EACEC,MAAAA;AAAAA,EACAC,cAAAA;AAAAA,EACAC,OAAAA;AAAAA,IACEC,QAAAA;AAAAA,MACEC,MAAAA;AAAAA,MACAC,UAAAA;AAAAA;IAEFC,KAAAA;AAAAA,MACEF,MAAAA;AAAAA,MACAG,SAAAA;AAAAA;IAEFC,OAAAA;AAAAA,IACAC,KAAAA;AAAAA;;IAEaC,OAAAA;AAAAA,EAAM,GAAA;AACnB,UAAAC,IAAAC,EAAA,GACAC,IAAAC,EAAA,GACAC,IAAAC,EAAA,MAAAd,EAAA,SAAAA,EAAA,MAAA,GACAe,IAAAN,EAAA,MAEAO,IAAAF,EAAA,MAAA;;iBAKE,OAAAG,KAAA,uBAGAA,EAAAjB,EAAA,GAAA,KAAA,KALE;AAAA,IAMJ,CAAA;;;MAG4C,QAAA,CAAA,QAAA,MAAA;AAAA,MAA0B,QAAAA,EAAA;AAAA,IAAsB,GAAA;AAAA,MAAAK,SAAAA,MAAAA,CAAAA,EAAAA,UAAAA,IAAAA,EAAAA,GAAAA,EAAAA;AAAAA,QAE1E,KAAAW,EAAA;AAAA;QAC0B,OAAA;AAAA,MAAA,GAAA,CAAAH,EAAA,SAAAK,EAAA,MAAA,MAAA,CAAAL,EAAA,KAAA,CAAA,GAAAK,EAAAC,GAAAC,EAAA;AAAA,QAGI,KAAAJ,EAAA;AAAA;;EAMlD;AACF,CAAA;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("element-plus/es/components/button/style/css");const e=require("vue");require("../../hooks/useUser.cjs");require("../../hooks/usePermission.cjs");require("../../hooks/useMenu.cjs");require("../../hooks/useTab.cjs");require("../../hooks/useRouteKeepAlive.cjs");require("../../hooks/useSize.cjs");require("../../hooks/useLang.cjs");require("../../hooks/useTheme.cjs");require("../../hooks/useList.cjs");const a=require("../../hooks/useHiddenTitle.cjs");require("../../hooks/useForm.cjs");require("../../hooks/useShow.cjs");require("../../hooks/useReferenceArrayField.cjs");require("../../hooks/useTreeWithDetails.cjs");require("../../hooks/useFormGrid.cjs");require("../../hooks/useReferenceArrayInput.cjs");const o=require("element-plus"),q=require("vue-router"),k=require("../can-access/index.cjs"),m=e.defineComponent({name:"SkyLinkField",inheritAttrs:!1,props:{source:{type:String,required:!0},label:String,row:Object},emits:["click"],setup(r,{emit:t,attrs:u}){const c=q.useRoute(),l=a.useHiddenTitle(),s=c.meta,i=e.computed(()=>{const n=r.row?.[r.source];return n?String(n):""}),d=e.computed(()=>r.label||r.source);return()=>e.createVNode(k.SkyCanAccess,{resource:s.resource,action:["list","show"],column:r.source},{default:()=>[l?e.createVNode("div",null,[e.createVNode(o.ElButton,e.mergeProps({type:"primary",text:!0,bg:!0,onClick:()=>t("click",r.row)},u),{default:()=>[i.value]})]):e.createVNode("div",{class:"sky-link-field"},[e.createVNode("h4",null,[d.value]),e.createVNode(o.ElButton,e.mergeProps({type:"primary",text:!0,bg:!0,onClick:()=>t("click",r.row)},u),{default:()=>[i.value]})])]})}});exports.SkyLinkField=m;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("element-plus/es/components/button/style/css");const e=require("vue");require("../../hooks/useUser.cjs");require("../../hooks/usePermission.cjs");require("../../hooks/useMenu.cjs");require("../../hooks/useTab.cjs");require("../../hooks/useRouteKeepAlive.cjs");require("../../hooks/useSize.cjs");require("../../hooks/useLang.cjs");require("../../hooks/useTheme.cjs");require("../../hooks/useList.cjs");const a=require("../../hooks/useHiddenTitle.cjs");require("../../hooks/useForm.cjs");require("../../hooks/useShow.cjs");require("../../hooks/useReferenceArrayField.cjs");require("../../hooks/useTreeWithDetails.cjs");require("../../hooks/useFormGrid.cjs");require("../../hooks/useReferenceArrayInput.cjs");require("vue-i18n");const o=require("element-plus"),q=require("vue-router"),k=require("../can-access/index.cjs"),m=e.defineComponent({name:"SkyLinkField",inheritAttrs:!1,props:{source:{type:String,required:!0},label:String,row:Object},emits:["click"],setup(r,{emit:t,attrs:u}){const c=q.useRoute(),l=a.useHiddenTitle(),s=c.meta,i=e.computed(()=>{const n=r.row?.[r.source];return n?String(n):""}),d=e.computed(()=>r.label||r.source);return()=>e.createVNode(k.SkyCanAccess,{resource:s.resource,action:["list","show"],column:r.source},{default:()=>[l?e.createVNode("div",null,[e.createVNode(o.ElButton,e.mergeProps({type:"primary",text:!0,bg:!0,onClick:()=>t("click",r.row)},u),{default:()=>[i.value]})]):e.createVNode("div",{class:"sky-link-field"},[e.createVNode("h4",null,[d.value]),e.createVNode(o.ElButton,e.mergeProps({type:"primary",text:!0,bg:!0,onClick:()=>t("click",r.row)},u),{default:()=>[i.value]})])]})}});exports.SkyLinkField=m;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../src/components/link-field/index.tsx"],"sourcesContent":["import { useHiddenTitle } from '@/hooks'\nimport type { SkyLayoutRouteMeta } from '@/router'\nimport { ElButton, type ButtonProps } from 'element-plus'\nimport { computed, defineComponent } from 'vue'\nimport { useRoute } from 'vue-router'\nimport { SkyCanAccess } from '../can-access'\n\nexport interface SkyLinkFieldProps {\n source: string\n label?: string\n row?: Record<string, unknown>\n}\n\nexport const SkyLinkField = defineComponent<SkyLinkFieldProps & Partial<ButtonProps>>({\n name: 'SkyLinkField',\n inheritAttrs: false,\n props: {\n source: {\n type: String,\n required: true,\n },\n label: String,\n row: Object,\n },\n emits: ['click'],\n setup(props, { emit, attrs }) {\n const route = useRoute()\n const hiddenTitle = useHiddenTitle()\n const routeMeta = route.meta as SkyLayoutRouteMeta\n\n const field = computed<string>(() => {\n const v = props.row?.[props.source]\n if (v) {\n return String(v)\n }\n return ''\n })\n\n const title = computed(() => {\n return props.label || props.source\n })\n\n return () => (\n <SkyCanAccess resource={routeMeta.resource} action={['list', 'show']} column={props.source}>\n {hiddenTitle ? (\n <div>\n <ElButton type=\"primary\" text bg onClick={() => emit('click', props.row)} {...attrs}>\n {field.value}\n </ElButton>\n </div>\n ) : (\n <div class=\"sky-link-field\">\n <h4>{title.value}</h4>\n <ElButton type=\"primary\" text bg onClick={() => emit('click', props.row)} {...attrs}>\n {field.value}\n </ElButton>\n </div>\n )}\n </SkyCanAccess>\n )\n },\n})\n"],"names":["SkyLinkField","defineComponent","name","inheritAttrs","props","source","type","required","label","row","attrs","route","useRoute","hiddenTitle","useHiddenTitle","routeMeta","field","computed","v","title","default","_createVNode"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/components/link-field/index.tsx"],"sourcesContent":["import { useHiddenTitle } from '@/hooks'\nimport type { SkyLayoutRouteMeta } from '@/router'\nimport { ElButton, type ButtonProps } from 'element-plus'\nimport { computed, defineComponent } from 'vue'\nimport { useRoute } from 'vue-router'\nimport { SkyCanAccess } from '../can-access'\n\nexport interface SkyLinkFieldProps {\n source: string\n label?: string\n row?: Record<string, unknown>\n}\n\nexport const SkyLinkField = defineComponent<SkyLinkFieldProps & Partial<ButtonProps>>({\n name: 'SkyLinkField',\n inheritAttrs: false,\n props: {\n source: {\n type: String,\n required: true,\n },\n label: String,\n row: Object,\n },\n emits: ['click'],\n setup(props, { emit, attrs }) {\n const route = useRoute()\n const hiddenTitle = useHiddenTitle()\n const routeMeta = route.meta as SkyLayoutRouteMeta\n\n const field = computed<string>(() => {\n const v = props.row?.[props.source]\n if (v) {\n return String(v)\n }\n return ''\n })\n\n const title = computed(() => {\n return props.label || props.source\n })\n\n return () => (\n <SkyCanAccess resource={routeMeta.resource} action={['list', 'show']} column={props.source}>\n {hiddenTitle ? (\n <div>\n <ElButton type=\"primary\" text bg onClick={() => emit('click', props.row)} {...attrs}>\n {field.value}\n </ElButton>\n </div>\n ) : (\n <div class=\"sky-link-field\">\n <h4>{title.value}</h4>\n <ElButton type=\"primary\" text bg onClick={() => emit('click', props.row)} {...attrs}>\n {field.value}\n </ElButton>\n </div>\n )}\n </SkyCanAccess>\n )\n },\n})\n"],"names":["SkyLinkField","defineComponent","name","inheritAttrs","props","source","type","required","label","row","attrs","route","useRoute","hiddenTitle","useHiddenTitle","routeMeta","field","computed","v","title","default","_createVNode"],"mappings":"24BAaAA,EAAAC,EAAAA,gBAAA,CACEC,KAAAA,eACAC,aAAAA,GACAC,MAAAA,CACEC,OAAAA,CACEC,KAAAA,OACAC,SAAAA,IAEFC,MAAAA,OACAC,IAAAA,wCAGmBC,MAAAA,CAAM,EAAA,CACzB,MAAAC,EAAAC,EAAAA,SAAA,EACAC,EAAAC,EAAAA,eAAA,EACAC,EAAAJ,EAAA,KAEAK,EAAAC,EAAAA,SAAA,IAAA,2BAEE,OAAAC,YAGA,EACF,CAAA,EAEAC,EAAAF,EAAAA,SAAA,IACEb,EAAA,OAAAA,EAAA,MACF,8DAG4C,OAAA,CAAA,OAAA,MAAA,EAA0B,OAAAA,EAAA,MAAsB,EAAA,iFAC5E,KAAA,UAAA,KAAA,GAAA,GAAA,+BAEgE,EAAAM,CAAA,EAAA,CAAWU,QAAAA,IAAAA,CAAAA,EAAAA,KAAAA,CACrE,CAAA,CAAA,CAAA,EAAAC,EAAAA,YAAA,MAAA,CAAA,MAAA,6FAKE,KAAA,UAAA,KAAA,GAAA,GAAA,+BACwD,EAAAX,CAAA,EAAA,CAAWU,QAAAA,IAAAA,CAAAA,EAAAA,KAAAA,QAO7F,CACF,CAAA"}
|
|
@@ -16,10 +16,11 @@ import "../../hooks/useReferenceArrayField.mjs";
|
|
|
16
16
|
import "../../hooks/useTreeWithDetails.mjs";
|
|
17
17
|
import "../../hooks/useFormGrid.mjs";
|
|
18
18
|
import "../../hooks/useReferenceArrayInput.mjs";
|
|
19
|
+
import "vue-i18n";
|
|
19
20
|
import { ElButton as n } from "element-plus";
|
|
20
21
|
import { useRoute as k } from "vue-router";
|
|
21
22
|
import { SkyCanAccess as y } from "../can-access/index.mjs";
|
|
22
|
-
const
|
|
23
|
+
const V = /* @__PURE__ */ d({
|
|
23
24
|
name: "SkyLinkField",
|
|
24
25
|
inheritAttrs: !1,
|
|
25
26
|
props: {
|
|
@@ -65,6 +66,6 @@ const R = /* @__PURE__ */ d({
|
|
|
65
66
|
}
|
|
66
67
|
});
|
|
67
68
|
export {
|
|
68
|
-
|
|
69
|
+
V as SkyLinkField
|
|
69
70
|
};
|
|
70
71
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../src/components/link-field/index.tsx"],"sourcesContent":["import { useHiddenTitle } from '@/hooks'\nimport type { SkyLayoutRouteMeta } from '@/router'\nimport { ElButton, type ButtonProps } from 'element-plus'\nimport { computed, defineComponent } from 'vue'\nimport { useRoute } from 'vue-router'\nimport { SkyCanAccess } from '../can-access'\n\nexport interface SkyLinkFieldProps {\n source: string\n label?: string\n row?: Record<string, unknown>\n}\n\nexport const SkyLinkField = defineComponent<SkyLinkFieldProps & Partial<ButtonProps>>({\n name: 'SkyLinkField',\n inheritAttrs: false,\n props: {\n source: {\n type: String,\n required: true,\n },\n label: String,\n row: Object,\n },\n emits: ['click'],\n setup(props, { emit, attrs }) {\n const route = useRoute()\n const hiddenTitle = useHiddenTitle()\n const routeMeta = route.meta as SkyLayoutRouteMeta\n\n const field = computed<string>(() => {\n const v = props.row?.[props.source]\n if (v) {\n return String(v)\n }\n return ''\n })\n\n const title = computed(() => {\n return props.label || props.source\n })\n\n return () => (\n <SkyCanAccess resource={routeMeta.resource} action={['list', 'show']} column={props.source}>\n {hiddenTitle ? (\n <div>\n <ElButton type=\"primary\" text bg onClick={() => emit('click', props.row)} {...attrs}>\n {field.value}\n </ElButton>\n </div>\n ) : (\n <div class=\"sky-link-field\">\n <h4>{title.value}</h4>\n <ElButton type=\"primary\" text bg onClick={() => emit('click', props.row)} {...attrs}>\n {field.value}\n </ElButton>\n </div>\n )}\n </SkyCanAccess>\n )\n },\n})\n"],"names":["SkyLinkField","defineComponent","name","inheritAttrs","props","source","type","required","label","row","attrs","route","useRoute","hiddenTitle","useHiddenTitle","routeMeta","field","computed","v","title","default","_createVNode"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../src/components/link-field/index.tsx"],"sourcesContent":["import { useHiddenTitle } from '@/hooks'\nimport type { SkyLayoutRouteMeta } from '@/router'\nimport { ElButton, type ButtonProps } from 'element-plus'\nimport { computed, defineComponent } from 'vue'\nimport { useRoute } from 'vue-router'\nimport { SkyCanAccess } from '../can-access'\n\nexport interface SkyLinkFieldProps {\n source: string\n label?: string\n row?: Record<string, unknown>\n}\n\nexport const SkyLinkField = defineComponent<SkyLinkFieldProps & Partial<ButtonProps>>({\n name: 'SkyLinkField',\n inheritAttrs: false,\n props: {\n source: {\n type: String,\n required: true,\n },\n label: String,\n row: Object,\n },\n emits: ['click'],\n setup(props, { emit, attrs }) {\n const route = useRoute()\n const hiddenTitle = useHiddenTitle()\n const routeMeta = route.meta as SkyLayoutRouteMeta\n\n const field = computed<string>(() => {\n const v = props.row?.[props.source]\n if (v) {\n return String(v)\n }\n return ''\n })\n\n const title = computed(() => {\n return props.label || props.source\n })\n\n return () => (\n <SkyCanAccess resource={routeMeta.resource} action={['list', 'show']} column={props.source}>\n {hiddenTitle ? (\n <div>\n <ElButton type=\"primary\" text bg onClick={() => emit('click', props.row)} {...attrs}>\n {field.value}\n </ElButton>\n </div>\n ) : (\n <div class=\"sky-link-field\">\n <h4>{title.value}</h4>\n <ElButton type=\"primary\" text bg onClick={() => emit('click', props.row)} {...attrs}>\n {field.value}\n </ElButton>\n </div>\n )}\n </SkyCanAccess>\n )\n },\n})\n"],"names":["SkyLinkField","defineComponent","name","inheritAttrs","props","source","type","required","label","row","attrs","route","useRoute","hiddenTitle","useHiddenTitle","routeMeta","field","computed","v","title","default","_createVNode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAaA,MAAAA,IAAA,gBAAAC,EAAA;AAAA,EACEC,MAAAA;AAAAA,EACAC,cAAAA;AAAAA,EACAC,OAAAA;AAAAA,IACEC,QAAAA;AAAAA,MACEC,MAAAA;AAAAA,MACAC,UAAAA;AAAAA;IAEFC,OAAAA;AAAAA,IACAC,KAAAA;AAAAA;;;;IAGmBC,OAAAA;AAAAA,EAAM,GAAA;AACzB,UAAAC,IAAAC,EAAA,GACAC,IAAAC,EAAA,GACAC,IAAAJ,EAAA,MAEAK,IAAAC,EAAA,MAAA;;AAEE,aAAAC,gBAGA;AAAA,IACF,CAAA,GAEAC,IAAAF,EAAA,MACEb,EAAA,SAAAA,EAAA,MACF;;;MAG4C,QAAA,CAAA,QAAA,MAAA;AAAA,MAA0B,QAAAA,EAAA;AAAA,IAAsB,GAAA;AAAA;QAC5E,MAAA;AAAA,QAAA,MAAA;AAAA,QAAA,IAAA;AAAA;MAEgE,GAAAM,CAAA,GAAA;AAAA,QAAWU,SAAAA,MAAAA,CAAAA,EAAAA,KAAAA;AAAAA,MACrE,CAAA,CAAA,CAAA,IAAAC,EAAA,OAAA;AAAA,QAAA,OAAA;AAAA;QAKE,MAAA;AAAA,QAAA,MAAA;AAAA,QAAA,IAAA;AAAA;MACwD,GAAAX,CAAA,GAAA;AAAA,QAAWU,SAAAA,MAAAA,CAAAA,EAAAA,KAAAA;AAAAA;;EAO7F;AACF,CAAA;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("element-plus/es/components/form-item/style/css");require("element-plus/es/components/radio/style/css");require("element-plus/es/components/radio-group/style/css");const r=require("vue");require("../../hooks/useUser.cjs");require("../../hooks/usePermission.cjs");require("../../hooks/useMenu.cjs");require("../../hooks/useTab.cjs");require("../../hooks/useRouteKeepAlive.cjs");require("../../hooks/useSize.cjs");require("../../hooks/useLang.cjs");require("../../hooks/useTheme.cjs");require("../../hooks/useList.cjs");require("../../hooks/useHiddenTitle.cjs");const q=require("../../hooks/useForm.cjs");require("../../hooks/useShow.cjs");require("../../hooks/useReferenceArrayField.cjs");require("../../hooks/useTreeWithDetails.cjs");const m=require("../../hooks/useFormGrid.cjs");require("../../hooks/useReferenceArrayInput.cjs");const i=require("element-plus"),f=require("vue-router"),y=require("../can-access/index.cjs");function b(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!r.isVNode(e)}const S=r.defineComponent({name:"SkyRadioButtonGroupInput",inheritAttrs:!1,props:{source:{type:String,required:!0},label:String,options:Array,rules:Object,defaultValue:{type:[String,Number],default:""}},setup(e,{attrs:l}){const n=f.useRoute(),c=m.useFormGrid(),{formData:u,editData:a}=q.useForm(),s=n.meta,d=r.computed(()=>e.label||e.source);return typeof u[e.source]>"u"&&(u[e.source]=e.defaultValue),a.value&&(u[e.source]=a.value[e.source]),()=>{let o;return r.createVNode(y.SkyCanAccess,{resource:s.resource,action:["create","edit"],column:e.source},{default:()=>[r.createVNode(i.ElFormItem,{label:d.value,prop:e.source,rules:e.rules,style:c?`grid-area: ${e.source}`:""},{default:()=>[r.createVNode(i.ElRadioGroup,r.mergeProps({modelValue:u[e.source],"onUpdate:modelValue":t=>u[e.source]=t},l),b(o=e.options.map(t=>r.h(i.ElRadio,{key:t.value,value:t.value},{default:()=>t.label})))?o:{default:()=>[o]})]})]})}}});exports.SkyRadioButtonGroupInput=S;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("element-plus/es/components/form-item/style/css");require("element-plus/es/components/radio/style/css");require("element-plus/es/components/radio-group/style/css");const r=require("vue");require("../../hooks/useUser.cjs");require("../../hooks/usePermission.cjs");require("../../hooks/useMenu.cjs");require("../../hooks/useTab.cjs");require("../../hooks/useRouteKeepAlive.cjs");require("../../hooks/useSize.cjs");require("../../hooks/useLang.cjs");require("../../hooks/useTheme.cjs");require("../../hooks/useList.cjs");require("../../hooks/useHiddenTitle.cjs");const q=require("../../hooks/useForm.cjs");require("../../hooks/useShow.cjs");require("../../hooks/useReferenceArrayField.cjs");require("../../hooks/useTreeWithDetails.cjs");const m=require("../../hooks/useFormGrid.cjs");require("../../hooks/useReferenceArrayInput.cjs");require("vue-i18n");const i=require("element-plus"),f=require("vue-router"),y=require("../can-access/index.cjs");function b(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!r.isVNode(e)}const S=r.defineComponent({name:"SkyRadioButtonGroupInput",inheritAttrs:!1,props:{source:{type:String,required:!0},label:String,options:Array,rules:Object,defaultValue:{type:[String,Number],default:""}},setup(e,{attrs:l}){const n=f.useRoute(),c=m.useFormGrid(),{formData:u,editData:a}=q.useForm(),s=n.meta,d=r.computed(()=>e.label||e.source);return typeof u[e.source]>"u"&&(u[e.source]=e.defaultValue),a.value&&(u[e.source]=a.value[e.source]),()=>{let o;return r.createVNode(y.SkyCanAccess,{resource:s.resource,action:["create","edit"],column:e.source},{default:()=>[r.createVNode(i.ElFormItem,{label:d.value,prop:e.source,rules:e.rules,style:c?`grid-area: ${e.source}`:""},{default:()=>[r.createVNode(i.ElRadioGroup,r.mergeProps({modelValue:u[e.source],"onUpdate:modelValue":t=>u[e.source]=t},l),b(o=e.options.map(t=>r.h(i.ElRadio,{key:t.value,value:t.value},{default:()=>t.label})))?o:{default:()=>[o]})]})]})}}});exports.SkyRadioButtonGroupInput=S;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../src/components/radio-button-group-input/index.tsx"],"sourcesContent":["import { useForm, useFormGrid } from '@/hooks'\nimport type { SkyLayoutRouteMeta } from '@/router'\nimport {\n ElFormItem,\n ElRadio,\n ElRadioGroup,\n type FormItemRule,\n type RadioGroupProps,\n} from 'element-plus'\nimport { computed, defineComponent, h, type PropType } from 'vue'\nimport { useRoute } from 'vue-router'\nimport { SkyCanAccess } from '../can-access'\n\nexport interface SkyRadioButtonGroupInputOptionItem {\n value: string | number\n label: string\n disabled?: boolean\n}\n\nexport interface SkyRadioButtonGroupInputProps {\n source: string\n label?: string\n options: SkyRadioButtonGroupInputOptionItem[]\n rules?: FormItemRule | FormItemRule[]\n defaultValue?: string | number\n}\n\nexport const SkyRadioButtonGroupInput = defineComponent<\n SkyRadioButtonGroupInputProps & Partial<RadioGroupProps>\n>({\n name: 'SkyRadioButtonGroupInput',\n inheritAttrs: false,\n props: {\n source: {\n type: String,\n required: true,\n },\n label: String,\n options: Array as PropType<SkyRadioButtonGroupInputOptionItem[]>,\n rules: Object,\n defaultValue: {\n type: [String, Number],\n default: '',\n },\n },\n setup(props, { attrs }) {\n const route = useRoute()\n const formGrid = useFormGrid()\n const { formData, editData } = useForm()!\n const routeMeta = route.meta as SkyLayoutRouteMeta\n\n const title = computed<string>(() => props.label || props.source)\n\n if (typeof formData[props.source] === 'undefined') {\n formData[props.source] = props.defaultValue!\n }\n\n if (editData.value) {\n formData[props.source] = editData.value[props.source]\n }\n\n return () => (\n <SkyCanAccess resource={routeMeta.resource} action={['create', 'edit']} column={props.source}>\n <ElFormItem\n label={title.value}\n prop={props.source}\n rules={props.rules}\n style={formGrid ? `grid-area: ${props.source}` : ''}\n >\n <ElRadioGroup\n modelValue={formData[props.source] as SkyRadioButtonGroupInputOptionItem['value']}\n onUpdate:modelValue={(v) =>\n (formData[props.source] = v as SkyRadioButtonGroupInputOptionItem['value'])\n }\n {...attrs}\n >\n {props.options.map((option) =>\n h(\n ElRadio,\n { key: option.value, value: option.value },\n { default: () => option.label },\n ),\n )}\n </ElRadioGroup>\n </ElFormItem>\n </SkyCanAccess>\n )\n },\n})\n"],"names":["_isSlot","s","_isVNode","SkyRadioButtonGroupInput","defineComponent","name","inheritAttrs","props","source","type","required","label","options","rules","defaultValue","default","attrs","route","useRoute","formGrid","useFormGrid","editData","routeMeta","title","computed","formData","_slot","option","h","ElRadio"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/components/radio-button-group-input/index.tsx"],"sourcesContent":["import { useForm, useFormGrid } from '@/hooks'\nimport type { SkyLayoutRouteMeta } from '@/router'\nimport {\n ElFormItem,\n ElRadio,\n ElRadioGroup,\n type FormItemRule,\n type RadioGroupProps,\n} from 'element-plus'\nimport { computed, defineComponent, h, type PropType } from 'vue'\nimport { useRoute } from 'vue-router'\nimport { SkyCanAccess } from '../can-access'\n\nexport interface SkyRadioButtonGroupInputOptionItem {\n value: string | number\n label: string\n disabled?: boolean\n}\n\nexport interface SkyRadioButtonGroupInputProps {\n source: string\n label?: string\n options: SkyRadioButtonGroupInputOptionItem[]\n rules?: FormItemRule | FormItemRule[]\n defaultValue?: string | number\n}\n\nexport const SkyRadioButtonGroupInput = defineComponent<\n SkyRadioButtonGroupInputProps & Partial<RadioGroupProps>\n>({\n name: 'SkyRadioButtonGroupInput',\n inheritAttrs: false,\n props: {\n source: {\n type: String,\n required: true,\n },\n label: String,\n options: Array as PropType<SkyRadioButtonGroupInputOptionItem[]>,\n rules: Object,\n defaultValue: {\n type: [String, Number],\n default: '',\n },\n },\n setup(props, { attrs }) {\n const route = useRoute()\n const formGrid = useFormGrid()\n const { formData, editData } = useForm()!\n const routeMeta = route.meta as SkyLayoutRouteMeta\n\n const title = computed<string>(() => props.label || props.source)\n\n if (typeof formData[props.source] === 'undefined') {\n formData[props.source] = props.defaultValue!\n }\n\n if (editData.value) {\n formData[props.source] = editData.value[props.source]\n }\n\n return () => (\n <SkyCanAccess resource={routeMeta.resource} action={['create', 'edit']} column={props.source}>\n <ElFormItem\n label={title.value}\n prop={props.source}\n rules={props.rules}\n style={formGrid ? `grid-area: ${props.source}` : ''}\n >\n <ElRadioGroup\n modelValue={formData[props.source] as SkyRadioButtonGroupInputOptionItem['value']}\n onUpdate:modelValue={(v) =>\n (formData[props.source] = v as SkyRadioButtonGroupInputOptionItem['value'])\n }\n {...attrs}\n >\n {props.options.map((option) =>\n h(\n ElRadio,\n { key: option.value, value: option.value },\n { default: () => option.label },\n ),\n )}\n </ElRadioGroup>\n </ElFormItem>\n </SkyCanAccess>\n )\n },\n})\n"],"names":["_isSlot","s","_isVNode","SkyRadioButtonGroupInput","defineComponent","name","inheritAttrs","props","source","type","required","label","options","rules","defaultValue","default","attrs","route","useRoute","formGrid","useFormGrid","editData","routeMeta","title","computed","formData","_slot","option","h","ElRadio"],"mappings":"wgCAW4C,SAAAA,EAAAC,EAAA,CAAA,OAAA,OAAAA,GAAA,YAAA,OAAA,UAAA,SAAA,KAAAA,CAAA,IAAA,mBAAA,CAAAC,EAAAA,QAAAD,CAAA,CAAA,CAgB5C,MAAAE,EAAAC,EAAAA,gBAAA,CAGEC,KAAAA,2BACAC,aAAAA,GACAC,MAAAA,CACEC,OAAAA,CACEC,KAAAA,OACAC,SAAAA,IAEFC,MAAAA,OACAC,QAAAA,MACAC,MAAAA,OACAC,aAAAA,CACEL,KAAAA,CAAAA,OAAAA,MAAAA,EACAM,QAAAA,EACF,YAEaC,MAAAA,CAAM,EAAA,CACnB,MAAAC,EAAAC,EAAAA,SAAA,EACAC,EAAAC,EAAAA,YAAA,cACkBC,SAAAA,eAClBC,EAAAL,EAAA,KAEAM,EAAAC,EAAAA,SAAA,IAAAjB,EAAA,OAAAA,EAAA,MAAA,wEAOEkB,EAAAA,EAAAA,MAAAA,EAAAA,EAAAA,MAAAA,EAAAA,MAAAA,QAGK,IAAAC,2DACqC,OAAA,CAAA,SAAA,MAAA,EAA4B,OAAAnB,EAAA,MAAsB,EAAA,CAAAQ,QAAAA,IAAAA,CAAAA,EAAAA,YAAAA,aAAAA,2CAItE,MAAAI,EAAA,cAAAZ,EAAA,MAAA,GAAA,EACiC,EAAA,CAAAQ,QAAAA,IAAAA,CAAAA,cAAAA,EAAAA,aAAAA,EAAAA,WAAAA,CAAA,WAAAU,EAAAlB,EAAA,MAAA,wCAK4B,EAAAS,CAAA,EAAAhB,EAAA0B,EAAAnB,EAAA,QAAA,IAAAoB,GAAAC,EAAAA,EAAAC,UAAA,0BAOhC,EAAA,CACvCd,QAAAA,IAAAA,EAAAA,4BAEL,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAKX,CACF,CAAA"}
|
|
@@ -18,13 +18,14 @@ import "../../hooks/useReferenceArrayField.mjs";
|
|
|
18
18
|
import "../../hooks/useTreeWithDetails.mjs";
|
|
19
19
|
import { useFormGrid as S } from "../../hooks/useFormGrid.mjs";
|
|
20
20
|
import "../../hooks/useReferenceArrayInput.mjs";
|
|
21
|
+
import "vue-i18n";
|
|
21
22
|
import { ElFormItem as g, ElRadioGroup as v, ElRadio as V } from "element-plus";
|
|
22
23
|
import { useRoute as G } from "vue-router";
|
|
23
24
|
import { SkyCanAccess as R } from "../can-access/index.mjs";
|
|
24
25
|
function j(e) {
|
|
25
26
|
return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !y(e);
|
|
26
27
|
}
|
|
27
|
-
const
|
|
28
|
+
const Q = /* @__PURE__ */ d({
|
|
28
29
|
name: "SkyRadioButtonGroupInput",
|
|
29
30
|
inheritAttrs: !1,
|
|
30
31
|
props: {
|
|
@@ -77,6 +78,6 @@ const L = /* @__PURE__ */ d({
|
|
|
77
78
|
}
|
|
78
79
|
});
|
|
79
80
|
export {
|
|
80
|
-
|
|
81
|
+
Q as SkyRadioButtonGroupInput
|
|
81
82
|
};
|
|
82
83
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../src/components/radio-button-group-input/index.tsx"],"sourcesContent":["import { useForm, useFormGrid } from '@/hooks'\nimport type { SkyLayoutRouteMeta } from '@/router'\nimport {\n ElFormItem,\n ElRadio,\n ElRadioGroup,\n type FormItemRule,\n type RadioGroupProps,\n} from 'element-plus'\nimport { computed, defineComponent, h, type PropType } from 'vue'\nimport { useRoute } from 'vue-router'\nimport { SkyCanAccess } from '../can-access'\n\nexport interface SkyRadioButtonGroupInputOptionItem {\n value: string | number\n label: string\n disabled?: boolean\n}\n\nexport interface SkyRadioButtonGroupInputProps {\n source: string\n label?: string\n options: SkyRadioButtonGroupInputOptionItem[]\n rules?: FormItemRule | FormItemRule[]\n defaultValue?: string | number\n}\n\nexport const SkyRadioButtonGroupInput = defineComponent<\n SkyRadioButtonGroupInputProps & Partial<RadioGroupProps>\n>({\n name: 'SkyRadioButtonGroupInput',\n inheritAttrs: false,\n props: {\n source: {\n type: String,\n required: true,\n },\n label: String,\n options: Array as PropType<SkyRadioButtonGroupInputOptionItem[]>,\n rules: Object,\n defaultValue: {\n type: [String, Number],\n default: '',\n },\n },\n setup(props, { attrs }) {\n const route = useRoute()\n const formGrid = useFormGrid()\n const { formData, editData } = useForm()!\n const routeMeta = route.meta as SkyLayoutRouteMeta\n\n const title = computed<string>(() => props.label || props.source)\n\n if (typeof formData[props.source] === 'undefined') {\n formData[props.source] = props.defaultValue!\n }\n\n if (editData.value) {\n formData[props.source] = editData.value[props.source]\n }\n\n return () => (\n <SkyCanAccess resource={routeMeta.resource} action={['create', 'edit']} column={props.source}>\n <ElFormItem\n label={title.value}\n prop={props.source}\n rules={props.rules}\n style={formGrid ? `grid-area: ${props.source}` : ''}\n >\n <ElRadioGroup\n modelValue={formData[props.source] as SkyRadioButtonGroupInputOptionItem['value']}\n onUpdate:modelValue={(v) =>\n (formData[props.source] = v as SkyRadioButtonGroupInputOptionItem['value'])\n }\n {...attrs}\n >\n {props.options.map((option) =>\n h(\n ElRadio,\n { key: option.value, value: option.value },\n { default: () => option.label },\n ),\n )}\n </ElRadioGroup>\n </ElFormItem>\n </SkyCanAccess>\n )\n },\n})\n"],"names":["_isSlot","s","_isVNode","SkyRadioButtonGroupInput","defineComponent","name","inheritAttrs","props","source","type","required","label","options","rules","defaultValue","default","attrs","route","useRoute","formGrid","useFormGrid","editData","routeMeta","title","computed","formData","_slot","option","h","ElRadio"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../src/components/radio-button-group-input/index.tsx"],"sourcesContent":["import { useForm, useFormGrid } from '@/hooks'\nimport type { SkyLayoutRouteMeta } from '@/router'\nimport {\n ElFormItem,\n ElRadio,\n ElRadioGroup,\n type FormItemRule,\n type RadioGroupProps,\n} from 'element-plus'\nimport { computed, defineComponent, h, type PropType } from 'vue'\nimport { useRoute } from 'vue-router'\nimport { SkyCanAccess } from '../can-access'\n\nexport interface SkyRadioButtonGroupInputOptionItem {\n value: string | number\n label: string\n disabled?: boolean\n}\n\nexport interface SkyRadioButtonGroupInputProps {\n source: string\n label?: string\n options: SkyRadioButtonGroupInputOptionItem[]\n rules?: FormItemRule | FormItemRule[]\n defaultValue?: string | number\n}\n\nexport const SkyRadioButtonGroupInput = defineComponent<\n SkyRadioButtonGroupInputProps & Partial<RadioGroupProps>\n>({\n name: 'SkyRadioButtonGroupInput',\n inheritAttrs: false,\n props: {\n source: {\n type: String,\n required: true,\n },\n label: String,\n options: Array as PropType<SkyRadioButtonGroupInputOptionItem[]>,\n rules: Object,\n defaultValue: {\n type: [String, Number],\n default: '',\n },\n },\n setup(props, { attrs }) {\n const route = useRoute()\n const formGrid = useFormGrid()\n const { formData, editData } = useForm()!\n const routeMeta = route.meta as SkyLayoutRouteMeta\n\n const title = computed<string>(() => props.label || props.source)\n\n if (typeof formData[props.source] === 'undefined') {\n formData[props.source] = props.defaultValue!\n }\n\n if (editData.value) {\n formData[props.source] = editData.value[props.source]\n }\n\n return () => (\n <SkyCanAccess resource={routeMeta.resource} action={['create', 'edit']} column={props.source}>\n <ElFormItem\n label={title.value}\n prop={props.source}\n rules={props.rules}\n style={formGrid ? `grid-area: ${props.source}` : ''}\n >\n <ElRadioGroup\n modelValue={formData[props.source] as SkyRadioButtonGroupInputOptionItem['value']}\n onUpdate:modelValue={(v) =>\n (formData[props.source] = v as SkyRadioButtonGroupInputOptionItem['value'])\n }\n {...attrs}\n >\n {props.options.map((option) =>\n h(\n ElRadio,\n { key: option.value, value: option.value },\n { default: () => option.label },\n ),\n )}\n </ElRadioGroup>\n </ElFormItem>\n </SkyCanAccess>\n )\n },\n})\n"],"names":["_isSlot","s","_isVNode","SkyRadioButtonGroupInput","defineComponent","name","inheritAttrs","props","source","type","required","label","options","rules","defaultValue","default","attrs","route","useRoute","formGrid","useFormGrid","editData","routeMeta","title","computed","formData","_slot","option","h","ElRadio"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAW4C,SAAAA,EAAAC,GAAA;AAAA,SAAA,OAAAA,KAAA,cAAA,OAAA,UAAA,SAAA,KAAAA,CAAA,MAAA,qBAAA,CAAAC,EAAAD,CAAA;AAAA;AAgB5C,MAAAE,IAAA,gBAAAC,EAAA;AAAA,EAGEC,MAAAA;AAAAA,EACAC,cAAAA;AAAAA,EACAC,OAAAA;AAAAA,IACEC,QAAAA;AAAAA,MACEC,MAAAA;AAAAA,MACAC,UAAAA;AAAAA;IAEFC,OAAAA;AAAAA,IACAC,SAAAA;AAAAA,IACAC,OAAAA;AAAAA,IACAC,cAAAA;AAAAA,MACEL,MAAAA,CAAAA,QAAAA,MAAAA;AAAAA,MACAM,SAAAA;AAAAA,IACF;AAAA;;IAEaC,OAAAA;AAAAA,EAAM,GAAA;AACnB,UAAAC,IAAAC,EAAA,GACAC,IAAAC,EAAA;;MACkBC,UAAAA;AAAAA,aAClBC,IAAAL,EAAA,MAEAM,IAAAC,EAAA,MAAAjB,EAAA,SAAAA,EAAA,MAAA;mFAOEkB,EAAAA,EAAAA,MAAAA,IAAAA,EAAAA,MAAAA,EAAAA,MAAAA;AAGK,UAAAC;;;QACqC,QAAA,CAAA,UAAA,MAAA;AAAA,QAA4B,QAAAnB,EAAA;AAAA,MAAsB,GAAA;AAAA,QAAAQ,SAAAA,MAAAA,CAAAA,EAAAA,GAAAA;AAAAA;;;UAItE,OAAAI,IAAA,cAAAZ,EAAA,MAAA,KAAA;AAAA,QACiC,GAAA;AAAA,UAAAQ,SAAAA,MAAAA,CAAAA,EAAAA,GAAAA,EAAAA;AAAAA,YAAA,YAAAU,EAAAlB,EAAA,MAAA;AAAA;UAK4B,GAAAS,CAAA,GAAAhB,EAAA0B,IAAAnB,EAAA,QAAA,IAAA,CAAAoB,MAAAC,EAAAC,GAAA;AAAA;;UAOhC,GAAA;AAAA,YACvCd,SAAAA,MAAAA,EAAAA;AAAAA;;UAEL,CAAA,CAAA;AAAA,QAAA,CAAA,CAAA;AAAA,MAAA,CAAA;AAAA;EAKX;AACF,CAAA;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("element-plus/es/components/button/style/css");const e=require("vue"),u=require("element-plus"),S=require("@vueuse/core"),d=require("vue-router");require("../../hooks/useUser.cjs");require("../../hooks/usePermission.cjs");require("../../hooks/useMenu.cjs");require("../../hooks/useTab.cjs");require("../../hooks/useRouteKeepAlive.cjs");require("../../hooks/useSize.cjs");require("../../hooks/useLang.cjs");require("../../hooks/useTheme.cjs");require("../../hooks/useList.cjs");const k=require("../../hooks/useHiddenTitle.cjs");require("../../hooks/useForm.cjs");require("../../hooks/useShow.cjs");require("../../hooks/useReferenceArrayField.cjs");require("../../hooks/useTreeWithDetails.cjs");require("../../hooks/useFormGrid.cjs");require("../../hooks/useReferenceArrayInput.cjs");const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("element-plus/es/components/button/style/css");const e=require("vue"),u=require("element-plus"),S=require("@vueuse/core"),d=require("vue-router");require("../../hooks/useUser.cjs");require("../../hooks/usePermission.cjs");require("../../hooks/useMenu.cjs");require("../../hooks/useTab.cjs");require("../../hooks/useRouteKeepAlive.cjs");require("../../hooks/useSize.cjs");require("../../hooks/useLang.cjs");require("../../hooks/useTheme.cjs");require("../../hooks/useList.cjs");const k=require("../../hooks/useHiddenTitle.cjs");require("../../hooks/useForm.cjs");require("../../hooks/useShow.cjs");require("../../hooks/useReferenceArrayField.cjs");require("../../hooks/useTreeWithDetails.cjs");require("../../hooks/useFormGrid.cjs");require("../../hooks/useReferenceArrayInput.cjs");const q=require("../../setup/index.cjs"),b=require("../can-access/index.cjs"),h=e.defineComponent({name:"SkyReferenceField",inheritAttrs:!1,props:{reference:{type:String,required:!0},source:{type:String,required:!0},id:{type:String,default:"id"},name:{type:String,default:"name"},label:String,row:Object},setup(r,{attrs:n}){const o=d.useRouter(),f=d.useRoute(),m=k.useHiddenTitle(),c=e.computed(()=>r.label||r.source),g=f.meta;let a;const{isLoading:y,state:v}=S.useAsyncState(async()=>{const t=r.row?.[r.source];if(t)return a=new AbortController,q.skyConfig.dataProvider?.getOne?.(r.reference,{id:t,signal:a.signal})},void 0,{immediate:!0}),i=e.computed(()=>v.value?.data?.[r.name]),l=()=>{const t=q.skyConfig.getShowRouteName(r.reference),s=r.row?.[r.id];s&&o.hasRoute(t)&&o.push({name:t,params:{id:String(s)}})};return()=>e.createVNode(b.SkyCanAccess,{resource:g.resource,action:["list","show"],column:r.source},{default:()=>[i.value&&e.withDirectives(e.createVNode("div",{class:"sky-reference-field"},[m?e.createVNode(u.ElButton,e.mergeProps({type:"primary",text:!0,bg:!0,onClick:l},n),{default:()=>[i.value]}):e.createVNode(e.Fragment,null,[c.value&&e.createVNode("h4",null,[c.value]),e.createVNode(u.ElButton,e.mergeProps({type:"primary",text:!0,bg:!0,onClick:l},n),{default:()=>[i.value]})])]),[[u.ElLoadingDirective,y.value]])]})}});exports.SkyReferenceField=h;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -19,8 +19,8 @@ import "../../hooks/useReferenceArrayField.mjs";
|
|
|
19
19
|
import "../../hooks/useTreeWithDetails.mjs";
|
|
20
20
|
import "../../hooks/useFormGrid.mjs";
|
|
21
21
|
import "../../hooks/useReferenceArrayInput.mjs";
|
|
22
|
-
import { SkyCanAccess as F } from "../can-access/index.mjs";
|
|
23
22
|
import { skyConfig as f } from "../../setup/index.mjs";
|
|
23
|
+
import { SkyCanAccess as F } from "../can-access/index.mjs";
|
|
24
24
|
const Z = /* @__PURE__ */ h({
|
|
25
25
|
name: "SkyReferenceField",
|
|
26
26
|
inheritAttrs: !1,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue");require("../../hooks/useUser.cjs");require("../../hooks/usePermission.cjs");require("../../hooks/useMenu.cjs");require("../../hooks/useTab.cjs");require("../../hooks/useRouteKeepAlive.cjs");require("../../hooks/useSize.cjs");require("../../hooks/useLang.cjs");require("../../hooks/useTheme.cjs");require("../../hooks/useList.cjs");require("../../hooks/useHiddenTitle.cjs");require("../../hooks/useForm.cjs");const o=require("../../hooks/useShow.cjs");require("../../hooks/useReferenceArrayField.cjs");require("../../hooks/useTreeWithDetails.cjs");require("../../hooks/useFormGrid.cjs");require("../../hooks/useReferenceArrayInput.cjs");const t=e.defineComponent({name:"SkyShowSimpleLayout",setup(q,{slots:r}){const{data:u}=o.useShow();return()=>e.createVNode("div",{class:"sky-show-simple-layout"},[r.default?.().map(i=>e.cloneVNode(i,{row:u.value?.data}))])}});exports.SkyShowSimpleLayout=t;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue");require("../../hooks/useUser.cjs");require("../../hooks/usePermission.cjs");require("../../hooks/useMenu.cjs");require("../../hooks/useTab.cjs");require("../../hooks/useRouteKeepAlive.cjs");require("../../hooks/useSize.cjs");require("../../hooks/useLang.cjs");require("../../hooks/useTheme.cjs");require("../../hooks/useList.cjs");require("../../hooks/useHiddenTitle.cjs");require("../../hooks/useForm.cjs");const o=require("../../hooks/useShow.cjs");require("../../hooks/useReferenceArrayField.cjs");require("../../hooks/useTreeWithDetails.cjs");require("../../hooks/useFormGrid.cjs");require("../../hooks/useReferenceArrayInput.cjs");require("vue-i18n");require("element-plus");const t=e.defineComponent({name:"SkyShowSimpleLayout",setup(q,{slots:r}){const{data:u}=o.useShow();return()=>e.createVNode("div",{class:"sky-show-simple-layout"},[r.default?.().map(i=>e.cloneVNode(i,{row:u.value?.data}))])}});exports.SkyShowSimpleLayout=t;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../src/components/show-simple-layout/index.tsx"],"sourcesContent":["import { useShow } from '@/hooks'\nimport { cloneVNode, defineComponent } from 'vue'\n\nexport const SkyShowSimpleLayout = defineComponent({\n name: 'SkyShowSimpleLayout',\n setup(_props, { slots }) {\n const { data } = useShow()!\n\n // h(vnode.type as Component, { key: i, row, ...vnode.props }, (vnode.children as Slots)?.default) 等效于 cloneVNode(vnode, { row... })\n return () => (\n <div class=\"sky-show-simple-layout\">\n {slots.default?.().map((vnode) => cloneVNode(vnode, { row: data.value?.data }))}\n </div>\n )\n },\n})\n"],"names":["SkyShowSimpleLayout","defineComponent","name","setup","_props","slots","data","useShow","_createVNode","default","map","vnode","cloneVNode","row","value"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/components/show-simple-layout/index.tsx"],"sourcesContent":["import { useShow } from '@/hooks'\nimport { cloneVNode, defineComponent } from 'vue'\n\nexport const SkyShowSimpleLayout = defineComponent({\n name: 'SkyShowSimpleLayout',\n setup(_props, { slots }) {\n const { data } = useShow()!\n\n // h(vnode.type as Component, { key: i, row, ...vnode.props }, (vnode.children as Slots)?.default) 等效于 cloneVNode(vnode, { row... })\n return () => (\n <div class=\"sky-show-simple-layout\">\n {slots.default?.().map((vnode) => cloneVNode(vnode, { row: data.value?.data }))}\n </div>\n )\n },\n})\n"],"names":["SkyShowSimpleLayout","defineComponent","name","setup","_props","slots","data","useShow","_createVNode","default","map","vnode","cloneVNode","row","value"],"mappings":"+wBAGO,MAAMA,EAAsBC,EAAAA,gBAAgB,CACjDC,KAAM,sBACNC,MAAMC,EAAQ,CAAEC,MAAAA,CAAM,EAAG,CACvB,KAAM,CAAEC,KAAAA,GAASC,UAAO,EAGxB,MAAO,IAAAC,EAAAA,YAAA,MAAA,CAAA,MAAA,wBAAA,EAAA,CAEFH,EAAMI,UAAO,EAAKC,IAAKC,GAAUC,EAAAA,WAAWD,EAAO,CAAEE,IAAKP,EAAKQ,OAAOR,KAAM,CAAC,CAAC,CAAA,CAGrF,CACF,CAAC"}
|