Jo-Philipp Wich [Fri, 13 Feb 2015 22:52:23 +0000 (23:52 +0100)]
luci2: convert status overview to grid and hlist widgets
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Jo-Philipp Wich [Fri, 13 Feb 2015 22:52:00 +0000 (23:52 +0100)]
luci2: convert route config to GridSection
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Jo-Philipp Wich [Fri, 13 Feb 2015 22:50:15 +0000 (23:50 +0100)]
luci2.wireless: support condensed output in formatEncryption()
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Jo-Philipp Wich [Fri, 13 Feb 2015 22:49:48 +0000 (23:49 +0100)]
luci2.wireless: fix WDS interface status in getWirelessStatus()
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Jo-Philipp Wich [Fri, 13 Feb 2015 22:47:44 +0000 (23:47 +0100)]
luci2.wireless: add getPhyName() rpc call
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Jo-Philipp Wich [Fri, 13 Feb 2015 22:42:47 +0000 (23:42 +0100)]
luci2.cbi: add GridSection
The GridSection widget is equivalent to the TableSection one but using the
bootstrap column layout for rendering. The table-like view also degrades to
a list-style view on tiny viewports, making it useful to present tabular
configuration (e.g. routes) to mobile clients.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Jo-Philipp Wich [Fri, 13 Feb 2015 22:39:40 +0000 (23:39 +0100)]
luci2.ui: add grid and hlist widgets
luci2.ui.grid is a table-like structure composed of bootstrap columns
suitable for mobile viewports.
luci2.ui.hlist is a pipe separated value list which only allows wrapping
outside of the value pairs.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Jo-Philipp Wich [Fri, 13 Feb 2015 22:37:12 +0000 (23:37 +0100)]
luci2.ui: add icon() helper function
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Jo-Philipp Wich [Fri, 13 Feb 2015 22:36:18 +0000 (23:36 +0100)]
luci2.ui: hide mobile dropdown menu when changing views
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Jo-Philipp Wich [Fri, 13 Feb 2015 22:34:59 +0000 (23:34 +0100)]
luci2.uci: don't allow set() with empty string values
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Jo-Philipp Wich [Sun, 25 Jan 2015 17:41:21 +0000 (18:41 +0100)]
luci2: don't mark rpc_plugin symbols constant
The rpcd daemon modifies the list_head member of the rpc_plugin struct,
therfore we cannot mark it const, otherwise we're hitting an access
violation if rpcd is built with relro support.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Jo-Philipp Wich [Wed, 7 Jan 2015 21:28:40 +0000 (22:28 +0100)]
luci2: refresh views after modular rework
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Jo-Philipp Wich [Wed, 7 Jan 2015 20:29:57 +0000 (21:29 +0100)]
luci2.ui: properly hide alert message in initial state
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Jo-Philipp Wich [Wed, 7 Jan 2015 20:13:04 +0000 (21:13 +0100)]
luci2: fix protocol modules after modular rework
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Jo-Philipp Wich [Mon, 5 Jan 2015 18:17:55 +0000 (19:17 +0100)]
luci2: split into submodules
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Jo-Philipp Wich [Mon, 5 Jan 2015 18:16:18 +0000 (19:16 +0100)]
luci2: implement Class.require() and Class.instantiate()
The two functions allow dynamic loading of additional components.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Jo-Philipp Wich [Mon, 5 Jan 2015 18:14:50 +0000 (19:14 +0100)]
luci2: polyfill window.location.origin
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Jo-Philipp Wich [Fri, 19 Dec 2014 13:26:01 +0000 (14:26 +0100)]
io: fix invalid memory access in upload mode
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Rafał Miłecki [Wed, 25 Jun 2014 19:50:30 +0000 (21:50 +0200)]
luci2: early wireless configuration
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Jo-Philipp Wich [Thu, 3 Jul 2014 20:33:21 +0000 (22:33 +0200)]
io: fix printf() without constant format
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Rafał Miłecki [Fri, 27 Jun 2014 19:38:35 +0000 (19:38 +0000)]
luci2: UCIContext: add: respect "name" if passed
This allows creating UCI entries with a desired name, e.g.
config interface 'guestlan'
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Jo-Philipp Wich [Fri, 13 Jun 2014 11:57:00 +0000 (13:57 +0200)]
luci2: fix undefined ifname exception when processing wireless status with disabled vifs
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Jo-Philipp Wich [Fri, 30 May 2014 16:48:58 +0000 (18:48 +0200)]
luci2: nested section support and initial code refactoring
Implement support for nested CBI sections and change the internal
function naming in luci2.js for better clarity.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Rafał Miłecki [Mon, 14 Apr 2014 12:29:04 +0000 (12:29 +0000)]
luci2-p910nd: LuCI2 module for p910nd maganement
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Jo-Philipp Wich [Sun, 13 Apr 2014 20:55:59 +0000 (22:55 +0200)]
luci2: whitespace fix
Jo-Philipp Wich [Sun, 13 Apr 2014 20:55:22 +0000 (22:55 +0200)]
luci2: make sort / remove column in L.cbi.TableSection as narrow as possible
Jo-Philipp Wich [Sun, 13 Apr 2014 20:53:28 +0000 (22:53 +0200)]
support custom event handlers for L.cbi.DeviceList widget
Jo-Philipp Wich [Sun, 13 Apr 2014 20:50:00 +0000 (22:50 +0200)]
luci2: support placeholder attribute for L.cbi.DummyValue widgets
Jo-Philipp Wich [Sun, 13 Apr 2014 20:48:41 +0000 (22:48 +0200)]
luci2: support custom section ordering in L.cbi.TypedSection and L.cbi.TableSection
Jo-Philipp Wich [Sun, 13 Apr 2014 20:46:05 +0000 (22:46 +0200)]
luci2: support object comparisations in L.cbi.AbstractValue.changed()
Jo-Philipp Wich [Sun, 13 Apr 2014 20:44:05 +0000 (22:44 +0200)]
luci2: rework datatype validators to use new global parseIPv4(), parseIPv6() and isNetmask() helpers
Jo-Philipp Wich [Sun, 13 Apr 2014 20:42:10 +0000 (22:42 +0200)]
luci2: add L.NetworkModel.Interface.renderBadge() and use it in L.cbi.NetworkList widget
Jo-Philipp Wich [Sun, 13 Apr 2014 20:36:16 +0000 (22:36 +0200)]
luci2: add get_first(), set_first() and unset_first() helper to L.UCIContext
Jo-Philipp Wich [Sun, 13 Apr 2014 20:34:38 +0000 (22:34 +0200)]
luci2: add L.toColor(), L.parseIPv4(), L.parseIPv6() and L.isNetmask() helper
Jo-Philipp Wich [Sun, 13 Apr 2014 20:20:51 +0000 (22:20 +0200)]
luci2: revert uci changes when closing cbi.Model dialog
Jo-Philipp Wich [Sun, 13 Apr 2014 20:19:50 +0000 (22:19 +0200)]
luci2: fix save functionality on Map() objects after
1df7615
Jo-Philipp Wich [Sun, 13 Apr 2014 20:14:27 +0000 (22:14 +0200)]
luci2: always load 'none' protocol explicitely since it serves as fallback for unknown protos
Jo-Philipp Wich [Thu, 6 Feb 2014 21:13:44 +0000 (21:13 +0000)]
luci2: generalize LuCI2.cbi event handling, rework handling of created sections in LuCI2.UCIContext
Jo-Philipp Wich [Sun, 2 Feb 2014 20:04:04 +0000 (20:04 +0000)]
luci2: add menu constraints
Jo-Philipp Wich [Sun, 2 Feb 2014 18:51:16 +0000 (18:51 +0000)]
rpcd: support "files" attribute in menu json files to make menu entries depend on the existance of a specific file
Jo-Philipp Wich [Sat, 1 Feb 2014 18:35:42 +0000 (18:35 +0000)]
luci2: add network protocol support extensions
Jo-Philipp Wich [Sat, 1 Feb 2014 18:32:38 +0000 (18:32 +0000)]
luci2: rename internal '_luci2' instance reference to 'L' in order to align the code style with views
Jo-Philipp Wich [Sat, 1 Feb 2014 18:29:03 +0000 (18:29 +0000)]
luci2: move most RPC proxy function declarations into the views using them to reduce the size of the core luci2.js library
Jo-Philipp Wich [Sat, 1 Feb 2014 18:25:50 +0000 (18:25 +0000)]
luci2: Initial network interface configuration view
Jo-Philipp Wich [Sat, 1 Feb 2014 18:13:05 +0000 (18:13 +0000)]
luci2: update CSS
Jo-Philipp Wich [Sat, 1 Feb 2014 18:08:36 +0000 (18:08 +0000)]
luci2: Hide empty tabs when rendering cbi maps
Jo-Philipp Wich [Sat, 1 Feb 2014 18:07:47 +0000 (18:07 +0000)]
luci2: Implement LuCI2.cbi.DeviceList widget
Jo-Philipp Wich [Sat, 1 Feb 2014 18:06:57 +0000 (18:06 +0000)]
luci2: Do not produce uneeded anonymous arrays in LuCI2.cbi.TypedSection.sections()
Jo-Philipp Wich [Sat, 1 Feb 2014 18:05:20 +0000 (18:05 +0000)]
luci2: Fix LuCI2.cbi.AbstractValue.formvalue() for deeply nested widget markup
Jo-Philipp Wich [Sat, 1 Feb 2014 18:03:55 +0000 (18:03 +0000)]
luci2: Add missing CSS classes to LuCI2.cbi.ComboBox widget, fix attaching of event handlers
Jo-Philipp Wich [Sat, 1 Feb 2014 18:01:49 +0000 (18:01 +0000)]
luci2: Properly handle empty values in ListValue widgets
Jo-Philipp Wich [Sat, 1 Feb 2014 17:59:06 +0000 (17:59 +0000)]
luci2: Introduce 'add' option to LuCI2.cbi.AbstractValue.depends() to support incrementally adding dependencies
Jo-Philipp Wich [Fri, 31 Jan 2014 22:11:22 +0000 (22:11 +0000)]
luci2: add LuCI2.cbi.AbstractValue.on() for attaching events to widgets, various form validation fixes
Jo-Philipp Wich [Fri, 31 Jan 2014 22:06:50 +0000 (22:06 +0000)]
luci2: implement LuCI2.cbi.Modal widget
Jo-Philipp Wich [Fri, 31 Jan 2014 22:03:21 +0000 (22:03 +0000)]
luci2: add primitive initial support for applying uci changes
Jo-Philipp Wich [Fri, 31 Jan 2014 22:00:39 +0000 (22:00 +0000)]
luci2: append markup for uci change indicator when rendering main menu
Jo-Philipp Wich [Fri, 31 Jan 2014 21:58:08 +0000 (21:58 +0000)]
luci2: expose loaded views in LuCI2.view[]
Jo-Philipp Wich [Fri, 31 Jan 2014 21:54:14 +0000 (21:54 +0000)]
luci2: update ACL cache and initialize NetworkModel in LuCI2.ui.init(), bind view changes to 'hashchange' event to support browser back and forward buttons
Jo-Philipp Wich [Fri, 31 Jan 2014 21:49:54 +0000 (21:49 +0000)]
luci2: implement LuCI2.cbi.SingleSection widget
Jo-Philipp Wich [Fri, 31 Jan 2014 21:47:59 +0000 (21:47 +0000)]
luci2: expose uci reorder deltas in uci changelog view
Jo-Philipp Wich [Fri, 31 Jan 2014 21:46:46 +0000 (21:46 +0000)]
luci2: change LuCI2.cbi.NetworkList to use LuCI2.NetworkModel class
Jo-Philipp Wich [Fri, 31 Jan 2014 21:44:49 +0000 (21:44 +0000)]
luci2: implement LuCI2.cbi.ButtonValue widget
Jo-Philipp Wich [Fri, 31 Jan 2014 21:41:24 +0000 (21:41 +0000)]
luci2: ensure that loading indicator appears above modal dialogs
Jo-Philipp Wich [Fri, 31 Jan 2014 21:38:42 +0000 (21:38 +0000)]
luci2: fix typo in LuCI2.firewall.getZoneColor()
Jo-Philipp Wich [Fri, 31 Jan 2014 21:37:22 +0000 (21:37 +0000)]
luci2: change LuCI2.ui.dialog() to return the resulting element tree, implement wide option
Jo-Philipp Wich [Fri, 31 Jan 2014 21:33:04 +0000 (21:33 +0000)]
luci2: implement LuCI2.NetworkModel, LuCI2.NetworkModel.Interface, LuCI2.NetworkModel.Device and LuCI2.NetworkModel.Protocol classes
Jo-Philipp Wich [Fri, 31 Jan 2014 21:26:51 +0000 (21:26 +0000)]
luci2: drop LuCI2.uci end replace it with LuCI2.UCIContext instance, switch LuCI2.cbi.Map to LuCI2.UCIContext
Jo-Philipp Wich [Fri, 31 Jan 2014 21:30:08 +0000 (21:30 +0000)]
luci2: implement LuCI2.session.updateACLs() and LuCI2.session.hasACL()
Jo-Philipp Wich [Fri, 31 Jan 2014 21:14:30 +0000 (21:14 +0000)]
luci2: add LuCI2.UCIContext class, this proxies the remote uci state within the ui
Jo-Philipp Wich [Fri, 31 Jan 2014 21:05:12 +0000 (21:05 +0000)]
luci2: properly handle failed ubus calls in LuCI2.rpc to ensure that chained then() callbacks are invoked with the expected default values
Jo-Philipp Wich [Fri, 31 Jan 2014 21:00:53 +0000 (21:00 +0000)]
luci2: add utility functions
Jo-Philipp Wich [Fri, 31 Jan 2014 20:59:43 +0000 (20:59 +0000)]
luci2: properly handle empty hash info, fixes endless loop with expired sids
Jo-Philipp Wich [Mon, 25 Nov 2013 01:12:37 +0000 (01:12 +0000)]
rpcd: add bwmon plugin for fetching interface traffic statistics
Jo-Philipp Wich [Fri, 22 Nov 2013 16:10:05 +0000 (16:10 +0000)]
rpcd: expose interface up state in luci2.network.device_list
Jo-Philipp Wich [Tue, 12 Nov 2013 22:45:31 +0000 (22:45 +0000)]
rpcd: implement luci2.network.device_list to find names and types of all currently present network ifaces
Jo-Philipp Wich [Mon, 4 Nov 2013 23:52:13 +0000 (23:52 +0000)]
io: return JSON responses with text/plain mimetype for IE 8 / IE 9 compatibility
Jo-Philipp Wich [Mon, 4 Nov 2013 21:59:28 +0000 (21:59 +0000)]
luci2: fix various cross browser issues
- add respond.js to fix page rendering in IE 8
- fix datatype validation compiler in IE 8
- fix RPC response type checking in IE 8
- show/hide badges and labels since IE 8 does not support :empty CSS selector
- fix wrong classes for radio and checkbox items, leading to broken rendering in Chrome
- stop using deprecated arguments.callee
Jo-Philipp Wich [Mon, 4 Nov 2013 17:53:36 +0000 (17:53 +0000)]
luci2: remove dead view code
Jo-Philipp Wich [Mon, 4 Nov 2013 17:43:28 +0000 (17:43 +0000)]
luci2: convert system.cron view markup to bootstrap
Jo-Philipp Wich [Mon, 4 Nov 2013 17:42:35 +0000 (17:42 +0000)]
luci2: cleanup system.upgrade view markup, remove leftover call to jquery-ui tabs()
Jo-Philipp Wich [Mon, 4 Nov 2013 16:41:20 +0000 (16:41 +0000)]
luci2: fix rendering of LuCI2.cbi.MultiValue
Jo-Philipp Wich [Mon, 4 Nov 2013 15:17:15 +0000 (15:17 +0000)]
luci2: adapt views to changed luci2 framework
Jo-Philipp Wich [Mon, 4 Nov 2013 15:09:10 +0000 (15:09 +0000)]
luci2: switch to twitter bootstrap framework
- drop jquery-ui and old bootstrap resources
- rewrite luci2.js cbi rendering
- break down various deeply nested anonymous functions to reduce memory footprint
- add jquery.peity plugin for charting
Jo-Philipp Wich [Tue, 22 Oct 2013 19:06:22 +0000 (19:06 +0000)]
luci2: don't re-set timeout if view is finished already, re-set timeout even if the requested action failed
Jo-Philipp Wich [Tue, 22 Oct 2013 19:04:54 +0000 (19:04 +0000)]
luci2: add AbstractWidget.appendTo() to support appending widgets to a container
Jo-Philipp Wich [Tue, 22 Oct 2013 19:03:26 +0000 (19:03 +0000)]
luci2: support passing additional arguments to LuCI2.ui.renderView(), LuCI2.ui.view.render()
Jo-Philipp Wich [Tue, 22 Oct 2013 19:00:23 +0000 (19:00 +0000)]
luci2: add intial LuCI2.firewall abstraction class
Jo-Philipp Wich [Tue, 22 Oct 2013 18:59:07 +0000 (18:59 +0000)]
luci2: wrap luci2.network.ifup and luci2.network.ifdown calls as LuCI2.network.setUp() and LuCI2.network.setDown()
Jo-Philipp Wich [Tue, 22 Oct 2013 18:34:32 +0000 (18:34 +0000)]
rpcd: add luci2.network.ifup and luci2.network.ifdown calls
Jo-Philipp Wich [Tue, 15 Oct 2013 16:43:43 +0000 (16:43 +0000)]
luci2: use custom jQuery UI build with all uneeded functionality trimmed, saves 320K uncompressed
Jo-Philipp Wich [Mon, 14 Oct 2013 21:57:11 +0000 (21:57 +0000)]
luci2: remove dead code from LuCI2.cbi.Map()
Jo-Philipp Wich [Mon, 14 Oct 2013 21:55:39 +0000 (21:55 +0000)]
luci2: rework system administration view with fancier ssh pubkey handling
Jo-Philipp Wich [Sun, 13 Oct 2013 22:40:24 +0000 (22:40 +0000)]
luci2: fix interface type detection in LuCI2.ui.devicebadge()
Jo-Philipp Wich [Sun, 13 Oct 2013 22:39:42 +0000 (22:39 +0000)]
luci2: fix missing error message in ip6addr datatype validation
Jo-Philipp Wich [Sun, 13 Oct 2013 22:38:59 +0000 (22:38 +0000)]
luci2: add network routes view
Jo-Philipp Wich [Sun, 13 Oct 2013 22:36:23 +0000 (22:36 +0000)]
luci2: rename switch acl group to network as it is going to be shared with other views
Jo-Philipp Wich [Sat, 12 Oct 2013 21:02:07 +0000 (21:02 +0000)]
luci2: remove stuff left over from copy & pasting system.leds.js
Jo-Philipp Wich [Sat, 12 Oct 2013 20:47:06 +0000 (20:47 +0000)]
luci2: add network hostname view
Jo-Philipp Wich [Sat, 12 Oct 2013 20:25:45 +0000 (20:25 +0000)]
luci2: add network diagnostics view
Jo-Philipp Wich [Sat, 12 Oct 2013 20:23:30 +0000 (20:23 +0000)]
luci2: add LuCI2.network.runPing(), LuCI2.network.runPing6(), LuCI2.network.runTraceroute(), LuCI2.network.runTraceroute6() and LuCI2.network.runNslookup() rpc wrappers