تعريف الوحدة الأساسية هو عنصر يحدّد وحدة أساسية مخصّصة. على سبيل المثال، يحدِّد المكوّن مظهر الكتلة وأسلوبها (النص والحقول والوصلات واللون وما إلى ذلك)، وكذلك سلوكها (معالج الأحداث على مستوى الكتلة وما إلى ذلك).
على سبيل المثال، هذا القسم:
يمكن تعريفها في تنسيق JSON أو JavaScript على النحو التالي:
JSON
Blockly.common.defineBlocksWithJsonArray([{
"type": "string_length",
"message0": 'length of %1',
"args0": [
{
"type": "input_value",
"name": "VALUE",
"check": "String"
}
],
"output": "Number",
"colour": 160,
"tooltip": "Returns number of letters in the provided text.",
"helpUrl": "http://www.w3schools.com/jsref/jsref_length_string.asp"
}]);
ينشئ defineBlocksWithJsonArray
تعريفًا للوحدة من عنصر JSON.
JavaScript
Blockly.Blocks['string_length'] = {
init: function() {
this.appendValueInput('VALUE')
.setCheck('String')
.appendField('length of');
this.setOutput(true, 'Number');
this.setColour(160);
this.setTooltip('Returns number of letters in the provided text.');
this.setHelpUrl('http://www.w3schools.com/jsref/jsref_length_string.asp');
}
};
عند استخدام JavaScript، يمكنك إنشاء تعريف للوحدة مباشرةً.
آلية عمل تعريفات الكتل
تعريف العنصر هو مكوّن مركب يحتوي على سمات ذات قيمة دالة. عند إنشاء مثيل لوحدة جديدة، يتم نسخ هذه السمات إلى عنصر الوحدة الذي تم إنشاؤه حديثًا. تستدعي Blockly هذه الدوال لتطبيق السلوك المخصّص.
لأنّ دوالّ التعريفات تكون مدمجة في كائن الكتلة:
- تشير الكلمة الرئيسية
this
في دوال التعريف إلى عنصر الكتلة. وهذا يعني أنّه يمكن استخدامه للوصول إلى الطرق والسمات المتاحة للجميع في فئةBlock
(أوBlockSvg
).
تحدِّد Blockly عددًا صغيرًا من الدوالّ التي يمكنك استخدامها لتخصيص الوحدات. والرمز المميّز الأكثر شيوعًا من هذه الرموز هو init
، الذي تستدعيه Blockly لبدء تشغيل أحد الأجزاء، ويُستخدَم لتحديد مظهر الجزء وأسلوبه. للحصول على قائمة كاملة، اطّلِع على
السمات التي لها قيمة دالة في فئتَي
Block
و
BlockSvg
.
تشكل هذه الخصائص واجهة فعّالة لتطبيق تعريفات الكتل، وهي اختيارية جميعها.
يمكن أن تحتوي تعريفات الكتل أيضًا على دوال مخصّصة، على الرغم من أنّ Blockly لن تطلب
هذه الدوال مباشرةً. بدلاً من ذلك، يمكن استخدامها لتنفيذ دوال أخرى. على سبيل المثال، يمكن لمعالج أحداث على مستوى الكتلة (السمة Block.onchange
) تفويض أحداث مختلفة إلى وظائف مخصّصة مختلفة.
كيفية إنشاء تعريفات الوحدات
هناك عدة طرق مختلفة لإنشاء تعريفات العناصر:
- استخدِم أدوات مطوّري Blockly لتحديد مظهر الوحدات وأسلوبها. انسخ رمز JSON أو JavaScript الذي تم إنشاؤه إلى الرمز البرمجي وأضِف رمزًا مخصّصًا حسب الحاجة. لمزيد من المعلومات، يُرجى الاطّلاع على أدوات المطوّرين في Blockly.
- ابحث عن قالب مشابه وانسخ تعريفه وعدِّله حسب الحاجة. لمزيد من المعلومات، يُرجى الاطّلاع على تعديل التعريفات الحالية.
- اكتب تعريفًا للكتلة يدويًا. لمزيد من المعلومات، يُرجى الاطّلاع على JSON و JavaScript.