yuyeon 0.2.3-rc.20 → 0.2.3-rc.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -28,9 +28,13 @@ export const YDatePicker = defineComponent({
|
|
|
28
28
|
const mode = useModelDuplex(props, 'mode');
|
|
29
29
|
const month = ref(dateUtil.getMonth(dateUtil.date()));
|
|
30
30
|
const year = ref(dateUtil.getYear(dateUtil.date()));
|
|
31
|
+
const propMonth = Number(props.month);
|
|
32
|
+
if (!isNaN(propMonth)) month.value = propMonth;
|
|
33
|
+
const propYear = Number(props.year);
|
|
34
|
+
if (!isNaN(propYear)) year.value = propYear;
|
|
31
35
|
const displayDate = computed(() => {
|
|
32
|
-
const date = dateUtil.setYear(dateUtil.date(), year.value);
|
|
33
|
-
return dateUtil.setMonth(date, month.value);
|
|
36
|
+
const date = dateUtil.setYear(dateUtil.date(), +year.value);
|
|
37
|
+
return dateUtil.setMonth(date, +month.value);
|
|
34
38
|
});
|
|
35
39
|
const monthText = computed(() => {
|
|
36
40
|
return dateUtil.format(displayDate.value, 'month');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YDatePicker.mjs","names":["Transition","computed","ref","watch","useModelDuplex","useRender","useDate","omit","chooseProps","defineComponent","propsFactory","YDateCalendar","pressYDateCalendarPropsOptions","YDatePickerControl","YMonthPicker","YYearPicker","pressYDatePickerPropsOptions","modelValue","YDatePicker","name","props","emits","setup","_ref","emit","yearPicker$","dateUtil","model","mode","month","getMonth","date","year","getYear","
|
|
1
|
+
{"version":3,"file":"YDatePicker.mjs","names":["Transition","computed","ref","watch","useModelDuplex","useRender","useDate","omit","chooseProps","defineComponent","propsFactory","YDateCalendar","pressYDateCalendarPropsOptions","YDatePickerControl","YMonthPicker","YYearPicker","pressYDatePickerPropsOptions","modelValue","YDatePicker","name","props","emits","setup","_ref","emit","yearPicker$","dateUtil","model","mode","month","getMonth","date","year","getYear","propMonth","Number","isNaN","value","propYear","displayDate","setYear","setMonth","monthText","format","yearText","toggleMonthMode","toggleYearMode","onClickYear","onClickMonth","onClickPage","dir","changePage","change","onClickPrev","onClickNext","_createVNode","_mergeProps","default","$event","onMode"],"sources":["../../../src/components/date-picker/YDatePicker.tsx"],"sourcesContent":["import { Transition, computed, ref, watch } from 'vue';\r\n\r\nimport { useModelDuplex } from '@/composables/communication';\r\nimport { useRender } from '@/composables/component';\r\nimport { useDate } from '@/composables/date';\r\nimport { omit } from '@/util';\r\nimport { chooseProps, defineComponent, propsFactory } from '@/util/component';\r\n\r\nimport { YDateCalendar, pressYDateCalendarPropsOptions } from './YDateCalendar';\r\nimport { YDatePickerControl } from './YDatePickerControl';\r\nimport { YMonthPicker } from './YMonthPicker';\r\nimport { YYearPicker } from './YYearPicker';\r\n\r\nimport './YDatePicker.scss';\r\n\r\nexport const pressYDatePickerPropsOptions = propsFactory(\r\n {\r\n ...omit(pressYDateCalendarPropsOptions(), ['modelValue']),\r\n modelValue: null,\r\n },\r\n 'YDatePicker',\r\n);\r\n\r\nexport const YDatePicker = defineComponent({\r\n name: 'YDatePicker',\r\n props: pressYDatePickerPropsOptions(),\r\n emits: ['update:month', 'update:year', 'update:modelValue', 'update:mode'],\r\n setup(props, { emit }) {\r\n const yearPicker$ = ref<typeof YYearPicker>();\r\n const dateUtil = useDate();\r\n const model = useModelDuplex(props, 'modelValue');\r\n const mode = useModelDuplex(props, 'mode');\r\n\r\n const month = ref<number>(dateUtil.getMonth(dateUtil.date()));\r\n const year = ref<number>(dateUtil.getYear(dateUtil.date()));\r\n\r\n const propMonth = Number(props.month);\r\n if (!isNaN(propMonth)) month.value = propMonth;\r\n const propYear = Number(props.year);\r\n if (!isNaN(propYear)) year.value = propYear;\r\n\r\n const displayDate = computed(() => {\r\n const date = dateUtil.setYear(dateUtil.date(), +year.value);\r\n return dateUtil.setMonth(date, +month.value);\r\n });\r\n\r\n const monthText = computed(() => {\r\n return dateUtil.format(displayDate.value, 'month');\r\n });\r\n\r\n const yearText = computed(() => {\r\n return dateUtil.format(displayDate.value, 'year');\r\n });\r\n\r\n function toggleMonthMode() {\r\n mode.value = mode.value === 'month' ? 'date' : 'month';\r\n }\r\n\r\n function toggleYearMode() {\r\n mode.value = mode.value === 'year' ? 'date' : 'year';\r\n }\r\n\r\n function onClickYear() {\r\n toggleYearMode();\r\n }\r\n\r\n function onClickMonth() {\r\n toggleMonthMode();\r\n }\r\n\r\n function onClickPage(dir: number) {\r\n if (mode.value === 'month') {\r\n year.value = year.value + dir;\r\n return;\r\n }\r\n if (mode.value === 'year') {\r\n yearPicker$.value?.changePage(dir);\r\n return;\r\n }\r\n const change = month.value + dir;\r\n if (change > 11) {\r\n year.value += 1;\r\n month.value = 0;\r\n } else if (change < 0) {\r\n year.value -= 1;\r\n month.value = 11;\r\n } else {\r\n month.value = change;\r\n }\r\n }\r\n\r\n function onClickPrev() {\r\n onClickPage(-1);\r\n }\r\n\r\n function onClickNext() {\r\n onClickPage(1);\r\n }\r\n\r\n watch(month, () => {\r\n if (mode.value === 'month') toggleMonthMode();\r\n emit('update:month', month.value);\r\n });\r\n\r\n watch(year, () => {\r\n if (mode.value === 'year') {\r\n mode.value = 'month';\r\n }\r\n emit('update:year', year.value);\r\n });\r\n\r\n useRender(() => (\r\n <div class={['y-date-picker']}>\r\n <YDatePickerControl\r\n {...chooseProps(props, YDatePickerControl.props)}\r\n yearText={yearText.value}\r\n monthText={monthText.value}\r\n onClick:year={onClickYear}\r\n onClick:month={onClickMonth}\r\n onClick:prev={onClickPrev}\r\n onClick:next={onClickNext}\r\n ></YDatePickerControl>\r\n <Transition name=\"fade\" mode=\"out-in\">\r\n {mode.value === 'month' ? (\r\n <YMonthPicker\r\n v-model={month.value}\r\n onMode={() => {\r\n mode.value = 'date';\r\n }}\r\n />\r\n ) : mode.value === 'year' ? (\r\n <YYearPicker\r\n v-model={year.value}\r\n ref={yearPicker$}\r\n onMode={() => {\r\n mode.value = 'month';\r\n }}\r\n />\r\n ) : (\r\n <YDateCalendar\r\n {...chooseProps(props, YDateCalendar.props)}\r\n hideHeader={true}\r\n v-model={model.value}\r\n v-model:month={month.value}\r\n v-model:year={year.value}\r\n />\r\n )}\r\n </Transition>\r\n </div>\r\n ));\r\n },\r\n});\r\n\r\nexport type YDatePicker = InstanceType<typeof YDatePicker>;\r\n"],"mappings":"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"}
|