diff --git a/LinkIt7697/France/blocks.js b/LinkIt7697/France/blocks.js index 54ffebac40..cd327807d2 100644 --- a/LinkIt7697/France/blocks.js +++ b/LinkIt7697/France/blocks.js @@ -1,3 +1,571 @@ +Blockly.Blocks['audio_create'] = { + init: function() { + this.appendDummyInput() + .appendField(Blockly.Msg.AUDIO) + .appendField(Blockly.Msg.AUDIO_CREATE); + this.appendValueInput("id_") + .setCheck(null) + .setAlign(Blockly.ALIGN_RIGHT) + .appendField(Blockly.Msg.ID); + this.appendValueInput("src_") + .setCheck(null) + .setAlign(Blockly.ALIGN_RIGHT) + .appendField(Blockly.Msg.AUDIO_SRC); + this.appendValueInput("left_") + .setCheck("Number") + .setAlign(Blockly.ALIGN_RIGHT) + .appendField(Blockly.Msg.LEFT); + this.appendValueInput("top_") + .setCheck("Number") + .setAlign(Blockly.ALIGN_RIGHT) + .appendField(Blockly.Msg.TOP); + this.appendValueInput("zindex_") + .setCheck("Number") + .setAlign(Blockly.ALIGN_RIGHT) + .appendField(Blockly.Msg.ZINDEX); + this.setInputsInline(true); + this.setPreviousStatement(true); + this.setNextStatement(true); + this.setColour(Blockly.Msg["HUE_6"]); + } +}; + +Blockly.Blocks['audio_set'] = { + init: function() { + this.appendValueInput("id_") + .setCheck(null) + .appendField(Blockly.Msg.AUDIO) + .appendField(Blockly.Msg.AUDIO_ID); + this.appendDummyInput() + .appendField(Blockly.Msg.AUDIO_SET) + .appendField(new Blockly.FieldDropdown([ + [Blockly.Msg.LEFT,"left"], + [Blockly.Msg.TOP,"top"], + [Blockly.Msg.AUDIO_AUTOPLAY,"autoplay"], + [Blockly.Msg.AUDIO_CONTROLS,"controls"], + [Blockly.Msg.AUDIO_LOOP,"loop"], + [Blockly.Msg.AUDIO_MUTED,"muted"], + [Blockly.Msg.AUDIO_SRC,"src"], + [Blockly.Msg.AUDIO_VOLUME,"volume"], + [Blockly.Msg.AUDIO_CURRENTTIME,"currentTime"], + [Blockly.Msg.PROPERTY_OPACITY,"opacity"], + [Blockly.Msg.PROPERTY_ZINDEX,"zindex"], + [Blockly.Msg.PROPERTY_DISPLAY,"display"], + [Blockly.Msg.PROPERTY_POSITION,"position"], + [Blockly.Msg.PROPERTY_DRAGGABLE,"draggable"], + [Blockly.Msg.PROPERTY_STYLE,"style"], + [Blockly.Msg.PROPERTY_CLASS,"class"] + ]), "property_"); + this.appendValueInput("value_") + .setAlign(Blockly.ALIGN_RIGHT) + .setCheck(null); + this.setInputsInline(true); + this.setPreviousStatement(true); + this.setNextStatement(true); + this.setColour(Blockly.Msg["HUE_6"]); + } +}; + +Blockly.Blocks['audio_get'] = { + init: function () { + this.appendValueInput("id_") + .setCheck(null) + .appendField(Blockly.Msg.AUDIO) + .appendField(Blockly.Msg.AUDIO_ID); + this.appendDummyInput() + .appendField(Blockly.Msg.AUDIO_GET) + .appendField(new Blockly.FieldDropdown([ + [Blockly.Msg.LEFT,"left"], + [Blockly.Msg.TOP,"top"], + [Blockly.Msg.AUDIO_CURRENTSRC,"currentSrc"], + [Blockly.Msg.AUDIO_CURRENTTIME,"currentTime"], + [Blockly.Msg.AUDIO_DURATION,"duration"], + [Blockly.Msg.AUDIO_ENDED,"ended"], + [Blockly.Msg.AUDIO_MUTED,"muted"], + [Blockly.Msg.AUDIO_PAUSED,"paused"], + [Blockly.Msg.AUDIO_PLAYED,"played"], + [Blockly.Msg.AUDIO_SRC,"src"], + [Blockly.Msg.AUDIO_VOLUME,"volume"], + [Blockly.Msg.PROPERTY_ZINDEX,"zindex"], + [Blockly.Msg.PROPERTY_DISPLAY,"display"], + [Blockly.Msg.PROPERTY_POSITION,"position"], + [Blockly.Msg.PROPERTY_DRAGGABLE,"draggable"], + [Blockly.Msg.ELEMENTID,"id"], + [Blockly.Msg.PROPERTY_CLASS,"class"] + ]), "property_"); + this.setInputsInline(true); + this.setOutput(true, null); + this.setColour(Blockly.Msg["HUE_6"]); + } +}; + +Blockly.Blocks['audio_control'] = { + init: function () { + this.appendValueInput("id_") + .setCheck(null) + .appendField(Blockly.Msg.AUDIO) + .appendField(Blockly.Msg.AUDIO_ID); + this.appendDummyInput() + .appendField(Blockly.Msg.AUDIO_CONTROL) + .appendField(new Blockly.FieldDropdown([ + [Blockly.Msg.AUDIO_PLAY,"play"], + [Blockly.Msg.AUDIO_PAUSE,"pause"], + [Blockly.Msg.AUDIO_LOAD,"load"] + ]), "property_"); + this.setInputsInline(true); + this.setPreviousStatement(true); + this.setNextStatement(true); + this.setColour(Blockly.Msg["HUE_6"]); + } +}; + +Blockly.Blocks['audio_play_googleTTS'] = { + init: function () { + this.appendDummyInput() + .appendField(Blockly.Msg.AUDIO_SRC) + this.appendDummyInput() + .setAlign(Blockly.ALIGN_RIGHT) + .appendField(Blockly.Msg.AUDIO_TTS) + .appendField(new Blockly.FieldDropdown([ + ["Abkhaz", "ab"], + ["Acehnese", "ace"], + ["Acholi", "ach"], + ["Afrikaans", "af"], + ["Albanian", "sq"], + ["Alur", "alz"], + ["Amharic", "am"], + ["Arabic", "ar"], + ["Armenian", "hy"], + ["Assamese", "as"], + ["Awadhi", "awa"], + ["Aymara", "ay"], + ["Azerbaijani", "az"], + ["Balinese", "ban"], + ["Bambara", "bm"], + ["Bashkir", "ba"], + ["Basque", "eu"], + ["Batak Karo", "btx"], + ["Batak Simalungun", "bts"], + ["Batak Toba", "bbc"], + ["Belarusian", "be"], + ["Bemba", "bem"], + ["Bengali", "bn"], + ["Betawi", "bew"], + ["Bhojpuri", "bho"], + ["Bikol", "bik"], + ["Bosnian", "bs"], + ["Breton", "br"], + ["Bulgarian", "bg"], + ["Buryat", "bua"], + ["Cantonese", "yue"], + ["Catalan", "ca"], + ["Cebuano", "ceb"], + ["Chichewa (Nyanja)", "ny"], + ["Chinese (Simplified)", "zh-CN"], + ["Chinese (Traditional)", "zh-TW"], + ["Chuvash", "cv"], + ["Corsican", "co"], + ["Crimean Tatar", "crh"], + ["Croatian", "hr"], + ["Czech", "cs"], + ["Danish", "da"], + ["Dinka", "din"], + ["Divehi", "dv"], + ["Dogri", "doi"], + ["Dombe", "dov"], + ["Dutch", "nl"], + ["Dzongkha", "dz"], + ["English", "en"], + ["Esperanto", "eo"], + ["Estonian", "et"], + ["Ewe", "ee"], + ["Fijian", "fj"], + ["Filipino (Tagalog)", "fil"], + ["Finnish", "fi"], + ["French", "fr"], + ["French (French)", "fr-FR"], + ["French (Canadian)", "fr-CA"], + ["Frisian", "fy"], + ["Fulfulde", "ff"], + ["Ga", "gaa"], + ["Galician", "gl"], + ["Ganda (Luganda)", "lg"], + ["Georgian", "ka"], + ["German", "de"], + ["Greek", "el"], + ["Guarani", "gn"], + ["Gujarati", "gu"], + ["Haitian Creole", "ht"], + ["Hakha Chin", "cnh"], + ["Hausa", "ha"], + ["Hawaiian", "haw"], + ["Hebrew", "iw or he"], + ["Hiligaynon", "hil"], + ["Hindi", "hi"], + ["Hmong", "hmn"], + ["Hungarian", "hu"], + ["Hunsrik", "hrx"], + ["Icelandic", "is"], + ["Igbo", "ig"], + ["Iloko", "ilo"], + ["Indonesian", "id"], + ["Irish", "ga"], + ["Italian", "it"], + ["Japanese", "ja"], + ["Javanese", "jw"], + ["Kannada", "kn"], + ["Kapampangan", "pam"], + ["Kazakh", "kk"], + ["Khmer", "km"], + ["Kiga", "cgg"], + ["Kinyarwanda", "rw"], + ["Kituba", "ktu"], + ["Konkani", "gom"], + ["Korean", "ko"], + ["Krio", "kri"], + ["Kurdish (Kurmanji)", "ku"], + ["Kurdish (Sorani)", "ckb"], + ["Kyrgyz", "ky"], + ["Lao", "lo"], + ["Latgalian", "ltg"], + ["Latin", "la"], + ["Latvian", "lv"], + ["Ligurian", "lij"], + ["Limburgan", "li"], + ["Lingala", "ln"], + ["Lithuanian", "lt"], + ["Lombard", "lmo"], + ["Luo", "luo"], + ["Luxembourgish", "lb"], + ["Macedonian", "mk"], + ["Maithili", "mai"], + ["Makassar", "mak"], + ["Malagasy", "mg"], + ["Malay", "ms"], + ["Malay (Jawi)", "ms-Arab"], + ["Malayalam", "ml"], + ["Maltese", "mt"], + ["Maori", "mi"], + ["Marathi", "mr"], + ["Meadow Mari", "chm"], + ["Meiteilon (Manipuri)", "mni-Mtei"], + ["Minang", "min"], + ["Mizo", "lus"], + ["Mongolian", "mn"], + ["Myanmar (Burmese)", "my"], + ["Ndebele (South)", "nr"], + ["Nepalbhasa (Newari)", "new"], + ["Nepali", "ne"], + ["Northern Sotho (Sepedi)", "nso"], + ["Norwegian", "no"], + ["Nuer", "nus"], + ["Occitan", "oc"], + ["Odia (Oriya)", "or"], + ["Oromo", "om"], + ["Pangasinan", "pag"], + ["Papiamento", "pap"], + ["Pashto", "ps"], + ["Persian", "fa"], + ["Polish", "pl"], + ["Portuguese", "pt"], + ["Portuguese (Portugal)", "pt-PT"], + ["Portuguese (Brazil)", "pt-BR"], + ["Punjabi", "pa"], + ["Punjabi (Shahmukhi)", "pa-Arab"], + ["Quechua", "qu"], + ["Romani", "rom"], + ["Romanian", "ro"], + ["Rundi", "rn"], + ["Russian", "ru"], + ["Samoan", "sm"], + ["Sango", "sg"], + ["Sanskrit", "sa"], + ["Scots Gaelic", "gd"], + ["Serbian", "sr"], + ["Sesotho", "st"], + ["Seychellois Creole", "crs"], + ["Shan", "shn"], + ["Shona", "sn"], + ["Sicilian", "scn"], + ["Silesian", "szl"], + ["Sindhi", "sd"], + ["Sinhala (Sinhalese)", "si"], + ["Slovak", "sk"], + ["Slovenian", "sl"], + ["Somali", "so"], + ["Spanish", "es"], + ["Sundanese", "su"], + ["Swahili", "sw"], + ["Swati", "ss"], + ["Swedish", "sv"], + ["Tajik", "tg"], + ["Tamil", "ta"], + ["Tatar", "tt"], + ["Telugu", "te"], + ["Tetum", "tet"], + ["Thai", "th"], + ["Tigrinya", "ti"], + ["Tsonga", "ts"], + ["Tswana", "tn"], + ["Turkish", "tr"], + ["Turkmen", "tk"], + ["Twi (Akan)", "ak"], + ["Ukrainian", "uk"], + ["Urdu", "ur"], + ["Uyghur", "ug"], + ["Uzbek", "uz"], + ["Vietnamese", "vi"], + ["Welsh", "cy"], + ["Xhosa", "xh"], + ["Yiddish", "yi"], + ["Yoruba", "yo"], + ["Yucatec Maya", "yua"], + ["Zulu", "zu"] + ]), "language_"); + this.appendValueInput("text_") + .setAlign(Blockly.ALIGN_RIGHT) + .setCheck(null) + .appendField(Blockly.Msg.AUDIO_TEXT); + this.setInputsInline(false); + this.setOutput(true, null); + this.setColour(Blockly.Msg["HUE_6"]); + } +}; + +Blockly.Blocks['audio_save_googleTTS'] = { + init: function () { + this.appendDummyInput() + .appendField(Blockly.Msg.AUDIO) + this.appendDummyInput() + .setAlign(Blockly.ALIGN_RIGHT) + .appendField(Blockly.Msg.AUDIO_TTS) + .appendField(new Blockly.FieldDropdown([ + ["Abkhaz", "ab"], + ["Acehnese", "ace"], + ["Acholi", "ach"], + ["Afrikaans", "af"], + ["Albanian", "sq"], + ["Alur", "alz"], + ["Amharic", "am"], + ["Arabic", "ar"], + ["Armenian", "hy"], + ["Assamese", "as"], + ["Awadhi", "awa"], + ["Aymara", "ay"], + ["Azerbaijani", "az"], + ["Balinese", "ban"], + ["Bambara", "bm"], + ["Bashkir", "ba"], + ["Basque", "eu"], + ["Batak Karo", "btx"], + ["Batak Simalungun", "bts"], + ["Batak Toba", "bbc"], + ["Belarusian", "be"], + ["Bemba", "bem"], + ["Bengali", "bn"], + ["Betawi", "bew"], + ["Bhojpuri", "bho"], + ["Bikol", "bik"], + ["Bosnian", "bs"], + ["Breton", "br"], + ["Bulgarian", "bg"], + ["Buryat", "bua"], + ["Cantonese", "yue"], + ["Catalan", "ca"], + ["Cebuano", "ceb"], + ["Chichewa (Nyanja)", "ny"], + ["Chinese (Simplified)", "zh-CN"], + ["Chinese (Traditional)", "zh-TW"], + ["Chuvash", "cv"], + ["Corsican", "co"], + ["Crimean Tatar", "crh"], + ["Croatian", "hr"], + ["Czech", "cs"], + ["Danish", "da"], + ["Dinka", "din"], + ["Divehi", "dv"], + ["Dogri", "doi"], + ["Dombe", "dov"], + ["Dutch", "nl"], + ["Dzongkha", "dz"], + ["English", "en"], + ["Esperanto", "eo"], + ["Estonian", "et"], + ["Ewe", "ee"], + ["Fijian", "fj"], + ["Filipino (Tagalog)", "fil"], + ["Finnish", "fi"], + ["French", "fr"], + ["French (French)", "fr-FR"], + ["French (Canadian)", "fr-CA"], + ["Frisian", "fy"], + ["Fulfulde", "ff"], + ["Ga", "gaa"], + ["Galician", "gl"], + ["Ganda (Luganda)", "lg"], + ["Georgian", "ka"], + ["German", "de"], + ["Greek", "el"], + ["Guarani", "gn"], + ["Gujarati", "gu"], + ["Haitian Creole", "ht"], + ["Hakha Chin", "cnh"], + ["Hausa", "ha"], + ["Hawaiian", "haw"], + ["Hebrew", "iw or he"], + ["Hiligaynon", "hil"], + ["Hindi", "hi"], + ["Hmong", "hmn"], + ["Hungarian", "hu"], + ["Hunsrik", "hrx"], + ["Icelandic", "is"], + ["Igbo", "ig"], + ["Iloko", "ilo"], + ["Indonesian", "id"], + ["Irish", "ga"], + ["Italian", "it"], + ["Japanese", "ja"], + ["Javanese", "jw"], + ["Kannada", "kn"], + ["Kapampangan", "pam"], + ["Kazakh", "kk"], + ["Khmer", "km"], + ["Kiga", "cgg"], + ["Kinyarwanda", "rw"], + ["Kituba", "ktu"], + ["Konkani", "gom"], + ["Korean", "ko"], + ["Krio", "kri"], + ["Kurdish (Kurmanji)", "ku"], + ["Kurdish (Sorani)", "ckb"], + ["Kyrgyz", "ky"], + ["Lao", "lo"], + ["Latgalian", "ltg"], + ["Latin", "la"], + ["Latvian", "lv"], + ["Ligurian", "lij"], + ["Limburgan", "li"], + ["Lingala", "ln"], + ["Lithuanian", "lt"], + ["Lombard", "lmo"], + ["Luo", "luo"], + ["Luxembourgish", "lb"], + ["Macedonian", "mk"], + ["Maithili", "mai"], + ["Makassar", "mak"], + ["Malagasy", "mg"], + ["Malay", "ms"], + ["Malay (Jawi)", "ms-Arab"], + ["Malayalam", "ml"], + ["Maltese", "mt"], + ["Maori", "mi"], + ["Marathi", "mr"], + ["Meadow Mari", "chm"], + ["Meiteilon (Manipuri)", "mni-Mtei"], + ["Minang", "min"], + ["Mizo", "lus"], + ["Mongolian", "mn"], + ["Myanmar (Burmese)", "my"], + ["Ndebele (South)", "nr"], + ["Nepalbhasa (Newari)", "new"], + ["Nepali", "ne"], + ["Northern Sotho (Sepedi)", "nso"], + ["Norwegian", "no"], + ["Nuer", "nus"], + ["Occitan", "oc"], + ["Odia (Oriya)", "or"], + ["Oromo", "om"], + ["Pangasinan", "pag"], + ["Papiamento", "pap"], + ["Pashto", "ps"], + ["Persian", "fa"], + ["Polish", "pl"], + ["Portuguese", "pt"], + ["Portuguese (Portugal)", "pt-PT"], + ["Portuguese (Brazil)", "pt-BR"], + ["Punjabi", "pa"], + ["Punjabi (Shahmukhi)", "pa-Arab"], + ["Quechua", "qu"], + ["Romani", "rom"], + ["Romanian", "ro"], + ["Rundi", "rn"], + ["Russian", "ru"], + ["Samoan", "sm"], + ["Sango", "sg"], + ["Sanskrit", "sa"], + ["Scots Gaelic", "gd"], + ["Serbian", "sr"], + ["Sesotho", "st"], + ["Seychellois Creole", "crs"], + ["Shan", "shn"], + ["Shona", "sn"], + ["Sicilian", "scn"], + ["Silesian", "szl"], + ["Sindhi", "sd"], + ["Sinhala (Sinhalese)", "si"], + ["Slovak", "sk"], + ["Slovenian", "sl"], + ["Somali", "so"], + ["Spanish", "es"], + ["Sundanese", "su"], + ["Swahili", "sw"], + ["Swati", "ss"], + ["Swedish", "sv"], + ["Tajik", "tg"], + ["Tamil", "ta"], + ["Tatar", "tt"], + ["Telugu", "te"], + ["Tetum", "tet"], + ["Thai", "th"], + ["Tigrinya", "ti"], + ["Tsonga", "ts"], + ["Tswana", "tn"], + ["Turkish", "tr"], + ["Turkmen", "tk"], + ["Twi (Akan)", "ak"], + ["Ukrainian", "uk"], + ["Urdu", "ur"], + ["Uyghur", "ug"], + ["Uzbek", "uz"], + ["Vietnamese", "vi"], + ["Welsh", "cy"], + ["Xhosa", "xh"], + ["Yiddish", "yi"], + ["Yoruba", "yo"], + ["Yucatec Maya", "yua"], + ["Zulu", "zu"] + ]), "language_"); + this.appendValueInput("text_") + .setAlign(Blockly.ALIGN_RIGHT) + .setCheck(null) + .appendField(Blockly.Msg.AUDIO_TEXT); + this.setInputsInline(false); + this.setPreviousStatement(true); + this.setNextStatement(true); + this.setColour(Blockly.Msg["HUE_6"]); + } +}; + +Blockly.Blocks['audio_delete'] = { + init: function () { + this.appendValueInput("id_") + .setCheck(null) + .appendField(Blockly.Msg.AUDIO) + .appendField(Blockly.Msg.AUDIO_ID); + this.appendDummyInput() + .appendField(Blockly.Msg.AUDIO_DELETE); + this.setInputsInline(true); + this.setPreviousStatement(true); + this.setNextStatement(true); + this.setColour(Blockly.Msg["HUE_6"]); + } +}; + + + + + + Blockly.Blocks['page_googlemap_initial'] = { init: function () { this.appendDummyInput() @@ -23449,7 +24017,9 @@ Blockly.Blocks['element_event'] = { [Blockly.Msg.ELEMENT_TIME,"time"], [Blockly.Msg.ELEMENT_DATETIME,"datetime"], [Blockly.Msg.ELEMENT_PROGRESS,"progress"], - [Blockly.Msg.ELEMENT_PASSWORD,"password"] + [Blockly.Msg.ELEMENT_PASSWORD,"password"], + [Blockly.Msg.ELEMENT_VIDEO,"video"], + [Blockly.Msg.ELEMENT_AUDIO,"audio"] ],this.validate), "element"); this.appendValueInput("id_") .setCheck(null) @@ -23523,7 +24093,7 @@ Blockly.Blocks['element_event'] = { ["resize","resize"], ["reset","reset"], ["scroll","scroll"], - ["seellipseh","seellipseh"], + ["search","search"], ["seeked","seeked"], ["seeking","seeking"], ["select","select"], @@ -23542,7 +24112,14 @@ Blockly.Blocks['element_event'] = { ["unload","unload"], ["volumechange","volumechange"], ["waiting","waiting"], - ["wheel","wheel"] + ["wheel","wheel"], + ["loadstart","loadstart"], + ["durationchange","durationchange"], + ["loadedmetadata","loadedmetadata"], + ["loadeddata","loadeddata"], + ["progress","progress"], + ["canplay","canplay"], + ["canplaythrough","canplaythrough"] ]), "event"); this.appendStatementInput("statement"); this.setInputsInline(true); @@ -23588,7 +24165,9 @@ Blockly.Blocks['element_event_stop'] = { [Blockly.Msg.ELEMENT_TIME,"time"], [Blockly.Msg.ELEMENT_DATETIME,"datetime"], [Blockly.Msg.ELEMENT_PROGRESS,"progress"], - [Blockly.Msg.ELEMENT_PASSWORD,"password"] + [Blockly.Msg.ELEMENT_PASSWORD,"password"], + [Blockly.Msg.ELEMENT_VIDEO,"video"], + [Blockly.Msg.ELEMENT_AUDIO,"audio"] ],this.validate), "element"); this.appendValueInput("id_") .setCheck(null) @@ -23662,7 +24241,7 @@ Blockly.Blocks['element_event_stop'] = { ["resize","resize"], ["reset","reset"], ["scroll","scroll"], - ["seellipseh","seellipseh"], + ["search","search"], ["seeked","seeked"], ["seeking","seeking"], ["select","select"], @@ -23681,7 +24260,14 @@ Blockly.Blocks['element_event_stop'] = { ["unload","unload"], ["volumechange","volumechange"], ["waiting","waiting"], - ["wheel","wheel"] + ["wheel","wheel"], + ["loadstart","loadstart"], + ["durationchange","durationchange"], + ["loadedmetadata","loadedmetadata"], + ["loadeddata","loadeddata"], + ["progress","progress"], + ["canplay","canplay"], + ["canplaythrough","canplaythrough"] ]), "event"); this.setInputsInline(true); this.setPreviousStatement(true); @@ -26493,7 +27079,32 @@ Blockly.Blocks['custom_style'] = { this.appendDummyInput() .appendField(Blockly.Msg.CUSTOM_STYLE_SHOW); this.appendDummyInput() - .appendField(new Blockly.FieldDropdown([[Blockly.Msg.ELEMENT_WINDOW,"window"],[Blockly.Msg.ELEMENT_DOCUMENT,"document"],[Blockly.Msg.ELEMENT_TABLE,"table"],[Blockly.Msg.ELEMENT_IMAGE,"image"],[Blockly.Msg.ELEMENT_CANVAS,"canvas"],[Blockly.Msg.ELEMENT_BUTTON,"button"],[Blockly.Msg.ELEMENT_COLOR,"color"],[Blockly.Msg.ELEMENT_SELECT,"select"],[Blockly.Msg.ELEMENT_RANGE,"range"],[Blockly.Msg.ELEMENT_TEXT,"text"],[Blockly.Msg.ELEMENT_DIV,"div"],[Blockly.Msg.ELEMENT_IFRAME,"iframe"],[Blockly.Msg.ELEMENT_A,"a"],[Blockly.Msg.ELEMENT_RADIO,"radio"],[Blockly.Msg.ELEMENT_CHECKBOX,"checkbox"],[Blockly.Msg.ELEMENT_TEXTAREA,"textarea"],[Blockly.Msg.ELEMENT_NUMBER,"number"],[Blockly.Msg.ELEMENT_DATE,"date"],[Blockly.Msg.ELEMENT_TIME,"time"],[Blockly.Msg.ELEMENT_DATETIME,"datetime"],[Blockly.Msg.ELEMENT_PROGRESS,"progress"],[Blockly.Msg.ELEMENT_PASSWORD,"password"]]), "element"); + .appendField(new Blockly.FieldDropdown([ + [Blockly.Msg.ELEMENT_WINDOW,"window"], + [Blockly.Msg.ELEMENT_DOCUMENT,"document"], + [Blockly.Msg.ELEMENT_TABLE,"table"], + [Blockly.Msg.ELEMENT_IMAGE,"image"], + [Blockly.Msg.ELEMENT_CANVAS,"canvas"], + [Blockly.Msg.ELEMENT_BUTTON,"button"], + [Blockly.Msg.ELEMENT_COLOR,"color"], + [Blockly.Msg.ELEMENT_SELECT,"select"], + [Blockly.Msg.ELEMENT_RANGE,"range"], + [Blockly.Msg.ELEMENT_TEXT,"text"], + [Blockly.Msg.ELEMENT_DIV,"div"], + [Blockly.Msg.ELEMENT_IFRAME,"iframe"], + [Blockly.Msg.ELEMENT_A,"a"], + [Blockly.Msg.ELEMENT_RADIO,"radio"], + [Blockly.Msg.ELEMENT_CHECKBOX,"checkbox"], + [Blockly.Msg.ELEMENT_TEXTAREA,"textarea"], + [Blockly.Msg.ELEMENT_NUMBER,"number"], + [Blockly.Msg.ELEMENT_DATE,"date"], + [Blockly.Msg.ELEMENT_TIME,"time"], + [Blockly.Msg.ELEMENT_DATETIME,"datetime"], + [Blockly.Msg.ELEMENT_PROGRESS,"progress"], + [Blockly.Msg.ELEMENT_PASSWORD,"password"], + [Blockly.Msg.ELEMENT_VIDEO,"video"], + [Blockly.Msg.ELEMENT_AUDIO,"audio"] + ]), "element"); this.appendValueInput("id") .setCheck(null) .setAlign(Blockly.ALIGN_RIGHT) diff --git a/LinkIt7697/France/en.js b/LinkIt7697/France/en.js index fbdebc8bd6..a738007c7f 100644 --- a/LinkIt7697/France/en.js +++ b/LinkIt7697/France/en.js @@ -1579,6 +1579,7 @@ Blockly.Msg.ELEMENT_PROGRESS = "Progress"; Blockly.Msg.ELEMENT_PASSWORD = "Password"; Blockly.Msg.ELEMENT_FORM = "Form"; Blockly.Msg.ELEMENT_VIDEO = "Video"; +Blockly.Msg.ELEMENT_AUDIO = "Audio"; Blockly.Msg.ELEMENT_SPAN = "Span"; Blockly.Msg.PROPERTY_ANY = "ANY"; Blockly.Msg.PROPERTY_UP = "UP"; @@ -1850,6 +1851,33 @@ Blockly.Msg["AES_ENCRYPT"] = "AES ENCRYPT"; Blockly.Msg["AES_DECRYPT"] = "AES DECRYPT"; Blockly.Msg["AES_KEY"] = "AES KEY"; +Blockly.Msg["AUDIO"] = "Audio"; +Blockly.Msg["AUDIO_ID"] = "ID"; +Blockly.Msg["AUDIO_CREATE"] = "Create"; +Blockly.Msg["AUDIO_VALUE"] = "Value"; +Blockly.Msg["AUDIO_SET"] = "Set"; +Blockly.Msg["AUDIO_GET"] = "Get"; +Blockly.Msg["AUDIO_DELETE"] = "Delete"; +Blockly.Msg["AUDIO_SRC"] = "Audio Source"; +Blockly.Msg["AUDIO_AUTOPLAY"] = "Autoplay"; +Blockly.Msg["AUDIO_CONTROLS"] = "Controls"; +Blockly.Msg["AUDIO_CONTROL"] = "Control"; +Blockly.Msg["AUDIO_LOOP"] = "Loop"; +Blockly.Msg["AUDIO_MUTED"] = "Muted"; +Blockly.Msg["AUDIO_VOLUME"] = "Volume"; +Blockly.Msg["AUDIO_CURRENTTIME"] = "Current Time"; +Blockly.Msg["AUDIO_CURRENTSRC"] = "Current Source"; +Blockly.Msg["AUDIO_DURATION"] = ""; +Blockly.Msg["AUDIO_ENDED"] = "Ended"; +Blockly.Msg["AUDIO_PAUSED"] = "Paused"; +Blockly.Msg["AUDIO_PLAYED"] = "Played"; +Blockly.Msg["AUDIO_TTS"] = "Text to Speech"; +Blockly.Msg["AUDIO_TTS_SAVE"] = "Text to MP3"; +Blockly.Msg["AUDIO_TEXT"] = "Text"; +Blockly.Msg["AUDIO_PLAY"] = "Play"; +Blockly.Msg["AUDIO_PAUSE"] = "Pause"; +Blockly.Msg["AUDIO_LOAD"] = "Load"; + Blockly.Msg.ESP32_BUTTON = "button "; Blockly.Msg.ESP32_BUTTON_PIN = "Button Set Pins "; Blockly.Msg.ESP32_BUTTON_PIN_A = "A"; diff --git a/LinkIt7697/France/en_category.xml b/LinkIt7697/France/en_category.xml index 17a31d0ffd..04488a632f 100644 --- a/LinkIt7697/France/en_category.xml +++ b/LinkIt7697/France/en_category.xml @@ -62,6 +62,7 @@ catGameElements_sub26Inline Containers catGameElements_sub27Fetch catGameElements_sub28Json +catGameElements_sub29Audio oledOLED Display EZ+EZ Start Kit+ airqualityTaiwan Air Quality diff --git a/LinkIt7697/France/javascript.js b/LinkIt7697/France/javascript.js index 9cfa3bebd1..2184f082fc 100644 --- a/LinkIt7697/France/javascript.js +++ b/LinkIt7697/France/javascript.js @@ -1,3 +1,61 @@ +Blockly.Arduino['audio_create'] = function (block) { + var value_id_ = Blockly.Arduino.valueToCode(block, 'id_', Blockly.Arduino.ORDER_ATOMIC); + var value_src_ = Blockly.Arduino.valueToCode(block, 'src_', Blockly.Arduino.ORDER_ATOMIC); + var value_left_ = Blockly.Arduino.valueToCode(block, 'left_', Blockly.Arduino.ORDER_ATOMIC); + var value_top_ = Blockly.Arduino.valueToCode(block, 'top_', Blockly.Arduino.ORDER_ATOMIC); + var value_zindex_ = Blockly.Arduino.valueToCode(block, 'zindex_', Blockly.Arduino.ORDER_ATOMIC); + var code = 'audio_create(' + value_id_ + ','+ value_src_ + ','+ value_left_ + ',' + value_top_ + ',' + value_zindex_ + ');\n'; + return code; +}; + +Blockly.Arduino['audio_set'] = function (block) { + var value_id_ = Blockly.Arduino.valueToCode(block, 'id_', Blockly.Arduino.ORDER_ATOMIC); + var value_property_ = block.getFieldValue('property_'); + var value_value_ = Blockly.Arduino.valueToCode(block, 'value_', Blockly.Arduino.ORDER_ATOMIC); + var code = 'audio_set(' + value_id_ + ',"' + value_property_ + '",' + value_value_ + ');\n'; + return code; +}; + +Blockly.Arduino['audio_get'] = function (block) { + var value_id_ = Blockly.Arduino.valueToCode(block, 'id_', Blockly.Arduino.ORDER_ATOMIC); + var value_property_ = block.getFieldValue('property_'); + var code = 'audio_get(' + value_id_ + ',"' + value_property_ + '")'; + return [code, Blockly.Arduino.ORDER_NONE]; +}; + +Blockly.Arduino['audio_control'] = function (block) { + var value_id_ = Blockly.Arduino.valueToCode(block, 'id_', Blockly.Arduino.ORDER_ATOMIC); + var value_property_ = block.getFieldValue('property_'); + var code = 'audio_control(' + value_id_ + ',"' + value_property_ + '");\n'; + return code; +}; + +Blockly.Arduino['audio_play_googleTTS'] = function (block) { + var value_language_ = block.getFieldValue('language_'); + var value_text_ = Blockly.Arduino.valueToCode(block, 'text_', Blockly.Arduino.ORDER_ATOMIC); + var code = 'await audio_play_googleTTS_Base64Data("' + value_language_ + '",' + value_text_ + ')'; + return [code, Blockly.Arduino.ORDER_NONE]; +}; + +Blockly.Arduino['audio_save_googleTTS'] = function (block) { + var value_language_ = block.getFieldValue('language_'); + var value_text_ = Blockly.Arduino.valueToCode(block, 'text_', Blockly.Arduino.ORDER_ATOMIC); + var code = 'await audio_save_googleTTS_Base64Data("' + value_language_ + '",' + value_text_ + ');\n'; + return code; +}; + +Blockly.Arduino['audio_delete'] = function (block) { + var value_id_ = Blockly.Arduino.valueToCode(block, 'id_', Blockly.Arduino.ORDER_ATOMIC); + var code = 'audio_delete(' + value_id_ + ');\n'; + return code; +}; + + + + + + + Blockly.Arduino['page_googlemap_initial'] = function (block) { var key = Blockly.Arduino.valueToCode(block, 'key', Blockly.Arduino.ORDER_ATOMIC)||""; var statement = Blockly.Arduino.statementToCode(block, 'statement'); diff --git a/LinkIt7697/France/toolbox.xml b/LinkIt7697/France/toolbox.xml index 78e441be3a..51d465f1a2 100644 --- a/LinkIt7697/France/toolbox.xml +++ b/LinkIt7697/France/toolbox.xml @@ -8327,6 +8327,87 @@ + + + + + + + + + + + + + + + + 0 + + + + + 100 + + + + + 999 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + en + + + + + + + + en + + + + + + + + + + + + + + + + diff --git a/LinkIt7697/France/zh-hant.js b/LinkIt7697/France/zh-hant.js index bde26fbedc..846a708552 100644 --- a/LinkIt7697/France/zh-hant.js +++ b/LinkIt7697/France/zh-hant.js @@ -1577,6 +1577,7 @@ Blockly.Msg.ELEMENT_PROGRESS = "進度"; Blockly.Msg.ELEMENT_PASSWORD = "密碼欄位"; Blockly.Msg.ELEMENT_FORM = "表單"; Blockly.Msg.ELEMENT_VIDEO = "視訊媒體"; +Blockly.Msg.ELEMENT_AUDIO = "音訊"; Blockly.Msg.ELEMENT_SPAN = "行內容器"; Blockly.Msg.PROPERTY_ANY = "任何方位"; Blockly.Msg.PROPERTY_UP = "上方"; @@ -1849,6 +1850,33 @@ Blockly.Msg["AES_ENCRYPT"] = "AES加密"; Blockly.Msg["AES_DECRYPT"] = "AES解密"; Blockly.Msg["AES_KEY"] = "AES金鑰"; +Blockly.Msg["AUDIO"] = "音訊"; +Blockly.Msg["AUDIO_ID"] = "代碼"; +Blockly.Msg["AUDIO_CREATE"] = "建立"; +Blockly.Msg["AUDIO_VALUE"] = "值"; +Blockly.Msg["AUDIO_SET"] = "設定"; +Blockly.Msg["AUDIO_GET"] = "取得"; +Blockly.Msg["AUDIO_DELETE"] = "刪除"; +Blockly.Msg["AUDIO_SRC"] = "音訊連結"; +Blockly.Msg["AUDIO_AUTOPLAY"] = "自動播放"; +Blockly.Msg["AUDIO_CONTROLS"] = "控制面板"; +Blockly.Msg["AUDIO_CONTROL"] = "控制"; +Blockly.Msg["AUDIO_LOOP"] = "重複播放"; +Blockly.Msg["AUDIO_MUTED"] = "靜音"; +Blockly.Msg["AUDIO_VOLUME"] = "音量"; +Blockly.Msg["AUDIO_CURRENTTIME"] = "目前播放時間"; +Blockly.Msg["AUDIO_CURRENTSRC"] = "目前音訊連結"; +Blockly.Msg["AUDIO_DURATION"] = ""; +Blockly.Msg["AUDIO_ENDED"] = "已播畢"; +Blockly.Msg["AUDIO_PAUSED"] = "已暫停"; +Blockly.Msg["AUDIO_PLAYED"] = "已播放"; +Blockly.Msg["AUDIO_TTS"] = "文字轉語音檔"; +Blockly.Msg["AUDIO_TTS_SAVE"] = "文字轉PM3檔"; +Blockly.Msg["AUDIO_TEXT"] = "文字"; +Blockly.Msg["AUDIO_PLAY"] = "播放"; +Blockly.Msg["AUDIO_PAUSE"] = "暫停"; +Blockly.Msg["AUDIO_LOAD"] = "重新載入"; + Blockly.Msg.ESP32_BUTTON = "按鈕"; Blockly.Msg.ESP32_BUTTON_PIN = "按鈕 腳位"; Blockly.Msg.ESP32_BUTTON_PIN_A = "A"; diff --git a/LinkIt7697/France/zh-hant_category.xml b/LinkIt7697/France/zh-hant_category.xml index fbeee0f85c..6ebee4d5b2 100644 --- a/LinkIt7697/France/zh-hant_category.xml +++ b/LinkIt7697/France/zh-hant_category.xml @@ -62,6 +62,7 @@ catGameElements_sub26行內容器 catGameElements_sub27Fetch catGameElements_sub28Json +catGameElements_sub29音訊 oledOLED顯示器 EZ+EZ Start Kit+ airquality台灣空氣品質