blockly > Alan

Alan sınıfı

Düzenlenebilir bir alan için soyut sınıf.

İmza:

export declare abstract class Field<T = any> implements IASTNodeLocationSvg, IASTNodeLocationWithBlock, IKeyboardAccessible, IRegistrable, ISerializable 

Uygulandığı yer: IASTNodeLocationSvg, IASTNodeLocationWithBlock, IKeyboardAccessible, IRegistrable, ISerializable

Markalar

Marka Değiştiriciler Açıklama
(oluşturucu)(değer; doğrulayıcı; yapılandırma) Field sınıfının yeni bir örneğini oluşturur

Özellikler

Özellik Değiştiriciler Tür Açıklama
borderRect_ protected SVGRectElement | boş Oluşturulan alanın SVG kenarlık öğesi.
clickTarget_ protected Öğe | boş Tıklama işleyicinin bağlı olduğu öğe.
constants_ protected ConstantProvider | boş Kaynak blokun oluşturucusuyla ilişkili sabitler.
İMLEÇ dize Düzenleyiciyi başlatan hotspot'un üzerine gelindiğinde fare imleci stili.
DEFAULT_VALUE Tr | boş

**Field**'da ayarlanan varsayılan değerin üzerine yazmak için doğrudan prototipi güncelleyin.

Örnek: FieldImage.prototype.DEFAULT_VALUE = null;

DÜZENLENEBİLİR boolean Düzenlenebilir alanlarda genellikle bunların düzenlenebilir olduğunu belirten bir tür kullanıcı arayüzü gösterilir. Bu mesajlar serileştirici tarafından da kaydedilir.
enabled_ protected boolean Alan değeri, düzenlenebilir bir bloktaki düzenleyici kullanılarak değiştirilebilir mi?
fieldGroup_ protected SVGGElement | boş Oluşturulan alanın SVG grup öğesi.
isDirty_ protected boolean Bu blokun yeniden oluşturulması gerekiyor mu?
maxDisplayLength sayı Üç nokta eklenmeden önce gösterilecek maksimum metin karakter sayısı.
ad? dize (İsteğe bağlı) Alanın adı. Her blok içinde benzersizdir. Statik etiketler genellikle adsızdır.
NBSP

static

readonly

(bildirilmedi) Boşluksuzdur.
SERİ OLUŞTURULABİLİR boolean Serileştirilebilen alanlar, serileştirici tarafından kaydedilir, seri haline getirilemeyen alanlar ise kaydedilmez. Düzenlenebilir alanlar da serileştirilebilir olmalıdır. SERIALIZABLE'ın geriye dönük uyumluluğa sahip olması için bu varsayılan durum geçerli değildir.
size_ protected Boyut
SKIP_SETUP

static

readonly

benzersiz simge Bir alanın kurucusunun alanın değerini *ayarlamaması* veya "config_" komutunu çalıştırması gerektiği ve bunun yerine bir alt sınıfın bunu yapmasına izin vermesi gerektiği zamanı bildirmek için kullanılan değer.
sourceBlock_ protected Engelle | boş Bu alanın ekli olduğu blok. Boş olarak başlar ve init içinde ayarlanır.
textContent_ protected Metin | boş Oluşturulan alanın metin içeriği öğesi.
textElement_ protected SVGTextElement | boş Oluşturulan alanın SVG metin öğesi.
validator_ protected FieldValidator&lt;T&gt; | boş Kullanıcı düzenlenebilir bir alanı düzenlediğinde çağrılan doğrulama işlevi.
value_ protected Tr | boş
visible_ protected boolean Alan görünür durumda mı yoksa blokun daraltılması nedeniyle gizleniyor mu?

Yöntemler

Yöntem Değiştiriciler Açıklama
applyColour()

Alanı, blokun rengine/stiline uyacak şekilde günceller.

Alanın rengi blokun rengine bağlıysa, soyut olmayan alt sınıflar bunu uygulamak isteyebilir. Alakalı zamanlarda (ör. üst blok veya oluşturucunun değişmesi) otomatik olarak çağrılır.

Daha fazla bilgi için alan belgelerine veya örnek için FieldDropdown'a göz atın.

bindEvents_() protected Etkinlikleri alana bağlayın. Özel giriş işleme yapılması gerekiyorsa alt sınıflar tarafından geçersiz kılınabilir.
configure_(config) protected Alana iletilen yapılandırma eşlemesini işleyin.
createBorderRect_() protected Alan kenarlığı dikdörtgen öğesi oluşturun. Alt sınıflar tarafından geçersiz kılınmamalıdır. Bunun yerine, initView içinde işlevin sonucunu değiştirin veya çağırmak için ayrı bir işlev oluşturun.
createTextElement_() protected Alan metin öğesi oluşturun. Alt sınıflar tarafından geçersiz kılınmamalıdır. Bunun yerine, initView içinde işlevin sonucunu değiştirin veya çağırmak için ayrı bir işlev oluşturun.
doClassValidation_(newValue) protected

