1139 </xsl:text> |
1139 </xsl:text> |
1140 <xsl:text> |
1140 <xsl:text> |
1141 </xsl:text> |
1141 </xsl:text> |
1142 <xsl:text> apply_cache() { |
1142 <xsl:text> apply_cache() { |
1143 </xsl:text> |
1143 </xsl:text> |
|
1144 <xsl:text> if(!this.unsubscribable) for(let index in this.indexes){ |
|
1145 </xsl:text> |
|
1146 <xsl:text> /* dispatch current cache in newly opened page widgets */ |
|
1147 </xsl:text> |
|
1148 <xsl:text> let realindex = this.get_variable_index(index); |
|
1149 </xsl:text> |
|
1150 <xsl:text> let cached_val = cache[realindex]; |
|
1151 </xsl:text> |
|
1152 <xsl:text> if(cached_val != undefined) |
|
1153 </xsl:text> |
|
1154 <xsl:text> this._dispatch(cached_val, cached_val, index); |
|
1155 </xsl:text> |
|
1156 <xsl:text> } |
|
1157 </xsl:text> |
|
1158 <xsl:text> } |
|
1159 </xsl:text> |
|
1160 <xsl:text> |
|
1161 </xsl:text> |
|
1162 <xsl:text> get_variable_index(varnum) { |
|
1163 </xsl:text> |
|
1164 <xsl:text> let index = this.indexes[varnum]; |
|
1165 </xsl:text> |
|
1166 <xsl:text> if(typeof(index) == "string"){ |
|
1167 </xsl:text> |
|
1168 <xsl:text> index = page_local_index(index, this.container_id); |
|
1169 </xsl:text> |
|
1170 <xsl:text> } else { |
|
1171 </xsl:text> |
|
1172 <xsl:text> if(this.relativeness[varnum]){ |
|
1173 </xsl:text> |
|
1174 <xsl:text> index += this.offset; |
|
1175 </xsl:text> |
|
1176 <xsl:text> } |
|
1177 </xsl:text> |
|
1178 <xsl:text> } |
|
1179 </xsl:text> |
|
1180 <xsl:text> return index; |
|
1181 </xsl:text> |
|
1182 <xsl:text> } |
|
1183 </xsl:text> |
|
1184 <xsl:text> change_hmi_value(index,opstr) { |
|
1185 </xsl:text> |
|
1186 <xsl:text> return change_hmi_value(this.get_variable_index(index), opstr); |
|
1187 </xsl:text> |
|
1188 <xsl:text> } |
|
1189 </xsl:text> |
|
1190 <xsl:text> |
|
1191 </xsl:text> |
|
1192 <xsl:text> apply_hmi_value(index, new_val) { |
|
1193 </xsl:text> |
|
1194 <xsl:text> return apply_hmi_value(this.get_variable_index(0), new_val); |
|
1195 </xsl:text> |
|
1196 <xsl:text> } |
|
1197 </xsl:text> |
|
1198 <xsl:text> |
|
1199 </xsl:text> |
|
1200 <xsl:text> new_hmi_value(index, value, oldval) { |
|
1201 </xsl:text> |
|
1202 <xsl:text> // TODO avoid searching, store index at sub() |
|
1203 </xsl:text> |
|
1204 <xsl:text> for(let i = 0; i < this.indexes.length; i++) { |
|
1205 </xsl:text> |
|
1206 <xsl:text> let refindex = this.get_variable_index(i); |
|
1207 </xsl:text> |
|
1208 <xsl:text> |
|
1209 </xsl:text> |
|
1210 <xsl:text> if(index == refindex) { |
|
1211 </xsl:text> |
|
1212 <xsl:text> this._dispatch(value, oldval, i); |
|
1213 </xsl:text> |
|
1214 <xsl:text> break; |
|
1215 </xsl:text> |
|
1216 <xsl:text> } |
|
1217 </xsl:text> |
|
1218 <xsl:text> } |
|
1219 </xsl:text> |
|
1220 <xsl:text> } |
|
1221 </xsl:text> |
|
1222 <xsl:text> |
|
1223 </xsl:text> |
|
1224 <xsl:text> _dispatch(value, oldval, varnum) { |
|
1225 </xsl:text> |
1144 <xsl:text> let dispatch = this.dispatch; |
1226 <xsl:text> let dispatch = this.dispatch; |
1145 </xsl:text> |
1227 </xsl:text> |
1146 <xsl:text> if(dispatch == undefined) return; |
1228 <xsl:text> if(dispatch != undefined){ |
1147 </xsl:text> |
1229 </xsl:text> |
1148 <xsl:text> if(!this.unsubscribable) for(let index in this.indexes){ |
1230 <xsl:text> try { |
1149 </xsl:text> |
1231 </xsl:text> |
1150 <xsl:text> /* dispatch current cache in newly opened page widgets */ |
1232 <xsl:text> dispatch.call(this, value, oldval, varnum); |
1151 </xsl:text> |
1233 </xsl:text> |
1152 <xsl:text> let realindex = this.get_variable_index(index); |
1234 <xsl:text> } catch(err) { |
1153 </xsl:text> |
1235 </xsl:text> |
1154 <xsl:text> let cached_val = cache[realindex]; |
1236 <xsl:text> console.log(err); |
1155 </xsl:text> |
1237 </xsl:text> |
1156 <xsl:text> if(cached_val != undefined) |
1238 <xsl:text> } |
1157 </xsl:text> |
|
1158 <xsl:text> try { |
|
1159 </xsl:text> |
|
1160 <xsl:text> dispatch.call(this, cached_val, cached_val, index); |
|
1161 </xsl:text> |
|
1162 <xsl:text> } catch(err) { |
|
1163 </xsl:text> |
|
1164 <xsl:text> console.log(err); |
|
1165 </xsl:text> |
|
1166 <xsl:text> } |
|
1167 </xsl:text> |
1239 </xsl:text> |
1168 <xsl:text> } |
1240 <xsl:text> } |
1169 </xsl:text> |
1241 </xsl:text> |
1170 <xsl:text> } |
1242 <xsl:text> } |
1171 </xsl:text> |
1243 </xsl:text> |
1172 <xsl:text> |
1244 <xsl:text> |
1173 </xsl:text> |
|
1174 <xsl:text> get_variable_index(varnum) { |
|
1175 </xsl:text> |
|
1176 <xsl:text> let index = this.indexes[varnum]; |
|
1177 </xsl:text> |
|
1178 <xsl:text> if(typeof(index) == "string"){ |
|
1179 </xsl:text> |
|
1180 <xsl:text> index = page_local_index(index, this.container_id); |
|
1181 </xsl:text> |
|
1182 <xsl:text> } else { |
|
1183 </xsl:text> |
|
1184 <xsl:text> if(this.relativeness[varnum]){ |
|
1185 </xsl:text> |
|
1186 <xsl:text> index += this.offset; |
|
1187 </xsl:text> |
|
1188 <xsl:text> } |
|
1189 </xsl:text> |
|
1190 <xsl:text> } |
|
1191 </xsl:text> |
|
1192 <xsl:text> return index; |
|
1193 </xsl:text> |
|
1194 <xsl:text> } |
|
1195 </xsl:text> |
|
1196 <xsl:text> change_hmi_value(index,opstr) { |
|
1197 </xsl:text> |
|
1198 <xsl:text> return change_hmi_value(this.get_variable_index(index), opstr); |
|
1199 </xsl:text> |
|
1200 <xsl:text> } |
|
1201 </xsl:text> |
|
1202 <xsl:text> |
|
1203 </xsl:text> |
|
1204 <xsl:text> apply_hmi_value(index, new_val) { |
|
1205 </xsl:text> |
|
1206 <xsl:text> return apply_hmi_value(this.get_variable_index(0), new_val); |
|
1207 </xsl:text> |
|
1208 <xsl:text> } |
|
1209 </xsl:text> |
|
1210 <xsl:text> |
|
1211 </xsl:text> |
|
1212 <xsl:text> new_hmi_value(index, value, oldval) { |
|
1213 </xsl:text> |
|
1214 <xsl:text> // TODO avoid searching, store index at sub() |
|
1215 </xsl:text> |
|
1216 <xsl:text> let dispatch = this.dispatch; |
|
1217 </xsl:text> |
|
1218 <xsl:text> if(dispatch == undefined) return; |
|
1219 </xsl:text> |
|
1220 <xsl:text> for(let i = 0; i < this.indexes.length; i++) { |
|
1221 </xsl:text> |
|
1222 <xsl:text> let refindex = this.get_variable_index(i); |
|
1223 </xsl:text> |
|
1224 <xsl:text> |
|
1225 </xsl:text> |
|
1226 <xsl:text> if(index == refindex) { |
|
1227 </xsl:text> |
|
1228 <xsl:text> try { |
|
1229 </xsl:text> |
|
1230 <xsl:text> dispatch.call(this, value, oldval, i); |
|
1231 </xsl:text> |
|
1232 <xsl:text> } catch(err) { |
|
1233 </xsl:text> |
|
1234 <xsl:text> console.log(err); |
|
1235 </xsl:text> |
|
1236 <xsl:text> } |
|
1237 </xsl:text> |
|
1238 <xsl:text> break; |
|
1239 </xsl:text> |
|
1240 <xsl:text> } |
|
1241 </xsl:text> |
|
1242 <xsl:text> } |
|
1243 </xsl:text> |
|
1244 <xsl:text> } |
|
1245 </xsl:text> |
|
1246 <xsl:text> |
|
1247 </xsl:text> |
1245 </xsl:text> |
1248 <xsl:text> _animate(){ |
1246 <xsl:text> _animate(){ |
1249 </xsl:text> |
1247 </xsl:text> |
1250 <xsl:text> this.animate(); |
1248 <xsl:text> this.animate(); |
1251 </xsl:text> |
1249 </xsl:text> |