谷歌块更新输入类型
Google Blockly update Input type
我目前正试图在我的一个项目中使用Google Blockly(一个可视化代码编辑器)。下面的例子显示了一个"块",有几个输入。我要做的是,有一个块添加另一个输入到自己基于下拉字段的选择。这可以工作,但输入总是中断到新行。我可以设置内联,但我不喜欢那样。你知道该怎么做吗?
提前感谢,
Chrisstar
代码:Blockly.Blocks['page_settings'] = {
init: function() {
var PROPERTIES =
[["Nothing", "NONE"], ["Show Text Component", "SHOW_TEXT"], ["Show Item", "SHOW_ITEM"]];
this.setColour(65);
this.appendValueInput("TEXT")
.setCheck("String")
.appendField("Text");
this.appendValueInput("FORMAT")
.setCheck("mc_text_format")
.appendField("Format");
var dropdown = new Blockly.FieldDropdown(PROPERTIES, function(option) {
this.sourceBlock_.updateShape_(option);
});
this.appendDummyInput()
.appendField("Hover Event")
.appendField(dropdown, 'HOVER_EVENT_TYPE');
this.setInputsInline(false);
this.setOutput(true, 'Boolean');
this.setTooltip('Blockly.Msg.MATH_IS_TOOLTIP');
},
mutationToDom: function() {
var container = document.createElement('mutation');
var itemInput = this.getFieldValue('HOVER_EVENT_TYPE');
container.setAttribute('hover_type', itemInput);
return container;
},
domToMutation: function(xmlElement) {
var itemInput = xmlElement.getAttribute('hover_type');
this.updateShape_(itemInput);
},
updateShape_: function(input_type) {
// Add or remove a Value Input.
var inputExists = this.getInput('HOVER_INPUT');
if (input_type == 'SHOW_TEXT') {
if (!inputExists) {
this.appendValueInput('HOVER_INPUT')
.setCheck('mc_text_component');
}
}else if(input_type == 'SHOW_ITEM') {
if (!inputExists) {
this.appendValueInput('HOVER_INPUT')
.setCheck('mc_item');
}
}else if(inputExists) {
this.removeInput('HOVER_INPUT');
}
}
};
在Blockly中,您可以将所有输入设置为内联或所有输入后跟一个换行符("external")。不支持只有一些输入是内联的。参见setInputsInline(..)
方法(或JSON块定义中的inlineInputs
)
相关文章:
- 使用模式格式化Number类型输入中的值
- 在 JavaScript 中单击函数时两个日期类型输入之间的差异的代码
- 在codeigneter中按类型输入框显示数据库中的数据
- 已从'上传文件;文件'img字段中未显示类型输入字段
- 如何使用ReactTestUtils设置HTML5文件类型输入
- 检测用户拖动范围类型输入
- 无法在使用 Java 脚本创建的表单中设置提交类型输入
- 按钮类型输入上的点击事件不起作用
- 如何使用javascript更改隐藏类型输入字段的值
- sap.m中的自定义输入类型.输入sap-ui5
- 如何使用jquery动态添加/删除文件类型输入字段
- 提交事件未捕获提交类型输入
- Jquery - info/docs关于适用于表单中不同类型输入元素的属性列表
- 从Mobile Safari'日期/时间类型输入字段触发哪些事件?
- 饼状图II -动态值从范围类型输入
- 我可以在文件类型输入中显示文件大小吗?
- 新的webkit在数字类型输入中将十进制逗号转换为~ dot,反之亦然.该浏览器特性的Javascript名称
- 如何在javascript中验证具有相同名称的多个相同类型输入
- 邮件类型输入:如果邮件错误或正确,动态改变按钮的颜色/文本
- 如何将文件类型输入传递到javascript中,并将其用于另一个php页面