UNPKG

kero

Version:
101 lines (91 loc) 2.52 kB
/** * Module : kero app serverEvent util * Author : liuyk(liuyk@yonyou.com) * Date : 2016-07-29 09:34:01 */ import {each} from 'neoui-sparrow/js/util'; import {trigger} from 'neoui-sparrow/js/event'; const setCompression = function (compression) { if (!iweb.browser.isIE8 && !window.pako && compression == true) iweb.log.error("can't compression, please include pako!") else this.compression = compression } const addParameter = function (key, value) { this.params[key] = value return this } const setEvent = function (event) { this.event = _formatEvent(event) return this } var _formatEvent = function (event) { return event } const getData = function () { var envJson = ko.utils.stringifyJson(this.app.getEnvironment()), datasJson = ko.utils.stringifyJson(this.datas, function replacer(key, value) { if (typeof value === "undefined" || value == null) { return ''; } return value; }), compressType = '', compression = false if (window.trimServerEventData) { datasJson = window.trimServerEventData(datasJson); } if (this.compression) { if (!iweb.browser.isIE8 && window.pako) { envJson = encodeBase64(window.pako.gzip(envJson)); datasJson = encodeBase64(window.pako.gzip(datasJson)); compression = true compressType = 'gzip' } } return { environment: envJson, dataTables: datasJson, compression: compression, compressType: compressType } } const updateDom = function () { each(dom, function (i, n) { var vo = n.two var key = n.one; _updateDom(key, vo) }); } //TODO 去除jQuery后有问题待修改 function _updateDom(key, vos) { for (var i in vos) { var vo = vos[i] for (var key in vo) { var props = vo[key] if (key == 'trigger') { trigger(key,props[0]); } else { if (u.isArray(props)) { each(props, function (i, n) { key[i](n) }); } else try { key[i](vo) } catch (error) { key[i](vo[i]) } } } } } export { setCompression, addParameter, setEvent, getData, updateDom }