حصة ميدانية
فئة تجريدية لحقل قابل للتعديل.
Signature:
export declare abstract class Field<T = any> implements IASTNodeLocationSvg, IASTNodeLocationWithBlock, IKeyboardAccessible, IRegistrable, ISerializable
ينفّذ: IASTNodeLocationSvg وIASTNodeLocationWithBlock وIKeyboardAccessible وIRegistrable وISerializable
الشركات المصنِّعة
الشركة المصنِّعة | مفاتيح التعديل | الوصف |
---|---|---|
(Buildor)(value, validator, config) | تنشئ هذه الدالة مثيلاً جديدًا من الفئة Field . |
أماكن إقامة
الموقع | مفاتيح التعديل | Type | الوصف |
---|---|---|---|
borderRect_ | protected |
SVGRectElement | فارغ | عنصر حدود SVG للحقل المعروض. |
clickTarget_ | protected |
العنصر | قيمة فارغة | العنصر الذي يرتبط به معالج النقرات. |
constants_ | protected |
ConstantProvider | قيمة فارغة | الثوابت المرتبطة بعارض مجموعة المصدر |
المؤشر | سلسلة | نمط مؤشر الماوس عند تمريره فوق نقطة الاتصال التي تبدأ بدء المحرّر. | |
DEFAULT_VALUE | T | لا شيء | لاستبدال القيمة التلقائية التي تم ضبطها في **الحقل**، عليك تعديل النموذج الأوّلي مباشرةً. مثال: |
|
قابل للتعديل | boolean | تعرض الحقول القابلة للتعديل عادةً نوعًا من واجهة المستخدم تشير إلى أنّها قابلة للتعديل. سيتم أيضًا حفظها من خلال المتسلسل. | |
enabled_ | protected |
boolean | هل يمكن تغيير قيمة الحقل باستخدام أداة التعديل في كتلة قابلة للتعديل؟ |
fieldGroup_ | protected |
SVGGElement | فارغ | عنصر مجموعة SVG للحقل المعروض |
isDirty_ | protected |
boolean | هل يجب إعادة عرض هذه المجموعة؟ |
maxDisplayLength | الرقم | الحد الأقصى لعدد أحرف النص المطلوب عرضه قبل إضافة علامة حذف. | |
الاسم؟ | سلسلة | (اختياري) اسم الحقل فريد ضمن كل قطعة. عادةً ما تكون التسميات الثابتة بدون تسمية. | |
NBSP |
|
(غير معلَن) | مساحة غير منفصلة |
قابل للعرض | boolean | يتم حفظ الحقول القابلة للتسلسل بواسطة التسلسل، والحقول غير القابلة للتسلسل. يجب أن تكون الحقول القابلة للتعديل أيضًا قابلة للتسلسل. هذا ليس هو الحال افتراضيًا بحيث تكون SERIALIZABLE متوافقة مع الأنظمة القديمة. | |
size_ | protected |
الحجم | |
SKIP_SETUP |
|
رمز فريد | يشير ذلك المصطلح إلى قيمة تُستخدَم للإشارة إلى الوقت الذي يجب فيه *لا* تحدِّد الدالة الإنشائية للحقل قيمة الحقل أو تنفيذ Setup_ ، ويجب أن تسمح لفئة فرعية بذلك بدلاً من ذلك. |
sourceBlock_ | protected |
حظر | فارغ | حظر هذا الحقل مرفق به. تبدأ بقيمة خالية، ثم يتم تعيينها في init. |
textContent_ | protected |
نص | قيمة فارغة | عنصر المحتوى النصي للحقل المعروض. |
textElement_ | protected |
SVGTextElement | فارغ | العنصر النصي SVG للحقل المعروض |
validator_ | protected |
FieldValidator<T> | قيمة فارغة | يتم استدعاء وظيفة التحقق من الصحة عندما يعدّل المستخدم حقلاً قابلاً للتعديل. |
value_ | protected |
T | لا شيء | |
visible_ | protected |
boolean | هل الحقل مرئي أو مخفي بسبب تصغير الكتلة؟ |
الطُرق
الطريقة | مفاتيح التعديل | الوصف |
---|---|---|
applyColour() | يتم تعديل الحقل ليلائم لون أو نمط القطعة. قد ترغب الفئات الفرعية غير المجردة في تنفيذ ذلك إذا كان لون الحقل يعتمد على لون القطعة. وسيتم طلبها تلقائيًا في الأوقات المناسبة، مثلاً عند تغيير المجموعة الرئيسية أو العارض. يمكنك الاطّلاع على مستندات الحقول للحصول على مزيد من المعلومات، أو الاطّلاع على الحقل "قائمة منسدلة" للحصول على مثال. |
|
bindEvents_() | protected |
ربط الأحداث بالحقل. يمكن إلغاء هذا الإعداد من خلال الفئات الفرعية إذا كانت بحاجة إلى إجراء معالجة مخصصة للإدخالات. |
configure_(config) | protected |
معالجة خريطة الضبط التي تم تمريرها إلى الحقل |
createBorderRect_() | protected |
أنشئ عنصر مستطيل لحدود الحقل. يجب ألا يتم تجاوزها بواسطة الفئات الفرعية. بدلاً من ذلك، يمكنك تعديل نتيجة الدالة داخل initView، أو إنشاء دالة منفصلة لطلبها. |
createTextElement_() | protected |
أنشئ عنصرًا نصيًا للحقل. يجب ألا يتم تجاوزها بواسطة الفئات الفرعية. بدلاً من ذلك، يمكنك تعديل نتيجة الدالة داخل initView، أو إنشاء دالة منفصلة لطلبها. |
doClassValidation_(newValue) | protected |
تحقَّق من صحة التغييرات التي تم إجراؤها على قيمة الحقل قبل ضبطها. راجِع **FieldDropdown** للحصول على مثال على تنفيذ الفئة الفرعية. **ملاحظة:** تعرض عملية التحقّق خيارًا واحدًا بين |
doClassValidation_(newValue) | protected |
|
doValueInvalid_(_invalidValue) | protected |
يتم استخدامه لإشعار الحقل بأنه تم إدخال قيمة غير صالحة. يمكن تجاوزها بواسطة الفئات الفرعية، راجع FieldTextInput. بيئة مستقلة. |
doValueUpdate_(newValue) | protected |
تُستخدَم لتعديل قيمة أحد الحقول. يمكن تجاوزها من خلال الفئات الفرعية لإجراء تخزين مخصص لقيم/تحديث عناصر خارجية. |
getAbsoluteXY_() | protected |
اعرض الإحداثيات المطلقة بأعلى اليسار في هذا الحقل. المصدر (0,0) هو أعلى يمين نص الصفحة. |
getBorderRect() | protected |
للحصول على عنصر مستطيل الحدود. |
getClickTarget_() | protected |
العنصر المطلوب ربط معالج النقرات به وفي حال عدم ضبطها بشكل صريح، سيتم ضبطها تلقائيًا على جذر SVG للحقل. عند النقر على هذا العنصر في حقل قابل للتعديل، سيتم فتح المحرر. |
getConstants() | الحصول على مقدّم خدمات العرض الثابت | |
getDisplayText_() | protected |
احصل على النص من هذا الحقل لعرضه على القطعة. قد يختلف عن getText بسبب علامة الحذف والتنسيقات الأخرى. |
getFlipRtl() | تعرض ما إذا كان علينا قلب الحقل في اليمين أم لا. | |
getSize() | لعرض ارتفاع الحقل وعرضه. ومن المفترض أن يكون هذا *عمومًا* هو المكان الوحيد الذي يتم طلب عرض_ منه. |
|
getSourceBlock() | احصل على المجموعة التي تم إرفاق هذا الحقل بها. | |
getSvgRoot() | تحصل على عنصر المجموعة لهذا الحقل القابل للتعديل. يُستخدم لقياس الحجم وتحديد الموضع. | |
getText_() | protected |
ميزة جذب للمطوِّر لإلغاء النص المعروض في هذا الحقل يمكنك الإلغاء إذا كان التمثيل النصي لقيمة هذا الحقل ليس مجرد تمثيل سلسلة لقيمته. قم بإعادة قيمة فارغة إلى اللجوء إلى تحويل سلسلة. |
getText() | احصل على النص من هذا الحقل. يمكنك تجاوز getText_ لتقديم سلوك مختلف عن مجرد إرسال القيمة إلى سلسلة. | |
getTextContent() | protected |
الحصول على المحتوى النصي. |
getTextElement() | protected |
يتم الحصول على العنصر النصي. |
getTooltip() | عرض نص التلميح لهذا الحقل. | |
getValidator() | للحصول على دالة التحقق من صحة الحقول القابلة للتعديل، أو قيمة فارغة إذا لم يتم ضبطها. | |
getValue() | احصل على القيمة الحالية للحقل. | |
initModel() | يقوم بإعداد نموذج الحقل بعد تثبيته على كتلة. بيئة مستقلة. | |
initView() | protected |
يمكنك إنشاء واجهة مستخدم للكتلة لهذا الحقل. |
isClickable() | تحقّق مما إذا كان هذا الحقل يحدّد دالة showEditor_. | |
isClickableInFlyout(autoClosingFlyout) | تحقَّق مما إذا كان يجب أن يكون الحقل قابلاً للنقر عندما تكون المربّع في قائمة منبثقة. الإعداد التلقائي هو أن الحقول قابلة للنقر في الصفحات المفتوحة دائمًا، مثل صندوق الأدوات البسيط، ولكن ليس في صفحات الإغلاق التلقائي مثل مربع أدوات الفئات. قد تلغي الفئات الفرعية هذه الدالة لتغيير هذا السلوك. لاحظ أنه يجب أيضًا أن تعرض isClickable القيمة "true" حتى يكون لذلك أي تأثير. |
|
isCurrentlyEditable() | تحقَّق مما إذا كان هذا الحقل قابلاً للتعديل حاليًا أم لا. لا يمكن أبدًا تعديل بعض الحقول (مثل التصنيفات النصية). قد تكون الحقول الأخرى قابلة للتعديل، ولكنها قد تكون موجودة في وحدات سكنية غير قابلة للتعديل أو تكون غير مفعّلة حاليًا. | |
isEnabled() | تحقَّق مما إذا كان يمكن تغيير قيمة هذا الحقل باستخدام المحرِّر عندما يكون كتلة المصدر قابلاً للتعديل. | |
isFullBlockField() | protected |
تحدد ما إذا كان يجب أن يشغل هذا الحقل الجزء الكامل أم لا. يُرجى توخي الحذر عند إلغاء هذه الدالة. وقد لا يعمل على النحو الذي تتوقعه أو مقصودًا بسبب تعرّض السلوك للاختراق. إذا كنت تفكر في إلغاء هذه الوظيفة، فانشر على المنتدى بالسلوك المقصود لمعرفة ما إذا كان هناك نهج آخر. |
isSerializable() | تحقَّق مما إذا كان يجب إنشاء تسلسل لهذا الحقل بواسطة عارض XML. تعالج منطق التوافق مع الأنظمة القديمة والحالات المتعارضة. | |
isTabNavigable() | تعرض ما إذا كان الحقل قابلاً للتنقُّل فيه باستخدام علامة التبويب أم لا. | |
isVisible() | لمعرفة ما إذا كان هذا الحقل القابل للتعديل مرئيًا أم لا. | |
loadLegacyState(callingClass, state) | تعمل هذه الدالة على تحميل الحالة المحدّدة باستخدام مواضع إدراج XML القديمة، إذا كان يجب استخدامها. تعرض القيمة "true" للإشارة إلى أنه تمت معالجة التحميل، أو "false" في الحالات الأخرى. | |
onLocationChange(_) | تُعلم الحقل بأنه تم تغيير المواقع الجغرافية لها. | |
onMouseDown_(e) | protected |
نفِّذ حدث مؤشر للأسفل في أحد الحقول. |
onShortcut(_shortcut) | لمعالجة اختصار لوحة المفاتيح المحدد. | |
positionBorderRect_() | protected |
ضع مستطيل حدود الحقل بعد تغيير الحجم. |
positionTextElement_(xOffset, content width) | protected |
وضع العنصر النصي للحقل بعد تغيير الحجم. يشمل ذلك تحديد موضعَي LTR وRTL. |
render_() | protected |
يُستخدم بواسطة getSize() لنقل/تغيير حجم أي عناصر DOM والحصول على الحجم الجديد. ويجب تنفيذ جميع عمليات العرض التي تؤثر على حجم/شكل الكتلة هنا، ويجب تشغيلها باستخدام getSize(). |
repositionForWindowResize() | عنصر جذب للمطوّر لإعادة ضبط موضع WidgetDiv أثناء تغيير حجم النافذة. تحتاج إلى تعريف هذا الخطاف إذا كان الحقل يحتوي على WidgetDiv يحتاج إلى تغيير موضعه عند تغيير حجم النافذة. على سبيل المثال، تُحدد حقول إدخال النص هذا العنصر حتى يتمكن عنصر WidgetDiv للإدخال من تغيير موضعه في حدث تغيير حجم النافذة. ويحظى هذا الأمر بأهمية خاصة عند إيقاف الإدخالات المشروطة، لأنّ أجهزة Android ستطلق حدث تغيير حجم النافذة عند فتح لوحة المفاتيح المشروطة. إذا كنت تريد أن تخفي أداة WidgetDiv نفسها بدلاً من تغيير الموضع، يمكنك عرض القيمة false. وهذا هو الخيار التلقائي. تعالج DropdownDivs حاليًا منطق تحديد الموضع الخاص بها، لذلك لن تحتاج إلى إلغاء هذه الدالة إذا كان الحقل لا يحتوي إلا على DropdownDiv. |
|
saveLegacyState(callingClass) | protected |
تعرض نسخة نصية من حالة XML، إذا كان يجب استخدامها. وبخلاف ذلك، يؤدي هذا إلى إرجاع فارغ، للإشارة إلى أن الحقل يجب أن يستخدم التسلسل الخاص به. |
setEnabled(enabled) | اضبط ما إذا كان يمكن تغيير قيمة هذا الحقل باستخدام المحرِّر عندما يكون كتلة المصدر قابلاً للتعديل. | |
setSourceBlock(block) | أرفِق هذا الحقل بجزء. | |
setTooltip(newTip) | تعمل على ضبط التلميح المتعلّق بهذا الحقل. | |
setValidator(handler) | لضبط دالة تحقّق جديدة للحقول القابلة للتعديل، أو محو أداة التحقّق التي تم إعدادها سابقًا تستخدم دالة المدقق قيمة الحقل الجديدة، وتعرض القيمة التي تم التحقق من صحتها. قد تكون القيمة التي تم التحقّق من صحتها هي قيمة الإدخال أو نسخة معدّلة من قيمة الإدخال أو قيمة فارغة لإلغاء التغيير. إذا لم ترجع الدالة أي شيء (أو تعرض غير محدد)، يتم قبول القيمة الجديدة كصالحة. ويسمح هذا الإجراء للحقول التي تستخدم الدالة التي تم التحقّق من صحتها كإشعار بحدث تغيير على مستوى الحقل. |
|
setValue(newValue, fireChangeEvent) | يُستخدَم لتغيير قيمة الحقل. تتعامل مع عمليات التحقّق من الصحة والأحداث. يجب أن تتجاوز الفئات الفرعية doClassServiceation_ وdoValueUpdate_ بدلاً من هذه الطريقة. | |
showEditor_(_e) | protected |
عنصر جذب للمطوّر لإنشاء محرّر للحقل هذه هي بيئة مستقلة تلقائيًا، ويجب تجاوزها لإنشاء محرر. |
updateEditable() | أضِف أو أزِل واجهة المستخدم التي تشير إلى ما إذا كان هذا الحقل قابلاً للتعديل أم لا. | |
updateSize_(margin) | protected |
تُعدِّل حجم الحقل استنادًا إلى النص. |