first commit
This commit is contained in:
commit
db5762abd4
687 files changed
+171307
No files matched your search
@@ -0,0 +1,233 @@
|
||||
<script>
|
||||
import "~/assets/styles/OsIcon.CAi4Iz2S.css";
|
||||
import "~/assets/styles/ConfigResourceOption.Dj4VopnA.css";
|
||||
import { toDisplayString } from "vue";
|
||||
import { createBlock } from "vue";
|
||||
import { createCommentVNode } from "vue";
|
||||
import { computed } from "vue";
|
||||
import { createElementBlock } from "vue";
|
||||
import { Fragment } from "vue";
|
||||
import { createTextVNode } from "vue";
|
||||
import { unref } from "vue";
|
||||
import { defineComponent } from "vue";
|
||||
import { createVNode } from "vue";
|
||||
import { openBlock } from "vue";
|
||||
import { t as _plugin_vue_export_helper_t } from "~/lib/_plugin-vue_export-helper.js";
|
||||
import select from "primevue/select";
|
||||
import inputnumber from "primevue/inputnumber";
|
||||
import ConfigChoiceGrid from "~/components/config/ConfigChoiceGrid.vue";
|
||||
var h = {
|
||||
key: 1,
|
||||
class: `resource-range`,
|
||||
},
|
||||
g = {
|
||||
key: 1,
|
||||
class: `hint`,
|
||||
},
|
||||
_ = Object.assign(
|
||||
_plugin_vue_export_helper_t(
|
||||
defineComponent({
|
||||
__name: `ConfigResourceOption`,
|
||||
props: {
|
||||
modelValue: {},
|
||||
options: {},
|
||||
label: {},
|
||||
unit: {},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
},
|
||||
},
|
||||
emits: [`update:modelValue`, `change`],
|
||||
setup(c, { emit: d }) {
|
||||
let _ = c,
|
||||
v = d,
|
||||
y = computed(() =>
|
||||
_.options
|
||||
.map((e, t) => {
|
||||
let n = e.type === `step` || e.type === `total`,
|
||||
r = Number(n ? (e.min_value ?? e.value) : e.value),
|
||||
i = Number(
|
||||
n ? (e.max_value ?? e.min_value ?? e.value) : e.value,
|
||||
);
|
||||
return {
|
||||
value: t,
|
||||
min: r,
|
||||
max: i,
|
||||
step: Number(e.step) > 0 ? Number(e.step) : 1,
|
||||
label: e.desc || `${r}${i > r ? `–${i}` : ``} ${_.unit}`,
|
||||
};
|
||||
})
|
||||
.filter(
|
||||
(e) =>
|
||||
Number.isFinite(e.min) &&
|
||||
Number.isFinite(e.max) &&
|
||||
e.max >= e.min,
|
||||
),
|
||||
),
|
||||
b = computed(() => y.value.some((e) => e.max > e.min)),
|
||||
x = computed(
|
||||
() =>
|
||||
y.value.find((e) => {
|
||||
let t =
|
||||
_.modelValue === null ||
|
||||
_.modelValue === void 0 ||
|
||||
_.modelValue === ``
|
||||
? NaN
|
||||
: Number(_.modelValue);
|
||||
return (
|
||||
t >= e.min &&
|
||||
t <= e.max &&
|
||||
Math.abs(
|
||||
(t - e.min) / e.step - Math.round((t - e.min) / e.step),
|
||||
) < 1e-7
|
||||
);
|
||||
}) ?? y.value[0],
|
||||
),
|
||||
S = computed(() =>
|
||||
_.modelValue === null ||
|
||||
_.modelValue === void 0 ||
|
||||
_.modelValue === ``
|
||||
? null
|
||||
: Number(_.modelValue),
|
||||
);
|
||||
function C(e) {
|
||||
if (_.disabled || e === null || !Number.isFinite(e) || !x.value)
|
||||
return;
|
||||
let { min: t, max: n, step: r } = x.value,
|
||||
i = t + Math.floor((n - t) / r + 1e-7) * r,
|
||||
a = Number(
|
||||
Math.min(
|
||||
i,
|
||||
Math.max(t, t + Math.round((e - t) / r) * r),
|
||||
).toFixed(8),
|
||||
);
|
||||
Number(_.modelValue) !== a &&
|
||||
(v(`update:modelValue`, a), v(`change`));
|
||||
}
|
||||
function w(e) {
|
||||
if (_.disabled) return;
|
||||
let t = y.value.find((t) => t.value === e);
|
||||
if (!t) return;
|
||||
let n = S.value;
|
||||
(x.value === t &&
|
||||
n !== null &&
|
||||
n >= t.min &&
|
||||
n <= t.max &&
|
||||
Math.abs(
|
||||
(n - t.min) / t.step - Math.round((n - t.min) / t.step),
|
||||
) < 1e-7) ||
|
||||
(v(`update:modelValue`, t.min), v(`change`));
|
||||
}
|
||||
return (r, d) => {
|
||||
let _ = ConfigChoiceGrid,
|
||||
v = select,
|
||||
T = inputnumber;
|
||||
return unref(b)
|
||||
? (openBlock(),
|
||||
createElementBlock(`div`, h, [
|
||||
unref(y).length > 1
|
||||
? (openBlock(),
|
||||
createBlock(
|
||||
v,
|
||||
{
|
||||
key: 0,
|
||||
"aria-label": `${c.label}范围`,
|
||||
disabled: c.disabled,
|
||||
"model-value": unref(x)?.value,
|
||||
options: unref(y),
|
||||
"option-label": `label`,
|
||||
"option-value": `value`,
|
||||
"onUpdate:modelValue": w,
|
||||
},
|
||||
null,
|
||||
8,
|
||||
[`aria-label`, `disabled`, `model-value`, `options`],
|
||||
))
|
||||
: createCommentVNode(``, !0),
|
||||
createVNode(
|
||||
T,
|
||||
{
|
||||
"aria-label": c.label,
|
||||
disabled: c.disabled || unref(x)?.min === unref(x)?.max,
|
||||
"model-value": unref(S),
|
||||
min: unref(x)?.min,
|
||||
max: unref(x)?.max,
|
||||
step: unref(x)?.step,
|
||||
suffix: ` ${c.unit}`,
|
||||
"show-buttons": ``,
|
||||
"button-layout": `horizontal`,
|
||||
"onUpdate:modelValue": C,
|
||||
},
|
||||
null,
|
||||
8,
|
||||
[
|
||||
`aria-label`,
|
||||
`disabled`,
|
||||
`model-value`,
|
||||
`min`,
|
||||
`max`,
|
||||
`step`,
|
||||
`suffix`,
|
||||
],
|
||||
),
|
||||
unref(x)
|
||||
? (openBlock(),
|
||||
createElementBlock(`small`, g, [
|
||||
createTextVNode(
|
||||
toDisplayString(unref(x).min) +
|
||||
`–` +
|
||||
toDisplayString(unref(x).max) +
|
||||
` ` +
|
||||
toDisplayString(c.unit),
|
||||
1,
|
||||
),
|
||||
unref(x).max > unref(x).min
|
||||
? (openBlock(),
|
||||
createElementBlock(
|
||||
Fragment,
|
||||
{
|
||||
key: 0,
|
||||
},
|
||||
[
|
||||
createTextVNode(
|
||||
`,步长 ` +
|
||||
toDisplayString(unref(x).step) +
|
||||
` ` +
|
||||
toDisplayString(c.unit),
|
||||
1,
|
||||
),
|
||||
],
|
||||
64,
|
||||
))
|
||||
: createCommentVNode(``, !0),
|
||||
]))
|
||||
: createCommentVNode(``, !0),
|
||||
]))
|
||||
: (openBlock(),
|
||||
createBlock(
|
||||
_,
|
||||
{
|
||||
key: 0,
|
||||
label: c.label,
|
||||
disabled: c.disabled,
|
||||
"model-value": unref(x)?.value,
|
||||
options: unref(y),
|
||||
compact: ``,
|
||||
"onUpdate:modelValue": w,
|
||||
},
|
||||
null,
|
||||
8,
|
||||
[`label`, `disabled`, `model-value`, `options`],
|
||||
));
|
||||
};
|
||||
},
|
||||
}),
|
||||
[[`__scopeId`, `data-v-5a04c843`]],
|
||||
),
|
||||
{
|
||||
__name: `ConfigResourceOption`,
|
||||
},
|
||||
);
|
||||
export {};
|
||||
export default _;
|
||||
</script>
|
||||
Reference in new issue
Block a user