project/luci2/ui.git
10 years agoluci2: Fix LuCI2.cbi.AbstractValue.formvalue() for deeply nested widget markup
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

10 years agoluci2: Add missing CSS classes to LuCI2.cbi.ComboBox widget, fix attaching of event...
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

10 years agoluci2: Properly handle empty values in ListValue widgets
Jo-Philipp Wich [Sat, 1 Feb 2014 18:01:49 +0000 (18:01 +0000)]
luci2: Properly handle empty values in ListValue widgets

10 years agoluci2: Introduce 'add' option to LuCI2.cbi.AbstractValue.depends() to support increme...
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

10 years agoluci2: add LuCI2.cbi.AbstractValue.on() for attaching events to widgets, various...
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

10 years agoluci2: implement LuCI2.cbi.Modal widget
Jo-Philipp Wich [Fri, 31 Jan 2014 22:06:50 +0000 (22:06 +0000)]
luci2: implement LuCI2.cbi.Modal widget

10 years agoluci2: add primitive initial support for applying uci changes
Jo-Philipp Wich [Fri, 31 Jan 2014 22:03:21 +0000 (22:03 +0000)]
luci2: add primitive initial support for applying uci changes

10 years agoluci2: append markup for uci change indicator when rendering main menu
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

10 years agoluci2: expose loaded views in LuCI2.view[]
Jo-Philipp Wich [Fri, 31 Jan 2014 21:58:08 +0000 (21:58 +0000)]
luci2: expose loaded views in LuCI2.view[]

10 years agoluci2: update ACL cache and initialize NetworkModel in LuCI2.ui.init(), bind 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

10 years agoluci2: implement LuCI2.cbi.SingleSection widget
Jo-Philipp Wich [Fri, 31 Jan 2014 21:49:54 +0000 (21:49 +0000)]
luci2: implement LuCI2.cbi.SingleSection widget

10 years agoluci2: expose uci reorder deltas in uci changelog view
Jo-Philipp Wich [Fri, 31 Jan 2014 21:47:59 +0000 (21:47 +0000)]
luci2: expose uci reorder deltas in uci changelog view

10 years agoluci2: change LuCI2.cbi.NetworkList to use LuCI2.NetworkModel class
Jo-Philipp Wich [Fri, 31 Jan 2014 21:46:46 +0000 (21:46 +0000)]
luci2: change LuCI2.cbi.NetworkList to use LuCI2.NetworkModel class

10 years agoluci2: implement LuCI2.cbi.ButtonValue widget
Jo-Philipp Wich [Fri, 31 Jan 2014 21:44:49 +0000 (21:44 +0000)]
luci2: implement LuCI2.cbi.ButtonValue widget

10 years agoluci2: ensure that loading indicator appears above modal dialogs
Jo-Philipp Wich [Fri, 31 Jan 2014 21:41:24 +0000 (21:41 +0000)]
luci2: ensure that loading indicator appears above modal dialogs

10 years agoluci2: fix typo in LuCI2.firewall.getZoneColor()
Jo-Philipp Wich [Fri, 31 Jan 2014 21:38:42 +0000 (21:38 +0000)]
luci2: fix typo in LuCI2.firewall.getZoneColor()

10 years agoluci2: change LuCI2.ui.dialog() to return the resulting element tree, implement wide...
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

10 years agoluci2: implement LuCI2.NetworkModel, LuCI2.NetworkModel.Interface, LuCI2.NetworkModel...
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

10 years agoluci2: drop LuCI2.uci end replace it with LuCI2.UCIContext instance, switch LuCI2...
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

10 years agoluci2: implement LuCI2.session.updateACLs() and LuCI2.session.hasACL()
Jo-Philipp Wich [Fri, 31 Jan 2014 21:30:08 +0000 (21:30 +0000)]
luci2: implement LuCI2.session.updateACLs() and LuCI2.session.hasACL()

10 years agoluci2: add LuCI2.UCIContext class, this proxies the remote uci state within the ui
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

10 years agoluci2: properly handle failed ubus calls in LuCI2.rpc to ensure that chained then...
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

