Autodesk 15606-011408-9300 Developer Guide - Page 104

Creating the Report Scripts, from Autodesk MapGuide

Page 104 highlights

When a user runs the Incidents (CF) report, Autodesk MapGuide prompts the user to specify a point. Then it invokes getpoint.cfm, passing the point's lat/lon coordinates as URL parameters. For example, if the user specified a point with coordinate values of 37.721,-121.943, the URL would be: http://www.yourserver.com/getpoint.cfm?LAT=37.721&LON=-121.943 Creating the Report Scripts Next we'll create the three CFM files: getpoint.cfm, showform.cfm, and insert.cfm. The first CFM file, getpoint.cfm, creates a small browser window and then calls a second file, showform.cfm, passing along the coordinate values it received from Autodesk MapGuide: window.close(); var loc = "showform.cfm?LAT=" + #LAT# + "&LON=" + #LON#; win = window.open(loc,"ShowFormWin", "width=300,height=170,dependent=yes,resizable=yes"); win.focus(); Note that getpoint.cfm consists of a single element containing a block of JavaScript code; because the file doesn't display any text, no other HTML tags are needed. Let's look at the code line by line. When getpoint.cfm is first called, it uses a default browser window similar to the one we saw in the previous example. The first line of code closes that window. Note Because the browser parses the entire block before running the first line of code, we can safely close the window, knowing our script will continue to run. Be aware, however, that this strategy will get you into trouble if your file contains function calls or other multiple blocks. See your JavaScript documentation for more information. The next line constructs a URL and assigns it to a variable called loc. Note that the line is a mix of both JavaScript code and ColdFusion tags. The tags contain two ColdFusion variables named #LAT# and #LON#. These variables are replaced on the server by the lat/lon values that Autodesk MapGuide provided, meaning the browser receives a line similar to the following: var loc = "showform.cfm?LAT=" + "37.721" + "&LON=" + "-121.943"; The effect of this line is to create a variable called loc and to assign it the value showform.cfm?LAT=37.721&LON=-121.943. 104 | Chapter 6 Using Reports to Query and Update Data Sources

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208

104
|
Chapter 6
Using Reports to Query and Update Data Sources
When a user runs the Incidents (CF) report, Autodesk MapGuide prompts the
user to specify a point. Then it invokes
getpoint.cfm
, passing the point
s
lat/lon coordinates as URL parameters. For example, if the user specified a
point with coordinate values of 37.721,-121.943, the URL would be:
Creating the Report Scripts
Next we
ll create the three CFM files:
getpoint.cfm
,
showform.cfm
, and
insert.cfm
.
The first CFM file,
getpoint.cfm
, creates a small browser window and then calls
a second file,
showform.cfm
, passing along the coordinate values it received
from Autodesk MapGuide:
<SCRIPT LANGUAGE = "JavaScript">
window.close();
var loc = "showform.cfm?LAT=" + <CFOUTPUT>#LAT#</CFOUTPUT> +
"&LON=" + <CFOUTPUT>#LON#</CFOUTPUT>;
win = window.open(loc,"ShowFormWin",
"width=300,height=170,dependent=yes,resizable=yes");
win.focus();
</SCRIPT>
Note that
getpoint.cfm
consists of a single
<SCRIPT>
element containing a
block of JavaScript code; because the file doesn
t display any text, no other
HTML tags are needed. Let
s look at the code line by line.
When
getpoint.cfm
is first called, it uses a default browser window similar to
the one we saw in the previous example. The first line of code closes that
window.
Note
Because
the browser parses the entire
<SCRIPT>
block before running
the first line of code, we can safely close the window, knowing our script will con-
tinue to run. Be aware, however, that this strategy will get you into trouble if your
file contains function calls or other multiple
<SCRIPT>
blocks. See your
JavaScript documentation for more information.
The next line constructs a URL and assigns it to a variable called
loc
. Note
that the line is a mix of both JavaScript code and ColdFusion
<CFOUTPUT>
tags. The
<CFOUTPUT>
tags contain two ColdFusion variables named
#LAT#
and
#LON#
. These variables are replaced on the server by the lat/lon values
that Autodesk MapGuide provided, meaning the browser receives a line
similar to the following:
var loc = "showform.cfm?LAT=" + "37.721" + "&LON=" + "-121.943";
The effect of this line is to create a variable called
loc
and to assign it the
value
showform.cfm?LAT=37.721&LON=-121.943
.