feat(boards): xpython 文本分类下添加 字节串
This commit is contained in:
@@ -527,6 +527,9 @@
|
||||
</block>
|
||||
<block type="text_textarea">
|
||||
</block>
|
||||
<block type="text_bytes">
|
||||
<field name="TEXT">Mixly</field>
|
||||
</block>
|
||||
<block type="text_join">
|
||||
<value name="A">
|
||||
<shadow type="text">
|
||||
|
||||
@@ -548,6 +548,9 @@
|
||||
</block>
|
||||
<block type="text_textarea">
|
||||
</block>
|
||||
<block type="text_bytes">
|
||||
<field name="TEXT">Mixly</field>
|
||||
</block>
|
||||
<block type="text_join">
|
||||
<value name="A">
|
||||
<shadow type="text">
|
||||
|
||||
@@ -522,6 +522,9 @@
|
||||
</block>
|
||||
<block type="text_textarea">
|
||||
</block>
|
||||
<block type="text_bytes">
|
||||
<field name="TEXT">Mixly</field>
|
||||
</block>
|
||||
<block type="text_join">
|
||||
<value name="A">
|
||||
<shadow type="text">
|
||||
|
||||
@@ -522,6 +522,9 @@
|
||||
</block>
|
||||
<block type="text_textarea">
|
||||
</block>
|
||||
<block type="text_bytes">
|
||||
<field name="TEXT">Mixly</field>
|
||||
</block>
|
||||
<block type="text_join">
|
||||
<value name="A">
|
||||
<shadow type="text">
|
||||
|
||||
@@ -548,6 +548,9 @@
|
||||
</block>
|
||||
<block type="text_textarea">
|
||||
</block>
|
||||
<block type="text_bytes">
|
||||
<field name="TEXT">Mixly</field>
|
||||
</block>
|
||||
<block type="text_join">
|
||||
<value name="A">
|
||||
<shadow type="text">
|
||||
|
||||
@@ -548,6 +548,9 @@
|
||||
</block>
|
||||
<block type="text_textarea">
|
||||
</block>
|
||||
<block type="text_bytes">
|
||||
<field name="TEXT">Mixly</field>
|
||||
</block>
|
||||
<block type="text_join">
|
||||
<value name="A">
|
||||
<shadow type="text">
|
||||
|
||||
@@ -504,6 +504,9 @@
|
||||
</block>
|
||||
<block type="text_textarea">
|
||||
</block>
|
||||
<block type="text_bytes">
|
||||
<field name="TEXT">Mixly</field>
|
||||
</block>
|
||||
<block type="text_join">
|
||||
<value name="A">
|
||||
<shadow type="text">
|
||||
|
||||
@@ -360,6 +360,9 @@
|
||||
</block>
|
||||
<block type="text_textarea">
|
||||
</block>
|
||||
<block type="text_bytes">
|
||||
<field name="TEXT">Mixly</field>
|
||||
</block>
|
||||
<block type="text_join">
|
||||
<value name="A">
|
||||
<shadow type="text">
|
||||
|
||||
@@ -286,6 +286,9 @@
|
||||
</block>
|
||||
<block type="text_textarea">
|
||||
</block>
|
||||
<block type="text_bytes">
|
||||
<field name="TEXT">Mixly</field>
|
||||
</block>
|
||||
<block type="text_join">
|
||||
<value name="A">
|
||||
<shadow type="text">
|
||||
|
||||
@@ -538,6 +538,9 @@
|
||||
</block>
|
||||
<block type="text_textarea">
|
||||
</block>
|
||||
<block type="text_bytes">
|
||||
<field name="TEXT">Mixly</field>
|
||||
</block>
|
||||
<block type="text_join">
|
||||
<value name="A">
|
||||
<shadow type="text">
|
||||
|
||||
@@ -65,6 +65,37 @@ export const text_textarea = {
|
||||
}
|
||||
};
|
||||
|
||||
export const text_bytes = {
|
||||
/**
|
||||
* Block for text value.
|
||||
* @this Blockly.Block
|
||||
*/
|
||||
init: function () {
|
||||
this.setColour(TEXTS_HUE);
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_TEXT_BYTES)
|
||||
.appendField(this.newQuote_(true))
|
||||
.appendField(new Blockly.FieldTextInput(''), 'TEXT')
|
||||
.appendField(this.newQuote_(false));
|
||||
this.setOutput(true, String);
|
||||
this.setTooltip(Blockly.Msg.TEXT_TEXT_TOOLTIP);
|
||||
},
|
||||
/**
|
||||
* Create an image of an open or closed quote.
|
||||
* @param {boolean} open True if open quote, false if closed.
|
||||
* @return {!Blockly.FieldImage} The field image of the quote.
|
||||
* @private
|
||||
*/
|
||||
newQuote_: function (open) {
|
||||
if (open == this.RTL) {
|
||||
var file = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==';
|
||||
} else {
|
||||
var file = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC';
|
||||
}
|
||||
return new Blockly.FieldImage(file, 12, 12, '"');
|
||||
}
|
||||
};
|
||||
|
||||
Blockly.FieldTextInput.char_validator = function (text) {
|
||||
if (text.length > 1) {
|
||||
if (text.charAt(0) === "\\") {
|
||||
|
||||
@@ -14,6 +14,11 @@ export const text_textarea = function (_, generator) {
|
||||
return [code, generator.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
export const text_bytes = function (_, generator) {
|
||||
const text = this.getFieldValue('TEXT');
|
||||
return [`b'${text}'`, generator.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
export const text_char = function (_, generator) {
|
||||
var code = '\'' + this.getFieldValue('TEXT') + '\'';
|
||||
return [code, generator.ORDER_ATOMIC];
|
||||
|
||||
@@ -473,6 +473,9 @@
|
||||
</block>
|
||||
<block type="text_textarea">
|
||||
</block>
|
||||
<block type="text_bytes">
|
||||
<field name="TEXT">Mixly</field>
|
||||
</block>
|
||||
<block type="text_join">
|
||||
<value name="A">
|
||||
<shadow type="text">
|
||||
|
||||
@@ -473,6 +473,9 @@
|
||||
</block>
|
||||
<block type="text_textarea">
|
||||
</block>
|
||||
<block type="text_bytes">
|
||||
<field name="TEXT">Mixly</field>
|
||||
</block>
|
||||
<block type="text_join">
|
||||
<value name="A">
|
||||
<shadow type="text">
|
||||
|
||||
@@ -398,6 +398,9 @@
|
||||
</block>
|
||||
<block type="text_textarea">
|
||||
</block>
|
||||
<block type="text_bytes">
|
||||
<field name="TEXT">Mixly</field>
|
||||
</block>
|
||||
<block type="text_join">
|
||||
<value name="A">
|
||||
<shadow type="text">
|
||||
|
||||
@@ -356,6 +356,9 @@
|
||||
</block>
|
||||
<block type="text_textarea">
|
||||
</block>
|
||||
<block type="text_bytes">
|
||||
<field name="TEXT">Mixly</field>
|
||||
</block>
|
||||
<block type="text_join">
|
||||
<value name="A">
|
||||
<shadow type="text">
|
||||
|
||||
@@ -356,6 +356,9 @@ type="application/javascript"></script> -->
|
||||
</block>
|
||||
<block type="text_textarea">
|
||||
</block>
|
||||
<block type="text_bytes">
|
||||
<field name="TEXT">Mixly</field>
|
||||
</block>
|
||||
<block type="text_join">
|
||||
<value name="A">
|
||||
<shadow type="text">
|
||||
|
||||
@@ -3978,12 +3978,15 @@ En.MIXLY_MICROPHONE_AMPLIFICATION = 'microphone amplification';
|
||||
En.MIXLY_MUSIC_VOLUME_SET = 'set music volume';
|
||||
En.MIXLY_HOTSPOT= 'hot spot';
|
||||
En.MIXLY_NAME = 'name';
|
||||
En.MIXLY_Service_quality_display= "service quality",
|
||||
En.MIXLY_AT_MOST_ONCE= "At most once",
|
||||
En.MIXLY_AT_LEAST_ONCE= "At least once",
|
||||
En.MIXLY_ONLY_ONCE= "Only once",
|
||||
En.MIXLY_ADD= "Append",
|
||||
En.MIXLY_R_W= "Readable and Writable, Error if File Does Not Exist",
|
||||
En.MIXLY_W_R= "Readable and Writable, Create if File Does Not Exist",
|
||||
En.MIXLY_A_R= "Appendable and Writable, Create if File Does Not Exist"
|
||||
En.MIXLY_Service_quality_display = "service quality";
|
||||
En.MIXLY_AT_MOST_ONCE = "At most once";
|
||||
En.MIXLY_AT_LEAST_ONCE = "At least once";
|
||||
En.MIXLY_ONLY_ONCE = "Only once";
|
||||
En.MIXLY_ADD = "Append";
|
||||
En.MIXLY_R_W = "Readable and Writable, Error if File Does Not Exist";
|
||||
En.MIXLY_W_R = "Readable and Writable, Create if File Does Not Exist";
|
||||
En.MIXLY_A_R = "Appendable and Writable, Create if File Does Not Exist";
|
||||
En.MIXLY_TEXT_BYTES = 'bytes';
|
||||
En.MIXLY_TEXT_BYTE_ARRAY = 'bytearray';
|
||||
|
||||
})();
|
||||
|
||||
@@ -4145,4 +4145,7 @@ ZhHans.MIXLY_ADD = '追加';
|
||||
ZhHans.MIXLY_R_W ='可读可写,文件若不存在就报错';
|
||||
ZhHans.MIXLY_W_R = '可读可写,文件若不存在就创建';
|
||||
ZhHans.MIXLY_A_R = '可追加可写,文件若不存在就创建';
|
||||
ZhHans.MIXLY_TEXT_BYTES = '字节串';
|
||||
ZhHans.MIXLY_TEXT_BYTE_ARRAY = '字节数组';
|
||||
|
||||
})();
|
||||
@@ -4132,12 +4132,15 @@ ZhHant.MIXLY_MICROPHONE_AMPLIFICATION = '麥克風放大倍數';
|
||||
ZhHant.MIXLY_MUSIC_VOLUME_SET = '音量調節';
|
||||
ZhHant.MIXLY_HOTSPOT= '熱點';
|
||||
ZhHant.MIXLY_NAME = '名稱';
|
||||
ZhHant.MIXLY_Service_quality_display= "服務質量";
|
||||
ZhHant.MIXLY_AT_MOST_ONCE= "至多一次";
|
||||
ZhHant.MIXLY_AT_LEAST_ONCE= "至少一次";
|
||||
ZhHant.MIXLY_ONLY_ONCE= "僅一次";
|
||||
ZhHant.MIXLY_ADD= "追加";
|
||||
ZhHant.MIXLY_R_W= "可讀可寫,文件若不存在就報錯";
|
||||
ZhHant.MIXLY_W_R= "可讀可寫,文件若不存在就創建";
|
||||
ZhHant.MIXLY_A_R= "可追加可寫,文件若不存在就創建";
|
||||
ZhHant.MIXLY_Service_quality_display = "服務質量";
|
||||
ZhHant.MIXLY_AT_MOST_ONCE = "至多一次";
|
||||
ZhHant.MIXLY_AT_LEAST_ONCE = "至少一次";
|
||||
ZhHant.MIXLY_ONLY_ONCE = "僅一次";
|
||||
ZhHant.MIXLY_ADD = "追加";
|
||||
ZhHant.MIXLY_R_W = "可讀可寫,文件若不存在就報錯";
|
||||
ZhHant.MIXLY_W_R = "可讀可寫,文件若不存在就創建";
|
||||
ZhHant.MIXLY_A_R = "可追加可寫,文件若不存在就創建";
|
||||
ZhHant.MIXLY_TEXT_BYTES = '位元組字串';
|
||||
ZhHant.MIXLY_TEXT_BYTE_ARRAY = '位元組數組';
|
||||
|
||||
})();
|
||||
|
||||
Reference in New Issue
Block a user