annotate gis_gui/blocks/table.js @ 244:57f0dfaf5949

show line and polygon-layer
author fknauft
date Tue, 06 Sep 2011 12:53:17 +0200
parents 9ec7e32e8ad3
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
63
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
1
70
9ec7e32e8ad3 working on maps
casties
parents: 63
diff changeset
2 guiBlocks.prototype.addTableBlock = function (url, baseId, params) {
9ec7e32e8ad3 working on maps
casties
parents: 63
diff changeset
3 if (typeof(params) === "string") {
9ec7e32e8ad3 working on maps
casties
parents: 63
diff changeset
4 // then its the table name
9ec7e32e8ad3 working on maps
casties
parents: 63
diff changeset
5 params = {"type": "table", "table": params};
9ec7e32e8ad3 working on maps
casties
parents: 63
diff changeset
6 }
9ec7e32e8ad3 working on maps
casties
parents: 63
diff changeset
7 var block = this.addBlock(url, baseId, params, function () {
63
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
8 // function after add block finished
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
9 var id = block.id;
70
9ec7e32e8ad3 working on maps
casties
parents: 63
diff changeset
10 var tablename = params.table;
9ec7e32e8ad3 working on maps
casties
parents: 63
diff changeset
11 var $tbl = $(block.element).find(".datatable");
63
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
12 console.debug("in tableblock after block load!");
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
13 console.debug("this=", this);
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
14 console.debug("block=",block);
70
9ec7e32e8ad3 working on maps
casties
parents: 63
diff changeset
15 console.debug($tbl);
9ec7e32e8ad3 working on maps
casties
parents: 63
diff changeset
16 $tbl.load(
63
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
17 "../db/RESTdb/db/public/" + tablename + "?format=HTML&layout=table&element_id=newtable #newtable>*",
70
9ec7e32e8ad3 working on maps
casties
parents: 63
diff changeset
18 function () {
63
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
19 // function after load table finished
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
20 console.debug("In table load! this=");
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
21 console.debug(this);
70
9ec7e32e8ad3 working on maps
casties
parents: 63
diff changeset
22 $tbl.find("td").addClass('compacted');
63
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
23 // Add DataTables functionality
70
9ec7e32e8ad3 working on maps
casties
parents: 63
diff changeset
24 $tbl.dataTable( {
63
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
25 'bPaginate' : true,
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
26 'sPaginationType' : 'full_numbers'
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
27 });
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
28 // show block
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
29 $(block.element).fadeIn();
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
30 });
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
31 });
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
32 };
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
33
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
34
70
9ec7e32e8ad3 working on maps
casties
parents: 63
diff changeset
35 guiBlocks.prototype.checkTableSubmitFn = function (oldsegment) {
63
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
36 // we need oldsegment in the returned function
70
9ec7e32e8ad3 working on maps
casties
parents: 63
diff changeset
37 return function () {
63
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
38 var tablename = $(this).find(".create_table_name").val();
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
39 console.debug("check table="+tablename," this=",this);
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
40 var uploadUrl = "../db/RESTdb/db/public/" + tablename;
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
41 // Firefox has a problem with changing the action attribute...
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
42 $(this).get(0).setAttribute("action",uploadUrl);
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
43 $(this).find("input[type=hidden][name=format]").remove();
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
44 $(this).prepend('<input type="hidden" name="format" value="JSONHTML"/>');
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
45 //foldBlock(oldsegment);
70
9ec7e32e8ad3 working on maps
casties
parents: 63
diff changeset
46 };
9ec7e32e8ad3 working on maps
casties
parents: 63
diff changeset
47 };
63
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
48
70
9ec7e32e8ad3 working on maps
casties
parents: 63
diff changeset
49 guiBlocks.prototype.checkTableCompleteFn = function (oldsegment,uploadForm) {
63
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
50 // we need the blocks object in the returned function
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
51 var gui_blocks = this;
70
9ec7e32e8ad3 working on maps
casties
parents: 63
diff changeset
52 return function (result) {
63
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
53 console.debug("check complete. this=", this, " result=",result);
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
54 // json inside pre tag
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
55 var txtres = $(result).text();
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
56 var res = jQuery.parseJSON(txtres);
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
57 console.debug("check complete. res=",res);
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
58 var tablename = res.tablename;
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
59 var tableExists = res.table_exists;
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
60 if (tableExists) {
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
61 var dlg = $(oldsegment).find(".dialog.create_table_exists");
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
62 $(dlg).find(".tablename").text(tablename);
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
63 console.debug("dlg=",dlg);
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
64 $(dlg).dialog({
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
65 buttons: {
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
66 "Yes": function() {
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
67 $(this).dialog("close");
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
68 clearAllTasks();
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
69 foldBlock(oldsegment);
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
70 gui_blocks.addTableStructureBlock("blocks/tablestructure.html?table="+escape(tablename),"tablestruct", tablename, res.fields, uploadForm);
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
71 },
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
72 "No": function() {
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
73 $(this).dialog("close");
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
74 }
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
75 }
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
76 });
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
77 } else {
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
78 clearAllTasks();
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
79 foldBlock(oldsegment);
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
80 gui_blocks.addTableStructureBlock("blocks/tablestructure.html?table="+escape(tablename),"tablestruct", tablename, res.fields, uploadForm);
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
81 }
70
9ec7e32e8ad3 working on maps
casties
parents: 63
diff changeset
82 };
9ec7e32e8ad3 working on maps
casties
parents: 63
diff changeset
83 };
63
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
84
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
85 guiBlocks.prototype.uploadTableSubmitFn = function(oldsegment,fields) {
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
86 // we need oldsegment in the returned function
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
87 return function() {
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
88 var tablename = $(this).find(".create_table_name").val();
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
89 console.debug("upload table="+tablename);
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
90 var uploadUrl = "../db/RESTdb/db/public/" + tablename;
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
91 // Firefox has problems with changing the action attribute by jQuery
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
92 $(this).get(0).setAttribute("action",uploadUrl);
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
93 $(this).find("input[type=hidden][name=action]").remove();
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
94 $(this).prepend('<input type="hidden" name="action" value="PUT"/>');
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
95 $(this).find("input[type=hidden][name=format]").remove();
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
96 $(this).prepend('<input type="hidden" name="format" value="JSONHTML"/>');
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
97 $(this).find("input[type=hidden][name=create_table_fields]").remove();
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
98 var fieldsStr = "";
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
99 for (var i = 0; i < fields.length; i++) {
70
9ec7e32e8ad3 working on maps
casties
parents: 63
diff changeset
100 if (i > 0) { fieldsStr += ",";}
63
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
101 fieldsStr += fields[i].name + ":" + fields[i].type;
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
102 }
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
103 $(this).prepend('<input type="hidden" name="create_table_fields" value="'+fieldsStr+'"/>');
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
104 foldBlock(oldsegment);
70
9ec7e32e8ad3 working on maps
casties
parents: 63
diff changeset
105 };
9ec7e32e8ad3 working on maps
casties
parents: 63
diff changeset
106 };
63
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
107
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
108 /* function that returns an upload complete function.
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
109 */
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
110 guiBlocks.prototype.uploadTableCompleteFn = function() {
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
111 // we need the blocks object in the returned function
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
112 var gui_blocks = this;
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
113 return function(result) {
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
114 console.debug("upload complete. this=", this, " result=",result);
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
115 // json inside pre tag
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
116 var txtres = $(result).text();
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
117 var res = jQuery.parseJSON(txtres);
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
118 console.debug("upload complete. res=",res);
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
119 var tablename = res.tablename;
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
120 // open new table block
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
121 var newblock = gui_blocks.addTableBlock("blocks/table.html?table="+escape(tablename),"table", tablename);
70
9ec7e32e8ad3 working on maps
casties
parents: 63
diff changeset
122 };
9ec7e32e8ad3 working on maps
casties
parents: 63
diff changeset
123 };
63
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
124
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
125 // Show Tooltip
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
126 $("td.compacted").livequery(function() {
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
127 $(this).attr('title', $(this).html());
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
128 $(this).tooltip( {
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
129 track : false,
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
130 delay : 750,
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
131 showURL : false,
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
132 opacity : 0.85,
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
133 top : -15,
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
134 left : 5
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
135 });
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
136 });