ucbuilder
Version:
For Developing Applications with multiple form/usercontrols etc.. In Single BrowserWindow...
74 lines (73 loc) • 2.58 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.GridResizer = exports.getConvertedNames = void 0;
const shapes_1 = require("ucbuilder/global/drawing/shapes");
const objectOpt_1 = require("ucbuilder/global/objectOpt");
const gridResizerInitOptions = {
grid: undefined,
nodeName: ''
};
const namingConversion = {
offsetSize: 'offsetWidth',
splitterText: 'splitter-width',
gridTemplate: 'grid-template-columns',
gridAuto: 'grid-auto-rows',
point: 'x',
size: 'width',
dir: 'left',
pagePoint: 'pageX',
OPPOSITE: {
scrollPoint: "scrollTop",
scrollSize: "scrollBarHeight",
}
};
const getConvertedNames = (gridTemplate = 'grid-template-columns') => {
let _rtrn = objectOpt_1.newObjectOpt.clone(namingConversion);
if (gridTemplate == "grid-template-rows") {
_rtrn.offsetSize = "offsetHeight";
_rtrn.splitterText = "splitter-height";
_rtrn.gridTemplate = 'grid-template-rows';
_rtrn.gridAuto = "grid-auto-columns";
_rtrn.size = "height";
_rtrn.point = "y";
_rtrn.dir = "top";
_rtrn.pagePoint = "pageY";
_rtrn.OPPOSITE = {
scrollPoint: "scrollLeft",
scrollSize: "scrollBarWidth",
};
}
return _rtrn;
};
exports.getConvertedNames = getConvertedNames;
class GridResizer {
constructor() {
this.options = {
grid: undefined,
nodeName: ''
};
this.dgvDomRect = new shapes_1.Rect();
this.measurement = [];
this.resizeMode = "unfill";
this.gridTemplate = namingConversion.gridTemplate;
this.gridAuto = "grid-auto-rows";
}
get measureText() {
return this.measurement.length <= 1 ? "auto" : this.measurement.map(s => s.size).slice(0, -1).join("px ") + "px auto";
}
refreshView() {
this.options.grid.style[this.gridTemplate] = this.measureText;
}
get hasDefinedStyles() {
var _a, _b;
return ((_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.grid) === null || _b === void 0 ? void 0 : _b.style[this.gridTemplate]) !== "";
}
init(options) {
this.options = objectOpt_1.newObjectOpt.copyProps(options, gridResizerInitOptions);
}
static getConvertedNames(gridTemplate = "grid-template-columns") {
return (0, exports.getConvertedNames)(gridTemplate);
}
}
exports.GridResizer = GridResizer;
GridResizer.boundContainers = [];