UNPKG

@qn-pandora/pandora-visualization

Version:

Pandora 通用可视化库

73 lines (72 loc) 6.1 kB
"use strict"; var __read = (this && this.__read) || function (o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); } catch (error) { e = { error: error }; } finally { try { if (r && !r.done && (m = i["return"])) m.call(i); } finally { if (e) throw e.error; } } return ar; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.calcGridBackgroundStyle = exports.calcLayoutW = exports.calcLayoutH = exports.getResponsiveObj = void 0; var pandora_theme_forjs_1 = __importDefault(require("../../../../global/themes/pandora-theme-forjs")); function getResponsiveObj(obj) { return { lg: obj, md: obj, sm: obj, xs: obj, xxs: obj }; } exports.getResponsiveObj = getResponsiveObj; function calcLayoutH(oldH, oldOption, newOption) { var rh = oldOption.rowHeight; var mh = oldOption.margin[1]; var newRH = newOption.rowHeight; var newMH = newOption.margin[1]; var res = (oldH * rh + oldH * mh - mh + newMH) / (newRH + newMH); return Math.floor(res); } exports.calcLayoutH = calcLayoutH; function calcLayoutW(containerWidth, oldW, oldOption, newOption) { var cols = oldOption.cols; var mw = oldOption.margin[0]; var newCols = newOption.cols; var newMW = newOption.margin[0]; var oldColsW = (containerWidth - mw * (cols + 1)) / cols; var newColsW = (containerWidth - newMW * (newCols + 1)) / newCols; var res = (oldW * oldColsW + oldW * mw - mw + newMW) / (newColsW + newMW); return Math.floor(res); } exports.calcLayoutW = calcLayoutW; function calcGridBackgroundStyle(containerWidth, _a, theme) { var cols = _a.cols, height = _a.rowHeight, _b = __read(_a.margin, 2), mainMargin = _b[0], crossMargin = _b[1]; var styles = pandora_theme_forjs_1.default[theme]; var width = (containerWidth - mainMargin * (cols + 1)) / cols; if (!mainMargin && !crossMargin) { return { background: "\n linear-gradient(to right, " + styles.layoutBorderColor + " 1px,\n transparent 1px) 0% 0% / " + width + "px 100%,\n linear-gradient(to bottom, " + styles.layoutBorderColor + " 1px,\n transparent 1px) 0% 0% / 100% " + height + "px,\n linear-gradient(to left, " + styles.layoutBorderColor + " 1px,\n transparent 1px) 0% 0% / 100% 100%,\n linear-gradient(to top, " + styles.layoutBorderColor + " 1px,\n transparent 1px) 0% 0% / 100% 100%\n " }; } if (!mainMargin) { return { background: "\n linear-gradient(to bottom, " + styles.dashboardBGColor + " " + crossMargin + "px,\n transparent " + crossMargin + "px) 0% 0% / 100% " + (height + crossMargin) + "px,\n linear-gradient(to bottom, " + styles.layoutBorderColor + " 1px,\n transparent 1px) 0 -1px / 100% " + (height + crossMargin) + "px,\n linear-gradient(to bottom, " + styles.layoutBorderColor + " 1px,\n transparent 1px) 0 " + crossMargin + "px / 100% " + (height + crossMargin) + "px,\n linear-gradient(to right, " + styles.layoutBorderColor + " 1px,\n transparent 1px) 0% 0% / " + width + "px 100%,\n linear-gradient(to left, " + styles.layoutBorderColor + " 1px,\n transparent 1px) 0% 0% / 100% 100%\n " }; } if (!crossMargin) { return { background: "\n linear-gradient(to right, " + styles.dashboardBGColor + " " + mainMargin + "px,\n transparent " + mainMargin + "px) 0% 0% / " + (width + mainMargin) + "px 100%,\n linear-gradient(to right, " + styles.layoutBorderColor + " 1px,\n transparent 1px) -1px 0 / " + (width + mainMargin) + "px 100%,\n linear-gradient(to right, " + styles.layoutBorderColor + " 1px,\n transparent 1px) " + mainMargin + "px 0 / " + (width + mainMargin) + "px 100%,\n linear-gradient(to bottom, " + styles.layoutBorderColor + " 1px,\n transparent 1px) 0% 0% / 100% " + height + "px,\n linear-gradient(to top, " + styles.layoutBorderColor + " 1px,\n transparent 1px) 0% 0% / 100% 100%\n " }; } var background = "\n linear-gradient(to left, " + styles.dashboardBGColor + " " + mainMargin + "px,\n transparent " + mainMargin + "px) 0% 0% / 100% 100%,\n linear-gradient(to top, " + styles.dashboardBGColor + " " + crossMargin + "px,\n transparent " + crossMargin + "px) 0% 0% / 100% 100%,\n linear-gradient(to right, " + styles.dashboardBGColor + " " + mainMargin + "px,\n transparent " + mainMargin + "px) 0% 0% / " + (width + mainMargin) + "px 100%,\n linear-gradient(to bottom, " + styles.dashboardBGColor + " " + crossMargin + "px,\n transparent " + crossMargin + "px) 0% 0% / 100% " + (height + crossMargin) + "px,\n linear-gradient(to right, transparent " + (width + mainMargin - 1) + "px,\n " + styles.layoutBorderColor + " " + (width + mainMargin) + "px)\n 0% 0% / " + (width + mainMargin) + "px 100%,\n linear-gradient(to bottom, transparent " + (height + crossMargin - 1) + "px,\n " + styles.layoutBorderColor + " " + (height + crossMargin) + "px)\n 0% 0% / 100% " + (height + crossMargin) + "px,\n linear-gradient(to right, transparent " + (width + mainMargin - 1) + "px,\n " + styles.layoutBorderColor + " " + (width + mainMargin) + "px)\n " + (mainMargin + 1) + "px 0 / " + (width + mainMargin) + "px 100%,\n linear-gradient(to bottom, transparent " + (height + crossMargin - 1) + "px,\n " + styles.layoutBorderColor + " " + (height + crossMargin) + "px)\n 0 " + (crossMargin + 1) + "px / 100% " + (height + crossMargin) + "px\n "; return { background: background }; } exports.calcGridBackgroundStyle = calcGridBackgroundStyle;