Added support for "clickOnce" script controls
This commit is contained in:
parent
54a7fb5119
commit
d190bc0c9c
7 changed files with 136 additions and 29 deletions
|
|
@ -623,10 +623,10 @@ class Component {
|
|||
*
|
||||
* This is a simple parser that breaks sScript into an array of commands, where each command
|
||||
* is an array of tokens, where tokens are sequences of characters separated by any of: tab, space,
|
||||
* carriage-return (CR), line-feed (LF), semi-colon, single-quote, or double-quote; if a quote is
|
||||
* carriage-return (CR), line-feed (LF), semicolon, single-quote, or double-quote; if a quote is
|
||||
* used, all characters up to the next matching quote become part of the token, allowing any of the
|
||||
* other separators to be part of the token. CR, LF and semi-colon also serve to terminate a command,
|
||||
* with semi-colon being preferred, because it's 1) more visible, and 2) essential when the entire
|
||||
* other separators to be part of the token. CR, LF and semicolon also serve to terminate a command,
|
||||
* with semicolon being preferred, because it's 1) more visible, and 2) essential when the entire
|
||||
* script is a multi-line string where all CR/LF were replaced by spaces (which is what Jekyll does,
|
||||
* and since we can't change Jekyll, it's what our own MarkDown Front Matter parser does as well;
|
||||
* see convertMD() in markout.js, where the aCommandDefs array is built).
|
||||
|
|
@ -783,7 +783,7 @@ class Component {
|
|||
}
|
||||
|
||||
if (!fSuccess) {
|
||||
Component.alertUser("Script error (" + sCommand + ")");
|
||||
Component.alertUser("Script error: " + sCommand + (fnCommand? " failed" : " unrecognized"));
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ function addStickyMachine(idMachine, sPosition)
|
|||
}
|
||||
|
||||
/**
|
||||
* commandMachine(idMachine, sComponent, sCommand, sValue)
|
||||
* commandMachine(control, fSingle, idMachine, sComponent, sCommand, sValue)
|
||||
*
|
||||
* Note that this script is not compiled into any of the machines, since "sticky machines" are feature of the PCjs
|
||||
* website rather than of the machines. And since the machines are compiled, all their code and data is completely
|
||||
|
|
@ -103,14 +103,19 @@ function addStickyMachine(idMachine, sPosition)
|
|||
* component is found, then its 'exports' table is checked for an entry matching the specified command string, and if
|
||||
* an entry is found, then the corresponding function is called with the specified data.
|
||||
*
|
||||
* @param {Object} control
|
||||
* @param {boolean} fSingle
|
||||
* @param {string} idMachine
|
||||
* @param {string} sComponent
|
||||
* @param {string} sCommand
|
||||
* @param {string} [sValue]
|
||||
* @return {boolean}
|
||||
*/
|
||||
function commandMachine(idMachine, sComponent, sCommand, sValue)
|
||||
function commandMachine(control, fSingle, idMachine, sComponent, sCommand, sValue)
|
||||
{
|
||||
if (fSingle) {
|
||||
control.disabled = true;
|
||||
}
|
||||
if (sCommand == "script" && window.processMachineScript) {
|
||||
return window.processMachineScript(idMachine, sComponent, sValue);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue