diff options
-rw-r--r-- | guix-web/view/html.scm | 1 | ||||
-rw-r--r-- | js/view/packages.js | 21 | ||||
-rw-r--r-- | js/view/ui.js | 38 |
3 files changed, 43 insertions, 17 deletions
diff --git a/guix-web/view/html.scm b/guix-web/view/html.scm index c004ac3..c72421a 100644 --- a/guix-web/view/html.scm +++ b/guix-web/view/html.scm @@ -48,6 +48,7 @@ (list (javascript "/js/lib/underscore.js" expat) (javascript "/js/lib/mithril.js" expat) (javascript "/js/utils.js" agpl3+) + (javascript "/js/view/ui.js" agpl3+) (javascript "/js/view/layout.js" agpl3+) (javascript "/js/model/packages.js" agpl3+) (javascript "/js/view/packages.js" agpl3+) diff --git a/js/view/packages.js b/js/view/packages.js index 2abcf11..a006d29 100644 --- a/js/view/packages.js +++ b/js/view/packages.js @@ -1,5 +1,5 @@ // guix-web - Web interface for GNU Guix -// Copyright © 2014 David Thompson <davet@gnu.org> +// Copyright © 2014, 2015 David Thompson <davet@gnu.org> // // This program is free software: you can redistribute it and/or // modify it under the terms of the GNU Affero General Public License @@ -216,22 +216,9 @@ } if(ctrl.phase() != packages.PHASE_NONE) { - return [ - m(".modal-backdrop.in"), - m("div.modal.modal-open", { - style: { - display: "block" - } - }, m(".modal-dialog", [ - m(".modal-content", [ - m(".modal-header", [ - m("h4.modal-title", "Install Packages") - ]), - m(".modal-body", renderBody()), - m(".modal-footer", renderButtons()) - ]) - ])) - ]; + return guix.ui.modal("Install Packages", + renderBody(), + renderButtons()); } return null; diff --git a/js/view/ui.js b/js/view/ui.js new file mode 100644 index 0000000..49b02bc --- /dev/null +++ b/js/view/ui.js @@ -0,0 +1,38 @@ +// guix-web - Web interface for GNU Guix +// Copyright © 2015 David Thompson <davet@gnu.org> +// +// This program is free software: you can redistribute it and/or +// modify it under the terms of the GNU Affero General Public License +// as published by the Free Software Foundation, either version 3 of +// the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, but +// WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public +// License along with this program. If not, see +// <http://www.gnu.org/licenses/>. +(function() { + var ui = guix.ui = {}; + + ui.modal = function(title, body, footer) { + return [ + m(".modal-backdrop.in"), + m("div.modal.modal-open", { + style: { + display: "block" + } + }, m(".modal-dialog", [ + m(".modal-content", [ + m(".modal-header", [ + m("h4.modal-title", title) + ]), + m(".modal-body", body), + m(".modal-footer", footer) + ]) + ])) + ]; + }; +})(); |