ब्लॉकली > WorkspaceSvg

WorkspaceSvg क्लास

वर्कस्पेस के लिए क्लास. यह स्क्रीन पर दिखने वाला एरिया है. इसमें ट्रैशकैन, स्क्रोलबार, बबल, और ड्रैग करने की सुविधा मौजूद है.

हस्ताक्षर:

export declare class WorkspaceSvg extends Workspace implements IASTNodeLocationSvg 

बड़ा किया जाता है: Workspace

लागू करता है: IASTNodeLocationSvg

कंस्ट्रक्टर

निर्माता मॉडिफ़ायर ब्यौरा
(कंस्ट्रक्टर)(विकल्प) WorkspaceSvg क्लास का एक नया इंस्टेंस बनाता है

प्रॉपर्टी

प्रॉपर्टी मॉडिफ़ायर टाइप ब्यौरा
configureContextMenu ((मेन्यू विकल्प: Contextमेन्यूOption[], e: Event) => void) | शून्य डेवलपर, फ़ाइल फ़ोल्डर के संदर्भ मेन्यू में पसंद के मुताबिक मेन्यू के विकल्प जोड़ने के लिए इस फ़ंक्शन को तय कर सकते हैं या फ़ाइल फ़ोल्डर के बनाए गए मेन्यू के विकल्पों के सेट में बदलाव कर सकते हैं.
keyboardAccessibilityMode बूलियन कीबोर्ड का सुलभता मोड चालू होने पर, सही है. अगर ऐसा नहीं है, तो गलत है.
रेंडर किया गया बूलियन किसी SVG फ़ाइल फ़ोल्डर की रेंडर स्थिति. बिना ग्राफ़िक यूज़र इंटरफ़ेस वाले फ़ाइल फ़ोल्डर के लिए, false दिखाता है और WorkspaceSvg के इंस्टेंस के लिए सही है.
स्केल संख्या मौजूदा स्केल.
स्क्रोलबार ScrollbarPair | शून्य इस फ़ाइल फ़ोल्डर के स्क्रोलबार, अगर वे मौजूद हैं.
scrollX संख्या

फ़ाइल फ़ोल्डर की शुरुआत के आधार पर, पिक्सल यूनिट में मौजूदा हॉरिज़ॉन्टल स्क्रोलिंग ऑफ़सेट.

किसी व्यू और उसके नीचे मौजूद कैनवस के बारे में सोचना मददगार होता है. कैनवस के दाईं ओर जाने पर, यह वैल्यू ज़्यादा पॉज़िटिव हो जाती है. साथ ही, व्यू अब "देख रहा है" हो जाता है कैनवस के बाईं तरफ़. कैनवस के बाईं ओर जाने पर, यह वैल्यू ज़्यादा नेगेटिव हो जाती है और व्यू को "देखा जा रहा है" के तौर पर सेट कर दिया जाता है दाईं ओर स्क्रोल करें.

इस वैल्यू के बारे में गुमराह करने वाली बात यह है कि यह इसमें शामिल नहीं होती और इसमें defaultलेफ़्ट ऑफ़सेट शामिल नहीं होना चाहिए. इसकी वजह यह है कि इसका इस्तेमाल viewलेफ़्ट वैल्यू को कैलकुलेट करने के लिए किया जाता है.

व्यूलेफ़्ट, फ़ाइल फ़ोल्डर के ऑरिजिन से मिलता-जुलता है (पिक्सल यूनिट में). वर्कस्पेस का ऑरिजिन, वर्कस्पेस का सबसे ऊपर का बायां कोना होता है (कम से कम तब, जब यह चालू हो). इसे blocklyDiv के सबसे ऊपर बाईं ओर से शिफ़्ट किया गया है, ताकि यह टूलबॉक्स के नीचे न रहे.

