Files
karma/assets/static/grid.js
2017-04-25 18:51:10 -07:00

80 lines
1.4 KiB
JavaScript

var Grid = (function(params) {
var selectors = {
alerts: '#alerts',
incident: '.incident',
gridSizer: '.grid-sizer',
};
var grid;
init = function() {
grid = $(selectors.alerts).masonry({
itemSelector: selectors.incident,
columnWidth: selectors.gridSizer,
percentPosition: true,
transitionDuration: '0.4s',
hiddenStyle: {
opacity: 0
},
visibleStyle: {
opacity: 1
}
});
};
clear = function() {
grid.masonry('remove', $(selectors.incident));
};
redraw = function() {
grid.masonry('layout');
};
remove = function(elem) {
grid.masonry('remove', elem);
};
append = function(elem) {
if (Config.GetOption('appendtop').Get()) {
grid.prepend(elem).masonry('prepended', elem);
} else {
grid.append(elem).masonry('appended', elem);
}
};
items = function() {
return grid.masonry('getItemElements');
};
hide = function() {
$(selectors.alerts).hide();
};
show = function() {
$(selectors.alerts).show();
};
return {
Init: init,
Clear: clear,
Hide: hide,
Show: show,
Redraw: redraw,
Append: append,
Remove: remove,
Items: items
};
})();