diff --git a/fhem/www/frontend/controls_frontend.txt b/fhem/www/frontend/controls_frontend.txt index b4742480d..8289c8382 100644 --- a/fhem/www/frontend/controls_frontend.txt +++ b/fhem/www/frontend/controls_frontend.txt @@ -272,14 +272,14 @@ UPD 2013-03-02_01:53:05 524 www/frontend/app/resources/icons/resultset_last.png UPD 2013-04-03_07:27:17 733 www/frontend/app/resources/icons/add.png UPD 2013-04-03_07:27:17 389 www/frontend/app/resources/icons/resultset_previous.png UPD 2013-06-30_11:47:12 101 www/frontend/app/resources/application.css -UPD 2013-06-27_09:34:38 2201 www/frontend/app/app.js -UPD 2013-07-07_12:12:08 28202 www/frontend/app/view/LineChartPanel.js +UPD 2013-11-15_04:48:20 2568 www/frontend/app/app.js +UPD 2013-11-15_04:48:21 27988 www/frontend/app/view/LineChartPanel.js UPD 2013-04-28_02:00:20 1205 www/frontend/app/view/ChartGridPanel.js UPD 2013-07-07_12:12:08 16201 www/frontend/app/view/DevicePanel.js -UPD 2013-06-30_11:47:44 11076 www/frontend/app/view/Viewport.js -UPD 2013-06-27_09:35:22 10042 www/frontend/app/view/TableDataGridPanel.js -UPD 2013-07-07_12:11:53 86984 www/frontend/app/controller/ChartController.js -UPD 2013-07-07_12:11:54 18373 www/frontend/app/controller/MainController.js +UPD 2013-11-15_03:17:04 9893 www/frontend/app/view/Viewport.js +UPD 2013-11-15_04:00:13 9828 www/frontend/app/view/TableDataGridPanel.js +UPD 2013-11-15_04:48:21 87082 www/frontend/app/controller/ChartController.js +UPD 2013-11-15_04:48:21 18373 www/frontend/app/controller/MainController.js UPD 2013-06-30_11:46:54 5415 www/frontend/app/controller/TableDataController.js UPD 2013-04-01_07:04:35 202 www/frontend/app/model/ReadingsModel.js UPD 2013-04-01_07:04:36 338 www/frontend/app/model/SavedChartsModel.js diff --git a/fhem/www/frontend/www/frontend/app/app.js b/fhem/www/frontend/www/frontend/app/app.js index cb00dfed3..17dbdfb79 100644 --- a/fhem/www/frontend/www/frontend/app/app.js +++ b/fhem/www/frontend/www/frontend/app/app.js @@ -36,17 +36,21 @@ Ext.application({ success: function(response){ Ext.getBody().unmask(); FHEM.info = Ext.decode(response.responseText); - FHEM.version = FHEM.info.Results[0].devices[0].ATTR.version; - + FHEM.dblogDevices = []; Ext.each(FHEM.info.Results, function(result) { //TODO: get more specific here... if (result.list === "DbLog" && result.devices[0].NAME) { FHEM.dblogname = result.devices[0].NAME; + Ext.each(result.devices, function(dblogdev) { + FHEM.dblogDevices.push({"DEVICE": dblogdev.REGEXP}); + }); } }); if (!FHEM.dblogname && Ext.isEmpty(FHEM.dblogname) && FHEM.dblogname != "undefined") { Ext.Msg.alert("Error", "Could not find a DbLog Configuration. Do you have DbLog already running?"); + } else if (FHEM.dblogDevices.length === 0) { + Ext.Msg.alert("Error", "Could not find any DbLog-FHEM-devices, do you have setup DbLog correctly?"); } else { Ext.create("FHEM.view.Viewport", { hidden: true diff --git a/fhem/www/frontend/www/frontend/app/controller/ChartController.js b/fhem/www/frontend/www/frontend/app/controller/ChartController.js index e83f92a7b..e48c65586 100644 --- a/fhem/www/frontend/www/frontend/app/controller/ChartController.js +++ b/fhem/www/frontend/www/frontend/app/controller/ChartController.js @@ -1032,7 +1032,7 @@ Ext.define('FHEM.controller.ChartController', { axis : axisside, xField : 'TIMESTAMP', yField : yfield, - title: axis.title, + title: title, showInLegend: true, smooth: 0, highlight: true, @@ -1378,6 +1378,9 @@ Ext.define('FHEM.controller.ChartController', { * loading saved chart data and trigger the load of the chart */ loadsavedchart: function(treeview, record) { + if (!record.raw.data) { + record.raw.data = record.raw; + } var me = this; if (record.raw.data && record.raw.data.TYPE && record.raw.data.TYPE === "savedchart") { var name = record.raw.data.NAME, @@ -1564,7 +1567,7 @@ Ext.define('FHEM.controller.ChartController', { Ext.Msg.alert("Error", "The Chart could not be loaded! RawChartdata was:
" + chartdata); } - } else if (record.raw.data.template) { + } else if (record.raw.data && record.raw.data.template) { //seems we have clicked on a template chart, resetting the form... me.resetFormFields(); if (me.getChart()) { diff --git a/fhem/www/frontend/www/frontend/app/controller/MainController.js b/fhem/www/frontend/www/frontend/app/controller/MainController.js index 0cb5299cf..d6c4d602c 100644 --- a/fhem/www/frontend/www/frontend/app/controller/MainController.js +++ b/fhem/www/frontend/www/frontend/app/controller/MainController.js @@ -95,7 +95,7 @@ Ext.define('FHEM.controller.MainController', { if (Ext.isDefined(FHEM.version)) { var sp = this.getStatustextfield(); - sp.setText(FHEM.version + "; Frontend Version: 0.9 - 2013-07-07"); + sp.setText(FHEM.version + "; Frontend Version: 1.0 - 2013-11-15"); } this.setupTree(false); diff --git a/fhem/www/frontend/www/frontend/app/view/LineChartPanel.js b/fhem/www/frontend/www/frontend/app/view/LineChartPanel.js index b0c2ab328..43d132ec2 100644 --- a/fhem/www/frontend/www/frontend/app/view/LineChartPanel.js +++ b/fhem/www/frontend/www/frontend/app/view/LineChartPanel.js @@ -74,15 +74,11 @@ Ext.define('FHEM.view.LineChartPanel', { var me = this; me.devicestore = Ext.create('FHEM.store.DeviceStore', { + data: FHEM.dblogDevices, proxy: { - type: 'ajax', - noCache: false, - method: 'POST', - url: '../../../fhem?cmd=get+' + FHEM.dblogname + '+-+webchart+""+""+""+getdevices&XHR=1', + type: 'memory', reader: { - type: 'json', - root: 'data', - totalProperty: 'totalCount' + type: 'json' } }, autoLoad: true diff --git a/fhem/www/frontend/www/frontend/app/view/TableDataGridPanel.js b/fhem/www/frontend/www/frontend/app/view/TableDataGridPanel.js index 312f02aa3..aafdbaf4a 100644 --- a/fhem/www/frontend/www/frontend/app/view/TableDataGridPanel.js +++ b/fhem/www/frontend/www/frontend/app/view/TableDataGridPanel.js @@ -22,15 +22,11 @@ Ext.define('FHEM.view.TableDataGridPanel', { me.tablestore = Ext.create('FHEM.store.TableDataStore'); me.devicestore = Ext.create('FHEM.store.DeviceStore', { + data: FHEM.dblogDevices, proxy: { - type: 'ajax', - noCache: false, - method: 'POST', - url: '../../../fhem?cmd=get+' + FHEM.dblogname + '+-+webchart+""+""+""+getdevices&XHR=1', + type: 'memory', reader: { - type: 'json', - root: 'data', - totalProperty: 'totalCount' + type: 'json' } }, autoLoad: true diff --git a/fhem/www/frontend/www/frontend/app/view/Viewport.js b/fhem/www/frontend/www/frontend/app/view/Viewport.js index 2124a0dd1..3229476b9 100644 --- a/fhem/www/frontend/www/frontend/app/view/Viewport.js +++ b/fhem/www/frontend/www/frontend/app/view/Viewport.js @@ -33,7 +33,6 @@ Ext.define('FHEM.view.Viewport', { items: [ { xtype: 'container', - //html: '

Frontend

', html: 'FHEM Webfrontend', width: '25%', padding: '15px 0 0 5px', @@ -109,7 +108,6 @@ Ext.define('FHEM.view.Viewport', { }, items: [ { - xtype: 'panel', title: 'FHEM', name: 'fhemaccordion', collapsed: true, @@ -117,77 +115,66 @@ Ext.define('FHEM.view.Viewport', { html: 'You can see and use the original FHEM Frontend here.
If you make changes to your config, it may be neccessary to reload this page to get the updated information.' }, { - xtype: 'panel', + xtype: 'treepanel', title: 'Charts / Devices / Rooms', - name: 'devicesaccordion', - width: '90%', + name: 'maintreepanel', collapsed: false, -// autoScroll: true, - overflowY: 'auto', - bodyPadding: '2 2 2 2', - items: [ - { - xtype: 'treepanel', - name: 'maintreepanel', - border: false, - rootVisible: false, - viewConfig: { - plugins: { ptype: 'treeviewdragdrop' } - }, - root: { - "text": "Root", - "expanded": - "true", - "children": [] - }, - tbar: [ - { - xtype: 'button', - name: 'unsortedtree', - toggleGroup: 'treeorder', - allowDepress: false, - text: 'Unsorted' - }, - { - xtype: 'button', - name: 'sortedtree', - toggleGroup: 'treeorder', - allowDepress: false, - text: 'Order by Room', - pressed: true + border: false, + rootVisible: false, + viewConfig: { + plugins: { ptype: 'treeviewdragdrop' } + }, + root: { + "text": "Root", + "expanded": + "true", + "children": [] + }, + tbar: [ + { + xtype: 'button', + name: 'unsortedtree', + toggleGroup: 'treeorder', + allowDepress: false, + text: 'Unsorted' + }, + { + xtype: 'button', + name: 'sortedtree', + toggleGroup: 'treeorder', + allowDepress: false, + text: 'Order by Room', + pressed: true + } + ], + listeners: { + 'itemcontextmenu': function(scope, rec, item, index, e, eOpts) { + e.preventDefault(); + + if (rec.raw.data.TYPE && rec.raw.data.TYPE === "savedchart") { + var menu = Ext.ComponentQuery.query('menu[id=treecontextmenu]')[0]; + if (menu) { + menu.destroy(); } - ], - listeners: { - 'itemcontextmenu': function(scope, rec, item, index, e, eOpts) { - e.preventDefault(); - - if (rec.raw.data.TYPE && rec.raw.data.TYPE === "savedchart") { - var menu = Ext.ComponentQuery.query('menu[id=treecontextmenu]')[0]; - if (menu) { - menu.destroy(); + Ext.create('Ext.menu.Menu', { + id: 'treecontextmenu', + items: [ + { + text: 'Delete Chart', + name: 'deletechartfromcontext', + record: rec + }, '-', { + text: 'Rename Chart', + name: 'renamechartfromcontext', + record: rec } - Ext.create('Ext.menu.Menu', { - id: 'treecontextmenu', - items: [ - { - text: 'Delete Chart', - name: 'deletechartfromcontext', - record: rec - }, '-', { - text: 'Rename Chart', - name: 'renamechartfromcontext', - record: rec - } - ] - }).showAt(e.xy); - } - } + ] + }).showAt(e.xy); } } - ] + } }, { - xtype: 'panel', title: 'Database Tables', name: 'tabledataaccordionpanel', autoScroll: true, @@ -197,7 +184,6 @@ Ext.define('FHEM.view.Viewport', { ] }, { - xtype: 'panel', region: 'south', title: 'Status', collapsible: true, @@ -211,7 +197,6 @@ Ext.define('FHEM.view.Viewport', { minHeight: 30 }, { - xtype: 'panel', region: 'center', title: 'Welcome', layout: 'hbox',