[dss-commits] digitalSTROM Server branch, 0.6, updated. 4308497ad64e09aac8d0bd5065837c28c2c0a1f0

git version control dss-commits at forum.digitalstrom.org
Fri Nov 13 16:01:32 CET 2009


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "digitalSTROM Server".

The branch, 0.6 has been updated
       via  4308497ad64e09aac8d0bd5065837c28c2c0a1f0 (commit)
       via  21f9c56b863365a0ba8375247948abda1fea1464 (commit)
      from  3c149f4b4740dc3370996145e520b7ac2e4b3f68 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 4308497ad64e09aac8d0bd5065837c28c2c0a1f0
Author: Matias E. Fernandez <“mfernandez at futurelab.ch”>
Date:   Fri Nov 13 15:48:01 2009 +0100

    Added websrc submodule

commit 21f9c56b863365a0ba8375247948abda1fea1464
Author: Matias E. Fernandez <“mfernandez at futurelab.ch”>
Date:   Fri Nov 13 15:47:11 2009 +0100

    Removed websrc directory
    
    which is to be replaced by a git submodule

-----------------------------------------------------------------------

Changes:
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..6b679c1
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "websrc"]
+	path = websrc
+	url = http://developer.digitalstrom.org/sources/websrc.git
diff --git a/websrc b/websrc
new file mode 160000
index 0000000..2a5ff46
--- /dev/null
+++ b/websrc
@@ -0,0 +1 @@
+Subproject commit 2a5ff46b3aa5fee8c30a2299210ae783f0f7489d
diff --git a/websrc/dss-setup-interface/README b/websrc/dss-setup-interface/README
deleted file mode 100644
index 6322a04..0000000
--- a/websrc/dss-setup-interface/README
+++ /dev/null
@@ -1,10 +0,0 @@
-This is the setup interface for the digitalSTROM server.
-
-It is written in JavaScript and is based on the extjs JavaScript
-library, see http://www.extjs.com/
-
-Use "sprockets" to build it (see http://getsprockets.org/).
-
-$ sprocketize -I ./ dss-setup-interface.js > out.js
-
-and then copy out.js to where you want.
\ No newline at end of file
diff --git a/websrc/dss-setup-interface/dSS/SystemPanel.js b/websrc/dss-setup-interface/dSS/SystemPanel.js
deleted file mode 100644
index 7060a5b..0000000
--- a/websrc/dss-setup-interface/dSS/SystemPanel.js
+++ /dev/null
@@ -1,79 +0,0 @@
-//= require <dSS/system/PropertyTree.js>
-
-Ext.namespace('dSS');
-
-dSS.SystemPanel = Ext.extend(Ext.Panel, {
-	initComponent: function() {
-		
-		var tabRecord = Ext.data.Record.create([
-			{ name:"title" }
-		]);
-		
-		var tabStore = new Ext.data.Store({}, tabRecord);
-		
-		
-		var contentPanel = {
-			ref: 'contentPanel',
-			region: 'center',
-			layout: 'card',
-			activeItem: 0,
-			border: false,
-			items: [ 
-				{
-					title: 'Property Tree',
-					xtype: 'dsssystempropertytree',
-					ref: 'systemPropertyTree'
-				}
-			]
-		};
-		
-		Ext.apply(this, {
-			layout: 'border',
-			items: [ {
-					xtype: 'listview',
-					title: 'System',
-					ref: 'listView',
-					store: tabStore,
-					singleSelect: true,
-					region: 'west',
-					hideHeaders: true,
-					width: 275,
-					columns: [{
-						header: 'name',
-						dataIndex: 'title'
-					}]
-				},
-				contentPanel
-			]
-		});
-		
-		dSS.ZoneBrowser.superclass.initComponent.apply(this, arguments);
-		this.on(
-			'activate',
-			function(component) {
-				if(this.initializedTabs) {
-					return;
-				}
-				// for each item in contentPanel
-				this.contentPanel.items.each(function(item) {
-					var tab = new tabRecord({title: item.title});
-					tabStore.add([tab]);
-				}, this);
-				this.listView.select(0, false, true);
-				this.initializedTabs = true;
-			},
-			this
-		);
-		this.items.get(0).on(
-			'selectionchange',
-			function(listView, selections) {
-				if(selections.length === 1) {
-					this.contentPanel.layout.setActiveItem(selections[0].viewIndex);
-				}
-			},
-			this
-		);
-	}
-});
-
-Ext.reg('dsssystempanel', dSS.SystemPanel);
\ No newline at end of file
diff --git a/websrc/dss-setup-interface/dSS/ZoneBrowser.js b/websrc/dss-setup-interface/dSS/ZoneBrowser.js
deleted file mode 100644
index f7e6ac4..0000000
--- a/websrc/dss-setup-interface/dSS/ZoneBrowser.js
+++ /dev/null
@@ -1,143 +0,0 @@
-//= require <dSS/ZonePanel>
-//= require <dSS/grid/DevicePanel>
-
-Ext.namespace('dSS');
-
-dSS.ZoneBrowser = Ext.extend(Ext.Panel, {
-	initComponent: function() {
-		
-		Ext.apply(this, {
-			layout: 'border',
-			items: [{
-					xtype: 'dsszonepanel',
-					ref: 'zonePanel', 
-					region: 'west',
-					width: 225, // give east and west regions a width
-					minSize: 175,
-					maxSize: 400,
-					split: true
-				},{
-					xtype: 'dssdevicepanel',
-					ref: 'devicePanel',
-					minSize: 400,
-					region: 'center'
-				}
-			]
-		});
-		
-		dSS.ZoneBrowser.superclass.initComponent.apply(this, arguments);
-		this.on(
-			'afterrender',
-			this.loadData,
-			this
-		);
-		
-	},
-	allDevices: undefined,
-	filterDevices: function() {
-		var selectedZones = this.zonePanel.zoneView.getSelectedRecords();
-		if(selectedZones.length === 0) {
-			this.devicePanel.getStore().clearFilter();
-			return
-		}
-		this.devicePanel.getStore().filterBy(function(record) {
-			for(var i = 0; i < selectedZones.length; i++) {
-				if(record.get('zone') === selectedZones[i].get('id')) {
-					return true;
-				}
-			}
-			return false;
-		});
-	},
-	processStructure: function(structure) {
-		var devices = [], zones = [];
-		Ext.each(structure.apartment.zones, function(zone) {
-			if(zone.id === 0) { // Skip zone 0
-				Ext.each(zone.devices, function(device) {
-					device.firstSeen = Date.parseDate(device.firstSeen, "U");
-					device.lastDiscovered =  Date.parseDate(device.lastDiscovered, "U");
-					devices.push(device);
-				});
-			}
-			zones.push({
-				id: zone.id,
-				name: zone.name ? zone.name : 'No name',
-				primary: zone['firstZoneOnModulator'] !== undefined ? true : false
-			});
-			Ext.each(zone.devices, function(device) {
-				for(var i = 0; i < devices.length; i++) {
-					if(devices[i].id == device.id) {
-						devices[i].zone = zone.id;
-					}
-				}
-			});
-		});
-		this.zonePanel.zoneView.getStore().loadData({zones: zones});
-		this.allDevices = devices;
-	},
-	processCircuits: function(circuits) {
-		Ext.each(this.allDevices, function(device) {
-			var circuitID = device.circuitID;
-			for( var i = 0; i < circuits.length; i++) {
-				if(circuits[i].busid == circuitID) {
-					device.circuit = circuits[i].name;
-					device.modulator = circuits[i].dsid;
-				}
-			}
-		});
-		var deviceStore = this.devicePanel.getStore();
-		deviceStore.loadData({devices: this.allDevices});
-		if(this.zonePanel.zoneView.getStore().getCount() > 1) {
-			this.zonePanel.zoneView.select(1);
-		} else {
-			this.zonePanel.zoneView.select(0);
-		}
-	},
-	loadStructure: function() {
-		Ext.Ajax.request({
-			url: '/json/apartment/getStructure',
-			disableCaching: true,
-			method: "GET",
-			scope: this,
-			success: function(result, request) {
-				try {
-					var jsonData = Ext.util.JSON.decode(result.responseText);
-					this.processStructure(jsonData);
-				}
-				catch (err) {
-					Ext.MessageBox.alert('AJAX Error', 'Error loading apartment structure: "' + err + '"');
-				}
-				this.loadCircuits();
-			},
-			failure: function(result, request) {
-				Ext.MessageBox.alert('AJAX Error', 'Could not load "' + request.url + '"');
-			}
-		});
-	},
-	loadCircuits: function() {
-		Ext.Ajax.request({
-			url: '/json/apartment/getCircuits',
-			disableCaching: true,
-			method: "GET",
-			scope: this,
-			success: function(result, request) {
-				try {
-					var jsonData = Ext.util.JSON.decode(result.responseText);
-					this.processCircuits(jsonData.result.circuits);
-				}
-				catch (err) {
-					Ext.MessageBox.alert('AJAX Error', 'Could not load circuits: "' + err + '"');
-				}
-			},
-			failure: function(result, request) {
-				Ext.MessageBox.alert('AJAX Error', 'Could not load "' + request.url + '"');
-			}
-		});
-	},
-	loadData: function() {
-		this.loadStructure();
-	}
-	
-});
-
-Ext.reg('dsszonebrowser', dSS.ZoneBrowser);
\ No newline at end of file
diff --git a/websrc/dss-setup-interface/dSS/ZonePanel.js b/websrc/dss-setup-interface/dSS/ZonePanel.js
deleted file mode 100644
index f53beac..0000000
--- a/websrc/dss-setup-interface/dSS/ZonePanel.js
+++ /dev/null
@@ -1,148 +0,0 @@
-//= require <dSS/ZoneView>
-
-Ext.namespace('dSS');
-
-dSS.ZonePanel = Ext.extend(Ext.Panel, {
-	initComponent: function() {
-		Ext.apply(this, {
-			title:'Rooms',
-			layout: 'border',
-			items: [{ xtype: 'dsszoneview', ref: 'zoneView', region: 'center'}]
-			//tbar: ['->', createZoneAction, reloadAction]
-		});
-		
-		this.tbar = this.buildTopToolbar();
-		
-		dSS.ZonePanel.superclass.initComponent.apply(this, arguments);
-	},
-	
-	buildTopToolbar: function() {
-		return [{
-				//text: 'New Zone',
-				iconCls: 'newZoneAction',
-				handler: this.createNewZone,
-				scope: this
-			},
-			{
-				//text: 'Edit Room
-				iconCls: 'editZoneAction',
-				handler: this.editZone,
-				scope: this
-			},
-			'->',
-			{
-				//text: 'Reload',
-				iconCls: 'reloadAction',
-				handler: this.reload,
-				scope: this
-			}
-		];
-	},
-	
-	editZone: function() {
-		var zoneStore = this.zoneView.getStore();
-		if(this.zoneView.getSelectionCount() !== 1) {
-			return;
-		} else {
-			var record = this.zoneView.getSelectedRecords()[0];
-			Ext.Msg.prompt('Rename room', 'New name for room:', function(btn, text){
-				if(text !== record.get('name')) {
-					Ext.Ajax.request({
-						url: '/json/zone/setName',
-						disableCaching: true,
-						method: "GET",
-						params: { id: record.get('id'),
-											newName: text},
-						success: function(result, request) {
-							try {
-								var jsonData = Ext.util.JSON.decode(result.responseText);
-								if(jsonData.ok) {
-									record.set('name', text);
-									record.commit();
-								} else {
-									Ext.MessageBox.alert('Error', 'Could not rename room');
-								}
-							}
-							catch (err) {
-								Ext.MessageBox.alert('Error', 'Could not rename room');
-							}
-						},
-						failure: function(result, request) {
-							Ext.MessageBox.alert('Error', 'Could not rename room');
-						}
-					});
-				}
-			}, this, false, record.get('name'));
-		}
-	},
-	
-	createNewZone: function() {
-		var zoneStore = this.zoneView.getStore();
-		Ext.Msg.prompt('Create new room', 'Name for new room:', function(btn, text){
-			if (btn == 'ok'){
-				for(var i = 0; i <= zoneStore.data.length; i++) {
-					if(zoneStore.findExact('id', i) === -1) {
-						
-						Ext.Ajax.request({
-							url: '/json/structure/addZone',
-							disableCaching: true,
-							method: "GET",
-							params: { zoneID: i },
-							success: function(result, request) {
-								try {
-									var jsonData = Ext.util.JSON.decode(result.responseText);
-									if(jsonData.ok) {
-									
-									
-									
-									Ext.Ajax.request({
-										url: '/json/zone/setName',
-										disableCaching: true,
-										method: "GET",
-										params: { id: i,
-															newName: text},
-										success: function(result, request) {
-											try {
-												var jsonData = Ext.util.JSON.decode(result.responseText);
-												if(jsonData.ok) {
-												
-												
-													var newZone = new zoneStore.recordType({id: i, name: text}, i);
-													zoneStore.insert(i, newZone);
-												
-												
-												
-												}
-											}
-											catch (err) {
-												Ext.MessageBox.alert('Error', 'Could not create Zone: ' + err);
-											}
-										},
-										failure: function(result, request) {
-											Ext.MessageBox.alert('Error', 'Could not create Zone');
-										}
-									});
-									
-									
-									}
-								}
-								catch (err) {
-									Ext.MessageBox.alert('Error', 'Could not create Zone');
-								}
-							},
-							failure: function(result, request) {
-								Ext.MessageBox.alert('Error', 'Could not create Zone');
-							}
-						});
-						return;
-					}
-				}
-			}
-		})
-	},
-	reload: function() {
-		this.ownerCt.loadData();
-	}
-});
-
-Ext.reg('dsszonepanel', dSS.ZonePanel);
diff --git a/websrc/dss-setup-interface/dSS/ZoneView.js b/websrc/dss-setup-interface/dSS/ZoneView.js
deleted file mode 100644
index 2b1753d..0000000
--- a/websrc/dss-setup-interface/dSS/ZoneView.js
+++ /dev/null
@@ -1,165 +0,0 @@
-//= require <dSS/data/ZoneStore>
-
-Ext.namespace('dSS');
-
-dSS.ZoneView = Ext.extend(Ext.DataView, {
-	initComponent: function() {
-		
-		var zoneTemplate = new Ext.XTemplate(
-			'<tpl for=".">',
-				'<div class="zone-wrap {css}" id="zone-{id}">',
-					'<span>',
-						'{name}',
-						'<tpl if="primary === true">',
-							' *',
-						'</tpl>',
-					'</span>',
-				'</div>',
-			'</tpl>',
-			'<div class="x-clear"></div>'
-		);
-		
-		var zoneStore = new dSS.data.ZoneStore();
-		
-		Ext.apply(this, {
-			store: zoneStore,
-			tpl: zoneTemplate,
-			singleSelect: true,
-			multiSelect: false,
-			layout: 'fit',
-			style: "overflow: auto",
-			overClass:'x-view-over',
-			itemSelector:'div.zone-wrap',
-			emptyText: 'No Rooms to display'
-		});
-		
-		dSS.ZoneView.superclass.initComponent.apply(this, arguments);
-		// Here you can add functionality that requires the object to
-		// exist, like event handling.
-		this.on(
-			'selectionchange',
-			function(dv,nodes) {
-				var l = nodes.length;
-				var s = l != 1 ? 's' : '';
-				this.findParentByType('dsszonepanel').setTitle("Zones (" + l + ' zone' + s + ' selected)');
-				this.findParentByType('dsszonebrowser').filterDevices();
-			},
-			this
-		);
-		
-		this.on(
-			'render',
-			function() {
-				var zoneView = this;
-				this.dropZone = new Ext.dd.DropZone(zoneView.getEl(), {
-					ddGroup          : "zoneDeviceDD",
-					getTargetFromEvent: function(e) {
-						return e.getTarget(zoneView.itemSelector);
-					},
-					onNodeEnter : function(target, dd, e, data){ 
-						Ext.fly(target).addClass('my-row-highlight-class');
-					},
-					onNodeOut : function(target, dd, e, data){ 
-						Ext.fly(target).removeClass('my-row-highlight-class');
-					},
-					onNodeOver : function(target, dd, e, data){ 
-						return Ext.dd.DropZone.prototype.dropAllowed;
-					},
-					onNodeDrop : function(target, dd, e, data){
-						var record = zoneView.getRecord(target);
-						Ext.each(data.selections, function(device) {
-							var currentDevice = device;
-							Ext.Ajax.request({
-								url: '/json/structure/zoneAddDevice',
-								disableCaching: true,
-								method: "GET",
-								scope: zoneView,
-								params: {		devid: currentDevice.get('id'),
-														zone:  record.get('id')
-												},
-								success: function(result, request) {
-									try {
-										var jsonData = Ext.util.JSON.decode(result.responseText);
-										if(jsonData.ok) {
-											currentDevice.set("zone", record.data.id);
-											this.getStore().commitChanges();
-											this.findParentByType('dsszonebrowser').filterDevices();
-										}
-									}
-									catch (err) {
-										Ext.MessageBox.alert('Error', 'Could not move device "' + device.data.dsid + '"');
-									}
-								},
-								failure: function(result, request) {
-									Ext.MessageBox.alert('Error', 'Could not move device "' + device.data.dsid + '"');
-								}
-							});
-						});
-						return true;
-					}
-				});
-			},
-			this
-		);
-		
-		this.on(
-			'contextmenu',
-			function(view, index, node, event) {
-				event.preventDefault();
-				event.stopEvent();
-				if(!this.contextMenu) {
-					this.contextMenu = new Ext.menu.Menu({});
-				} else {
-					this.contextMenu.removeAll();
-				}
-				
-				var menuItem = new Ext.menu.Item({
-					text: 'Delete Room',
-					icon: '/images/delete.png',
-					handler: this.removeZone.createDelegate(this, index, true)
-				});
-				this.contextMenu.add(menuItem)
-				var xy = event.getXY();
-				this.contextMenu.showAt(xy);
-			},
-			this
-		);
-	},
-	removeZone: function(item, event, index) {
-		var record = this.getStore().getAt(index);
-		if(record.get('primary') == true) {
-			Ext.MessageBox.alert('Error', 'You cannot delete a primary room.');
-			return;
-		}
-		var deviceStore = this.findParentByType('dsszonebrowser').devicePanel.getStore();
-		if(deviceStore.query('zone', record.get('id')).getCount() > 0) {
-			Ext.MessageBox.alert('Error', 'You cannot delete a non empty room.');
-			return;
-		}
-		
-		Ext.Ajax.request({
-			url: '/json/structure/removeZone',
-			disableCaching: true,
-			method: "GET",
-			scope: this,
-			params: { zoneID: record.get('id') },
-			success: function(result, request) {
-				try {
-					var jsonData = Ext.util.JSON.decode(result.responseText);
-					if(jsonData.ok) {
-						this.getStore().removeAt(index);
-					} else {
-						Ext.MessageBox.alert('Error', 'Could not remove room "' + record.get('name') + '"');
-					}
-				} catch (err) {
-						Ext.MessageBox.alert('Error', 'Could not move device "' + record.get('name') + '"');
-				}
-			},
-			failure: function(result, request) {
-				Ext.MessageBox.alert('Error', 'Could not remove room "' + record.get('name') + '"');
-			}
-		})
-	}
-});
-
-Ext.reg('dsszoneview', dSS.ZoneView);
\ No newline at end of file
diff --git a/websrc/dss-setup-interface/dSS/data/DeviceStore.js b/websrc/dss-setup-interface/dSS/data/DeviceStore.js
deleted file mode 100644
index 9f2e45a..0000000
--- a/websrc/dss-setup-interface/dSS/data/DeviceStore.js
+++ /dev/null
@@ -1,38 +0,0 @@
-Ext.namespace('dSS', 'dSS.data');
-
-dSS.data.DeviceStore = Ext.extend(Ext.data.Store, {
-	constructor: function(config) {
-		// create a record constructor for device records
-		var deviceRecord = Ext.data.Record.create([
-			{name:"name"},
-			{name:"id"},
-			{name:"on"},
-			{name:"circuit"},
-			{name:"modulator"},
-			{name:"zone"},
-			{name:"isPresent"},
-			{name:"firstSeen"},
-			{name:"lastDiscovered"}
-		]);
-		
-		// a json reader to read the device data
-		var deviceReader = new Ext.data.JsonReader(
-			{
-				root:"devices"
-			},
-			deviceRecord
-		);
-		
-		Ext.apply(
-			this,
-			{
-				reader: deviceReader,
-				sortInfo: {
-					field: 'firstSeen',
-					direction: 'DESC' // or 'DESC' (case sensitive for local sorting)
-				}
-			}
-		);
-		dSS.data.DeviceStore.superclass.constructor.call(this, arguments);
-	}
-});
diff --git a/websrc/dss-setup-interface/dSS/data/ZoneStore.js b/websrc/dss-setup-interface/dSS/data/ZoneStore.js
deleted file mode 100644
index 45e693b..0000000
--- a/websrc/dss-setup-interface/dSS/data/ZoneStore.js
+++ /dev/null
@@ -1,23 +0,0 @@
-Ext.namespace('dSS', 'dSS.data');
-
-dSS.data.ZoneStore = Ext.extend(Ext.data.Store, {
-	constructor: function(config) {
-		// create a record constructor for zone records
-		var zoneRecord = Ext.data.Record.create([
-			{name:"name"},
-			{name:"id"},
-			{name:"primary"}
-		]);
-		
-		// a json reader to read the zone data
-		var zoneReader = new Ext.data.JsonReader(
-			{
-				root: "zones"
-			},
-			zoneRecord
-		);
-		
-		Ext.apply(this, { reader: zoneReader });
-		dSS.data.ZoneStore.superclass.constructor.call(this, arguments);
-	}
-});
diff --git a/websrc/dss-setup-interface/dSS/grid/DevicePanel.js b/websrc/dss-setup-interface/dSS/grid/DevicePanel.js
deleted file mode 100644
index dcd6a9e..0000000
--- a/websrc/dss-setup-interface/dSS/grid/DevicePanel.js
+++ /dev/null
@@ -1,137 +0,0 @@
-//= require <dSS/data/DeviceStore>
-
-Ext.namespace('dSS', 'dSS.grid');
-
-dSS.grid.DevicePanel = Ext.extend(Ext.grid.GridPanel, {
-	initComponent: function() {
-		
-		var stateRenderer = function(value, metaData, record, rowIndex, colIndex, store) {
-			if(record.get('on')) {
-				metaData.css = 'isOn';
-			} else {
-				metaData.css = 'isOff';
-			}
-			return String.format('<img class="padding-img" src="{0}"/>',Ext.BLANK_IMAGE_URL);
-		};
-		
-		var deviceCols = [
-			{header: "on", width: 14, resizable: false, sortable: true, dataIndex: 'on', renderer: stateRenderer},
-			{id: 'id', header: "id",  width: 150, sortable: true, dataIndex: 'id'},
-			{id: 'name', header: "name", width: 150, sortable: true, dataIndex: 'name', editable: true, editor: new Ext.form.TextField()},
-			{header: "circuit", width: 100, sortable: true, dataIndex: 'circuit'},
-			{header: "modulator", width: 150, sortable: true, dataIndex: 'modulator'},
-			{header: "zone", width: 50, sortable: true, dataIndex: 'zone'},
-			{header: "first seen", width: 150, sortable: true, dataIndex: 'firstSeen', xtype: 'datecolumn', format: 'c'},
-			{header: "last discovered", width: 150, sortable: true, dataIndex: 'lastDiscovered', xtype: 'datecolumn', format: 'c'}
-		];
-		
-		var deviceStore = new dSS.data.DeviceStore();
-		
-		Ext.apply(this, {
-			store            : deviceStore,
-			columns          : deviceCols,
-			ddGroup          : "zoneDeviceDD",
-			enableDragDrop   : true,
-			stripeRows       : true,
-			forceFit         : true,
-			title            : 'Devices',
-			viewConfig: {
-				autoFill: true,
-				getRowClass: function(record, index) {
-					var c = record.get('isPresent');
-					if (c === false) {
-						return 'nonPresentDevice';
-					}
-					return '';
-				}
-			}
-		});
-		
-		dSS.grid.DevicePanel.superclass.initComponent.apply(this, arguments);
-		
-		// Here you can add functionality that requires the object to
-		// exist, like event handling.
-		this.on(
-			'rowcontextmenu',
-			function(grid, rowIndex, event) {
-				event.preventDefault();
-				event.stopEvent();
-				if(!this.contextMenu) {
-					this.contextMenu = new Ext.menu.Menu({});
-				} else {
-					this.contextMenu.removeAll();
-				}
-				
-				var menuItem = new Ext.menu.Item({
-					text: 'Edit Device',
-					icon: '/images/page_white_edit.png',
-					handler: this.editDevice.createDelegate(this, rowIndex, true)
-				});
-				this.contextMenu.add(menuItem)
-				var xy = event.getXY();
-				this.contextMenu.showAt(xy);
-			},
-			this
-		);
-		
-		this.on(
-			'cellclick',
-			function (grid, rowIndex, columnIndex, event) {
-				if(columnIndex === 0) {
-					var record = this.getStore().getAt(rowIndex);
-					Ext.Ajax.request({
-						url: record.get('on') ? '/json/device/turnOff' : '/json/device/turnOn',
-						disableCaching: true,
-						method: "GET",
-						params: { dsid: record.get('id') },
-						success: function(result, request) {
-							try {
-								var jsonData = Ext.util.JSON.decode(result.responseText);
-								if(jsonData.ok) {
-									record.set('on', record.get('on') ? false : true );
-									record.commit();
-								}
-							} catch(err) {
-								Ext.MessageBox.alert('Error', err);
-							}
-						}
-					});
-				}
-			},
-			this
-		);
-	},
-	editDevice: function(item, event, rowIndex) {
-		var record = this.getStore().getAt(rowIndex);
-		Ext.Msg.prompt('Edit device', 'Name:', function(btn, text){
-			if(text !== record.get('name')) {
-				Ext.Ajax.request({
-					url: '/json/device/setName',
-					disableCaching: true,
-					method: "GET",
-					params: { dsid: record.get('id'),
-										newName: text},
-					success: function(result, request) {
-						try {
-							var jsonData = Ext.util.JSON.decode(result.responseText);
-							if(jsonData.ok) {
-								record.set('name', text);
-								record.commit();
-							} else {
-								Ext.MessageBox.alert('Error', 'Could not rename device');
-							}
-						}
-						catch (err) {
-							Ext.MessageBox.alert('Error', 'Could not rename device');
-						}
-					},
-					failure: function(result, request) {
-						Ext.MessageBox.alert('Error', 'Could not rename device');
-					}
-				});
-			}
-		}, this, false, record.get('name'));
-	}
-});
-
-Ext.reg('dssdevicepanel', dSS.grid.DevicePanel);
diff --git a/websrc/dss-setup-interface/dSS/system/PropertyTree.js b/websrc/dss-setup-interface/dSS/system/PropertyTree.js
deleted file mode 100644
index a7f14fb..0000000
--- a/websrc/dss-setup-interface/dSS/system/PropertyTree.js
+++ /dev/null
@@ -1,71 +0,0 @@
-//= require <dSS/tree/PropertyTreeLoader>
-
-Ext.namespace('dSS', 'dSS.system');
-
-dSS.system.PropertyTree = Ext.extend(Ext.Panel, {
-	initComponent: function() {
-		
-		Ext.apply(this, {
-			layout: 'border',
-			items: [{
-					xtype: 'treepanel',
-					ref: 'propertytree', 
-					region: 'center',
-					width: 225, // give east and west regions a width
-					minSize: 175,
-					maxSize: 400,
-					autoScroll: true,
-					animate: true,
-					enableDD: false,
-					containerScroll: true,
-					border: false,
-					loader: new dSS.tree.PropertyTreeLoader(),
-					root: new Ext.tree.AsyncTreeNode({
-						expanded: false,
-						path: '/',
-						type: 'none',
-						text: 'dSS',
-						leaf: false
-					}),
-					rootVisible: true,
-					listeners: { append: this.handleAppend }
-				}
-			]
-		});
-		
-		dSS.ZoneBrowser.superclass.initComponent.apply(this, arguments);
-	},
-	handleAppend: function(tree, parent, node, index) {
-		if (node.attributes.type === 'none') return;
-		var url = "/json/property/";
-		switch(node.attributes.type) {
-			case 'string':
-				url += 'getString';
-				break;
-			case 'integer':
-				url += 'getInteger';
-				break;
-			case 'boolean':
-				url += 'getBoolean';
-				break;
-			default:
-				return;
-		}
-		Ext.Ajax.request({
-			url: url,
-			params: { path: node.attributes.path },
-			method: 'GET',
-			success: function(response, opts) {
-				var obj = Ext.decode(response.responseText);
-				if(obj.ok === true) {
-					node.setText(node.text + " : " + obj.result.value);
-				}
-			},
-			failure: function(response, opts) {
-				console.log('server-side failure with status code ' + response.status);
-			}
-		});
-	}
-});
-
-Ext.reg('dsssystempropertytree', dSS.system.PropertyTree);
\ No newline at end of file
diff --git a/websrc/dss-setup-interface/dSS/tree/PropertyTreeLoader.js b/websrc/dss-setup-interface/dSS/tree/PropertyTreeLoader.js
deleted file mode 100644
index e66c865..0000000
--- a/websrc/dss-setup-interface/dSS/tree/PropertyTreeLoader.js
+++ /dev/null
@@ -1,54 +0,0 @@
-Ext.namespace('dSS', 'dSS.tree');
-
-dSS.tree.PropertyTreeLoader = Ext.extend(Ext.tree.TreeLoader, {
-	constructor: function(config) {
-		
-		Ext.apply(this, { dataUrl: '/json/property/getChildren', requestMethod: 'GET' });
-		dSS.data.DeviceStore.superclass.constructor.call(this, arguments);
-	},
-	requestData: function(node, callback, scope){
-		if(this.fireEvent("beforeload", this, node, callback) !== false){
-			this.transId = Ext.Ajax.request({
-				method:this.requestMethod,
-					url: this.dataUrl||this.url,
-					success: this.handleResponse,
-					failure: this.handleFailure,
-					scope: this,
-					argument: {callback: callback, node: node, scope: scope},
-					params: this.getParams(node)
-				});
-		}else{
-			// if the load is cancelled, make sure we notify
-			// the node that we are done
-			this.runCallback(callback, scope || node, []);
-		}
-	},
-	processResponse : function(response, node, callback, scope){
-		var json = response.responseText;
-		try {
-			var o = response.responseData || Ext.decode(json);
-			o = o.result;
-			node.beginUpdate();
-			for(var i = 0, len = o.length; i < len; i++){
-				var rawNode = o[i];
-				rawNode.text = rawNode.name;
-				rawNode.leaf = rawNode.type ===  'none' ? false : true;
-				rawNode.path = node.attributes.path === '/' ? 
-					node.attributes.path + rawNode.name : node.attributes.path + '/' + rawNode.name;
-				var n = this.createNode(rawNode);
-				if(n){
-					node.appendChild(n);
-				}
-			}
-			node.endUpdate();
-			this.runCallback(callback, scope || node, [node]);
-		}catch(e){
-			this.handleFailure(response);
-		}
-	},
-	getParams: function(node) {
-		var buf = [];
-		buf.push('path', '=', encodeURIComponent(node.attributes.path));
-		return buf.join('');
-	}
-});
\ No newline at end of file
diff --git a/websrc/dss-setup-interface/dss-setup-interface.js b/websrc/dss-setup-interface/dss-setup-interface.js
deleted file mode 100644
index dfd8487..0000000
--- a/websrc/dss-setup-interface/dss-setup-interface.js
+++ /dev/null
@@ -1,35 +0,0 @@
-//= require <dSS/ZoneBrowser>
-//= require <dSS/SystemPanel>
-
-Ext.onReady(function(){
-	Ext.get('start').remove();
-	var viewport = new Ext.Viewport({
-		layout: 'border',
-		items: [
-			{
-				xtype: 'box',
-				region: 'north',
-				height: 32, // give north and south regions a height
-				autoEl: {
-					tag: 'div',
-					html:'<h1>digitalSTROM Setup</h1>'
-				}
-			}, {
-				region: 'center',
-				xtype: 'tabpanel',
-				activeItem: 0,
-				items: [
-					{
-						title: 'Zones',
-						xtype: 'dsszonebrowser',
-						ref: 'zoneBrowser'
-					},{
-						title: 'System Properties',
-						xtype: 'dsssystempanel',
-						ref: 'systemPanel',
-						id: 'hurz'
-					}
-				]
-			}]
-	});
-});


hooks/post-receive
-- 
digitalSTROM Server


More information about the dss-commits mailing list