[Commits] r896 - in apps/opengeo/geoexplorer/trunk: lib/GeoExplorer/Full theme theme/img/silk
commits at geoext.org
commits at geoext.org
Fri May 29 00:35:29 CEST 2009
Author: dwins
Date: 2009-05-29 00:35:29 +0200 (Fri, 29 May 2009)
New Revision: 896
Added:
apps/opengeo/geoexplorer/trunk/theme/img/silk/eye.png
apps/opengeo/geoexplorer/trunk/theme/img/silk/star.png
Modified:
apps/opengeo/geoexplorer/trunk/lib/GeoExplorer/Full/Full.js
apps/opengeo/geoexplorer/trunk/theme/geoexplorer.css
Log:
Add layer selection panel to wizard.
Modified: apps/opengeo/geoexplorer/trunk/lib/GeoExplorer/Full/Full.js
===================================================================
--- apps/opengeo/geoexplorer/trunk/lib/GeoExplorer/Full/Full.js 2009-05-28 22:25:44 UTC (rev 895)
+++ apps/opengeo/geoexplorer/trunk/lib/GeoExplorer/Full/Full.js 2009-05-28 22:35:29 UTC (rev 896)
@@ -35,6 +35,7 @@
showEmbedWizard: function() {
var config = this.extractConfiguration();
+ var layerSelection = this.makeLayerWizardPane(config);
var finalize = this.makeFinalWizardPane(config);
var wizard = new GeoExplorer.Wizard({
height: 300,
@@ -42,7 +43,13 @@
resizable: false,
modal: true,
title: "Export Map",
- pages: [{title: 'Finish', panel: finalize}]
+ pages: [{
+ title: 'Choose Layers',
+ panel: layerSelection
+ },{
+ title: 'Finish',
+ panel: finalize
+ }]
});
wizard.show();
},
@@ -73,7 +80,7 @@
var query = Ext.urlEncode({q: Ext.util.JSON.encode(config)});
// TODO: configurablize!!!1!!!!!111!!!!!!
- var pathname = document.location.pathname.replace(/\/[^/]*$/, '/embed.html');
+ var pathname = document.location.pathname.replace(/\/[^\/]*$/, '/embed.html');
var url =
document.location.protocol + "//" +
document.location.hostname +
@@ -87,8 +94,6 @@
heightField.on("change", updateSnippet);
widthField.on("change", updateSnippet);
- updateSnippet();
-
var snippet = new Ext.Panel({
border: false,
layout: 'fit',
@@ -142,7 +147,139 @@
description,
snippet,
{cls: 'gx-field-label', html: "Map Size", border: false},
- adjustments]
+ adjustments],
+ listeners: {
+ show: updateSnippet
+ }
});
+ },
+
+ makeLayerWizardPane: function (config) {
+ var datalayers = [];
+ var basemaps = [];
+
+ for (var i = 0, len = config.map.layers.length; i < len; i++) {
+ if (config.map.layers[i].isBaseLayer) {
+ basemaps.push(config.map.layers[i]);
+ } else {
+ datalayers.push(config.map.layers[i]);
+ }
+ }
+
+ var datalayerstore = new Ext.data.JsonStore({
+ fields: ['name', {name: 'visibility', type: 'bool'}],
+ data: datalayers
+ });
+
+ var basemapstore = new Ext.data.JsonStore({
+ fields: ['name', {name: 'visibility', type: 'bool'}],
+ data: basemaps
+ });
+
+ cbRenderer = function(value) {
+ return '<input type="checkbox"' +
+ (value ? ' checked="checked"' : '') +
+ '></input>';
+ };
+
+ var datagrid = new Ext.grid.GridPanel({
+ store: datalayerstore,
+ region: 'center',
+ autoScroll: true,
+ columns: [
+ {
+ header: '<img src="theme/img/silk/eye.png"></img>',
+ id: 'visibility',
+ dataIndex: 'visibility',
+ width: 28,
+ renderer: cbRenderer
+ },{
+ header: 'Layer Name',
+ id: 'layer',
+ dataIndex: 'name'
+ }
+ ],
+ autoExpandColumn:'layer',
+ title: "Pure",
+ listeners: {
+ rowclick: function(grid, index, evt) {
+ var record = grid.getStore().getAt(index);
+ record.set("visibility", !record.get("visibility"));
+ }
+ }
+ });
+
+ radioRenderer = function(value) {
+ return '<input type="radio"' +
+ (value ? ' checked="checked"' : '') +
+ '></input>';
+ };
+
+ var basegrid = new Ext.grid.GridPanel({
+ store: basemapstore,
+ region: 'east',
+ width: 150,
+ resizable: true,
+ autoScroll: true,
+ columns: [
+ {
+ header: '<img src="theme/img/silk/star.png"></img>',
+ id: 'visibility',
+ dataIndex: 'visibility',
+ width: 28,
+ renderer: radioRenderer
+ }, {
+ header: 'Layer Name',
+ id: 'layer',
+ dataIndex: 'name'
+ }
+ ],
+ autoExpandColumn:'layer',
+ title: "Base",
+ listeners: {
+ rowclick: function(grid, index, evt) {
+ var record = grid.getStore().getAt(index);
+ grid.getStore().each(function(record) {
+ record.set("visibility", false);
+ });
+ record.set("visibility", true);
+ }
+ }
+ });
+
+ return new Ext.Panel({
+ layout: 'border',
+ border: false,
+ cls: 'gx-wizard-pane',
+ items: [
+ {
+ region: 'north',
+ cls: "gx-wizard-description",
+ border: false,
+ html:'<p>Select the layers that are visible by default.</p>'
+ },
+ datagrid,
+ basegrid
+ ],
+ listeners: {
+ hide: function() {
+ for (var i = 0, len = config.map.layers.length;
+ i < len;
+ i++) {
+ var layer = config.map.layers[i];
+
+ var record =
+ datalayerstore.getAt(datalayerstore.find("name", layer.name));
+
+ if (!record) {
+ record =
+ basemapstore.getAt(basemapstore.find("name", layer.name));
+ }
+
+ if (record) layer.visibility = record.get("visibility");
+ }
+ }
+ }
+ });
}
});
Modified: apps/opengeo/geoexplorer/trunk/theme/geoexplorer.css
===================================================================
--- apps/opengeo/geoexplorer/trunk/theme/geoexplorer.css 2009-05-28 22:25:44 UTC (rev 895)
+++ apps/opengeo/geoexplorer/trunk/theme/geoexplorer.css 2009-05-28 22:35:29 UTC (rev 896)
@@ -205,6 +205,14 @@
padding: 4px;
}
+.gx-grid-true {
+ background: red;
+}
+
+.gx-grid-false {
+ background: blue;
+}
+
.gx-wizard-pane .x-panel-body {
background: none;
}
Added: apps/opengeo/geoexplorer/trunk/theme/img/silk/eye.png
===================================================================
(Binary files differ)
Property changes on: apps/opengeo/geoexplorer/trunk/theme/img/silk/eye.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: apps/opengeo/geoexplorer/trunk/theme/img/silk/star.png
===================================================================
(Binary files differ)
Property changes on: apps/opengeo/geoexplorer/trunk/theme/img/silk/star.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
More information about the Commits
mailing list