Un campo di una casella di controllo memorizza una stringa come valore e una stringa come testo. È
è 'TRUE'
o 'FALSE'
e il relativo testo è 'true'
o
'false'
.
Campo della casella di controllo
Campo della casella di controllo sul blocco compresso
Creazione
JSON
{
"type": "example_checkbox",
"message0": "checkbox: %1",
"args0": [
{
"type": "field_checkbox",
"name": "FIELDNAME",
"checked": true
}
]
}
JavaScript
Blockly.Blocks['example_checkbox'] = {
init: function() {
this.appendDummyInput()
.appendField('checkbox:')
.appendField(new Blockly.FieldCheckbox(true), 'FIELDNAME');
}
};
Il costruttore della casella di controllo inserisce un valore facoltativo e un valore facoltativo
strumento di convalida. Il valore facoltativo deve essere
'TRUE'
, 'FALSE'
o un valore booleano, altrimenti il valore predefinito sarà false
.
Serializzazione
JSON
Il codice JSON per il campo di una casella di controllo è simile al seguente:
{
"fields": {
"FIELDNAME": true
}
}
dove FIELDNAME
è una stringa che fa riferimento a un campo di una casella di controllo e
il valore è il valore da applicare al campo. Il valore deve essere un valore booleano.
XML
Il codice XML per il campo di una casella di controllo è simile al seguente:
<field name="FIELDNAME">TRUE</field>
o
<field name="FIELDNAME">true</field>
In cui l'attributo name
contiene una stringa che fa riferimento a un campo di casella di controllo,
e il testo interno è il valore da applicare al campo. Il valore del testo interno
segue le stesse regole del valore del costruttore.
Nota che dopo aver deserializzato e risottoposto a rieseguire, tutto il testo interno
i valori saranno in maiuscolo ('TRUE'
o 'FALSE'
). A volte questo è importante
quando si differenziano le aree di lavoro.
Personalizzazione
Carattere segno di spunta
La proprietà Blockly.FieldCheckbox.CHECK_CHAR
può essere utilizzata per modificare
segno di spunta. Il valore deve essere una stringa contenente un unicode
.
Il valore predefinito della proprietà CHECK_CHAR
è "\u2713" oppure ✓.
Questa è una proprietà globale, quindi modificherà tutti i campi delle caselle di controllo, se impostata.
Creazione di uno strumento di convalida delle caselle di controllo
Il valore di un campo di casella di controllo è 'TRUE'
o 'FALSE'
, quindi uno strumento di convalida dovrebbe
accettare questi valori (una stringa) e restituire 'TRUE'
, 'FALSE'
, null
o
undefined
.
Ecco un esempio di strumento di convalida che nasconde o mostra un campo di immissione di testo basato su se la casella di controllo è selezionata:
validate: function(newValue) {
var sourceBlock = this.getSourceBlock();
sourceBlock.showTextField_ = newValue == 'TRUE';
sourceBlock.updateTextField();
return newValue;
},
updateTextField: function() {
var input = this.getInput('DUMMY');
if (this.showTextField_ && !this.getField('TEXT')) {
input.appendField(new Blockly.FieldTextInput(), 'TEXT');
} else if (!this.showTextField_ && this.getField('TEXT')) {
input.removeField('TEXT');
}
}