Fossil SCM

Generic JS cleanups: var scoping and missing semicolons.

stephan 2020-12-22 05:58 chatroom-dev
Commit 9ec2861417ef8719ccf4214ad614fe843b6d7d699f63a8ef61e0379a651cfee5
1 file changed +69 -66
+69 -66
--- tools/chat.tcl
+++ tools/chat.tcl
@@ -107,76 +107,79 @@
107107
set submiturl [wapp-param SCRIPT_NAME]/send
108108
set pollurl [wapp-param SCRIPT_NAME]/poll
109109
set downloadurl [wapp-param SCRIPT_NAME]/download
110110
set me [wapp-param FOSSIL_USER]
111111
wapp-trim {
112
-<script nonce="%string($nonce)">(function(){
113
- let x = document.getElementById("sbox");
114
- let form = document.forms[0]
115
- var mxMsg = 0
116
- var _me = "%string($me)"
117
- form.addEventListener('submit',(e)=>{
118
- e.preventDefault();
119
- if( form.msg.value.length>0 || form.file.value.length>0 ){
120
- fetch("%string($submiturl)",{
121
- method: 'POST',
122
- body: new FormData(form)
123
- });
124
- }
125
- form.msg.value = ""
126
- form.file.value = ""
127
- });
128
- function newcontent(jx){
129
- var tab = document.getElementById("dialog");
130
- for(var i=0; i<jx.msgs.length; i++){
131
- var m = jx.msgs[i]
132
- var r = document.createElement("tr")
133
- if( m.msgid>mxMsg ) mxMsg = m.msgid
134
- tab.insertBefore(r, tab.childNodes[0]);
135
- var td = document.createElement("td");
136
- r.appendChild(td);
137
- if( m.xfrom!=_me ){
138
- td.appendChild(document.createTextNode(m.xfrom))
139
- }
140
- td = document.createElement("td");
141
- r.appendChild(td);
142
- var span = document.createElement("span");
143
- td.appendChild(span)
144
- if( m.fsize>0 ){
145
- if( m.fmime && m.fmime.startsWith("image/") ){
146
- var img = document.createElement("img");
147
- img.src = "%string($downloadurl)/" + m.msgid
148
- span.appendChild(img)
149
- }else{
150
- var a = document.createElement("a");
151
- var txt = "(" + m.fname + " " + m.fsize + " bytes)"
152
- a.href = "%string($downloadurl)/" + m.msgid
153
- a.appendChild(document.createTextNode(txt))
154
- span.appendChild(a)
155
- }
156
- var br = document.createElement("br");
157
- br.style.clear = "both";
158
- span.appendChild(br);
159
- }
160
- span.appendChild(document.createTextNode(m.xmsg));
161
- if( m.xfrom!=_me ){
162
- span.classList.add('chat-mx');
163
- }else{
164
- span.classList.add('chat-ms');
165
- }
166
- td = document.createElement("td");
167
- r.appendChild(td);
168
- if( m.xfrom==_me ){
169
- td.appendChild(document.createTextNode('me'))
170
- }
171
- }
172
- setTimeout(poll, 10)
173
- }
174
- async function poll(){
175
- fetch("%string($pollurl)/" + mxMsg)
176
- .then(x => x.json()).then(y => newcontent(y))
177
- }
112
+<script nonce="%string($nonce)">
113
+(function(){
114
+ const form = document.querySelector('#chat-form');
115
+ let mxMsg = 0;
116
+ let _me = "%string($me)";
117
+ form.addEventListener('submit',(e)=>{
118
+ e.preventDefault();
119
+ if( form.msg.value.length>0 || form.file.value.length>0 ){
120
+ fetch("%string($submiturl)",{
121
+ method: 'POST',
122
+ body: new FormData(form)
123
+ });
124
+ }
125
+ form.msg.value = "";
126
+ form.file.value = "";
127
+ form.msg.focus();
128
+ });
129
+ function newcontent(jx){
130
+ var tab = document.getElementById("dialog");
131
+ var i;
132
+ for(i=0; i<jx.msgs.length; ++i){
133
+ let m = jx.msgs[i];
134
+ let r = document.createElement("tr");
135
+ if( m.msgid>mxMsg ) mxMsg = m.msgid;
136
+ tab.insertBefore(r, tab.childNodes[0]);
137
+ let td = document.createElement("td");
138
+ r.appendChild(td);
139
+ if( m.xfrom!=_me ){
140
+ td.appendChild(document.createTextNode(m.xfrom));
141
+ }
142
+ td = document.createElement("td");
143
+ r.appendChild(td);
144
+ let span = document.createElement("span");
145
+ td.appendChild(span);
146
+ if( m.fsize>0 ){
147
+ if( m.fmime && m.fmime.startsWith("image/") ){
148
+ let img = document.createElement("img");
149
+ img.src = "%string($downloadurl)/" + m.msgid;
150
+ span.appendChild(img);
151
+ }else{
152
+ let a = document.createElement("a");
153
+ let txt = "(" + m.fname + " " + m.fsize + " bytes)";
154
+ a.href = "%string($downloadurl)/" + m.msgid;
155
+ a.appendChild(document.createTextNode(txt));
156
+ span.appendChild(a);
157
+ }
158
+ let br = document.createElement("br");
159
+ br.style.clear = "both";
160
+ span.appendChild(br);
161
+ }
162
+ //console.debug("m =",m);
163
+ span.appendChild(document.createTextNode(m.xmsg));
164
+ if( m.xfrom!=_me ){
165
+ span.classList.add('chat-mx');
166
+ }else{
167
+ span.classList.add('chat-ms');
168
+ }
169
+ td = document.createElement("td");
170
+ r.appendChild(td);
171
+ if( m.xfrom==_me ){
172
+ td.appendChild(document.createTextNode('me'))
173
+ }
174
+ }
175
+ setTimeout(poll, 10);
176
+ }
177
+ async function poll(){
178
+ fetch("%string($pollurl)/" + mxMsg)
179
+ .then(x => x.json()).then(y => newcontent(y));
180
+ }
178181
poll();
179182
})();</script>
180183
}
181184
182185
# Make sure the chat database exists
183186
--- tools/chat.tcl
+++ tools/chat.tcl
@@ -107,76 +107,79 @@
107 set submiturl [wapp-param SCRIPT_NAME]/send
108 set pollurl [wapp-param SCRIPT_NAME]/poll
109 set downloadurl [wapp-param SCRIPT_NAME]/download
110 set me [wapp-param FOSSIL_USER]
111 wapp-trim {
112 <script nonce="%string($nonce)">(function(){
113 let x = document.getElementById("sbox");
114 let form = document.forms[0]
115 var mxMsg = 0
116 var _me = "%string($me)"
117 form.addEventListener('submit',(e)=>{
118 e.preventDefault();
119 if( form.msg.value.length>0 || form.file.value.length>0 ){
120 fetch("%string($submiturl)",{
121 method: 'POST',
122 body: new FormData(form)
123 });
124 }
125 form.msg.value = ""
126 form.file.value = ""
127 });
128 function newcontent(jx){
129 var tab = document.getElementById("dialog");
130 for(var i=0; i<jx.msgs.length; i++){
131 var m = jx.msgs[i]
132 var r = document.createElement("tr")
133 if( m.msgid>mxMsg ) mxMsg = m.msgid
134 tab.insertBefore(r, tab.childNodes[0]);
135 var td = document.createElement("td");
136 r.appendChild(td);
137 if( m.xfrom!=_me ){
138 td.appendChild(document.createTextNode(m.xfrom))
139 }
140 td = document.createElement("td");
141 r.appendChild(td);
142 var span = document.createElement("span");
143 td.appendChild(span)
144 if( m.fsize>0 ){
145 if( m.fmime && m.fmime.startsWith("image/") ){
146 var img = document.createElement("img");
147 img.src = "%string($downloadurl)/" + m.msgid
148 span.appendChild(img)
149 }else{
150 var a = document.createElement("a");
151 var txt = "(" + m.fname + " " + m.fsize + " bytes)"
152 a.href = "%string($downloadurl)/" + m.msgid
153 a.appendChild(document.createTextNode(txt))
154 span.appendChild(a)
155 }
156 var br = document.createElement("br");
157 br.style.clear = "both";
158 span.appendChild(br);
159 }
160 span.appendChild(document.createTextNode(m.xmsg));
161 if( m.xfrom!=_me ){
162 span.classList.add('chat-mx');
163 }else{
164 span.classList.add('chat-ms');
165 }
166 td = document.createElement("td");
167 r.appendChild(td);
168 if( m.xfrom==_me ){
169 td.appendChild(document.createTextNode('me'))
170 }
171 }
172 setTimeout(poll, 10)
173 }
174 async function poll(){
175 fetch("%string($pollurl)/" + mxMsg)
176 .then(x => x.json()).then(y => newcontent(y))
177 }
 
 
 
178 poll();
179 })();</script>
180 }
181
182 # Make sure the chat database exists
183
--- tools/chat.tcl
+++ tools/chat.tcl
@@ -107,76 +107,79 @@
107 set submiturl [wapp-param SCRIPT_NAME]/send
108 set pollurl [wapp-param SCRIPT_NAME]/poll
109 set downloadurl [wapp-param SCRIPT_NAME]/download
110 set me [wapp-param FOSSIL_USER]
111 wapp-trim {
112 <script nonce="%string($nonce)">
113 (function(){
114 const form = document.querySelector('#chat-form');
115 let mxMsg = 0;
116 let _me = "%string($me)";
117 form.addEventListener('submit',(e)=>{
118 e.preventDefault();
119 if( form.msg.value.length>0 || form.file.value.length>0 ){
120 fetch("%string($submiturl)",{
121 method: 'POST',
122 body: new FormData(form)
123 });
124 }
125 form.msg.value = "";
126 form.file.value = "";
127 form.msg.focus();
128 });
129 function newcontent(jx){
130 var tab = document.getElementById("dialog");
131 var i;
132 for(i=0; i<jx.msgs.length; ++i){
133 let m = jx.msgs[i];
134 let r = document.createElement("tr");
135 if( m.msgid>mxMsg ) mxMsg = m.msgid;
136 tab.insertBefore(r, tab.childNodes[0]);
137 let td = document.createElement("td");
138 r.appendChild(td);
139 if( m.xfrom!=_me ){
140 td.appendChild(document.createTextNode(m.xfrom));
141 }
142 td = document.createElement("td");
143 r.appendChild(td);
144 let span = document.createElement("span");
145 td.appendChild(span);
146 if( m.fsize>0 ){
147 if( m.fmime && m.fmime.startsWith("image/") ){
148 let img = document.createElement("img");
149 img.src = "%string($downloadurl)/" + m.msgid;
150 span.appendChild(img);
151 }else{
152 let a = document.createElement("a");
153 let txt = "(" + m.fname + " " + m.fsize + " bytes)";
154 a.href = "%string($downloadurl)/" + m.msgid;
155 a.appendChild(document.createTextNode(txt));
156 span.appendChild(a);
157 }
158 let br = document.createElement("br");
159 br.style.clear = "both";
160 span.appendChild(br);
161 }
162 //console.debug("m =",m);
163 span.appendChild(document.createTextNode(m.xmsg));
164 if( m.xfrom!=_me ){
165 span.classList.add('chat-mx');
166 }else{
167 span.classList.add('chat-ms');
168 }
169 td = document.createElement("td");
170 r.appendChild(td);
171 if( m.xfrom==_me ){
172 td.appendChild(document.createTextNode('me'))
173 }
174 }
175 setTimeout(poll, 10);
176 }
177 async function poll(){
178 fetch("%string($pollurl)/" + mxMsg)
179 .then(x => x.json()).then(y => newcontent(y));
180 }
181 poll();
182 })();</script>
183 }
184
185 # Make sure the chat database exists
186

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button