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