@qn-pandora/pandora-visualization
Version:
Pandora 通用可视化库
73 lines (72 loc) • 6.1 kB
JavaScript
"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;