UNPKG

laya-coreui-es

Version:

laya核心库、ui库es版本,剔除了媒体、TTF等功能。基于 LayaAir-release_2.12.0 修改

69 lines (68 loc) 2.52 kB
import { ColorFilter } from "../filters/ColorFilter"; import { Utils } from "../utils/Utils"; import { WeakObject } from "../utils/WeakObject"; export class UIUtils { static fillArray(arr, str, type = null) { var temp = arr.concat(); if (str) { var a = str.split(","); for (var i = 0, n = Math.min(temp.length, a.length); i < n; i++) { var value = a[i]; temp[i] = (value == "true" ? true : (value == "false" ? false : value)); if (type != null) temp[i] = type(value); } } return temp; } static toColor(color) { return Utils.toHexColor(color); } static gray(traget, isGray = true) { if (isGray) { UIUtils.addFilter(traget, UIUtils.grayFilter); } else { UIUtils.clearFilter(traget, ColorFilter); } } static addFilter(target, filter) { var filters = target.filters || []; filters.push(filter); target.filters = filters; } static clearFilter(target, filterType) { var filters = target.filters; if (filters != null && filters.length > 0) { for (var i = filters.length - 1; i > -1; i--) { var filter = filters[i]; if (filter instanceof filterType) filters.splice(i, 1); } target.filters = filters; } } static _getReplaceStr(word) { return UIUtils.escapeSequence[word]; } static adptString(str) { return str.replace(/\\(\w)/g, UIUtils._getReplaceStr); } static getBindFun(value) { if (!UIUtils._funMap) { UIUtils._funMap = new WeakObject(); } var fun = UIUtils._funMap.get(value); if (fun == null) { var temp = "\"" + value + "\""; temp = temp.replace(/^"\${|}"$/g, "").replace(/\${/g, "\"+").replace(/}/g, "+\""); var str = "(function(data){if(data==null)return;with(data){try{\nreturn " + temp + "\n}catch(e){}}})"; fun = window.Laya._runScript(str); UIUtils._funMap.set(value, fun); } return fun; } } UIUtils.grayFilter = new ColorFilter([0.3086, 0.6094, 0.082, 0, 0, 0.3086, 0.6094, 0.082, 0, 0, 0.3086, 0.6094, 0.082, 0, 0, 0, 0, 0, 1, 0]); UIUtils.escapeSequence = { "\\n": "\n", "\\t": "\t" }; UIUtils._funMap = null;