module.exports =
/******/ (function(modules) { // webpackBootstrap
/******/ 	// The module cache
/******/ 	var installedModules = {};
/******/
/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {
/******/
/******/ 		// Check if module is in cache
/******/ 		if(installedModules[moduleId]) {
/******/ 			return installedModules[moduleId].exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = installedModules[moduleId] = {
/******/ 			i: moduleId,
/******/ 			l: false,
/******/ 			exports: {}
/******/ 		};
/******/
/******/ 		// Execute the module function
/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ 		// Flag the module as loaded
/******/ 		module.l = true;
/******/
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/
/******/
/******/ 	// expose the modules object (__webpack_modules__)
/******/ 	__webpack_require__.m = modules;
/******/
/******/ 	// expose the module cache
/******/ 	__webpack_require__.c = installedModules;
/******/
/******/ 	// define getter function for harmony exports
/******/ 	__webpack_require__.d = function(exports, name, getter) {
/******/ 		if(!__webpack_require__.o(exports, name)) {
/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ 		}
/******/ 	};
/******/
/******/ 	// define __esModule on exports
/******/ 	__webpack_require__.r = function(exports) {
/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ 		}
/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
/******/ 	};
/******/
/******/ 	// create a fake namespace object
/******/ 	// mode & 1: value is a module id, require it
/******/ 	// mode & 2: merge all properties of value into the ns
/******/ 	// mode & 4: return value when already ns object
/******/ 	// mode & 8|1: behave like require
/******/ 	__webpack_require__.t = function(value, mode) {
/******/ 		if(mode & 1) value = __webpack_require__(value);
/******/ 		if(mode & 8) return value;
/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ 		var ns = Object.create(null);
/******/ 		__webpack_require__.r(ns);
/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ 		return ns;
/******/ 	};
/******/
/******/ 	// getDefaultExport function for compatibility with non-harmony modules
/******/ 	__webpack_require__.n = function(module) {
/******/ 		var getter = module && module.__esModule ?
/******/ 			function getDefault() { return module['default']; } :
/******/ 			function getModuleExports() { return module; };
/******/ 		__webpack_require__.d(getter, 'a', getter);
/******/ 		return getter;
/******/ 	};
/******/
/******/ 	// Object.prototype.hasOwnProperty.call
/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ 	// __webpack_public_path__
/******/ 	__webpack_require__.p = "lib/mapboxgl/";
/******/
/******/
/******/ 	// Load entry module and return exports
/******/ 	return __webpack_require__(__webpack_require__.s = 697);
/******/ })
/************************************************************************/
/******/ ({

/***/ 0:
/***/ (function(module, exports) {

module.exports = require("@babel/runtime/helpers/interopRequireDefault");

/***/ }),

/***/ 1:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; });
/* globals __VUE_SSR_CONTEXT__ */

// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
// This module is a runtime utility for cleaner component module output and will
// be included in the final webpack user bundle.

function normalizeComponent(
  scriptExports,
  render,
  staticRenderFns,
  functionalTemplate,
  injectStyles,
  scopeId,
  moduleIdentifier /* server only */,
  shadowMode /* vue-cli only */
) {
  // Vue.extend constructor export interop
  var options =
    typeof scriptExports === 'function' ? scriptExports.options : scriptExports

  // render functions
  if (render) {
    options.render = render
    options.staticRenderFns = staticRenderFns
    options._compiled = true
  }

  // functional template
  if (functionalTemplate) {
    options.functional = true
  }

  // scopedId
  if (scopeId) {
    options._scopeId = 'data-v-' + scopeId
  }

  var hook
  if (moduleIdentifier) {
    // server build
    hook = function (context) {
      // 2.3 injection
      context =
        context || // cached call
        (this.$vnode && this.$vnode.ssrContext) || // stateful
        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
      // 2.2 with runInNewContext: true
      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
        context = __VUE_SSR_CONTEXT__
      }
      // inject component styles
      if (injectStyles) {
        injectStyles.call(this, context)
      }
      // register component module identifier for async chunk inferrence
      if (context && context._registeredComponents) {
        context._registeredComponents.add(moduleIdentifier)
      }
    }
    // used by ssr in case component is cached and beforeCreate
    // never gets called
    options._ssrRegister = hook
  } else if (injectStyles) {
    hook = shadowMode
      ? function () {
          injectStyles.call(
            this,
            (options.functional ? this.parent : this).$root.$options.shadowRoot
          )
        }
      : injectStyles
  }

  if (hook) {
    if (options.functional) {
      // for template-only hot-reload because in that case the render fn doesn't
      // go through the normalizer
      options._injectStyles = hook
      // register for functional component in vue file
      var originalRender = options.render
      options.render = function renderWithStyleInjection(h, context) {
        hook.call(context)
        return originalRender(h, context)
      }
    } else {
      // inject component registration as beforeCreate hook
      var existing = options.beforeCreate
      options.beforeCreate = existing ? [].concat(existing, hook) : [hook]
    }
  }

  return {
    exports: scriptExports,
    options: options
  }
}


