فیلدهای تصویر

یک فیلد تصویر یک رشته را به عنوان مقدار خود و یک رشته را به عنوان متن خود ذخیره می کند. مقدار آن src تصویر است، در حالی که متن آن یک رشته alt است که تصویر را توصیف/نمایش می‌دهد.

فیلد تصویر

فیلد تصویر در بلوک جمع شده

ایجاد

JSON

{
  "type": "example_image",
  "message0": "image: %1",
  "args0": [
    {
      "type": "field_image",
      "src": "https://www.gstatic.com/codesite/ph/images/star_on.gif",
      "width": 15,
      "height": 15,
      "alt": "*"
    }
  ]
}

جاوا اسکریپت

Blockly.Blocks['example_image'] = {
  init: function() {
    this.appendDummyInput()
      .appendField("image:")
      .appendField(new Blockly.FieldImage(
        "https://www.gstatic.com/codesite/ph/images/star_on.gif",
        15,
        15,
        "*"));
  }
};

سازنده تصویر زیر را می گیرد:

پارامتر شرح
src رشته ای که به یک فایل تصویر شطرنجی اشاره می کند.
width باید به عدد غیر صفر فرستاده شود.
height باید به عدد غیر صفر فرستاده شود.
opt_alt (اختیاری) رشته ای که به طور دقیق تصویر را توصیف/نمایش می دهد. اگر null یا undefined از یک رشته خالی استفاده می شود.
opt_onClick (اختیاری) تابعی برای فراخوانی هنگام کلیک روی فیلد.
opt_flipRtl (اختیاری) یک بولی. اگر true ، در حالت راست به چپ، تصویر بر روی محور عمودی چرخانده می‌شود. پیش فرض ها به false . برای نمادهای "چرخش به چپ" و "چرخش به راست" مفید است.

سریال سازی

فیلدهای تصویر قابل سریال سازی نیستند.

کنترل کننده کلیک کنید

فیلد تصویر اعتبارسنجی را نمی پذیرد. در عوض به صراحت تابعی را می پذیرد که با کلیک بر روی فیلد فراخوانی می شود. این بدان معنی است که تصاویر می توانند مانند دکمه هایی که روی بلوک ها وجود دارند عمل کنند.

کنترل کننده کلیک می تواند در سازنده جاوا اسکریپت یا با استفاده از تابع setOnClickHandler تنظیم شود.

در اینجا نمونه ای از یک کنترل کننده کلیک است که هنگام فراخوانی بلوک را جمع می کند.

function() {
    this.getSourceBlock().setCollapsed(true);
}