'use strict';

require('../../../../utils/index.js');
var runtime = require('../../../../utils/props/runtime.js');

"use strict";
const tableContentType = ["table", "card"];
const mainTableProps = runtime.buildProps({
  /**
   * @description 动态插槽显示card和table
   */
  operateWidth: {
    type: Number,
    default: 120
  },
  /**
   * @description 动态插槽显示card和table
   */
  contentType: {
    type: String,
    values: tableContentType,
    default: "table"
  },
  /**
   * @description 操作栏编辑操作列的key,用于下次记录用户行为
   */
  settingKey: {
    type: String,
    default: ""
  },
  /**
   * @description 列设置
   */
  columns: {
    type: runtime.definePropType(Array),
    default: () => []
  },
  /**
   * @description 数据源
   */
  dataSource: {
    type: runtime.definePropType(Array),
    default: () => []
  },
  /**
   * @description 是否数据拖拽
   */
  showDrag: {
    type: Boolean
  },
  /**
   * @description  是否显示#序列
   */
  showIndexColumn: {
    type: Boolean,
    default: true
  },
  /**
   * @description  展示操作列的
   */
  showOperate: {
    type: Boolean,
    default: true
  },
  /**
   * @description  是否显示操作栏上的设置
   */
  showSetting: {
    type: Boolean,
    default: true
  },
  /**
   * @description  table的scroll
   */
  scroll: {
    type: runtime.definePropType(Object),
    default: () => ({
      y: "100%"
    })
  },
  /**
   * @description  展开的key
   */
  expandedRowKeys: {
    type: runtime.definePropType(Array)
  },
  /**
   * @description 是否隐藏分页
   */
  hiddenPagination: {
    type: Boolean
  },
  /**
   * @description 设置行属性同表格的customRow属性
   */
  customRowProps: {
    type: Function
  },
  /**
   * @description 点击展开图标时触发
   */
  expand: {
    type: Function
  },
  /**
   * @description 分页、排序、筛选变化时触发
   */
  change: {
    type: Function
  },
  /**
   * @description 展开的行变化时触发
   */
  expandedRowsChange: {
    type: Function
  },
  /**
   * @description 拖动列改变列的宽度时触发
   */
  resizeColumn: {
    type: Function
  },
  /**
   * @description 拖拽后的change
   */
  dragChange: {
    type: Function
  }
});
const mainTableEmits = {
  handleChangeDataSource: (dataSource) => !!dataSource
};

exports.mainTableEmits = mainTableEmits;
exports.mainTableProps = mainTableProps;
exports.tableContentType = tableContentType;
//# sourceMappingURL=main-table.js.map
