// nova-tourism/components/calendar/index.js
Component({
    /**
     * 组件的属性列表
     */
    properties: {
        show:{
            type:Boolean,
            default: false
        },
        title: {
            type: String,
            value: '日期选择',
        },
        color: String,
        formatter: null,
        // defaultDate: {
        //     type: null,
        //     observer: function (val) {
        //       this.setData({ currentDate: val });
        //       this.scrollIntoView();
        //     },
        //   },
    },
    created: function () {
        this.setData({
          currentDate: this.getInitialDate(this.defaultDate),
        });
    },
    /**
     * 组件的初始数据
     */
    data: {
        subtitle: '',
        currentDate: null,
        scrollIntoView: '',
        startTime:'',
        endTime: ''
    },

    /**
     * 组件的方法列表
     */
    methods: {
        getInitialDate: function(defaultDate){
            let now = new Date()
            let currentYear = now.getFullYear();
            let currentMonth = now.getMonth()+1;
            let currentDay = now.getDay();
            // let months = 
            if(!defaultDate){
                
            }
        },
        getInitialDate: function (defaultDate) {
            var _this = this;
            if (defaultDate === void 0) {// defaultDate 为undefined
              defaultDate = null;
            }
            let {type,minDate,maxDate} = this.data;
            var now = utils_1.getToday().getTime();
            if (type === 'range') {
              if (!Array.isArray(defaultDate)) {
                defaultDate = [];
              }
              var _b = defaultDate || [],
                startDay = _b[0],
                endDay = _b[1];
              var start = this.limitDateRange(
                startDay || now,
                minDate,
                utils_1.getPrevDay(new Date(maxDate)).getTime()
              );
              var end = this.limitDateRange(
                endDay || now,
                utils_1.getNextDay(new Date(minDate)).getTime()
              );
              return [start, end];
            }
            if (type === 'multiple') {
              if (Array.isArray(defaultDate)) {
                return defaultDate.map(function (date) {
                  return _this.limitDateRange(date);
                });
              }
              return [this.limitDateRange(now)];
            }
            if (!defaultDate || Array.isArray(defaultDate)) {
              defaultDate = now;
            }
            return this.limitDateRange(defaultDate);
          },
        emit: function (date) {
            var getTime = function (date) {
              return date instanceof Date ? date.getTime() : date;
            };
            this.setData({
              currentDate: Array.isArray(date) ? date.map(getTime) : getTime(date),
            });
            this.$emit('select', utils_1.copyDates(date));
          },
    }
})
