blockly > Alan

Saha 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ığı özellikler: IASTNodeLocationSvg, IASTNodeLocationWithBlock, IKeyboardAccessible, IRegistrable, ISerializable

Markalar

Marka Değiştiriciler Açıklama
(oluşturmacı)(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 | null Oluşturulan alanın SVG kenarlık öğesi.
clickTarget_ protected Öğe | null Tıklama işleyicinin bağlı olduğu öğe.
constants_ protected ConstantProvider | null Kaynak blokun oluşturucusuyla ilişkili sabitler.
İmleç dize Düzenleyiciyi başlatan hotspot'un üzerine gelindiğinde fare imleci stili.
DEFAULT_VALUE T | null

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

Örnek: FieldImage.prototype.DEFAULT_VALUE = null;

DÜZENLENEBİLİR boolean Düzenlenebilir alanlar, genellikle düzenlenebilir olduklarını gösteren bir tür kullanıcı arayüzü gösterir. Bunlar serileştirici tarafından da kaydedilir.
enabled_ protected boolean Alan değeri, düzenlenebilir blok üzerindeki düzenleyici kullanılarak değiştirilebilir mi?
fieldGroup_ protected SVGGElement | null Oluşturulan alanın SVG grubu öğesi.
isDirty_ protected boolean Bu bloğun yeniden oluşturulması gerekiyor mu?
maxDisplayLength sayı Üç nokta eklemeden önce görüntülenecek maksimum metin karakteri.
ad? dize (İsteğe bağlı) Alanın adı. Her blok içinde benzersizdir. Statik etiketler genellikle adsızdır.
NTV

static

readonly

(beyan edilmedi) Bölünemez boşluk.
SERİ KULLANILABİLİR boolean Serileştirilebilir alanlar serileştirici tarafından kaydedilir, serileştirilemeyen alanlar kaydedilmez. Düzenlenebilir alanlar da seri hale getirilebilir olmalıdır. SERIALIZABLE geriye dönük olarak uyumlu olduğu için bu durum varsayılan olarak geçerli değildir.
size_ protected Boyut
SKIP_SETUP

static

readonly

benzersiz simge Bir alan oluşturucunun, alanın değerini ayarlamaması veya "config_ çalıştırmaması*" gerektiği ve bir alt sınıfın bunu yapmasına izin verdiği durumların sinyalini vermek için kullanılan değer.
sourceBlock_ protected Engelle | null Bu alanın ekli olduğunu engelle. Null olarak başlar, ardından init olarak ayarlanır.
textContent_ protected Metin | null Oluşturulan alanın metin içeriği öğesi.
textElement_ protected SVGTextElement | null Oluşturulan alanın SVG metin öğesi.
validator_ protected FieldValidator<T> | null Kullanıcı düzenlenebilir bir alanı düzenlediğinde çağrılan doğrulama işlevi.
value_ protected T | null
visible_ protected boolean Alan görünür mü veya blok daraltıldığı için gizlenmiş mi?

Yöntemler

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

Alanı, bloğun rengine/stiline uyacak şekilde günceller.

Alanın rengi bloğun rengine bağlıysa, soyut olmayan alt sınıflar bunu uygulamak isteyebilir. Üst blok veya oluşturucunun değişmesi gibi alakalı zamanlarda otomatik olarak çağrılır.

Daha fazla bilgi için alan dokümanlarına bakın veya bir örnek için FieldDropdown'a bakın.

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

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

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

doClassValidation_(newValue) protected
doValueInvalid_(_invalidValue) protected Alana geçersiz bir değerin girildiğini bildirmek için kullanılır. Alt sınıflar tarafından geçersiz kılınabilir. FieldTextInput konusuna bakın. 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.
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 değeri kullanılır. Bu öğe, düzenlenebilir bir alana tıklandığında düzenleyici açılır.
getConstants() Oluşturucu sabit sağlayıcısını alın.
getDisplayText_() protected Blokta görüntülenecek metni bu alandan alın. Üç nokta ve diğer biçimlendirmeler nedeniyle getText değerinden farklı olabilir.
getFlipRtl() Alanı RTL'de çevirmemiz gerekip gerekmediğini döndürür.
getSize()

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

*Genel olarak* bu, create_ öğesinin çağrıldığı tek yer 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 alanın döndürülen metnini geçersiz kılmak için bir geliştirici kancası. Bu alanın değerinin metin gösterimi, değeri yalnızca dize yayınından ibaret değilse geçersiz kılın. Bir dize yayınına odaklanmak için null değerini döndürün.
getText() Metni bu alandan 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ırken alanın tıklanabilir olup olmayacağını kontrol edin. Varsayılan olarak, alanlar basit araç kutusu gibi her zaman açık olan sayfalarda tıklanabilir, kategori araç kutusu gibi otomatik kapanan kampanyalarda tıklanabilir değildir. Alt sınıflar, bu davranışı değiştirmek için bu işlevi geçersiz kılabilir. Bunun etkili olabilmesi için isClickable parametresinin de true (doğru) döndürmesi gerektiğini unutmayın.
isCurrentlyEditable() Bu alanın şu anda düzenlenebilir olup olmadığını kontrol edin. Bazı alanlar hiçbir zaman DÜZENLENEMEZ (ör. metin etiketleri). Diğer alanlar DÜZENLENEBİLİR olabilir, ancak düzenlenebilir olmayan bloklarda mevcut veya şu anda devre dışı olabilir.
isEnabled() Kaynak blok düzenlenebilir olduğunda düzenleyiciyi kullanarak bu alanın değerinin 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. Beklediğiniz / istediğiniz gibi çalışmayabilir, çünkü davranış bilgisayar korsanlarının saldırısına uğramıştır. Bu işlevi geçersiz kılmayı düşünüyorsanız başka bir yaklaşım olup olmadığını görmek için forumda istediğiniz davranışı gönderin.

isSerializable() Bu alanın XML oluşturucu tarafından serileştirilmesi gerekip gerekmediğini kontrol edin. Geriye dönük uyumluluk ve uyumsuz durumlar mantığını işler.
isTabNavigable() Alanın sekmede gezinilebilir olup olmadığını döndürür.
isVisible() Bu düzenlenebilir alanın görünür olup olmadığını belirtir.
loadLegacyState(callingClass, state) Belirtilen durumu, kullanılması gerekiyorsa eski XML kancalarından birini kullanarak yükler. Yüklemenin işlendiğini belirtmek için true (doğru), aksi takdirde false (yanlış) değerini döndürür.
onLocationChange(_) Alana konumları değiştirdiğini bildirir.
onMouseDown_(e) protected Bir alanda işaretçiyle aşağı işaretçi etkinliği gerçekleştirin.
onShortcut(_shortcut) Belirtilen klavye kısayolunu işler.
positionBorderRect_() protected Boyut değişikliğinden sonra alanın kenarlığını dik şekilde konumlandırın.
positionTextElement_(xoffset, contentwidth) protected Boyut değişikliğinden sonra alanın metin öğesini konumlandırın. Bu hem LTR hem de RTL konumlandırmasını yapar.
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şturma işlemleri burada yapılmalı ve getSize() tarafından tetiklenmelidir.

repositionForWindowResize()

Pencere yeniden boyutlandırması sırasında WidgetDiv'i yeniden konumlandırmak için kullanılan geliştirici kancası. Pencereniz yeniden boyutlandırıldığında, alanınızda kendisini 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 yazılım klavyesi açıldığında bir pencere yeniden boyutlandırma etkinliği tetikleyeceğinden, bu yöntem kalıcı girişler devre dışı bırakıldığında özellikle önemlidir.

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

DropdownDivs zaten kendi konumlandırma mantığını kullandığı için, alanınızda yalnızca bir DropdownDiv varsa bu işlevi geçersiz kılmanıza gerek yoktur.

saveLegacyState(callingClass) protected Kullanılması gerekiyorsa XML durumunun dizeleştirilmiş bir sürümünü döndürür. Aksi takdirde, null değerini döndürür ve alanın kendi serileştirmesini kullanması gerektiğini belirtmek için kullanılır.
setEnabled(enabled) Kaynak blok düzenlenebilir olduğunda düzenleyiciyi kullanarak bu alanın değerinin değiştirilip değiştirilemeyeceğini belirleyin.
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 edecek boş değer olabilir.

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

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_ yöntemlerini geçersiz kılar.
showEditor_(_e) protected Alan için düzenleyici oluşturmaya yarayan 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ı belirten kullanıcı arayüzünü ekleyin veya kaldırın.
updateSize_(margin) protected Alanın boyutunu metne göre günceller.