आपका विज़ुअलाइज़ेशन ऐसे इवेंट को शुरू कर सकता है जिन्हें होस्ट करने वाला पेज, रजिस्टर करने के लिए रजिस्टर कर सकता है. इवेंट को उपयोगकर्ता की कार्रवाइयों से ट्रिगर किया जा सकता है: उदाहरण के लिए, कोई उपयोगकर्ता किसी चार्ट पर क्लिक करता है या अंदरूनी हो सकता है: उदाहरण के लिए, हर 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()
पर कॉल करके रजिस्टर कर सकते हैं.
पक्का करें कि आपने जो इवेंट सक्रिय किए हैं उन्हें पूरी तरह रिकॉर्ड करें.
इवेंट चुनें
"चुनें" इवेंट, ऐसा स्टैंडर्ड इवेंट है जिसे उपयोगकर्ता के माउस क्लिक करने पर कई विज़ुअलाइज़ेशन इस्तेमाल करते हैं. अगर आपने माउस से क्लिक करने के बाद, इवेंट को सक्रिय करने का विकल्प चुना है, तो आपको यहां बताए गए तरीके से "चुनें" इवेंट को लागू करना चाहिए:
- जब उपयोगकर्ता विज़ुअलाइज़ेशन में कुछ डेटा चुने, तो 'चुनें' नाम वाले इवेंट को सक्रिय करें. यह इवेंट, सुनने वाले फ़ंक्शन को कोई आर्ग्युमेंट नहीं भेजता.
- लिंक किए गए दस्तावेज़ के सेक्शन में बताए गए
getSelection()
तरीके का इस्तेमाल करें. इस तरीके से, उपयोगकर्ता के चुने गए डेटा एलिमेंट के इंडेक्स को दिखाया जाना चाहिए.
- रेफ़रंस सेक्शन में बताए गए तरीके से
setSelection()
का तरीका बताएं. इवेंट मैनेज करने का तरीका जानने के लिए, इवेंट मैनेज करना पेज देखें.
तैयार इवेंट
किसी भी विज़ुअलाइज़ेशन से "तैयार" इवेंट सक्रिय हो जाना चाहिए, जो डेवलपर को यह बताने के लिए एक मानक तरीके से काम करता है कि विज़ुअलाइज़ेशन किन तरीकों से प्रोसेस करने के लिए तैयार है. (हालांकि, इस बात की कोई तय ज़रूरत नहीं है कि विज़ुअलाइज़ेशन इस तरह काम करे; अपने विज़ुअलाइज़ेशन के दस्तावेज़ देखें).
आम तौर पर, "तैयार" इवेंट को दिखाने वाले विज़ुअलाइज़ेशन, इस तरह के निर्देशों के साथ डिज़ाइन किए जाते हैं:
- तैयार इवेंट, हैंडलर को कोई भी प्रॉपर्टी पास नहीं करता है (आपके फ़ंक्शन हैंडलर को किसी भी पैरामीटर के पास होने की उम्मीद नहीं करनी चाहिए).
- विज़ुअलाइज़ेशन के तैयार होने के बाद, विज़ुअलाइज़ेशन को इंटरैक्शन के लिए तैयार होना चाहिए.
अगर विज़ुअलाइज़ेशन का आरेखण एसिंक्रोनस है, तो यह ज़रूरी है कि इंटरैक्शन के तरीकों को असल में कॉल किए जाने पर इवेंट सक्रिय किया जाए, न कि सिर्फ़ तब, जब
draw
तरीका खत्म हो जाए. - इस इवेंट में किसी लिसनर को जोड़ने के लिए,
draw
तरीके को कॉल करने से पहले ऐसा करना ज़रूरी है. ऐसा नहीं करने पर, हो सकता है कि यह इवेंट, लिसनर के सेट अप हो जाने से पहले ही चालू हो जाए और आप उसे पकड़ न पाएं. - तैयार इवेंट के सक्रिय होने से पहले इंटरैक्शन के तरीकों को कॉल करने से, आपको जोखिम होता है कि ये तरीके ठीक से काम नहीं करेंगे.
नियम यह है कि ऐसे विज़ुअलाइज़ेशन जो "तैयार" इवेंट को सक्रिय नहीं करते हैं वे draw
तरीके के खत्म होने के तुरंत बाद इंटरैक्शन के लिए तैयार होते हैं और उपयोगकर्ता को कंट्रोल देते हैं.