Blame view

src/components/calendar/panel/panel-mixin.js 1.52 KB
e80b805f   chenhaodong   初始化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
  const prefixCls = 'ivu-picker-panel';
  const datePrefixCls = 'ivu-calendar';
  
  export default {
      props: {
          confirm: {
              type: Boolean,
              default: false
          }
      },
      methods: {
          iconBtnCls(direction, type = '') {
              return [
                  `${prefixCls}-icon-btn`,
                  `${datePrefixCls}-${direction}-btn`,
                  `${datePrefixCls}-${direction}-btn-arrow${type}`,
              ];
          },
          handleShortcutClick(shortcut) {
              if (shortcut.value) this.$emit('on-pick', shortcut.value());
              if (shortcut.onClick) shortcut.onClick(this);
          },
          handlePickClear() {
              this.resetView();
              this.$emit('on-pick-clear');
          },
          handlePickSuccess() {
              this.resetView();
              this.$emit('on-pick-success');
          },
          handlePickClick() {
              this.$emit('on-pick-click');
          },
          resetView() {
              setTimeout(
                  () => this.currentView = this.selectionMode,
                  500 // 500ms so the dropdown can close before changing
              );
          },
          handleClear() {
              this.dates = this.dates.map(() => null);
              this.rangeState = {};
              this.$emit('on-pick', this.dates);
              this.handleConfirm();
              //  if (this.showTime) this.$refs.timePicker.handleClear();
          },
          handleConfirm(visible, type) {
              this.$emit('on-pick', this.dates, visible, type || this.type);
          }
      }
  };