फ़ील्ड क्लास
बदलाव किए जा सकने वाले फ़ील्ड के लिए ऐब्सट्रैक्ट क्लास.
हस्ताक्षर:
export declare abstract class Field<T = any> implements IASTNodeLocationSvg, IASTNodeLocationWithBlock, IKeyboardAccessible, IRegistrable, ISerializable
यह लागू करता है: IASTNodeLocationSvg, IASTNodeLocationWithBlock, IKeyboardAccessible, IRegistrable, ISerializable
कंस्ट्रक्टर
निर्माता | मॉडिफ़ायर | कंपनी का ब्यौरा |
---|---|---|
(कंस्ट्रक्टर)(वैल्यू, पुष्टि करने वाला, कॉन्फ़िगरेशन) | Field क्लास का एक नया इंस्टेंस बनाता है |
प्रॉपर्टी
प्रॉपर्टी | मॉडिफ़ायर | टाइप | कंपनी का ब्यौरा |
---|---|---|---|
borderRect_ | protected |
SVGRectElement | शून्य | रेंडर किए गए फ़ील्ड का SVG बॉर्डर एलिमेंट. |
clickTarget_ | protected |
एलिमेंट | शून्य | वह एलिमेंट जिससे क्लिक हैंडलर जुड़ा है. |
constants_ | protected |
ConstantProvider | शून्य | सोर्स ब्लॉक के रेंडरर से जुड़े स्थिर. |
कर्सर | स्ट्रिंग | कर्सर की स्टाइल पर कर्सर ले जाएं, जहां से एडिटर शुरू होता है. | |
DEFAULT_VALUE | T | शून्य | **फ़ील्ड** में सेट की गई डिफ़ॉल्ट वैल्यू को ओवरराइट करने के लिए, सीधे प्रोटोटाइप को अपडेट करें. उदाहरण: |
|
बदलाव किया जा सकता है | boolean | आम तौर पर, बदलाव किए जा सकने वाले फ़ील्ड में कुछ ऐसा यूज़र इंटरफ़ेस (यूआई) दिखता है जिसमें बदलाव किया जा सकता है. उन्हें सीरियलाइज़र के ज़रिए भी सेव किया जाएगा. | |
enabled_ | protected |
boolean | क्या बदलाव किए जा सकने वाले ब्लॉक पर, एडिटर का इस्तेमाल करके फ़ील्ड की वैल्यू को बदला जा सकता है? |
fieldGroup_ | protected |
SVGG एलिमेंट | शून्य | रेंडर किए गए फ़ील्ड का SVG ग्रुप एलिमेंट. |
isDirty_ | protected |
boolean | क्या इस ब्लॉक को फिर से रेंडर करना होगा? |
maxDisplayLength | नंबर | एलिप्सिस जोड़ने से पहले, टेक्स्ट में दिखाए जाने वाले ज़्यादा से ज़्यादा वर्ण. | |
नाम? | स्ट्रिंग | (ज़रूरी नहीं) फ़ील्ड का नाम. हर ब्लॉक में यूनीक. आम तौर पर, स्टैटिक लेबल का नाम नहीं होता. | |
एनबीएसपी |
|
(तय नहीं किया गया) | नॉन-ब्रेकिंग स्पेस. |
क्रम से लगाने लायक | boolean | सीरियल नंबर वाले फ़ील्ड, सीरियलाइज़र की मदद से सेव किए जाते हैं, लेकिन क्रम से न लगाए जा सकने वाले फ़ील्ड सेव नहीं किए जाते. ऐसे फ़ील्ड जिनमें बदलाव किया जा सकता है, उन्हें क्रम से भी लगाया जा सकता है. डिफ़ॉल्ट रूप से ऐसा नहीं होता है, ताकि SERIALIZABLE पीछे के साथ काम कर सके. | |
size_ | protected |
साइज़ | |
SKIP_SETUP |
|
खास चिह्न | ऐसी वैल्यू जिसका इस्तेमाल यह सिग्नल देने के लिए किया जाता है कि फ़ील्ड के कंस्ट्रक्टर को फ़ील्ड की वैल्यू को कब सेट *नहीं* करना चाहिए याConfigure_ को चलाने की ज़रूरत नहीं है. साथ ही, सब-क्लास को ऐसा करने की अनुमति देनी चाहिए. |
sourceBlock_ | protected |
ब्लॉक करना | शून्य | ब्लॉक करें, यह फ़ील्ड इससे जुड़ा है. शून्य से शुरू होता है और फिर init में सेट करें. |
textContent_ | protected |
टेक्स्ट | शून्य | रेंडर किए गए फ़ील्ड का टेक्स्ट कॉन्टेंट एलिमेंट. |
textElement_ | protected |
SVGTextElement | शून्य | रेंडर किए गए फ़ील्ड का SVG टेक्स्ट एलिमेंट. |
validator_ | protected |
FieldValidator<T> | शून्य | पुष्टि करने वाला फ़ंक्शन तब कॉल किया जाता है, जब उपयोगकर्ता किसी बदलाव किए जा सकने वाले फ़ील्ड में बदलाव करता है. |
value_ | protected |
T | शून्य | |
visible_ | protected |
boolean | क्या ब्लॉक को छोटा किए जाने की वजह से, फ़ील्ड दिख रहा है या छिपाया गया है? |
तरीके
तरीका | मॉडिफ़ायर | कंपनी का ब्यौरा |
---|---|---|
applyColour() | ब्लॉक के रंग/स्टाइल से मैच करने के लिए फ़ील्ड को अपडेट करता है. अगर फ़ील्ड का रंग ब्लॉक के रंग पर निर्भर है, तो नॉन-ऐब्सट्रैक्ट सब-क्लास इसे लागू कर सकती हैं. ज़रूरत के मुताबिक यह अपने-आप कॉल कर देगा. जैसे, जब पैरंट ब्लॉक या रेंडरर बदलता है. ज़्यादा जानकारी के लिए, फ़ील्ड का दस्तावेज़ देखें या उदाहरण के लिए,Fieldड्रॉपडाउन देखें. |
|
bindEvents_() | protected |
इवेंट को फ़ील्ड से बाइंड करें. सब-क्लास को तब बदला जा सकता है, जब उन्हें पसंद के मुताबिक इनपुट मैनेज करने की ज़रूरत हो. |
configure_(config) | protected |
फ़ील्ड में भेजे गए कॉन्फ़िगरेशन मैप को प्रोसेस करें. |
createBorderRect_() | protected |
फ़ील्ड बॉर्डर रेक्ट एलिमेंट बनाएं. सब-क्लास से नहीं बदला जाना चाहिए. इसके बजाय, initView के अंदर फ़ंक्शन के नतीजे में बदलाव करें या कॉल करने के लिए एक अलग फ़ंक्शन बनाएं. |
createTextElement_() | protected |
फ़ील्ड के लिए टेक्स्ट एलिमेंट बनाएं. सब-क्लास से नहीं बदला जाना चाहिए. इसके बजाय, initView के अंदर फ़ंक्शन के नतीजे में बदलाव करें या कॉल करने के लिए एक अलग फ़ंक्शन बनाएं. |
doClassValidation_(newValue) | protected |
फ़ील्ड की वैल्यू पर सेट होने से पहले, उनकी पुष्टि करें. सब-क्लास को लागू करने का उदाहरण देखने के लिए, **FieldDropdown** देखें. **ध्यान दें:** पुष्टि करने की सुविधा की मदद से, |
doClassValidation_(newValue) | protected |
|
doValueअमान्य_(_अमान्य वैल्यू, _fireChangeEvent) | protected |
इसका इस्तेमाल, फ़ील्ड को यह बताने के लिए किया जाता है कि कोई अमान्य वैल्यू डाली गई है. फ़ील्ड को सब-क्लास से बदला जा सकता है. इसके लिए, FieldText Input देखें. डिफ़ॉल्ट रूप से कोई जवाब नहीं होता. |
doValueUpdate_(newValue) | protected |
इसका इस्तेमाल, फ़ील्ड की वैल्यू को अपडेट करने के लिए किया जाता है. वैल्यू को अपने हिसाब से सेव करने/बाहरी चीज़ों को अपडेट करने के लिए, सब-क्लास की मदद से उसे बदला जा सकता है. |
fromJson(_options) | static |
सब-क्लास को JSON आर्ग ऑब्जेक्ट से अपनी फ़ील्ड सब-क्लास बनाने के लिए, इस तरीके को फिर से लागू करना चाहिए. अगर किसी सब-क्लास ने इस तरीके को ओवरराइड नहीं किया है, तो फ़ील्ड सब-क्लास को फ़ील्ड सब-क्लास में रजिस्टर करने की कोशिश करना एक गड़बड़ी है. |
getAbsoluteXY_() | protected |
इस फ़ील्ड के ऊपरी-बाएं कोने के निरपेक्ष निर्देशांक दिखाएं. शुरुआत की जगह (0,0), पेज के मुख्य हिस्से का सबसे ऊपर बाईं ओर मौजूद होता है. |
getBorderRect() | protected |
बॉर्डर रेक्टैंगल एलिमेंट मिलता है. |
getClickTarget_() | protected |
क्लिक हैंडलर को बाइंड करने के लिए एलिमेंट. अगर यह नीति साफ़ तौर पर सेट नहीं की जाती है, तो फ़ील्ड का SVG रूट डिफ़ॉल्ट रूप से सेट हो जाता है. जब इस एलिमेंट पर बदलाव किए जा सकने वाले किसी फ़ील्ड पर क्लिक किया जाएगा, तो एडिटर खुलेगा. |
getConstants() | रेंडरर कॉन्सटेंट प्रोवाइडर डाउनलोड करें. | |
getDisplayText_() | protected |
ब्लॉक पर दिखाने के लिए इस फ़ील्ड से टेक्स्ट पाएं. एलिप्सिस और दूसरे फ़ॉर्मैट की वजह से, getText से अलग हो सकता है. |
getFlipRtl() | यह दिखाता है कि हमें RTL में फ़ील्ड को फ़्लिप करना चाहिए या नहीं. | |
getSize() | फ़ील्ड की ऊंचाई और चौड़ाई दिखाता है. *आम तौर पर* यही वह जगह होनी चाहिए जहां से रेंडर_ कॉल किया जाता है. |
|
getSourceBlock() | यह फ़ील्ड अटैच किया गया ब्लॉक पाएं. | |
getSvgRoot() | बदलाव किए जा सकने वाले इस फ़ील्ड के लिए ग्रुप एलिमेंट पाता है. इसका इस्तेमाल साइज़ मापने और पोज़िशन तय करने के लिए किया जाता है. | |
getText_() | protected |
इस फ़ील्ड के लौटाए गए टेक्स्ट को बदलने के लिए डेवलपर हुक. अगर इस फ़ील्ड की वैल्यू का टेक्स्ट प्रज़ेंटेशन, उसकी वैल्यू का सिर्फ़ स्ट्रिंग कास्ट नहीं है, तो इसे ओवरराइड करें. स्ट्रिंग कास्ट का इस्तेमाल करने के लिए, शून्य दिखाएं. |
getText() | इस फ़ील्ड से टेक्स्ट पाएं. किसी स्ट्रिंग पर वैल्यू को कास्ट करने के बजाय, एक अलग व्यवहार देने के लिए getText_ को ओवरराइड करें. | |
getTextContent() | protected |
टेक्स्ट कॉन्टेंट को ऐक्सेस किया जा सकता है. |
getTextElement() | protected |
टेक्स्ट एलिमेंट पाता है. |
getTooltip() | इस फ़ील्ड के लिए टूलटिप टेक्स्ट दिखाता है. | |
getValidator() | बदलाव करने लायक फ़ील्ड के लिए पुष्टि करने वाला फ़ंक्शन देता है या सेट न होने पर शून्य देता है. | |
getValue() | फ़ील्ड की मौजूदा वैल्यू पाएं. | |
initModel() | ब्लॉक पर इंस्टॉल होने के बाद, फ़ील्ड के मॉडल को शुरू करता है. डिफ़ॉल्ट रूप से कोई जवाब नहीं होता. | |
initView() | protected |
इस फ़ील्ड के लिए 'ब्लॉक करें' यूज़र इंटरफ़ेस (यूआई) बनाएं. |
isClickable() | देखें कि यह फ़ील्ड, showEditor_ फ़ंक्शन तय करता है या नहीं. | |
isClickableInFlyout(autoClosingFlyout) | जांचें कि जब ब्लॉक फ़्लायआउट में हो, तो फ़ील्ड पर क्लिक किया जा सकता है या नहीं. डिफ़ॉल्ट यह है कि फ़ील्ड हमेशा खुले रहने वाले फ़्लायआउट में क्लिक किए जा सकते हैं, जैसे कि सिंपल टूलबॉक्स, लेकिन कैटगरी टूलबॉक्स जैसे ऑटोक्लोज़िंग फ़्लाइआउट में नहीं. इस व्यवहार को बदलने के लिए सब-क्लास इस फ़ंक्शन को बदल सकती हैं. ध्यान दें कि इससे कोई असर पड़ेगा, इसके लिए isClickable को 'सही' दिखाना भी ज़रूरी है. |
|
isCurrentlyEditable() | देखें कि फ़िलहाल इस फ़ील्ड में बदलाव किया जा सकता है या नहीं. कुछ फ़ील्ड में कभी भी बदलाव नहीं किया जा सकता (जैसे कि टेक्स्ट लेबल). अन्य फ़ील्ड में बदलाव किया जा सकता है, लेकिन उनमें बदलाव नहीं किया जा सकता या वे फ़िलहाल बंद हो सकते हैं. | |
isEnabled() | देखें कि सोर्स ब्लॉक में बदलाव किए जाने की स्थिति में, एडिटर का इस्तेमाल करके इस फ़ील्ड की वैल्यू को बदला जा सकता है या नहीं. | |
isFullBlockField() | protected |
इससे तय होता है कि इस फ़ील्ड को पूरा ब्लॉक लेना चाहिए या नहीं. इस फ़ंक्शन को बदलते समय सावधानी बरतें. ऐसा हो सकता है कि यह आपकी उम्मीद या मकसद के मुताबिक काम न करे, क्योंकि इस तरह की गतिविधि को हैक किया गया था. अगर आपको इस फ़ंक्शन को बदलने का विचार करना है, तो अपने सही व्यवहार के साथ फ़ोरम पर पोस्ट करके देखें कि कोई दूसरा तरीका है या नहीं. |
isSerializable() | देखें कि इस फ़ील्ड को एक्सएमएल रेंडरर की मदद से सीरियलाइज़ किया जाना चाहिए या नहीं. पुराने सिस्टम के साथ काम करने की सुविधा और अलग-अलग स्थितियों के लॉजिक को हैंडल करता है. | |
isTabNavigable() | यह दिखाता है कि फ़ील्ड, टैब नेविगेट करने लायक है या नहीं. | |
isVisible() | इससे पता चलता है कि बदलाव किया जा सकने वाला यह फ़ील्ड दिख रहा है या नहीं. | |
loadLegacyState(callingClass, state) | दिए गए स्टेटस को या तो पुराने एक्सएमएल हुक का इस्तेमाल करके लोड करता है, अगर उनका इस्तेमाल किया जाना चाहिए. यह दिखाने के लिए 'सही' दिखाता है कि लोडिंग मैनेज कर दी गई है. अगर ऐसा नहीं होता है, तो 'गलत' दिखाता है. | |
onLocationChange(_) | उस फ़ील्ड को सूचना देता है जिसमें जगह बदल गई है. | |
onMouseDown_(e) | protected |
फ़ील्ड पर पॉइंटरडाउन इवेंट मैनेज करना. |
onShortcut(_shortcut) | दिए गए कीबोर्ड शॉर्टकट को हैंडल करता है. | |
positionBorderRect_() | protected |
साइज़ बदलने के बाद, फ़ील्ड के बॉर्डर रेक्टैंगल को जगह पर रखें. |
positionTextElement_(xOffset, contentwidth) | protected |
फ़ील्ड के टेक्स्ट एलिमेंट का साइज़ बदलने के बाद उसे पोज़िशन करें. यह एलटीआर और आरटीएल पोज़िशन, दोनों को हैंडल करता है. |
render_() | protected |
किसी भी डीओएम एलिमेंट को एक जगह से दूसरी जगह ले जाने/साइज़ बदलने और नया साइज़ पाने के लिए, getSize() का इस्तेमाल किया जाता है. ब्लॉक के साइज़/आकार पर असर डालने वाली सभी रेंडरिंग को यहां किया जाना चाहिए. इसे getSize() से ट्रिगर किया जाना चाहिए. |
repositionForWindowResize() | विंडो का साइज़ बदलने के दौरान, WidgetDiv की जगह बदलने के लिए डेवलपर हुक. अगर आपके फ़ील्ड में ऐसा WidgetDiv है जिसे विंडो का साइज़ बदलने पर अपनी पोज़िशन बदलनी है, तो आपको यह हुक तय करना होगा. उदाहरण के लिए, टेक्स्ट इनपुट फ़ील्ड इस हुक को तय करते हैं, ताकि इनपुट WidgetDiv विंडो साइज़ इवेंट पर अपनी जगह बदल सके. यह खास तौर पर तब ज़रूरी होता है, जब मोडल इनपुट बंद हों. ऐसा इसलिए है, क्योंकि सॉफ़्ट कीबोर्ड के खुलने पर Android डिवाइस, विंडो का साइज़ बदलने वाला इवेंट फ़ायर करेंगे. अगर आप चाहते हैं कि WidgetDiv की जगह बदलने के बजाय खुद को छिप जाए, तो 'गलत' डालें. यह डिफ़ॉल्ट व्यवहार है. ड्रॉपडाउन डिव्स का अपना पोजिशन लॉजिक पहले से ही इस्तेमाल होता है. इसलिए, अगर आपके फ़ील्ड में सिर्फ़ कोई ड्रॉपडाउन है, तो आपको इस फ़ंक्शन को बदलने की ज़रूरत नहीं है. |
|
saveLegacyState(callingClass) | protected |
अगर इसका इस्तेमाल किया जाना चाहिए, तो एक्सएमएल स्थिति का स्ट्रिंग वाला वर्शन दिखाता है. अगर ऐसा नहीं होता है, तो यह शून्य दिखाता है. इसलिए, फ़ील्ड को सिग्नल देने के लिए, क्रम तय करने की सुविधा का इस्तेमाल करना चाहिए. |
setEnabled(enabled) | सेट करें कि सोर्स ब्लॉक में बदलाव किए जा सकने पर, एडिटर का इस्तेमाल करके इस फ़ील्ड की वैल्यू को बदला जा सकता है या नहीं. | |
setSourceBlock(block) | इस फ़ील्ड को ब्लॉक में अटैच करें. | |
setTooltip(newTip) | इस फ़ील्ड के लिए टूलटिप सेट करता है. | |
setValidator(handler) | बदलाव किए जा सकने वाले फ़ील्ड के लिए, पुष्टि करने का नया फ़ंक्शन सेट करता है या पहले से सेट किए गए वैलिडेटर को हटाता है. पुष्टि करने वाला फ़ंक्शन, नई फ़ील्ड की वैल्यू लेता है और पुष्टि की गई वैल्यू दिखाता है. बदलाव को रद्द करने के लिए, पुष्टि की गई वैल्यू, इनपुट वैल्यू, उसका बदला गया वर्शन या शून्य हो सकती है. अगर फ़ंक्शन कुछ भी नहीं देता है या तय नहीं होता है, तो नई वैल्यू को मान्य के तौर पर स्वीकार कर लिया जाता है. ऐसा इसलिए किया जाता है, ताकि फ़ील्ड-लेवल पर बदलाव की सूचना पाने वाले फ़ील्ड में, पुष्टि किए गए फ़ंक्शन का इस्तेमाल किया जा सके. |
|
setValue(newValue, fireChangeEvent) | इसका इस्तेमाल, फ़ील्ड की वैल्यू बदलने के लिए किया जाता है. पुष्टि और इवेंट मैनेज करता है. सब-क्लास को इस तरीके के बजाय, doClassValidation_ और doValueUpdate_ को बदलना चाहिए. | |
showEditor_(_e) | protected |
फ़ील्ड के लिए एडिटर बनाने के लिए डेवलपर हुक. यह सुविधा डिफ़ॉल्ट रूप से काम नहीं करती. एडिटर बनाने के लिए, इसे ओवरराइड करना ज़रूरी है. |
updateEditable() | यूज़र इंटरफ़ेस (यूआई) जोड़ें या हटाएं, जिससे यह पता चलता है कि इस फ़ील्ड में बदलाव किया जा सकता है या नहीं. | |
updateSize_(margin) | protected |
टेक्स्ट के आधार पर, फ़ील्ड का साइज़ अपडेट करता है. |