From 51bc6468e067c32c2fd45bdb4cbab79d28f90e0c Mon Sep 17 00:00:00 2001 From: 07akioni <07akioni2@gmail.com> Date: Fri, 5 Jul 2019 19:57:05 +0800 Subject: [PATCH 01/11] feat(date-time-picker): an available version. --- demo/components/datePickerDemo.vue | 5 +- packages/common/DatePicker/src/main.vue | 401 +++++++++++++++++++----- styles/Button.scss | 19 ++ styles/DatePicker.scss | 241 ++++++++++++++ styles/index.scss | 1 + styles/theme/default.scss | 17 + 6 files changed, 607 insertions(+), 77 deletions(-) create mode 100644 styles/DatePicker.scss diff --git a/demo/components/datePickerDemo.vue b/demo/components/datePickerDemo.vue index 5c7d0001e..a7271302a 100644 --- a/demo/components/datePickerDemo.vue +++ b/demo/components/datePickerDemo.vue @@ -14,7 +14,10 @@ Basic Usage
- timestamp: {{ timestamp }} +
+ timestamp: {{ timestamp }} +
+
diff --git a/packages/common/DatePicker/src/main.vue b/packages/common/DatePicker/src/main.vue index 33c3ff8a5..d5b2c6021 100644 --- a/packages/common/DatePicker/src/main.vue +++ b/packages/common/DatePicker/src/main.vue @@ -1,93 +1,231 @@ +
@@ -33,10 +86,17 @@ export default { mixins: [docCodeEditorMixin], data () { return { - timestamp: 0 + dateTimeTimestamp: 666666666, + dateTimestamp: null } }, methods: { + onDateTimeChange (timestamp, dateTimeString) { + this.$NMessage.success(`${timestamp}, ${dateTimeString}`) + }, + onDateChange (timestamp, dateString) { + this.$NMessage.success(`${timestamp}, ${dateString}`) + } } } diff --git a/packages/common/DatePicker/src/main.vue b/packages/common/DatePicker/src/main.vue index d5b2c6021..431bbd8c6 100644 --- a/packages/common/DatePicker/src/main.vue +++ b/packages/common/DatePicker/src/main.vue @@ -10,7 +10,7 @@
-
+
+
- {{ calendarTime.startOf('month').format('MMMM') }} {{ calendarTime.year() }} + {{ calendarDateTime.format('MMMM') }} {{ calendarDateTime.year() }}
-.date { - text-align: center; - width: 36px; - opacity: .6; - &.n-date-picker-calendar__date--current { - color: blue; - } - &.n-date-picker-calendar__date--selected { - background-color: red; - } - cursor: pointer; - &.n-date-picker-calendar__date--in-display-month, &.n-date-picker-calendar__date--day { - opacity: 1; - } -} - diff --git a/packages/common/DatePicker/src/utils.js b/packages/common/DatePicker/src/utils.js index a94cefc34..de8e261f6 100644 --- a/packages/common/DatePicker/src/utils.js +++ b/packages/common/DatePicker/src/utils.js @@ -1,7 +1,13 @@ import moment from 'moment' +/** + * change date of `time` accroding to `dateItem` + * keep time of `time` + * return a new Moment Object according to time + * @param {Moment} time + * @param {Object} dateItem + */ function setDate (time, dateItem) { - console.log(time, dateItem) time.year(dateItem.year) time.month(dateItem.month) time.date(dateItem.date) diff --git a/packages/common/Input/src/main.vue b/packages/common/Input/src/main.vue index 5c2b782ae..a94209fee 100644 --- a/packages/common/Input/src/main.vue +++ b/packages/common/Input/src/main.vue @@ -77,7 +77,7 @@ export default { default: '' }, value: { - type: String, + type: [String, Number], default: '' }, disabled: { From 93ee695c08c07d3fe24c3e6a378975fb72666dbb Mon Sep 17 00:00:00 2001 From: 07akioni <07akioni2@gmail.com> Date: Mon, 8 Jul 2019 16:25:02 +0800 Subject: [PATCH 05/11] chore(input): change v-model eventname back to 'change' Someone can't reproduce the bug that input shows [Object object]. So I will roll back it. --- packages/common/Input/src/main.vue | 4 ++-- styles/Input.scss | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/common/Input/src/main.vue b/packages/common/Input/src/main.vue index 314a75c42..a94209fee 100644 --- a/packages/common/Input/src/main.vue +++ b/packages/common/Input/src/main.vue @@ -65,7 +65,7 @@ export default { }, model: { prop: 'value', - event: 'changes' + event: 'change' }, props: { type: { @@ -107,7 +107,7 @@ export default { }, methods: { handleInput (e) { - this.$emit('changes', e.target.value) + this.$emit('change', e.target.value) }, handleBlur (e) { this.$emit('blur', e) diff --git a/styles/Input.scss b/styles/Input.scss index e85bb6cbb..ce04fbbac 100644 --- a/styles/Input.scss +++ b/styles/Input.scss @@ -82,7 +82,6 @@ padding: 0 14px; font-size: $large-input-font-size; } - } .n-input__input.n-input__input--round { &.n-input__input--small-size { From 73a77492b6881b65c2cf410b1c26f92f22a49193 Mon Sep 17 00:00:00 2001 From: 07akioni <07akioni2@gmail.com> Date: Mon, 8 Jul 2019 17:24:49 +0800 Subject: [PATCH 06/11] fix(input): forget to remove :on=$listeners of input, this may cause some native event be put into wrong handler --- demo/components/inputDemo.vue | 21 ++++++++++++++++++++ demo/demo.vue | 2 +- package.json | 2 +- packages/common/Input/src/main.vue | 31 ++++++++++++++++++++++++++---- 4 files changed, 50 insertions(+), 6 deletions(-) diff --git a/demo/components/inputDemo.vue b/demo/components/inputDemo.vue index 4f188f8f8..2bf6bd06f 100644 --- a/demo/components/inputDemo.vue +++ b/demo/components/inputDemo.vue @@ -100,6 +100,7 @@ export default { @focus="handleFocus" @change="handleChange" @keyup="handleKeyUp" + @input="handleInput" />
value: {{ value }} @@ -121,6 +122,23 @@ export default { return { value: null } + }, + methods: { + handleFocus () { + this.$NMessage.success('focus') + }, + handleBlur () { + this.$NMessage.success('blur') + }, + handleInput (value) { + this.$NMessage.success('input: ' + value) + }, + handleChange (value) { + this.$NMessage.success('change: ' + value) + }, + handleKeyUp (e) { + this.$NMessage.success('keyup') + } } } @@ -353,6 +371,9 @@ export default { handleBlur () { this.$NMessage.success('blur') }, + handleInput (value) { + this.$NMessage.success('input: ' + value) + }, handleChange (value) { this.$NMessage.success('change: ' + value) }, diff --git a/demo/demo.vue b/demo/demo.vue index 7d0bd7c47..617507cba 100644 --- a/demo/demo.vue +++ b/demo/demo.vue @@ -2,7 +2,7 @@
diff --git a/package.json b/package.json index ba602c61b..ee3a64ae5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "naive-ui", - "version": "0.1.93", + "version": "0.1.94", "description": "", "main": "index.js", "scripts": { diff --git a/packages/common/Input/src/main.vue b/packages/common/Input/src/main.vue index a94209fee..2dc2e1c71 100644 --- a/packages/common/Input/src/main.vue +++ b/packages/common/Input/src/main.vue @@ -7,6 +7,7 @@ }" >