summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--guix-web/view/html.scm1
-rw-r--r--js/view/packages.js21
-rw-r--r--js/view/ui.js38
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)
+ ])
+ ]))
+ ];
+ };
+})();