/***/ }),

/***/ 12:
/***/ (function(module, exports) {

module.exports = require("@supermap/vue-iclient-mapboxgl/lib/_utils/util.js");

/***/ }),

/***/ 14:
/***/ (function(module, exports) {

module.exports = require("@babel/runtime/helpers/createClass");

/***/ }),

/***/ 19:
/***/ (function(module, exports) {

module.exports = require("lodash.clonedeep");

/***/ }),

/***/ 2:
/***/ (function(module, exports) {

module.exports = require("@supermap/vue-iclient-mapboxgl/lib/init.js");

/***/ }),

/***/ 23:
/***/ (function(module, exports) {

module.exports = require("lodash.isequal");

/***/ }),

/***/ 25:
/***/ (function(module, exports) {

module.exports = require("lodash.debounce");

/***/ }),

/***/ 286:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_0_1_node_modules_vue_loader_lib_index_js_vue_loader_options_TextList_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(287);
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_0_1_node_modules_vue_loader_lib_index_js_vue_loader_options_TextList_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_0_1_node_modules_vue_loader_lib_index_js_vue_loader_options_TextList_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_0_1_node_modules_vue_loader_lib_index_js_vue_loader_options_TextList_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_0_1_node_modules_vue_loader_lib_index_js_vue_loader_options_TextList_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
 /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_0_1_node_modules_vue_loader_lib_index_js_vue_loader_options_TextList_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default.a); 

/***/ }),

