1263 <xsl:with-param name="mandatory" select="'no'"/> |
1263 <xsl:with-param name="mandatory" select="'no'"/> |
1264 </xsl:call-template> |
1264 </xsl:call-template> |
1265 </xsl:variable> |
1265 </xsl:variable> |
1266 <xsl:value-of select="$value_elt"/> |
1266 <xsl:value-of select="$value_elt"/> |
1267 <xsl:if test="$value_elt"> |
1267 <xsl:if test="$value_elt"> |
1268 <xsl:text>frequency: 5, |
1268 <xsl:text> frequency: 5, |
1269 </xsl:text> |
1269 </xsl:text> |
1270 </xsl:if> |
1270 </xsl:if> |
1271 <xsl:text>dispatch: function(value) { |
1271 <xsl:text> dispatch: function(value) { |
1272 </xsl:text> |
1272 </xsl:text> |
1273 <xsl:if test="$value_elt"> |
1273 <xsl:if test="$value_elt"> |
1274 <xsl:text> this.value_elt.textContent = String(value); |
1274 <xsl:text> this.value_elt.textContent = String(value); |
1275 </xsl:text> |
1275 </xsl:text> |
1276 </xsl:if> |
1276 </xsl:if> |
1277 <xsl:text>}, |
1277 <xsl:text> }, |
1278 </xsl:text> |
1278 </xsl:text> |
1279 <xsl:variable name="edit_elt_id" select="$hmi_element/*[@inkscape:label='edit'][1]/@id"/> |
1279 <xsl:variable name="edit_elt_id" select="$hmi_element/*[@inkscape:label='edit'][1]/@id"/> |
1280 <xsl:text>init: function() { |
1280 <xsl:text> init: function() { |
1281 </xsl:text> |
1281 </xsl:text> |
1282 <xsl:if test="$edit_elt_id"> |
1282 <xsl:if test="$edit_elt_id"> |
1283 <xsl:text> id("</xsl:text> |
1283 <xsl:text> id("</xsl:text> |
1284 <xsl:value-of select="$edit_elt_id"/> |
1284 <xsl:value-of select="$edit_elt_id"/> |
1285 <xsl:text>").addEventListener( |
1285 <xsl:text>").addEventListener( |
1286 </xsl:text> |
1286 </xsl:text> |
1287 <xsl:text> "click", |
1287 <xsl:text> "click", |
1288 </xsl:text> |
1288 </xsl:text> |
1289 <xsl:text> evt => alert('XXX TODO : Edit value')); |
1289 <xsl:text> evt => alert('XXX TODO : Edit value')); |
1290 </xsl:text> |
1290 </xsl:text> |
1291 </xsl:if> |
1291 </xsl:if> |
1292 <xsl:for-each select="$hmi_element/*[regexp:test(@inkscape:label,'^[=+\-].+')]"> |
1292 <xsl:for-each select="$hmi_element/*[regexp:test(@inkscape:label,'^[=+\-].+')]"> |
1293 <xsl:text> id("</xsl:text> |
1293 <xsl:text> id("</xsl:text> |
1294 <xsl:value-of select="@id"/> |
1294 <xsl:value-of select="@id"/> |
1295 <xsl:text>").addEventListener( |
1295 <xsl:text>").addEventListener( |
1296 </xsl:text> |
1296 </xsl:text> |
1297 <xsl:text> "click", |
1297 <xsl:text> "click", |
1298 </xsl:text> |
1298 </xsl:text> |
1299 <xsl:text> evt => {let new_val = change_hmi_value(this.indexes[0], "</xsl:text> |
1299 <xsl:text> evt => {let new_val = change_hmi_value(this.indexes[0], "</xsl:text> |
1300 <xsl:value-of select="func:escape_quotes(@inkscape:label)"/> |
1300 <xsl:value-of select="func:escape_quotes(@inkscape:label)"/> |
1301 <xsl:text>"); |
1301 <xsl:text>"); |
1302 </xsl:text> |
1302 </xsl:text> |
1303 <xsl:text> this.value_elt.textContent = String(new_val);}); |
1303 <xsl:text> this.value_elt.textContent = String(new_val);}); |
1304 </xsl:text> |
1304 </xsl:text> |
1305 </xsl:for-each> |
1305 </xsl:for-each> |
1306 <xsl:text>}, |
1306 <xsl:text> }, |
1307 </xsl:text> |
1307 </xsl:text> |
1308 </xsl:template> |
1308 </xsl:template> |
1309 <xsl:template mode="widget_defs" match="widget[@type='Button']"/> |
1309 <xsl:template mode="widget_defs" match="widget[@type='Button']"/> |
1310 <xsl:template mode="widget_defs" match="widget[@type='Toggle']"> |
1310 <xsl:template mode="widget_defs" match="widget[@type='Toggle']"> |
1311 <xsl:text> frequency: 5, |
1311 <xsl:text> frequency: 5, |
1312 </xsl:text> |
1312 </xsl:text> |
1313 </xsl:template> |
1313 </xsl:template> |
1314 <xsl:template mode="widget_defs" match="widget[@type='Switch']"> |
1314 <xsl:template mode="widget_defs" match="widget[@type='Switch']"> |
1315 <xsl:param name="hmi_element"/> |
1315 <xsl:param name="hmi_element"/> |
1316 <xsl:text>frequency: 5, |
1316 <xsl:text> frequency: 5, |
1317 </xsl:text> |
1317 </xsl:text> |
1318 <xsl:text>dispatch: function(value) { |
1318 <xsl:text> dispatch: function(value) { |
1319 </xsl:text> |
1319 </xsl:text> |
1320 <xsl:text> for(let choice of this.choices){ |
1320 <xsl:text> for(let choice of this.choices){ |
1321 </xsl:text> |
1321 </xsl:text> |
1322 <xsl:text> if(value != choice.value){ |
1322 <xsl:text> if(value != choice.value){ |
1323 </xsl:text> |
1323 </xsl:text> |
1324 <xsl:text> choice.elt.setAttribute("style", "display:none"); |
1324 <xsl:text> choice.elt.setAttribute("style", "display:none"); |
1325 </xsl:text> |
1325 </xsl:text> |
1326 <xsl:text> } else { |
1326 <xsl:text> } else { |
1327 </xsl:text> |
1327 </xsl:text> |
1328 <xsl:text> choice.elt.setAttribute("style", choice.style); |
1328 <xsl:text> choice.elt.setAttribute("style", choice.style); |
|
1329 </xsl:text> |
|
1330 <xsl:text> } |
1329 </xsl:text> |
1331 </xsl:text> |
1330 <xsl:text> } |
1332 <xsl:text> } |
1331 </xsl:text> |
1333 </xsl:text> |
1332 <xsl:text> } |
1334 <xsl:text> }, |
1333 </xsl:text> |
1335 </xsl:text> |
1334 <xsl:text>}, |
1336 <xsl:text> init: function() { |
1335 </xsl:text> |
1337 </xsl:text> |
1336 <xsl:text>init: function() { |
1338 <xsl:text> // Hello Switch |
1337 </xsl:text> |
1339 </xsl:text> |
1338 <xsl:text> // Hello Switch |
1340 <xsl:text> }, |
1339 </xsl:text> |
1341 </xsl:text> |
1340 <xsl:text>}, |
1342 <xsl:text> choices: [ |
1341 </xsl:text> |
|
1342 <xsl:text>choices: [ |
|
1343 </xsl:text> |
1343 </xsl:text> |
1344 <xsl:variable name="regex" select="'^("[^"].*"|\-?[0-9]+)(#.*)?$'"/> |
1344 <xsl:variable name="regex" select="'^("[^"].*"|\-?[0-9]+)(#.*)?$'"/> |
1345 <xsl:for-each select="$hmi_element/*[regexp:test(@inkscape:label,$regex)]"> |
1345 <xsl:for-each select="$hmi_element/*[regexp:test(@inkscape:label,$regex)]"> |
1346 <xsl:variable name="literal" select="regexp:match(@inkscape:label,$regex)[2]"/> |
1346 <xsl:variable name="literal" select="regexp:match(@inkscape:label,$regex)[2]"/> |
1347 <xsl:text> { |
1347 <xsl:text> { |
1348 </xsl:text> |
1348 </xsl:text> |
1349 <xsl:text> elt:id("</xsl:text> |
1349 <xsl:text> elt:id("</xsl:text> |
1350 <xsl:value-of select="@id"/> |
1350 <xsl:value-of select="@id"/> |
1351 <xsl:text>"), |
1351 <xsl:text>"), |
1352 </xsl:text> |
1352 </xsl:text> |
1353 <xsl:text> style:"</xsl:text> |
1353 <xsl:text> style:"</xsl:text> |
1354 <xsl:value-of select="@style"/> |
1354 <xsl:value-of select="@style"/> |
1355 <xsl:text>", |
1355 <xsl:text>", |
1356 </xsl:text> |
1356 </xsl:text> |
1357 <xsl:text> value:</xsl:text> |
1357 <xsl:text> value:</xsl:text> |
1358 <xsl:value-of select="$literal"/> |
1358 <xsl:value-of select="$literal"/> |
1359 <xsl:text> |
1359 <xsl:text> |
1360 </xsl:text> |
1360 </xsl:text> |
1361 <xsl:text> }</xsl:text> |
1361 <xsl:text> }</xsl:text> |
1362 <xsl:if test="position()!=last()"> |
1362 <xsl:if test="position()!=last()"> |
1363 <xsl:text>,</xsl:text> |
1363 <xsl:text>,</xsl:text> |
1364 </xsl:if> |
1364 </xsl:if> |
1365 <xsl:text> |
1365 <xsl:text> |
1366 </xsl:text> |
1366 </xsl:text> |
1367 </xsl:for-each> |
1367 </xsl:for-each> |
1368 <xsl:text>], |
1368 <xsl:text> ], |
1369 </xsl:text> |
1369 </xsl:text> |
1370 </xsl:template> |
1370 </xsl:template> |
1371 <xsl:template mode="widget_defs" match="widget[@type='Jump']"> |
1371 <xsl:template mode="widget_defs" match="widget[@type='Jump']"> |
1372 <xsl:param name="hmi_element"/> |
1372 <xsl:param name="hmi_element"/> |
1373 <xsl:text>on_click: function(evt) { |
1373 <xsl:text> on_click: function(evt) { |
1374 </xsl:text> |
1374 </xsl:text> |
1375 <xsl:text> console.log(evt); |
1375 <xsl:text> console.log(evt); |
1376 </xsl:text> |
1376 </xsl:text> |
1377 <xsl:text> switch_page(this.args[0]); |
1377 <xsl:text> switch_page(this.args[0]); |
1378 </xsl:text> |
1378 </xsl:text> |
1379 <xsl:text>}, |
1379 <xsl:text> }, |
1380 </xsl:text> |
1380 </xsl:text> |
1381 <xsl:text>init: function() { |
1381 <xsl:text> init: function() { |
1382 </xsl:text> |
1382 </xsl:text> |
1383 <xsl:text> this.element.setAttribute("onclick", "hmi_widgets['</xsl:text> |
1383 <xsl:text> this.element.setAttribute("onclick", "hmi_widgets['</xsl:text> |
1384 <xsl:value-of select="$hmi_element/@id"/> |
1384 <xsl:value-of select="$hmi_element/@id"/> |
1385 <xsl:text>'].on_click(evt)"); |
1385 <xsl:text>'].on_click(evt)"); |
1386 </xsl:text> |
1386 </xsl:text> |
1387 <xsl:text>}, |
1387 <xsl:text> }, |
1388 </xsl:text> |
1388 </xsl:text> |
1389 </xsl:template> |
1389 </xsl:template> |
1390 </xsl:stylesheet> |
1390 </xsl:stylesheet> |