Bir alanın değerinde yapılan değişiklikleri ayarlamadan önce doğrulayın. Alt sınıf uygulamasının bir örneği için **FieldDropdown**'a bakın.

**NOT:** Doğrulama; T, null ve undefined arasında bir seçenek döndürür. **Alan** uygulaması hiçbir zaman undefined değerini döndürmez, ancak yeni değer T ile uyumluysa alt sınıfın undefined döndürmesi için geçerlidir.

doClassValidation_(newValue) protected
doValueGeçersiz_(_geçersizValue, _fireChangeEvent) protected Alana geçersiz değer girildiğini bildirmek için kullanılır. Alt sınıflar tarafından geçersiz kılınabilir (bkz. FieldTextInput). Varsayılan olarak işlem yok.
doValueUpdate_(newValue) protected Bir alanın değerini güncellemek için kullanılır. Değerlerin özel olarak depolanması/harici öğelerin güncellenmesi için alt sınıflar tarafından geçersiz kılınabilir.
fromJson(_options) static

Alt sınıflar, Field alt sınıflarını bir JSON bağımsız değişken nesnesinden oluşturmak için bu yöntemi yeniden uygulamalıdır.

Bir alt sınıf, bu yöntemi geçersiz kılmadıysa FieldRegistry'de bir alan alt sınıfı kaydedilmeye çalışılırsa hata oluşur.

getAbsoluteXY_() protected Bu alanın sol üst köşesinin mutlak koordinatlarını döndürün. Kaynak (0,0), sayfa gövdesinin sol üst köşesidir.
getBorderRect() protected Kenarlık dikdörtgen öğesini alır.
getClickTarget_() protected Tıklama işleyicinin bağlanacağı öğe. Açıkça ayarlanmazsa varsayılan olarak alanın SVG kökü kullanılır. Bu öğe düzenlenebilir bir alana tıklandığında düzenleyici açılır.
getConstants() Oluşturucu sabit sağlayıcı sağlayıcısını alın.
getDisplayText_() protected Bu alandan gelen metni blokta görüntülenecek şekilde alın. Üç nokta ve diğer biçimlendirmeler nedeniyle getText özelliğinden farklı olabilir.
getFlipRtl() RTL'de alanı çevirmemiz gerekip gerekmediğini döndürür.
getSize()

Alanın yüksekliğini ve genişliğini döndürür.

*Genel olarak* oluşturucunun çağrıldığı tek yer bu olmalıdır.

getSourceBlock() Bu alanın bağlı olduğu bloğu alın.
getSvgRoot() Bu düzenlenebilir alan için grup öğesini alır. Boyutu ölçmek ve konumlandırmak için kullanılır.
getText_() protected Bu alanda döndürülen metni geçersiz kılmak için bir geliştirici kancası. Bu alanın değerinin metin gösterimi yalnızca değer dizesinin gösterimi değilse geçersiz kılın. Dize yayınına başvurmak için null değerini döndürün.
getText() Bu alandaki metni alın. Değeri bir dizeye yayınlamaktan farklı bir davranış sağlamak için getText_ değerini geçersiz kılın.
getTextContent() protected Metin içeriğini alır.
getTextElement() protected Metin öğesini alır.
getTooltip() Bu alan için ipucu metnini döndürür.
getValidator() Düzenlenebilir alanlar için doğrulama işlevini veya ayarlanmamışsa null değerini alır.
getValue() Alanın geçerli değerini alın.
initModel() Bir bloka yüklendikten sonra alanın modelini başlatır. Varsayılan olarak işlem yok.
initView() protected Bu alan için blok kullanıcı arayüzünü oluşturun.
isClickable() Bu alanın showEditor_ işlevini tanımlayıp tanımlamadığını kontrol edin.
isClickableInFlyout(autoClosingFlyout) Blok bir açılır penceredeyken alanın tıklanabilir olup olmadığını kontrol edin. Varsayılan değer, basit araç kutusu gibi her zaman açık olan açılır menülerde alanların tıklanabilir olması, ancak kategori araç kutusu gibi otomatik kapanan açılır menülerde tıklanmamasıdır. Alt sınıflar, bu davranışı değiştirmek için bu işlevi geçersiz kılabilir. Bunun etkili olabilmesi için isClickable işlevinin de doğru değerini döndürmesi gerektiğini unutmayın.
isCurrentlyEditable() Bu alanın şu anda düzenlenebilir olup olmadığını kontrol edin. Bazı alanlar (ör. metin etiketleri) hiçbir zaman DÜZENLENEMEZ durumunda değildir. Diğer alanlar DÜZENLENEBİLİR olabilir, ancak düzenlenemeyen bloklarda bulunabilir veya şu anda devre dışı olabilir.
isEnabled() Kaynak blok düzenlenebilir olduğunda bu alanın değerinin düzenleyici kullanılarak değiştirilip değiştirilemeyeceğini kontrol edin.
isFullBlockField() protected

Bu alanın tüm bloğu kullanıp kullanmayacağını tanımlar.