10 years agoluci2: add utility functions
Jo-Philipp Wich [Fri, 31 Jan 2014 21:00:53 +0000 (21:00 +0000)]
luci2: add utility functions

10 years agoluci2: properly handle empty hash info, fixes endless loop with expired sids
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

10 years agorpcd: add bwmon plugin for fetching interface traffic statistics
Jo-Philipp Wich [Mon, 25 Nov 2013 01:12:37 +0000 (01:12 +0000)]
rpcd: add bwmon plugin for fetching interface traffic statistics

10 years agorpcd: expose interface up state in luci2.network.device_list
Jo-Philipp Wich [Fri, 22 Nov 2013 16:10:05 +0000 (16:10 +0000)]
rpcd: expose interface up state in luci2.network.device_list

10 years agorpcd: implement luci2.network.device_list to find names and types of all currently...
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

10 years agoio: return JSON responses with text/plain mimetype for IE 8 / IE 9 compatibility
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

10 years agoluci2: fix various cross browser issues
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

10 years agoluci2: remove dead view code
Jo-Philipp Wich [Mon, 4 Nov 2013 17:53:36 +0000 (17:53 +0000)]
luci2: remove dead view code

10 years agoluci2: convert system.cron view markup to bootstrap
Jo-Philipp Wich [Mon, 4 Nov 2013 17:43:28 +0000 (17:43 +0000)]
luci2: convert system.cron view markup to bootstrap

10 years agoluci2: cleanup system.upgrade view markup, remove leftover call to jquery-ui tabs()
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()

10 years agoluci2: fix rendering of LuCI2.cbi.MultiValue
Jo-Philipp Wich [Mon, 4 Nov 2013 16:41:20 +0000 (16:41 +0000)]
luci2: fix rendering of LuCI2.cbi.MultiValue

10 years agoluci2: adapt views to changed luci2 framework
Jo-Philipp Wich [Mon, 4 Nov 2013 15:17:15 +0000 (15:17 +0000)]
luci2: adapt views to changed luci2 framework

10 years agoluci2: switch to twitter bootstrap 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

10 years agoluci2: don't re-set timeout if view is finished already, re-set timeout even if the...
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

10 years agoluci2: add AbstractWidget.appendTo() to support appending widgets to a container
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

10 years agoluci2: support passing additional arguments to LuCI2.ui.renderView(), LuCI2.ui.view...
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()

10 years agoluci2: add intial LuCI2.firewall abstraction class
Jo-Philipp Wich [Tue, 22 Oct 2013 19:00:23 +0000 (19:00 +0000)]
luci2: add intial LuCI2.firewall abstraction class

10 years agoluci2: wrap luci2.network.ifup and luci2.network.ifdown calls as LuCI2.network.setUp...
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()

10 years agorpcd: add luci2.network.ifup and luci2.network.ifdown calls
Jo-Philipp Wich [Tue, 22 Oct 2013 18:34:32 +0000 (18:34 +0000)]
rpcd: add luci2.network.ifup and luci2.network.ifdown calls

10 years agoluci2: use custom jQuery UI build with all uneeded functionality trimmed, saves 320K...
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

10 years agoluci2: remove dead code from LuCI2.cbi.Map()
Jo-Philipp Wich [Mon, 14 Oct 2013 21:57:11 +0000 (21:57 +0000)]
luci2: remove dead code from LuCI2.cbi.Map()

10 years agoluci2: rework system administration view with fancier ssh pubkey handling
Jo-Philipp Wich [Mon, 14 Oct 2013 21:55:39 +0000 (21:55 +0000)]
luci2: rework system administration view with fancier ssh pubkey handling

10 years agoluci2: fix interface type detection in LuCI2.ui.devicebadge()
Jo-Philipp Wich [Sun, 13 Oct 2013 22:40:24 +0000 (22:40 +0000)]
luci2: fix interface type detection in LuCI2.ui.devicebadge()

