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 

Kullanıldığı: IASTNodeLocationSvg, IASTNodeLocationWithBlock, IKeyboardAccessible, IRegistrable, ISerializable

Markalar

Marka Değiştiriciler Açıklama
(yapıcı)(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 blokunun oluşturucusuyla ilişkili sabitler.
İMLEÇ dize Düzenleyiciyi başlatan hotspot'un üzerine gelindiğinde fare imleç stili.
DEFAULT_VALUE T | null

**Field** (Alan) bölümünde 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ı belirten bir tür kullanıcı arayüzü gösterir. Bunlar 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 | null Oluşturulan alanın SVG grup öğesi.
isDirty_ protected boolean Bu bloğun yeniden oluşturulması gerekiyor mu?
maxDisplayLength sayı Üç nokta eklenmeden önce görüntülenecek maksimum metin karakter sayısı.
ad? dize (İsteğe bağlı) Alanın adı. Her blokta benzersizdir. Statik etiketler genellikle adsızdır.
NBSP

static

readonly

(beyan edilmedi) Bölünmez boşluk.
SERİ ÖZELLİKLİ 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 "yapılandırmayı_ çalıştırması" gerektiği ve bir alt sınıfın bunu yapmasına izin verdiğinde işaret etmek için kullanılan bir değer.
sourceBlock_ protected Engelle | null Bu alanın ekli olduğunu engelle. Boş 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 durumda mı veya 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 da 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 belgelerine 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ığı dikdörtgen öğesi oluşturun. Alt sınıflar tarafından geçersiz kılınmaz. Bunun yerine, initView içindeki işlevin sonucunu değiştirin veya çağrılacak ayrı bir işlev oluşturun.
createTextElement_() protected Alan metin öğesi oluşturun. Alt sınıflar tarafından geçersiz kılınmaz. Bunun yerine, initView içindeki işlevin sonucunu değiştirin veya çağrılacak ayrı bir işlev oluşturun.
doClassValidation_(newValue) protected

Bir alanın değerindeki değişiklikleri, ayarlanmadan ö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ından 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 bir alt sınıfın undefined değerini döndürmesi geçerlidir.

doClassValidation_(newValue) protected
doValueOverride_(_invalidValue, _fireChangeEvent) 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; bkz. FieldTextInput. Varsayılan olarak işlem yoktur.
doValueUpdate_(newValue) protected Bir alanın değerini güncellemek için kullanılır. Değerlerin özel 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, Alan 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 alan alt sınıfı, bu alt sınıf bu yöntemi geçersiz kılmadıysa FieldRegistry'ye kaydedilmeye çalışılırsa hatadır.

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ü ayarlanı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 Bu alandaki metni blokta görüntülenecek şekilde 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*, create_ öğesinin çağrıldığı tek yer burası 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 kullanılan geliştirici kancası. Bu alanın değerinin metin gösterimi, yalnızca değerin dize oluşturduğundan ibaret değilse geçersiz kılın. Dize haline getirmek için null değerini döndürün.
getText() Metni bu alandan alın. Değeri yalnızca 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 mevcut değerini alın.
initModel() Alanın modelini, bir bloka yüklendikten sonra başlatır. Varsayılan olarak işlem yoktur.
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 açılırken, alanın tıklanabilir olup olmayacağını kontrol edin. Varsayılan değer, alanların basit araç kutusu gibi her zaman açık olan dosyalarda tıklanabilir olması, ancak kategori araç kutusu gibi otomatik kapanan sayfalarda tıklanabilir olmamasıdır. Alt sınıflar, bu davranışı değiştirmek için bu işlevi geçersiz kılabilir. Bu ayarın geçerli olması 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 (ör. metin etiketleri) hiçbir zaman DÜZENLENEMEZ. Diğer alanlar DÜZENLENEBİLİR olabilir, ancak düzenlenebilir olmayan bloklarda mevcut olabilir veya şu anda devre dışı olabilirler.
isEnabled() Kaynak blok düzenlenebilir olduğunda düzenleyici kullanılarak 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 veya amaçladığınız şekilde çalışmayabilir, çünkü davranış bilgisayar korsanlığı yoluyla ele geçirilmiştir. Bu işlevi geçersiz kılmayı düşünüyorsanız başka bir yaklaşım olup olmadığına bakmak için istediğiniz davranışı foruma gönderin.

isSerializable() Bu alanın XML oluşturucu tarafından serileştirilip serilendirilmeyeceğini kontrol edin. Geriye dönük uyumluluk ve uyumsuz durumlara ilişkin mantığı 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ı belirler.
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çi indirme 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ı dikey olarak konumlandırın.
positionTextElement_(xOffset, contentWidth) protected Boyut değişikliğinden sonra alanın metin öğesini konumlandırın. Bu işlem, 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 boyutunu/şeklini etkileyen 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 kendisini yeniden konumlandırması gereken bir WidgetDiv alanı varsa bu kancayı tanımlamanız gerekir. Örneğin, metin giriş alanları bu kancayı tanımlar, böylece WidgetDiv girdisi 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 özellik özellikle kalıcı girişler devre dışıyken ö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ı işlemekte olduğundan, alanınızda yalnızca bir DropdownDiv varsa bu işlevi geçersiz kılmanıza gerek yoktur.

saveLegacyState(callingClass) protected XML durumunun dizelenmiş bir sürümünü (kullanılması gerekiyorsa) döndürür. Aksi takdirde null değeri döndürülür. Bu, alanın kendi serileştirme işlemini kullanması gerektiğini belirtmek için kullanılır.
setEnabled(enabled) Kaynak blok düzenlenebilir olduğunda düzenleyici kullanılarak bu alanın değerinin 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 edecek 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. 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 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.