@oneflowui/ui 0.5.6 → 0.5.7
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/ContextMenu/index.vue.js +2 -2
- package/dist/components/Dashboard/charts/BarChart.vue.js +2 -2
- package/dist/components/Dashboard/charts/PieChart.vue.js +2 -2
- package/dist/components/Dashboard/index.vue.d.ts +2 -1
- package/dist/components/Dashboard/index.vue.js +2 -2
- package/dist/components/ai/AiSender.vue.js +2 -2
- package/dist/components/ai/AiSender.vue2.js +8 -7
- package/dist/components/auxiliary/ColorPanel.vue.js +2 -2
- package/dist/components/auxiliary/ColorPanel.vue2.js +25 -23
- package/dist/components/auxiliary/FileUpload.vue.js +2 -2
- package/dist/components/auxiliary/FileUpload.vue2.js +1 -0
- package/dist/components/auxiliary/PersonPanel.vue.js +1 -1
- package/dist/components/auxiliary/PersonPanel.vue2.js +2 -1
- package/dist/components/base/Accordion.vue.js +1 -1
- package/dist/components/base/Avatar.vue.d.ts +3 -0
- package/dist/components/base/Avatar.vue.js +4 -4
- package/dist/components/base/Avatar.vue2.js +8 -8
- package/dist/components/base/Badge.vue.d.ts +2 -0
- package/dist/components/base/Badge.vue.js +2 -2
- package/dist/components/base/Badge.vue2.js +2 -2
- package/dist/components/base/ButtonGroup.vue.js +2 -2
- package/dist/components/base/ButtonGroup.vue2.js +2 -2
- package/dist/components/base/ChainItem.vue.d.ts +6 -0
- package/dist/components/base/ChainItem.vue.js +2 -2
- package/dist/components/base/ChainItem.vue2.js +17 -17
- package/dist/components/base/DropdownMenu.vue.js +2 -2
- package/dist/components/base/DropdownMenu.vue2.js +22 -20
- package/dist/components/base/EmptyState.vue.js +2 -2
- package/dist/components/base/EmptyState.vue2.js +2 -2
- package/dist/components/base/InfoCard.vue.d.ts +9 -0
- package/dist/components/base/InfoCard.vue.js +2 -2
- package/dist/components/base/InfoCard.vue2.js +65 -57
- package/dist/components/base/MonitorItem.vue.js +2 -2
- package/dist/components/base/MonitorItem.vue2.js +33 -25
- package/dist/components/base/PersonaCard.vue.d.ts +5 -0
- package/dist/components/base/PersonaCard.vue.js +3 -3
- package/dist/components/base/PersonaCard.vue2.js +56 -50
- package/dist/components/base/ProgressBar.vue.d.ts +1 -0
- package/dist/components/base/ProgressBar.vue.js +2 -2
- package/dist/components/base/ProgressBar.vue2.js +10 -10
- package/dist/components/base/RangeSlider.vue.d.ts +15 -0
- package/dist/components/base/RangeSlider.vue.js +1 -1
- package/dist/components/base/RangeSlider.vue2.js +22 -15
- package/dist/components/base/RefTag.vue.d.ts +4 -0
- package/dist/components/base/RefTag.vue.js +3 -3
- package/dist/components/base/RefTag.vue2.js +14 -14
- package/dist/components/base/SearchHighlight.vue.js +1 -1
- package/dist/components/base/SectionBlock.vue.js +2 -2
- package/dist/components/base/SectionBlock.vue2.js +54 -48
- package/dist/components/base/SelectBadge.vue.d.ts +5 -0
- package/dist/components/base/SelectBadge.vue.js +3 -3
- package/dist/components/base/SelectBadge.vue2.js +36 -28
- package/dist/components/base/StatisticCard.vue.js +1 -1
- package/dist/components/base/StatusIndicator.vue.js +2 -2
- package/dist/components/base/StatusIndicator.vue2.js +2 -2
- package/dist/components/base/StatusSummary.vue.js +2 -2
- package/dist/components/base/Stepper.vue.js +2 -2
- package/dist/components/base/Switch.vue.js +2 -2
- package/dist/components/base/ToolbarBtn.vue.js +2 -2
- package/dist/components/base/ViewModeGroup.vue.js +1 -1
- package/dist/components/base/ViewModeGroup.vue2.js +3 -3
- package/dist/components/base/ViewSwitcher.vue.js +1 -1
- package/dist/components/base/ViewSwitcher.vue2.js +3 -3
- package/dist/components/base/ViewTab.vue.js +1 -1
- package/dist/components/base/ViewTab.vue2.js +5 -6
- package/dist/components/breadcrumb/Breadcrumb.vue.js +2 -2
- package/dist/components/breadcrumb/BreadcrumbItem.vue.js +2 -2
- package/dist/components/detail/PropPanel.vue.js +2 -2
- package/dist/components/detail/PropPanel.vue2.js +34 -30
- package/dist/components/detail/PropRow.vue.d.ts +6 -0
- package/dist/components/detail/PropRow.vue.js +2 -2
- package/dist/components/detail/PropRow.vue2.js +24 -24
- package/dist/components/editor/BlockQuote.vue.d.ts +2 -1
- package/dist/components/editor/BlockQuote.vue.js +1 -1
- package/dist/components/editor/BlockQuote.vue2.js +43 -29
- package/dist/components/editor/ContentBlock.vue.d.ts +4 -2
- package/dist/components/editor/ContentBlock.vue.js +2 -2
- package/dist/components/editor/ContentBlock.vue2.js +54 -33
- package/dist/components/editor/RichTextEditor.vue.js +2 -2
- package/dist/components/editor/RichTextEditor.vue2.js +10 -14
- package/dist/components/field/FieldAttachment.vue.js +2 -2
- package/dist/components/field/FieldAttachment.vue2.js +30 -32
- package/dist/components/field/FieldAutoNumber.vue.js +2 -2
- package/dist/components/field/FieldCheckbox.vue.js +2 -2
- package/dist/components/field/FieldCheckbox.vue2.js +13 -11
- package/dist/components/field/FieldCreator.vue.js +2 -2
- package/dist/components/field/FieldCurrency.vue.js +2 -2
- package/dist/components/field/FieldCurrency.vue2.js +15 -14
- package/dist/components/field/FieldDate.vue.js +1 -1
- package/dist/components/field/FieldDate.vue2.js +14 -16
- package/dist/components/field/FieldDatetime.vue.js +1 -1
- package/dist/components/field/FieldDatetime.vue2.js +12 -11
- package/dist/components/field/FieldEmail.vue.js +2 -2
- package/dist/components/field/FieldEmail.vue2.js +14 -13
- package/dist/components/field/FieldMarkdownPreview.vue.js +2 -2
- package/dist/components/field/FieldMultiSelect.vue.d.ts +2 -2
- package/dist/components/field/FieldMultiSelect.vue.js +2 -2
- package/dist/components/field/FieldMultiSelect.vue2.js +80 -75
- package/dist/components/field/FieldNumber.vue.js +3 -3
- package/dist/components/field/FieldNumber.vue2.js +19 -18
- package/dist/components/field/FieldPhone.vue.js +2 -2
- package/dist/components/field/FieldPhone.vue2.js +12 -11
- package/dist/components/field/FieldProgress.vue.js +1 -1
- package/dist/components/field/FieldProgress.vue2.js +18 -17
- package/dist/components/field/FieldRating.vue.js +2 -2
- package/dist/components/field/FieldRating.vue2.js +22 -16
- package/dist/components/field/FieldRelation.vue.js +1 -1
- package/dist/components/field/FieldRelation.vue2.js +25 -22
- package/dist/components/field/FieldRichText.vue.js +1 -1
- package/dist/components/field/FieldRichText.vue2.js +10 -7
- package/dist/components/field/FieldSelect.vue.js +2 -2
- package/dist/components/field/FieldSelect.vue2.js +81 -63
- package/dist/components/field/FieldText.vue.js +2 -2
- package/dist/components/field/FieldText.vue2.js +17 -16
- package/dist/components/field/FieldUrl.vue.js +2 -2
- package/dist/components/field/FieldUrl.vue2.js +17 -16
- package/dist/components/form/FormDesigner.vue.js +2 -2
- package/dist/components/form/FormDesigner.vue2.js +83 -78
- package/dist/components/gallery/GalleryCard.vue.d.ts +1 -1
- package/dist/components/gallery/GalleryCard.vue.js +2 -2
- package/dist/components/gallery/GalleryCard.vue2.js +2 -1
- package/dist/components/kanban/KanbanCard.vue.d.ts +3 -1
- package/dist/components/kanban/KanbanCard.vue.js +1 -1
- package/dist/components/kanban/KanbanCard.vue2.js +15 -14
- package/dist/components/kanban/KanbanColumn.vue.d.ts +2 -0
- package/dist/components/kanban/KanbanColumn.vue.js +2 -2
- package/dist/components/kanban/KanbanColumn.vue2.js +9 -9
- package/dist/components/kanban/QuickAddRow.vue.js +2 -2
- package/dist/components/kanban/QuickAddRow.vue2.js +15 -14
- package/dist/components/layout/Navbar.vue.js +3 -3
- package/dist/components/layout/Navbar.vue2.js +5 -4
- package/dist/components/layout/Sidebar.vue.js +2 -2
- package/dist/components/layout/Sidebar.vue2.js +1 -1
- package/dist/components/mermaid/MermaidChart.vue.js +2 -2
- package/dist/components/mermaid/MermaidChart.vue2.js +17 -17
- package/dist/components/overlay/Dialog.vue.d.ts +1 -0
- package/dist/components/overlay/Dialog.vue.js +1 -1
- package/dist/components/overlay/Dialog.vue2.js +9 -9
- package/dist/components/overlay/Drawer.vue.d.ts +1 -0
- package/dist/components/overlay/Drawer.vue.js +2 -2
- package/dist/components/overlay/Drawer.vue2.js +35 -29
- package/dist/components/overlay/Modal.vue.d.ts +1 -0
- package/dist/components/overlay/Modal.vue.js +1 -1
- package/dist/components/overlay/Modal.vue2.js +34 -28
- package/dist/components/overlay/SidePanel.vue.d.ts +1 -0
- package/dist/components/overlay/SidePanel.vue.js +1 -1
- package/dist/components/overlay/SidePanel.vue2.js +6 -6
- package/dist/components/split/SplitPane.vue.js +2 -2
- package/dist/components/split/SplitPane.vue2.js +11 -9
- package/dist/components/table/ColumnHeaderMenu.vue.d.ts +2 -0
- package/dist/components/table/ColumnHeaderMenu.vue.js +1 -1
- package/dist/components/table/ColumnHeaderMenu.vue2.js +42 -36
- package/dist/components/table/DataTable.vue.d.ts +6 -5
- package/dist/components/table/DataTable.vue.js +2 -2
- package/dist/components/table/DataTable.vue2.js +527 -477
- package/dist/components/table/DetailSheet.vue.js +2 -2
- package/dist/components/table/DetailSheet.vue2.js +45 -40
- package/dist/components/table/FieldCell.vue.d.ts +2 -1
- package/dist/components/table/FieldCell.vue.js +1 -1
- package/dist/components/table/FieldCell.vue2.js +57 -48
- package/dist/components/table/FieldTypePicker.vue.d.ts +1 -0
- package/dist/components/table/FieldTypePicker.vue.js +4 -4
- package/dist/components/table/FieldTypePicker.vue2.js +1 -1
- package/dist/components/table/MobileListView.vue.d.ts +3 -2
- package/dist/components/table/MobileListView.vue.js +2 -2
- package/dist/components/table/MobileListView.vue2.js +57 -50
- package/dist/components/table/TableColumnManager.vue.js +1 -1
- package/dist/components/table/TableColumnManager.vue2.js +29 -28
- package/dist/components/table/TableDataRow.vue.d.ts +2 -0
- package/dist/components/table/TableDataRow.vue.js +4 -4
- package/dist/components/table/TableDataRow.vue2.js +70 -58
- package/dist/components/table/TableFilterPanel.vue.js +2 -2
- package/dist/components/table/TableFilterPanel.vue2.js +3 -0
- package/dist/components/table/TableGroupRow.vue.d.ts +2 -0
- package/dist/components/table/TableGroupRow.vue.js +2 -2
- package/dist/components/table/TableGroupRow.vue2.js +35 -30
- package/dist/components/table/TableHeaderRow.vue.js +3 -3
- package/dist/components/table/TableHeaderRow.vue2.js +63 -46
- package/dist/components/table/TableToolbar.vue.js +1 -1
- package/dist/components/table/TableToolbar.vue2.js +2 -2
- package/dist/components/tabs/TabPanel.vue.js +4 -4
- package/dist/components/tabs/TabPanel.vue2.js +1 -1
- package/dist/components/tabs/Tabs.vue.js +2 -2
- package/dist/components/tabs/Tabs.vue2.js +2 -2
- package/dist/components/timeline/GanttRow.vue.d.ts +2 -0
- package/dist/components/timeline/GanttRow.vue.js +2 -2
- package/dist/components/timeline/GanttRow.vue2.js +68 -52
- package/dist/components/timeline/GanttTimeline.vue.d.ts +6 -0
- package/dist/components/timeline/GanttTimeline.vue.js +2 -2
- package/dist/components/timeline/GanttTimeline.vue2.js +24 -24
- package/dist/composables/useKeyboardNavigation.d.ts +1 -1
- package/dist/composables/useRowDrag.d.ts +6 -4
- package/dist/composables/useRowDrag.js +24 -24
- package/dist/composables/useSupabaseProvider.d.ts +8 -1
- package/dist/composables/useTableData.d.ts +5 -3
- package/dist/composables/useTableGroup.d.ts +2 -2
- package/dist/composables/useViewPersistence.d.ts +32 -3
- package/dist/composables/useVirtualList.js +60 -59
- package/dist/plugin.js +103 -102
- package/dist/style.css +1 -1
- package/dist/utils/echarts.d.ts +1 -0
- package/dist/utils/supabaseSchema.d.ts +12 -0
- package/package.json +1 -1
|
@@ -1,137 +1,142 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
const
|
|
1
|
+
import { defineComponent as F, ref as r, computed as $, onMounted as K, nextTick as O, onBeforeUnmount as T, watch as P, openBlock as l, createElementBlock as a, Fragment as A, renderList as L, normalizeStyle as b, toDisplayString as h, createBlock as U, Teleport as V, withKeys as B, withModifiers as d, normalizeClass as S, createElementVNode as y, createCommentVNode as I } from "vue";
|
|
2
|
+
const W = {
|
|
3
3
|
key: 0,
|
|
4
4
|
class: "of-field-multiselect__chips"
|
|
5
|
-
},
|
|
5
|
+
}, j = {
|
|
6
6
|
key: 1,
|
|
7
7
|
class: "of-field-multiselect__placeholder"
|
|
8
|
-
},
|
|
8
|
+
}, q = ["aria-checked", "onMouseenter", "onClick", "onFocusin", "onKeydown"], G = { key: 1 }, H = { class: "of-field-multiselect__actions" }, Q = /* @__PURE__ */ F({
|
|
9
9
|
__name: "FieldMultiSelect",
|
|
10
10
|
props: {
|
|
11
11
|
value: { type: [String, Number, Boolean, Array, null] },
|
|
12
12
|
field: {}
|
|
13
13
|
},
|
|
14
14
|
emits: ["commit", "cancel", "tabNext"],
|
|
15
|
-
setup(
|
|
16
|
-
const
|
|
17
|
-
const e = new Set(
|
|
18
|
-
return
|
|
15
|
+
setup(N, { emit: R }) {
|
|
16
|
+
const f = N, w = R, s = r(null), x = r(null), g = r({ top: "0px", left: "0px", width: "0px" }), v = r(!0), m = $(() => f.field.options ?? []), n = r([]), i = r(0), C = $(() => {
|
|
17
|
+
const e = new Set(n.value);
|
|
18
|
+
return m.value.filter((o) => e.has(o.value));
|
|
19
19
|
});
|
|
20
|
-
function
|
|
21
|
-
|
|
20
|
+
function D() {
|
|
21
|
+
n.value = Array.isArray(f.value) ? f.value.filter((e) => typeof e == "string") : [];
|
|
22
22
|
}
|
|
23
|
-
function
|
|
24
|
-
if (!
|
|
25
|
-
const e =
|
|
26
|
-
|
|
23
|
+
function c() {
|
|
24
|
+
if (!s.value) return;
|
|
25
|
+
const e = s.value.getBoundingClientRect();
|
|
26
|
+
g.value = {
|
|
27
27
|
top: `${e.bottom}px`,
|
|
28
28
|
left: `${e.left}px`,
|
|
29
29
|
width: `${Math.max(e.width, 220)}px`
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
|
-
function
|
|
33
|
-
if (
|
|
34
|
-
|
|
32
|
+
function p(e) {
|
|
33
|
+
if (n.value.indexOf(e) >= 0) {
|
|
34
|
+
n.value = n.value.filter((t) => t !== e);
|
|
35
35
|
return;
|
|
36
36
|
}
|
|
37
|
-
|
|
37
|
+
n.value = [...n.value, e];
|
|
38
38
|
}
|
|
39
|
-
function
|
|
40
|
-
|
|
39
|
+
function k() {
|
|
40
|
+
v.value = !1, w("commit", [...n.value]);
|
|
41
41
|
}
|
|
42
|
-
function
|
|
43
|
-
|
|
42
|
+
function E() {
|
|
43
|
+
v.value && (v.value = !1, w("cancel"));
|
|
44
44
|
}
|
|
45
|
-
function
|
|
45
|
+
function z(e) {
|
|
46
46
|
if (e.key === "ArrowDown") {
|
|
47
|
-
e.preventDefault(),
|
|
47
|
+
e.preventDefault(), i.value = Math.min(i.value + 1, Math.max(m.value.length - 1, 0));
|
|
48
48
|
return;
|
|
49
49
|
}
|
|
50
50
|
if (e.key === "ArrowUp") {
|
|
51
|
-
e.preventDefault(),
|
|
51
|
+
e.preventDefault(), i.value = Math.max(i.value - 1, 0);
|
|
52
52
|
return;
|
|
53
53
|
}
|
|
54
54
|
if (e.key === " " || e.key === "Enter") {
|
|
55
55
|
e.preventDefault();
|
|
56
|
-
const
|
|
57
|
-
|
|
56
|
+
const o = m.value[i.value];
|
|
57
|
+
o && p(o.value);
|
|
58
58
|
return;
|
|
59
59
|
}
|
|
60
60
|
if (e.key === "Escape") {
|
|
61
|
-
e.preventDefault(),
|
|
61
|
+
e.preventDefault(), E();
|
|
62
62
|
return;
|
|
63
63
|
}
|
|
64
|
-
e.key === "Tab" && (e.preventDefault(),
|
|
64
|
+
e.key === "Tab" && (e.preventDefault(), k(), w("tabNext"));
|
|
65
65
|
}
|
|
66
|
-
function
|
|
67
|
-
var t,
|
|
68
|
-
const
|
|
69
|
-
|
|
66
|
+
function M(e) {
|
|
67
|
+
var t, u;
|
|
68
|
+
const o = e.target;
|
|
69
|
+
o && ((t = s.value) != null && t.contains(o) || (u = x.value) != null && u.contains(o) || k());
|
|
70
70
|
}
|
|
71
|
-
return
|
|
72
|
-
|
|
71
|
+
return K(() => {
|
|
72
|
+
D(), O(() => {
|
|
73
73
|
var e;
|
|
74
|
-
|
|
75
|
-
}), window.addEventListener("resize",
|
|
74
|
+
c(), (e = s.value) == null || e.focus();
|
|
75
|
+
}), window.addEventListener("resize", c), window.addEventListener("scroll", c, !0), window.addEventListener("mousedown", M, !0);
|
|
76
76
|
}), T(() => {
|
|
77
|
-
window.removeEventListener("resize",
|
|
78
|
-
}),
|
|
79
|
-
() =>
|
|
77
|
+
window.removeEventListener("resize", c), window.removeEventListener("scroll", c, !0), window.removeEventListener("mousedown", M, !0);
|
|
78
|
+
}), P(
|
|
79
|
+
() => f.value,
|
|
80
80
|
() => {
|
|
81
|
-
|
|
81
|
+
D();
|
|
82
82
|
}
|
|
83
|
-
), (e,
|
|
83
|
+
), (e, o) => (l(), a("button", {
|
|
84
84
|
ref_key: "triggerRef",
|
|
85
|
-
ref:
|
|
85
|
+
ref: s,
|
|
86
|
+
type: "button",
|
|
86
87
|
class: "of-field-multiselect",
|
|
87
|
-
|
|
88
|
-
onKeydown:
|
|
88
|
+
"aria-label": "多选字段编辑器",
|
|
89
|
+
onKeydown: z
|
|
89
90
|
}, [
|
|
90
|
-
|
|
91
|
-
(l(!0),
|
|
91
|
+
C.value.length ? (l(), a("div", W, [
|
|
92
|
+
(l(!0), a(A, null, L(C.value, (t) => (l(), a("span", {
|
|
92
93
|
key: t.value,
|
|
93
94
|
class: "of-field-multiselect__badge",
|
|
94
|
-
style:
|
|
95
|
-
},
|
|
96
|
-
])) : (l(),
|
|
97
|
-
(l(),
|
|
98
|
-
|
|
95
|
+
style: b(t.color ? { background: t.color } : void 0)
|
|
96
|
+
}, h(t.label), 5))), 128))
|
|
97
|
+
])) : (l(), a("span", j, "—")),
|
|
98
|
+
(l(), U(V, { to: "body" }, [
|
|
99
|
+
v.value ? (l(), a("div", {
|
|
99
100
|
key: 0,
|
|
100
101
|
ref_key: "dropdownRef",
|
|
101
|
-
ref:
|
|
102
|
+
ref: x,
|
|
102
103
|
class: "of-field-multiselect__dropdown",
|
|
103
|
-
style:
|
|
104
|
+
style: b(g.value)
|
|
104
105
|
}, [
|
|
105
|
-
(l(!0),
|
|
106
|
+
(l(!0), a(A, null, L(m.value, (t, u) => (l(), a("button", {
|
|
106
107
|
key: t.value,
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
108
|
+
type: "button",
|
|
109
|
+
class: S(["of-field-multiselect__option", { active: u === i.value, selected: n.value.includes(t.value) }]),
|
|
110
|
+
role: "checkbox",
|
|
111
|
+
"aria-checked": n.value.includes(t.value),
|
|
112
|
+
onMouseenter: (_) => i.value = u,
|
|
113
|
+
onClick: d((_) => p(t.value), ["stop"]),
|
|
114
|
+
onFocusin: (_) => i.value = u,
|
|
115
|
+
onKeydown: [
|
|
116
|
+
B(d((_) => p(t.value), ["prevent"]), ["enter"]),
|
|
117
|
+
B(d((_) => p(t.value), ["prevent"]), ["space"])
|
|
118
|
+
]
|
|
110
119
|
}, [
|
|
111
|
-
|
|
112
|
-
class: "of-field-multiselect__checkbox",
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
onChange: n[0] || (n[0] = m(() => {
|
|
117
|
-
}, ["prevent"]))
|
|
118
|
-
}, null, 40, q),
|
|
119
|
-
t.color ? (l(), i("span", {
|
|
120
|
+
y("span", {
|
|
121
|
+
class: S(["of-field-multiselect__checkbox", { "of-field-multiselect__checkbox--checked": n.value.includes(t.value) }]),
|
|
122
|
+
"aria-hidden": "true"
|
|
123
|
+
}, null, 2),
|
|
124
|
+
t.color ? (l(), a("span", {
|
|
120
125
|
key: 0,
|
|
121
126
|
class: "of-field-multiselect__badge",
|
|
122
|
-
style:
|
|
123
|
-
},
|
|
124
|
-
], 42,
|
|
125
|
-
|
|
126
|
-
|
|
127
|
+
style: b({ background: t.color })
|
|
128
|
+
}, h(t.label), 5)) : (l(), a("span", G, h(t.label), 1))
|
|
129
|
+
], 42, q))), 128)),
|
|
130
|
+
y("div", H, [
|
|
131
|
+
y("button", {
|
|
127
132
|
class: "of-field-multiselect__btn",
|
|
128
133
|
type: "button",
|
|
129
|
-
onClick:
|
|
134
|
+
onClick: d(E, ["stop"])
|
|
130
135
|
}, " 取消 "),
|
|
131
|
-
|
|
136
|
+
y("button", {
|
|
132
137
|
class: "of-field-multiselect__btn of-field-multiselect__btn--primary",
|
|
133
138
|
type: "button",
|
|
134
|
-
onClick:
|
|
139
|
+
onClick: d(k, ["stop"])
|
|
135
140
|
}, " 完成 ")
|
|
136
141
|
])
|
|
137
142
|
], 4)) : I("", !0)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./FieldNumber.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
|
-
import
|
|
4
|
-
const
|
|
3
|
+
import r from "../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
+
const p = /* @__PURE__ */ r(o, [["__scopeId", "data-v-95878be2"]]);
|
|
5
5
|
export {
|
|
6
|
-
|
|
6
|
+
p as default
|
|
7
7
|
};
|
|
@@ -1,42 +1,43 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
const
|
|
1
|
+
import { defineComponent as p, ref as m, onMounted as v, nextTick as d, withDirectives as b, openBlock as N, createElementBlock as y, vModelText as k } from "vue";
|
|
2
|
+
const D = ["aria-label"], w = /* @__PURE__ */ p({
|
|
3
3
|
__name: "FieldNumber",
|
|
4
4
|
props: {
|
|
5
5
|
value: { type: [String, Number, Boolean, Array, null] },
|
|
6
6
|
field: {}
|
|
7
7
|
},
|
|
8
8
|
emits: ["commit", "cancel", "tabNext"],
|
|
9
|
-
setup(
|
|
10
|
-
const
|
|
9
|
+
setup(r, { emit: c }) {
|
|
10
|
+
const a = r, l = c, i = m(null), t = m(a.value === null || a.value === void 0 ? "" : String(a.value));
|
|
11
11
|
v(() => d(() => {
|
|
12
12
|
var e;
|
|
13
|
-
return (e =
|
|
13
|
+
return (e = i.value) == null ? void 0 : e.focus();
|
|
14
14
|
}));
|
|
15
|
-
function
|
|
15
|
+
function o() {
|
|
16
16
|
if (t.value === "") return null;
|
|
17
17
|
const e = Number(t.value);
|
|
18
18
|
return Number.isNaN(e) ? null : e;
|
|
19
19
|
}
|
|
20
|
-
function
|
|
21
|
-
const n = t.value === "" ? 0 : Number(t.value),
|
|
22
|
-
t.value = String(
|
|
20
|
+
function f(e) {
|
|
21
|
+
const n = t.value === "" ? 0 : Number(t.value), u = Number.isNaN(n) ? 0 : n;
|
|
22
|
+
t.value = String(u + e);
|
|
23
23
|
}
|
|
24
|
-
function
|
|
25
|
-
e.key === "ArrowUp" && (e.preventDefault(),
|
|
24
|
+
function s(e) {
|
|
25
|
+
e.key === "ArrowUp" && (e.preventDefault(), f(1)), e.key === "ArrowDown" && (e.preventDefault(), f(-1)), e.key === "Enter" && (e.preventDefault(), l("commit", o())), e.key === "Escape" && (e.preventDefault(), l("cancel")), e.key === "Tab" && (e.preventDefault(), l("commit", o()), l("tabNext"));
|
|
26
26
|
}
|
|
27
|
-
return (e, n) =>
|
|
27
|
+
return (e, n) => b((N(), y("input", {
|
|
28
28
|
ref_key: "inputRef",
|
|
29
|
-
ref:
|
|
29
|
+
ref: i,
|
|
30
|
+
"onUpdate:modelValue": n[0] || (n[0] = (u) => t.value = u),
|
|
30
31
|
class: "of-field-input",
|
|
31
32
|
type: "number",
|
|
32
|
-
"
|
|
33
|
-
onKeydown:
|
|
34
|
-
onBlur: n[1] || (n[1] = (
|
|
35
|
-
}, null,
|
|
33
|
+
"aria-label": r.field.label,
|
|
34
|
+
onKeydown: s,
|
|
35
|
+
onBlur: n[1] || (n[1] = (u) => l("commit", o()))
|
|
36
|
+
}, null, 40, D)), [
|
|
36
37
|
[k, t.value]
|
|
37
38
|
]);
|
|
38
39
|
}
|
|
39
40
|
});
|
|
40
41
|
export {
|
|
41
|
-
|
|
42
|
+
w as default
|
|
42
43
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./FieldPhone.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import t from "../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const
|
|
4
|
+
const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-6c2ab802"]]);
|
|
5
5
|
export {
|
|
6
|
-
|
|
6
|
+
m as default
|
|
7
7
|
};
|
|
@@ -1,34 +1,35 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
const
|
|
1
|
+
import { defineComponent as p, ref as r, onMounted as m, nextTick as s, withDirectives as v, openBlock as d, createElementBlock as y, vModelText as b } from "vue";
|
|
2
|
+
const k = ["aria-label"], B = /* @__PURE__ */ p({
|
|
3
3
|
__name: "FieldPhone",
|
|
4
4
|
props: {
|
|
5
5
|
value: { type: [String, Number, Boolean, Array, null] },
|
|
6
6
|
field: {}
|
|
7
7
|
},
|
|
8
8
|
emits: ["commit", "cancel", "tabNext"],
|
|
9
|
-
setup(
|
|
10
|
-
const
|
|
9
|
+
setup(o, { emit: f }) {
|
|
10
|
+
const a = o, t = f, u = r(null), l = r(typeof a.value == "string" ? a.value : "");
|
|
11
11
|
m(() => s(() => {
|
|
12
12
|
var e;
|
|
13
13
|
return (e = u.value) == null ? void 0 : e.focus();
|
|
14
14
|
}));
|
|
15
|
-
function
|
|
15
|
+
function c(e) {
|
|
16
16
|
e.key === "Enter" && (e.preventDefault(), t("commit", l.value || null)), e.key === "Escape" && (e.preventDefault(), t("cancel")), e.key === "Tab" && (e.preventDefault(), t("commit", l.value || null), t("tabNext"));
|
|
17
17
|
}
|
|
18
18
|
return (e, n) => v((d(), y("input", {
|
|
19
19
|
ref_key: "inputRef",
|
|
20
20
|
ref: u,
|
|
21
|
+
"onUpdate:modelValue": n[0] || (n[0] = (i) => l.value = i),
|
|
21
22
|
class: "of-field-input",
|
|
22
23
|
type: "tel",
|
|
23
|
-
"
|
|
24
|
+
"aria-label": o.field.label,
|
|
24
25
|
placeholder: "输入电话号码",
|
|
25
|
-
onKeydown:
|
|
26
|
-
onBlur: n[1] || (n[1] = (
|
|
27
|
-
}, null,
|
|
28
|
-
[
|
|
26
|
+
onKeydown: c,
|
|
27
|
+
onBlur: n[1] || (n[1] = (i) => t("commit", l.value || null))
|
|
28
|
+
}, null, 40, k)), [
|
|
29
|
+
[b, l.value]
|
|
29
30
|
]);
|
|
30
31
|
}
|
|
31
32
|
});
|
|
32
33
|
export {
|
|
33
|
-
|
|
34
|
+
B as default
|
|
34
35
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./FieldProgress.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import r from "../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const e = /* @__PURE__ */ r(o, [["__scopeId", "data-v-
|
|
4
|
+
const e = /* @__PURE__ */ r(o, [["__scopeId", "data-v-35c4fb4c"]]);
|
|
5
5
|
export {
|
|
6
6
|
e as default
|
|
7
7
|
};
|
|
@@ -1,37 +1,38 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
const
|
|
1
|
+
import { defineComponent as u, ref as p, openBlock as g, createElementBlock as v, createElementVNode as o, normalizeStyle as _, unref as t, toDisplayString as b } from "vue";
|
|
2
|
+
const y = { class: "of-field-progress" }, x = { class: "of-field-progress-bar" }, h = ["min", "max", "value", "aria-label"], N = { class: "of-field-progress-label" }, C = /* @__PURE__ */ u({
|
|
3
3
|
__name: "FieldProgress",
|
|
4
4
|
props: {
|
|
5
5
|
value: { type: [String, Number, Boolean, Array, null] },
|
|
6
6
|
field: {}
|
|
7
7
|
},
|
|
8
8
|
emits: ["commit", "cancel", "tabNext"],
|
|
9
|
-
setup(
|
|
10
|
-
const e =
|
|
9
|
+
setup(s, { emit: c }) {
|
|
10
|
+
const e = s, m = c, n = e.field.type === "progress" && "min" in e.field ? e.field.min ?? 0 : 0, a = e.field.type === "progress" && "max" in e.field ? e.field.max ?? 100 : 100, l = p(typeof e.value == "number" ? e.value : 0);
|
|
11
11
|
function f(i) {
|
|
12
|
-
const
|
|
13
|
-
|
|
12
|
+
const r = i.target;
|
|
13
|
+
l.value = Number(r.value);
|
|
14
14
|
}
|
|
15
|
-
function
|
|
16
|
-
m("commit",
|
|
15
|
+
function d() {
|
|
16
|
+
m("commit", l.value);
|
|
17
17
|
}
|
|
18
|
-
return (i,
|
|
19
|
-
o("div",
|
|
18
|
+
return (i, r) => (g(), v("div", y, [
|
|
19
|
+
o("div", x, [
|
|
20
20
|
o("div", {
|
|
21
21
|
class: "of-field-progress-fill",
|
|
22
|
-
style: _({ width: `${(
|
|
22
|
+
style: _({ width: `${(l.value - t(n)) / (t(a) - t(n)) * 100}%` })
|
|
23
23
|
}, null, 4)
|
|
24
24
|
]),
|
|
25
25
|
o("input", {
|
|
26
26
|
class: "of-field-progress-slider",
|
|
27
27
|
type: "range",
|
|
28
|
-
min:
|
|
29
|
-
max:
|
|
30
|
-
value:
|
|
28
|
+
min: t(n),
|
|
29
|
+
max: t(a),
|
|
30
|
+
value: l.value,
|
|
31
|
+
"aria-label": s.field.label,
|
|
31
32
|
onInput: f,
|
|
32
|
-
onChange:
|
|
33
|
-
}, null, 40,
|
|
34
|
-
o("span", N,
|
|
33
|
+
onChange: d
|
|
34
|
+
}, null, 40, h),
|
|
35
|
+
o("span", N, b(l.value) + "%", 1)
|
|
35
36
|
]));
|
|
36
37
|
}
|
|
37
38
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./FieldRating.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import t from "../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const
|
|
4
|
+
const i = /* @__PURE__ */ t(o, [["__scopeId", "data-v-40f59bfd"]]);
|
|
5
5
|
export {
|
|
6
|
-
|
|
6
|
+
i as default
|
|
7
7
|
};
|
|
@@ -1,31 +1,37 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
const
|
|
1
|
+
import { defineComponent as p, ref as b, openBlock as l, createElementBlock as r, withKeys as x, Fragment as $, renderList as g, unref as u, withModifiers as y, normalizeClass as k } from "vue";
|
|
2
|
+
const B = ["aria-label", "onMouseenter", "onFocus", "onClick"], F = /* @__PURE__ */ p({
|
|
3
3
|
__name: "FieldRating",
|
|
4
4
|
props: {
|
|
5
5
|
value: { type: [String, Number, Boolean, Array, null] },
|
|
6
6
|
field: {}
|
|
7
7
|
},
|
|
8
8
|
emits: ["commit", "cancel", "tabNext"],
|
|
9
|
-
setup(
|
|
10
|
-
const
|
|
11
|
-
function
|
|
12
|
-
|
|
9
|
+
setup(m, { emit: c }) {
|
|
10
|
+
const a = m, i = c, n = b(0), d = a.field.max ?? 5, v = Number(a.value ?? 0);
|
|
11
|
+
function f(s) {
|
|
12
|
+
i("commit", s);
|
|
13
13
|
}
|
|
14
|
-
return (
|
|
14
|
+
return (s, t) => (l(), r("div", {
|
|
15
15
|
class: "of-field-rating",
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
tabindex: "0",
|
|
17
|
+
role: "radiogroup",
|
|
18
|
+
"aria-label": "评分",
|
|
19
|
+
onKeydown: t[2] || (t[2] = x((e) => i("cancel"), ["escape"]))
|
|
18
20
|
}, [
|
|
19
|
-
(
|
|
21
|
+
(l(!0), r($, null, g(u(d), (e) => (l(), r("button", {
|
|
20
22
|
key: e,
|
|
21
|
-
class:
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
class: k(["of-field-rating__star", { filled: e <= (n.value || u(v)) }]),
|
|
24
|
+
type: "button",
|
|
25
|
+
"aria-label": `评分 ${e} 星`,
|
|
26
|
+
onMouseenter: (o) => n.value = e,
|
|
27
|
+
onMouseleave: t[0] || (t[0] = (o) => n.value = 0),
|
|
28
|
+
onFocus: (o) => n.value = e,
|
|
29
|
+
onBlur: t[1] || (t[1] = (o) => n.value = 0),
|
|
30
|
+
onClick: y((o) => f(e), ["stop"])
|
|
31
|
+
}, " ★ ", 42, B))), 128))
|
|
26
32
|
], 32));
|
|
27
33
|
}
|
|
28
34
|
});
|
|
29
35
|
export {
|
|
30
|
-
|
|
36
|
+
F as default
|
|
31
37
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./FieldRelation.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import t from "../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const f = /* @__PURE__ */ t(o, [["__scopeId", "data-v-
|
|
4
|
+
const f = /* @__PURE__ */ t(o, [["__scopeId", "data-v-30a94df6"]]);
|
|
5
5
|
export {
|
|
6
6
|
f as default
|
|
7
7
|
};
|
|
@@ -1,21 +1,25 @@
|
|
|
1
|
-
import { defineComponent as
|
|
1
|
+
import { defineComponent as b, ref as i, computed as x, onMounted as _, nextTick as h, openBlock as r, createElementBlock as u, withDirectives as N, createElementVNode as f, vModelText as V, Fragment as D, renderList as C, createTextVNode as E, toDisplayString as M, createCommentVNode as T } from "vue";
|
|
2
2
|
const A = {
|
|
3
|
+
class: "of-field-relation",
|
|
4
|
+
role: "group",
|
|
5
|
+
"aria-label": "关联记录选择器"
|
|
6
|
+
}, B = ["aria-label"], F = {
|
|
3
7
|
key: 0,
|
|
4
8
|
class: "of-field-relation-tags"
|
|
5
|
-
},
|
|
9
|
+
}, R = ["onClick"], S = /* @__PURE__ */ b({
|
|
6
10
|
__name: "FieldRelation",
|
|
7
11
|
props: {
|
|
8
12
|
value: { type: [String, Number, Boolean, Array, null] },
|
|
9
13
|
field: {}
|
|
10
14
|
},
|
|
11
15
|
emits: ["commit", "cancel", "tabNext"],
|
|
12
|
-
setup(
|
|
13
|
-
const n =
|
|
16
|
+
setup(c, { emit: m }) {
|
|
17
|
+
const n = c, a = m, v = i(null), d = i(""), y = i(!1), t = i(
|
|
14
18
|
Array.isArray(n.value) ? n.value.filter((e) => typeof e == "string") : typeof n.value == "string" && n.value ? [n.value] : []
|
|
15
|
-
), p =
|
|
16
|
-
|
|
19
|
+
), p = x(() => n.field.type !== "relation" ? !1 : n.field.relationMode === "many_to_many");
|
|
20
|
+
_(() => h(() => {
|
|
17
21
|
var e;
|
|
18
|
-
return (e =
|
|
22
|
+
return (e = v.value) == null ? void 0 : e.focus();
|
|
19
23
|
}));
|
|
20
24
|
function g(e) {
|
|
21
25
|
if (p.value) {
|
|
@@ -30,22 +34,21 @@ const A = {
|
|
|
30
34
|
function k(e) {
|
|
31
35
|
e.key === "Escape" && (e.preventDefault(), a("cancel")), e.key === "Enter" && (e.preventDefault(), s()), e.key === "Tab" && (e.preventDefault(), s(), a("tabNext"));
|
|
32
36
|
}
|
|
33
|
-
return (e, l) => (r(), u("div",
|
|
34
|
-
|
|
35
|
-
onKeydown: k
|
|
36
|
-
}, [
|
|
37
|
-
V(f("input", {
|
|
37
|
+
return (e, l) => (r(), u("div", A, [
|
|
38
|
+
N(f("input", {
|
|
38
39
|
ref_key: "inputRef",
|
|
39
|
-
ref:
|
|
40
|
+
ref: v,
|
|
41
|
+
"onUpdate:modelValue": l[0] || (l[0] = (o) => d.value = o),
|
|
40
42
|
class: "of-field-relation-search",
|
|
41
43
|
type: "text",
|
|
42
|
-
"
|
|
44
|
+
"aria-label": c.field.label,
|
|
43
45
|
placeholder: "搜索关联记录...",
|
|
44
|
-
onFocus: l[1] || (l[1] = (o) => y.value = !0)
|
|
45
|
-
|
|
46
|
-
|
|
46
|
+
onFocus: l[1] || (l[1] = (o) => y.value = !0),
|
|
47
|
+
onKeydown: k
|
|
48
|
+
}, null, 40, B), [
|
|
49
|
+
[V, d.value]
|
|
47
50
|
]),
|
|
48
|
-
t.value.length > 0 ? (r(), u("div",
|
|
51
|
+
t.value.length > 0 ? (r(), u("div", F, [
|
|
49
52
|
(r(!0), u(D, null, C(t.value, (o) => (r(), u("span", {
|
|
50
53
|
key: o,
|
|
51
54
|
class: "of-field-relation-tag"
|
|
@@ -54,14 +57,14 @@ const A = {
|
|
|
54
57
|
f("button", {
|
|
55
58
|
type: "button",
|
|
56
59
|
class: "of-field-relation-tag-remove",
|
|
57
|
-
onClick: (
|
|
58
|
-
}, " × ", 8,
|
|
60
|
+
onClick: (w) => g(o)
|
|
61
|
+
}, " × ", 8, R)
|
|
59
62
|
]))), 128))
|
|
60
63
|
])) : T("", !0),
|
|
61
64
|
l[2] || (l[2] = f("div", { class: "of-field-relation-hint" }, "关联记录选择器(需由消费方通过 slot 提供数据源)", -1))
|
|
62
|
-
]
|
|
65
|
+
]));
|
|
63
66
|
}
|
|
64
67
|
});
|
|
65
68
|
export {
|
|
66
|
-
|
|
69
|
+
S as default
|
|
67
70
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./FieldRichText.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import t from "../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const i = /* @__PURE__ */ t(o, [["__scopeId", "data-v-
|
|
4
|
+
const i = /* @__PURE__ */ t(o, [["__scopeId", "data-v-062bed7a"]]);
|
|
5
5
|
export {
|
|
6
6
|
i as default
|
|
7
7
|
};
|