10 years agoluci2: fix missing error message in ip6addr datatype validation
Jo-Philipp Wich [Sun, 13 Oct 2013 22:39:42 +0000 (22:39 +0000)]
luci2: fix missing error message in ip6addr datatype validation

10 years agoluci2: add network routes view
Jo-Philipp Wich [Sun, 13 Oct 2013 22:38:59 +0000 (22:38 +0000)]
luci2: add network routes view

10 years agoluci2: rename switch acl group to network as it is going to be shared with other...
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

10 years agoluci2: remove stuff left over from copy & pasting system.leds.js
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

10 years agoluci2: add network hostname view
Jo-Philipp Wich [Sat, 12 Oct 2013 20:47:06 +0000 (20:47 +0000)]
luci2: add network hostname view

10 years agoluci2: add network diagnostics view
Jo-Philipp Wich [Sat, 12 Oct 2013 20:25:45 +0000 (20:25 +0000)]
luci2: add network diagnostics view

10 years agoluci2: add LuCI2.network.runPing(), LuCI2.network.runPing6(), LuCI2.network.runTracer...
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

10 years agoluci2: increase default rpc timeout to 15 seconds
Jo-Philipp Wich [Sat, 12 Oct 2013 20:21:57 +0000 (20:21 +0000)]
luci2: increase default rpc timeout to 15 seconds

10 years agoluci2: add port status to switch configuration view
Jo-Philipp Wich [Fri, 11 Oct 2013 14:57:04 +0000 (14:57 +0000)]
luci2: add port status to switch configuration view

10 years agorpcd: add luci2.network.ping, luci2.network.ping6, luci2.network.tracroute, luci2...
Jo-Philipp Wich [Fri, 11 Oct 2013 12:23:42 +0000 (12:23 +0000)]
rpcd: add luci2.network.ping, luci2.network.ping6, luci2.network.tracroute, luci2.network.tracroute6, luci2.network.nslookup calls

10 years agoluci2: add LuCI2.ui.view.repeat() to allow implementing periodic tasks
Jo-Philipp Wich [Wed, 9 Oct 2013 22:37:56 +0000 (22:37 +0000)]
luci2: add LuCI2.ui.view.repeat() to allow implementing periodic tasks

10 years agoluci2: use custom object merge in LuCI2.ui.menu.firstChildView() to avoid overwriting...
Jo-Philipp Wich [Wed, 9 Oct 2013 20:01:27 +0000 (20:01 +0000)]
luci2: use custom object merge in LuCI2.ui.menu.firstChildView() to avoid overwriting the original title

10 years agoluci2: logic fix for initial state of CheckBoxValue widgets
Jo-Philipp Wich [Wed, 9 Oct 2013 18:59:58 +0000 (18:59 +0000)]
luci2: logic fix for initial state of CheckBoxValue widgets

10 years agoluci2: small formatting fix in uci changelog view
Jo-Philipp Wich [Wed, 9 Oct 2013 18:59:34 +0000 (18:59 +0000)]
luci2: small formatting fix in uci changelog view

10 years agoluci2: add initial switch configuration view
Jo-Philipp Wich [Wed, 9 Oct 2013 18:58:24 +0000 (18:58 +0000)]
luci2: add initial switch configuration view

10 years agorpcd: list actual names in luci2.network.switch_list
Jo-Philipp Wich [Wed, 9 Oct 2013 12:35:12 +0000 (12:35 +0000)]
rpcd: list actual names in luci2.network.switch_list

10 years agorpcd: add luci2.network.switch_list, luci2.network.switch_info, luci2.network.switch_...
Jo-Philipp Wich [Tue, 8 Oct 2013 13:56:43 +0000 (13:56 +0000)]
rpcd: add luci2.network.switch_list, luci2.network.switch_info, luci2.network.switch_status calls

10 years agoluci2: remove newline from generated view constructor code to make debugger line...
Jo-Philipp Wich [Sat, 5 Oct 2013 20:18:59 +0000 (20:18 +0000)]
luci2: remove newline from generated view constructor code to make debugger line numbers match the line numbers in the actual source files

