annotate framework.rhope @ 148:f582fd6c75ee

Fixed framework port, works for said.rhope example
author Mike Pavone <pavone@retrodev.com>
date Mon, 22 Nov 2010 01:37:05 -0500
parents f3686f60985d
children 47ab97730865
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
1 Import webserver.rhope
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
27 Framework Handler[con,path,request type,queryvars,headers,handler,title,use session]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
31 If[[request type] = ["POST"]]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
34 }{
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
37 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
38 string,out headers <- [final page]Render
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
41 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
42
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
43 Handler Fixer[handler:out]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
48 }{
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
49 out <- handler
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
50 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
51 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
54 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
60 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
61
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
62 Get Class[container:class]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
63 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
64 If[[[[container]Class >>]Length] > [0]]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
65 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
66 class <- [[" class=\""]Append[[container]Class >>]]Append["\""]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
67 }{
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
68 class <- ""
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
69 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
70 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
71
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
72 Blueprint Web Event
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
73 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
74 Event Name
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
75 Origin
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
76 Data
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
77 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
82 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
83
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
84 Blueprint Web Container
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
85 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
86 Tag Name
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
87 Class
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
88 Propagate Events
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
89 Children
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
90 Handlers
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
91 Named Children
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
92 Session
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
95 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
100 ]Tag Name <<["div"]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
101 ]Class <<[class]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
108 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
109
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
110 Name@Web Container[cont:out,none]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
111 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
112 none <- cont
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
113 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
114
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
115 Render Child[start,container:out]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
116 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
117 out <- [start]Append[[container]Render]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
118 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
141 Set Session@Web Container[container,session:out]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
142 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
143 out <- [
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
144 [
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
145 [container]Use Session <<[Yes]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
148 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
149
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
150 Set Handler@Web Container[container,event name,handler:out]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
151 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
152 out <- [container]Handlers <<[ [[container]Handlers >> ]Set[event name, handler] ]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
153 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
154
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
155 Render@Web Container[container:out,headers]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
165 out <- [[[[[[["<"]Append[ [container]Tag Name >> ]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
172 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
173
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
174 Container Event Handler[container,events,index:cont,out events]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
175 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
176 event <- [events]Index[index]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
177 [[container]Handlers >>]Index[ [event]Event Name >>]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
189 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
192 out events <- Val[result events]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
193 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
194
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
195 [events]Next[index]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
196 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
197 cont, result events <- Container Event Handler[new container, events, ~]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
198 }{
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
201 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
202 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
203
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
204 Container Postback Helper[container,post data,index,events:out,out events]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
205 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
206 ,current events <- [[[container]Children >>]Index[index]]Postback[post data]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
207 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
208 new container <- [container]Children <<[[[container]Children >>]Set[index, ~]]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
209 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
210 combined events <- Concatenate[events, current events]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
211 [[new container]Children >>]Next[index]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
212 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
213 out, out events <- Container Postback Helper[new container, post data, ~, combined events]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
214 }{
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
215 [combined events]First
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
216 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
217 out, newevents <- Container Event Handler[new container, combined events, ~]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
218 out events <- Concatenate[combined events, newevents]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
219 }{
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
220 out <- Val[new container]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
221 out events <- Val[combined events]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
222 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
223 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
224 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
225
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
226 Postback@Web Container[container,post data:out,events]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
227 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
228 [[container]Children >>]First
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
231 If[[container]Propagate Events >>]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
232 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
233 events <- Val[postback events]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
236 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
237 }{
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
240 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
241 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
242
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
243 Add Child[cont,child:out]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
244 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
245 If[[cont]Use Session >>]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
246 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
247 prepped child <- [child]Set Session[[cont]Session >>]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
248 }{
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
249 prepped child <- Val[child]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
250 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
251 with child <- [cont]Children <<[ [[cont]Children >>]Append[prepped child] ]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
252
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
253 [prepped child]Name
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
254 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
255 out <- [with child]Named Children <<[ [[with child]Named Children >>]Set[~, [[[with child]Children >>]Length] - [1]] ]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
256 }{
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
257 out <- Val[with child]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
258 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
259 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
260
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
261 Get Child By Name[container,name:out,not found]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
262 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
263 ,not found <- [[container]Named Children >>]Index[name]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
264 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
265 out <- [[container]Children >>]Index[~]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
266 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
267 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
268
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
269 Blueprint Page
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
270 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
271 Title
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
272 URL
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
273 CSS
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
274 Children
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
275 Named Children
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
276 Handlers
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
277 Use Session
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
278 Session
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
279 Session ID
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
280 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
281
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
282 Set Handler@Page[container,event name,handler:out]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
283 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
284 out <- [container]Handlers <<[ [[container]Handlers >> ]Set[event name, handler] ]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
285 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
290 ]Title <<[title]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
296 ]Use Session <<[use session]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
297 If[use session]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
300 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
301 out <- [[page]Session <<[~]]Session ID <<[ [~]Session ID>>]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
302 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
303 }{
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
304 out <- Val[page]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
305 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
306 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
307
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
308 Get Action@Page[page:out]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
309 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
310 If[[page]Use Session>>]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
311 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
312 [[page]Session >>]Get Link Params
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
313 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
314 out <- [[[page]URL >>]Append["?"]]Append[~]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
315 }{
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
316 out <- [page]URL >>
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
317 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
318 }{
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
319 out <- [page]URL >>
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
320 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
321 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
322
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
323 Render@Page[page:out,headers]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
324 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
325 out <- [[[[[[["<html>\n\t<head>\n\t\t<title>"]Append[[page]Title >>]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
326 ]Append["</title>\n\t\t<link rel=\"stylesheet\" href=\""]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
327 ]Append[[[page]CSS >>]Join["\">\n\t\t<link rel=\"stylesheet\" href=\""]]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
328 ]Append["\">\n\t</head>\n\t<body>\n\t<form method=\"POST\" action=\""]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
331 ]Append["\t</form>\n\t</body>\n</html>"]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
332 If[[page]Use Session>>]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
337 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
338 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
339
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
340 Clear Children[page:out]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
343 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
344
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
345 Set@Page[page,key,val:out]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
346 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
347 out <- [page]Session <<[ [[page]Session >>]Set[key, val] ]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
348 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
349
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
350 Index@Page[page,key:out,not found]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
351 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
352 out,not found <- [[page]Session >>]Index[key]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
353 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
354
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
355 First@Page[page:first,not found]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
356 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
357 first,not found <- [[page]Session >>]First
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
358 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
359
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
360 Next@Page[page,last:next,not found]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
361 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
362 next,not found <- [[page]Session >>]Next[last]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
363 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
364
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
365 Add CSS@Page[page,css:out]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
366 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
367 out <- [page]CSS <<[ [[page]CSS >>]Append[css] ]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
368 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
369
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
370 Clear CSS@Page[page:out]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
373 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
374
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
375 Decode Helper Decode[list,destlist,index:out]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
376 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
380 [list]Next[index]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
383 }{
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
384 out <- Val[newlist]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
385 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
386 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
387
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
388 Decode Helper Straight[list,destlist,index:out]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
389 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
390 newlist <- [destlist]Set[index, [list]Index[index]]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
391 [list]Next[index]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
392 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
393 out <- Decode Helper Decode[list, newlist, ~]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
394 }{
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
395 out <- Val[newlist]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
396 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
397 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
398
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
399 URL Decode[val:out]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
400 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
401 parts <- [val]Split["%"]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
402 [parts]First
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
405 }{
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
406 out <- val
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
407 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
408 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
409
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
410 URL Encode Path[string:out]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
411 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
412 out <- [[[[string]Replace["%","%25"]]Replace[" ","%20"]]Replace["/","%2F"]]Replace["?","%3F"]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
413 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
414
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
415 Decode Pair[val,key:oval,okey]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
416 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
417 oval <- URL Decode[val]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
418 okey <- URL Decode[key]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
419 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
428 out <- [page]Postback[post data]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
429 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
430
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
431 Postback@Page[page,post data:out,events]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
432 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
433 [[page]Children >>]First
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
436 }{
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
437 out <- page
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
440 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
441
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
442 Blueprint Web Text
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
443 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
444 Text
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
447 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
452 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
453
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
454 Name@Web Text[text:out,none]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
455 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
456 none <- text
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
457 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
458
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
459 Escape HTML Text[string:out]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
460 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
461 out <- [[[string]Replace["&","&amp;"]]Replace["<", "&lt;"]]Replace[">", "&gt;"]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
462 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
463
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
464 Render@Web Text[text:out,headers]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
473 If[[[[text]Enclosing Tag >>]Length] = [0]]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
474 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
475 out <- Val[processed text]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
476 }{
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
477 out <- [[[["<"]Append[[text]Enclosing Tag >>]]Append[">"]]Append[processed text]]Append[[["</"]Append[[text]Enclosing Tag >>]]Append[">"]]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
478 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
479 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
480
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
481 Postback@Web Text[text,post data:out,events]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
482 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
485 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
486
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
487 Set Session@Web Text[text,session:out]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
490 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
491
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
492 Render@String[string:out,headers]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
495 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
496
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
497 Name@String[string:out,none]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
498 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
499 none <- string
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
500 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
501
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
502 Postback@String[in,post data:out,events]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
503 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
506 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
507
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
508 Set Session@String[in,session:out]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
509 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
510 out <- in
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
511 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
555 Blueprint Web Field
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
556 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
557 Name
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
558 Value
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
559 Type
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
560 Class
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
561 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
562
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
563 Name@Web Field[field:name,none]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
564 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
565 name <- [field]Name >>
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
566 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
571 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
572
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
573 Set Session@Web Field[in,session:out]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
574 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
575 out <- in
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
576 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
577
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
578 Render@Web Field[field:out,headers]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
579 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
580 If[[[field]Type >>] = ["multiline"]]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
581 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
582 out <- [[[[[["<textarea name=\""]Append[[field]Name >>]]Append["\""]]Append[Get Class[field]]]Append[">"]]Append[[field]Value >>]]Append["</textarea>"]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
583 }{
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
584 out <- [[[[[[[["<input type=\""]Append[[field]Type >>]]Append["\" name=\""]]Append[[field]Name >>]]Append["\""]]Append[Get Class[field]]]Append[" value=\""]]Append[[field]Value >>]]Append["\">"]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
585 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
586
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
587 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
588
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
589 Postback@Web Field[field,post data:out,event]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
590 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
591 [post data]Index[[field]Name >>]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
592 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
593 out <- [field]Value <<[~]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
594
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
595 If[[[field]Value >>] = [~]]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
600 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
601 }{
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
604 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
605 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
606
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
607 Blueprint Web Button
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
608 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
609 Name
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
610 Label
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
611 Class
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
612 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
617 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
618
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
619 Name@Web Button[button:name,none]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
620 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
621 name <- [button]Name >>
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
622 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
623
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
624 Set Session@Web Button[in,session:out]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
625 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
626 out <- in
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
627 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
628
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
629 Postback@Web Button[button,post data:out,events]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
630 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
631 out <- button
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
632 [post data]Index[[button]Name >>]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
637 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
638 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
639
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
640 Render@Web Button[button:out,headers]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
641 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
642 out <- [[[[[["<input type=\"submit\" name=\""]Append[[button]Name >>]]Append["\""]]Append[Get Class[button]]]Append[" value=\""]]Append[[button]Label >>]]Append["\">"]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
643 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
644
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
645 Blueprint Session
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
646 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
647 Session ID
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
648 IP Address
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
649 Use Cookies
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
652 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
663 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
668 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
671 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
672 ,checkquery <- [headers]Index["Cookie"]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
673 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
674 parts <- Dict Split[~, "=", "; "]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
675 ,checkquery <- [parts]Index["session_id"]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
678 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
679 out <- [~]Use Cookies <<[Yes]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
680 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
681 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
682 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
683
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
684
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
685 Val[checkquery]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
686 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
687 ,makenew <- [queryvars]Index["session_id"]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
690 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
699 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
700 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
701
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
702 Get Link Params@Session[session:out,no params]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
703 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
704 If[[session]Use Cookies >>]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
705 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
706 no params <- No
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
707 }{
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
708 out <- ["session_id="]Append[[session]Session ID >>]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
709 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
710 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
711
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
712 Set@Session[session,key,val:out]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
715 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
716
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
717 Index@Session[session,key:out,not found]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
718 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
719 out,not found <- [[session]Data >>]Index[key]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
720 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
721
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
722 First@Session[session:first,not found]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
723 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
724 first,not found <- [[session]Data >>]First
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
725 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
726
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
727 Next@Session[session,last:next,not found]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
728 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
729 next,not found <- [[session]Data >>]Next[last]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
730 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
731
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
732 Init Sessions[:out] uses Session
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
742 out <- 0
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
743 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
757 out headers <- [headers]Set["Set-Cookie", ["session_id="]Append[[session]Session ID >>]]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
758 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
759
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
760 Blueprint Web Link
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
761 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
762 Text
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
763 Target
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
764 Class
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
765 Query Params
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
766 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
771 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
772
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
773
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
774 With Session@Web Link[text,target,session:out]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
777 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
778 out <- [~]Query Params <<[[[~]Query Params >>]Set["session_id", [session]Session ID >>]]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
779 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
780 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
781
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
782 Render@Web Link[link:out,headers]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
783 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
784 [[link]Query Params>>]First
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
785 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
786 queryvars <- ["?"]Append[Key Value Join[[link]Query Params>>, "=","&"]]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
787 }{
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
788 queryvars <- ""
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
791 ]Append[Get Class[link]]]Append[">"]]Append[Escape HTML Text[[link]Text>>]]]Append["</a>"]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
792 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
793
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
794 Postback@Web Link[in,post data:out,events]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
795 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
798 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
799
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
800 Name@Web Link[link:name,none]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
801 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
802 none <- link
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
803 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
804
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
805 Set Session@Web Link[link,session:out]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
806 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
807 If[[[[link]Target >>]Slice[7]] = ["http://"]]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
808 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
809 out <- link
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
810 }{
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
811 If[[session]Use Cookies >>]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
812 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
813 out <- link
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
814 }{
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
815 out <- [link]Query Params <<[[[link]Query Params >>]Set["session_id", [session]Session ID>>]]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
816 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
817 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
818 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
819
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
820 Blueprint Web Table
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
821 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
822 Headers
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
823 Data
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
824 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
829 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
830
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
831 Name@Web Table[link:name,none]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
832 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
833 none <- link
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
834 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
835
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
836 Set Session@Web Table[in,session:out]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
837 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
838 out <- in
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
839 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
840
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
841 Postback@Web Table[table,post data:out,events]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
842 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
843 out <- table
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
844 events <- ()
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
845 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
846
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
847 Make Header Row[string,header:out]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
848 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
849 out <- [[[string]Append["\t\t\t<th>"]]Append[header]]Append["</th>\n"]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
850 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
851
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
852 Get Header Row@Web Table[table:out]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
853 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
854 If[[[[table]Headers >>]Length] > [0]]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
857 }{
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
858 out <- ""
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
859 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
860 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
861
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
862 Make Table Cell[string,cell:out]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
863 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
864 out <- [[[string]Append["\t\t\t<td>"]]Append[[cell]Render]]Append["</td>\n"]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
865 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
866
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
867 Make Table Row[string,row:out]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
870 }
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
871
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
872 Render@Web Table[table:out,headers]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
873 {
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
874 out <- [
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
875 [
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
878 ]Append["\t</table>\n"]
76568becd6d6 Rhope Alpha 2a source import
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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 }