UNPKG

nativescript-parallax

Version:
120 lines 4.36 kB
"use strict"; exports.__esModule = true; var app = require("application"); var Platform = require("platform"); var label_1 = require("ui/label"); var stack_layout_1 = require("ui/layouts/stack-layout"); var color_1 = require("color"); var ParallaxUtilities = (function () { function ParallaxUtilities() { } ParallaxUtilities.setMinimumHeight = function (contentView, anchoredRow, minHeight, includesAnchored) { if (includesAnchored) { minHeight = minHeight - (anchoredRow.getMeasuredHeight() * 0.9); } contentView.minHeight = minHeight; }; ParallaxUtilities.getMinimumHeights = function () { var height1 = Platform.screen.mainScreen.heightDIPs; var height2 = Platform.screen.mainScreen.widthDIPs; if (height1 > height2) { return { portrait: height1, landscape: height2 }; } else { return { portrait: height2, landscape: height1 }; } }; ParallaxUtilities.addDropShadow = function (translateY, width) { var wrapper = new stack_layout_1.StackLayout(); wrapper.width = width; wrapper.height = 3; wrapper.translateY = translateY; wrapper.addChild(this.shadowView(0.4, width)); wrapper.addChild(this.shadowView(0.2, width)); wrapper.addChild(this.shadowView(0.05, width)); return wrapper; }; ParallaxUtilities.shadowView = function (opacity, width) { var shadowRow = new stack_layout_1.StackLayout(); shadowRow.backgroundColor = new color_1.Color('black'); shadowRow.opacity = opacity; shadowRow.height = 1; return shadowRow; }; ParallaxUtilities.fadeViews = function (topHeight, verticalOffset, viewsToFade, topOpacity) { if (verticalOffset < topHeight) { topOpacity = parseFloat((1 - (verticalOffset * 0.01)).toString()); if (topOpacity > 0 && topOpacity <= 1) { for (var v = 0; v < viewsToFade.length; v++) { var view = viewsToFade[v]; view.opacity = topOpacity; } } } }; ParallaxUtilities.getAnchoredTopHeight = function (topHeight, verticalOffset) { var translateY; if (verticalOffset <= topHeight) { translateY = topHeight - (verticalOffset * 2); if (translateY > topHeight) { translateY = topHeight; } if (app.android) { translateY = translateY - 5; } } else { translateY = 0; } if (translateY < 0) { translateY = 0; } return translateY; }; ParallaxUtilities.getTopViewHeight = function (topHeight, verticalOffset) { if ((topHeight - verticalOffset) >= 0) { return topHeight - verticalOffset; } else { return 0; } }; ParallaxUtilities.displayDevWarning = function (parent, message) { var viewsToCollapse = []; for (var _i = 2; _i < arguments.length; _i++) { viewsToCollapse[_i - 2] = arguments[_i]; } var warningText = new label_1.Label(); warningText.text = message; warningText.color = new color_1.Color('red'); warningText.textWrap = true; warningText.translateY = 50; parent.addChild(warningText); viewsToCollapse.forEach(function (view) { if (view != null) { view.visibility = 'collapse'; } }); }; ParallaxUtilities.pluckViews = function (parent) { var returnViews = []; parent.eachLayoutChild(function (child) { returnViews.push(child); }); parent.removeChildren(); return returnViews; }; ParallaxUtilities.containsCssClass = function (view, className) { var cssClasses = view.className.split(' '); return cssClasses.indexOf(className) > -1 ? true : false; }; return ParallaxUtilities; }()); exports.ParallaxUtilities = ParallaxUtilities; //# sourceMappingURL=utilities.js.map