// component/html2wxml/wxHtml.js
const wxParser = require('../../wxParser/index')
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    config: {
      type: Object,
      observer: '_configChange',
      value: null
    },
    html: {
      type: String,
      value: '',
      observer: '_htmlChange'
    }
  },

  /**
   * 组件的初始数据
   */
  data: {

  },

  created () {
    this.init()
  },

  attached: function () {
    console.log(this)
  },
  moved: function () { },
  detached: function () {
    this._htmlChange = null
    this._configChange = null
  },

  /**
   * 组件的方法列表
   */
  methods: {
    init: function (config) {
      config = config || {
        bind: 'richText',
        html: this.data.html || ``,
        target: this,
        enablePreviewImage: false, // 禁用图片预览功能
        tapLink: (url) => { // 点击超链接时的回调函数
          // url 就是 HTML 富文本中 a 标签的 href 属性值
          // 这里可以自定义点击事件逻辑，比如页面跳转
          wx.navigateTo({
            url
          })
        }
      }
      this.data.config = config
    },

    _parse: function (config) {
      wxParser.parse(config)
    },

    _parseHtml (html) {
      let config = this.data.config
      config.html = html
      this._parse(config)
    },

    _configChange (newV, oldV) {
      if (newV !== oldV) {
        this._parse(newV)
      }
    },
    _htmlChange (newV, oldV) {
      if (newV !== oldV) {
        this._parseHtml(newV)
      }
    }
  }
})
