इमेज फ़ील्ड

इमेज फ़ील्ड में स्ट्रिंग, वैल्यू के तौर पर और स्ट्रिंग को टेक्स्ट के तौर पर सेव करती है. इसकी वैल्यू, इमेज का सोर्स होती है, जबकि इसका टेक्स्ट, इमेज की जानकारी देने/दिखाने वाली वैकल्पिक स्ट्रिंग होती है.

इमेज फ़ील्ड

छोटे किए गए ब्लॉक पर इमेज फ़ील्ड

शॉर्ट वीडियो

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": "*"
    }
  ]
}

JavaScript

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 होती है. "बाएं मोड़ें" और "दाएं मोड़ें" आइकॉन के लिए उपयोगी.

सीरियलाइज़ेशन

इमेज फ़ील्ड को क्रम से नहीं लगाया जा सकता.

क्लिक हैंडलर

इमेज फ़ील्ड, पुष्टि करने वाले टूल को स्वीकार नहीं करता है. इसके बजाय, यह साफ़ तौर पर एक फ़ंक्शन स्वीकार करता है जिसे फ़ील्ड पर क्लिक किए जाने पर कॉल किया जाता है. इसका मतलब है कि इमेज, ब्लॉक पर मौजूद बटन की तरह काम कर सकती हैं.

ऑन क्लिक हैंडलर को JavaScript कंस्ट्रक्टर में या setOnClickHandler फ़ंक्शन का इस्तेमाल करके सेट किया जा सकता है.

यहां एक ऑन क्लिक हैंडलर का एक उदाहरण दिया गया है, जो कॉल किए जाने पर ब्लॉक को छोटा कर देता है.

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