Mercurial > repos > rhope
annotate framework.rhope @ 160:f97a7d499182
Optimize _Partition@Pattern using a byte iterator
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Fri, 07 Jan 2011 03:18:33 -0500 |
parents | f582fd6c75ee |
children | 47ab97730865 |
rev | line source |
---|---|
0 | 1 Import webserver.rhope |
2 | |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
3 _Key Value Map[list,index,newlist,worker:out] |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
4 { |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
5 newval,newkey <- [worker]Call[[list]Index[index], index] |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
6 |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
7 next <- [newlist]Set[newkey, newval] |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
8 |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
9 [list]Next[index] |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
10 { |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
11 out <- _Key Value Map[list, ~, next, worker] |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
12 }{ |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
13 out <- Val[next] |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
14 } |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
15 } |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
16 |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
17 Key Value Map[list,worker:out] |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
18 { |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
19 [list]First |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
20 { |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
21 out <- _Key Value Map[list, ~, New Like[list], worker] |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
22 }{ |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
23 out <- New Like[list] |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
24 } |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
25 } |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
26 |
0 | 27 Framework Handler[con,path,request type,queryvars,headers,handler,title,use session] |
28 { | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
29 page <- Page[title, path, use session, queryvars, headers] |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
30 handler page <- [handler]Call[page,path] |
0 | 31 If[[request type] = ["POST"]] |
32 { | |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
33 final page,ncon <- Process POST[handler page, con, headers] |
0 | 34 }{ |
35 final page <- Val[handler page] | |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
36 ncon <- Val[con] |
0 | 37 } |
38 string,out headers <- [final page]Render | |
39 | |
148
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
40 [[string]Write to File[HTTP OK[ncon, Get Content Type[".html"], [string]Byte Length, out headers]]]Close |
0 | 41 } |
42 | |
43 Handler Fixer[handler:out] | |
44 { | |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
45 [(List(),List Leaf())]Find[=[?,Blueprint Of[handler]]] |
0 | 46 { |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
47 out <- Val[Framework Handler[?, ?, ?, ?, ?, [handler]Index[0], [handler]Index[1], [handler]Index[2]]] |
0 | 48 }{ |
49 out <- handler | |
50 } | |
51 } | |
52 | |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
53 Start Web[handlers,port] |
0 | 54 { |
55 Print["Starting Rhope Web Server"] | |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
56 workaround <- Init Sessions[] |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
57 Val[workaround] |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
58 { Listen on Port[port,Connection Start[?, ?, Map[handlers,Handler Fixer[?]]]] |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
59 { Wait Forever[] }} |
0 | 60 } |
61 | |
62 Get Class[container:class] | |
63 { | |
64 If[[[[container]Class >>]Length] > [0]] | |
65 { | |
66 class <- [[" class=\""]Append[[container]Class >>]]Append["\""] | |
67 }{ | |
68 class <- "" | |
69 } | |
70 } | |
71 | |
72 Blueprint Web Event | |
73 { | |
74 Event Name | |
75 Origin | |
76 Data | |
77 } | |
78 | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
79 Web Event[name,origin,data:out] |
0 | 80 { |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
81 out <- [[[Build[Web Event()]]Event Name <<[name]]Origin <<[origin]]Data <<[data] |
0 | 82 } |
83 | |
84 Blueprint Web Container | |
85 { | |
86 Tag Name | |
87 Class | |
88 Propagate Events | |
89 Children | |
90 Handlers | |
91 Named Children | |
92 Session | |
93 Use Session | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
94 Preformatted |
0 | 95 } |
96 | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
97 Web Container[class:out] |
0 | 98 { |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
99 out <- [[[[[[[[Build[Web Container()] |
0 | 100 ]Tag Name <<["div"] |
101 ]Class <<[class] | |
102 ]Propagate Events <<[No] | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
103 ]Children <<[List[]] |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
104 ]Named Children <<[Dictionary[]] |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
105 ]Handlers <<[Dictionary[]] |
0 | 106 ]Use Session <<[No] |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
107 ]Preformatted <<[No] |
0 | 108 } |
109 | |
110 Name@Web Container[cont:out,none] | |
111 { | |
112 none <- cont | |
113 } | |
114 | |
115 Render Child[start,container:out] | |
116 { | |
117 out <- [start]Append[[container]Render] | |
118 } | |
119 | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
120 _Preformatted[child,val:out] |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
121 { |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
122 If[[Blueprint Of[child]] = [Web Text()]] |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
123 { |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
124 out <- [child]Preformatted <<[val] |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
125 }{ |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
126 If[[Blueprint Of[child]] = [Web Container()]] |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
127 { |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
128 out <- [child]Preformatted[val] |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
129 }{ |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
130 out <- child |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
131 } |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
132 } |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
133 } |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
134 |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
135 Preformatted@Web Container[cont,preformatted?:out] |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
136 { |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
137 out <- [[cont]Children <<[ Map[[cont]Children >>, _Preformatted[?, preformatted?]] ] |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
138 ]Preformatted <<[preformatted?] |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
139 } |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
140 |
0 | 141 Set Session@Web Container[container,session:out] |
142 { | |
143 out <- [ | |
144 [ | |
145 [container]Use Session <<[Yes] | |
146 ]Session <<[session] | |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
147 ]Children <<[ Map[ [container]Children >>, Set Session[?, session] ] ] |
0 | 148 } |
149 | |
150 Set Handler@Web Container[container,event name,handler:out] | |
151 { | |
152 out <- [container]Handlers <<[ [[container]Handlers >> ]Set[event name, handler] ] | |
153 } | |
154 | |
155 Render@Web Container[container:out,headers] | |
156 { | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
157 If[[container]Preformatted >>] |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
158 { |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
159 newline <- "" |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
160 tab <- "" |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
161 }{ |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
162 newline <- "\n" |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
163 tab <- "\t" |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
164 } |
0 | 165 out <- [[[[[[["<"]Append[ [container]Tag Name >> ] |
166 ]Append[Get Class[container]] | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
167 ]Append[[[">"]Append[newline]]Append[tab]] |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
168 ]Append[Fold[Render Child[?], "", [container]Children >>]] |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
169 ]Append[[newline]Append["</"]] |
0 | 170 ]Append[ [container]Tag Name >> ] |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
171 ]Append[[">"]Append[newline]] |
0 | 172 } |
173 | |
174 Container Event Handler[container,events,index:cont,out events] | |
175 { | |
176 event <- [events]Index[index] | |
177 [[container]Handlers >>]Index[ [event]Event Name >>] | |
178 { | |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
179 //The original version, you had to populate the container output |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
180 //and optionally populate the new event output, but that won't work |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
181 //now. None of my existing code really needs to populate both so I've |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
182 //made them mutually exclusive. |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
183 new container <- [~]Call[container,event] |
0 | 184 { |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
185 out events <- Val[result events] |
0 | 186 }{ |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
187 out events <- [result events]Append[~] |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
188 new container <- Val[container] |
0 | 189 } |
190 }{ | |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
191 new container <- Val[container] |
0 | 192 out events <- Val[result events] |
193 } | |
194 | |
195 [events]Next[index] | |
196 { | |
197 cont, result events <- Container Event Handler[new container, events, ~] | |
198 }{ | |
199 cont <- Val[new container] | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
200 result events <- List[] |
0 | 201 } |
202 } | |
203 | |
204 Container Postback Helper[container,post data,index,events:out,out events] | |
205 { | |
206 ,current events <- [[[container]Children >>]Index[index]]Postback[post data] | |
207 { | |
208 new container <- [container]Children <<[[[container]Children >>]Set[index, ~]] | |
209 } | |
210 combined events <- Concatenate[events, current events] | |
211 [[new container]Children >>]Next[index] | |
212 { | |
213 out, out events <- Container Postback Helper[new container, post data, ~, combined events] | |
214 }{ | |
215 [combined events]First | |
216 { | |
217 out, newevents <- Container Event Handler[new container, combined events, ~] | |
218 out events <- Concatenate[combined events, newevents] | |
219 }{ | |
220 out <- Val[new container] | |
221 out events <- Val[combined events] | |
222 } | |
223 } | |
224 } | |
225 | |
226 Postback@Web Container[container,post data:out,events] | |
227 { | |
228 [[container]Children >>]First | |
229 { | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
230 out, postback events <- Container Postback Helper[container, post data, ~, List[]] |
0 | 231 If[[container]Propagate Events >>] |
232 { | |
233 events <- Val[postback events] | |
234 }{ | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
235 events <- List[] |
0 | 236 } |
237 }{ | |
238 out <- container | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
239 events <- List[] |
0 | 240 } |
241 } | |
242 | |
243 Add Child[cont,child:out] | |
244 { | |
245 If[[cont]Use Session >>] | |
246 { | |
247 prepped child <- [child]Set Session[[cont]Session >>] | |
248 }{ | |
249 prepped child <- Val[child] | |
250 } | |
251 with child <- [cont]Children <<[ [[cont]Children >>]Append[prepped child] ] | |
252 | |
253 [prepped child]Name | |
254 { | |
255 out <- [with child]Named Children <<[ [[with child]Named Children >>]Set[~, [[[with child]Children >>]Length] - [1]] ] | |
256 }{ | |
257 out <- Val[with child] | |
258 } | |
259 } | |
260 | |
261 Get Child By Name[container,name:out,not found] | |
262 { | |
263 ,not found <- [[container]Named Children >>]Index[name] | |
264 { | |
265 out <- [[container]Children >>]Index[~] | |
266 } | |
267 } | |
268 | |
269 Blueprint Page | |
270 { | |
271 Title | |
272 URL | |
273 CSS | |
274 Children | |
275 Named Children | |
276 Handlers | |
277 Use Session | |
278 Session | |
279 Session ID | |
280 } | |
281 | |
282 Set Handler@Page[container,event name,handler:out] | |
283 { | |
284 out <- [container]Handlers <<[ [[container]Handlers >> ]Set[event name, handler] ] | |
285 } | |
286 | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
287 Page[title,url,use session,queryvars,headers:out] |
0 | 288 { |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
289 page <- [[[[[[[Build[Page()] |
0 | 290 ]Title <<[title] |
291 ]URL <<[url] | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
292 ]CSS <<[[List[]]Append["/default.css"]] |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
293 ]Children <<[List[]] |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
294 ]Named Children <<[Dictionary[]] |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
295 ]Handlers <<[Dictionary[]] |
0 | 296 ]Use Session <<[use session] |
297 If[use session] | |
298 { | |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
299 Load Session[queryvars, headers] |
0 | 300 { |
301 out <- [[page]Session <<[~]]Session ID <<[ [~]Session ID>>] | |
302 } | |
303 }{ | |
304 out <- Val[page] | |
305 } | |
306 } | |
307 | |
308 Get Action@Page[page:out] | |
309 { | |
310 If[[page]Use Session>>] | |
311 { | |
312 [[page]Session >>]Get Link Params | |
313 { | |
314 out <- [[[page]URL >>]Append["?"]]Append[~] | |
315 }{ | |
316 out <- [page]URL >> | |
317 } | |
318 }{ | |
319 out <- [page]URL >> | |
320 } | |
321 } | |
322 | |
323 Render@Page[page:out,headers] | |
324 { | |
325 out <- [[[[[[["<html>\n\t<head>\n\t\t<title>"]Append[[page]Title >>] | |
326 ]Append["</title>\n\t\t<link rel=\"stylesheet\" href=\""] | |
327 ]Append[[[page]CSS >>]Join["\">\n\t\t<link rel=\"stylesheet\" href=\""]] | |
328 ]Append["\">\n\t</head>\n\t<body>\n\t<form method=\"POST\" action=\""] | |
329 ]Append[[[page]Get Action]Append["\">\n"]] | |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
330 ]Append[Fold[Render Child[?], "", [page]Children >>]] |
0 | 331 ]Append["\t</form>\n\t</body>\n</html>"] |
332 If[[page]Use Session>>] | |
333 { | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
334 headers <- [[page]Session >>]Finalize[Dictionary[]] |
0 | 335 }{ |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
336 headers <- Dictionary[] |
0 | 337 } |
338 } | |
339 | |
340 Clear Children[page:out] | |
341 { | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
342 out <- [[page]Children <<[List[]]]Named Children <<[Dictionary[]] |
0 | 343 } |
344 | |
345 Set@Page[page,key,val:out] | |
346 { | |
347 out <- [page]Session <<[ [[page]Session >>]Set[key, val] ] | |
348 } | |
349 | |
350 Index@Page[page,key:out,not found] | |
351 { | |
352 out,not found <- [[page]Session >>]Index[key] | |
353 } | |
354 | |
355 First@Page[page:first,not found] | |
356 { | |
357 first,not found <- [[page]Session >>]First | |
358 } | |
359 | |
360 Next@Page[page,last:next,not found] | |
361 { | |
362 next,not found <- [[page]Session >>]Next[last] | |
363 } | |
364 | |
365 Add CSS@Page[page,css:out] | |
366 { | |
367 out <- [page]CSS <<[ [[page]CSS >>]Append[css] ] | |
368 } | |
369 | |
370 Clear CSS@Page[page:out] | |
371 { | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
372 out <- [page]CSS <<[List[]] |
0 | 373 } |
374 | |
375 Decode Helper Decode[list,destlist,index:out] | |
376 { | |
377 code,rest <- [[list]Index[index]]Slice[2] | |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
378 decoded <- String[[Array[]]Append[Trunc UInt8[Abs UInt[Hex Int32[code]]]]] |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
379 newlist <- [destlist]Set[index, [decoded]Append[rest]] |
0 | 380 [list]Next[index] |
381 { | |
1
b3f71490858c
Small fixes and enhancements from main windows box
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
382 out <- Decode Helper Decode[list, newlist, ~] |
0 | 383 }{ |
384 out <- Val[newlist] | |
385 } | |
386 } | |
387 | |
388 Decode Helper Straight[list,destlist,index:out] | |
389 { | |
390 newlist <- [destlist]Set[index, [list]Index[index]] | |
391 [list]Next[index] | |
392 { | |
393 out <- Decode Helper Decode[list, newlist, ~] | |
394 }{ | |
395 out <- Val[newlist] | |
396 } | |
397 } | |
398 | |
399 URL Decode[val:out] | |
400 { | |
401 parts <- [val]Split["%"] | |
402 [parts]First | |
403 { | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
404 out <- [Decode Helper Straight[parts, List[], ~]]Join[""] |
0 | 405 }{ |
406 out <- val | |
407 } | |
408 } | |
409 | |
410 URL Encode Path[string:out] | |
411 { | |
412 out <- [[[[string]Replace["%","%25"]]Replace[" ","%20"]]Replace["/","%2F"]]Replace["?","%3F"] | |
413 } | |
414 | |
415 Decode Pair[val,key:oval,okey] | |
416 { | |
417 oval <- URL Decode[val] | |
418 okey <- URL Decode[key] | |
419 } | |
420 | |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
421 Process POST[page,con,headers:out,ncon] |
0 | 422 { |
148
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
423 ,ncon <- [con]Read[Int32[[headers]Index["Content-Length"]]] |
0 | 424 { |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
425 post string <- [String[~]]Replace["+"," "] |
0 | 426 } |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
427 post data <- Key Value Map[Dict Split[post string, "=", "&"], Decode Pair[?]] |
0 | 428 out <- [page]Postback[post data] |
429 } | |
430 | |
431 Postback@Page[page,post data:out,events] | |
432 { | |
433 [[page]Children >>]First | |
434 { | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
435 out, events <- Container Postback Helper[page, post data, ~, List[]] |
0 | 436 }{ |
437 out <- page | |
438 } | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
439 events <- List[] |
0 | 440 } |
441 | |
442 Blueprint Web Text | |
443 { | |
444 Text | |
445 Enclosing Tag | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
446 Preformatted |
0 | 447 } |
448 | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
449 Web Text[text,tag:out] |
0 | 450 { |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
451 out <- [[[Build[Web Text()]]Text <<[text]]Enclosing Tag <<[tag]]Preformatted <<[No] |
0 | 452 } |
453 | |
454 Name@Web Text[text:out,none] | |
455 { | |
456 none <- text | |
457 } | |
458 | |
459 Escape HTML Text[string:out] | |
460 { | |
461 out <- [[[string]Replace["&","&"]]Replace["<", "<"]]Replace[">", ">"] | |
462 } | |
463 | |
464 Render@Web Text[text:out,headers] | |
465 { | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
466 escaped <- Escape HTML Text[[text]Text >>] |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
467 If[[text]Preformatted >>] |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
468 { |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
469 processed text <- Val[escaped] |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
470 }{ |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
471 processed text <- [escaped]Replace["\n","<br>\n\t"] |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
472 } |
0 | 473 If[[[[text]Enclosing Tag >>]Length] = [0]] |
474 { | |
475 out <- Val[processed text] | |
476 }{ | |
477 out <- [[[["<"]Append[[text]Enclosing Tag >>]]Append[">"]]Append[processed text]]Append[[["</"]Append[[text]Enclosing Tag >>]]Append[">"]] | |
478 } | |
479 } | |
480 | |
481 Postback@Web Text[text,post data:out,events] | |
482 { | |
483 out <- text | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
484 events <- List[] |
0 | 485 } |
486 | |
487 Set Session@Web Text[text,session:out] | |
488 { | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
489 out <- text |
0 | 490 } |
491 | |
492 Render@String[string:out,headers] | |
493 { | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
494 out <- [Web Text[string,""]]Render |
0 | 495 } |
496 | |
497 Name@String[string:out,none] | |
498 { | |
499 none <- string | |
500 } | |
501 | |
502 Postback@String[in,post data:out,events] | |
503 { | |
504 out <- in | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
505 events <- List[] |
0 | 506 } |
507 | |
508 Set Session@String[in,session:out] | |
509 { | |
510 out <- in | |
511 } | |
512 | |
148
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
513 Render@String Cat[string:out,headers] |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
514 { |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
515 out <- [Web Text[string,""]]Render |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
516 } |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
517 |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
518 Name@String Cat[string:out,none] |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
519 { |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
520 none <- string |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
521 } |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
522 |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
523 Postback@String Cat[in,post data:out,events] |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
524 { |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
525 out <- in |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
526 events <- List[] |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
527 } |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
528 |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
529 Set Session@String Cat[in,session:out] |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
530 { |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
531 out <- in |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
532 } |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
533 |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
534 Render@String Slice[string:out,headers] |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
535 { |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
536 out <- [Web Text[string,""]]Render |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
537 } |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
538 |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
539 Name@String Slice[string:out,none] |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
540 { |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
541 none <- string |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
542 } |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
543 |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
544 Postback@String Slice[in,post data:out,events] |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
545 { |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
546 out <- in |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
547 events <- List[] |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
548 } |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
549 |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
550 Set Session@String Slice[in,session:out] |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
551 { |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
552 out <- in |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
553 } |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
554 |
0 | 555 Blueprint Web Field |
556 { | |
557 Name | |
558 Value | |
559 Type | |
560 Class | |
561 } | |
562 | |
563 Name@Web Field[field:name,none] | |
564 { | |
565 name <- [field]Name >> | |
566 } | |
567 | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
568 Web Field[name,value,type:out] |
0 | 569 { |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
570 out <- [[[[Build[Web Field()]]Name <<[name]]Value <<[value]]Type <<[type]]Class <<[""] |
0 | 571 } |
572 | |
573 Set Session@Web Field[in,session:out] | |
574 { | |
575 out <- in | |
576 } | |
577 | |
578 Render@Web Field[field:out,headers] | |
579 { | |
580 If[[[field]Type >>] = ["multiline"]] | |
581 { | |
582 out <- [[[[[["<textarea name=\""]Append[[field]Name >>]]Append["\""]]Append[Get Class[field]]]Append[">"]]Append[[field]Value >>]]Append["</textarea>"] | |
583 }{ | |
584 out <- [[[[[[[["<input type=\""]Append[[field]Type >>]]Append["\" name=\""]]Append[[field]Name >>]]Append["\""]]Append[Get Class[field]]]Append[" value=\""]]Append[[field]Value >>]]Append["\">"] | |
585 } | |
586 | |
587 } | |
588 | |
589 Postback@Web Field[field,post data:out,event] | |
590 { | |
591 [post data]Index[[field]Name >>] | |
592 { | |
593 out <- [field]Value <<[~] | |
594 | |
595 If[[[field]Value >>] = [~]] | |
596 { | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
597 event <- List[] |
0 | 598 }{ |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
599 event <- [List[]]Append[ Web Event["change", [field]Name >>, [field]Value >>] ] |
0 | 600 } |
601 }{ | |
602 out <- field | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
603 event <- List[] |
0 | 604 } |
605 } | |
606 | |
607 Blueprint Web Button | |
608 { | |
609 Name | |
610 Label | |
611 Class | |
612 } | |
613 | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
614 Web Button[name,label:out] |
0 | 615 { |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
616 out <- [[[Build[Web Button()]]Name <<[name]]Label <<[label]]Class <<[""] |
0 | 617 } |
618 | |
619 Name@Web Button[button:name,none] | |
620 { | |
621 name <- [button]Name >> | |
622 } | |
623 | |
624 Set Session@Web Button[in,session:out] | |
625 { | |
626 out <- in | |
627 } | |
628 | |
629 Postback@Web Button[button,post data:out,events] | |
630 { | |
631 out <- button | |
632 [post data]Index[[button]Name >>] | |
633 { | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
634 events <- [List[]]Append[ Web Event["click", [button]Name >>, 0] ] |
0 | 635 }{ |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
636 events <- List[] |
0 | 637 } |
638 } | |
639 | |
640 Render@Web Button[button:out,headers] | |
641 { | |
642 out <- [[[[[["<input type=\"submit\" name=\""]Append[[button]Name >>]]Append["\""]]Append[Get Class[button]]]Append[" value=\""]]Append[[button]Label >>]]Append["\">"] | |
643 } | |
644 | |
645 Blueprint Session | |
646 { | |
647 Session ID | |
648 IP Address | |
649 Use Cookies | |
650 Data | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
651 Dirty |
0 | 652 } |
653 | |
148
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
654 _Get Counter[:out] uses Session |
0 | 655 { |
148
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
656 out <- Val[Session::ID] |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
657 { Session::ID <- [~]+[1] } |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
658 } |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
659 |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
660 Get Unique ID[:out] |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
661 { |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
662 out <- [[String[_Get Counter[]]]Append["_"]]Append[String[Random[]]] |
0 | 663 } |
664 | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
665 Session[:out] |
0 | 666 { |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
667 out <- [[[[Build[Session()]]Session ID <<[Get Unique ID[]]]Use Cookies <<[No]]Data <<[Dictionary[]]]Dirty <<[No] |
0 | 668 } |
669 | |
148
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
670 _Load Session[queryvars,headers:out,makenew] uses Session |
0 | 671 { |
672 ,checkquery <- [headers]Index["Cookie"] | |
673 { | |
674 parts <- Dict Split[~, "=", "; "] | |
675 ,checkquery <- [parts]Index["session_id"] | |
676 { | |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
677 ,checkquery <- [Session::Sessions]Index[~] |
0 | 678 { |
679 out <- [~]Use Cookies <<[Yes] | |
680 } | |
681 } | |
682 } | |
683 | |
684 | |
685 Val[checkquery] | |
686 { | |
687 ,makenew <- [queryvars]Index["session_id"] | |
688 { | |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
689 out, makenew <- [Session::Sessions]Index[~] |
0 | 690 } |
691 } | |
148
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
692 } |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
693 |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
694 Load Session[queryvars,headers:out] |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
695 { |
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
696 out <- _Load Session[queryvars,headers] {} |
0 | 697 { |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
698 out <- Session[] |
0 | 699 } |
700 } | |
701 | |
702 Get Link Params@Session[session:out,no params] | |
703 { | |
704 If[[session]Use Cookies >>] | |
705 { | |
706 no params <- No | |
707 }{ | |
708 out <- ["session_id="]Append[[session]Session ID >>] | |
709 } | |
710 } | |
711 | |
712 Set@Session[session,key,val:out] | |
713 { | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
714 out <- [[session]Data <<[ [[session]Data >>]Set[key, val] ]]Dirty <<[Yes] |
0 | 715 } |
716 | |
717 Index@Session[session,key:out,not found] | |
718 { | |
719 out,not found <- [[session]Data >>]Index[key] | |
720 } | |
721 | |
722 First@Session[session:first,not found] | |
723 { | |
724 first,not found <- [[session]Data >>]First | |
725 } | |
726 | |
727 Next@Session[session,last:next,not found] | |
728 { | |
729 next,not found <- [[session]Data >>]Next[last] | |
730 } | |
731 | |
732 Init Sessions[:out] uses Session | |
733 { | |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
734 Session::Sessions <- Dictionary[] |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
735 out <- Yes |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
736 } |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
737 |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
738 Globals Session |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
739 { |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
740 ID <- 1 |
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
741 Sessions <- No |
0 | 742 out <- 0 |
743 } | |
744 | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
745 Save@Session[session:out] uses Session |
0 | 746 { |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
747 Session::Sessions <- [Session::Sessions]Set[[session]Session ID >>, session] |
148
f582fd6c75ee
Fixed framework port, works for said.rhope example
Mike Pavone <pavone@retrodev.com>
parents:
147
diff
changeset
|
748 out <- Yes |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
749 } |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
750 |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
751 Finalize@Session[session,headers:out headers] |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
752 { |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
753 If[[session]Dirty >>] |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
754 { |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
755 Save[session] |
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
756 } |
0 | 757 out headers <- [headers]Set["Set-Cookie", ["session_id="]Append[[session]Session ID >>]] |
758 } | |
759 | |
760 Blueprint Web Link | |
761 { | |
762 Text | |
763 Target | |
764 Class | |
765 Query Params | |
766 } | |
767 | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
768 Web Link[text,target:out] |
0 | 769 { |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
770 out <- [[[[Build[Web Link()]]Text <<[text]]Target <<[target]]Class <<[""]]Query Params <<[Dictionary[]] |
0 | 771 } |
772 | |
773 | |
774 With Session@Web Link[text,target,session:out] | |
775 { | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
776 Web Link[text, target] |
0 | 777 { |
778 out <- [~]Query Params <<[[[~]Query Params >>]Set["session_id", [session]Session ID >>]] | |
779 } | |
780 } | |
781 | |
782 Render@Web Link[link:out,headers] | |
783 { | |
784 [[link]Query Params>>]First | |
785 { | |
786 queryvars <- ["?"]Append[Key Value Join[[link]Query Params>>, "=","&"]] | |
787 }{ | |
788 queryvars <- "" | |
789 } | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
790 out <- [[[[[[["<a href=\""]Append[[link]Target>>]]Append[queryvars]]Append["\""] |
0 | 791 ]Append[Get Class[link]]]Append[">"]]Append[Escape HTML Text[[link]Text>>]]]Append["</a>"] |
792 } | |
793 | |
794 Postback@Web Link[in,post data:out,events] | |
795 { | |
796 out <- in | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
797 events <- List[] |
0 | 798 } |
799 | |
800 Name@Web Link[link:name,none] | |
801 { | |
802 none <- link | |
803 } | |
804 | |
805 Set Session@Web Link[link,session:out] | |
806 { | |
807 If[[[[link]Target >>]Slice[7]] = ["http://"]] | |
808 { | |
809 out <- link | |
810 }{ | |
811 If[[session]Use Cookies >>] | |
812 { | |
813 out <- link | |
814 }{ | |
815 out <- [link]Query Params <<[[[link]Query Params >>]Set["session_id", [session]Session ID>>]] | |
816 } | |
817 } | |
818 } | |
819 | |
820 Blueprint Web Table | |
821 { | |
822 Headers | |
823 Data | |
824 } | |
825 | |
47
6202b866d72c
Cleaned up constructor names and merged some other changes in to support the Rhope website
Mike Pavone <pavone@retrodev.com>
parents:
1
diff
changeset
|
826 Web Table[headers,data:out] |
0 | 827 { |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
828 out <- [[Build[Web Table()]]Headers <<[headers]]Data <<[data] |
0 | 829 } |
830 | |
831 Name@Web Table[link:name,none] | |
832 { | |
833 none <- link | |
834 } | |
835 | |
836 Set Session@Web Table[in,session:out] | |
837 { | |
838 out <- in | |
839 } | |
840 | |
841 Postback@Web Table[table,post data:out,events] | |
842 { | |
843 out <- table | |
844 events <- () | |
845 } | |
846 | |
847 Make Header Row[string,header:out] | |
848 { | |
849 out <- [[[string]Append["\t\t\t<th>"]]Append[header]]Append["</th>\n"] | |
850 } | |
851 | |
852 Get Header Row@Web Table[table:out] | |
853 { | |
854 If[[[[table]Headers >>]Length] > [0]] | |
855 { | |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
856 out <- [Fold[Make Header Row[?], "\t\t<tr>\n", [table]Headers >>]]Append["\t\t</tr>\n"] |
0 | 857 }{ |
858 out <- "" | |
859 } | |
860 } | |
861 | |
862 Make Table Cell[string,cell:out] | |
863 { | |
864 out <- [[[string]Append["\t\t\t<td>"]]Append[[cell]Render]]Append["</td>\n"] | |
865 } | |
866 | |
867 Make Table Row[string,row:out] | |
868 { | |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
869 out <- [Fold[Make Table Cell[?], [string]Append["\t\t<tr>\n"], row]]Append["\t\t</tr>"] |
0 | 870 } |
871 | |
872 Render@Web Table[table:out,headers] | |
873 { | |
874 out <- [ | |
875 [ | |
876 ["\t<table>\n"]Append[[table]Get Header Row] | |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
877 ]Append[ Fold[Make Table Row[?], "", [table]Data >>] ] |
0 | 878 ]Append["\t</table>\n"] |
879 } | |
1
b3f71490858c
Small fixes and enhancements from main windows box
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
880 |
b3f71490858c
Small fixes and enhancements from main windows box
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
881 Blueprint Web Image |
b3f71490858c
Small fixes and enhancements from main windows box
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
882 { |
b3f71490858c
Small fixes and enhancements from main windows box
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
883 Source |
b3f71490858c
Small fixes and enhancements from main windows box
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
884 Alt |
b3f71490858c
Small fixes and enhancements from main windows box
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
885 } |
b3f71490858c
Small fixes and enhancements from main windows box
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
886 |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
887 Web Image[source,alt:out] |
1
b3f71490858c
Small fixes and enhancements from main windows box
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
888 { |
147
f3686f60985d
Sort of working port of framework. Transaction bug seems to be getting in the way. Going to work around, but want the old version in the repo so I can test later.
Mike Pavone <pavone@retrodev.com>
parents:
47
diff
changeset
|
889 out <- [[Build[Web Image()]]Source <<[source]]Alt <<[alt] |
1
b3f71490858c
Small fixes and enhancements from main windows box
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
890 } |
b3f71490858c
Small fixes and enhancements from main windows box
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
891 |
b3f71490858c
Small fixes and enhancements from main windows box
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
892 Name@Web Image[image:name,none] |
b3f71490858c
Small fixes and enhancements from main windows box
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
893 { |
b3f71490858c
Small fixes and enhancements from main windows box
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
894 name <- [image]Source >> |
b3f71490858c
Small fixes and enhancements from main windows box
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
895 } |
b3f71490858c
Small fixes and enhancements from main windows box
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
896 |
b3f71490858c
Small fixes and enhancements from main windows box
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
897 Set Session@Web Image[in,session:out] |
b3f71490858c
Small fixes and enhancements from main windows box
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
898 { |
b3f71490858c
Small fixes and enhancements from main windows box
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
899 out <- in |
b3f71490858c
Small fixes and enhancements from main windows box
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
900 } |
b3f71490858c
Small fixes and enhancements from main windows box
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
901 |
b3f71490858c
Small fixes and enhancements from main windows box
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
902 Postback@Web Image[image,post data:out,events] |
b3f71490858c
Small fixes and enhancements from main windows box
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
903 { |
b3f71490858c
Small fixes and enhancements from main windows box
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
904 out <- image |
b3f71490858c
Small fixes and enhancements from main windows box
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
905 events <- () |
b3f71490858c
Small fixes and enhancements from main windows box
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
906 } |
b3f71490858c
Small fixes and enhancements from main windows box
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
907 |
b3f71490858c
Small fixes and enhancements from main windows box
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
908 Render@Web Image[image:out,headers] |
b3f71490858c
Small fixes and enhancements from main windows box
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
909 { |
b3f71490858c
Small fixes and enhancements from main windows box
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
910 out <- [[[["<img src=\""]Append[[image]Source >>]]Append["\" alt=\""]]Append[[image]Alt >>]]Append["\">"] |
b3f71490858c
Small fixes and enhancements from main windows box
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
911 } |