Alan sınıfı
Düzenlenebilir alan için soyut sınıf.
İmza:
export declare abstract class Field<T = any> implements IKeyboardAccessible, IRegistrable, ISerializable, IFocusableNode
Uyguladığı arabirimi: IKeyboardAccessible, IRegistrable, ISerializable, IFocusableNode
Markalar
Marka | Değiştiriciler | Açıklama |
---|---|---|
(constructor)(value, validator, config) | Field sınıfının yeni bir örneğini oluşturur |
Özellikler
Mülk | Değiştiriciler | Tür | Açıklama |
---|---|---|---|
borderRect_ | protected |
SVGRectElement | null | Oluşturulan alanın SVG kenarlığı öğesi. |
clickTarget_ | protected |
Öğe | null | Tıklama işleyicinin bağlı olduğu öğe. |
constants_ | protected |
ConstantProvider | null | Kaynak bloğunun oluşturma aracıyla ilişkili sabitler. |
DEFAULT_VALUE | T | null | **Alan** bölümünde ayarlanan varsayılan değerin üzerine yazmak için doğrudan prototipi güncelleyin. Örnek: |
|
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 | Düzenlenebilir bir bloktaki düzenleyici kullanılarak alan değeri 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 eklemeden önce gösterilecek maksimum metin karakter sayısı. | |
name? | dize | (İsteğe bağlı) Alanın adı. Her blokta benzersizdir. Statik etiketler genellikle adsızdır. | |
NBSP |
|
(not declared) | Aralıksız boşluk. |
SERIALIZABLE | boolean | Serileştirilebilir alanlar serileştirici tarafından kaydedilir, serileştirilemez alanlar kaydedilmez. Düzenlenebilir alanlar da serileştirilebilir olmalıdır. SERIALIZABLE geriye dönük uyumlu olması için varsayılan olarak bu şekilde ayarlanmamıştır. | |
size_ | protected |
Boyut | Bu alanın boyutunu alır. getSize() ve updateSize() işlevlerinin yan etkileri olduğundan bu işlev, boyutu ayarlarken/alırken istenmeyen oluşturma veya diğer yan etkileri tetiklemeden alan sınırlarını ayarlamak isteyen alt sınıflar için bir dolgu görevi görür. Alt sınıfların, geçersiz kılınan get ve set yöntemlerinin *her ikisini* de geçersiz kılması gerektiğini unutmayın. Uygulama, doğrudan super üzerinden çağrılabilir ancak JS spesifikasyonuna göre var olmalıdır. |
SKIP_SETUP |
|
benzersiz simge | Bir alanın kurucusunun, alanın değerini ayarlamaması veya configure_'i çalıştırmaması ve bunun yerine bir alt sınıfın bunu yapması gerektiğini belirtmek için kullanılan bir değerdir. |
sourceBlock_ | protected |
Engelle | null | Bu alanın bağlı olduğu blok. Boş olarak başlar ve init içinde 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ı bir düzenlenebilir alanı düzenlediğinde çağrılan doğrulama işlevi. |
value_ | protected |
T | null | |
visible_ | protected |
boolean | Alan görünür mü yoksa blok daraltılmış olduğu için gizli mi? |
Yöntemler
Yöntem | Değiştiriciler | Açıklama |
---|---|---|
applyColour() | Alanı, bloğun rengiyle/stiliyle eşleşecek şekilde günceller. Alanın rengi bloğun rengine bağlıysa soyut olmayan alt sınıflar bunu uygulamak isteyebilir. Üst öğe veya oluşturma aracı değiştiğinde olduğu gibi alakalı zamanlarda otomatik olarak çağrılır. Daha fazla bilgi için alan dokümanlarını veya örnek için FieldDropdown'ı inceleyin. |
|
bindEvents_() | protected |
Etkinlikleri alana bağlayın. Özel giriş işleme yapması gereken alt sınıflar tarafından geçersiz kılınabilir. |
canBeFocused() | IFocusableNode.canBeFocused işlevine bakın. | |
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ınamaz. Bunun yerine, initView içinde işlevin sonucunu değiştirin veya çağrılacak ayrı bir işlev oluşturun. |
createTextElement_() | protected |
Alan metni öğesi oluşturun. Alt sınıflar tarafından geçersiz kılınamaz. Bunun yerine, initView içindeki işlevin sonucunu değiştirin veya çağrılacak ayrı bir işlev oluşturun. |
dispose() | Bu düzenlenebilir alana ait tüm DOM nesnelerini ve etkinliklerini kaldırın. | |
doClassValidation_(newValue) | protected |
Bir alanın değerinde yapılan değişiklikleri ayarlanmadan önce doğrulayın. Alt sınıf uygulama örneği için **FieldDropdown**'a bakın. **NOT:** Doğrulama, |
doClassValidation_(newValue) | protected |
|
doValueInvalid_(_invalidValue, _fireChangeEvent) | protected |
Alana geçersiz bir değer girildiğini bildirmek için kullanılır. Alt sınıflar tarafından geçersiz kılınabilir. FieldTextInput'e bakın. Varsayılan olarak işlem yapmaz. |
doValueUpdate_(newValue) | protected |
Bir alanın değerini güncellemek için kullanılır. Değerleri özel olarak depolamak/harici öğeleri güncellemek için alt sınıflar tarafından geçersiz kılınabilir. |
forceRerender() | Bu alanın yüklü olduğu bloğun yeniden oluşturulmasını zorunlu kılar. Bu işlem, alanı yeniden oluşturur ve boyut değişikliklerine göre ayarlar. Boyutları zaten kaydedilmiş olduğu için aynı bloktaki diğer alanlar yeniden oluşturulmaz. | |
fromJson(_options) | static |
Alt sınıflar, bir JSON arg nesnesinden Field alt sınıflarını oluşturmak için bu yöntemi yeniden uygulamalıdır. Bir alan alt sınıfı bu yöntemi geçersiz kılmamışsa FieldRegistry'ye kayıt yapmaya çalışmak hatadır. |
fromXml(fieldElement) | Alanın değerini, belirtilen XML öğesine göre ayarlar. Yalnızca Blockly.Xml tarafından çağrılmalıdır. | |
getAbsoluteXY_() | protected |
Bu alanın sol üst köşesinin mutlak koordinatlarını döndürme. Başlangıç noktası (0,0), sayfa gövdesinin sol üst köşesidir. |
getBorderRect() | protected |
Kenarlık dikdörtgen öğesini alır. |
getClickTarget_() | protected |
Tıklama işleyicisinin bağlanacağı öğe. Açıkça ayarlanmazsa varsayılan olarak alanın SVG kökü olur. Düzenlenebilir bir alanda bu öğe tıklandığında düzenleyici açılır. |
getConstants() | Oluşturucu sabit sağlayıcısını alın. | |
getDisplayText_() | protected |
Blokta gösterilecek metni bu alandan alın. Üç nokta ve diğer biçimlendirmeler nedeniyle getText ile farklılık gösterebilir. |
getFlipRtl() | Alanı RTL'de çevirmemiz gerekip gerekmediğini döndürür. | |
getFocusableElement() | IFocusableNode.getFocusableElement işlevine bakın. | |
getFocusableTree() | IFocusableNode.getFocusableTree işlevine bakın. | |
getSize() | Alanın yüksekliğini ve genişliğini döndürür. *Genel olarak* render_ işlevinin çağrıldığı tek yer burasıdır. |
|
getSourceBlock() | Bu alanın bağlı olduğu bloğu alın. | |
getSvgRoot() | Bu düzenlenebilir alanın 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ılacak bir geliştirici kancası. Bu alanın değerinin metin temsili, değerinin dize olarak dönüştürülmesinden ibaret değilse geçersiz kıl. Dize yayınlamaya başvurmak için null döndürün. |
getText() | Bu alandaki metni alın. Değeri bir dizeye dönüştürmekten farklı bir davranış sağlamak için getText_ işlevini geçersiz kılın. | |
getTextContent() | protected |
Metin içeriğini alır. |
getTextElement() | protected |
Metin öğesini alır. |
getTooltip() | Bu alanın ipucu metnini döndürür. | |
getValidator() | Düzenlenebilir alanlar için doğrulama işlevini alır veya ayarlanmamışsa null değerini döndürür. | |
getValue() | Alanın mevcut değerini alın. | |
initModel() | Alanın modeli, bir bloğa yüklendikten sonra başlatılır. Varsayılan olarak işlem yapmaz. | |
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 pop-up'tayken alanın tıklanabilir olup olmadığını kontrol edin. Varsayılan olarak, basit araç kutusu gibi her zaman açık olan pop-up'larda alanlar tıklanabilir ancak kategori araç kutusu gibi otomatik olarak kapanan pop-up'larda tıklanamaz. Alt sınıflar bu davranışı değiştirmek için bu işlevi geçersiz kılabilir. Bunun geçerli olabilmesi için isClickable değerinin de doğru döndürülmesi gerektiğini unutmayın. |
|
isCurrentlyEditable() | Bu alanın şu anda düzenlenebilir olup olmadığını kontrol edin. Bazı alanlar hiçbir zaman DÜZENLENEBİLİR değildir (ör. metin etiketleri). Diğer alanlar DÜZENLENEBİLİR olabilir ancak düzenlenemeyen bloklarda yer alabilir veya şu anda devre dışı olabilir. | |
isEnabled() | Kaynak blok düzenlenebilir durumdayken bu alanın değerinin düzenleyici kullanılarak değiştirilip değiştirilemeyeceğini kontrol edin. | |
isSerializable() | Bu alanın XML oluşturucu tarafından serileştirilip serileştirilmeyeceğini kontrol edin. Geriye dönük uyumluluk ve tutarsız durumlarla ilgili mantığı yönetir. | |
isVisible() | Bu düzenlenebilir alanın görünür olup olmadığını alır. | |
loadLegacyState(callingClass, state) | Kullanılması gerekiyorsa eski XML kancalarını kullanarak belirtilen durumu yükler. Yüklemenin tamamlandığını belirtmek için true (doğru), aksi durumda false (yanlış) değerini döndürür. | |
loadState(state) | Alanın durumunu, belirtilen durum değerine göre ayarlar. Yalnızca serileştirme sistemi tarafından çağrılmalıdır. | |
onLocationChange(_) | Alanı, konumu değiştirdiğini bildirir. | |
onMouseDown_(e) | protected |
Bir alandaki işaretçi aşağı etkinliğini işleme |
onNodeBlur() | IFocusableNode.onNodeBlur'a bakın. | |
onNodeFocus() | Bkz. IFocusableNode.onNodeFocus. | |
onShortcut(_shortcut) | Belirtilen klavye kısayolunu işler. | |
positionBorderRect_() | protected |
Boyut değişikliğinden sonra bir alanın kenar dikdörtgenini konumlandırın. |
positionTextElement_(xOffset, contentWidth) | protected |
Boyut değişikliğinden sonra bir alanın metin öğesini konumlandırma Bu, hem soldan sağa hem de sağdan sola konumlandırmayı yönetir. |
referencesVariables() | Bu alanın herhangi bir Blockly değişkenine atıfta bulunup bulunmadığını belirtir. Doğruysa serileştirme ve seri bozma sırasında farklı şekilde ele alınması gerekebilir. Alt sınıflar bunu geçersiz kılabilir. | |
refreshVariableName() | Bu alan değişkenlere referans veriyorsa bu alanın referans verdiği değişken adını yenileyin. | |
render_() | protected |
Herhangi bir DOM öğesini 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ırılırken WidgetDiv'i yeniden konumlandırmak için bir geliştirici kancası. Alanınızda, pencere yeniden boyutlandırıldığında 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 giriş WidgetDiv'i, pencere yeniden boyutlandırma etkinliğinde kendisini yeniden konumlandırabilir. Android cihazlar, dokunmatik klavye açıldığında bir pencere yeniden boyutlandırma etkinliği tetiklediğinden bu durum özellikle modal girişler devre dışı bırakıldığında önemlidir. WidgetDiv'in yeniden konumlandırmak yerine kendisini gizlemesini istiyorsanız false değerini döndürün. Bu varsayılan davranıştır. Açılır listeler kendi konumlandırma mantıklarını zaten yönetir. Bu nedenle, alanınızda yalnızca bir açılır liste varsa bu işlevi geçersiz kılmanız gerekmez. |
|
saveLegacyState(callingClass) | protected |
Kullanılması gerekiyorsa XML durumunun dize haline getirilmiş bir sürümünü döndürür. Aksi takdirde, alanın kendi serileştirmesini kullanması gerektiğini belirtmek için null döndürülür. |
saveState(_doFullSerialization) | Bu alanın değerini JSON olarak serileştirilebilecek bir değer olarak kaydeder. Yalnızca serileştirme sistemi tarafından çağrılmalıdır. | |
setEnabled(enabled) | Kaynak blok düzenlenebilir durumdayken bu alanın değerinin düzenleyici kullanılarak değiştirilip değiştirilemeyeceğini ayarlayın. | |
setSourceBlock(block) | Bu alanı bir bloğa ekleyin. | |
setTooltip(newTip) | Bu alanın 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ğrulanmış 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ş olabilir. İşlev hiçbir şey döndürmezse (veya tanımsız döndürür) yeni değer geçerli olarak kabul edilir. Bu, doğrulanmış işlevi alan düzeyinde değişiklik etkinliği bildirimi olarak kullanan alanlara izin vermek içindir. |
|
setValue(newValue, fireChangeEvent) | Alanın değerini değiştirmek için kullanılır. Doğrulama ve etkinlikleri yönetir. Alt sınıflar bu yöntem yerine doClassValidation_ ve doValueUpdate_ yöntemlerini geçersiz kılmalıdır. | |
showEditor_(_e) | protected |
Alan için bir düzenleyici oluşturmak üzere geliştirici kancası. Bu varsayılan olarak işlem yapmaz ve düzenleyici oluşturmak için geçersiz kılınmalıdır. |
toXml(fieldElement) | Bu alanın değerini XML olarak dize dönüştürür. Yalnızca Blockly.Xml tarafından çağrılmalı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. |