From d083054409a4ca3f151d99c6e846515a69789585 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Mierzwa?= Date: Fri, 21 Jul 2017 21:48:03 -0700 Subject: [PATCH] Fix grid init(), add stub tests --- assets/static/grid.js | 122 ++++++++++++++++++------------------- assets/static/grid.test.js | 5 ++ 2 files changed, 63 insertions(+), 64 deletions(-) create mode 100644 assets/static/grid.test.js diff --git a/assets/static/grid.js b/assets/static/grid.js index ad9f14932..e2961b005 100644 --- a/assets/static/grid.js +++ b/assets/static/grid.js @@ -1,73 +1,67 @@ -/* globals Config */ +const Masonry = require("masonry-layout"); +const $ = require("jquery"); -/* exported Grid */ -var Grid = (function() { +var selectors = { + alerts: "#alerts", + incident: ".incident", + gridSizer: ".grid-sizer", +}; - var selectors = { - alerts: "#alerts", - incident: ".incident", - gridSizer: ".grid-sizer", - }; +var grid; - var grid; - - var init = function() { - grid = $(selectors.alerts).masonry({ - itemSelector: selectors.incident, - columnWidth: selectors.gridSizer, - percentPosition: true, - transitionDuration: "0.4s", - hiddenStyle: { - opacity: 0 - }, - visibleStyle: { - opacity: 1 - } - }); - }; - - var clear = function() { - grid.masonry("remove", $(selectors.incident)); - $(selectors.incident).remove(); - }; - - var redraw = function() { - grid.masonry("layout"); - }; - - var remove = function(elem) { - grid.masonry("remove", elem); - }; - - var append = function(elem) { - if (Config.GetOption("appendtop").Get()) { - grid.prepend(elem).masonry("prepended", elem); - } else { - grid.append(elem).masonry("appended", elem); +function init() { + grid = Masonry($(selectors.alerts), { + itemSelector: selectors.incident, + columnWidth: selectors.gridSizer, + percentPosition: true, + transitionDuration: "0.4s", + hiddenStyle: { + opacity: 0 + }, + visibleStyle: { + opacity: 1 } - }; + }); +} - var items = function() { - return grid.masonry("getItemElements"); - }; +function clear() { + grid.masonry("remove", $(selectors.incident)); + $(selectors.incident).remove(); +} - var hide = function() { - $(selectors.alerts).hide(); - }; +function redraw() { + grid.masonry("layout"); +} - var show = function() { - $(selectors.alerts).show(); - }; +function remove(elem) { + grid.masonry("remove", elem); +} - return { - Init: init, - Clear: clear, - Hide: hide, - Show: show, - Redraw: redraw, - Append: append, - Remove: remove, - Items: items - }; +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; diff --git a/assets/static/grid.test.js b/assets/static/grid.test.js new file mode 100644 index 000000000..2c3d720b9 --- /dev/null +++ b/assets/static/grid.test.js @@ -0,0 +1,5 @@ +const grid = require("./grid"); + +test("grid hide()", () => { + grid.hide(); +});