İçeriğe geç

Element Editor

Element Editor, animasyon tasarımcısında seçtiğiniz SVG nesnesine davranış bağladığınız yerdir. Her bağlama bir animation element kaydıdır: hangi nesne, ne yapacak, değeri nereden alacak.

Ekranı sıfırdan kurma süreci Animation sayfasındadır; burada editörün kendisi anlatılır.

Tasarımcıda SVG üzerindeki bir nesneye tıklayarak seçim yaparsınız. SVG’ler genellikle nesneleri <g> grupları içinde tutar ve düz tıklamada en üstteki grup seçilir.

Grubun içindeki bir nesneyi hedeflemek için Ctrl tuşunu basılı tutarak tıklayın — o zaman grup değil, doğrudan tıkladığınız text, rect, circle gibi iç nesne seçilir. Bu, bir ekipman sembolünün içindeki değer metnini bağlamanın olağan yoludur.

Bir nesne seçtiğinizde sağdaki Inspector paneli o nesneyi gösterir.

Inspector — gösterge seçili, mevcut üç bağlaması listede

Panelde şunlar vardır:

BölümNe işe yarar
Dom IdSeçilen nesnenin kimliği ve yanında SVG etiketi (rect, text, g…)
Select sameAynı Type, Fill veya Animation değerine sahip nesnelerin hepsini birden seçer
Select typeEklenecek bağlamanın tipini seçtiğiniz liste; yanındaki + bağlamayı ekler
Bağlama listesiNesneye bağlı mevcut bağlamalar. Kalem simgesi formu açar, çöp kutusu bağlamayı siler

Yanındaki etiket rozeti (yukarıdaki görüntüde g) yalnızca bilgi değildir: tip listesinin neye göre süzüldüğünü söyler.

AlanAçıklama
DOM IDSeçilen nesnenin SVG kimliği — otomatik gelir
TypeNesnenin ne yapacağı
Expression TypeDeğerin nereden geleceği
ExpressionDeğerin kendisi — değişken adı, ifade veya yapılandırma
PropsTipe özel görsel ayarlar (renk, sınırlar, yön, hız…)
StatusAktif / pasif. Pasif elemanlar değerlendirme döngüsüne girmez

Editör, seçtiğiniz nesnenin SVG etiketine göre tip listesini süzer; her tip her nesnede anlamlı olmadığı için.

Gösterge seçiliyken açılan tip listesi

Yukarıdaki listede Click (added) soluk görünüyor: o tip bu nesneye zaten bağlanmış. Aynı nesneye aynı tipten ikinci bir bağlama eklenemez.

Her nesnede kullanılabilen on dört temel tip şunlardır:

Color · Rotate · Move · Opacity · Scale · Blink · Bar · Pipe · Tooltip · Alarm Indication · Click · Mouse Up · Mouse Down · Mouse Over

Nesne türüne göre eklenenler:

SVG nesnesiEk olarak sunulanlar
text, tspanGet
rectChart, Datatable, Iframe, Image, Slider, Get Symbol, Faceplate, QR Code
g (grup)Animate, Iframe, Faceplate — buna karşılık Bar listeden çıkar
imageIframe

Toplam yirmi dört tip vardır ve tamamının listesi Animation sayfasındadır.

Expression tipi, değerin nereden geldiğini belirler ve animation tipinden bağımsızdır: aynı Color bağlaması değerini doğrudan bir etiketten de alabilir, bir ifadeden de.

TipDeğer nereden gelir
TAGDoğrudan bir değişken
EXPRESSIONYazdığınız bir ifade
NUMERICSabit sayı
TEXTSabit metin
SWITCHDeğere göre eşleme tablosu
SETDeğişkene yazma (etkileşim tiplerinde)
TETRA_COLORDört durumlu renk eşlemesi
ANIMATIONBaşka bir animasyon
FACEPLATEBir faceplate
SUBVIEWAlt görünüm
CUSTOM_HTMLBir Custom HTML sayfası
ALARMAlarm durumu
ROLEKullanıcının rolü — role göre gösterim
HARD_LOCKDonanımsal kilit durumu

TAG — değişken adını yazmanız yeterli:

temp_value

EXPRESSION — biçimlendirme:

var val = ins.getVariableValue("temp_value");
return val.value.toFixed(1) + " °C";

EXPRESSION — koşullu renk:

var temp = ins.getVariableValue("temp_value").value;
if (temp > 80) return "#FF0000";
if (temp > 60) return "#FF8800";
return "#00CC00";

SWITCH — değerden sonuca eşleme:

0 → Stopped
1 → Running
2 → Fault
3 → Maintenance

Görsel ayarlar normalde eleman kaydındaki Props alanında durur: bir Bar için min/max ve dolgu rengi, bir Pipe için çizgi kalınlığı, akış hızı ve yön gibi.

Bar ve Pipe elemanlarında bunu çalışma zamanına da bırakabilirsiniz. EXPRESSION tipi bir obje döndürürse, kayıtlı props yerine o objedeki alanlar kullanılır ve durum value alanından okunur:

var running = ins.getVariableValue('motor_lamp') == 1;
return {
value: running,
fillColor: running ? '#04B3FF' : '#999999',
speed: 2000,
strokeArray: 10
};

Böylece bir borunun hem akıp akmadığını hem rengini ve hızını tek ifadeden sürebilirsiniz.

Click, Mouse Up, Mouse Down ve Mouse Over bir değer göstermez — nesneye bir olay işleyicisi bağlar. Bu yüzden periyodik değerlendirme döngüsüne girmezler; yalnızca kullanıcı etkileşiminde çalışırlar.

Ayrım erişim denetiminde de geçerlidir: bir etkileşim tipine erişimi olmayan kullanıcıda işleyici hiç bağlanmaz, yani ekran o kullanıcı için kendiliğinden salt-izleme olur.

Bağlamalar çalışma zamanında nasıl işler

Section titled “Bağlamalar çalışma zamanında nasıl işler”

Ekran açıkken tarayıcı, animasyonun Duration aralığında sunucuya bir değerlendirme isteği gönderir. Sunucu o ekrandaki sunucu taraflı elemanların ifadelerini tek istekte çalıştırır ve her eleman için sonucu döndürür; tarayıcı da sonucu eleman tipine uygun DOM işlemine çevirir — metin yazar, dolgu rengini değiştirir, dönüşüm uygular, çizgi akışını sürer.

Bu tasarımın pratik sonuçları:

  • Elemanlar tek istekte toplu değerlendirilir; eleman sayısı istek sayısını artırmaz.
  • Yalnızca Status alanı aktif olan elemanlar değerlendirilir.
  • Bir tur Duration’ın on katı içinde dönmezse tarayıcı turu yeniden başlatır.

Yedi tip sunucunun toplu değerlendirmesine hiç katılmaz:

TipNeden döngü dışında
Click · Mouse Up · Mouse Down · Mouse OverBir değer göstermezler; yalnızca kullanıcı etkileşiminde çalışırlar
Chart · Datatable · SliderKendi yalıtılmış çerçevelerinde render edilir ve verilerini kendileri çeker

İkinci gruptaki tiplerin yenilenme periyodu ekranın Duration değerinden değil, kendi yapılandırmalarından gelir. Ayrıntı: Chart ve Datatable.

  • Animation — ekranı kurma ve tam tip listesi
  • Faceplate — parametreli ekran parçaları