आपका विज़ुअलाइज़ेशन ऐसे इवेंट सक्रिय कर सकता है जिन्हें पाने के लिए होस्ट पेज रजिस्टर कर सकता है. इवेंट, उपयोगकर्ता की कार्रवाइयों से ट्रिगर हो सकते हैं: उदाहरण के लिए, कोई उपयोगकर्ता किसी चार्ट पर क्लिक करता है या इंटरनल हो सकता है: उदाहरण के लिए, हर 10 सेकंड में किसी इवेंट को ट्रिगर करना. JavaScript के एक तरीके को रजिस्टर किया जा सकता है, ताकि किसी इवेंट के ट्रिगर होने पर उसे कॉल किया जा सके. ऐसा किसी इवेंट के लिए खास डेटा के साथ किया जा सकता है.
हर विज़ुअलाइज़ेशन अपने इवेंट के बारे में बताता है. साथ ही, उस विज़ुअलाइज़ेशन के दस्तावेज़ में यह बताया जाना चाहिए कि हर इवेंट कब सक्रिय होता है, उसका क्या मतलब होता है, और वह आपके इवेंट हैंडलर को क्या जानकारी भेजता है (उदाहरण के लिए, संगठन विज़ुअलाइज़ेशन देखें). इस पेज में बताया गया है कि विज़ुअलाइज़ेशन बनाने वाला व्यक्ति किस तरह इवेंट को ट्रिगर कर सकता है. यह जानने के लिए कि क्लाइंट, इवेंट पाने के लिए कैसे रजिस्टर कर सकते हैं, इवेंट मैनेज करना पेज देखें.
चुना जा सकने वाला कोई भी विज़ुअलाइज़ेशन ट्रिगर होने वाला एक इवेंट है: चुनिंदा इवेंट. हालांकि, इस इवेंट के व्यवहार और मतलब को हर विज़ुअलाइज़ेशन के आधार पर तय किया जाता है.
अगर draw
तरीके से उपयोगकर्ता को कंट्रोल मिलने के तुरंत बाद, विज़ुअलाइज़ेशन इंटरैक्शन के लिए तैयार नहीं है, तो विज़ुअलाइज़ेशन चालू हो जाना चाहिए: तैयार इवेंट.
इस इवेंट के असल व्यवहार और इसका मतलब, तैयार इवेंट सेक्शन में बताया गया है.
ध्यान रखें कि विज़ुअलाइज़ेशन एपीआई इवेंट, स्टैंडर्ड डीओएम इवेंट से अलग होते हैं और अलग-अलग होते हैं.
विषय सूची
कोई इवेंट सक्रिय करना
अपने विज़ुअलाइज़ेशन से कोई इवेंट सक्रिय करने के लिए, google.visualization.events.trigger()
फ़ंक्शन को कॉल करें.
इस फ़ंक्शन में ये पैरामीटर होने चाहिए:
- सोर्स विज़ुअलाइज़ेशन (आम तौर पर, यह
this
वैल्यू होती है). - इवेंट का नाम (स्ट्रिंग).
- इवेंट की जानकारी (ऑब्जेक्ट). किसी इवेंट की जानकारी का वैकल्पिक मैप (नाम/वैल्यू).
यहां दिए गए उदाहरण में दिखाया गया है कि विज़ुअलाइज़ेशन में, चुने गए इवेंट की जानकारी किस तरह दिखती है:
MyVisualization.prototype.onclick = function(rowIndex) { this.highlightRow(this.selectedRow, false); // Clear previous selection this.highlightRow(rowIndex, true); // Highlight new selection // Save the selected row index in case getSelection is called. this.selectedRow = rowIndex; // Fire a select event. google.visualization.events.trigger(this, 'select', {}); };
होस्ट करने वाले पेज आपके इवेंट पाने के लिए google.visualization.events.addListener()
या google.visualization.events.addOneTimeListener()
पर कॉल करके रजिस्टर कर सकते हैं.
पक्का करें कि आपने ट्रिगर किए गए किसी भी इवेंट को अच्छी तरह से दस्तावेज़ में जोड़ लिया है.
चुनिंदा इवेंट
"चुनें" इवेंट एक स्टैंडर्ड इवेंट है. उपयोगकर्ता के माउस क्लिक की वजह से, इसे कई विज़ुअलाइज़ेशन में दिखाया जाता है. अगर आपने माउस पर क्लिक करने के जवाब में किसी इवेंट को ट्रिगर करने का विकल्प चुना है, तो आपको यहां बताए गए स्टैंडर्ड तरीके से "चुनें" इवेंट को लागू करना चाहिए:
- जब उपयोगकर्ता विज़ुअलाइज़ेशन में कोई डेटा चुनता है, तो 'select' नाम से इवेंट को ट्रिगर करें. इवेंट, लिसनिंग फ़ंक्शन के लिए कोई आर्ग्युमेंट नहीं भेजता.
getSelection()
तरीके को सार्वजनिक करें, जैसा कि लिंक किए गए दस्तावेज़ वाले सेक्शन में बताया गया है. इस तरीके से, उपयोगकर्ता के चुने गए data एलिमेंट के इंडेक्स दिखने चाहिए.
- रेफ़रंस सेक्शन में बताए गए तरीके
के हिसाब से,
setSelection()
तरीके का इस्तेमाल करें. इवेंट मैनेज करने का तरीका जानने के लिए, हैंडलिंग इवेंट पेज भी देखें.
तैयार इवेंट
किसी भी विज़ुअलाइज़ेशन में "तैयार" इवेंट ट्रिगर होना चाहिए, जो स्टैंडर्ड तरीके से काम करता हो. इससे डेवलपर को यह जानकारी मिलती है कि विज़ुअलाइज़ेशन कब मेथड को प्रोसेस करने के लिए तैयार है. हालांकि, इसके लिए कोई ज़रूरी शर्त नहीं है कि विज़ुअलाइज़ेशन इस तरह काम करे. अपने विज़ुअलाइज़ेशन के लिए दस्तावेज़ देखें).
आम तौर पर, "तैयार" इवेंट दिखाने वाले विज़ुअलाइज़ेशन, इन खास बातों के हिसाब से डिज़ाइन किए जाते हैं:
- तैयार इवेंट, हैंडलर को कोई भी प्रॉपर्टी पास नहीं करता है (आपके फ़ंक्शन हैंडलर को इसमें कोई पैरामीटर नहीं भेजा जाना चाहिए).
- इंटरैक्शन के लिए विज़ुअलाइज़ेशन तैयार होने के बाद, विज़ुअलाइज़ेशन को तैयार इवेंट ट्रिगर करना चाहिए .
अगर विज़ुअलाइज़ेशन की ड्रॉइंग एसिंक्रोनस है, तो यह ज़रूरी है कि इवेंट तब ट्रिगर हो, जब इंटरैक्शन के तरीकों को असल में कॉल किया जा सकता हो.
न कि सिर्फ़
draw
तरीके के खत्म होने पर. - इस इवेंट में लिसनर जोड़ने के बाद,
draw
तरीके को कॉल करें. ऐसा नहीं करने पर, लिसनर सेट अप करने से पहले ही इवेंट ट्रिगर हो सकता है और आपको वह इवेंट नहीं दिखेगा. - तैयार इवेंट के सक्रिय होने से पहले, इंटरैक्शन के तरीकों को कॉल करने पर, ये तरीके ठीक से काम न करने का जोखिम रहता है.
आम तौर पर, जो विज़ुअलाइज़ेशन "तैयार" इवेंट को ट्रिगर नहीं करते वे draw
तरीके के खत्म होने के तुरंत बाद इंटरैक्शन के लिए तैयार हो जाते हैं और उपयोगकर्ता को कंट्रोल दे देते हैं.