mirror of
https://github.com/prymitive/karma
synced 2026-05-05 03:16:51 +00:00
74 lines
1.4 KiB
JavaScript
74 lines
1.4 KiB
JavaScript
"use strict";
|
|
|
|
const Masonry = require("masonry-layout");
|
|
const jQueryBridget = require("jquery-bridget");
|
|
const $ = require("jquery");
|
|
|
|
const config = require("./config");
|
|
|
|
var selectors = {
|
|
alerts: "#alerts",
|
|
incident: ".incident",
|
|
gridSizer: ".grid-sizer",
|
|
};
|
|
|
|
var grid;
|
|
|
|
function init() {
|
|
jQueryBridget( "masonry", Masonry, $ );
|
|
grid = $(selectors.alerts).masonry({
|
|
itemSelector: selectors.incident,
|
|
columnWidth: selectors.gridSizer,
|
|
percentPosition: true,
|
|
transitionDuration: "0.4s",
|
|
hiddenStyle: {
|
|
opacity: 0
|
|
},
|
|
visibleStyle: {
|
|
opacity: 1
|
|
}
|
|
});
|
|
}
|
|
|
|
function clear() {
|
|
grid.masonry("remove", $(selectors.incident));
|
|
$(selectors.incident).remove();
|
|
}
|
|
|
|
function redraw() {
|
|
grid.masonry("layout");
|
|
}
|
|
|
|
function remove(elem) {
|
|
grid.masonry("remove", elem);
|
|
}
|
|
|
|
function append(elem) {
|
|
if (config.getOption("appendtop").Get()) {
|
|
grid.prepend(elem).masonry("prepended", elem);
|
|
} else {
|
|
grid.append(elem).masonry("appended", elem);
|
|
}
|
|
}
|
|
|
|
function items() {
|
|
return grid.masonry("getItemElements");
|
|
}
|
|
|
|
function hide() {
|
|
$(selectors.alerts).hide();
|
|
}
|
|
|
|
function show() {
|
|
$(selectors.alerts).show();
|
|
}
|
|
|
|
exports.init = init;
|
|
exports.clear = clear;
|
|
exports.redraw = redraw;
|
|
exports.hide = hide;
|
|
exports.show = show;
|
|
exports.append = append;
|
|
exports.remove = remove;
|
|
exports.items = items;
|