10 years agoluci2: various network function fixes
Jo-Philipp Wich [Sat, 5 Oct 2013 20:13:17 +0000 (20:13 +0000)]
luci2: various network function fixes

 * fix empty device descriptions for alias interfaces in LuCI2.network.getNetworkStatus()
 * fix crash with inactive interfaces in LuCI2.network.findWanInterfaces()
 * fix LuCI2.network.getDeviceStatus() function name after only greedy search and replace

10 years agoluci2: implement uci changelog view, display pending changes in upper right corner
Jo-Philipp Wich [Thu, 3 Oct 2013 13:59:20 +0000 (13:59 +0000)]
luci2: implement uci changelog view, display pending changes in upper right corner

10 years agoluci2: add acl group definition and menu entry for backup / restore / flash view
Jo-Philipp Wich [Wed, 2 Oct 2013 17:11:17 +0000 (17:11 +0000)]
luci2: add acl group definition and menu entry for backup / restore / flash view

10 years agoluci2: implement initial backup / restore / flash view. Actual firmware flashing...
Jo-Philipp Wich [Wed, 2 Oct 2013 17:09:58 +0000 (17:09 +0000)]
luci2: implement initial backup / restore / flash view. Actual firmware flashing and resetting is stubbed yet

10 years agoluci2: add missing template for system/users view
Jo-Philipp Wich [Wed, 2 Oct 2013 17:08:26 +0000 (17:08 +0000)]
luci2: add missing template for system/users view

10 years agoluci2: fix package install / removal on button click in system/software view
Jo-Philipp Wich [Wed, 2 Oct 2013 16:05:35 +0000 (16:05 +0000)]
luci2: fix package install / removal on button click in system/software view

10 years agoluci2: rewrite LuCI2.ui.loading(), LuCI2.ui.dialog(), LuCI2.ui.login() and LuCI2...
Jo-Philipp Wich [Wed, 2 Oct 2013 15:32:34 +0000 (15:32 +0000)]
luci2: rewrite LuCI2.ui.loading(), LuCI2.ui.dialog(), LuCI2.ui.login() and LuCI2.ui.upload() to use private state objects

10 years agoio: use "ubus_rpc_session" attribute when querying luci-io session acls
Jo-Philipp Wich [Wed, 2 Oct 2013 14:11:30 +0000 (14:11 +0000)]
io: use "ubus_rpc_session" attribute when querying luci-io session acls

10 years agoluci2: render hostname when initializing the ui
Jo-Philipp Wich [Tue, 1 Oct 2013 16:34:04 +0000 (16:34 +0000)]
luci2: render hostname when initializing the ui

10 years agoluci2: fix CBI crash when deleting last remaining uci section in login management...
Jo-Philipp Wich [Tue, 1 Oct 2013 16:21:42 +0000 (16:21 +0000)]
luci2: fix CBI crash when deleting last remaining uci section in login management view

10 years agoluci2: keep scroll position when redrawing CBI forms, fix crash when deleting last...
Jo-Philipp Wich [Tue, 1 Oct 2013 16:20:52 +0000 (16:20 +0000)]
luci2: keep scroll position when redrawing CBI forms, fix crash when deleting last uci section of a TypedSection group

10 years agoluci2: make login view readonly if acls are missing
Jo-Philipp Wich [Mon, 30 Sep 2013 16:51:43 +0000 (16:51 +0000)]
luci2: make login view readonly if acls are missing

10 years agoluci2: fix little typo in login manager
Jo-Philipp Wich [Mon, 30 Sep 2013 16:48:04 +0000 (16:48 +0000)]
luci2: fix little typo in login manager

10 years agoluci2: add view for managing LuCI2 login accounts
Jo-Philipp Wich [Mon, 30 Sep 2013 16:41:50 +0000 (16:41 +0000)]
luci2: add view for managing LuCI2 login accounts

10 years agoluci2: Switch LuCI2.ui.renderView() from new Function() to eval() and use "//@ source...
Jo-Philipp Wich [Mon, 30 Sep 2013 12:28:02 +0000 (12:28 +0000)]
luci2: Switch LuCI2.ui.renderView() from new Function() to eval() and use "//@ sourceUrl" annotation to make demand-loaded views debuggable

