Client UI API
Client UI API, Inscada.* üzerinde yalnızca tarayıcıda anlamlı olan metodları toplar: popup diyaloglar, değer giriş kontrolleri, animasyon / sayfa navigasyonu, SVG zoom, ses. Bu metodların server-side ins.* üzerinde karşılığı yoktur.
Değer Giriş Diyalogları
Section titled “Değer Giriş Diyalogları”numpad(data)
Section titled “numpad(data)”Bir değişken için numerik klavye popup’ı açar; kullanıcı değeri girip onayladığında setVariableValue otomatik çağrılır.
Inscada.numpad({ variableName: "SetpointTemperature" // zorunlu // projectName: "otherProject" // opsiyonel — mevcut projeye göre varsayılır});sliderPad(data)
Section titled “sliderPad(data)”Numpad’e benzer, ancak slider arayüzüyle değişken değeri girer. Değişken min/max değerleri slider sınırları olarak kullanılır.
Inscada.sliderPad({ variableName: "MotorSpeed_RPM"});setStringValue(data)
Section titled “setStringValue(data)”Bir değişkene metin girişi için text input popup’ı açar.
Inscada.setStringValue({ variableName: "OperatorNote"});customNumpad(data)
Section titled “customNumpad(data)”Değişkene bağlı olmayan, callback’li generic numpad. Kullanıcıdan sayı alıp istediğin fonksiyona iletir.
Inscada.customNumpad({ header: "Limit değeri", initialValue: 100, hasNegative: false, hasDecimal: true, minValue: 0, maxValue: 500, isInteger: false, sizeScale: 1.2, onScriptFunc: (xval, extraObj) => { console.log("Girilen:", xval); }, extraObj: { context: "alarm" }});| Alan | Açıklama |
|---|---|
header | Popup başlığı |
initialValue | Başlangıç değeri |
hasNegative / hasDecimal | Negatif / ondalık izin |
minValue / maxValue | Sınırlar |
isInteger | Tam sayı zorunluluğu |
sizeScale | Popup boyut çarpanı |
onScriptFunc(val, extraObj) | Onay callback’i |
extraObj | Callback’e opak veri |
customKeyboard(data)
Section titled “customKeyboard(data)”Generic sanal klavye. Metin için customNumpad karşılığı.
Inscada.customKeyboard({ initialValue: "", onScriptFunc: (value) => console.log("Girilen:", value)});customStringValue(data)
Section titled “customStringValue(data)”Basit metin giriş popup’ı (küçük ve hızlı — klavyeli değil).
Inscada.customStringValue({ initialValue: "notlar", onScriptFunc: (value) => { /* ... */ }});confirm(type, title, message, object)
Section titled “confirm(type, title, message, object)”Onay diyaloğu. type popup ikonunu / rengini belirler (info, warning, error, success).
Inscada.confirm("warning", "Dikkat", "Pompa durdurulsun mu?", { onOkayFunc: () => { Inscada.setVariableValue("PumpRun", { value: false }); }});showPasswordPopup(options)
Section titled “showPasswordPopup(options)”Parola sorgusu; doğrulama ya sabit şifreye ya da bir değişkenin değerine göre yapılır.
// Sabit parolaInscada.showPasswordPopup({ password: "1234", onPasswordVerified: () => { /* ... */ }});
// Değişkendeki parolaInscada.showPasswordPopup({ passwordVariableName: "SupervisorPassword", onPasswordVerified: () => { /* ... */ }, numpad: true // numpad ile giriş});objectEditor(data)
Section titled “objectEditor(data)”Verilen nesneyi JSON editörüyle kullanıcıya açar; onaylandığında onEditFunc güncel nesneyle çağrılır.
Inscada.objectEditor({ obj: { gain: 1.0, offset: 0.0, threshold: 50 }, onEditFunc: (updated) => { Inscada.setVariableValue("PidConfig", { value: JSON.stringify(updated) }); }});Popup / Animasyon / Sayfa Navigasyonu
Section titled “Popup / Animasyon / Sayfa Navigasyonu”showSystemPage(props)
Section titled “showSystemPage(props)”Sistem sayfalarından birine geçiş (menü seçimini tetikler).
Inscada.showSystemPage({ systemPageName: "alarms" // pageData: { ... } // opsiyonel — sayfa açıldığında kullanılabilir veri});showMapPage(obj)
Section titled “showMapPage(obj)”Harita sayfasına geçer ve haritayı verilen koordinat/zoom’a odaklar.
Inscada.showMapPage({ lon: 29.0, lat: 41.0, zoom: 12});showAnimation(options)
Section titled “showAnimation(options)”Mevcut animasyon görüntüleyicisindeki animasyonu değiştirir.
Inscada.showAnimation({ name: "TankDetay", parameters: { tankId: 3 }, // opsiyonel — hedef animasyona parametre unselectMenu: true // opsiyonel — menü seçimini kaldır});showParentAnimation(options)
Section titled “showParentAnimation(options)”İçinde bulunduğun animasyonun parent’ındaki animasyonu değiştirir (drill-down geri dönüşler için tipik).
Inscada.showParentAnimation({ name: "AnaGorunum"});popupAnimation(obj)
Section titled “popupAnimation(obj)”Bir animasyonu popup pencerede açar. Boyut verilmezse SVG’nin kendi boyutuna otomatik oturur.
Inscada.popupAnimation({ animationName: "TankDetay", modal: true, width: 600, height: 400});Genişletilmiş kullanım:
| Alan | Açıklama |
|---|---|
animationName | Açılacak animasyonun adı (zorunlu) |
modal | Arka planı kilitler (true / false) |
windowId | Özel pencere ID’si (aynı ID varsa yerine açılır) |
leftPos / topPos | Pencere konumu (pixel) |
width / height | Boyut (verilmezse SVG boyutu kullanılır) |
extraHeight | Dinamik boyutta başlık yüksekliği payı (default 44 px) |
__parameters | Hedef animasyona geçirilecek parametreler |
closePopup(windowId)
Section titled “closePopup(windowId)”Açık bir popup penceresini windowId üzerinden kapatır.
Inscada.closePopup("popupAnimationWindow12345");UI Kontrolleri
Section titled “UI Kontrolleri”setUiVisibility(type, status)
Section titled “setUiVisibility(type, status)”Ana arayüzün belirli parçalarını gösterir / gizler.
Inscada.setUiVisibility("top-toolbar", false);Inscada.setUiVisibility("top-menu", false);Inscada.setUiVisibility("sidebar-collapse", true);Inscada.setUiVisibility("animation-toolbar", false);Geçerli type değerleri:
type | Etki |
|---|---|
"top-toolbar" | Üst toolbar göster / gizle |
"top-menu" | Üst menü + menü satırı göster / gizle |
"animation-toolbar" | Animasyon toolbar’ı göster / gizle |
"sidebar-collapse" | Kenar menüyü collapse / expand et |
setDayNightMode(isNight)
Section titled “setDayNightMode(isNight)”Gece / gündüz modunu değiştirir.
Inscada.setDayNightMode(true); // geceInscada.setDayNightMode(false); // gündüzreload()
Section titled “reload()”Tarayıcı sekmesini yeniden yükler (window.location.reload()).
Inscada.reload();svgZoomPan(data)
Section titled “svgZoomPan(data)”Animasyon SVG’si üzerinde programatik zoom / pan kontrolü.
Inscada.svgZoomPan({ zoomableId: "mainSvg", functionName: "zoomIn", params: {}});
Inscada.svgZoomPan({ zoomableId: "mainSvg", functionName: "zoomAtPoint", params: { scale: 2, x: 100, y: 150 }});
Inscada.svgZoomPan({ zoomableId: "mainSvg", functionName: "fit", params: {}});Geçerli functionName değerleri: zoom, zoomBy, zoomAtPoint, zoomAtPointBy, zoomIn, zoomOut, pan, panBy, resetZoom, resetPan, reset, fit, center.
playAudio(isStart, name, isLoop)
Section titled “playAudio(isStart, name, isLoop)”File System’de kayıtlı bir ses dosyasını çalar / durdurur. Aynı ad için aynı anda birden fazla örnek başlatılmaz.
// Başlat (döngülü)Inscada.playAudio(true, "alarm_siren.wav", true);
// DurdurInscada.playAudio(false, "alarm_siren.wav", false);| Parametre | Açıklama |
|---|---|
isStart | true başlat, false durdur |
name | File System’deki ses dosyası adı |
isLoop | Döngü modu (yalnızca başlatırken anlamlı) |