UNPKG

@vue-js-cron/prime

Version:
1 lines 15.3 kB
{"version":3,"file":"prime.umd.cjs","names":[],"sources":["../src/components/select.vue","../src/components/select.vue","../src/components/cron-prime.vue","../src/components/cron-prime.vue","../src/index.ts"],"sourcesContent":["<template>\n <span class=\"vcron-p-select\">\n <!-- HACK: load style of PrimeVue Listbox -->\n <Listbox v-show=\"false\"></Listbox>\n <p-button :disabled=\"disabled\" v-bind=\"buttonProps\" @click=\"toggle\">\n {{ selection ?? selectedStr\n }}<i\n class=\"pi pi-times\"\n v-if=\"!disabled && clearable && !isEmpty\"\n @click=\"clear()\"\n @click.stop=\"\"\n />\n </p-button>\n\n <p-popover v-bind=\"popoverProps\" ref=\"popover\">\n <div class=\"vcron-p-row\" v-for=\"(itemRow, i) in itemRows\" :key=\"i\">\n <div\n :class=\"[has(item) ? 'vcron-p-col-selected' : '']\"\n class=\"vcron-p-col\"\n :flex=\"1\"\n v-for=\"(item, j) in itemRow\"\n :key=\"j\"\n @click=\"\n (evt) => {\n if (!item) return\n select(evt, item)\n }\n \"\n >\n <template v-if=\"item\">\n {{ item.text }}\n </template>\n </div>\n </div>\n </p-popover>\n </span>\n</template>\n\n<script lang=\"ts\">\nimport { selectProps, setupSelect } from '@vue-js-cron/core'\nimport { default as PButton, type ButtonProps } from 'primevue/button'\nimport { usePrimeVue } from 'primevue/config'\nimport Listbox from 'primevue/listbox'\nimport { default as PPopover, type PopoverProps } from 'primevue/popover'\nimport { defineComponent, ref, type PropType } from 'vue'\n\nexport default defineComponent({\n inheritAttrs: false,\n name: 'CustomSelect',\n components: {\n PButton,\n PPopover,\n Listbox,\n },\n props: {\n ...selectProps<any, string | number>(),\n buttonProps: {\n type: Object as PropType<ButtonProps>,\n default: () => {},\n },\n popoverProps: {\n type: Object as PropType<PopoverProps>,\n default: () => {},\n },\n hideOnClick: {\n type: Boolean,\n default: true,\n },\n },\n emits: ['update:model-value'],\n setup(props, ctx) {\n const s = setupSelect(props, () => props.modelValue, ctx)\n const popover = ref()\n const primevue = usePrimeVue()\n const prefix: string = (primevue.config.theme?.options?.prefix ?? '') + '-'\n\n const cx = (name: string) => {\n return prefix + name\n }\n\n const toggle = (evt: Event) => {\n popover.value.toggle(evt)\n }\n\n const select = (evt: Event, item: any) => {\n if (!item) return\n s.select(item)\n if (props.hideOnClick) {\n toggle(evt)\n }\n }\n\n return {\n ...s,\n popover,\n toggle,\n cx,\n select,\n }\n },\n})\n</script>\n\n<style>\n.vcron-p-row {\n display: flex;\n flex-wrap: nowrap;\n border: 0px !important;\n box-shadow: none !important;\n}\n\n.vcron-p-col {\n flex-basis: 100%;\n min-width: 0;\n text-align: center;\n cursor: pointer;\n overflow: hidden;\n padding: var(--p-listbox-option-padding);\n border: 0 none;\n border-radius: var(--p-listbox-option-border-radius);\n color: var(--p-listbox-option-color);\n transition:\n background var(--p-listbox-transition-duration),\n color var(--p-listbox-transition-duration),\n border-color var(--p-listbox-transition-duration),\n box-shadow var(--p-listbox-transition-duration),\n outline-color var(--p-listbox-transition-duration);\n}\n\n.vcron-p-col:not(.vcron-p-col-selected):hover {\n background: var(--p-listbox-option-focus-background);\n color: var(--p-listbox-option-focus-color);\n}\n\n.vcron-p-col-selected {\n background: var(--p-listbox-option-selected-background);\n color: var(--p-listbox-option-selected-color);\n}\n</style>\n","<template>\n <span class=\"vcron-p-select\">\n <!-- HACK: load style of PrimeVue Listbox -->\n <Listbox v-show=\"false\"></Listbox>\n <p-button :disabled=\"disabled\" v-bind=\"buttonProps\" @click=\"toggle\">\n {{ selection ?? selectedStr\n }}<i\n class=\"pi pi-times\"\n v-if=\"!disabled && clearable && !isEmpty\"\n @click=\"clear()\"\n @click.stop=\"\"\n />\n </p-button>\n\n <p-popover v-bind=\"popoverProps\" ref=\"popover\">\n <div class=\"vcron-p-row\" v-for=\"(itemRow, i) in itemRows\" :key=\"i\">\n <div\n :class=\"[has(item) ? 'vcron-p-col-selected' : '']\"\n class=\"vcron-p-col\"\n :flex=\"1\"\n v-for=\"(item, j) in itemRow\"\n :key=\"j\"\n @click=\"\n (evt) => {\n if (!item) return\n select(evt, item)\n }\n \"\n >\n <template v-if=\"item\">\n {{ item.text }}\n </template>\n </div>\n </div>\n </p-popover>\n </span>\n</template>\n\n<script lang=\"ts\">\nimport { selectProps, setupSelect } from '@vue-js-cron/core'\nimport { default as PButton, type ButtonProps } from 'primevue/button'\nimport { usePrimeVue } from 'primevue/config'\nimport Listbox from 'primevue/listbox'\nimport { default as PPopover, type PopoverProps } from 'primevue/popover'\nimport { defineComponent, ref, type PropType } from 'vue'\n\nexport default defineComponent({\n inheritAttrs: false,\n name: 'CustomSelect',\n components: {\n PButton,\n PPopover,\n Listbox,\n },\n props: {\n ...selectProps<any, string | number>(),\n buttonProps: {\n type: Object as PropType<ButtonProps>,\n default: () => {},\n },\n popoverProps: {\n type: Object as PropType<PopoverProps>,\n default: () => {},\n },\n hideOnClick: {\n type: Boolean,\n default: true,\n },\n },\n emits: ['update:model-value'],\n setup(props, ctx) {\n const s = setupSelect(props, () => props.modelValue, ctx)\n const popover = ref()\n const primevue = usePrimeVue()\n const prefix: string = (primevue.config.theme?.options?.prefix ?? '') + '-'\n\n const cx = (name: string) => {\n return prefix + name\n }\n\n const toggle = (evt: Event) => {\n popover.value.toggle(evt)\n }\n\n const select = (evt: Event, item: any) => {\n if (!item) return\n s.select(item)\n if (props.hideOnClick) {\n toggle(evt)\n }\n }\n\n return {\n ...s,\n popover,\n toggle,\n cx,\n select,\n }\n },\n})\n</script>\n\n<style>\n.vcron-p-row {\n display: flex;\n flex-wrap: nowrap;\n border: 0px !important;\n box-shadow: none !important;\n}\n\n.vcron-p-col {\n flex-basis: 100%;\n min-width: 0;\n text-align: center;\n cursor: pointer;\n overflow: hidden;\n padding: var(--p-listbox-option-padding);\n border: 0 none;\n border-radius: var(--p-listbox-option-border-radius);\n color: var(--p-listbox-option-color);\n transition:\n background var(--p-listbox-transition-duration),\n color var(--p-listbox-transition-duration),\n border-color var(--p-listbox-transition-duration),\n box-shadow var(--p-listbox-transition-duration),\n outline-color var(--p-listbox-transition-duration);\n}\n\n.vcron-p-col:not(.vcron-p-col-selected):hover {\n background: var(--p-listbox-option-focus-background);\n color: var(--p-listbox-option-focus-color);\n}\n\n.vcron-p-col-selected {\n background: var(--p-listbox-option-selected-background);\n color: var(--p-listbox-option-selected-color);\n}\n</style>\n","<template>\n <div>\n {{ period.prefix.value }}\n\n <custom-select\n :model-value=\"period.selected.value.id\"\n item-value=\"id\"\n :items=\"period.items\"\n @update:model-value=\"period.select($event)\"\n :disabled=\"disabled\"\n :button-props=\"buttonProps\"\n :popover-props=\"popoverProps\"\n />\n\n {{ period.suffix.value }}\n\n <template v-for=\"f in selected\" :key=\"f.id\">\n {{ f.prefix.value }}\n\n <custom-select\n :model-value=\"f.selected.value\"\n @update:model-value=\"f.select($event)\"\n :items=\"f.items\"\n :cols=\"cols[f.id] || 1\"\n :selection=\"f.text.value\"\n multiple\n :clearable=\"clearable\"\n :disabled=\"disabled\"\n :button-props=\"buttonProps\"\n :popover-props=\"popoverProps\"\n :hideOnClick=\"false\"\n />\n\n {{ f.suffix.value }}\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport CustomSelect from '@/components/select.vue'\nimport { cronCoreProps, setupCron } from '@vue-js-cron/core'\nimport { defineComponent, type ExtractPropTypes } from 'vue'\n\nexport const cronPrimeProps = () => ({\n /**\n * Properties of PrimeVue Button\n *\n * @remarks\n * See {@link https://primevue.org/button/#api.button.props}\n */\n buttonProps: {\n type: Object,\n default() {\n return {}\n },\n },\n /**\n * Properties of PrimeVue Popover\n *\n * @remarks\n * See {@link https://primevue.org/popover/#api.popover.props}\n */\n popoverProps: {\n type: Object,\n default: () => {},\n },\n ...cronCoreProps(),\n})\n\n/**\n * Props of {@link CronPrime}\n *\n * See {@link @vue-js-cron/core!CronCoreProps | CronCoreProps} for a detailed description of each prop\n *\n * @interface\n */\nexport type CronPrimeProps = Partial<ExtractPropTypes<ReturnType<typeof cronPrimeProps>>>\n\n/**\n * @class\n */\nexport default defineComponent({\n name: 'CronPrime',\n components: {\n CustomSelect,\n },\n props: cronPrimeProps(),\n emits: ['update:model-value', 'update:period', 'error'],\n setup(props, ctx) {\n return setupCron(props, ctx)\n },\n})\n</script>\n","<template>\n <div>\n {{ period.prefix.value }}\n\n <custom-select\n :model-value=\"period.selected.value.id\"\n item-value=\"id\"\n :items=\"period.items\"\n @update:model-value=\"period.select($event)\"\n :disabled=\"disabled\"\n :button-props=\"buttonProps\"\n :popover-props=\"popoverProps\"\n />\n\n {{ period.suffix.value }}\n\n <template v-for=\"f in selected\" :key=\"f.id\">\n {{ f.prefix.value }}\n\n <custom-select\n :model-value=\"f.selected.value\"\n @update:model-value=\"f.select($event)\"\n :items=\"f.items\"\n :cols=\"cols[f.id] || 1\"\n :selection=\"f.text.value\"\n multiple\n :clearable=\"clearable\"\n :disabled=\"disabled\"\n :button-props=\"buttonProps\"\n :popover-props=\"popoverProps\"\n :hideOnClick=\"false\"\n />\n\n {{ f.suffix.value }}\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport CustomSelect from '@/components/select.vue'\nimport { cronCoreProps, setupCron } from '@vue-js-cron/core'\nimport { defineComponent, type ExtractPropTypes } from 'vue'\n\nexport const cronPrimeProps = () => ({\n /**\n * Properties of PrimeVue Button\n *\n * @remarks\n * See {@link https://primevue.org/button/#api.button.props}\n */\n buttonProps: {\n type: Object,\n default() {\n return {}\n },\n },\n /**\n * Properties of PrimeVue Popover\n *\n * @remarks\n * See {@link https://primevue.org/popover/#api.popover.props}\n */\n popoverProps: {\n type: Object,\n default: () => {},\n },\n ...cronCoreProps(),\n})\n\n/**\n * Props of {@link CronPrime}\n *\n * See {@link @vue-js-cron/core!CronCoreProps | CronCoreProps} for a detailed description of each prop\n *\n * @interface\n */\nexport type CronPrimeProps = Partial<ExtractPropTypes<ReturnType<typeof cronPrimeProps>>>\n\n/**\n * @class\n */\nexport default defineComponent({\n name: 'CronPrime',\n components: {\n CustomSelect,\n },\n props: cronPrimeProps(),\n emits: ['update:model-value', 'update:period', 'error'],\n setup(props, ctx) {\n return setupCron(props, ctx)\n },\n})\n</script>\n","import {\n default as CronPrime,\n cronPrimeProps,\n type CronPrimeProps,\n} from '@/components/cron-prime.vue'\nimport type { App } from 'vue'\n\nexport { CronPrime, cronPrimeProps, type CronPrimeProps }\nexport const CronPrimePlugin = {\n install: (app: App) => {\n app.component('CronPrime', CronPrime)\n },\n}\nexport default CronPrimePlugin\n"],"mappings":"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"}