[OpenWrt-Devel] [PATCH][project/luci2/ui.git] luci2: early wireless configuration

Rafał Miłecki zajec5 at gmail.com
Wed Jun 25 15:50:30 EDT 2014


Signed-off-by: Rafał Miłecki <zajec5 at gmail.com>
---
 luci2/htdocs/luci2/template/network.wireless.htm |  1 +
 luci2/htdocs/luci2/view/network.wireless.js      | 89 ++++++++++++++++++++++++
 luci2/share/menu.d/network.json                  |  6 ++
 3 files changed, 96 insertions(+)
 create mode 100644 luci2/htdocs/luci2/template/network.wireless.htm
 create mode 100644 luci2/htdocs/luci2/view/network.wireless.js

diff --git a/luci2/htdocs/luci2/template/network.wireless.htm b/luci2/htdocs/luci2/template/network.wireless.htm
new file mode 100644
index 0000000..a16cde4
--- /dev/null
+++ b/luci2/htdocs/luci2/template/network.wireless.htm
@@ -0,0 +1 @@
+<div id="map"></div>
\ No newline at end of file
diff --git a/luci2/htdocs/luci2/view/network.wireless.js b/luci2/htdocs/luci2/view/network.wireless.js
new file mode 100644
index 0000000..ab006a0
--- /dev/null
+++ b/luci2/htdocs/luci2/view/network.wireless.js
@@ -0,0 +1,89 @@
+L.ui.view.extend({
+	execute: function() {
+		var self = this;
+
+		var m = new L.cbi.Map('wireless', {
+			caption:	L.tr('Wireless configuration')
+		});
+
+		var s = m.section(L.cbi.TypedSection, 'wifi-device', {
+			caption:	L.tr('WiFi devices'),
+			collabsible:	true
+		});
+
+		(s.option(L.cbi.DummyValue, '__name', {
+			caption:	L.tr('Device')
+		})).ucivalue = function(sid)
+		{
+			return sid;
+		};
+
+		s.option(L.cbi.CheckboxValue, 'disabled', {
+			caption:	L.tr('Disabled')
+		});
+
+		s.option(L.cbi.InputValue, 'channel', {
+			caption:	L.tr('Channel')
+		});
+
+		var s_1 = s.subsection(L.cbi.TypedSection, 'wifi-iface', {
+			caption:	L.tr('Device interfaces'),
+			addremove:	true,
+			add_caption:	L.tr('Add interface …')
+		});
+
+		s_1.filter = function(section, parent_sid) {
+			return section.device == parent_sid;
+		};
+
+		s_1.add = function(name, sid) {
+			var iface = this.ownerMap.add('wireless', 'wifi-iface');
+			this.ownerMap.set('wireless', iface, 'device', sid);
+		};
+
+		s_1.tab({
+			id:		'general',
+			caption:	L.tr('General Settings')
+		});
+
+		s_1.taboption('general', L.cbi.CheckboxValue, 'disabled', {
+			caption:	L.tr('Disabled')
+		});
+
+		s_1.taboption('general', L.cbi.ListValue, 'mode', {
+			caption:	L.tr('Mode'),
+			initial:	'ap'
+		})
+		.value('ap', L.tr('Access Point'))
+		.value('sta', L.tr('Client'))
+		.value('adhoc', L.tr('Ad-Hoc'))
+		.value('wds', L.tr('WDS (Wireless Distribution System)'))
+		.value('monitor', L.tr('Monitor'))
+		.value('mesh', L.tr('Mesh'));
+
+		s_1.taboption('general', L.cbi.InputValue, 'ssid', {
+			caption:	'SSID'
+		});
+
+		s_1.tab({
+			id:		'security',
+			caption:	L.tr('Security')
+		});
+
+		s_1.taboption('security', L.cbi.ListValue, 'encryption', {
+			caption:	L.tr('Encryption'),
+			initial:	'none'
+		})
+		.value('none', L.tr('No encryption'))
+		.value('psk', L.tr('WPA Personal (PSK)'))
+		.value('psk2', L.tr('WPA2 Personal (PSK)'))
+		.value('mixed-psk', L.tr('WPA/WPA2 Personal (PSK) mixed'));
+
+		s_1.taboption('security', L.cbi.PasswordValue, 'key', {
+			caption:	L.tr('Passphrase'),
+			optional:	true
+		});
+
+		return m.insertInto('#map');
+	}
+});
diff --git a/luci2/share/menu.d/network.json b/luci2/share/menu.d/network.json
index 25ffeee..99b826b 100644
--- a/luci2/share/menu.d/network.json
+++ b/luci2/share/menu.d/network.json
@@ -9,6 +9,12 @@
         "view": "network/interfaces",
         "index": 10
     },
+    "network/wireless": {
+        "title": "Wireless",
+        "acls": [ "network" ],
+        "view": "network/wireless",
+        "index": 20
+    },
     "network/switch": {
         "title": "Switch",
         "acls": [ "network" ],
-- 
1.8.4.5
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list