'use strict';

Object.defineProperty(exports, "__esModule", {
  value: true
});

var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };

var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();

var _desc, _value, _class, _class2, _temp; /* eslint-disable no-console */


var _react = require('react');

var _react2 = _interopRequireDefault(_react);

var _coreDecorators = require('core-decorators');

var _components = require('../../../components');

var _mxa = require('../../../components/mxa');

var _longRunOpt = require('../../system/longRunOpt');

var _dictCodes = require('../../constant/dictCodes');

var _util = require('./util');

var _MenuHelper = require('../../utils/MenuHelper');

var _sideMenu = require('../info/sideMenu');

var _sideMenu2 = _interopRequireDefault(_sideMenu);

var _processMenu = require('./processMenu');

var _processMenu2 = _interopRequireDefault(_processMenu);

var _dictActions = require('../../constant/dictActions');

var _toolBar = require('./toolBar');

var _toolBar2 = _interopRequireDefault(_toolBar);

var _EmptyUtils = require('../../utils/EmptyUtils');

var _StringUtils = require('../../utils/StringUtils');

var _editableCell = require('./editableCell');

var _editableCell2 = _interopRequireDefault(_editableCell);

var _JSExecutor = require('../../utils/JSExecutor');

var _ProcessHelper = require('../../utils/ProcessHelper');

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }

function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {
  var desc = {};
  Object['ke' + 'ys'](descriptor).forEach(function (key) {
    desc[key] = descriptor[key];
  });
  desc.enumerable = !!desc.enumerable;
  desc.configurable = !!desc.configurable;

  if ('value' in desc || desc.initializer) {
    desc.writable = true;
  }

  desc = decorators.slice().reverse().reduce(function (desc, decorator) {
    return decorator(target, property, desc) || desc;
  }, desc);

  if (context && desc.initializer !== void 0) {
    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;
    desc.initializer = undefined;
  }

  if (desc.initializer === void 0) {
    Object['define' + 'Property'](target, property, desc);
    desc = null;
  }

  return desc;
}