फ़ाइल फ़ोल्डर को चालू करने पर, view हूं और फ़ाइल फ़ोल्डर के ऑरिजिन एक ही X जगह पर हैं. जैसे-जैसे कैनवस व्यू के नीचे दाईं ओर स्लाइड होता है, यह मान (scrollX) ज़्यादा पॉज़िटिव हो जाता है. साथ ही, viewलेफ़्ट, वर्कस्पेस के ऑरिजिन के हिसाब से नेगेटिव हो जाता है. (कल्पना करें कि कैनवस मूव करते समय, कैनवस पर दाईं ओर स्लाइड करते हुए फ़ाइल फ़ोल्डर का ऑरिजिन, एक डॉट के तौर पर दिखेगा.

इसलिए अगर ScrollX में निरपेक्ष बाएं शामिल करना होता है, तो यह "unshift" रूप में होता है का इस्तेमाल करें. इसका मतलब है कि viewलेफ़्ट, वर्कस्पेस के बाएं किनारे के बजाय, blocklyDiv के बाएं किनारे को दिखाएगा.

scrollY संख्या

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

किसी व्यू और उसके नीचे मौजूद कैनवस के बारे में सोचना मददगार होता है. कैनवस नीचे आने पर, यह वैल्यू ज़्यादा पॉज़िटिव हो जाती है. साथ ही, व्यू अब "देख रहा है" हो जाता है कैनवस के ऊपरी हिस्से को स्कैन करें. कैनवस ऊपर जाने पर, यह वैल्यू ज़्यादा नेगेटिव हो जाती है और व्यू "देखना" होता है कैनवस के निचले हिस्से को हटा दें.

इस वैल्यू के बारे में भ्रम की स्थिति यह है कि इसमें ऐब्सलूट टॉप ऑफ़सेट शामिल नहीं होता और इसमें ऐब्सलूट टॉप ऑफ़सेट शामिल नहीं होना चाहिए. ऐसा इसलिए है, क्योंकि इसका इस्तेमाल viewTop वैल्यू को कैलकुलेट करने के लिए किया जाता है.

viewTop, फ़ाइल फ़ोल्डर के ऑरिजिन के मुताबिक है (पिक्सल यूनिट में). वर्कस्पेस का ऑरिजिन, वर्कस्पेस का सबसे ऊपर का बायां कोना होता है (कम से कम तब, जब यह चालू हो). इसे blocklyDiv के सबसे ऊपर बाईं ओर से शिफ़्ट किया गया है, ताकि यह टूलबॉक्स के नीचे न रहे.

वर्कस्पेस के चालू होने पर, viewTop और Workspace ऑरिजिन एक ही Y जगह पर होते हैं. जब कैनवस नीचे की ओर स्लाइड होता है, तो यह वैल्यू (scrollY) ज़्यादा पॉज़िटिव हो जाती है. साथ ही, फ़ाइल फ़ोल्डर के ऑरिजिन के हिसाब से viewTop नेगेटिव हो जाता है (वर्कस्पेस ऑरिजिन की इमेज, कैनवस के मूव होने पर नीचे की ओर स्लाइड होने वाले कैनवस पर बिंदु के रूप में होती है).

इसलिए, अगर ScrollY में संपूर्ण टॉप को शामिल किया जाए, तो यह "अनशिफ़्ट" तरीके से होगा का इस्तेमाल करें. इसका मतलब है कि viewTop, वर्कस्पेस के ऊपरी किनारे के बजाय, blocklyDiv के ऊपरी किनारे को दिखाएगा.

startScrollX संख्या पिक्सल यूनिट में स्क्रोल करना शुरू करते समय, हॉरिज़ॉन्टल स्क्रोल वैल्यू.
startScrollY संख्या पिक्सल यूनिट में स्क्रोल करते समय, वर्टिकल स्क्रोल वैल्यू.
svgBackground_ SVGElement
svgBlockCanvas_ SVGElement
svgBubbleCanvas_ SVGElement
svgGroup_ SVGElement
themeManager_ protected ThemeManager
ट्रैशकैन ट्रैशकैन | शून्य फ़ाइल फ़ोल्डर का ट्रैशकैन (अगर कोई हो).
zoomControls_ ZoomControls | शून्य

तरीके

तरीका मॉडिफ़ायर ब्यौरा
addTopBlock(block) टॉप ब्लॉक की सूची में ब्लॉक जोड़ता है.
addTopBoundedElement(element) टॉप बाउंड एलिमेंट की सूची में बाउंड एलिमेंट जोड़ता है.
addTopComment(comment) लोकप्रिय टिप्पणियों की सूची में टिप्पणी जोड़ता है.
centerOnBlock(id, blockOnly) दिए गए ब्लॉक के बीच में लाने के लिए, फ़ाइल फ़ोल्डर को स्क्रोल करें. अगर ब्लॉक के नीचे अन्य ब्लॉक स्टैक किए गए हैं, तो फ़ाइल फ़ोल्डर स्टैक पर बीच में होगा, जब तक कि blockOnly सही न हो.
cleanUp() एक कॉलम में सभी ब्लॉक को क्रम से लगाकर, वर्कस्पेस में जगह खाली करें.
clear() साइज़ बदलने से रोकने के लिए, ऑप्टिमाइज़ेशन के साथ फ़ाइल फ़ोल्डर में सभी ब्लॉक को नष्ट करें.
createDom(opt_backgroundClass, jectDiv) वर्कस्पेस के डीओएम एलिमेंट बनाएं.
createVariable(name, opt_type, opt_id) दिए गए नाम के साथ एक नया वैरिएबल बनाएं. नया वैरिएबल तुरंत दिखाने के लिए, फ़्लायआउट को अपडेट करें.
deleteVariableById(id) आईडी में दिए गए पास के हिसाब से वैरिएबल मिटाएं. वैरिएबल को मिटाए जाने की जानकारी तुरंत दिखाने के लिए, फ़्लायआउट को अपडेट करें.
dispose() इस फ़ाइल फ़ोल्डर को नष्ट करें. मेमोरी लीक होने से रोकने के लिए, सभी डीओएम एलिमेंट से अनलिंक करें.
getAllBlocks(ordered) फ़ाइल फ़ोल्डर में सभी ब्लॉक ढूंढें. ब्लॉक को वैकल्पिक रूप से, क्रम के हिसाब से क्रम में लगाया जाता है; ऊपर से नीचे (थोड़ा सा एलटीआर या आरटीएल बायस के साथ).
getAudioManager() इस फ़ाइल फ़ोल्डर के लिए ऑडियो मैनेजर पाएं.
getBlockById(id) इस फ़ाइल फ़ोल्डर में, दिए गए आईडी वाला ब्लॉक ढूंढें.
getBlocksBoundingBox() फ़ाइल फ़ोल्डर पर ब्लॉक के लिए बाउंडिंग बॉक्स की गणना करें. कोऑर्डिनेट सिस्टम: वर्कस्पेस के निर्देशांक.
getBubbleCanvas() बबल सरफ़ेस बनाने वाला SVG एलिमेंट पाएं.
getButtonCallback(key) फ़्लायआउट में बटन और लेबल पर क्लिक के लिए, किसी कुंजी से जुड़ा कॉलबैक फ़ंक्शन पाएं.
getCanvas() ड्रॉइंग सरफ़ेस बनाने वाला SVG एलिमेंट पाएं.
getComponentManager() इस फ़ाइल फ़ोल्डर के लिए कॉम्पोनेंट मैनेजर हासिल करता है.
getCursor() इस फ़ाइल फ़ोल्डर के लिए कर्सर.
getDragTarget(e) यह दिखाता है कि पॉइंटर इवेंट पूरा हो गया है या नहीं. इसके बाद, कर्सर को खींचें और छोड़ें.
getFlyout(opt_own) इस फ़ाइल फ़ोल्डर से जुड़े फ़्लायआउट का गेटर. टूलबॉक्स कॉन्फ़िगरेशन के आधार पर, इस फ़्लायआउट का मालिकाना हक टूलबॉक्स या फ़ाइल फ़ोल्डर के पास हो सकता है. कोई फ़्लायआउट न होने पर, यह शून्य हो जाएगा.
getGrid() इस फ़ाइल फ़ोल्डर के लिए ग्रिड ऑब्जेक्ट पाएं या कोई न होने पर शून्य पाएं.
getInverseScreenCTM() इन्वर्टेड स्क्रीन सीटीएम का गेटर.
getLayerManager()
getMarkerManager() इस फ़ाइल फ़ोल्डर के लिए मार्कर मैनेजर पाएं.
getMetricsManager() इस फ़ाइल फ़ोल्डर के लिए मेट्रिक मैनेजर हासिल करता है.
getParentSvg() वह SVG एलिमेंट पाएं जिसमें यह फ़ाइल फ़ोल्डर है. ध्यान दें: हम मानते हैं कि इसे सिर्फ़ तब कॉल किया जाता है, जब फ़ाइल फ़ोल्डर को डीओएम में इंजेक्ट किया गया हो.
getRenderer() ब्लॉक रेंडरर को इस फ़ाइल फ़ोल्डर से अटैच करें.
getRootWorkspace()
getScale() वर्कस्पेस के ज़ूम फ़ैक्टर का पता लगाता है. अगर वर्कस्पेस का कोई पैरंट है, तो हम वर्कस्पेस का स्केल पाने के लिए पैरंट को कॉल करते हैं.
getSvgGroup() यह विकल्प, वर्कस्पेस के लिए SVG ग्रुप दिखाता है.
getTheme() वर्कस्पेस की थीम से जुड़ा ऑब्जेक्ट पाएं.
getToolbox() अगर मौजूद है, तो इस फ़ाइल फ़ोल्डर से जुड़े टूलबॉक्स का गेटर.
getToolboxCategoryCallback(key) इस फ़ाइल फ़ोल्डर में कस्टम टूलबॉक्स कैटगरी को अपने-आप भरने के लिए, किसी दी गई कुंजी से जुड़ा कॉलबैक फ़ंक्शन पाएं.
getTopBlocks(ordered) टॉप-लेवल ब्लॉक को खोजता है और उन्हें लौटाता है. ब्लॉक को वैकल्पिक रूप से, क्रम के हिसाब से क्रम में लगाया जाता है; ऊपर से नीचे (थोड़ा सा एलटीआर या आरटीएल बायस के साथ).
getTopBoundedElements() टॉप-लेवल के बाउंड एलिमेंट ढूंढता है और उन्हें लौटाता है.
getWidth() यह फ़ंक्शन वर्कस्पेस का हॉरिज़ॉन्टल ऑफ़सेट दिखाता है. इसे एक्सएमएल में एलटीआर/आरटीएल के साथ काम करने के लिए बनाया गया है.
hideChaff(onlyClosePopups) टूलटिप, संदर्भ मेन्यू, ड्रॉपडाउन चुनाव वगैरह बंद करें.
hideComponents(onlyClosePopups) अपने-आप छिपाए जा सकने वाले सभी कॉम्पोनेंट को छिपाएं. जैसे, फ़्लायआउट, ट्रैशकैन, और उपयोगकर्ता के रजिस्टर किए गए कॉम्पोनेंट.
highlightBlock(id, opt_state) फ़ाइल फ़ोल्डर में किसी ब्लॉक को हाइलाइट करें या वहां से हाइलाइट हटाएं. ब्लॉक हाइलाइटिंग का इस्तेमाल अक्सर, अभी चलाए जा रहे ब्लॉक को विज़ुअल तौर पर मार्क करने के लिए किया जाता है.
isDraggable() क्या इस फ़ाइल फ़ोल्डर को खींचा जा सकता है?
isDragging() क्या उपयोगकर्ता फ़िलहाल किसी ब्लॉक को खींच रहा है या फ़्लाइआउट/फ़ाइल फ़ोल्डर को स्क्रोल कर रहा है?
isMovable()

क्या इस फ़ाइल फ़ोल्डर को एक जगह से दूसरी जगह ले जाया जा सकता है?

इसका मतलब है कि उपयोगकर्ता इनपुट के ज़रिए फ़ाइल फ़ोल्डर के X Y निर्देशांकों की जगह बदल सकता है. इसके लिए स्क्रोलबार, स्क्रोल व्हील, ड्रैगिंग या ज़ूमिंग की मदद से व्हील या पिंच करके ज़ूम इन किया जा सकता है. ऐसा इसलिए होता है, क्योंकि ज़ूम, माउस की पोज़िशन के बीच में होता है. इसमें ज़ूम कंट्रोल से ज़ूम करना शामिल नहीं है, क्योंकि X Y कोऑर्डिनेट प्रोग्राम के हिसाब से तय किए जाते हैं.

isMovableHorizontally() क्या इस फ़ाइल फ़ोल्डर को हॉरिज़ॉन्टल तौर पर ले जाया जा सकता है?
isMovableVertically() क्या इस फ़ाइल फ़ोल्डर को वर्टिकल तौर पर ले जाया जा सकता है?
isVisible() दिख रहा है का गेटर
markFocused() इस फ़ाइल फ़ोल्डर को फ़ोकस किए गए मुख्य फ़ाइल फ़ोल्डर के तौर पर मार्क करें.
moveDrag(e) इस फ़ाइल फ़ोल्डर पर किसी ऑब्जेक्ट को खींचें और छोड़ें.
newBlock(prototypeName, opt_id) नया ब्लॉक पाएं.
newComment(id) नई टिप्पणी पाएं.
recordDragTargets() इस फ़ाइल फ़ोल्डर में, मिटाई गई सभी जगहों की सूची बनाएं.
refreshTheme() थीम अपडेट होने के बाद, फ़ाइल फ़ोल्डर में सभी ब्लॉक को रीफ़्रेश करें.
registerButtonCallback(key, func) फ़्लायआउट में बटन और लेबल पर क्लिक के लिए, किसी दी गई कुंजी से जुड़े कॉलबैक फ़ंक्शन को रजिस्टर करें. उदाहरण के लिए, एक्सएमएल से मिले बटन का मिलान,registerButtonCallback("CREATE_VARIABLE", yourCallbackFunction) के कॉल से होना चाहिए.
registerToolboxCategoryCallback(key, func) इस फ़ाइल फ़ोल्डर में कस्टम टूलबॉक्स कैटगरी को अपने-आप भरने के लिए, किसी दी गई कुंजी से जुड़े कॉलबैक फ़ंक्शन को रजिस्टर करें. उदाहरण के रूप में, वैरिएबल और प्रोसेस की कैटगरी देखें.
removeButtonCallback(key) फ़्लायआउट में किसी बटन पर किए गए क्लिक के लिए, कॉलबैक हटाएं.
removeToolboxCategoryCallback(key) टूलबॉक्स में कस्टम कैटगरी के नाम पर किए गए क्लिक के लिए, कॉलबैक को हटाएं.
removeTopBlock(block) शीर्ष ब्लॉक की सूची से किसी ब्लॉक को निकालता है.
removeTopBoundedElement(element) टॉप बाउंड एलिमेंट की सूची से बाउंड एलिमेंट को हटाता है.
removeTopComment(comment) लोकप्रिय टिप्पणियों की सूची से किसी टिप्पणी को हटाता है.
renameVariableById(id, newName) वैरिएबल मैप में वैरिएबल का नाम अपडेट करके, उसका नाम बदलें. बदला गया वैरिएबल तुरंत दिखाने के लिए, फ़्लायआउट को अपडेट करें.
render() फ़ाइल फ़ोल्डर में सभी ब्लॉक रेंडर करें.
resize() फ़ाइल फ़ोल्डर के सभी Chrome (टूलबॉक्स, ट्रैश, स्क्रोलबार वगैरह) का साइज़ और उनकी जगह बदलें इसे तब कॉल किया जाना चाहिए जब कोई आइटम बदलता है, जिसकी वजह से ट्रैश, ज़ूम, टूलबॉक्स वगैरह के डाइमेंशन और पोज़िशन को फिर से कैलकुलेट करने की ज़रूरत होती है (जैसे कि विंडो का साइज़ बदलना).
scrollCenter() वर्कस्पेस को बीच में लाएं.
setResizeHandlerWrapper(handler) साइज़ बदलने वाले हैंडलर का डेटा सेव करें, ताकि हम बाद में इसे मिटा सकें.
setResizesEnabled(enabled) यह अपडेट करें कि इस फ़ाइल फ़ोल्डर में साइज़ बदलने की सुविधा चालू है या नहीं. यह सेटिंग चालू होने पर, ज़रूरत पड़ने पर फ़ाइल फ़ोल्डर का साइज़ बदल जाएगा. इसे बंद करने पर, फ़ाइल फ़ोल्डर का साइज़ तब तक नहीं बदलेगा, जब तक इसे फिर से चालू नहीं किया जाता. इसका इस्तेमाल, बैच ऑपरेशन के दौरान परफ़ॉर्मेंस को बेहतर बनाने के लिए किया जाता है.
setScale(newScale) वर्कस्पेस के ज़ूम फ़ैक्टर को सेट करें.
setTheme(theme) वर्कस्पेस की थीम से जुड़ा ऑब्जेक्ट सेट करें. अगर कोई थीम पास नहीं की जाती है, तो डिफ़ॉल्ट रूप से Classic थीम सेट होती है.
setVisible(isVisible) इससे फ़ाइल फ़ोल्डर दिख रहा है, टॉगल हो जाता है. फ़िलहाल, यह सिर्फ़ मुख्य फ़ाइल फ़ोल्डर के लिए है.
startDrag(e, xy) इस फ़ाइल फ़ोल्डर पर किसी ऑब्जेक्ट को खींचना और उसे खींचना शुरू करें.
अनुवाद करें(x, y) इस फ़ाइल फ़ोल्डर का नए निर्देशांक में अनुवाद करें.
updateInverseScreenCTM() इनवर्स स्क्रीन सीटीएम को गंदे के तौर पर मार्क करें.
updateToolbox(toolboxDef) मौजूदा टूलबॉक्स पर ब्लॉक ट्री में बदलाव करें.
ज़ूम(x, y, रकम) दिए गए (x, y) निर्देशांक के सापेक्ष/केंद्रीय में फ़ाइल फ़ोल्डर को अंदर या बाहर ज़ूम करता है.
zoomCenter(type) ज़ूम इन या ज़ूम आउट करके दृश्य के केंद्र में केंद्रित ब्लॉक को ज़ूम करना.
zoomToFit() अगर हो सके, तो ब्लॉक को फ़ाइल फ़ोल्डर में फ़िट करने के लिए ज़ूम करें.