इनपुट को इनलाइन या बाहरी तौर पर रेंडर किया जा सकता है. इससे यह कंट्रोल किया जाता है कि वैल्यू इनपुट के लिए कनेक्टर, ब्लॉक में (इनलाइन) रेंडर किए जाएं या बाहरी किनारे पर (एक्सटर्नल). साथ ही, इससे यह भी कंट्रोल किया जाता है कि इनपुट एक ही लाइन में रेंडर किए जाएं या अलग-अलग लाइनों में.
ब्लॉक की परिभाषा में, एक वैकल्पिक बूलियन तय किया जा सकता है. इससे यह कंट्रोल होता है कि इनपुट इनलाइन हैं या नहीं.
JSON
{
// ...,
"inputsInline": true
}
JavaScript
init: function() {
// ...
this.setInputsInline(true);
}
इस बूलियन को true
(इनलाइन इनपुट) पर सेट करने पर:
- वैल्यू इनपुट के लिए कनेक्टर, ब्लॉक के अंदर रेंडर किए जाते हैं.
- स्टेटमेंट के इनपुट, अपनी लाइन में रेंडर किए जाते हैं.
- डमी, लाइन के आखिर में मौजूद, और वैल्यू इनपुट, सभी एक ही लाइन में रेंडर किए जाते हैं. हालांकि, स्टेटमेंट या लाइन के आखिर में मौजूद इनपुट के बाद आने वाले किसी भी इनपुट को नई लाइन में रेंडर किया जाता है.
जब इसे false
(बाहरी इनपुट) पर सेट किया जाता है, तब:
- वैल्यू इनपुट के लिए कनेक्टर, ब्लॉक के बाहरी किनारे पर रेंडर किए जाते हैं.
- सभी इनपुट अपनी-अपनी लाइन में रेंडर किए जाते हैं. हालांकि, लाइन के आखिर में मौजूद ऐसा इनपुट जो डमी इनपुट के बाद आता है उसे डमी इनपुट वाली लाइन में ही रेंडर किया जाता है.
अगर आपको इसे समझने में परेशानी हो रही है, तो Blockly Developer Tools में ब्लॉक बनाएं. इसके बाद, inputs
ड्रॉपडाउन (automatic
, external
, inline
) के लिए अलग-अलग सेटिंग चुनें.
अगर इस बूलियन को तय नहीं किया जाता है, तो Blockly कुछ अनुमानित तरीकों का इस्तेमाल करके यह पता लगाएगा कि कौनसा मोड सबसे अच्छा है. अगर Blockly सही विकल्प चुनता है, तो इस फ़ील्ड को 'तय नहीं किया गया' के तौर पर छोड़ना बेहतर है. ऐसा इसलिए, क्योंकि अलग-अलग भाषाओं में अनुवाद करने के लिए, अलग-अलग मोड अपने-आप लागू हो सकते हैं. इंटरपोलेशन टोकन के क्रम में, "set %1 to %2"
(बाहरी इनपुट) और "put %2 in %1"
(इनलाइन इनपुट) का उदाहरण देखें.
जब किसी ब्लॉक में संख्या जैसे छोटे इनपुट होने की संभावना हो, तब इनलाइन इनपुट का इस्तेमाल करें. उपयोगकर्ता, संदर्भ मेन्यू में जाकर इस विकल्प को टॉगल कर सकता है.