svghmi/gen_index_xhtml.xslt
branchsvghmi
changeset 3026 d454ed480c0f
parent 3025 48e7e336c052
child 3031 440d74319a74
child 3045 f6d428330e04
equal deleted inserted replaced
3025:48e7e336c052 3026:d454ed480c0f
  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 &lt; 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 &lt; 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>