UNPKG

@opensig/opendesign

Version:

86 lines (85 loc) 3.19 kB
import { defineComponent, inject, ref, computed, createElementBlock, openBlock, createElementVNode, createVNode, toDisplayString, unref, nextTick } from "vue"; import { ODivider } from "../../divider/index.mjs"; import { timePickerInjectKey } from "../../time-picker/provide.mjs"; import _sfc_main$1 from "../../time-picker/components/TimeColumns.vue.mjs"; 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__ */ defineComponent({ __name: "DatePanelTime", emits: ["change"], setup(__props, { expose: __expose, emit: __emit }) { const { format } = inject(timePickerInjectKey); const timeColumnsRef = ref(); const defaultTime = computed(() => format.value === "HH:mm" ? "00:00" : "00:00:00"); const currentTimeDisplay = 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 { 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; 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 openBlock(), createElementBlock("div", _hoisted_1, [ createElementVNode("div", _hoisted_2, [ createElementVNode( "span", _hoisted_3, toDisplayString(currentTimeDisplay.value), 1 /* TEXT */ ) ]), createVNode(unref(ODivider), { class: "o-date-panel-divider" }), createElementVNode("div", _hoisted_4, [ createElementVNode("div", _hoisted_5, [ createVNode( _sfc_main$1, { ref_key: "timeColumnsRef", ref: timeColumnsRef, onChange: handleTimeColumnsChange }, null, 512 /* NEED_PATCH */ ) ]) ]) ]); }; } }); export { _sfc_main as default };