10 years agoluci2: make LuCI2.cbi.AbstractSection and LuCI2.cbi.AbstractValue public
Jo-Philipp Wich [Wed, 18 Sep 2013 11:22:06 +0000 (13:22 +0200)]
luci2: make LuCI2.cbi.AbstractSection and LuCI2.cbi.AbstractValue public

10 years agoluci2: wrap luci2.ui.crypt rpc call as LuCI2.ui.cryptPassword()
Jo-Philipp Wich [Wed, 18 Sep 2013 11:21:39 +0000 (13:21 +0200)]
luci2: wrap luci2.ui.crypt rpc call as LuCI2.ui.cryptPassword()

10 years agorpcd: add luci2.ui.crypt call
Jo-Philipp Wich [Tue, 17 Sep 2013 18:15:48 +0000 (20:15 +0200)]
rpcd: add luci2.ui.crypt call

10 years agoluci2: fix LuCI2.cbi.NetworkList after RPC changes
Jo-Philipp Wich [Tue, 17 Sep 2013 17:07:35 +0000 (19:07 +0200)]
luci2: fix LuCI2.cbi.NetworkList after RPC changes

10 years agoluci2: fix session heartbeat and serialization of cbi section creations
Jo-Philipp Wich [Tue, 17 Sep 2013 17:01:06 +0000 (19:01 +0200)]
luci2: fix session heartbeat and serialization of cbi section creations

10 years agoluci2: major changes to RPC implementation
Jo-Philipp Wich [Tue, 17 Sep 2013 12:49:53 +0000 (14:49 +0200)]
luci2: major changes to RPC implementation

- rework LuCI2.rpc namespace to support batching arbritary requests
- use new LuCI.rpc.declare() generator function to declare RPC proxy functions
- thoroughly use jQuery promises for chaining RPC responses, drop callback model
- drop internal rcall() and retcb() helpers in favor to the new RPC implementation
- adjust existing views for new RPC model
- implement session alive check to automatically prompt for a login if the server session is expired

10 years agorpcd: add luci2.ui.acls call to fetch list of known access groups
Jo-Philipp Wich [Wed, 11 Sep 2013 14:26:36 +0000 (16:26 +0200)]
rpcd: add luci2.ui.acls call to fetch list of known access groups

10 years agoshare: rename acl.d/main.json to acl.d/luci2.json
Jo-Philipp Wich [Wed, 11 Sep 2013 12:00:50 +0000 (14:00 +0200)]
share: rename acl.d/main.json to acl.d/luci2.json

10 years agojs: switch to ubus rpc login instead of luci-login
Jo-Philipp Wich [Wed, 11 Sep 2013 11:55:36 +0000 (13:55 +0200)]
js: switch to ubus rpc login instead of luci-login

10 years agorpcd: move menu.d to /usr/share/rpcd
Jo-Philipp Wich [Wed, 11 Sep 2013 11:51:35 +0000 (13:51 +0200)]
rpcd: move menu.d to /usr/share/rpcd

10 years agoio: remove luci-login, login is now handled by rpcd
Jo-Philipp Wich [Wed, 11 Sep 2013 11:43:07 +0000 (13:43 +0200)]
io: remove luci-login, login is now handled by rpcd

10 years agorpcd: use "access-group" meta scope when checking menu permissions
Jo-Philipp Wich [Wed, 11 Sep 2013 11:39:02 +0000 (13:39 +0200)]
rpcd: use "access-group" meta scope when checking menu permissions

10 years agoio: whitespace cleanup
Jo-Philipp Wich [Tue, 10 Sep 2013 10:11:56 +0000 (12:11 +0200)]
io: whitespace cleanup

10 years agoInitial commit of LuCI2
Jo-Philipp Wich [Mon, 9 Sep 2013 15:01:22 +0000 (17:01 +0200)]
Initial commit of LuCI2