UNPKG

qcobjects

Version:

QCObjects is an Open-source framework that empowers full-stack developers to make micro-services and micro-frontends into an N-Tier architecture.

66 lines (65 loc) 2.73 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TransitionEffect = void 0; const Effect_1 = require("./Effect"); const Logger_1 = require("./Logger"); const Package_1 = require("./Package"); const ClassFactory_1 = require("./ClassFactory"); class TransitionEffect extends Effect_1.Effect { duration = 385; defaultParams = { alphaFrom: 0, alphaTo: 1, angleFrom: 180, angleTo: 0, radiusFrom: 0, radiusTo: 30, scaleFrom: 0, scaleTo: 1 }; fitToHeight = false; fitToWidth = false; component; effects; apply({ alphaFrom, alphaTo, angleFrom, angleTo, radiusFrom, radiusTo, scaleFrom, scaleTo }) { const _transition_ = this; Logger_1.logger.info("EXECUTING TransitionEffect "); const componentRoot = _transition_.component.componentRoot; if (typeof componentRoot !== "undefined" && componentRoot !== null) { if (_transition_.fitToHeight) { componentRoot.height = (typeof componentRoot.offsetParent === "object" && componentRoot.offsetParent !== null) ? (componentRoot.offsetParent?.scrollHeight) : (componentRoot.getBoundingClientRect().height); } if (_transition_.fitToWidth) { componentRoot.width = (typeof componentRoot.offsetParent === "object" && componentRoot.offsetParent !== null) ? (componentRoot.offsetParent?.scrollWidth) : (componentRoot.getBoundingClientRect().width); } if (_transition_.component.shadowed) { componentRoot.host.style.display = "block"; } else { componentRoot.style.display = "block"; } _transition_.effects.map((effectClassName) => { const __effectClass__ = (0, ClassFactory_1.ClassFactory)(effectClassName); const effectObj = new __effectClass__({}); const effectClassMethod = effectObj.apply.bind(_transition_); const componentHost = (_transition_.component.shadowed) ? (componentRoot.host) : (componentRoot); const effectParams = { alphaFrom, alphaTo, angleFrom, angleTo, radiusFrom, radiusTo, scaleFrom, scaleTo }; effectClassMethod(componentHost, ...Object.values(effectParams)); return effectClassName; }); } } } exports.TransitionEffect = TransitionEffect; (0, Package_1.Package)("com.qcobjects.effects.transitions.base", [ TransitionEffect ]);