diff options
Diffstat (limited to 'libs/js/jlayout/jlayout.flow.js')
-rw-r--r-- | libs/js/jlayout/jlayout.flow.js | 127 |
1 files changed, 0 insertions, 127 deletions
diff --git a/libs/js/jlayout/jlayout.flow.js b/libs/js/jlayout/jlayout.flow.js deleted file mode 100644 index 68895a41..00000000 --- a/libs/js/jlayout/jlayout.flow.js +++ /dev/null @@ -1,127 +0,0 @@ -/*! - * jLayout Flow Layout - JavaScript Layout Algorithms v0.12 - * - * Licensed under the new BSD License. - * Copyright 2008-2009, Bram Stein - * All rights reserved. - */ -/*global jLayout */ -(function () { - jLayout = typeof jLayout === 'undefined' ? {} : jLayout; - - jLayout.flow = function (options) { - var my = {}, - that = {}; - - - my.hgap = typeof options.hgap === 'number' && !isNaN(options.hgap) ? options.hgap : 5; - my.vgap = typeof options.vgap === 'number' && !isNaN(options.vgap) ? options.vgap : 5; - my.items = options.items || []; - my.alignment = (options.alignment && (options.alignment === 'center' || options.alignment === 'right' || options.alignment === 'left') && options.alignment) || 'left'; - - that.items = function () { - var r = []; - Array.prototype.push.apply(r, my.items); - return r; - }; - - that.layout = function (container) { - var parentSize = container.bounds(), - insets = container.insets(), - i = 0, - len = my.items.length, - itemSize, - currentRow = [], - rowSize = { - width: 0, - height: 0 - }, - offset = { - x: insets.left, - y: insets.top - }; - - parentSize.width -= insets.left + insets.right; - parentSize.height -= insets.top + insets.bottom; - - for (; i < len; i += 1) { - if (my.items[i].isVisible()) { - itemSize = my.items[i].preferredSize(); - - if ((rowSize.width + itemSize.width) > parentSize.width) { - align(currentRow, offset, rowSize, parentSize); - - currentRow = []; - offset.y += rowSize.height; - offset.x = insets.left; - rowSize.width = 0;
- rowSize.height = 0; - } - rowSize.height = Math.max(rowSize.height, itemSize.height + my.vgap); - rowSize.width += itemSize.width + my.hgap; - - currentRow.push(my.items[i]); - } - } - align(currentRow, offset, rowSize, parentSize); - return container; - }; - - function align(row, offset, rowSize, parentSize) { - var location = { - x: offset.x, - y: offset.y - }, - i = 0, - len = row.length; - - switch (my.alignment) { - case 'center': { - location.x += (my.hgap + parentSize.width - rowSize.width) / 2; - break; - } - case 'right': { - location.x += parentSize.width - rowSize.width + my.hgap; - break; - } - } - - for (; i < len; i += 1) { - location.y = offset.y; - row[i].bounds(location); - row[i].doLayout(); - location.x += row[i].bounds().width + my.hgap; - } - } - - function typeLayout(type) { - return function (container) { - var i = 0, - width = 0, - height = 0, - typeSize, - firstComponent = false, - insets = container.insets(); - - for (; i < my.items.length; i += 1) { - if (my.items[i].isVisible()) { - typeSize = my.items[i][type + 'Size'](); - height = Math.max(height, typeSize.height); - width += typeSize.width; - } - }
- - return { - 'width': width + insets.left + insets.right + (my.items.length - 1) * my.hgap, - 'height': height + insets.top + insets.bottom - }; - }; - } - - that.preferred = typeLayout('preferred'); - that.minimum = typeLayout('minimum'); - that.maximum = typeLayout('maximum'); - - return that; - }; -})(); |