// component/wx-index-list/wx-index-list.js
let common = require('../../utils/util.js');
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    data: {
      type: Object,
      value: {},
    },
    myCity: {
      type: String,
      value: "",
    },
    // 用于外部组件搜索使用
    search: {
      type: String,
      value: "",
      observer: function(newVal, oldVal) {
        console.log(newVal)
        this.value = newVal;
        this.searchMt();
      }
    }
  },

  data: {
    list: [],
    rightArr: [], // 右侧字母展示
    jumpNum: '', //跳转到那个字母
    myCityName: '请选择' // 默认我的城市

  },
  ready() {
    let data = this.data.data;
    this.resetRight(data);
    /** if (this.data.myCity) {
       this.getCity()
     }
     **/
  },
  methods: {
    // 数据重新渲染
    resetRight(data) {
      let rightArr = []
      for (let i in data) {
        rightArr.push(data[i].title.substr(0, 1));
      }
      this.setData({
        list: data,
        rightArr
      })
    },
    getCity() {
      wx.getLocation({
        type: 'wgs84',
        success: function(res) {
          this.latitude = res.latitude;
          this.longitude = res.longitude;
          // console.log(res)
        }
      })
    },
    // 右侧字母点击事件
    jumpMt(e) {
      let jumpNum = e.currentTarget.dataset.id;
      this.setData({
        jumpNum
      });
    },
    // 列表点击事件
    detailMt(e) {
      let detail = e.currentTarget.dataset.detail;

      let myEventOption = {
        bubbles: false, //事件是否冒泡
        composed: false, //事件是否可以穿越组件边界
        capturePhase: false //事件是否拥有捕获阶段
      } // 触发事件的选项
      this.triggerEvent('detail', detail, myEventOption)

    },
    tomycity(e) {

      let detail = {
        name: e.currentTarget.dataset.name
      }

      let myEventOption = {
        bubbles: false, //事件是否冒泡
        composed: false, //事件是否可以穿越组件边界
        capturePhase: false //事件是否拥有捕获阶段
      } // 触发事件的选项
      this.triggerEvent('detail', detail, myEventOption)
    },
    // 获取搜索输入内容
    input(e) {
      this.value = e.detail.value;
      this._search();
    },
    // 基础搜索功能
    searchMt(e) {
      this.triggerEvent('cancel')
    },
    cancel: function() {
      this.value = "";
      this.setData({
        value: ""
      })
      this._search();

    },
    _search() {
      console.log("搜索")
      let data = this.data.data;
      let isc = common.isChinese(this.value);
      let newData = [];
      for (let i = 0; i < data.length; i++) {
        let itemArr = [];
        for (let j = 0; j < data[i].item.length; j++) {
          let isok = isc ? (data[i].item[j].name.indexOf(this.value) > -1) : (data[i].item[j].py.indexOf(this.value.toUpperCase()) > -1);
          if (isok) {
            let itemJson = {};
            for (let k in data[i].item[j]) {
              itemJson[k] = data[i].item[j][k];
            }
            itemArr.push(itemJson);
          }
        }
        if (itemArr.length === 0) {
          continue;
        }
        newData.push({
          title: data[i].title,
          type: data[i].type ? data[i].type : "",
          item: itemArr
        })
      }
      this.resetRight(newData);
    },
    // 城市定位
    locationMt() {
      // TODO 暂时没有实现 定位自己的城市，需要引入第三方api
    }

  }
})