| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- require('../utilities/sort.js');
- const header = function (object) {
- this._header = object.el || '#header';
- this._column = object.column;
- this._data = object.data;
- let _this = this;
- let _parentNode = $(_this._header);
- let sortType = {};
- let columnArr = [];
- // form fixed
- function parentNodeFloat() {
- let _parentNode_top = _parentNode.offset().top;
- let height = _parentNode.height();
- window.onscroll = function () {
- let scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
- if (scrollTop > _parentNode_top) {
- _parentNode.addClass('fixed-top');
- _parentNode.height(height);
- } else {
- _parentNode.removeClass('fixed-top');
- }
- }
- }
- /**
- * column :{customization : null || bool --是否自定义
- * dom : null || element --自定义元素
- * style : null || string --样式
- * name : null || string --字段名,英文
- * value : string --列名
- * neglect : null || bool --是否忽略排序
- * }
- * */
- function append() {
- _this._column.forEach(function (column) {
- if (column.customization){
- _parentNode.append(column.dom);
- }else{
- let _td = "<th";
- if (column.style) _td += " style='"+column.style+"'"
- _td += ">"+column.value;
- _td += "</th>";
- _parentNode.append(_td);
- if (!column.neglect){
- $(_td).click(function () {
- if (!sortType[column.name]){
- sortType[column.name] = 'asc';
- columnArr.push(column.name);
- }
- if (sortType[column.name] === 'asc') sortType[column.name] = 'desc';
- if (sortType[column.name] === 'desc'){
- delete sortType[column.name];
- delete columnArr[column.name];
- }
- sort(_this._data,columnArr,sortType);
- });
- }
- }
- });
- }
- };
|