Bu işlevi geçersiz kılarken dikkatli olun. Saldırıya uğramış bir davranış olduğu için, beklediğiniz / istediğiniz gibi çalışmayabilir. Bu işlevi geçersiz kılmayı düşünüyorsanız başka bir yaklaşım olup olmadığını görmek için istediğiniz davranışı forumda yayınlayın.

isSerializable() Bu alanın XML oluşturucu tarafından serileştirilmesi gerekip gerekmediğini kontrol edin. Geriye dönük uyumluluk ve tutarsız durumlar ile ilgili mantığı yönetir.
isTabNavigable() Alanın sekmede gezinmeye uygun olup olmadığını döndürür.
isVisible() Bu düzenlenebilir alanın görünür olup olmadığını alır.
loadLegacyState(callingClass, state) Belirtilen durumu, eski XML kancalarından birini kullanarak yükler (kullanılması gerekiyorsa). Yükleme işleminin işlendiğini belirtmek için true (doğru), aksi takdirde false (yanlış) değerini döndürür.
onLocationChange(_) Alana, konumlarını değiştirdiğini bildirir.
onMouseDown_(e) protected Bir alanda işaretçi aşağı etkinlik yönetebilir.
onShortcut(_shortcut) Belirtilen klavye kısayolunu işler.
positionBorderRect_() protected Boyut değişikliğinden sonra bir alanın kenarlık dikdörtgenini konumlandırma.
positionTextElement_(xOfset, contentWidth) protected Boyut değişikliğinden sonra bir alanın metin öğesini konumlandırın. Bu, hem LTR hem de sağdan sola konumlandırmasını kapsar.
render_() protected

DOM öğelerini taşımak/yeniden boyutlandırmak ve yeni boyutu almak için getSize() tarafından kullanılır.

Bloğun boyutu/şekli üzerinde etkisi olan tüm oluşturmalar burada yapılmalı ve getSize() tarafından tetiklenmelidir.

repositionForWindowResize()

Pencere yeniden boyutlandırma sırasında WidgetDiv'i yeniden konumlandırmak için kullanılan bir geliştirici kancası. Alanınızda, pencere yeniden boyutlandırıldığında kendini yeniden konumlandırması gereken bir WidgetDiv varsa bu kancayı tanımlamanız gerekir. Örneğin, metin giriş alanları bu kancayı tanımlar, böylece WidgetDiv girişi bir pencere yeniden boyutlandırma etkinliğinde kendini yeniden konumlandırabilir. Android cihazlar, sanal klavye açıldığında bir pencere yeniden boyutlandırma etkinliği tetikleyeceğinden bu, özellikle kalıcı girişler devre dışı olduğunda önemlidir.

WidgetDiv'in yeniden konumlandırmak yerine kendini gizlemesini istiyorsanız false (yanlış) değerini döndürün. Bu, varsayılan davranıştır.

DropdownDivs zaten kendi konumlandırma mantığını yönetir. Bu nedenle, alanınızda yalnızca DropdownDiv varsa bu işlevi geçersiz kılmanıza gerek yoktur.

saveLegacyState(callingClass) protected XML durumunun dizeleştirilmiş sürümünü döndürür (kullanılması gerekiyorsa). Aksi takdirde, alanın kendi serileştirmesini kullanması gerektiğini belirtmek için null değeri döndürülür.
setEnabled(enabled) Kaynak blok düzenlenebilir olduğunda bu alanın değerinin düzenleyici kullanılarak değiştirilip değiştirilemeyeceğini ayarlayın.
setSourceBlock(block) Bu alanı bir bloka ekleyin.
setTooltip(newTip) Bu alan için ipucunu ayarlar.
setValidator(handler)

Düzenlenebilir alanlar için yeni bir doğrulama işlevi ayarlar veya önceden ayarlanmış bir doğrulayıcıyı temizler.

Doğrulayıcı işlevi, yeni alan değerini alır ve doğrulanmış değeri döndürür. Doğrulanan değer; giriş değeri, giriş değerinin değiştirilmiş bir sürümü veya değişikliği iptal etmek için boş değer olabilir.

İşlev hiçbir şey döndürmezse (veya tanımsız döndürürse) yeni değer geçerli olarak kabul edilir. Böylece, doğrulanmış işlevi alan düzeyinde değişiklik etkinliği bildirimi olarak kullanan alanlara izin verebilirsiniz.

setValue(newValue, fireChangeEvent) Alanın değerini değiştirmek için kullanılır. Doğrulama ve etkinlikleri işler. Alt sınıflar, bu yöntem yerine doClassValidation_ ve doValueUpdate_ özelliklerini geçersiz kılmalıdır.
showEditor_(_e) protected Alan için düzenleyici oluşturmak üzere bir geliştirici kancası. Bu, varsayılan olarak işlemsizdir ve düzenleyici oluşturmak için geçersiz kılınmalıdır.
updateEditable() Bu alanın düzenlenebilir olup olmadığını gösteren kullanıcı arayüzünü ekleyin veya kaldırın.
updateSize_(margin) protected Alanın boyutunu metne göre günceller.