/**
 * 该模块上下左右联动滚动容器组件<br>:
 *  <strong>
 *          页面需要导入的文件
 *          <ul>
 *              <li>cmp-tableList.js</li>
 *              <li>cmp-listView.js</li>
 *              <li>cmp-listView.css</li>
 *              <li>cmp-tableList.css</li>
 *          </ul>
 *      </strong>
 * @module tableList
 * @subtitle 数据列表
 */

/**
 * @class tableList
 */

/**
 * 上下左右联动滚动容器组件
 * <br>类似于excel的布局风格,滚动内容区域时:左右滚动时,左边的行列表不会滚动头部导航栏可以滚动;上下滚动时,头部导航栏不滚动,左边行列表滚动,目前提供两组风格,开发者可自行配置<br>
 *     <ul>
 *         <li>纯列表展示(左边行列表是数字)</li>
 *         <li>可选进行选择的数据展示(左边行列表有选择框)</li>
 *     </ul>
 * @namespace cmp
 * @class tableList
 * @constructor
 * @param {String} container 列表容器标识,querySelector能定位的css选择器均可,比如:id、.class等,如:"#id"、".class"(必须符合以上两种形式的查询)
 * @param {Object} options 配置参数
 *      @param {Object} options.fields 用于头部导航栏显示的显示内容,格式如:<br>
 *          {"key1":"计划表","key2":"姓名"}<br>
 *          key:代表的是对应列数据关键字,key的值代表的是对应导航栏展示的文字
 *     @param {Number} options.type 列表数据是否是可选择的<br>
 *         <ul>
 *             <li>1:默认不可选择(数字排序)</li>
 *             <li>2,可进行选择的</li>
 *         </ul>
 *     @param {Boolean} options.radio 是否只能进行单选  true 只能单选,false进行多选(默认:false)
 *     @param {Object} options.params 上拉下拉刷新请求函数需要的参数,格式:{ticket: "luodx"}
 *     @param {Number} [options.pageSize] 分页数,默认20
 *     @param {String} [options.theme] 主题配置
 *                      @param {String} [options.theme.headerStyle] 标题头部的样式,接受以css字符串的形式
 *                      @param {String} [options.theme.sidebarStyle] 侧边栏样式,以css字符串的形式
 *                      @param {String} [options.theme.rowClass] 列表class类,由开发者自己定义,一般是定义的错峰显示的不同底色的类
 *     @param {Number} [options.headerH] 标题头部的高度,默认32
 *     @param {Number} [options.sidebarW] 侧边栏的宽度,默认50
 *     @param {Number} [options.rowH] 列表行高,默认41
 *     @param {Number} [options.captionType] 下拉上拉控件显示类型<br>
 *                  <ul>
 *                      <li>0:不显示条数,只显示文字</li>
 *                      <li>1:显示条数和文字(默认)</li>
 *                  </ul>
 *     @param {Number} [options.purpose] 列表用作的方式,应用场景当首次请求无数据时,以一个开发者自定义的html来展示.<br/>
 *                 <ul>
 *                     <li>1:普通内容展示;</li>
 *                     <li>2:搜索内容展示</li>
 *                     <li>以后进行扩展</li>
 *                     <li>-1:开发者自己渲染无数据的页面,还是要走开发者定义的渲染方法,只是返回的数据为空</li>
 *                 </ul>
 *     @param {Function} options.dataFunc 上拉下拉刷新请求数据的函数
 *     @param {Boolean} [options.multiLevel] 是否是多级查看 <br> true 会出现一个向右的按钮,可进行到下一级的回调函数,false:不会出现向右的按钮
 *     @param {Boolean} [options.multiLevelCallback] 如果可进行下一级查看 进入下一级的回调函数
 *     @param {Object} [options.down] 下拉控件的文字、数据数量配置
 *             @param {String} [options.down.contentdown] 在下拉可刷新状态时,下拉刷新控件上显示的标题内容(默认:"下拉可以刷新")
 *             @param {String} [options.down.contentover] 在释放可刷新状态时,下拉刷新控件上显示的标题内容(默认:"释放立即刷新")
 *             @param {String} [options.down.contentrefresh] 正在刷新状态时,下拉刷新控件上显示的标题内容(默认:"正在刷新...")
 *             @param {String} [options.down.contentprepage] 请求数据条数超过一屏了,需要显示【上一页】的文字
 *     @param {Object} [options.up] 上拉控件的文字、数据数量配置
 *             @param {String} [options.up.contentdown] 在上拉可刷新状态时,上拉刷新控件上显示的标题内容(默认:"上拉显示更多")
 *             @param {String} [options.up.contentrefresh] 正在加载状态时,上拉加载控件上显示的标题内容(默认:"正在加载...")
 *             @param {String} [options.up.contentnomore] 请求完毕若没有更多数据时显示的提醒内容(默认:"没有更多数据了")
 *             @param {String} [options.up.contentnextpage] 请求数据条数满一屏了,需要显示【下一页】的文字
 *      @param {Function} [options.callback] 点击列表数据回调函
 * @demo cmp-tableList.html
 * @demo cmp-tableList2.html
 * @returns {Object} 返回tableList对象<br>
 *     对象提供的方法
 *     <ul>
 *         <li>如果设置的是可选择类型的:则提供 getChoosedData方法,返回被选中的数据<br>
 *             var tableList = cmp.tableList("linkContainer",....);<br>
 *             var choosedData = tableList.getChoosedData();
 *             </li>
 *     </ul>
 * @cutline 请点击[http://open.seeyon.com/seeyon/cmp2.0/demo/demo/pagings/v5/cmp-listview-tableList-default.html](http://open.seeyon.com/seeyon/cmp2.0/demo/demo/pagings/v5/cmp-listview-tableList-default.html)查看demo
 */
    
Top