شما می توانید کمک بلوک را در قالب راهنمایی ابزار و یک URL راهنما ارائه دهید.
نکات ابزار
وقتی کاربر ماوس خود را روی بلوک میبرد، راهنمای ابزار کمک فوری ارائه میکند. اگر متن طولانی باشد، به طور خودکار بسته می شود.
JSON
{
// ...,
"tooltip": "Tooltip text."
}
جاوا اسکریپت
init: function() {
this.setTooltip("Tooltip text.");
}
در جاوا اسکریپت API، راهنمای ابزار نیز می تواند به عنوان یک تابع به جای رشته ایستا تعریف شود. این امکان کمک پویا را فراهم می کند. برای مثالی از یک راهنمای ابزار که بسته به اینکه کدام گزینه کشویی انتخاب شده است، به math_arithmetic
مراجعه کنید.
جاوا اسکریپت
Blockly.Blocks['math_arithmetic'] = {
init: function() {
// ...
// Assign 'this' to a variable for use in the tooltip closure below.
var thisBlock = this;
this.setTooltip(function() {
var mode = thisBlock.getFieldValue('OP');
var TOOLTIPS = {
'ADD': Blockly.Msg['MATH_ARITHMETIC_TOOLTIP_ADD'],
'MINUS': Blockly.Msg['MATH_ARITHMETIC_TOOLTIP_MINUS'],
'MULTIPLY': Blockly.Msg['MATH_ARITHMETIC_TOOLTIP_MULTIPLY'],
'DIVIDE': Blockly.Msg['MATH_ARITHMETIC_TOOLTIP_DIVIDE'],
'POWER': Blockly.Msg['MATH_ARITHMETIC_TOOLTIP_POWER']
};
return TOOLTIPS[mode];
});
}
};
با استفاده از جاوا اسکریپت API، بلوک ها می توانند یک تابع را به جای رشته ایستا، که رشته راهنمای ابزار را برمی گرداند، مشخص کنند. این اجازه می دهد تا برای ابزار پویا. برای مثال به math_arithmetic
مراجعه کنید.
سفارشی کردن
همچنین می توانید با ارائه یک تابع رندر سفارشی، ظاهر نکات ابزار خود را سفارشی کنید. تابعی ایجاد کنید که دو پارامتر را بپذیرد:
- ابتدا یک عنصر
<div>
که در آن محتوا را رندر خواهید کرد - دوم، عنصر واقعی که ماوس روی آن قرار می گیرد و راهنمای ابزار آن را نشان خواهید داد
در بدنه تابع، می توانید هر محتوایی را که دوست دارید در div رندر کنید. برای دریافت رشته راهنمای تعریف شده روی بلوکی که ماوس روی آن قرار می گیرد، می توانید Blockly.Tooltip.getTooltipOfObject(element);
که در آن element
پارامتر دوم بالا است.
در نهایت، این تابع را ثبت کنید تا Blockly بتواند در زمان مناسب آن را فراخوانی کند:
Blockly.Tooltip.setCustomTooltip(yourFnHere);
برای مثال، به نسخه نمایشی Custom Tooltps مراجعه کنید.
URL راهنما
بلوک ها می توانند یک صفحه راهنما مرتبط با آنها داشته باشند. این با کلیک راست روی بلوک و انتخاب "Help" از منوی زمینه در دسترس کاربران است. اگر این مقدار null
باشد، آیتم "Help" نشان داده نمی شود.
JSON
{
// ...,
"helpUrl": "https://en.wikipedia.org/wiki/For_loop"
}
جاوا اسکریپت
init: function() {
// ...
this.setHelpUrl('https://en.wikipedia.org/wiki/For_loop');
}
با استفاده از API جاوا اسکریپت، بلوکها میتوانند یک تابع را به جای یک رشته ثابت، که یک رشته URL را برمیگرداند، مشخص کنند، بنابراین کمک پویا را ممکن میسازد.