更换smartTable目录结构及使用方式
This commit is contained in:
93
lib/core/utils.js
Normal file
93
lib/core/utils.js
Normal file
@@ -0,0 +1,93 @@
|
||||
export function createTabelWrapper(className, vm, type, content) {
|
||||
let wrapper = document.createElement("div");
|
||||
wrapper.className = className;
|
||||
let table = document.createElement("table");
|
||||
table.className = "smart-table_" + type;
|
||||
table.style.width = (vm.size.tabelWidth - 1) + "px";
|
||||
table.appendChild(createColgroup(vm.colgroup));
|
||||
table.appendChild(content);
|
||||
wrapper.appendChild(table);
|
||||
return wrapper;
|
||||
}
|
||||
|
||||
export function replaceColGroup(vm, wrapper) {
|
||||
let colgroup = createColgroup(vm.colgroup);
|
||||
wrapper.replaceChild(colgroup, wrapper.querySelector('colgroup'));
|
||||
}
|
||||
|
||||
export function getIntByAttr(el, key, def) {
|
||||
return Number.parseInt(el.getAttribute(key) || def)
|
||||
}
|
||||
|
||||
|
||||
export function getEmptyIndexInArray(array) {
|
||||
for (let i = 0, len = array.length; i < len; i++) {
|
||||
if (array[i] === undefined) {
|
||||
return i
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export function throttle(delay, callback) {
|
||||
let timeoutID;
|
||||
let lastExec = 0;
|
||||
|
||||
function wrapper() {
|
||||
|
||||
let self = this;
|
||||
let elapsed = new Date().getTime() - lastExec;
|
||||
let args = arguments;
|
||||
|
||||
function exec() {
|
||||
lastExec = new Date().getTime();
|
||||
callback.apply(self, args)
|
||||
}
|
||||
|
||||
function clear() {
|
||||
timeoutID = undefined;
|
||||
}
|
||||
|
||||
if (timeoutID) {
|
||||
clearTimeout(timeoutID)
|
||||
}
|
||||
|
||||
if (elapsed > delay) {
|
||||
exec()
|
||||
} else {
|
||||
timeoutID = setTimeout(exec, delay - elapsed)
|
||||
}
|
||||
}
|
||||
|
||||
return wrapper;
|
||||
}
|
||||
|
||||
export function debounce(delay, callback) {
|
||||
let timeout = null;
|
||||
return function () {
|
||||
if (timeout !== null) clearTimeout(timeout);
|
||||
timeout = setTimeout(callback, delay);
|
||||
}
|
||||
}
|
||||
|
||||
export function isWindows() {
|
||||
var agent = navigator.userAgent.toLowerCase();
|
||||
if (agent.indexOf("win32") >= 0 || agent.indexOf("wow32") >= 0) {
|
||||
return true;
|
||||
}
|
||||
if (agent.indexOf("win64") >= 0 || agent.indexOf("wow64") >= 0) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
//创建colgroup节点
|
||||
function createColgroup(arr) {
|
||||
if (!arr) return;
|
||||
let colgroup = document.createElement("colgroup");
|
||||
arr.forEach(item => {
|
||||
let col = document.createElement("col");
|
||||
col.setAttribute("width", item);
|
||||
colgroup.appendChild(col)
|
||||
})
|
||||
return colgroup;
|
||||
}
|
||||
Reference in New Issue
Block a user