@opensig/opendesign
Version:
85 lines (84 loc) • 3.21 kB
JavaScript
;
const vue = require("vue");
const index = require("../../divider/index.js");
const provide = require("../../time-picker/provide.js");
const TimeColumns_vue_vue_type_script_setup_true_lang = require("../../time-picker/components/TimeColumns.vue.js");
const _hoisted_1 = { class: "o-date-panel-time-aside" };
const _hoisted_2 = { class: "o-date-panel-header" };
const _hoisted_3 = { class: "o-data-panel-header-time-label" };
const _hoisted_4 = { class: "o-date-panel-time-columns" };
const _hoisted_5 = { class: "o-time-panel-content" };
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
__name: "DatePanelTime",
emits: ["change"],
setup(__props, { expose: __expose, emit: __emit }) {
const { format } = vue.inject(provide.timePickerInjectKey);
const timeColumnsRef = vue.ref();
const defaultTime = vue.computed(() => format.value === "HH:mm" ? "00:00" : "00:00:00");
const currentTimeDisplay = vue.ref(defaultTime.value);
const getValue = () => {
var _a;
return ((_a = timeColumnsRef.value) == null ? void 0 : _a.getValue()) ?? defaultTime.value;
};
const setValue = (value) => {
currentTimeDisplay.value = value;
if (timeColumnsRef.value) {
timeColumnsRef.value.setValue(value);
currentTimeDisplay.value = timeColumnsRef.value.getValue() || value;
} else {
vue.nextTick(() => {
var _a, _b;
(_a = timeColumnsRef.value) == null ? void 0 : _a.setValue(value);
if (timeColumnsRef.value) {
currentTimeDisplay.value = timeColumnsRef.value.getValue() || value;
}
(_b = timeColumnsRef.value) == null ? void 0 : _b.scrollAllToSelected(false);
});
}
};
const reset = () => {
currentTimeDisplay.value = defaultTime.value;
vue.nextTick(() => {
var _a, _b;
(_a = timeColumnsRef.value) == null ? void 0 : _a.setValue(defaultTime.value);
(_b = timeColumnsRef.value) == null ? void 0 : _b.scrollAllToSelected(false);
});
};
const emits = __emit;
const handleTimeColumnsChange = (val) => {
if (val) currentTimeDisplay.value = val;
emits("change");
};
__expose({ getValue, setValue, reset });
return (_ctx, _cache) => {
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
vue.createElementVNode("div", _hoisted_2, [
vue.createElementVNode(
"span",
_hoisted_3,
vue.toDisplayString(currentTimeDisplay.value),
1
/* TEXT */
)
]),
vue.createVNode(vue.unref(index.ODivider), { class: "o-date-panel-divider" }),
vue.createElementVNode("div", _hoisted_4, [
vue.createElementVNode("div", _hoisted_5, [
vue.createVNode(
TimeColumns_vue_vue_type_script_setup_true_lang,
{
ref_key: "timeColumnsRef",
ref: timeColumnsRef,
onChange: handleTimeColumnsChange
},
null,
512
/* NEED_PATCH */
)
])
])
]);
};
}
});
module.exports = _sfc_main;