/***/ 287:
/***/ (function(module, exports, __webpack_require__) {

"use strict";


var _interopRequireDefault = __webpack_require__(0);
Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = void 0;
var _createClass2 = _interopRequireDefault(__webpack_require__(14));
var _inheritsLoose2 = _interopRequireDefault(__webpack_require__(3));
var _vuePropertyDecorator = __webpack_require__(9);
var _resizeDetector = __webpack_require__(29);
var _lodash = _interopRequireDefault(__webpack_require__(25));
var _getFeatures = _interopRequireDefault(__webpack_require__(400));
var _Theme = _interopRequireDefault(__webpack_require__(4));
var _Timer = _interopRequireDefault(__webpack_require__(37));
var _util = __webpack_require__(12);
var _lodash2 = _interopRequireDefault(__webpack_require__(392));
var _lodash3 = _interopRequireDefault(__webpack_require__(19));
var _lodash4 = _interopRequireDefault(__webpack_require__(23));
var _Spin = _interopRequireDefault(__webpack_require__(35));
var __decorate = void 0 && (void 0).__decorate || function (decorators, target, key, desc) {
  var c = arguments.length,
    r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
    d;
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
  return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var SmTextList = /*#__PURE__*/function (_Mixins) {
  (0, _inheritsLoose2.default)(SmTextList, _Mixins);
  function SmTextList() {
    var _this;
    _this = _Mixins.apply(this, arguments) || this;
    _this.animate = false;
    _this.spinning = false;
    _this.animateContent = [];
    _this.containerHeight = 0;
    _this.containerWidth = 0;
    _this.listStyle = {};
    _this.sortType = 'descend';
    _this.sortTypeList = ['ascend', 'descend', 'none'];
    _this.sortTypeIndex = 0;
    _this.sortField = '';
    _this.activeHoverRowIndex = null;
    _this.activeClickRowIndex = [];
    _this.eventTriggerColorList = {
      clickColor: null
    };
    _this.rowHoverColor = 'rgba(128, 128,128, 0.8)';
    _this.curRollingStartIndex = 0;
    return _this;
  }
  var _proto = SmTextList.prototype;
  _proto.contentChanged = function contentChanged() {
    this.listData = this.handleContent(this.content);
    this.getListHeightStyle();
  };
  _proto.datasetChanged = function datasetChanged() {
    if (this.dataset && (this.dataset.url || this.dataset.geoJSON)) {
      this.getFeaturesFromDataset();
    } else {
      this.featuresData = [];
      this.listData = [];
      this.animateContent = [];
      clearInterval(this.startInter);
    }
  };
  _proto.columnsChanged = function columnsChanged(oldVal, newVal) {
    if ((this.content || this.featuresData) && !(0, _lodash4.default)(oldVal, newVal)) {
      this.setDefaultSortType();
      var listData = this.content ? this.handleContent(this.content) : this.handleFeatures(this.featuresData);
      this.listData = this.sortContent(listData);
      this.getListHeightStyle();
    }
  };
  _proto.autoRollingChanged = function autoRollingChanged() {
    if (!this.listData) {
      this.listData = [];
    }
    if (this.autoRolling) {
      if (this.listData.length > 2) {
        this.itemByItem();
      }
    } else {
      clearInterval(this.startInter);
    }
    this.getListHeightStyle();
    this.reset();
  };
  _proto.rowsChanged = function rowsChanged() {
    this.getListHeightStyle();
  };
  _proto.rowStyleChanged = function rowStyleChanged(next) {
    this.rowStyleData = Object.assign({}, this.rowStyleData, next);
    this.getListHeightStyle();
  };
  _proto.headerHeightChanged = function headerHeightChanged(next) {
    this.headerStyleData = Object.assign({}, this.headerStyleData, next);
    this.getListHeightStyle();
  };
  _proto.containerHeightChanged = function containerHeightChanged(newVal, oldVal) {
    if (newVal !== oldVal) {
      clearInterval(this.startInter);
      this.getListHeightStyle();
    }
  };
  _proto.sortTypeChanged = function sortTypeChanged() {
    var rawContent = this.content ? this.handleContent(this.content) : this.handleFeatures(this.featuresData);
    this.listData = this.sortContent(rawContent);
    this.getListHeightStyle();
  };
  _proto.sortFieldChanged = function sortFieldChanged() {
    var rawContent = this.content ? this.handleContent(this.content) : this.handleFeatures(this.featuresData);
    this.listData = this.sortContent(rawContent);
    this.getListHeightStyle();
  };
  _proto.highlightColorChanged = function highlightColorChanged(newVal) {
    var _this2 = this;
    if (newVal && typeof newVal === 'string') {
      Object.keys(this.eventTriggerColorList).forEach(function (colorType) {
        _this2.eventTriggerColorList[colorType] = newVal;
      });
    }
  };
  _proto.highlightOptionsChanged = function highlightOptionsChanged(newVal) {
    var _this3 = this;
    var autoBounds = this.getAutoRollingIndexBounds;
    if (!this.autoRolling && newVal && newVal.length) {
      if (this.$refs.animate) {
        var scrollHeight = 0;
        var dataIndex = this.animateContent.findIndex(function (item, index) {
          return item.idx === newVal[0].dataIndex;
        });
        if (dataIndex || dataIndex === 0) {
          var rowHeight = this.filterUnit(this.listStyle.rowStyle.height);
          scrollHeight = dataIndex * rowHeight;
          var currentScrollTop = this.$refs.animate.scrollTop;
          if (scrollHeight < currentScrollTop || scrollHeight > currentScrollTop + rowHeight * this.rows) {
            this.$refs.animate.scrollTop = scrollHeight;
          }
        }
      }
    } else if (this.autoRolling) {
      var newDataIndex = newVal && newVal.length && newVal[0].dataIndex;
      if (!this.clamp(newDataIndex, autoBounds[0], autoBounds[1])) {
        var splitIndex;
        if (newDataIndex <= this.rows) {
          this.reset();
        } else {
          splitIndex = newDataIndex - this.rows;
          this.$nextTick(function () {
            _this3.animateContent = [];
            _this3.$nextTick(function () {
              var copyListData = (0, _lodash3.default)(_this3.listData);
              var tempArr = copyListData.splice(0, splitIndex + 1);
              copyListData = [].concat(copyListData, tempArr);
              _this3.animateContent = copyListData;
            });
          });
        }
      }
    }
    this.setCurrentRow(newVal);
  };
  _proto.created = function created() {
    this.headerStyleData = (0, _lodash2.default)({
      show: true,
      background: this.getColor(0),
      color: this.textColorsData
    }, this.headerStyle);
    this.rowStyleData = (0, _lodash2.default)({
      oddStyle: {
        background: (0, _util.getColorWithOpacity)(this.getBackground, 0.4)
      },
      evenStyle: {
        background: (0, _util.getColorWithOpacity)(this.getColor(0), 0.4)
      }
    }, this.rowStyle);
    this.handleMouseEnterFn = (0, _lodash.default)(this.handleMouseEnter, 20, {
      leading: true
    });
    this.handleMouseLeaveFn = (0, _lodash.default)(this.handleMouseLeave, 20, {
      leading: true
    });
  };
  _proto.mounted = function mounted() {
    var _this4 = this;
    this.setListData();
    this.setDefaultSortType();
    if (this.autoResize) {
      this.resizeHandler = (0, _lodash.default)(function () {
        if (_this4.$el) {
          _this4.containerHeight = _this4.$el.offsetHeight;
          _this4.containerWidth = _this4.$el.offsetWidth;
        }
      }, 500, {
        leading: true
      });
      (0, _resizeDetector.addListener)(this.$el, this.resizeHandler);
    }
    setTimeout(function () {
      _this4.containerHeight = _this4.$el.offsetHeight;
      _this4.containerWidth = _this4.$el.offsetWidth;
    }, 0);
    this.$on('theme-style-changed', this.handleThemeStyleChanged);
  };
  _proto.handleThemeStyleChanged = function handleThemeStyleChanged() {
    this.headerStyleData = (0, _lodash2.default)(this.headerStyleData, {
      background: this.getColor(0),
      color: this.textColorsData
    });
    this.rowStyleData = (0, _lodash2.default)(this.rowStyleData, {
      oddStyle: {
        background: (0, _util.getColorWithOpacity)(this.getBackground, 0.4)
      },
      evenStyle: {
        background: (0, _util.getColorWithOpacity)(this.getColor(0), 0.4)
      }
    });
  };
  _proto.setListData = function setListData() {
    if (this.content && this.content.length > 0) {
      this.listData = this.handleContent(this.content);
    } else if (this.dataset && (this.dataset.url || this.dataset.geoJSON)) {
      this.getFeaturesFromDataset();
    }
  };
  _proto.timing = function timing() {
    if (this.dataset && this.dataset.url) {
      this.getFeaturesFromDataset(false);
    }
  };
  _proto.getFeaturesFromDataset = function getFeaturesFromDataset(initLoading) {
    var _this5 = this;
    if (initLoading === void 0) {
      initLoading = true;
    }
    var _this$dataset = this.dataset,
      url = _this$dataset.url,
      geoJSON = _this$dataset.geoJSON;
    url && initLoading && (this.spinning = true);
    if (url || geoJSON) {
      var dataset = (0, _lodash3.default)(this.dataset);
      (0, _getFeatures.default)(dataset).then(function (data) {
        _this5.dataset.url && initLoading && (_this5.spinning = false);
        _this5.featuresData = data;
        _this5.listData = _this5.sortContent(_this5.handleFeatures(data));
        _this5.getListHeightStyle();
      });
    }
  };
  _proto.getListHeightStyle = function getListHeightStyle() {
    this.animateContent = this.listData && this.listData.concat();
    if (!this.containerHeight || !this.listData) {
      return;
    }
    var height = this.containerHeight;
    var headerHeightNum = this.headerStyleData.show ? this.headerStyleData.height || height * 0.15 : 0;
    var headerHeight = {
      height: headerHeightNum + "px"
    };
    var contentHeightNum = height - headerHeightNum;
    var contentHeight = {
      height: contentHeightNum + "px"
    };
    var rowHeight = this.rowStyleData.height;
    if (!rowHeight) {
      if (this.listData.length <= this.rows) {
        var listDataLength = Math.max(this.autoRolling ? this.listData.length - 1 : this.listData.length, 1);
        rowHeight = contentHeightNum / listDataLength;
      } else {
        rowHeight = contentHeightNum / this.rows;
      }
    }
    var rowStyle = {
      height: rowHeight + "px",
      lineHeight: rowHeight + "px"
    };
    if (this.autoRolling) {
      if (this.listData.length > 2) {
        this.itemByItem();
      }
    } else {
      clearInterval(this.startInter);
    }
    this.listStyle = {
      headerHeight: headerHeight,
      contentHeight: contentHeight,
      rowStyle: rowStyle
    };
  };
  _proto.handleContent = function handleContent(content) {
    var _this6 = this;
    if (content) {
      var listData = [];
      content.forEach(function (data, index) {
        var obj = {};
        _this6.getColumns && _this6.getColumns.forEach(function (column, index) {
          obj[column.field + "-" + index] = data[column.field] === null || data[column.field] === undefined ? '-' : data[column.field];
        });
        obj.idx = index;
        JSON.stringify(obj) !== '{}' && listData.push(obj);
      });
      return listData;
    } else {
      return content;
    }
  };
  _proto.handleFeatures = function handleFeatures(data) {
    var _this7 = this;
    var features = data && data.features;
    var content = [];
    features && features.forEach(function (feature, index) {
      var properties = feature.properties;
      if (!properties) {
        return;
      }
      var contentObj = {};
      if (_this7.getColumns) {
        _this7.getColumns.forEach(function (column, index) {
          contentObj[column.field + "-" + index] = properties[column.field] === null || properties[column.field] === undefined ? '-' : properties[column.field];
        });
        contentObj.idx = index;
      } else {
        contentObj = properties;
      }
      JSON.stringify(contentObj) !== '{}' && content.push(contentObj);
    });
    return content;
  };
  _proto.itemByItem = function itemByItem() {
    var _this8 = this;
    clearInterval(this.startInter);
    this.startInter = setInterval(function () {
      var wrapper = _this8.$refs.listContent;
      wrapper && wrapper.style && (wrapper.style.marginTop = "-" + _this8.listStyle.rowStyle.height);
      _this8.animate = !_this8.animate;
      setTimeout(function () {
        var first = _this8.$refs.listContent && _this8.$refs.listContent.children && _this8.$refs.listContent.children[0];
        if (first) {
          _this8.curRollingStartIndex = +first.dataset.index;
        }
        first && _this8.$refs.listContent.appendChild(first);
        wrapper && wrapper.style && (wrapper.style.marginTop = '0px');
        _this8.animate = !_this8.animate;
      }, 500);
    }, 2000);
  };
  _proto.sortByField = function sortByField(fieldName, index, isSortField) {
    if (!isSortField) {
      return;
    }
    this.sortField = fieldName;
    this.sortIndex = index;
    this.sortTypeIndex++;
    if (this.sortTypeIndex > this.sortTypeList.length - 1) {
      this.sortTypeIndex = 0;
    }
    this.sortType = this.sortTypeList[this.sortTypeIndex];
    this.reset();
  };
  _proto.sortContent = function sortContent(content) {
    var _this9 = this;
    if (!content) {
      return null;
    }
    var sortContent = [];
    if (this.sortType === 'none' || !this.sortField || content.length <= 1) {
      sortContent = content;
    } else {
      sortContent = (0, _lodash3.default)(content);
      if (this.sortType === 'descend') {
        sortContent.sort(function (a, b) {
          return b[_this9.sortField] - a[_this9.sortField];
        });
      } else if (this.sortType === 'ascend') {
        sortContent.sort(function (a, b) {
          return a[_this9.sortField] - b[_this9.sortField];
        });
      }
    }
    return sortContent;
  };
  _proto.setDefaultSortType = function setDefaultSortType() {
    var fieldIndex = 0;
    var column = this.columns && this.columns.find(function (column, index) {
      if (['ascend', 'descend'].includes(column.defaultSortType) && column.sort) {
        fieldIndex = index;
        return true;
      }
      return false;
    });
    if (column) {
      this.sortType = column.defaultSortType;
      var index = this.sortTypeList.findIndex(function (item) {
        return item === column.defaultSortType;
      });
      this.sortTypeIndex = index;
      this.sortField = column.field + "-" + fieldIndex;
      this.sortIndex = fieldIndex;
      return;
    }
    this.sortField = '';
    this.sortType = 'none';
  };
  _proto.handleClick = function handleClick(item, rowIndex, event) {
    if (this.highlightColor && typeof this.highlightColor === 'function') {
      this.eventTriggerColorList.clickColor = this.highlightColor(item, rowIndex, event);
    }
    if (this.highlightColor && typeof this.highlightColor === 'string') {
      this.eventTriggerColorList.clickColor = this.highlightColor;
    }
    this.$emit('row-click', item, rowIndex, event);
    this.$emit('cell-click', item, rowIndex, event);
  };
  _proto.handleMouseEnter = function handleMouseEnter(item, rowIndex, event) {
    this.activeHoverRowIndex = rowIndex;
    this.$emit('cell-mouse-enter', item, rowIndex, event);
  };
  _proto.handleMouseLeave = function handleMouseLeave(item, rowIndex, event) {
    this.activeHoverRowIndex = null;
    this.$emit('cell-mouse-leave', item, rowIndex, event);
  };
  _proto.setCurrentRow = function setCurrentRow(rowIndexList) {
    if (rowIndexList && rowIndexList.length) {
      this.activeClickRowIndex = rowIndexList.map(function (item) {
        return typeof item !== 'object' ? item : item.dataIndex;
      });
    } else {
      this.activeClickRowIndex = null;
    }
  };
  _proto.filterUnit = function filterUnit(str) {
    return str.match(/[\d\D]+(?=px)/gim)[0];
  };
  _proto.reset = function reset() {
    var _this10 = this;
    this.$nextTick(function () {
      _this10.animateContent = [];
      _this10.$nextTick(function () {
        _this10.animateContent = [].concat(_this10.listData);
        _this10.$refs.animate && (_this10.$refs.animate.scrollTop = 0);
      });
    });
  };
  _proto.rowsIndexViewBounds = function rowsIndexViewBounds() {
    if (this.$refs.animate && this.rows) {
      var beginIndex = Math.ceil(this.$refs.animate.scrollTop / this.filterUnit(this.listStyle.rowStyle.height));
      var endIndex = beginIndex + this.rows;
      return [beginIndex, endIndex];
    }
    return [];
  };
  _proto.clamp = function clamp(num, min, max) {
    if ((min || min === 0) && (max || max === 0) && num > min && num < max) {
      return true;
    }
    return false;
  };
  _proto.destory = function destory() {
    if (this.autoResize) {
      clearInterval(this.startInter);
      (0, _resizeDetector.removeListener)(this.$el, this.resizeHandler);
    }
  };
  (0, _createClass2.default)(SmTextList, [{
    key: "getAutoRollingIndexBounds",
    get: function get() {
      return [this.curRollingStartIndex + 1, this.curRollingStartIndex + 1 + this.rows];
    }
  }, {
    key: "getRowStyle",
    get: function get() {
      return function (index, rawIndex) {
        if (this.highlightCurrentRow) {
          if (this.activeClickRowIndex && this.activeClickRowIndex.includes(index)) {
            return {
              background: this.eventTriggerColorList.clickColor
            };
          }
        }
        if (this.activeHoverRowIndex === index) {
          return {
            background: this.rowHoverColor
          };
        }
        if ((rawIndex + 1) % 2 !== 0) {
          return {
            background: this.rowStyleData.oddStyle.background
          };
        } else {
          return {
            background: this.rowStyleData.evenStyle.background
          };
        }
      };
    }
  }, {
    key: "getCellStyle",
    get: function get() {
      return function (value, columnIndex) {
        if (isNaN(+value) || !this.thresholdsStyle || !this.thresholdsStyle[columnIndex]) {
          return {};
        }
        var rangeGroup = this.thresholdsStyle[columnIndex];
        var colorRangeInfo = rangeGroup.data.map(function (item) {
          return Object.assign({}, item);
        });
        var matchColorRange = colorRangeInfo.find(function (item) {
          var status;
          if (item.min) {
            status = +value >= +item.min;
          }
          if (item.max) {
            status = status === void 0 ? true : status;
            status = status && +value <= +item.max;
          }
          return status;
        });
        if (matchColorRange) {
          var _ref;
          return _ref = {}, _ref[rangeGroup.type] = matchColorRange.color, _ref;
        }
        return {};
      };
    }
  }, {
    key: "fontSizeStyle",
    get: function get() {
      return {
        fontSize: typeof this.fontSize === 'string' ? this.fontSize : this.fontSize * 1.1 + 'px'
      };
    }
  }, {
    key: "getColumnWidth",
    get: function get() {
      return function (index) {
        if (this.getColumns && this.getColumns.length > 0 && index < this.getColumns.length) {
          var width = this.getColumns[index].width;
          return width ? "0 0 " + width / 100 * this.containerWidth + "px" : 1;
        }
        return 1;
      };
    }
  }, {
    key: "getColumns",
    get: function get() {
      var _this11 = this;
      if (Array.isArray(this.columns)) {
        return this.columns;
      } else {
        return this.fields.map(function (field, index) {
          return {
            header: _this11.header[index],
            field: _this11.fields[index],
            width: _this11.columnWidths[index],
            fixInfo: {
              prefix: '',
              suffix: ''
            },
            sort: true,
            defaultSortType: 'none'
          };
        });
      }
    }
  }, {
    key: "filterProperty",
    get: function get() {
      return function (rowData, propertyName) {
        var copyRowData = Object.assign({}, rowData);
        delete copyRowData[propertyName];
        return copyRowData;
      };
    }
  }]);
  return SmTextList;
}((0, _vuePropertyDecorator.Mixins)(_Theme.default, _Timer.default));
__decorate([(0, _vuePropertyDecorator.Prop)()], SmTextList.prototype, "content", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)()], SmTextList.prototype, "dataset", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({
  default: function _default() {
    return [];
  }
})], SmTextList.prototype, "header", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({
  default: 6
})], SmTextList.prototype, "rows", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({
  default: false
})], SmTextList.prototype, "autoRolling", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)()], SmTextList.prototype, "fontSize", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({
  default: true
})], SmTextList.prototype, "autoResize", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({
  default: function _default() {
    return [];
  }
})], SmTextList.prototype, "fields", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({
  default: function _default() {
    return [];
  }
})], SmTextList.prototype, "columnWidths", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)()], SmTextList.prototype, "rowStyle", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({
  default: function _default() {
    return {
      show: true
    };
  }
})], SmTextList.prototype, "headerStyle", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)()], SmTextList.prototype, "thresholdsStyle", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)()], SmTextList.prototype, "columns", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({
  default: function _default() {
    return [];
  }
})], SmTextList.prototype, "highlightOptions", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({
  default: true
})], SmTextList.prototype, "highlightCurrentRow", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({
  default: '#b9b9b9'
})], SmTextList.prototype, "highlightColor", void 0);
__decorate([(0, _vuePropertyDecorator.Watch)('content')], SmTextList.prototype, "contentChanged", null);
__decorate([(0, _vuePropertyDecorator.Watch)('dataset', {
  deep: true
})], SmTextList.prototype, "datasetChanged", null);
__decorate([(0, _vuePropertyDecorator.Watch)('columns')], SmTextList.prototype, "columnsChanged", null);
__decorate([(0, _vuePropertyDecorator.Watch)('autoRolling', {
  immediate: true
})], SmTextList.prototype, "autoRollingChanged", null);
__decorate([(0, _vuePropertyDecorator.Watch)('rows')], SmTextList.prototype, "rowsChanged", null);
__decorate([(0, _vuePropertyDecorator.Watch)('rowStyle')], SmTextList.prototype, "rowStyleChanged", null);
__decorate([(0, _vuePropertyDecorator.Watch)('headerStyle')], SmTextList.prototype, "headerHeightChanged", null);
__decorate([(0, _vuePropertyDecorator.Watch)('containerHeight')], SmTextList.prototype, "containerHeightChanged", null);
__decorate([(0, _vuePropertyDecorator.Watch)('sortType')], SmTextList.prototype, "sortTypeChanged", null);
__decorate([(0, _vuePropertyDecorator.Watch)('sortField')], SmTextList.prototype, "sortFieldChanged", null);
__decorate([(0, _vuePropertyDecorator.Watch)('highlightColor', {
  immediate: true
})], SmTextList.prototype, "highlightColorChanged", null);
__decorate([(0, _vuePropertyDecorator.Watch)('highlightOptions', {
  immediate: true,
  deep: true
})], SmTextList.prototype, "highlightOptionsChanged", null);
SmTextList = __decorate([(0, _vuePropertyDecorator.Component)({
  name: 'SmTextList',
  components: {
    SmSpin: _Spin.default
  }
})], SmTextList);
var _default2 = exports.default = SmTextList;

