b9041a0d
梁灏
DatePicker add co...
|
1
|
<template>
|
75cb2998
Sergio Crisostomo
Add keyboard navi...
|
2
3
4
5
6
7
8
9
10
11
|
<div :class="[prefixCls + '-confirm']" @keydown.tab.capture="handleTab">
<i-button :class="timeClasses" size="small" type="text" :disabled="timeDisabled" v-if="showTime" @click="handleToggleTime">
{{labels.time}}
</i-button>
<i-button size="small" type="ghost" @click.native="handleClear" @keydown.enter.native="handleClear">
{{labels.clear}}
</i-button>
<i-button size="small" type="primary" @click.native="handleSuccess" @keydown.enter.native="handleSuccess">
{{labels.ok}}
</i-button>
|
b9041a0d
梁灏
DatePicker add co...
|
12
13
14
15
|
</div>
</template>
<script>
import iButton from '../../button/button.vue';
|
4ab11811
梁灏
some component su...
|
16
|
import Locale from '../../../mixins/locale';
|
75cb2998
Sergio Crisostomo
Add keyboard navi...
|
17
|
import Emitter from '../../../mixins/emitter';
|
b9041a0d
梁灏
DatePicker add co...
|
18
19
20
21
|
const prefixCls = 'ivu-picker';
export default {
|
75cb2998
Sergio Crisostomo
Add keyboard navi...
|
22
23
|
mixins: [Locale, Emitter],
components: {iButton},
|
5cc9b892
梁灏
update DateTimePi...
|
24
25
|
props: {
showTime: false,
|
2dc27713
梁灏
update DateTimePi...
|
26
27
|
isTime: false,
timeDisabled: false
|
5cc9b892
梁灏
update DateTimePi...
|
28
|
},
|
75cb2998
Sergio Crisostomo
Add keyboard navi...
|
29
|
data() {
|
b9041a0d
梁灏
DatePicker add co...
|
30
31
|
return {
prefixCls: prefixCls
|
b0893113
jingsam
add eslint
|
32
|
};
|
b9041a0d
梁灏
DatePicker add co...
|
33
|
},
|
2dc27713
梁灏
update DateTimePi...
|
34
35
|
computed: {
timeClasses () {
|
75cb2998
Sergio Crisostomo
Add keyboard navi...
|
36
37
38
39
40
41
42
43
44
|
return `${prefixCls}-confirm-time`;
},
labels(){
const labels = ['time', 'clear', 'ok'];
const values = [(this.isTime ? 'selectDate' : 'selectTime'), 'clear', 'ok'];
return labels.reduce((obj, key, i) => {
obj[key] = this.t('i.datepicker.' + values[i]);
return obj;
}, {});
|
2dc27713
梁灏
update DateTimePi...
|
45
46
|
}
},
|
b9041a0d
梁灏
DatePicker add co...
|
47
48
49
50
51
52
|
methods: {
handleClear () {
this.$emit('on-pick-clear');
},
handleSuccess () {
this.$emit('on-pick-success');
|
5cc9b892
梁灏
update DateTimePi...
|
53
54
|
},
handleToggleTime () {
|
2dc27713
梁灏
update DateTimePi...
|
55
|
if (this.timeDisabled) return;
|
5cc9b892
梁灏
update DateTimePi...
|
56
|
this.$emit('on-pick-toggle-time');
|
75cb2998
Sergio Crisostomo
Add keyboard navi...
|
57
58
59
60
61
62
63
64
65
66
67
|
this.dispatch('CalendarPicker', 'focus-input');
},
handleTab(e) {
const tabbables = [...this.$el.children];
const expectedFocus = tabbables[e.shiftKey ? 'shift' : 'pop']();
if (document.activeElement === expectedFocus) {
e.preventDefault();
e.stopPropagation();
this.dispatch('CalendarPicker', 'focus-input');
}
|
b9041a0d
梁灏
DatePicker add co...
|
68
69
|
}
}
|
b0893113
jingsam
add eslint
|
70
71
|
};
</script>
|