@gct-paas/design-web 0.1.4-dev.1 → 0.1.4-dev.10
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/index.esm.min.mjs +1606 -0
- package/dist/index.min.cjs +57 -1
- package/dist/index.min.css +1 -0
- package/dist/index.system.min.js +57 -1
- package/es/_virtual/_plugin-vue_export-helper.mjs +9 -0
- package/es/components/I18nSelect/index.d.ts +7 -0
- package/es/components/I18nSelect/src/i18n-modal.vue.d.ts +21 -0
- package/es/components/I18nSelect/src/i18n-modal.vue.mjs +151 -0
- package/es/components/I18nSelect/src/i18n-modal.vue2.mjs +5 -0
- package/es/components/I18nSelect/src/i18n-select-btn.css +58 -0
- package/es/components/I18nSelect/src/i18n-select-btn.vue.d.ts +18 -0
- package/es/components/I18nSelect/src/i18n-select-btn.vue.mjs +7 -0
- package/es/components/I18nSelect/src/i18n-select-btn.vue2.mjs +138 -0
- package/es/components/I18nSelect/src/i18n-select-container.css +6 -0
- package/es/components/I18nSelect/src/i18n-select-container.vue.d.ts +10 -0
- package/es/components/I18nSelect/src/i18n-select-container.vue.mjs +7 -0
- package/es/components/I18nSelect/src/i18n-select-container.vue2.mjs +250 -0
- package/es/components/I18nSelect/src/i18n-select-input-form.vue.d.ts +15 -0
- package/es/components/I18nSelect/src/i18n-select-input-form.vue.mjs +57 -0
- package/es/components/I18nSelect/src/i18n-select-input-form.vue2.mjs +5 -0
- package/es/components/I18nSelect/src/i18n-select-input.css +3 -0
- package/es/components/I18nSelect/src/i18n-select-input.vue.d.ts +51 -0
- package/es/components/I18nSelect/src/i18n-select-input.vue.mjs +7 -0
- package/es/components/I18nSelect/src/i18n-select-input.vue2.mjs +129 -0
- package/es/components/{test-com/test-com.d.ts → I18nSelect/src/i18n-select-modal.vue.d.ts} +3 -2
- package/es/components/I18nSelect/src/i18n-select-modal.vue.mjs +21 -0
- package/es/components/I18nSelect/src/i18n-select-modal.vue2.mjs +5 -0
- package/es/components/I18nSelect/src/i18n-select-textarea-form.vue.d.ts +15 -0
- package/es/components/I18nSelect/src/i18n-select-textarea-form.vue.mjs +57 -0
- package/es/components/I18nSelect/src/i18n-select-textarea-form.vue2.mjs +5 -0
- package/es/components/I18nSelect/src/i18n-select-textarea.css +17 -0
- package/es/components/I18nSelect/src/i18n-select-textarea.vue.d.ts +26 -0
- package/es/components/I18nSelect/src/i18n-select-textarea.vue.mjs +7 -0
- package/es/components/I18nSelect/src/i18n-select-textarea.vue2.mjs +93 -0
- package/es/components/I18nSelect/src/useI18nSelect.d.ts +13 -0
- package/es/components/I18nSelect/src/useI18nSelect.mjs +51 -0
- package/es/components/index.d.ts +1 -3
- package/es/index.d.ts +1 -0
- package/es/index.mjs +9 -7
- package/es/types/index.d.ts +4 -2
- package/package.json +17 -12
- package/dist/design-web.css +0 -1
- package/es/components/index.mjs +0 -4
- package/es/components/test-com/test-com.mjs +0 -21
- package/es/components/test-com/test-com.scss +0 -3
- package/es/components/test-vue-com/test-vue-com.vue +0 -15
- package/es/components/test-vue-com/test-vue-com.vue.d.ts +0 -2
- package/es/vite-env.d.ts +0 -1
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { defineComponent, ref, reactive, computed, watch, resolveComponent, openBlock, createBlock, normalizeClass, withCtx, createVNode, mergeProps, createElementVNode, toDisplayString, createElementBlock, Fragment, renderList } from 'vue';
|
|
2
|
+
import { isEmpty } from 'lodash-es';
|
|
3
|
+
import { useI18nSelect } from './useI18nSelect.mjs';
|
|
4
|
+
|
|
5
|
+
const _hoisted_1 = { class: "i18n-tooltip-title" };
|
|
6
|
+
const _hoisted_2 = { style: { "margin-left": "4px" } };
|
|
7
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
8
|
+
__name: "i18n-select-btn",
|
|
9
|
+
props: {
|
|
10
|
+
i18nValue: {},
|
|
11
|
+
buttonExtraProps: {},
|
|
12
|
+
size: {},
|
|
13
|
+
i18nModalKey: {},
|
|
14
|
+
simpleBtn: { type: Boolean },
|
|
15
|
+
btnHeight: {},
|
|
16
|
+
btnWidth: {}
|
|
17
|
+
},
|
|
18
|
+
emits: ["on-select-i18n", "closed"],
|
|
19
|
+
setup(__props, { emit: __emit }) {
|
|
20
|
+
const getEnableLocaleList = ref();
|
|
21
|
+
const i18nInstance = useI18nSelect();
|
|
22
|
+
const props = __props;
|
|
23
|
+
const emit = __emit;
|
|
24
|
+
const i18nMap = reactive({});
|
|
25
|
+
const isHighlight = computed(() => {
|
|
26
|
+
return !isEmpty(props.i18nValue);
|
|
27
|
+
});
|
|
28
|
+
const getTableData = async (keyword) => {
|
|
29
|
+
const result = await _api.apaas.i18NInfo.getPageList({
|
|
30
|
+
pageNo: 1,
|
|
31
|
+
pageSize: 20,
|
|
32
|
+
searchKey: keyword
|
|
33
|
+
});
|
|
34
|
+
if (result && result.data) {
|
|
35
|
+
const row = result.data.find((item) => item.key === props.i18nValue);
|
|
36
|
+
if (row) {
|
|
37
|
+
Object.assign(
|
|
38
|
+
i18nMap,
|
|
39
|
+
Object.fromEntries(
|
|
40
|
+
Object.entries(JSON.parse(row.info)).map(([_, item]) => [
|
|
41
|
+
item.locale,
|
|
42
|
+
item.info
|
|
43
|
+
])
|
|
44
|
+
)
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
watch(
|
|
50
|
+
() => props.i18nValue,
|
|
51
|
+
() => {
|
|
52
|
+
if (!isEmpty(props.i18nValue)) {
|
|
53
|
+
getTableData(props.i18nValue);
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
immediate: true
|
|
58
|
+
}
|
|
59
|
+
);
|
|
60
|
+
const handleOpenI18nSelectModal = () => {
|
|
61
|
+
i18nInstance.open({
|
|
62
|
+
i18nModalKey: props.i18nModalKey,
|
|
63
|
+
saveCallback: (params) => {
|
|
64
|
+
emit("on-select-i18n", { ...params });
|
|
65
|
+
},
|
|
66
|
+
destroyCallback: () => {
|
|
67
|
+
emit("closed");
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
};
|
|
71
|
+
return (_ctx, _cache) => {
|
|
72
|
+
const _component_Icon = resolveComponent("Icon");
|
|
73
|
+
const _component_a_button = resolveComponent("a-button");
|
|
74
|
+
const _component_a_tooltip = resolveComponent("a-tooltip");
|
|
75
|
+
return __props.simpleBtn ? (openBlock(), createBlock(_component_Icon, {
|
|
76
|
+
key: 0,
|
|
77
|
+
class: normalizeClass(["i18n-icon simple-btn", { "is-highlight": isHighlight.value }]),
|
|
78
|
+
icon: "ion:language",
|
|
79
|
+
onClick: handleOpenI18nSelectModal
|
|
80
|
+
}, null, 8, ["class"])) : isHighlight.value ? (openBlock(), createBlock(_component_a_tooltip, {
|
|
81
|
+
key: 1,
|
|
82
|
+
color: "#fff",
|
|
83
|
+
placement: "topRight"
|
|
84
|
+
}, {
|
|
85
|
+
title: withCtx(() => [
|
|
86
|
+
createElementVNode("div", _hoisted_1, "语言标识:" + toDisplayString(__props.i18nValue), 1),
|
|
87
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(getEnableLocaleList.value, (item) => {
|
|
88
|
+
return openBlock(), createElementBlock("div", {
|
|
89
|
+
key: item.id,
|
|
90
|
+
class: "i18n-tooltip-item"
|
|
91
|
+
}, [
|
|
92
|
+
createElementVNode("strong", null, toDisplayString(item.language) + ": ", 1),
|
|
93
|
+
createElementVNode("span", _hoisted_2, toDisplayString(i18nMap[item.languageTag]), 1)
|
|
94
|
+
]);
|
|
95
|
+
}), 128))
|
|
96
|
+
]),
|
|
97
|
+
default: withCtx(() => [
|
|
98
|
+
createVNode(_component_a_button, mergeProps(__props.buttonExtraProps, {
|
|
99
|
+
class: { "is-highlight": isHighlight.value },
|
|
100
|
+
style: {
|
|
101
|
+
"--btn-width": __props.btnWidth,
|
|
102
|
+
"--btn-height": __props.btnHeight
|
|
103
|
+
},
|
|
104
|
+
size: __props.size,
|
|
105
|
+
onClick: handleOpenI18nSelectModal
|
|
106
|
+
}), {
|
|
107
|
+
icon: withCtx(() => [
|
|
108
|
+
createVNode(_component_Icon, {
|
|
109
|
+
class: "i18n-icon",
|
|
110
|
+
icon: "ion:language"
|
|
111
|
+
})
|
|
112
|
+
]),
|
|
113
|
+
_: 1
|
|
114
|
+
}, 16, ["class", "style", "size"])
|
|
115
|
+
]),
|
|
116
|
+
_: 1
|
|
117
|
+
})) : (openBlock(), createBlock(_component_a_button, mergeProps({ key: 2 }, __props.buttonExtraProps, {
|
|
118
|
+
class: { "is-highlight": isHighlight.value },
|
|
119
|
+
style: {
|
|
120
|
+
"--btn-width": __props.btnWidth,
|
|
121
|
+
"--btn-height": __props.btnHeight
|
|
122
|
+
},
|
|
123
|
+
size: __props.size,
|
|
124
|
+
onClick: handleOpenI18nSelectModal
|
|
125
|
+
}), {
|
|
126
|
+
icon: withCtx(() => [
|
|
127
|
+
createVNode(_component_Icon, {
|
|
128
|
+
class: "i18n-icon",
|
|
129
|
+
icon: "ion:language"
|
|
130
|
+
})
|
|
131
|
+
]),
|
|
132
|
+
_: 1
|
|
133
|
+
}, 16, ["class", "style", "size"]));
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
export { _sfc_main as default };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface Prop {
|
|
2
|
+
i18nModalKey?: string;
|
|
3
|
+
destroyCallback?: () => void;
|
|
4
|
+
saveCallback?: (params: IObject) => void;
|
|
5
|
+
}
|
|
6
|
+
declare const _default: import('vue').DefineComponent<Prop, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Prop> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
7
|
+
formRef: unknown;
|
|
8
|
+
tableRef: unknown;
|
|
9
|
+
}, any>;
|
|
10
|
+
export default _default;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import _sfc_main from './i18n-select-container.vue2.mjs';
|
|
2
|
+
import './i18n-select-container.css';/* empty css */
|
|
3
|
+
import _export_sfc from '../../../_virtual/_plugin-vue_export-helper.mjs';
|
|
4
|
+
|
|
5
|
+
const I18nSelectContainer = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-0160ed5e"]]);
|
|
6
|
+
|
|
7
|
+
export { I18nSelectContainer as default };
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
import { defineComponent, ref, reactive, computed, onMounted, resolveComponent, openBlock, createBlock, mergeProps, unref, withCtx, createElementVNode, createVNode, createTextVNode, toDisplayString } from 'vue';
|
|
2
|
+
import { SearchOutlined } from '@ant-design/icons-vue';
|
|
3
|
+
import _sfc_main$1 from './i18n-modal.vue.mjs';
|
|
4
|
+
import { t } from '@gct-paas/core';
|
|
5
|
+
import { useModalInner, useModal } from '@gct-paas/core-web';
|
|
6
|
+
|
|
7
|
+
const _hoisted_1 = { class: "i18n-select-container" };
|
|
8
|
+
const _hoisted_2 = { class: "table-wrap" };
|
|
9
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
10
|
+
__name: "i18n-select-container",
|
|
11
|
+
props: {
|
|
12
|
+
i18nModalKey: {},
|
|
13
|
+
destroyCallback: { type: Function },
|
|
14
|
+
saveCallback: { type: Function }
|
|
15
|
+
},
|
|
16
|
+
setup(__props) {
|
|
17
|
+
const [registerInner, { closeModal }] = useModalInner();
|
|
18
|
+
const [userRegister, { openModal }] = useModal();
|
|
19
|
+
const props = __props;
|
|
20
|
+
const getContainer = () => document.querySelector(`#${props.i18nModalKey}`);
|
|
21
|
+
const formRef = ref();
|
|
22
|
+
const formState = reactive({ keywords: "" });
|
|
23
|
+
const pagination = reactive({
|
|
24
|
+
current: 1,
|
|
25
|
+
pageSize: 5,
|
|
26
|
+
total: 0,
|
|
27
|
+
size: "small",
|
|
28
|
+
showTotal: (total) => t("sys.component.table.total", { total })
|
|
29
|
+
});
|
|
30
|
+
const tableData = ref([]);
|
|
31
|
+
const selectRows = ref();
|
|
32
|
+
const rowSelection = ref({
|
|
33
|
+
type: "radio",
|
|
34
|
+
hideSelectAll: true,
|
|
35
|
+
selectedRowKeys: [],
|
|
36
|
+
onChange: handleRowChange
|
|
37
|
+
});
|
|
38
|
+
const loading = ref(false);
|
|
39
|
+
const columns = computed(() => {
|
|
40
|
+
return [];
|
|
41
|
+
});
|
|
42
|
+
const getTableData = async (keyword, current) => {
|
|
43
|
+
loading.value = true;
|
|
44
|
+
const result = await _api.apaas.i18NInfo.getPageList({
|
|
45
|
+
pageNo: current ?? pagination.current,
|
|
46
|
+
pageSize: pagination.pageSize,
|
|
47
|
+
searchKey: keyword
|
|
48
|
+
});
|
|
49
|
+
loading.value = false;
|
|
50
|
+
if (result && result.data) {
|
|
51
|
+
const rows = result.data.map((item) => {
|
|
52
|
+
const infos = JSON.parse(item?.info);
|
|
53
|
+
return {
|
|
54
|
+
key: item.key,
|
|
55
|
+
type: item.type,
|
|
56
|
+
...Object.fromEntries(infos.map((i) => [i.locale, i.info]))
|
|
57
|
+
};
|
|
58
|
+
});
|
|
59
|
+
pagination.total = result.totalCount;
|
|
60
|
+
tableData.value = rows;
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
onMounted(getTableData);
|
|
64
|
+
const handleSearch = () => {
|
|
65
|
+
formRef.value?.validate().then(async () => {
|
|
66
|
+
await getTableData(formState.keywords, 1);
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
const handleTableChange = (paginationInfo) => {
|
|
70
|
+
const { current, total, pageSize } = paginationInfo;
|
|
71
|
+
pagination.current = current;
|
|
72
|
+
pagination.total = total;
|
|
73
|
+
pagination.pageSize = pageSize;
|
|
74
|
+
getTableData();
|
|
75
|
+
};
|
|
76
|
+
const handleAddI18n = () => {
|
|
77
|
+
openModal();
|
|
78
|
+
};
|
|
79
|
+
const handleModalOk = async (data, isEdit) => {
|
|
80
|
+
const langInfos = columns.value.map((item) => {
|
|
81
|
+
return {
|
|
82
|
+
locale: item.dataIndex,
|
|
83
|
+
info: data[item.dataIndex]
|
|
84
|
+
};
|
|
85
|
+
});
|
|
86
|
+
loading.value = true;
|
|
87
|
+
try {
|
|
88
|
+
if (isEdit) {
|
|
89
|
+
await _api.apaas.i18NInfo.putKey(
|
|
90
|
+
{ key: data.id },
|
|
91
|
+
{ info: JSON.stringify(langInfos) }
|
|
92
|
+
);
|
|
93
|
+
} else {
|
|
94
|
+
await _api.apaas.i18NInfo.post({
|
|
95
|
+
info: JSON.stringify(langInfos),
|
|
96
|
+
key: data.id
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
getTableData();
|
|
100
|
+
handleRowChange([data.id], [reactive(data)]);
|
|
101
|
+
} catch (error) {
|
|
102
|
+
loading.value = false;
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
function handleRowChange(selectedRowKeys, selectedRows) {
|
|
106
|
+
rowSelection.value.selectedRowKeys = selectedRowKeys;
|
|
107
|
+
selectRows.value = selectedRows;
|
|
108
|
+
}
|
|
109
|
+
const handleClose = () => {
|
|
110
|
+
if (props.destroyCallback && typeof props.destroyCallback === "function") {
|
|
111
|
+
props.destroyCallback();
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
const handleOk = async () => {
|
|
115
|
+
if (props.saveCallback && typeof props.saveCallback === "function") {
|
|
116
|
+
const selectRowKey = rowSelection.value.selectedRowKeys;
|
|
117
|
+
const params = {};
|
|
118
|
+
if (selectRowKey && selectRowKey[0]) {
|
|
119
|
+
const selectRow = selectRows.value?.[0];
|
|
120
|
+
console.log("selectRow", selectRow);
|
|
121
|
+
Object.assign(params, {
|
|
122
|
+
i18nKey: selectRowKey[0]
|
|
123
|
+
// i18nTitle: selectRow[getLocale],
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
props.saveCallback(params);
|
|
127
|
+
}
|
|
128
|
+
closeModal();
|
|
129
|
+
};
|
|
130
|
+
return (_ctx, _cache) => {
|
|
131
|
+
const _component_a_input = resolveComponent("a-input");
|
|
132
|
+
const _component_a_form_item = resolveComponent("a-form-item");
|
|
133
|
+
const _component_a_col = resolveComponent("a-col");
|
|
134
|
+
const _component_a_button = resolveComponent("a-button");
|
|
135
|
+
const _component_plus_outlined = resolveComponent("plus-outlined");
|
|
136
|
+
const _component_a_row = resolveComponent("a-row");
|
|
137
|
+
const _component_a_form = resolveComponent("a-form");
|
|
138
|
+
const _component_a_table = resolveComponent("a-table");
|
|
139
|
+
const _component_basic_modal = resolveComponent("basic-modal");
|
|
140
|
+
return openBlock(), createBlock(_component_basic_modal, mergeProps(_ctx.$attrs, {
|
|
141
|
+
"min-height": 40,
|
|
142
|
+
title: unref(t)("sys.i18n.i18nConfig"),
|
|
143
|
+
centered: "",
|
|
144
|
+
width: "640px",
|
|
145
|
+
"can-fullscreen": false,
|
|
146
|
+
"mask-closable": false,
|
|
147
|
+
"after-close": handleClose,
|
|
148
|
+
"get-container": getContainer,
|
|
149
|
+
onRegister: unref(registerInner),
|
|
150
|
+
onOk: handleOk
|
|
151
|
+
}), {
|
|
152
|
+
default: withCtx(() => [
|
|
153
|
+
createElementVNode("div", _hoisted_1, [
|
|
154
|
+
createVNode(_component_a_form, {
|
|
155
|
+
ref_key: "formRef",
|
|
156
|
+
ref: formRef,
|
|
157
|
+
model: formState,
|
|
158
|
+
autocomplete: "off",
|
|
159
|
+
layout: "horizontal"
|
|
160
|
+
}, {
|
|
161
|
+
default: withCtx(() => [
|
|
162
|
+
createVNode(_component_a_row, null, {
|
|
163
|
+
default: withCtx(() => [
|
|
164
|
+
createVNode(_component_a_col, { span: 12 }, {
|
|
165
|
+
default: withCtx(() => [
|
|
166
|
+
createVNode(_component_a_form_item, {
|
|
167
|
+
name: "keywords",
|
|
168
|
+
label: unref(t)("sys.keywords")
|
|
169
|
+
}, {
|
|
170
|
+
default: withCtx(() => [
|
|
171
|
+
createVNode(_component_a_input, {
|
|
172
|
+
value: formState.keywords,
|
|
173
|
+
"onUpdate:value": _cache[0] || (_cache[0] = ($event) => formState.keywords = $event),
|
|
174
|
+
placeholder: unref(t)("sys.keywordsPlaceholder"),
|
|
175
|
+
style: { "display": "inline-flex" }
|
|
176
|
+
}, null, 8, ["value", "placeholder"])
|
|
177
|
+
]),
|
|
178
|
+
_: 1
|
|
179
|
+
}, 8, ["label"])
|
|
180
|
+
]),
|
|
181
|
+
_: 1
|
|
182
|
+
}),
|
|
183
|
+
createVNode(_component_a_col, {
|
|
184
|
+
span: 12,
|
|
185
|
+
style: { "text-align": "right" }
|
|
186
|
+
}, {
|
|
187
|
+
default: withCtx(() => [
|
|
188
|
+
createVNode(_component_a_button, {
|
|
189
|
+
type: "primary",
|
|
190
|
+
onClick: handleSearch
|
|
191
|
+
}, {
|
|
192
|
+
icon: withCtx(() => [
|
|
193
|
+
createVNode(unref(SearchOutlined))
|
|
194
|
+
]),
|
|
195
|
+
default: withCtx(() => [
|
|
196
|
+
createTextVNode(" " + toDisplayString(unref(t)("sys.queryText")), 1)
|
|
197
|
+
]),
|
|
198
|
+
_: 1
|
|
199
|
+
}),
|
|
200
|
+
createVNode(_component_a_button, {
|
|
201
|
+
style: { "margin": "0 8px" },
|
|
202
|
+
type: "primary",
|
|
203
|
+
onClick: handleAddI18n
|
|
204
|
+
}, {
|
|
205
|
+
icon: withCtx(() => [
|
|
206
|
+
createVNode(_component_plus_outlined)
|
|
207
|
+
]),
|
|
208
|
+
default: withCtx(() => [
|
|
209
|
+
createTextVNode(" " + toDisplayString(unref(t)("sys.new")), 1)
|
|
210
|
+
]),
|
|
211
|
+
_: 1
|
|
212
|
+
})
|
|
213
|
+
]),
|
|
214
|
+
_: 1
|
|
215
|
+
})
|
|
216
|
+
]),
|
|
217
|
+
_: 1
|
|
218
|
+
})
|
|
219
|
+
]),
|
|
220
|
+
_: 1
|
|
221
|
+
}, 8, ["model"]),
|
|
222
|
+
createElementVNode("div", _hoisted_2, [
|
|
223
|
+
createVNode(_component_a_table, {
|
|
224
|
+
ref: "tableRef",
|
|
225
|
+
"data-source": tableData.value,
|
|
226
|
+
columns: columns.value,
|
|
227
|
+
"show-index-column": false,
|
|
228
|
+
pagination,
|
|
229
|
+
striped: false,
|
|
230
|
+
bordered: true,
|
|
231
|
+
"row-selection": rowSelection.value,
|
|
232
|
+
loading: loading.value,
|
|
233
|
+
onChange: handleTableChange
|
|
234
|
+
}, null, 8, ["data-source", "columns", "pagination", "row-selection", "loading"]),
|
|
235
|
+
createVNode(_sfc_main$1, {
|
|
236
|
+
lang: columns.value,
|
|
237
|
+
"get-container": getContainer,
|
|
238
|
+
onRegister: unref(userRegister),
|
|
239
|
+
onOk: handleModalOk
|
|
240
|
+
}, null, 8, ["lang", "onRegister"])
|
|
241
|
+
])
|
|
242
|
+
])
|
|
243
|
+
]),
|
|
244
|
+
_: 1
|
|
245
|
+
}, 16, ["title", "onRegister"]);
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
});
|
|
249
|
+
|
|
250
|
+
export { _sfc_main as default };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { FormInstance, FormItemProps, InputProps } from 'ant-design-vue';
|
|
2
|
+
interface Props {
|
|
3
|
+
formItemName: string | string[];
|
|
4
|
+
fromItemExtraProps?: FormItemProps;
|
|
5
|
+
inputExtraProps?: InputProps;
|
|
6
|
+
i18nConfig?: string;
|
|
7
|
+
text?: string;
|
|
8
|
+
formRef?: FormInstance;
|
|
9
|
+
}
|
|
10
|
+
declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
11
|
+
"update:text": (...args: any[]) => void;
|
|
12
|
+
}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
|
|
13
|
+
"onUpdate:text"?: ((...args: any[]) => any) | undefined;
|
|
14
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
15
|
+
export default _default;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { defineComponent, computed, resolveComponent, openBlock, createElementBlock, Fragment, createVNode, mergeProps, withCtx, createElementVNode, toDisplayString } from 'vue';
|
|
2
|
+
import I18nSelectInput from './i18n-select-input.vue.mjs';
|
|
3
|
+
|
|
4
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
5
|
+
__name: "i18n-select-input-form",
|
|
6
|
+
props: {
|
|
7
|
+
formItemName: {},
|
|
8
|
+
fromItemExtraProps: {},
|
|
9
|
+
inputExtraProps: {},
|
|
10
|
+
i18nConfig: {},
|
|
11
|
+
text: {},
|
|
12
|
+
formRef: {}
|
|
13
|
+
},
|
|
14
|
+
emits: ["update:text"],
|
|
15
|
+
setup(__props, { emit: __emit }) {
|
|
16
|
+
const props = __props;
|
|
17
|
+
const emit = __emit;
|
|
18
|
+
const i18nText = computed({
|
|
19
|
+
get() {
|
|
20
|
+
return props.text ?? "";
|
|
21
|
+
},
|
|
22
|
+
set(value) {
|
|
23
|
+
emit("update:text", value);
|
|
24
|
+
props.formRef?.validateFields([props.formItemName]);
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
return (_ctx, _cache) => {
|
|
28
|
+
const _component_a_form_item = resolveComponent("a-form-item");
|
|
29
|
+
return openBlock(), createElementBlock(Fragment, null, [
|
|
30
|
+
createVNode(_component_a_form_item, mergeProps({ name: __props.formItemName }, __props.fromItemExtraProps), {
|
|
31
|
+
default: withCtx(() => [
|
|
32
|
+
createVNode(I18nSelectInput, mergeProps(_ctx.$attrs, {
|
|
33
|
+
"i18n-text": i18nText.value,
|
|
34
|
+
"onUpdate:i18nText": _cache[0] || (_cache[0] = ($event) => i18nText.value = $event),
|
|
35
|
+
"input-extra-props": __props.inputExtraProps,
|
|
36
|
+
"i18n-config": __props.i18nConfig,
|
|
37
|
+
attr: Array.isArray(__props.formItemName) ? __props.formItemName.join(".") : __props.formItemName,
|
|
38
|
+
"placeholder-text": _ctx.$t("sys.inputText")
|
|
39
|
+
}), null, 16, ["i18n-text", "input-extra-props", "i18n-config", "attr", "placeholder-text"])
|
|
40
|
+
]),
|
|
41
|
+
_: 1
|
|
42
|
+
}, 16, ["name"]),
|
|
43
|
+
createVNode(_component_a_form_item, {
|
|
44
|
+
name: "i18nConfig",
|
|
45
|
+
hidden: ""
|
|
46
|
+
}, {
|
|
47
|
+
default: withCtx(() => [
|
|
48
|
+
createElementVNode("span", null, toDisplayString(__props.i18nConfig), 1)
|
|
49
|
+
]),
|
|
50
|
+
_: 1
|
|
51
|
+
})
|
|
52
|
+
], 64);
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
export { _sfc_main as default };
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { InputProps } from 'ant-design-vue';
|
|
2
|
+
import { ButtonSize } from '@gct-paas/core';
|
|
3
|
+
interface Props {
|
|
4
|
+
attr: string | IObject;
|
|
5
|
+
inputExtraProps?: InputProps;
|
|
6
|
+
i18nConfig?: string | Record<string, string>;
|
|
7
|
+
i18nText?: string;
|
|
8
|
+
placeholderText?: string;
|
|
9
|
+
size?: ButtonSize;
|
|
10
|
+
i18nModalKey?: string;
|
|
11
|
+
forceUpdate?: boolean;
|
|
12
|
+
btnHeight?: string;
|
|
13
|
+
btnWidth?: string;
|
|
14
|
+
}
|
|
15
|
+
declare function __VLS_template(): {
|
|
16
|
+
attrs: Partial<{}>;
|
|
17
|
+
slots: {
|
|
18
|
+
'i18n-input'?(_: {}): any;
|
|
19
|
+
};
|
|
20
|
+
refs: {
|
|
21
|
+
i18nInputGroup: unknown;
|
|
22
|
+
inputRef: unknown;
|
|
23
|
+
};
|
|
24
|
+
rootEl: any;
|
|
25
|
+
};
|
|
26
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
27
|
+
declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
28
|
+
"update:i18nText": (...args: any[]) => void;
|
|
29
|
+
"update:i18nConfig": (...args: any[]) => void;
|
|
30
|
+
"on-i18n-select": (...args: any[]) => void;
|
|
31
|
+
clickOutside: (...args: any[]) => void;
|
|
32
|
+
focus: (...args: any[]) => void;
|
|
33
|
+
blur: (...args: any[]) => void;
|
|
34
|
+
}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
|
|
35
|
+
"onUpdate:i18nText"?: ((...args: any[]) => any) | undefined;
|
|
36
|
+
"onUpdate:i18nConfig"?: ((...args: any[]) => any) | undefined;
|
|
37
|
+
"onOn-i18n-select"?: ((...args: any[]) => any) | undefined;
|
|
38
|
+
onClickOutside?: ((...args: any[]) => any) | undefined;
|
|
39
|
+
onFocus?: ((...args: any[]) => any) | undefined;
|
|
40
|
+
onBlur?: ((...args: any[]) => any) | undefined;
|
|
41
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
42
|
+
i18nInputGroup: unknown;
|
|
43
|
+
inputRef: unknown;
|
|
44
|
+
}, any>;
|
|
45
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
46
|
+
export default _default;
|
|
47
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
48
|
+
new (): {
|
|
49
|
+
$slots: S;
|
|
50
|
+
};
|
|
51
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import _sfc_main from './i18n-select-input.vue2.mjs';
|
|
2
|
+
import './i18n-select-input.css';/* empty css */
|
|
3
|
+
import _export_sfc from '../../../_virtual/_plugin-vue_export-helper.mjs';
|
|
4
|
+
|
|
5
|
+
const I18nSelectInput = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-412e1309"]]);
|
|
6
|
+
|
|
7
|
+
export { I18nSelectInput as default };
|