/***/ }),

/***/ 29:
/***/ (function(module, exports) {

module.exports = require("resize-detector");

/***/ }),

/***/ 3:
/***/ (function(module, exports) {

module.exports = require("@babel/runtime/helpers/inheritsLoose");

/***/ }),

/***/ 35:
/***/ (function(module, exports) {

module.exports = require("@supermap/vue-iclient-mapboxgl/lib/spin");

/***/ }),

/***/ 37:
/***/ (function(module, exports) {

module.exports = require("@supermap/vue-iclient-mapboxgl/lib/_mixin/Timer.js");

/***/ }),

/***/ 392:
/***/ (function(module, exports) {

module.exports = require("lodash.merge");

/***/ }),

/***/ 4:
/***/ (function(module, exports) {

module.exports = require("@supermap/vue-iclient-mapboxgl/lib/_mixin/Theme.js");

/***/ }),

/***/ 400:
/***/ (function(module, exports) {

module.exports = require("@supermap/vue-iclient-mapboxgl/lib/_utils/get-features.js");

/***/ }),

/***/ 448:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";

// EXPORTS
__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ render; });
__webpack_require__.d(__webpack_exports__, "b", function() { return /* reexport */ staticRenderFns; });

// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/mapboxgl/text-list/TextList.vue?vue&type=template&id=67fe83d2&
var render = function () {
  var _vm = this
  var _h = _vm.$createElement
  var _c = _vm._self._c || _h
  return _c(
    "div",
    {
      staticClass: "sm-component-text-list",
      style: _vm.getBackgroundStyle,
      on: {
        mouseleave: function ($event) {
          return _vm.handleMouseLeaveFn({}, null, $event)
        },
      },
    },
    [
      _vm.headerStyleData.show
        ? _c(
            "div",
            {
              staticClass: "sm-component-text-list__header",
              style: [
                _vm.listStyle.headerHeight,
                {
                  background: _vm.headerStyleData.background,
                  color: _vm.headerStyleData.color,
                },
              ],
            },
            [
              _c(
                "div",
                { staticClass: "sm-component-text-list__header-content" },
                [
                  _vm.animateContent && _vm.animateContent.length > 0
                    ? [
                        _vm._l(
                          (_vm.getColumns &&
                            _vm.getColumns.length > 0 &&
                            _vm.getColumns) ||
                            Object.keys(_vm.animateContent[0]),
                          function (item, index) {
                            return [
                              _c(
                                "div",
                                {
                                  key: index,
                                  staticClass:
                                    "sm-component-text-list__header-title",
                                  style: [
                                    _vm.fontSizeStyle,
                                    { flex: _vm.getColumnWidth(index) },
                                  ],
                                  attrs: { title: item.header },
                                },
                                [
                                  _c(
                                    "div",
                                    {
                                      on: {
                                        click: function ($event) {
                                          _vm.sortByField(
                                            _vm.getColumns[index].field +
                                              "-" +
                                              index,
                                            index,
                                            !Number.isNaN(
                                              +_vm.listData[0][
                                                _vm.getColumns[index].field +
                                                  "-" +
                                                  index
                                              ]
                                            ) && _vm.getColumns[index].sort
                                          )
                                        },
                                      },
                                    },
                                    [
                                      _vm._v(
                                        "\n              " +
                                          _vm._s(_vm.getColumns[index].header) +
                                          "\n            "
                                      ),
                                    ]
                                  ),
                                  !Number.isNaN(
                                    +_vm.listData[0][
                                      _vm.getColumns[index].field + "-" + index
                                    ]
                                  ) && _vm.getColumns[index].sort
                                    ? _c(
                                        "div",
                                        {
                                          staticClass: "arrow-wrap",
                                          style: {
                                            borderColor:
                                              _vm.headerStyleData.sortBtnColor,
                                          },
                                        },
                                        [
                                          _c("i", {
                                            class: ["up-triangle"],
                                            style: [
                                              {
                                                borderBottomColor:
                                                  _vm.headerStyleData
                                                    .sortBtnColor,
                                              },
                                              _vm.sortType === "ascend" &&
                                                _vm.sortIndex === index && {
                                                  borderBottomColor:
                                                    _vm.headerStyleData
                                                      .sortBtnSelectColor,
                                                },
                                            ],
                                          }),
                                          _c("i", {
                                            class: ["down-triangle"],
                                            style: [
                                              {
                                                borderTopColor:
                                                  _vm.headerStyleData
                                                    .sortBtnColor,
                                              },
                                              _vm.sortType === "descend" &&
                                                _vm.sortIndex === index && {
                                                  borderTopColor:
                                                    _vm.headerStyleData
                                                      .sortBtnSelectColor,
                                                },
                                            ],
                                          }),
                                        ]
                                      )
                                    : _vm._e(),
                                ]
                              ),
                            ]
                          }
                        ),
                      ]
                    : _vm._e(),
                ],
                2
              ),
            ]
          )
        : _vm._e(),
      _c(
        "div",
        {
          ref: "animate",
          staticClass: "sm-component-text-list__animate",
          style: [
            _vm.listStyle.contentHeight,
            _vm.getTextColorStyle,
            _vm.fontSizeStyle,
            { "overflow-y": _vm.autoRolling ? "hidden" : "auto" },
          ],
        },
        [
          _c(
            "div",
            {
              ref: "listContent",
              class: [
                "sm-component-text-list__body-content",
                _vm.animate && "sm-component-text-list__body-content--anim",
              ],
            },
            [
              _vm.animateContent && _vm.animateContent.length > 0
                ? _vm._l(_vm.animateContent, function (rowData, index) {
                    return _c(
                      "div",
                      {
                        key: index,
                        staticClass: "sm-component-text-list__list",
                        style: _vm.getRowStyle(rowData["idx"], index),
                        attrs: { "data-index": rowData["idx"] },
                        on: {
                          click: function ($event) {
                            return _vm.handleClick(
                              rowData,
                              rowData["idx"],
                              $event
                            )
                          },
                          mouseenter: function ($event) {
                            return _vm.handleMouseEnterFn(
                              rowData,
                              rowData["idx"],
                              $event
                            )
                          },
                          mouseleave: function ($event) {
                            return _vm.handleMouseLeaveFn(
                              rowData,
                              rowData["idx"],
                              $event
                            )
                          },
                        },
                      },
                      _vm._l(
                        _vm.filterProperty(rowData, "idx"),
                        function (items, key, itemIndex) {
                          return _c(
                            "div",
                            {
                              key: key,
                              class:
                                _vm.getColumns[itemIndex].slots &&
                                "sm-component-text-list__slot",
                              style: [
                                _vm.listStyle.rowStyle,
                                { flex: _vm.getColumnWidth(itemIndex) },
                                _vm.getCellStyle(items, itemIndex),
                              ],
                              attrs: {
                                title:
                                  !_vm.getColumns[itemIndex].slots && items,
                              },
                            },
                            [
                              _vm.getColumns[itemIndex] &&
                              _vm.getColumns[itemIndex].fixInfo
                                ? _c("span", [
                                    _vm._v(
                                      "\n              " +
                                        _vm._s(
                                          _vm.getColumns[itemIndex].fixInfo
                                            .prefix
                                        ) +
                                        "\n            "
                                    ),
                                  ])
                                : _vm._e(),
                              !_vm.getColumns[itemIndex].slots
                                ? _c("span", [
                                    _vm._v(" " + _vm._s(items) + " "),
                                  ])
                                : _vm._t(
                                    _vm.getColumns[itemIndex].slots
                                      .customRender,
                                    null,
                                    {
                                      text: items,
                                      record: rowData,
                                      rowIndex: index,
                                    }
                                  ),
                              _vm.getColumns[itemIndex] &&
                              _vm.getColumns[itemIndex].fixInfo
                                ? _c("span", [
                                    _vm._v(
                                      _vm._s(
                                        _vm.getColumns[itemIndex].fixInfo.suffix
                                      )
                                    ),
                                  ])
                                : _vm._e(),
                            ],
                            2
                          )
                        }
                      ),
                      0
                    )
                  })
                : _vm._e(),
            ],
            2
          ),
        ]
      ),
      _vm.spinning
        ? _c("sm-spin", {
            attrs: {
              size: "large",
              tip: _vm.$t("info.loading"),
              spinning: _vm.spinning,
            },
          })
        : _vm._e(),
    ],
    1
  )
}
var staticRenderFns = []
render._withStripped = true