var ListView = (_class = (_temp = _class2 = function (_React$Component) {
  _inherits(ListView, _React$Component);

  function ListView(props) {
    _classCallCheck(this, ListView);

    // initial state
    var _this = _possibleConstructorReturn(this, (ListView.__proto__ || Object.getPrototypeOf(ListView)).call(this, props));

    _this._initSelectedKeys = function (dataSource, mainEntityKey) {
      if (!_this.props.extraData || !mainEntityKey) return [];
      return dataSource.reduce(function (selectedKeys, item) {
        if (_this.props.extraData.filter(function (k) {
          return k === item[mainEntityKey];
        }).length > 0) {
          selectedKeys.push(item.key);
        }
        return selectedKeys;
      }, []);
    };

    _this._modalSubmit = function () {
      var _this$state = _this.state,
          selectedType = _this$state.selectedType,
          mainEntityKey = _this$state.mainEntityKey;

      if (_this.props.modalCallback) {
        _this.props.modalCallback(_this.contentList.filter(function (item) {
          return _this.state.selectedRowKeys.indexOf(item.key) >= 0;
        }), selectedType, mainEntityKey);
      }
    };

    _this.isApply = (0, _ProcessHelper.isApply)(_this.props.domainLink);
    _this.isReview = (0, _ProcessHelper.isReview)(_this.props.domainLink);
    // this.contentList = this.props.dataSource.pageResult.contentList || [];
    _this.state = _this._processData(_this.props.dataSource);
    return _this;
  }

  _createClass(ListView, [{
    key: '_renderColumnAction',
    value: function _renderColumnAction(text, record, buttons, mainEntityKey) {
      var _this2 = this;

      var _props = this.props,
          prefixCls = _props.prefixCls,
          query = _props.query,
          inject = _props.inject;

      var toolbarClassName = prefixCls + '-inline-toolbar';
      var buttonClassName = prefixCls + '-inline-button';
      return _react2.default.createElement(
        'div',
        { key: 'inline-operation', className: toolbarClassName },
        buttons.map(function (item, index) {
          return _react2.default.createElement(_components.ExtendButton, _extends({}, item, {
            inline: true,
            key: index,
            mainEntityKey: mainEntityKey,
            record: record,
            inject: inject,
            className: buttonClassName,
            query: query,
            onRefresh: _this2._onSearch
          }));
        })
      );
    }
  }, {
    key: 'onCellChange',
    value: function onCellChange(record, name) {
      return function (value) {
        // console.log('mainEntityKey:', this.state.mainEntityKey);
        console.log('record', record);
        console.log('name: ', name, ' value: ', value);
        // TODO: save api
        // this.props.exec(() => this.props.fetch('/rowSave', { ...record, [name]: value }).then(response => {
        //   console.log('result: ', response);
        // })).then(() => {
        //   const dataSource = this.state.dataSource.map(item => {
        //     if (item[this.state.mainEntityKey] === record[this.state.mainEntityKey]) {
        //       return { ...item, [name]: value };
        //     }
        //     return item;
        //   });
        //   // 修改本地
        //   this.setState({ dataSource: dataSource });
        // });
        return true;
      };
    }
  }, {
    key: '_renderColumn',
    value: function _renderColumn(text, fieldContent) {
      var temp = (0, _util.renderColumn)(text, fieldContent);
      if (typeof temp === 'string' && temp.length > 20) {
        return _react2.default.createElement(
          _mxa.Tooltip,
          { title: temp, placement: 'top' },
          _react2.default.createElement(
            'span',
            null,
            temp.substring(0, 18) + '...'
          )
        );
      }
      return _react2.default.createElement(
        'span',
        null,
        temp
      );
    }
  }, {
    key: '_processData',
    value: function _processData(data) {
      var _this3 = this;

      var buttons = { row: [], top: [] };
      if (data.buttons) {
        buttons.row = data.buttons.filter(function (item) {
          return item.displayPosition === _dictCodes.BUTTON_POSITION.ROW;
        });
        buttons.top = data.buttons.filter(function (item) {
          return item.displayPosition === _dictCodes.BUTTON_POSITION.TOP;
        });
      }

      // const orderItems = handleOrderItems(data.orderItems);
      var ordered = data.orderItems && data.orderItems.length > 0;
      var mainEntityKey = '';
      var columns = [];
      data.fields && data.fields.sort(function (a, b) {
        return a.index - b.index;
      }).forEach(function (item, index) {
        if (item.isMainEntityKey) mainEntityKey = item.name;
        if (_this3.dealIsVisibleField(item.isVisible)) {
          columns.push({
            width: (item.displayColumnLength || 18) * 12,
            key: index,
            title: item.description,
            dataIndex: item.name,
            // sorter: !!orderItems[item.name],
            render: function render(text, record) {
              var fieldContent = _this3.state.fieldsObject[item.name];
              if (item.editable) {
                return _react2.default.createElement(_editableCell2.default, {
                  value: text,
                  renderColumn: _this3._renderColumn,
                  getCurrentRecord: function getCurrentRecord() {
                    return _this3.state.dataSource.find(function (element) {
                      return element[_this3.state.mainEntityKey] === record[_this3.state.mainEntityKey];
                    });
                  },
                  onChange: _this3.onCellChange(record, item.name),
                  fieldContent: fieldContent
                });
              }
              return _this3._renderColumn(text, fieldContent);
            }
          });
        }
      });

      // fix first column
      // if (columns.length > 0) {
      //   columns[0].fixed = true;
      // }

      // add operation
      if (buttons && buttons.row && buttons.row.length > 0) {
        columns.push({
          key: 'inline-operation',
          title: '操作',
          dataIndex: 'inline-operation',
          // fixed: 'right',
          // width: 300,
          render: function render(text, record) {
            return _this3._renderColumnAction(text, record, buttons.row, mainEntityKey);
          }
        });
      }

      var variantFields = Object.assign({}, this.props.query, this.props.params);
      if ((this.isApply || this.isReview) && !variantFields.menu) {
        if (this.isApply) {
          variantFields.menu = 'BPMApply.QueryToDo';
        }
        if (this.isReview) {
          variantFields.menu = 'BPMReview.QueryToDo';
        }
      }

      var pageIndex = data && data.pageResult && data.pageResult.pageIndex;
      var itemsPerPage = data && data.pageResult && data.pageResult.itemsPerPage;
      var pagination = {
        total: data && data.pageResult && data.pageResult.totalItems,
        pageSize: itemsPerPage,
        showSizeChanger: false,
        showQuickJumper: true,
        showTotal: function showTotal(total) {
          return '\u5171 ' + total + ' \u9879';
        }
      };

      var fieldsObject = (0, _util.arr2obj)(data.fields, 'name');
      var filters = (0, _util.handleFilterItems)(data.filterItems, fieldsObject);
      var dataSource = data.pageResult.contentList && data.pageResult.contentList.map(function (r, key) {
        return _extends({ key: key + '-' + pageIndex + '-' + r[mainEntityKey] }, r);
      }) || [];
      this.contentList = dataSource;
      var selectedType = data.selectType;
      // const selectedType = this.props.isModal ? LIST_SELECTTYPE.RADIO : data.selectType;
      return {
        columns: columns,
        dataSource: dataSource,
        buttons: buttons,
        pagination: pagination,
        fieldsObject: fieldsObject,
        filters: filters,
        pageIndex: pageIndex,
        itemsPerPage: itemsPerPage,
        requestFilterFields: [],
        variantFields: variantFields,
        ordered: ordered,
        orderFields: [],
        mainEntityKey: mainEntityKey,
        selectedType: selectedType,
        selectedRowKeys: this._initSelectedKeys(dataSource, mainEntityKey),
        selectedRows: [],
        advancedSearch: null,
        isAdvance: false, // 查询模式
        y: null // 控制表格头部fix
      };
    }
  }, {
    key: 'dealIsVisibleField',
    value: function dealIsVisibleField(isVisible) {
      if (isVisible === 'true') {
        return true;
      } else if (isVisible === 'false') {
        return false;
      } else if (isVisible && isVisible !== false && isVisible !== true) {
        return (0, _JSExecutor.createFunc)(isVisible)();
      }
      return isVisible;
    }
  }, {
    key: '_onFilterChange',
    value: function _onFilterChange(value, isAdvance) {
      var _this4 = this;

      console.log('_onFilterChange ' + value);
      this.state.requestFilterFields = value;
      this.state.isAdvance = !!isAdvance;
      this.state.pageIndex = 1;
      this.setState({
        isLoading: true
      }, function () {
        _this4._onSearch(null, true);
      });
    }
  }, {
    key: '_onChange',
    value: function _onChange(pagination, filters, sorter, isKeepSelectedKeys) {
      var _this5 = this;

      console.log('params', pagination, filters, sorter);
      if (this.state.ordered && !(0, _EmptyUtils.isEmpty)(sorter)) {
        var orderFields = [];
        orderFields.push({
          orderField: sorter.field,
          orderType: sorter.order === 'descend' ? 'DESC' : 'ASC'
        });

        this.setState({
          pageIndex: pagination.current,
          itemsPerPage: pagination.pageSize,
          orderFields: orderFields
        }, function () {
          _this5._onSearch(isKeepSelectedKeys);
        });
      } else {
        this.setState({
          pageIndex: pagination.current,
          itemsPerPage: pagination.pageSize
          // orderFields,
        }, function () {
          _this5._onSearch(isKeepSelectedKeys);
        });
      }
    }
  }, {
    key: '_onSearch',
    value: function _onSearch(isKeepSelectedKeys, shouldScrollToTop) {
      var _this6 = this;

      console.log('***-----LIST REFRESH-----***');
      var searchUrl = (0, _StringUtils.trimStart)(this.props.domainLink.replace(/^(.*\/)render(\w*)$/, '$1search$2'), '/');
      var param = {
        pageIndex: this.state.pageIndex,
        itemsPerPage: this.state.itemsPerPage,
        requestParamsBean: Object.assign({}, this.state.variantFields, this.state.requestParamsBean), // issue #5
        requestFilterFields: this.state.requestFilterFields,
        requestOrderFields: this.state.orderFields,
        isAdvance: this.state.isAdvance
      };
      this.props.exec(function () {
        return _this6.props.fetch(searchUrl, param).then(function (data) {
          if (!data || !data.contentList) return { totalItems: data.totalItems, itemsPerPage: data.itemsPerPage, contentList: [] };
          if (isKeepSelectedKeys) return { totalItems: data.totalItems, itemsPerPage: data.itemsPerPage, contentList: [].concat(_toConsumableArray(_this6.state.dataSource), _toConsumableArray(data.contentList)) };
          return data;
        }).then(function (data) {
          var dataSource = data.contentList.map(function (r, key) {
            return _extends({ key: key + '-' + _this6.state.pageIndex + '-' + r[_this6.state.mainEntityKey] }, r);
          }) || [];
          _this6.contentList = [].concat(_toConsumableArray(dataSource));
          var pagination = {
            current: _this6.state.pageIndex,
            total: data && data.totalItems,
            pageSize: data.itemsPerPage,
            showSizeChanger: false,
            showQuickJumper: true,
            showTotal: function showTotal(total) {
              return '\u5171 ' + total + ' \u9879';
            }
          };
          shouldScrollToTop && (_this6.shouldScrollToTop = true);
          _this6.setState({
            dataSource: dataSource,
            pagination: pagination,
            selectedRowKeys: isKeepSelectedKeys === true ? _this6.state.selectedRowKeys : [],
            selectedRows: isKeepSelectedKeys === true ? _this6.state.selectedRows : [],
            isLoading: false
          });
        });
      });
    }
  }, {
    key: '_getRelatedState',
    value: function _getRelatedState(item) {
      var _this7 = this;

      if (item.relatedData === _dictCodes.BUTTON_RELATEDDATA.SINGLE) {
        if (this.state.selectedRowKeys.length !== 1) {
          return true;
        }
        var relatedItems = item.relatedItems && item.relatedItems.relatedItemList || [];
        var prolog = item.relatedItems && item.relatedItems.prolog;
        if (prolog === 'AND') {
          return relatedItems.some(function (i) {
            return _this7.state.selectedRows[0][i.relatedKey] !== i.relatedValue;
          });
        }
        if (prolog === 'OR') {
          return relatedItems.every(function (i) {
            return _this7.state.selectedRows[0][i.relatedKey] !== i.relatedValue;
          });
        }
      }
      if (item.relatedData === _dictCodes.BUTTON_RELATEDDATA.MULTIPLE && this.state.selectedRowKeys.length < 1) {
        return true;
      }
      return false;
    }
  }, {
    key: '_renderTopButtons',
    value: function _renderTopButtons(filter) {
      var _this8 = this;

      var _props2 = this.props,
          prefixCls = _props2.prefixCls,
          query = _props2.query,
          inject = _props2.inject,
          dataSource = _props2.dataSource;
      var _state = this.state,
          selectedType = _state.selectedType,
          mainEntityKey = _state.mainEntityKey;

      if (this.props.isModalInput) {
        return [_react2.default.createElement(
          'div',
          { className: 'common-btn' + (this.state.selectedRowKeys.length <= 0 ? ' disable' : '') },
          _react2.default.createElement(
            'a',
            {
              onClick: this._modalSubmit,
              disabled: this.state.selectedRowKeys.length <= 0
            },
            '\u786E\u5B9A'
          )
        )];
      }

      var btnJsonObject = this.state.buttons && this.state.buttons.top && this.state.buttons.top;
      if (filter) {
        btnJsonObject = btnJsonObject.filter(filter);
      }
      var btns = btnJsonObject.map(function (item) {
        var ButtonComp = _components.ExtendButton;
        if (_this8.props.renderButtonsSelf) {
          var myBtn = _this8.props.renderButtonsSelf(item, _this8.props);
          if (myBtn) {
            ButtonComp = myBtn;
          }
        }
        return _react2.default.createElement(ButtonComp, _extends({
          inline: false,
          buttonProps: {
            type: 'ghost'
          }
        }, item, {
          disabled: _this8._getRelatedState(item),
          key: item.buttonDescription,
          mainEntityKey: _this8.state.mainEntityKey,
          selectedType: _this8.state.selectedType,
          record: _this8.state.selectedRows,
          query: query,
          inject: inject,
          isModal: _this8.props.isModal,
          modalCallback: _this8.props.modalCallback,
          onRefresh: _this8._onSearch
        }));
      });
      if (this.props.createTopButtons) {
        this.props.createTopButtons(btns);
        return _react2.default.createElement('div', null);
      }
      return btns;
    }
  }, {
    key: '_onRowClick',
    value: function _onRowClick(record, index) {
      if (this.state.selectedType === _dictCodes.LIST_SELECTTYPE.INLINE) return;
      console.log('onRowClick ==> ', record, index);

      var selectedIndex = this.state.selectedRowKeys.indexOf(record.key);
      if (selectedIndex > -1) {
        this.setState({
          selectedRowKeys: this.state.selectedRowKeys.filter(function (item) {
            return item !== record.key;
          }),
          selectedRows: this.state.selectedRows.filter(function (item) {
            return item.key !== record.key;
          })
        });
      } else if (this.state.selectedType === _dictCodes.LIST_SELECTTYPE.RADIO) {
        this.setState({
          selectedRowKeys: [record.key],
          selectedRows: [record]
        });
      } else {
        this.setState({
          selectedRowKeys: this.state.selectedRowKeys.concat(record.key),
          selectedRows: this.state.selectedRows.concat(record)
        });
      }
    }
  }, {
    key: 'renderList',
    value: function renderList(isProcess) {
      var _this9 = this;

      // const selectedRows = [];
      var rowSelection = this.state.selectedType === _dictCodes.LIST_SELECTTYPE.INLINE ? null : {
        type: this.state.selectedType,
        onChange: function onChange(selectedRowKeys, selectedRows) {
          console.log('onChange ==> ', 'selectedRowKeys: ' + selectedRowKeys, 'selectedRows: ', selectedRows);
          _this9.setState({ selectedRowKeys: selectedRowKeys, selectedRows: selectedRows });
        },
        onSelect: function onSelect(record, selected) {
          console.log('onSelect ==> ', record, selected);
          // this.setState({ selectedRows });
        },
        onSelectAll: function onSelectAll(selected, selectedRows, changeRows) {
          console.log('onSelectAll ==> ', selected, selectedRows, changeRows);
          var selectedRowKeys = [];
          if (selected) {
            selectedRowKeys = selectedRows.map(function (row) {
              return row.key;
            });
          }
          _this9.setState({ selectedRows: selectedRows, selectedRowKeys: selectedRowKeys });
        },
        selectedRowKeys: this.state.selectedRowKeys
      };

      if (this.state.columns && this.state.columns.length > 0) {
        // console.log('Search[data] ===> ', this.state.filters);
        var prefixCls = this.props.prefixCls;

        var listContainer = prefixCls + '-container';
        console.log(this.state.selectedRows);
        return _react2.default.createElement(
          'div',
          { className: prefixCls },
          _react2.default.createElement(_toolBar2.default, {
            prefixCls: prefixCls,
            filters: this.state.filters,
            requestFilterFields: this.state.requestFilterFields,
            onSearch: this._onFilterChange,
            renderTopButtons: this._renderTopButtons,
            toolBarType: this.state.selectedRows && this.state.selectedRows.length > 0,
            isModal: this.props.isModalInput || this.props.isModal,
            isProcess: isProcess,
            isInfo: this.props.isInfo,
            modalCallback: this.props.modalCallback,
            selectRows: this.state.selectedRows.length
          }),
          _react2.default.createElement(
            'div',
            { className: listContainer },
            _react2.default.createElement('div', { className: 'loading-mask', style: { display: this.state.isLoading ? 'inline' : 'none', opacity: 0.5, backgroundColor: '#fff' } }),
            _react2.default.createElement(_mxa.Table, {
              shouldScrollToTop: this.shouldScrollToTop,
              locale: { emptyText: '无符合条件的相关数据' },
              rowSelection: rowSelection,
              columns: this.state.columns,
              dataSource: this.state.dataSource,
              sortOrder: false,
              pagination: this.state.pagination,
              onChange: this._onChange,
              onRowClick: this._onRowClick,
              prefixCls: 'mx-table-self',
              isModal: this.props.isModal,
              refStr: this.props.refStr
            })
          )
        );
      }
      console.error('template list', 'columns is null!');
      return _react2.default.createElement('div', null);
    }
  }, {
    key: 'menuClick',
    value: function menuClick(m) {
      var _this10 = this;

      this.setState({
        requestParamsBean: Object.assign({}, this.state.requestParamsBean, { menu: m.menuCode })
      }, function () {
        _this10._onSearch();
      });
    }
  }, {
    key: 'getSideMenu',
    value: function getSideMenu() {
      if ((0, _ProcessHelper.isApply)(this.props.domainLink)) {
        return _processMenu2.default.apply;
      }
      return _processMenu2.default.review;
    }
  }, {
    key: 'componentDidMount',
    value: function componentDidMount() {
      if ((!this.state.dataSource || this.state.dataSource.length === 0) && this.props.dataSource.emptyListPrompt) {
        _mxa.Modal.error({
          title: '提示',
          content: _react2.default.createElement(_longRunOpt.ContentRender, { message: this.props.dataSource.emptyListPrompt })
        });
      }
    }
  }, {
    key: 'componentDidUpdate',
    value: function componentDidUpdate() {
      this.shouldScrollToTop = false;
    }
  }, {
    key: 'render',
    value: function render() {
      var _this11 = this;

      var main = this.renderList((this.isApply || this.isReview) && this.props.domainType !== _dictActions.PAGE_TYPE_SUMMARY_LIST);
      if ((this.isApply || this.isReview) && this.props.domainType !== _dictActions.PAGE_TYPE_SUMMARY_LIST) {
        setTimeout(function () {
          if (_this11.props.switchNavBar) {
            _this11.props.switchNavBar(false);
          }
        });
        var menu = this.getSideMenu(this.props.domainLink);
        this.tag = (0, _MenuHelper.getMenuItemByFunc)(function (m) {
          return m.isSelected === true;
        }, menu) || {};
        return _react2.default.createElement(
          'div',
          { className: 'info-container' },
          _react2.default.createElement(
            'div',
            { className: 'info-sidebar' },
            _react2.default.createElement(_sideMenu2.default, {
              menu: menu,
              menuClick: this.menuClick,
              selectedItem: this.tag
            })
          ),
          _react2.default.createElement(
            'div',
            { className: 'main-grid' },
            _react2.default.createElement(
              'div',
              { className: 'main_grid_middlle', style: { height: '100%', backgroundColor: '#e6e9f0' } },
              main
            )
          )
        );
      }
      return main;
    }
  }]);

  return ListView;
}(_react2.default.Component), _class2.propTypes = {
  prefixCls: _react.PropTypes.string,
  isModal: _react.PropTypes.bool,
  isInfo: _react.PropTypes.bool,
  modalCallback: _react.PropTypes.func,
  inject: _react.PropTypes.object // inject for customize, key is 'buttonDescription'
  // hiddenSearchBar: PropTypes.bool,
}, _class2.defaultProps = {
  prefixCls: 'mx-list',
  isModal: false,
  isInfo: false
}, _temp), (_applyDecoratedDescriptor(_class.prototype, '_renderColumnAction', [_coreDecorators.autobind], Object.getOwnPropertyDescriptor(_class.prototype, '_renderColumnAction'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, 'onCellChange', [_coreDecorators.autobind], Object.getOwnPropertyDescriptor(_class.prototype, 'onCellChange'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, '_renderColumn', [_coreDecorators.autobind], Object.getOwnPropertyDescriptor(_class.prototype, '_renderColumn'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, '_processData', [_coreDecorators.autobind], Object.getOwnPropertyDescriptor(_class.prototype, '_processData'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, 'dealIsVisibleField', [_coreDecorators.autobind], Object.getOwnPropertyDescriptor(_class.prototype, 'dealIsVisibleField'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, '_onFilterChange', [_coreDecorators.autobind], Object.getOwnPropertyDescriptor(_class.prototype, '_onFilterChange'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, '_onChange', [_coreDecorators.autobind], Object.getOwnPropertyDescriptor(_class.prototype, '_onChange'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, '_onSearch', [_coreDecorators.autobind], Object.getOwnPropertyDescriptor(_class.prototype, '_onSearch'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, '_getRelatedState', [_coreDecorators.autobind], Object.getOwnPropertyDescriptor(_class.prototype, '_getRelatedState'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, '_renderTopButtons', [_coreDecorators.autobind], Object.getOwnPropertyDescriptor(_class.prototype, '_renderTopButtons'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, '_onRowClick', [_coreDecorators.autobind], Object.getOwnPropertyDescriptor(_class.prototype, '_onRowClick'), _class.prototype), _applyDecoratedDescriptor(_class.prototype, 'menuClick', [_coreDecorators.autobind], Object.getOwnPropertyDescriptor(_class.prototype, 'menuClick'), _class.prototype)), _class);
exports.default = ListView;