feat(boards): xpython 文本分类下添加 字节串
This commit is contained in:
@@ -527,6 +527,9 @@
|
|||||||
</block>
|
</block>
|
||||||
<block type="text_textarea">
|
<block type="text_textarea">
|
||||||
</block>
|
</block>
|
||||||
|
<block type="text_bytes">
|
||||||
|
<field name="TEXT">Mixly</field>
|
||||||
|
</block>
|
||||||
<block type="text_join">
|
<block type="text_join">
|
||||||
<value name="A">
|
<value name="A">
|
||||||
<shadow type="text">
|
<shadow type="text">
|
||||||
|
|||||||
@@ -548,6 +548,9 @@
|
|||||||
</block>
|
</block>
|
||||||
<block type="text_textarea">
|
<block type="text_textarea">
|
||||||
</block>
|
</block>
|
||||||
|
<block type="text_bytes">
|
||||||
|
<field name="TEXT">Mixly</field>
|
||||||
|
</block>
|
||||||
<block type="text_join">
|
<block type="text_join">
|
||||||
<value name="A">
|
<value name="A">
|
||||||
<shadow type="text">
|
<shadow type="text">
|
||||||
|
|||||||
@@ -522,6 +522,9 @@
|
|||||||
</block>
|
</block>
|
||||||
<block type="text_textarea">
|
<block type="text_textarea">
|
||||||
</block>
|
</block>
|
||||||
|
<block type="text_bytes">
|
||||||
|
<field name="TEXT">Mixly</field>
|
||||||
|
</block>
|
||||||
<block type="text_join">
|
<block type="text_join">
|
||||||
<value name="A">
|
<value name="A">
|
||||||
<shadow type="text">
|
<shadow type="text">
|
||||||
|
|||||||
@@ -522,6 +522,9 @@
|
|||||||
</block>
|
</block>
|
||||||
<block type="text_textarea">
|
<block type="text_textarea">
|
||||||
</block>
|
</block>
|
||||||
|
<block type="text_bytes">
|
||||||
|
<field name="TEXT">Mixly</field>
|
||||||
|
</block>
|
||||||
<block type="text_join">
|
<block type="text_join">
|
||||||
<value name="A">
|
<value name="A">
|
||||||
<shadow type="text">
|
<shadow type="text">
|
||||||
|
|||||||
@@ -548,6 +548,9 @@
|
|||||||
</block>
|
</block>
|
||||||
<block type="text_textarea">
|
<block type="text_textarea">
|
||||||
</block>
|
</block>
|
||||||
|
<block type="text_bytes">
|
||||||
|
<field name="TEXT">Mixly</field>
|
||||||
|
</block>
|
||||||
<block type="text_join">
|
<block type="text_join">
|
||||||
<value name="A">
|
<value name="A">
|
||||||
<shadow type="text">
|
<shadow type="text">
|
||||||
|
|||||||
@@ -548,6 +548,9 @@
|
|||||||
</block>
|
</block>
|
||||||
<block type="text_textarea">
|
<block type="text_textarea">
|
||||||
</block>
|
</block>
|
||||||
|
<block type="text_bytes">
|
||||||
|
<field name="TEXT">Mixly</field>
|
||||||
|
</block>
|
||||||
<block type="text_join">
|
<block type="text_join">
|
||||||
<value name="A">
|
<value name="A">
|
||||||
<shadow type="text">
|
<shadow type="text">
|
||||||
|
|||||||
@@ -504,6 +504,9 @@
|
|||||||
</block>
|
</block>
|
||||||
<block type="text_textarea">
|
<block type="text_textarea">
|
||||||
</block>
|
</block>
|
||||||
|
<block type="text_bytes">
|
||||||
|
<field name="TEXT">Mixly</field>
|
||||||
|
</block>
|
||||||
<block type="text_join">
|
<block type="text_join">
|
||||||
<value name="A">
|
<value name="A">
|
||||||
<shadow type="text">
|
<shadow type="text">
|
||||||
|
|||||||
@@ -360,6 +360,9 @@
|
|||||||
</block>
|
</block>
|
||||||
<block type="text_textarea">
|
<block type="text_textarea">
|
||||||
</block>
|
</block>
|
||||||
|
<block type="text_bytes">
|
||||||
|
<field name="TEXT">Mixly</field>
|
||||||
|
</block>
|
||||||
<block type="text_join">
|
<block type="text_join">
|
||||||
<value name="A">
|
<value name="A">
|
||||||
<shadow type="text">
|
<shadow type="text">
|
||||||
|
|||||||
@@ -286,6 +286,9 @@
|
|||||||
</block>
|
</block>
|
||||||
<block type="text_textarea">
|
<block type="text_textarea">
|
||||||
</block>
|
</block>
|
||||||
|
<block type="text_bytes">
|
||||||
|
<field name="TEXT">Mixly</field>
|
||||||
|
</block>
|
||||||
<block type="text_join">
|
<block type="text_join">
|
||||||
<value name="A">
|
<value name="A">
|
||||||
<shadow type="text">
|
<shadow type="text">
|
||||||
|
|||||||
@@ -538,6 +538,9 @@
|
|||||||
</block>
|
</block>
|
||||||
<block type="text_textarea">
|
<block type="text_textarea">
|
||||||
</block>
|
</block>
|
||||||
|
<block type="text_bytes">
|
||||||
|
<field name="TEXT">Mixly</field>
|
||||||
|
</block>
|
||||||
<block type="text_join">
|
<block type="text_join">
|
||||||
<value name="A">
|
<value name="A">
|
||||||
<shadow type="text">
|
<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) {
|
Blockly.FieldTextInput.char_validator = function (text) {
|
||||||
if (text.length > 1) {
|
if (text.length > 1) {
|
||||||
if (text.charAt(0) === "\\") {
|
if (text.charAt(0) === "\\") {
|
||||||
|
|||||||
@@ -14,6 +14,11 @@ export const text_textarea = function (_, generator) {
|
|||||||
return [code, generator.ORDER_ATOMIC];
|
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) {
|
export const text_char = function (_, generator) {
|
||||||
var code = '\'' + this.getFieldValue('TEXT') + '\'';
|
var code = '\'' + this.getFieldValue('TEXT') + '\'';
|
||||||
return [code, generator.ORDER_ATOMIC];
|
return [code, generator.ORDER_ATOMIC];
|
||||||
|
|||||||
@@ -473,6 +473,9 @@
|
|||||||
</block>
|
</block>
|
||||||
<block type="text_textarea">
|
<block type="text_textarea">
|
||||||
</block>
|
</block>
|
||||||
|
<block type="text_bytes">
|
||||||
|
<field name="TEXT">Mixly</field>
|
||||||
|
</block>
|
||||||
<block type="text_join">
|
<block type="text_join">
|
||||||
<value name="A">
|
<value name="A">
|
||||||
<shadow type="text">
|
<shadow type="text">
|
||||||
|
|||||||
@@ -473,6 +473,9 @@
|
|||||||
</block>
|
</block>
|
||||||
<block type="text_textarea">
|
<block type="text_textarea">
|
||||||
</block>
|
</block>
|
||||||
|
<block type="text_bytes">
|
||||||
|
<field name="TEXT">Mixly</field>
|
||||||
|
</block>
|
||||||
<block type="text_join">
|
<block type="text_join">
|
||||||
<value name="A">
|
<value name="A">
|
||||||
<shadow type="text">
|
<shadow type="text">
|
||||||
|
|||||||
@@ -398,6 +398,9 @@
|
|||||||
</block>
|
</block>
|
||||||
<block type="text_textarea">
|
<block type="text_textarea">
|
||||||
</block>
|
</block>
|
||||||
|
<block type="text_bytes">
|
||||||
|
<field name="TEXT">Mixly</field>
|
||||||
|
</block>
|
||||||
<block type="text_join">
|
<block type="text_join">
|
||||||
<value name="A">
|
<value name="A">
|
||||||
<shadow type="text">
|
<shadow type="text">
|
||||||
|
|||||||
@@ -356,6 +356,9 @@
|
|||||||
</block>
|
</block>
|
||||||
<block type="text_textarea">
|
<block type="text_textarea">
|
||||||
</block>
|
</block>
|
||||||
|
<block type="text_bytes">
|
||||||
|
<field name="TEXT">Mixly</field>
|
||||||
|
</block>
|
||||||
<block type="text_join">
|
<block type="text_join">
|
||||||
<value name="A">
|
<value name="A">
|
||||||
<shadow type="text">
|
<shadow type="text">
|
||||||
|
|||||||
@@ -356,6 +356,9 @@ type="application/javascript"></script> -->
|
|||||||
</block>
|
</block>
|
||||||
<block type="text_textarea">
|
<block type="text_textarea">
|
||||||
</block>
|
</block>
|
||||||
|
<block type="text_bytes">
|
||||||
|
<field name="TEXT">Mixly</field>
|
||||||
|
</block>
|
||||||
<block type="text_join">
|
<block type="text_join">
|
||||||
<value name="A">
|
<value name="A">
|
||||||
<shadow type="text">
|
<shadow type="text">
|
||||||
|
|||||||
@@ -3978,12 +3978,15 @@ En.MIXLY_MICROPHONE_AMPLIFICATION = 'microphone amplification';
|
|||||||
En.MIXLY_MUSIC_VOLUME_SET = 'set music volume';
|
En.MIXLY_MUSIC_VOLUME_SET = 'set music volume';
|
||||||
En.MIXLY_HOTSPOT= 'hot spot';
|
En.MIXLY_HOTSPOT= 'hot spot';
|
||||||
En.MIXLY_NAME = 'name';
|
En.MIXLY_NAME = 'name';
|
||||||
En.MIXLY_Service_quality_display= "service quality",
|
En.MIXLY_Service_quality_display = "service quality";
|
||||||
En.MIXLY_AT_MOST_ONCE= "At most once",
|
En.MIXLY_AT_MOST_ONCE = "At most once";
|
||||||
En.MIXLY_AT_LEAST_ONCE= "At least once",
|
En.MIXLY_AT_LEAST_ONCE = "At least once";
|
||||||
En.MIXLY_ONLY_ONCE= "Only once",
|
En.MIXLY_ONLY_ONCE = "Only once";
|
||||||
En.MIXLY_ADD= "Append",
|
En.MIXLY_ADD = "Append";
|
||||||
En.MIXLY_R_W= "Readable and Writable, Error if File Does Not Exist",
|
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_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_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_R_W ='可读可写,文件若不存在就报错';
|
||||||
ZhHans.MIXLY_W_R = '可读可写,文件若不存在就创建';
|
ZhHans.MIXLY_W_R = '可读可写,文件若不存在就创建';
|
||||||
ZhHans.MIXLY_A_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_MUSIC_VOLUME_SET = '音量調節';
|
||||||
ZhHant.MIXLY_HOTSPOT= '熱點';
|
ZhHant.MIXLY_HOTSPOT= '熱點';
|
||||||
ZhHant.MIXLY_NAME = '名稱';
|
ZhHant.MIXLY_NAME = '名稱';
|
||||||
ZhHant.MIXLY_Service_quality_display= "服務質量";
|
ZhHant.MIXLY_Service_quality_display = "服務質量";
|
||||||
ZhHant.MIXLY_AT_MOST_ONCE= "至多一次";
|
ZhHant.MIXLY_AT_MOST_ONCE = "至多一次";
|
||||||
ZhHant.MIXLY_AT_LEAST_ONCE= "至少一次";
|
ZhHant.MIXLY_AT_LEAST_ONCE = "至少一次";
|
||||||
ZhHant.MIXLY_ONLY_ONCE= "僅一次";
|
ZhHant.MIXLY_ONLY_ONCE = "僅一次";
|
||||||
ZhHant.MIXLY_ADD= "追加";
|
ZhHant.MIXLY_ADD = "追加";
|
||||||
ZhHant.MIXLY_R_W= "可讀可寫,文件若不存在就報錯";
|
ZhHant.MIXLY_R_W = "可讀可寫,文件若不存在就報錯";
|
||||||
ZhHant.MIXLY_W_R= "可讀可寫,文件若不存在就創建";
|
ZhHant.MIXLY_W_R = "可讀可寫,文件若不存在就創建";
|
||||||
ZhHant.MIXLY_A_R= "可追加可寫,文件若不存在就創建";
|
ZhHant.MIXLY_A_R = "可追加可寫,文件若不存在就創建";
|
||||||
|
ZhHant.MIXLY_TEXT_BYTES = '位元組字串';
|
||||||
|
ZhHant.MIXLY_TEXT_BYTE_ARRAY = '位元組數組';
|
||||||
|
|
||||||
})();
|
})();
|
||||||
|
|||||||
Reference in New Issue
Block a user