first commit of free version
This commit is contained in:
114
admin/custom/uikit/js/core/grid.js
Normal file
114
admin/custom/uikit/js/core/grid.js
Normal file
@@ -0,0 +1,114 @@
|
||||
/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
|
||||
(function(UI) {
|
||||
|
||||
"use strict";
|
||||
|
||||
var grids = [];
|
||||
|
||||
UI.component('gridMatchHeight', {
|
||||
|
||||
defaults: {
|
||||
"target" : false,
|
||||
"row" : true,
|
||||
"ignorestacked" : false
|
||||
},
|
||||
|
||||
boot: function() {
|
||||
|
||||
// init code
|
||||
UI.ready(function(context) {
|
||||
|
||||
UI.$("[data-uk-grid-match]", context).each(function() {
|
||||
var grid = UI.$(this), obj;
|
||||
|
||||
if (!grid.data("gridMatchHeight")) {
|
||||
obj = UI.gridMatchHeight(grid, UI.Utils.options(grid.attr("data-uk-grid-match")));
|
||||
}
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
init: function() {
|
||||
|
||||
var $this = this;
|
||||
|
||||
this.columns = this.element.children();
|
||||
this.elements = this.options.target ? this.find(this.options.target) : this.columns;
|
||||
|
||||
if (!this.columns.length) return;
|
||||
|
||||
UI.$win.on('load resize orientationchange', (function() {
|
||||
|
||||
var fn = function() {
|
||||
$this.match();
|
||||
};
|
||||
|
||||
UI.$(function() { fn(); });
|
||||
|
||||
return UI.Utils.debounce(fn, 50);
|
||||
})());
|
||||
|
||||
UI.$html.on("changed.uk.dom", function(e) {
|
||||
$this.columns = $this.element.children();
|
||||
$this.elements = $this.options.target ? $this.find($this.options.target) : $this.columns;
|
||||
$this.match();
|
||||
});
|
||||
|
||||
this.on("display.uk.check", function(e) {
|
||||
if(this.element.is(":visible")) this.match();
|
||||
}.bind(this));
|
||||
|
||||
grids.push(this);
|
||||
},
|
||||
|
||||
match: function() {
|
||||
|
||||
var firstvisible = this.columns.filter(":visible:first");
|
||||
|
||||
if (!firstvisible.length) return;
|
||||
|
||||
var stacked = Math.ceil(100 * parseFloat(firstvisible.css('width')) / parseFloat(firstvisible.parent().css('width'))) >= 100;
|
||||
|
||||
if (stacked && !this.options.ignorestacked) {
|
||||
this.revert();
|
||||
} else {
|
||||
UI.Utils.matchHeights(this.elements, this.options);
|
||||
}
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
revert: function() {
|
||||
this.elements.css('min-height', '');
|
||||
return this;
|
||||
}
|
||||
});
|
||||
|
||||
UI.component('gridMargin', {
|
||||
|
||||
defaults: {
|
||||
"cls": "uk-grid-margin"
|
||||
},
|
||||
|
||||
boot: function() {
|
||||
|
||||
// init code
|
||||
UI.ready(function(context) {
|
||||
|
||||
UI.$("[data-uk-grid-margin]", context).each(function() {
|
||||
var grid = UI.$(this), obj;
|
||||
|
||||
if (!grid.data("gridMargin")) {
|
||||
obj = UI.gridMargin(grid, UI.Utils.options(grid.attr("data-uk-grid-margin")));
|
||||
}
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
init: function() {
|
||||
|
||||
var stackMargin = UI.stackMargin(this.element, this.options);
|
||||
}
|
||||
});
|
||||
|
||||
})(UIkit);
|
Reference in New Issue
Block a user