|
Struts example source code file (layout.js)
The Struts layout.js source code/* Copyright (c) 2004-2006, The Dojo Foundation All Rights Reserved. Licensed under the Academic Free License version 2.1 or above OR the modified BSD license. For more information on Dojo licensing, see: http://dojotoolkit.org/community/licensing.shtml */ dojo.provide("dojo.widget.html.layout"); dojo.require("dojo.lang.common"); dojo.require("dojo.string.extras"); dojo.require("dojo.html.style"); dojo.require("dojo.html.layout"); dojo.widget.html.layout = function (container, children, layoutPriority) { dojo.html.addClass(container, "dojoLayoutContainer"); children = dojo.lang.filter(children, function (child, idx) { child.idx = idx; return dojo.lang.inArray(["top", "bottom", "left", "right", "client", "flood"], child.layoutAlign); }); if (layoutPriority && layoutPriority != "none") { var rank = function (child) { switch (child.layoutAlign) { case "flood": return 1; case "left": case "right": return (layoutPriority == "left-right") ? 2 : 3; case "top": case "bottom": return (layoutPriority == "left-right") ? 3 : 2; default: return 4; } }; children.sort(function (a, b) { return (rank(a) - rank(b)) || (a.idx - b.idx); }); } var f = {top:dojo.html.getPixelValue(container, "padding-top", true), left:dojo.html.getPixelValue(container, "padding-left", true)}; dojo.lang.mixin(f, dojo.html.getContentBox(container)); dojo.lang.forEach(children, function (child) { var elm = child.domNode; var pos = child.layoutAlign; with (elm.style) { left = f.left + "px"; top = f.top + "px"; bottom = "auto"; right = "auto"; } dojo.html.addClass(elm, "dojoAlign" + dojo.string.capitalize(pos)); if ((pos == "top") || (pos == "bottom")) { dojo.html.setMarginBox(elm, {width:f.width}); var h = dojo.html.getMarginBox(elm).height; f.height -= h; if (pos == "top") { f.top += h; } else { elm.style.top = f.top + f.height + "px"; } if (child.onResized) { child.onResized(); } } else { if (pos == "left" || pos == "right") { var w = dojo.html.getMarginBox(elm).width; if (child.resizeTo) { child.resizeTo(w, f.height); } else { dojo.html.setMarginBox(elm, {width:w, height:f.height}); } f.width -= w; if (pos == "left") { f.left += w; } else { elm.style.left = f.left + f.width + "px"; } } else { if (pos == "flood" || pos == "client") { if (child.resizeTo) { child.resizeTo(f.width, f.height); } else { dojo.html.setMarginBox(elm, {width:f.width, height:f.height}); } } } } }); }; dojo.html.insertCssText(".dojoLayoutContainer{ position: relative; display: block; overflow: hidden; }\n" + "body .dojoAlignTop, body .dojoAlignBottom, body .dojoAlignLeft, body .dojoAlignRight { position: absolute; overflow: hidden; }\n" + "body .dojoAlignClient { position: absolute }\n" + ".dojoAlignClient { overflow: auto; }\n"); Other Struts examples (source code examples)Here is a short list of links related to this Struts layout.js source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.