diff --git a/src/Datetime.vue b/src/Datetime.vue index 34979bf..ef15777 100644 --- a/src/Datetime.vue +++ b/src/Datetime.vue @@ -28,6 +28,7 @@ :max-datetime="popupMaxDatetime" @confirm="confirm" @cancel="cancel" + @clear="clear" :auto="auto" :week-start="weekStart" :flow="flow" @@ -94,6 +95,7 @@ export default { type: Object, default () { return { + clear: 'Clear', cancel: 'Cancel', ok: 'Ok' } @@ -217,6 +219,11 @@ export default { cancel () { this.close() }, + clear () { + this.datetime = null + this.emitInput() + this.close() + }, newPopupDatetime () { let datetime = DateTime.utc().setZone(this.zone).set({ seconds: 0, milliseconds: 0 }) diff --git a/src/DatetimePopup.vue b/src/DatetimePopup.vue index 5f62913..59563f0 100644 --- a/src/DatetimePopup.vue +++ b/src/DatetimePopup.vue @@ -41,6 +41,9 @@ :max-time="maxTime">
+
+ {{ phrases.clear }} +
{{ phrases.cancel }}
@@ -80,6 +83,7 @@ export default { type: Object, default () { return { + clear: 'Clear', cancel: 'Cancel', ok: 'Ok' } @@ -209,6 +213,9 @@ export default { cancel () { this.$emit('cancel') }, + clear () { + this.$emit('clear') + }, onChangeYear (year) { this.newDatetime = this.newDatetime.set({ year }) diff --git a/test/specs/DatetimePopup.spec.js b/test/specs/DatetimePopup.spec.js index aef33bb..65484d1 100644 --- a/test/specs/DatetimePopup.spec.js +++ b/test/specs/DatetimePopup.spec.js @@ -68,8 +68,9 @@ describe('DatetimePopup.vue', function () { }) expect(vm.$('.vdatetime-popup__actions')).to.exist - expect(vm.$$('.vdatetime-popup__actions__button')[0]).to.have.text('Cancel') - expect(vm.$$('.vdatetime-popup__actions__button')[1]).to.have.text('Ok') + expect(vm.$$('.vdatetime-popup__actions__button')[0]).to.have.text('Clear') + expect(vm.$$('.vdatetime-popup__actions__button')[1]).to.have.text('Cancel') + expect(vm.$$('.vdatetime-popup__actions__button')[2]).to.have.text('Ok') }) it('should render the action buttons with custom slots', function () {