UNPKG

devexpress-reporting

Version:

DevExpress Reporting provides the capability to develop a reporting application to create and customize reports.

58 lines (57 loc) 2.31 kB
/** * DevExpress HTML/JS Reporting (viewer\internal\_brickUtils.js) * Version: 20.2.13 * Build date: Apr 10, 2023 * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED * License: https://www.devexpress.com/Support/EULAs/universal.xml */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var ko = require("knockout"); function convertToPercent(childSize, parentSize) { return childSize * 100 / parentSize + '%'; } exports.convertToPercent = convertToPercent; function brickText(brick, editingFieldsProvider) { var fields = editingFieldsProvider ? editingFieldsProvider() : []; if (brick.efIndex && brick.efIndex > 0 && brick.efIndex <= fields.length && fields[brick.efIndex - 1].type() === 'text') { return fields[brick.efIndex - 1].editValue(); } else { var brickTextProperty = brick.content && brick.content.filter(function (x) { return x.Key === 'text'; })[0]; return brickTextProperty && brickTextProperty.Value; } } exports.brickText = brickText; function updateBricksPosition(brick, height, width) { if (!brick) { return; } brick[brick.rtl ? 'rightP' : 'leftP'] = convertToPercent(brick.left, width); brick.widthP = convertToPercent(brick.width, width); brick.topP = convertToPercent(brick.top, height); brick.heightP = convertToPercent(brick.height, height); brick.bricks && brick.bricks.forEach(function (childBrick) { updateBricksPosition(childBrick, height, width); }); } exports.updateBricksPosition = updateBricksPosition; function initializeBrick(brick, processClick, zoom, editingFieldBricks) { if (!brick) { return; } !!brick.active ? brick.active(false) : (brick.active = ko.observable(false)); brick['onClick'] = function (e) { processClick && processClick(brick, e); }; brick.bricks && brick.bricks.forEach(function (childBrick) { if (!childBrick) return; childBrick.top += brick.top; childBrick.left += brick.left; initializeBrick(childBrick, processClick, zoom, editingFieldBricks); }); if (brick.efIndex > 0) { editingFieldBricks.push(brick); } brick.text = function () { return brickText(brick); }; } exports.initializeBrick = initializeBrick;