luci-app-pagekitec: convert pagekite ui to js 3686/head
authorKarl Palsson <karlp@etactica.com>
Tue, 25 Feb 2020 17:08:47 +0000 (17:08 +0000)
committerKarl Palsson <karlp@etactica.com>
Wed, 26 Feb 2020 11:46:15 +0000 (11:46 +0000)
Adds support for the simple_ws option as well, added in the package
itself.

Signed-off-by: Karl Palsson <karlp@tweak.net.au>
applications/luci-app-pagekitec/Makefile
applications/luci-app-pagekitec/htdocs/luci-static/resources/view/pagekitec.js [new file with mode: 0644]
applications/luci-app-pagekitec/luasrc/model/cbi/pagekitec.lua [deleted file]
applications/luci-app-pagekitec/root/usr/share/luci/menu.d/luci-app-pagekitec.json

index ea613234204b6c2fcae585d445451f54f49b241b..d875009772d0526e5ebe94b34ad6d07b17e381c3 100644 (file)
@@ -7,7 +7,7 @@
 include $(TOPDIR)/rules.mk
 
 LUCI_TITLE:=LuCI Support for PageKite
-LUCI_DEPENDS:=+luci-compat +pagekitec
+LUCI_DEPENDS:=+pagekitec
 
 PKG_MAINTAINER:=Karl Palsson <karlp@tweak.net.au>
 
diff --git a/applications/luci-app-pagekitec/htdocs/luci-static/resources/view/pagekitec.js b/applications/luci-app-pagekitec/htdocs/luci-static/resources/view/pagekitec.js
new file mode 100644 (file)
index 0000000..13161de
--- /dev/null
@@ -0,0 +1,37 @@
+'use strict';
+'require form';
+
+var desc = _(""
+       + "<p/>Note: you need a working PageKite account, or at least, your own running front end for this form to work. "
+       + "Visit <a href='https://pagekite.net/home/'>your account</a> to set up a name for your "
+       + "router and get a secret key for the connection."
+       + "<p/><em>Note: this web configurator only supports "
+       + "some very very basic uses of pagekite.</em>"
+);
+
+return L.view.extend({
+       render: function() {
+               var m, s, o;
+
+               m = new form.Map('pagekitec', _('PageKite'), desc);
+
+               s = m.section(form.TypedSection, 'pagekitec', _("Configuration"));
+               s.anonymous = true;
+
+               o = s.option(form.Value, "kitename", _("Kite Name"));
+               o = s.option(form.Value, "kitesecret", _("Kite Secret"));
+               o.password = true;
+
+               o = s.option(form.Flag, "static", _("Static setup"),
+                       _("Static setup, disable FE failover and DDNS updates, set this if you are running your "
+                       + "own frontend without a pagekite.me account"));
+               o = s.option(form.Flag, "simple_http", _("Basic HTTP"), _("Enable a tunnel to the local HTTP server (in most cases, this admin interface)"));
+               o = s.option(form.Flag, "simple_ssh", _("Basic SSH"), _("Enable a tunnel to the local SSH server"));
+               o = s.option(form.Value, "simple_ws", _("Basic WebSockets"), _("Enable a WebSockets tunnel on a given local port"));
+               o.placeholder = 8083;
+               o.datatype = "port";
+               o.optional = true;
+
+               return m.render();
+       }
+});
diff --git a/applications/luci-app-pagekitec/luasrc/model/cbi/pagekitec.lua b/applications/luci-app-pagekitec/luasrc/model/cbi/pagekitec.lua
deleted file mode 100644 (file)
index 1abd3f7..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-m = Map("pagekitec", translate("PageKite"),
-    translate([[
-<p/>Note: you need a working PageKite account, or at least, your own running front end for this form to work.
-Visit <a href="https://pagekite.net/home/">your account</a> to set up a name for your
-router and get a secret key for the connection.
-<p/><em>Note: this web configurator only supports
-some very very basic uses of pagekite.</em>
-]]))
-
-s = m:section(TypedSection, "pagekitec", translate("PageKite"))
-s.anonymous = true
-
-p = s:option(Value, "kitename", translate("Kite Name"))
-p = s:option(Value, "kitesecret", translate("Kite Secret"))
-p.password = true
-p = s:option(Flag, "static", translate("Static Setup"),
-       translate([[Static setup, disable FE failover and DDNS updates, set this if you are running your
-       own frontend without a pagekite.me account]]))
-
-p = s:option(Flag, "simple_http", translate("Basic HTTP"),
-    translate([[Enable a tunnel to the local HTTP server (in most cases, this admin
-site)]]))
-p = s:option(Flag, "simple_ssh", translate("Basic SSH"),
-    translate([[Enable a tunnel to the local SSH server]]))
-
-return m
index 54af904c51d01afe6c373f1975a652c232bfdecb..fbbda3a268c7dc82bededac665ea07a44d04b174 100644 (file)
@@ -2,9 +2,8 @@
        "admin/services/pagekitec": {
                "title": "PageKite",
                "action": {
-                       "type": "cbi",
-                       "path": "pagekitec",
-                       "post": { "cbi.submit": true }
+                       "type": "view",
+                       "path": "pagekitec"
                }
        }
 }