UNPKG

@vue-js-cron/prime

Version:
161 lines (160 loc) 4.39 kB
import { cronCoreProps as e, selectProps as t, setupCron as n, setupSelect as r } from "@vue-js-cron/core"; import i from "primevue/button"; import { usePrimeVue as a } from "primevue/config"; import o from "primevue/listbox"; import s from "primevue/popover"; import { Fragment as c, createCommentVNode as l, createElementBlock as u, createTextVNode as d, createVNode as f, defineComponent as p, mergeProps as m, normalizeClass as h, openBlock as g, ref as _, renderList as v, resolveComponent as y, toDisplayString as b, vShow as x, withCtx as S, withDirectives as C, withModifiers as w } from "vue"; //#region src/components/select.vue?vue&type=script&lang.ts var T = p({ inheritAttrs: !1, name: "CustomSelect", components: { PButton: i, PPopover: s, Listbox: o }, props: { ...t(), buttonProps: { type: Object, default: () => {} }, popoverProps: { type: Object, default: () => {} }, hideOnClick: { type: Boolean, default: !0 } }, emits: ["update:model-value"], setup(e, t) { let n = r(e, () => e.modelValue, t), i = _(), o = (a().config.theme?.options?.prefix ?? "") + "-", s = (e) => o + e, c = (e) => { i.value.toggle(e); }, l = (t, r) => { r && (n.select(r), e.hideOnClick && c(t)); }; return { ...n, popover: i, toggle: c, cx: s, select: l }; } }), E = (e, t) => { let n = e.__vccOpts || e; for (let [e, r] of t) n[e] = r; return n; }, D = { class: "vcron-p-select" }, O = ["onClick"]; function k(e, t, n, r, i, a) { let o = y("Listbox"), s = y("p-button"), p = y("p-popover"); return g(), u("span", D, [ C(f(o, null, null, 512), [[x, !1]]), f(s, m({ disabled: e.disabled }, e.buttonProps, { onClick: e.toggle }), { default: S(() => [d(b(e.selection ?? e.selectedStr), 1), !e.disabled && e.clearable && !e.isEmpty ? (g(), u("i", { key: 0, class: "pi pi-times", onClick: [t[0] ||= (t) => e.clear(), t[1] ||= w(() => {}, ["stop"])] })) : l("", !0)]), _: 1 }, 16, ["disabled", "onClick"]), f(p, m(e.popoverProps, { ref: "popover" }), { default: S(() => [(g(!0), u(c, null, v(e.itemRows, (t, n) => (g(), u("div", { class: "vcron-p-row", key: n }, [(g(!0), u(c, null, v(t, (t, n) => (g(), u("div", { class: h([[e.has(t) ? "vcron-p-col-selected" : ""], "vcron-p-col"]), flex: 1, key: n, onClick: (n) => { t && e.select(n, t); } }, [t ? (g(), u(c, { key: 0 }, [d(b(t.text), 1)], 64)) : l("", !0)], 10, O))), 128))]))), 128))]), _: 1 }, 16) ]); } var A = /*#__PURE__*/ E(T, [["render", k]]), j = () => ({ buttonProps: { type: Object, default() { return {}; } }, popoverProps: { type: Object, default: () => {} }, ...e() }), M = p({ name: "CronPrime", components: { CustomSelect: A }, props: j(), emits: [ "update:model-value", "update:period", "error" ], setup(e, t) { return n(e, t); } }); //#endregion //#region src/components/cron-prime.vue function N(e, t, n, r, i, a) { let o = y("custom-select"); return g(), u("div", null, [ d(b(e.period.prefix.value) + " ", 1), f(o, { "model-value": e.period.selected.value.id, "item-value": "id", items: e.period.items, "onUpdate:modelValue": t[0] ||= (t) => e.period.select(t), disabled: e.disabled, "button-props": e.buttonProps, "popover-props": e.popoverProps }, null, 8, [ "model-value", "items", "disabled", "button-props", "popover-props" ]), d(" " + b(e.period.suffix.value) + " ", 1), (g(!0), u(c, null, v(e.selected, (t) => (g(), u(c, { key: t.id }, [ d(b(t.prefix.value) + " ", 1), f(o, { "model-value": t.selected.value, "onUpdate:modelValue": (e) => t.select(e), items: t.items, cols: e.cols[t.id] || 1, selection: t.text.value, multiple: "", clearable: e.clearable, disabled: e.disabled, "button-props": e.buttonProps, "popover-props": e.popoverProps, hideOnClick: !1 }, null, 8, [ "model-value", "onUpdate:modelValue", "items", "cols", "selection", "clearable", "disabled", "button-props", "popover-props" ]), d(" " + b(t.suffix.value), 1) ], 64))), 128)) ]); } var P = /*#__PURE__*/ E(M, [["render", N]]), F = { install: (e) => { e.component("CronPrime", P); } }; //#endregion export { P as CronPrime, F as CronPrimePlugin, F as default, j as cronPrimeProps }; //# sourceMappingURL=prime.js.map