// CONCATENATED MODULE: ./src/mapboxgl/text-list/TextList.vue?vue&type=template&id=67fe83d2&


/***/ }),

/***/ 697:
/***/ (function(module, exports, __webpack_require__) {

"use strict";


var _interopRequireDefault = __webpack_require__(0);
Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = void 0;
var _TextList = _interopRequireDefault(__webpack_require__(698));
var _init = _interopRequireDefault(__webpack_require__(2));
_TextList.default.install = function (Vue, opts) {
  (0, _init.default)(Vue, opts);
  Vue.component(_TextList.default.options ? _TextList.default.options.name : _TextList.default.name, _TextList.default);
};
var _default = exports.default = _TextList.default;

/***/ }),

/***/ 698:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _TextList_vue_vue_type_template_id_67fe83d2___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(448);
/* harmony import */ var _TextList_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(286);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _TextList_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _TextList_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1);





/* normalize component */

var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(
  _TextList_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__["default"],
  _TextList_vue_vue_type_template_id_67fe83d2___WEBPACK_IMPORTED_MODULE_0__[/* render */ "a"],
  _TextList_vue_vue_type_template_id_67fe83d2___WEBPACK_IMPORTED_MODULE_0__[/* staticRenderFns */ "b"],
  false,
  null,
  null,
  null
  
)

/* harmony default export */ __webpack_exports__["default"] = (component.exports);

/***/ }),

/***/ 9:
/***/ (function(module, exports) {

module.exports = require("vue-property-decorator");

/***/ })

/******/ });