- Sayfa yapımı
- Logicor şablon dili
- Mantıksal fonksiyon sınıflandırması
- Mantıksal işlev başvuruları
- Address
- AddressToId
- AddToolButton
- And
- AppParam
- ArrayToSource
- Binary
- Button
- Calculate
- Chart
- CmpTime
- Code
- CodeAsIs
- Data
- Custom
- DateTime
- DBFind
- Div
- EcosysParam
- Em
- ForList
- Form
- GetColumnType
- GetHistory
- GetVar
- Hint
- If
- Image
- ImageInput
- Include
- Input
- InputErr
- InputMap
- JsonToSource
- Label
- LangRes
- LinkPage
- Map
- MenuGroup
- MenuItem
- Money
- Or
- P
- QRcode
- RadioGroup
- Range
- Select
- SetTitle
- SetVar
- Span
- Strong
- SysParam
- Table
- TransactionInfo
- VarAsIs
- App styles for mobile devices
Weaver'ın Entegre Geliştirme Ortamı (IDE), bir JavaScript kitaplığı olan React kullanılarak oluşturulmuştur. Sayfa düzenleyicisi ve görsel sayfa tasarımcısı vardır. Sayfalar, tablolardan veri almak ve görüntülemek, kullanıcı girdi verilerini almak için formlar oluşturmak, sözleşmelere veri iletmek ve uygulama sayfaları arasında gezinmek için kullanılan bir uygulamanın temel parçalarıdır. Sözleşmeler gibi, sayfalar da blok zincirinde depolanır, bu da yazılım istemcisine yüklendiğinde kurcalamaya karşı dayanıklı olmalarını sağlayabilir.
Sayfa öğeleri (sayfalar ve menüler), geliştiriciler tarafından Weaver'ın sayfa düzenleyicisindeki şablon dilini kullanarak bir doğrulama düğümünün şablon motorunda oluşturulur. Tüm sayfalar, IBAX'in geliştirme ekibi tarafından geliştirilen Logicor dili kullanılarak oluşturulmuştur. Ağdaki düğümlerden sayfa istemek için content/... API komutlarını kullanın. Şablon motorunun bu tür bir isteğe yanıt olarak gönderdiği şey bir HTML sayfası değil, şablon yapısına uygun bir ağaç oluşturan HTML etiketlerinden oluşan bir JSON kodudur. Şablon motorunu test etmek istiyorsanız, content API komutuna başvurabilirsiniz.
Weaver'ın yönetim aracının Sayfalar bölümünde bulunabilen sayfaları oluşturmak ve düzenlemek için sayfa düzenleyiciyi kullanabilirsiniz. Düzenleyici şunlar için kullanılabilir:
- Sayfa kodunu yazın, Logicor şablon dilinin anahtar sözcüklerini vurgulayın;
- Sayfalardaki menüleri seçin ve görüntüleyin;
- Menü sayfasını düzenleyin;
- Sözleşme Koşulları işlevinde izinli sözleşme adını belirterek veya Değişiklik koşullarında erişim iznini doğrudan belirterek, sayfaları değiştirme iznini yapılandırın;
- Görsel sayfa tasarımcısını başlatın;
- Önizleme sayfaları.
Görsel sayfa tasarımcısı, Logicor dilinde arayüz kodlarını kullanmadan sayfa düzenleri oluşturmak için kullanılabilir. Bununla, bu tür öğeleri sürükleyip bırakarak sayfalardaki form öğelerinin ve metnin konumunu ayarlayabilir ve sayfa bloklarının boyutunu yapılandırabilirsiniz. Standart veri modellerini sunmak için bir dizi kullanıma hazır blok sağlar: başlıklar, formlar ve bilgi panelleri ile. Görsel sayfa tasarımcısında bir sayfa oluşturduktan sonra sayfa düzenleyicide veri almak için program mantığı ve koşullu yapı yazabilirsiniz. Gelecekte, ek işlevlere sahip görsel bir sayfa tasarımcısı oluşturmayı planlıyoruz.
Varsayılan olarak, sayfalar Angular'ın Bootstrap Angle stiliyle sunulur. Kullanıcılar ihtiyaçlarına göre kendi stillerini oluşturabilirler. Stil, ekosistem parametre tablosundaki stil parametresi stil sayfasında saklanır.
Bir kod bloğunu birden çok sayfada kullanmak için, onu tutmak ve sayfa koduna gömmek için bir sayfa modülü oluşturabilirsiniz. Sayfa modülleri Weaver'ın Modül Bloklarında oluşturulabilir ve düzenlenebilir. Sayfalar gibi düzenleme izinleri tanımlanabilir.
Weaver, Logicor şablon dilinin LangRes işlevini kullanarak sayfa yerelleştirme için bir mekanizma içerir. Sayfadaki dil kaynak etiketlerini, yazılım istemcisinde veya tarayıcıda kullanıcı tarafından seçilen dile karşılık gelen metin satırlarıyla değiştirebilir. LangRes işlevi yerine
Weaver'ın Dil kaynakları bölümünde dil kaynakları oluşturabilir ve düzenleyebilirsiniz. Bir dil kaynağı, etiket adlarından ve bu adın farklı dillerdeki karşılık gelen çevirisinin yanı sıra karşılık gelen iki harfli dil tanımlayıcısından (EN, ZH, JP, vb.) oluşur.
Dil kaynakları ekleme ve değiştirme izinleri, diğer tablolarla aynı şekilde tanımlanabilir.
Logicor işlevleri aşağıdaki işlemleri sağlar:
- Veritabanından değerleri alma:
DBFind
, veritabanından alınan verileri tablolar ve grafikler olarak gösteren; - Değişken değerleri atamak ve görüntülemek için veri işlemleri:
SetVar, GetVar, Data
; - Tarih/saat değerlerini görüntüleme ve karşılaştırma:
DateTime, Now, CmpTime
; - Formlar oluşturmak için çeşitli kullanıcı verisi giriş alanlarını kullanın:
Form, ImageInput, Input, RadioGroup, Select
; - Hata mesajlarını görüntüleyerek form alanındaki verileri doğrulayın:
Validate, InputErr
; - Gezinme öğelerini görüntüleme:
AddToolButton, LinkPage, Button
; - Çağrı sözleşmeleri:
Düğme
; - Çeşitli etiketler dahil olmak üzere HTML sayfa düzeni öğeleri oluşturma ve belirli css sınıflarını seçme:
Div, P, Span, vb
; - Sayfalara resim yerleştirme ve boşaltma:
Image, ImageInput
; - Sayfa düzeni parçasının görüntülenme koşulları:
If, ElseIf, Else
; - Çok seviyeli menüler oluşturma;
- Sayfa yerelleştirme.
Logicor sayfa şablonu dili, bir işlevin başka bir işlevi ``FuncName(parameters)``` çağırmasına ve işlevleri iç içe yerleştirmesine izin veren işlevsel bir dildir. Parametreleri tırnak işaretleri olmadan belirtebilir ve gereksiz parametreleri silebilirsiniz.
Parametre virgül içeriyorsa, tırnak içine alınmalıdır (geri tırnak veya çift tırnak). Bir işlevin yalnızca bir parametresi varsa, tırnak işaretleri olmadan virgül kullanabilirsiniz. Ayrıca, parametrenin eşleşmemiş bir kapatma parantezi varsa, tırnak işaretleri kullanılmalıdır.
Bir parametreyi tırnak içine alırsanız ancak parametrenin kendisi tırnak işaretleri içeriyorsa, metinde farklı tırnak türleri veya birden çok tırnak kullanabilirsiniz.
İşlev tanımında her parametrenin belirli bir adı vardır. İşlevi çağırabilir ve parametreleri bildirim sırasına göre veya herhangi bir parametre kümesini herhangi bir ad sırasına göre belirtebilirsiniz: Parametre_adı: Parametre_değeri
. Bu yöntemi kullanarak, geçerli şablonla uyumluluğu bozmadan yeni işlev parametrelerini güvenle ekleyebilirsiniz:
İşlevler, metin döndürebilir, HTML öğeleri oluşturabilir (örneğin, Input
) veya iç içe HTML öğeleriyle (Div, P, Span
) HTML öğeleri oluşturabilir. İkinci durumda, iç içe öğeyi tanımlamak için önceden tanımlanmış Gövde adında bir parametre kullanılır. Örneğin, iki div'i başka bir div'e yerleştirmek şöyle görünür:
Body parametresinde açıklanan iç içe öğeleri tanımlamak için şu gösterim kullanılabilir: FuncName(...){...}
. İç içe öğeler parantez içinde belirtilmelidir:
Aynı işlevi art arda birden çok kez belirtmeniz gerekiyorsa, adını her seferinde yazmak yerine .
noktasını kullanabilirsiniz. Örneğin, aşağıdakiler aynıdır:
Bu dil ile SetVar fonksiyonu ile bir değişken atayabilir ve değerine #name#
ile başvurabilirsiniz.
Ekosistemin dil kaynaklarına başvurmak için, dilin adı langres olan $langres$
kullanabilirsiniz.
Aşağıdaki değişkenler önceden tanımlanmıştır:
#key_id#
- Mevcut kullanıcının hesap adresi;#ecosystem_id#
- Mevcut ekosistem ID;#guest_key#
- Konuk hesabının adresi;#isMobile#
- 1, Weaver bir mobil cihazda çalışıyorsa.
Sayfalara parametreler iletmek için PageParams kullanın {#use-pageparams-to-pass-parameters-to-pages}
Birçok işlev, yeni bir sayfaya yeniden yönlendirme yaparken parametreleri iletmek için kullanılan PageParams parametresini destekler. Örneğin: PageParams: "param1=değer1,param2=değer2"
. Parametre değeri, basit bir dize veya referans değerine sahip bir değişken olabilir. Parametreleri sayfalara aktarırken, parametre adına sahip bir değişken oluşturulur, örn. "#param1#" ve "#param2#".
PageParams: "hello=world"
- Yeni sayfa, değer olarak world ile birlikte merhaba parametresini alır;PageParams: "hello=#world#"
- Yeni sayfa, dünya değişkeninin değeriyle merhaba parametresini alır.
Ayrıca Val işlevi, yeniden yönlendirmede belirtilen formlardan veri alabilir.
PageParams: "hello=Val(world)"
- Yeni sayfa, world form öğesinin değeriyle merhaba parametresini alır.
Logicor, bir formdaki Düğme işlevine tıklayarak sözleşme çağrılarını uygular. Bir olay tetiklendiğinde, kullanıcının sayfadaki bir form alanına girdiği veriler sözleşmeye aktarılacaktır. Form alan adı, çağrılan sözleşmenin veri bölümündeki değişken adına karşılık geliyorsa, veriler otomatik olarak aktarılacaktır. Düğme işlevi, kullanıcının sözleşmenin yürütüldüğünü doğrulaması için kalıcı bir pencere açmasına ve sözleşme başarıyla yürütüldüğünde belirtilen sayfaya yeniden yönlendirmeyi başlatmasına ve belirli parametreleri sayfaya geçirmesine olanak tanır.
GetVar | SetVar | VarAsIs |
AddToolButton | Button | LinkPage |
Calculate | DateTime | Money |
CmpTime |
Code | Hint | MenuItem |
CodeAsIs | Image | QRcode |
Chart | MenuGroup | Table |
ForList |
Address | EcosysParam | LangRes |
AddressToId | GetHistory | Range |
AppParam | GetColumnType | SysParam |
Data | JsonToSource | Binary |
DBFind | ArrayToSource | TransactionInfo |
Div | SetTitle | Span |
Em | Label | Strong |
P |
Form | InputErr | InputMap |
ImageInput | RadioGroup | Map |
Input | Select |
If | Or | Include |
And |
Bu işlev, belirli bir hesap adresinin xxxx-xxxx-...-xxxx
cüzdan adresini döndürür; adres belirtilmemişse, parametre olarak mevcut kullanıcının hesap adresi kullanılacaktır.
Syntax
Address(account)
Address
-
account
Hesap adresi.
Example
Span(Your wallet: Address(#account#))
Belirli bir cüzdan adresinin xxxx-xxxx-...-xxxx hesap adresini döndürür.
Syntax
AddressToId(Wallet)
AddressToId
-
Wallet
The wallet address in XXXX-...-XXXX format.
Example
AddressToId(#wallet#)
addtoolbutton öğesiyle bir düğme paneli oluşturun.
Syntax
AddToolButton(Title, Icon, Page, PageParams)
[.Popup(Width, Header)]
AddToolButton
-
Title
Buton başlığı.
-
Icon
Buton icon stili.
-
Page
Yönlendirilen sayfanın adı.
-
PageParams
Sayfaya aktarılan parametreler.
Popup
Modal penceresi açılır.
-
Header
Pencerenin başlığı.
-
Width
Pencere genişliğinin yüzdesi. Aralığı 1 ila 100 arasındadır.
Example
AddToolButton(Title: $@1broadcast$, Page: @1notifications_broadcast, Icon: icon-plus).Popup(Header: $@1notifications_broadcast$, Width: "50")
Mantıksal bir işlemin sonucunu döndürür. Parantez içinde listelenen tüm parametreler virgülle ayrılır. Parametrelerden biri boş bir dize, sıfır veya false
ise, parametre değeri false
, aksi takdirde parametre değeri true
olur. Parametre değeri true
ise, fonksiyon 1
, aksi halde 0
döndürür.
Syntax
And(parameters)
Example
If(And(#myval1#,#myval2#), Span(OK))
Geçerli ekosistemin app_params tablosundan alınan uygulama parametresi değerini çıktılayın. Belirtilen ada sahip bir dil kaynağı varsa, değeri otomatik olarak değiştirilecektir.
Syntax
AppParam(App, Name, Index, Source)
AppParam
-
App
Uygulama ID.
-
Name
Parametre adı.
-
Index
Parametre değeri virgülle ayrılmış bir liste olduğunda kullanılabilir. Parametre öğeleri dizini, 1'den başlar. Örneğin,
type = full,light
ise,AppParam(1, type, 2)
,light
değerini döndürür. Source parametresi ile birlikte kullanılamaz. -
Source
Parametre değeri virgülle ayrılmış bir liste olduğunda kullanılabilir. Öğeleri belirli parametrelerin değerleri olan bir veri nesnesi oluşturun. Bu nesne, Tablo ve Seç işlevleri için bir veri kaynağı olarak kullanılabilir. Index parametresi ile birlikte kullanılamaz.
Example
AppParam(1, type, Source: mytype)
Bir arraytosource öğesi oluşturun ve onu bir JSON dizisinin anahtar/değer çiftleriyle doldurun. Elde edilen veriler, daha sonra kaynak giriş işlevinde (örn. Tablo) kullanılabilecek olan Kaynak öğesine yerleştirilir.
Syntax
ArrayToSource(Source, Data)
ArrayToSource
-
Source
Veri kaynağı adı.
-
Data
Bir JSON dizisi veya bir JSON dizisi (
#name#
) içeren bir değişken adı.
Example
ArrayToSource(src, #myjsonarr#)
ArrayToSource(dat, [1, 2, 3])
İkili tablo ikili dosyalarında depolanan statik dosyalara bağlantılar döndürür.
Syntax
Binary(Name, AppID, MemberID)[.ById(ID)][.Ecosystem(ecosystem)]
Binary
-
Name
Dosya adı.
-
AppID
Uygulama ID.
-
MemberID
Hesap adresi, varsayılan olarak 0.
-
ID
Statik dosya ID.
-
Ecosystem
Ekosistem ID. Belirtilmezse, mevcut ekosistemden ikili dosya istenir.
Example
Image(Src: Binary("my_image", 1))
Image(Src: Binary().ById(2))
Image(Src: Binary().ById(#id#).Ecosystem(#eco#))
Bir sözleşme çağırmak veya bir sayfa açmak için bir düğme oluşturacak bir düğme HTML öğesi oluşturun.
Syntax
Button(Body, Page, Class, Contract, Params, PageParams)
[.CompositeContract(Contract, Data)]
[.Alert(Text, ConfirmButton, CancelButton, Icon)]
[.Popup(Width, Header)]
[.Style(Style)]
[.ErrorRedirect(ErrorID,PageName,PageParams)]
Button
-
Body
Child text veya element.
-
Page
Yönlendirilen sayfanın adı.
-
Class
Buton class
-
Contract
Aranan sözleşmenin adı.
-
Params
Sözleşmeye aktarılan değerlerin listesi. Normalde, sözleşme parametresinin değeri (veri bölümü), id'nin benzer bir ada sahip bir HTML öğesinden (giriş alanı gibi) elde edilir. Öğe kimliği, sözleşme parametresinin adından farklıysa, değer, ContractField1=idname1, ContractField2=idname2 biçiminde atanmalıdır. Bu parametre, {contractField1: idname1, ContractField2: idname2} nesnesi olarak attr'ye döndürülür.
-
PageParams
Yönlendirme sayfasına iletilen parametrelerin biçimi pageField1=idname1, pageField2=idname2 şeklindedir. #pageField1 ve #pageField2 hedef sayfa parametre adlarına sahip değişkenler, hedef sayfada oluşturulur ve belirtilen değerlere atanır. Parametre geçişi için daha fazla spesifikasyona bakın Parametreleri sayfalara geçirmek için PageParams kullanın).
CompositeContract
Butona ek sözleşmeler eklemek için kullanılır. CompositeContract birden çok kez kullanılabilir.
-
Name
Sözleşmenin adı.
-
Data
Sözleşme parametreleri JSON dizileridir.
Alert
Mesajı görüntüleyin.
-
Text
Mesajın metni.
-
ConfirmButton
Onayla buton başlığı.
-
CancelButton
İptal buton başlığı.
-
Icon
Buton icon.
Popup
Çıkış modu modal.
-
Header
Window başlığı.
-
Width
Pencere genişliğinin yüzdesi. Aralığı 1 ila 100 arasındadır.
Style
Belirtilen CSS stili.
-
Style
CSS stili.
ErrorRedirect
:ref:contractfundef-Throw işlevi sözleşme yürütme sırasında bir hata oluşturduğunda belirtin ve bir sayfaya yönlendirin. Birkaç ErrorRedirect çağrısı olabilir. Bu nedenle, errredirect özniteliği döndürülürken öznitelik anahtarı ErrorID'dir ve değer, parametreler listesidir.
-
ErrorID
Hata ID.
-
PageName
Yönlendirme sayfasının adı.
-
PageParams
Sayfaya aktarılan parametreler.
Example
Button(Submit, default_page, mybtn_class).Alert(Alert message)
Button(Contract: MyContract, Body:My Contract, Class: myclass, Params:"Name=myid,Id=i10,Value")
Exp parametresinde geçirilen aritmetik ifadenin sonucunu döndürür. Aşağıdaki işlemler uygulanabilir: +, -, *, / ve parantezler ().
Syntax
Calculate(Exp, Type, Prec)
Calculate
-
Exp
Sayıları ve #name# değişkenini içeren bir aritmetik ifade.
-
Type
Sonuç veri türü: int, kayan nokta, para. Belirtilmemişse, ondalık noktalı bir sayı varsa kayan, aksi takdirde int'dir.
-
Prec
ondalık noktadan sonra iki önemli basamak ile kayan nokta ve para verileri.
Example
Calculate( Exp: (342278783438+5000)\*(#val#-932780000), Type: money, Prec:18 )
Calculate(10000-(34+5)\*#val#)
Calculate("((10+#val#-45)\*3.0-10)/4.5 + #val#", Prec: 4)
HTML çizelgeleri oluşturun.
Syntax
Chart(Type, Source, FieldLabel, FieldValue, Colors)
Chart
-
Type
Çizelge tipi.
-
Source
DBFind işlevinden alınan veri kaynağının adı.
-
FieldLabel
Başlık alanının adı.
-
FieldValue
Değer alanının adı.
-
Colors
Renklerin listesi.
Example
Data(mysrc,"name,count"){
John Silver,10
"Mark, Smith",20
"Unknown ""Person""",30
}
Chart(Type: "bar", Source: mysrc, FieldLabel: "name", FieldValue: "count", Colors: "red, green")
Aynı formatta iki zaman değerini karşılaştırır.
Unixtime, YYYY-AA-GG SS:DD:SS
ve YYYYMMDD
gibi herhangi bir zaman biçimini destekler.
Syntax
CmpTime(Time1, Time2)
Geri dönüş değeri
-1
- Time1 <Time2;0
- Time1 = Time2;1
- Time1> Time2.
Example
If(CmpTime(#time1#, #time2#)<0){...}
Belirtilen kodu görüntülemek için bir kod öğesi oluşturun.
Bir değişkeni değişkenin değeriyle değiştirir (örneğin, #name#
).
Syntax
Code(Text)
Code
-
Text
Kaynak kodu.
Example
Code( P(This is the first line.
Span(This is the second line.))
)
Belirtilen kodu görüntülemek için bir kod öğesi oluşturun.
Bir değişkeni değeriyle değiştirmez. Örneğin, #name#
olduğu gibi görüntülenecektir.
Syntax
CodeAsIs(Text)
CodeAsIs
-
Text
Kyanak kodu.
Example
CodeAsIs( P(This is the #test1#.
Span(This is the #test2#.))
)
Bir veri öğesi oluşturun, belirtilen verilerle doldurun ve Kaynağa koyun. Ardından, Tablo ve diğer işlevlerde veri girişi olarak Kaynak alabilirsiniz. Sütun adlarının sırası, veri giriş değerlerinin sırasına karşılık gelir.
Syntax
Data(Source,Columns,Data)
[.Custom(Column){Body}]
Data
-
Source
Veri kaynağının adı. Daha sonra diğer işlevlere veri kaynağı olarak iletilecek herhangi bir adı belirtebilirsiniz.
-
Columns
Virgülle ayrılmış sütun adlarının listesi.
-
Data
Veri seti.
Satır başına bir kayıt. Sütun değerleri virgülle ayrılmalıdır. Veri ve Sütunlar aynı sırada ayarlanmalıdır.
Virgüllü değerler çift tırnak içine alınmalıdır (
"example1, example2", 1, 2
). Alıntılanan değerler iki çift tırnak içine alınmalıdır ("""example", "example2""", 1, 2
).
Verilere hesaplanmış sütunlar atayabilirsiniz. Örneğin, düğmeler ve diğer sayfa düzeni öğeleri için alan şablonları belirleyebilirsiniz. Bu alan şablonları genellikle [Tablo](#tablo)'ya ve veri almak için diğer işlevlere atanır.
Birden çok hesaplanmış sütun atamak istiyorsanız, birden çok Özel işlev kullanın.
-
Column
Benzersiz ve zorunlu olan sütun adı.
-
Body
Kod bloğu. Girişteki diğer sütunlardan değerler almak için
#columnname#
kullanabilir ve ardından bu değerleri kod bloklarında kullanabilirsiniz.
Example
Data(mysrc,"id,name"){
"1",John Silver
2,"Mark, Smith"
3,"Unknown ""Person"""
}.Custom(link){Button(Body: View, Class: btn btn-link, Page: user, PageParams: "id=#id#"}
Saati ve tarihi belirtilen biçimde görüntüleyin.
Syntax
DateTime(DateTime, Format)
DateTime
-
DateTime
Unixtime veya standart biçimde
2006-01-02T15:04:05
ifade edilen saat ve tarih. -
Format
Format şablonu: yıl 2 basamaklı
YY
, 4 basamaklıYYYY
, ayAA
, günGG
, saat SS, dakika AA, saniye SS , örneğin:YY/AA/GG SS:DD"
Belirtilmemiş veya eksik iseYYYY-AA-GG SS:MI:SS
kullanılacaktır.
Example
DateTime(2017-11-07T17:51:08)
DateTime(#mytime#,HH:MI DD.MM.YYYY)
Bir dbfind öğesi oluşturun, onu tablo tablosunun verileriyle doldurun ve daha sonra Table ve diğer Kaynak fonksiyonlarının giriş verileri için kullanılabilecek olan Source yapısına yerleştirin.
Syntax
DBFind(table, Source)
[.Columns(columns)]
[.Where(conditions)]
[.WhereId(id)]
[.Order(name)]
[.Limit(limit)]
[.Offset(offset)]
[.Count(countvar)]
[.Ecosystem(id)]
[.Cutoff(columns)]
[.Custom(Column){Body}]
[.Vars(Prefix)]
DBFind
-
table
Tablo adı
-
Source
Veri kaynağı adı.
Columns
-
columns
Belirtilmezse, tüm alanların bir listesi döndürülür. JSON tipi bir alan varsa, kayıt alanını işlemek için şu sözdizimini kullanabilirsiniz:
columnname->fieldname
. Bu durumda, oluşturulan alan adı "columnname.fieldname" olur.
Where
conditions
Veri sorgulama koşulları. DBFind'e bakın.
JSON tipi bir alan varsa, kayıt alanını işlemek için şu sözdizimini kullanabilirsiniz: columnname->fieldname
.
WhereId Query by ID, e.g.
.WhereId(1)
.
Id
Entri ID.
Order Alana göre sırala. Sıralama sözdizimi hakkında daha fazla bilgi için bkz. DBFind.
- "isim"
Alan adı
Limit
-
limit
Döndürülen giriş sayısı, varsayılan olarak 25'tir. Maksimum sayı 10.000'dir.
Offset
-
Offset
Ofset
Count
Where koşulunun toplam satır sayısını belirtin. Bir değişkende saklamaya ek olarak, toplam sayı, dbfind öğesinin count parametresinde döndürülür.
Where ve WhereID belirtilmezse, tablodaki toplam satır sayısı döndürülür.
-
countvar
Satır sayısını tutan değişkenin adı.
Ecosystem
Id
Ekosistem kimliği. Varsayılan olarak, veriler mevcut ekosistemdeki belirtilen tablodan gelir.
Cutoff
Büyük miktarda metin verisini kesmek ve görüntülemek için kullanılır.
columns
Cutoff işlevi tarafından işlenmesi gereken alanların virgülle ayrılmış listesi. Alan değeri, iki alana sahip bir JSON nesnesi ile değiştirilecektir: bağlantı bağlantısı ve başlık başlığı. Alan değeri 32'den fazla karakter içeriyorsa, tam metnin ilk 32 karakterine işaret eden bağlantı döndürülür. Alan değeri 32 veya daha az karakter içeriyorsa, bağlantı geçersiz olarak ayarlanır ve başlık tüm alan değerini içerir.
Custom
Verilere hesaplanmış sütunlar atayabilirsiniz. Örneğin, düğmeler ve diğer sayfa düzeni öğeleri için alan şablonları belirleyebilirsiniz. Bu alan şablonları genellikle Tablo'ya ve veri almak için diğer işlevlere atanır. Birden çok hesaplanmış sütun atamak istiyorsanız, birden çok Özel işlev kullanın.
Column
Benzersiz ve zorunlu olan sütun adı.
Body
Kod bloğu. Girişteki diğer sütunlardan değerler almak için #columnname#
kullanabilir ve ardından bu değerleri kod bloklarında kullanabilirsiniz.
Vars
Sorgu tarafından elde edilen ilk satır, değerleri olan bir dizi değişken üretecektir. Belirtildiğinde Limit parametresi otomatik olarak 1 olur ve sadece bir (1) kayıt döndürülür.
Prefix
Değişken adına eklenen önek. Biçimi #prefix_columnname#
şeklindedir, burada sütun adı alt çizgi sembolünü hemen takip eder. JSON alanı içeren bir sütun varsa, oluşturulan değişken şu biçimde olacaktır: #prefix_columnname_field#
.
Example
DBFind(parameters,myparam)
DBFind(parameters,myparam).Columns(name,value).Where({name:"money"})
DBFind(parameters,myparam).Custom(myid){Strong(#id#)}.Custom(myname){
Strong(Em(#name#))Div(myclass, #company#)
}
Bir div HTML öğesi oluşturun.
Syntax
Div(Class, Body)
[.Style(Style)]
[.Show(Condition)]
[.Hide(Condition)]
Div
-
Class
Div'in class adı.
-
Body
Child element.
Style
Belirtilen CSS stili.
Style
CSS stili.
Show
Div görüntüleme koşullarını tanımlayın.
Condition
Aşağıdaki Gizle bölümüne bakın.
Hide
Div'i gizlemek için koşulları tanımlayın.
Condition
İfade biçimi GirdiAdı=Değer
şeklindedir; tüm ifadeler doğru olduğunda, Koşul doğrudur ve GirişAdı
nın değeri "Değer"e eşit olduğunda, Koşul doğrudur. Birden fazla Show veya Hide çağrılırsa, en az bir Koşul parametresi true olmalıdır.
Example
Form(){
Div(text-left){
Input(Name: "broadcast", Type: "checkbox", Value: "false")
}
Div(text-left){
hello
}.Show("broadcast=false")
Div(text-left){
world
}.Hide("broadcast=false")
}
Bu işlev, mevcut ekosistemin ekosistem parametre tablosundan parametre değerlerini alır. Döndürülen sonuç adı dil kaynaklarını içeriyorsa, buna göre çevrilecektir.
Syntax
EcosysParam(Name, Index, Source)
EcosysParam
-
Name
Parametre adı.
-
Index
İstenen parametre virgülle ayrılmış öğelerin bir listesiyse, 1'den başlayarak bir dizin belirtebilirsiniz. Örneğin, "gender = male,female" ise, "gender = male,female", "female" değerini döndürür. Source parametresi ile birlikte kullanılamaz.
-
Source
Parametre değeri virgülle ayrılmış bir liste olduğunda kullanılabilir. Öğeleri belirtilen parametrelerin değerleri olan bir veri nesnesi oluşturun. Bu nesne, Tablo ve Seç işlevleri için bir veri kaynağı olarak kullanılabilir. Index parametresi ile birlikte kullanılamaz.
Address(EcosysParam(founder_account))
EcosysParam(gender, Source: mygender)
EcosysParam(Name: gender_list, Source: src_gender)
Select(Name: gender, Source: src_gender, NameColumn: name, ValueColumn: id)
Bir em HTML öğesi oluşturun.
Syntax
Em(Body, Class)
Em
-
Body
Child text veya element.
-
Class
em sınıfı adı.
Example
This is an Em(important news).
Kaynak veri kaynağındaki öğelerin listesini Body'de ayarlanan şablon biçiminde görüntüleyin ve bir forlist öğesi oluşturun.
Syntax
ForList(Source, Index){Body}
ForList
-
Source
-
Index
1'den başlayarak yineleme sayacının değişkeni. İsteğe bağlı bir parametre. Belirtilmezse, yineleme sayısı değeri [Source] _index değişkenine yazılır.
-
Body
Öğe eklemek için şablon.
ForList(mysrc){Span(#mysrc_index#. #name#)}
Bir form HTML öğesi oluşturun.
Syntax
Form(Class, Body) [.Style(Style)]
Form
-
Body
Child text veya element.
-
Class
Formun sınıf adı.
Style Belirtilen CSS stili.
Style
CSS stili.
Example
Form(class1 class2, Input(myid))
Belirli bir tablonun alan veri türünü döndürür.
Döndürülen türler şunları içerir: text, varchar, number, money, double, bytes, json, datetime, double
.
Syntax
GetColumnType(Table, Column)
GetColumnType
-
Table
Tablo adı.
-
Column
Field adı.
Example
SetVar(coltype,GetColumnType(members, member_name))Div(){#coltype#}
Bir gethistory öğesi oluşturun ve bunu belirtilen tablodaki girişlerin geçmiş değişiklik kayıtlarıyla doldurun. Oluşturulan veriler, daha sonra kaynak giriş işlevinde kullanılabilecek olan Kaynak öğesine yerleştirilecektir (örneğin, Tablo). Dizi, son değiştirilenden itibaren sıralanır. Dizideki kimlik alanı, rollback_tx tablosunun kimliğini gösterir. block_id, blok kimliğini temsil eder, blok_zamanı, blok oluşturma zaman damgasını temsil eder.
Syntax
GetHistory(Source, Name, Id, RollbackId)
GetHistory
-
Source
Veri kaynağı adı.
-
Name
Tablo adı.
-
Id
Entri ID.
-
RollbackId
İsteğe bağlı bir parametre. Belirtilirse, rollback_tx tablosundan belirtilen kimliğe sahip yalnızca bir kayıt döndürülür.
Example
GetHistory(blocks, BlockHistory, 1)
Zaten var olan belirtilen değişkenin değerini veya yoksa boş bir dize döndürür.
Getvar öğesi yalnızca düzenlenebilir bir ağaç istendiğinde oluşturulur. GetVar(varname)
ve #varname
arasındaki fark, varname yoksa GetVar'ın boş bir dize döndürmesi, #varname# ise bir dize değeri olarak yorumlanmasıdır.
Syntax
GetVar(Name)
GetVar
-
Name
Variable adı.
Example
If(GetVar(name)){#name#}.Else{Name is unknown}
İpuçları için bir ipucu öğesi oluşturun.
Syntax
Hint(Icon,Title,Text)
Hint
-
Icon
Icon adı.
-
Title
Hint başlığı.
-
Text
Hint text.
Example
Hint(Icon: "icon-wrench",Title:$@1pa_settings$,Text: This is a hint text)
Durum bildirimi. Koşul'u karşılayan ilk If veya ElseIf alt öğesini döndürür. Aksi takdirde, Else alt öğesini döndürün.
Syntax
If(Condition){ Body}
[.ElseIf(Condition){ Body }]
[.Else{ Body }]
If
-
Condition
Koşul boş bir dizeye eşitse, 0 veya yanlış ise, koşulun karşılanmadığı kabul edilir. Diğer tüm durumlarda, bu koşulun sağlandığı kabul edilir.
-
Body
Child element.
Example
If(#value#){
Span(Value)
}.ElseIf(#value2#){Span(Value 2)
}.ElseIf(#value3#){Span(Value 3)}.Else{
Span(Nothing)
}
Bir görüntü HTML öğesi oluşturun.
Syntax
Image(Src, Alt, Class)
[.Style(Style)]
Image
-
Src
Image kaynağı, dosya veya
veri:...
-
Alt
Image görüntülenemediğinde alternatif metin.
-
Сlass
Image class adı.
Example
Image(Src: Binary().ById(#id#), Class: preview).Style(height: 40px; widht 40px;)
Bir resim yüklemek için bir imageinput öğesi oluşturun.
Syntax
ImageInput(Name, Width, Ratio, Format)
ImageInput
-
Name
Element adı.
-
Width
Kırpılan görüntünün genişliği.
-
Ratio
En boy oranı veya görüntü yüksekliği.
-
Format
Yüklenen görüntünün formatı.
Example
ImageInput(avatar, 100, 2/1)
Belirtilen ada sahip şablonu sayfa koduna ekleyin.
Syntax
Include(Name)
Include
-
Name
Şablon adı.
Example
Div(myclass, Include(mywidget))
Bir giriş HTML öğesi oluşturun.
Syntax
Input(Name, Class, Placeholder, Type, Value, Disabled)
[.Validate(validation parameters)]
[.Style(Style)]
Input
-
Name
Element adı.
-
Class
Class adı.
-
Placeholder
Giriş alanının beklenen değerini sor.
-
Type
input tipi.
-
Value
Element değeri.
-
Disabled
Giriş öğesini devre dışı bırakın.
Validate
Parametreyi doğrulayın.
Style
Belirtilen CSS stili.
-
Style
CSS stili.
Example
Input(Name: name, Type: text, Placeholder: Enter your name)
Input(Name: num, Type: text).Validate(minLength: 6, maxLength: 20)
Hata metnini doğrulamak için bir inputerr öğesi oluşturun.
Syntax
InputErr(Name,validation errors)]
InputErr
-
Name
Input öğesinin adına karşılık gelir.
-
validation errors
Bir veya daha fazla parametre için doğrulama hata mesajı.
Example
InputErr(Name: name,
minLength: Value is too short,
maxLength: The length of the value must be less than 20 characters)
Harita üzerinde koordinatları seçebilen adres için bir metin giriş alanı oluşturun.
Syntax
InputMap(Name, Type, MapType, Value)
InputMap
-
Name
Element adı.
-
Value
Varsayılan değer. Değer, dize biçiminde bir nesnedir. Örneğin,
{"coords":[{"lat":number,"lng":number},]}
veya{"zoom":int, "center":{"lat":number,"lng" : sayı}}
. InputMap önceden tanımlanmış Değer ile oluşturulduğunda, adres alanı adres değerini kaydetmek için kullanılabilir, böylece geçersiz olmaz. -
Type
Harita nokta eşleme türü:
polygon
- çok noktalı bir kapalı döngünün alanını gösterir;Line
- kapalı döngü olmaksızın birden çok nokta içeren bir çoklu çizgi anlamına gelir;Point
- tek nokta koordinatını gösterir.
-
MapType
Harita türü. Şu değerlere sahiptir:
hibrit, yol haritası, uydu, arazi
.
Example
InputMap(Name: Coords,Type: polygon, MapType: hybrid, Value: `{"zoom":8, "center":{"lat":55.749942860682545,"lng":37.6207172870636}}`)
Bir jsontosource öğesi oluşturun ve onu bir JSON dizisinin anahtar/değer çiftleriyle doldurun. Elde edilen veriler, daha sonra kaynak giriş işlevinde kullanılabilecek olan Kaynak öğesine yerleştirilir (ör. Tablo). Sonuç verilerindeki kayıtlar JSON anahtarına göre alfabetik olarak sıralanır.
Syntax
JsonToSource(Source, Data)
JsonToSource
-
Source
Veri kaynağı adı.
-
Data
Bir JSON nesnesi veya bir JSON nesnesi (
#name#
) içeren bir değişken adı.
Example
JsonToSource(src, #myjson#)
JsonToSource(dat, {"param":"value", "param2": "value 2"})
Bir etiket HTML öğesi oluşturun.
Syntax
Label(Body, Class, For)
[.Style(Style)]
Label
-
Body
Child text veya element.
-
Class
Class adı.
-
For
Bir form öğesine bağlayın.
StyleThe
:CSS stili belirtildi.
-
Style
CSS stili.
Example
Label(The first item).
Belirli bir dil kaynağı döndürür. Ağacı düzenlemeniz istenirse, langres öğesi döndürülür ve kısa biçim sembolünü
LangRes(Name)
LangRes
-
Name
Dil kaynağının adı.
Example
LangRes(name)
LangRes(myres)
Sayfaya bağlantı veren bir bağlantı sayfası öğesi oluşturun. Syntax
LinkPage(Body, Page, Class, PageParams)
[.Style(Style)]
LinkPage
-
Body
Child text veya element.
-
Page
Yönlendirme sayfasının adı.
-
Class
Buton class adı.
-
PageParams
Yönlendirme sayfası parametreleri.
Style
Belirtilen CSS stili.
Style
CSS stili
Example
LinkPage(Class: #style_link# h5 text-bold, Page: @1roles_view, PageParams: "v_role_id=#recipient.role_id#")
Görsel bir harita oluşturun ve koordinatları herhangi bir biçimde görüntüleyin.
Syntax
Map(Hmap, MapType, Value)
Map
-
Hmap
Sayfadaki bir HTML öğesinin yüksekliği. Varsayılan değer 100'dür.
-
Value
Harita değeri, dize biçiminde bir nesne. Örneğin,
{"coords":[{"lat":number,"lng":number},]}
veya{"zoom":int, "center":{"lat":number,"lng" : sayı}}
. Merkez belirtilmezse, harita penceresi belirtilen koordinatlara göre otomatik olarak ayarlanacaktır. -
MapType
Harita türü. Şu değerlere sahiptir:
hibrit, yol haritası, uydu, arazi
.
Example
Map(MapType:hybrid, Hmap:400, Value:{"coords":[{"lat":55.58774531752405,"lng":36.97260184619233},{"lat":55.58396161622043,"lng":36.973803475831005},{"lat":55.585222890513975,"lng":36.979811624024364},{"lat":55.58803635636347,"lng":36.978781655762646}],"area":146846.65783403456,"address":"Unnamed Road, Moscow, Russia, 143041"})
Menüde iç içe bir alt menü oluşturun ve menü grubu öğesini döndürün. Bunu dil kaynağıyla değiştirmeden önce name parametresi Title değerini döndürür.
Syntax
MenuGroup(Title, Body, Icon)
MenuGroup
-
Title
Menü öğesinin adı.
-
Body
Bir alt menüdeki alt öğeler.
-
Icon
Icon.
Example
MenuGroup(My Menu){
MenuItem(Interface, sys-interface)
MenuItem(Dahsboard, dashboard_default)
}
Bir menü öğesi oluşturun ve menü öğesi öğesini döndürün.
Syntax
MenuItem(Title, Page, Params, Icon)
MenuItem
-
Title
Menü öğesinin adı.
-
Page
Yönlendirme sayfasının adı.
-
Params
Yönlendirme sayfası parametreleri.
-
Icon
Icon.
Example
MenuItem(Title:$@1roles$, Page:@1roles_list, Icon:"icon-pie-chart")
exp / 10 ^ basamağının dize değerini döndürür.
Syntax
Money(Exp, Digit)
Money
-
Exp
Dize biçiminde bir sayı.
-
Digit
"Exp/10^digit" ifadesinde 10'un üssü. Değer pozitif veya negatif olabilir ve pozitif bir değer, ondalık noktadan sonraki basamak sayısını belirler.
Example
Money(Exp, Digit)
Bir if mantıksal işleminin sonucunu döndürür. Parantez içinde listelenen tüm parametreler virgülle ayrılır. Değer olan bir parametreye sahip olmak boş bir dize, sıfır veya false
değilse, parametre değeri true
olur, aksi takdirde parametre değeri false
olur. Parametre değeri true
ise, fonksiyon 1
, aksi halde 0
döndürür.
Syntax
Or(parameters)
Example
If(Or(#myval1#,#myval2#), Span(OK))
Bir p HTML öğesi oluşturun.
Syntax
P(Body, Class)
[.Style(Style)]
P
-
Body
Child text veya element.
-
Class
Class adı.
Style
Belirtilen CSS stili.
-
Style
CSS stili.
Example
P(This is the first line.
This is the second line.)
Belirtilen metinle QR kodunu döndürür ve bir qrcode öğesi oluşturur.
Syntax
QRcode(Text)
QRcode
-
Text
QR kod metni.
Example
QRcode(#name#)
Bir radyo grubu öğesi oluşturun.
Syntax
RadioGroup(Name, Source, NameColumn, ValueColumn, Value, Class)
[.Validate(validation parameters)]
[.Style(Style)]
RadioGroup
-
Name
Öğe adı.
-
Source
DBFind veya Veri işlevinden elde edilen veri kaynağı.
-
NameColumn
Veri kaynağının alan adı.
-
ValueColumn
Veri kaynağının değer adı. Custom ile oluşturulan alanlar bu parametrede kullanılamaz.
-
Value
Varsayılan değer.
-
Class
Class adı
Validate
Parametreyi doğrulayın.
Style
Belirtilen CCS stili.
-
Style
CSS stili.
Example
RadioGroup(Name: type_decision, Source: numbers_type_decisions, NameColumn: name, ValueColumn: value)
Bir aralık öğesi oluşturun, tamsayı öğelerini doldurmak için Adımdan Şuna (Kime dahil değil) adım boyutunu kullanın. Oluşturulan veriler Kaynağa konulacak ve daha sonra kaynak girişinin işlevinde kullanılabilir (ör. Tablo). Geçersiz bir parametre belirtilirse, boş bir Kaynak döndürülür.
Syntax
Range(Source,From,To,Step)
Range
-
Source
Veri kaynağı adı.
-
From
Başlangıç değeri (i = Kimden).
-
To
Bitiş değeri (i <To).
-
Step
Değer değişikliği adımı. Belirtilmemişse, varsayılan değer 1'dir.
Example
Range(my,0,5)
SetVar(from, 5).(to, -4).(step,-2)
Range(Source: neg, From: #from#, To: #to#, Step: #step#)
Seçili bir HTML öğesi oluşturun.
Syntax
Select(Name, Source, NameColumn, ValueColumn, Value, Class)
[.Validate(validation parameters)]
[.Style(Style)]
Select
-
Name
Öğe adı.
-
Source
-
NameColumn
Veri kaynağının alan adı.
-
ValueColumn
Veri kaynağının değer adı. Custom ile oluşturulan alanlar bu parametrede kullanılamaz.
-
Value
Varsayılan değer.
-
Class
Class adı.
Validate
Parametreyi doğrulayın.
Style
Belirtilen CSS stili.
-
Style
CSS stili.
Example
DBFind(mytable, mysrc)
Select(mysrc, name)
Sayfa başlığını ayarlamak ve bir settitle öğesi oluşturmak için.
Syntax
SetTitle(Title)
SetTitle
-
Title
Sayfa başlığı
Example
SetTitle(My page)
Belirtilen değişken Adına Değer değerini atayın.
Syntax
SetVar(Name, Value)
SetVar
-
Name
Değişken ismi.
-
Value
Değişken değeri, başka bir değişkene referans içerebilir.
Example
SetVar(name, John Smith).(out, I am #name#)
Span(#out#)
Bir yayılma HTML öğesi oluşturun.
Syntax
Span(Body, Class)
[.Style(Style)]
Span
-
Body
Child text veya element.
-
Class
Class adı.
Style
Belirtilen CCS stili.
-
Style
CSS style.
Example
This is Span(the first item, myclass1).
Güçlü bir HTML öğesi oluşturun.
Syntax
Strong(Body, Class)
Strong
-
Body
Child text veya element.
-
Class
Class adı.
Example
This is Strong(the first item, myclass1).
System_parameters platform parametre tablosunda belirli bir parametrenin değerini alın.
Syntax
SysParam(Name)
SysParam
-
Name
Platform parametresinin adı.
Example
SysParam(max_columns)
Bir tablo HTML öğesi oluşturun.
Syntax
Table(Source, Columns)
[.Style(Style)]
Table
-
Source
Belirli bir veri kaynağının adı.
-
Columns
Başlık ve ilgili sütun adı, ör.: Başlık1=sütun1,Başlık2=sütun2.
Style
Belirtilen CSS stili.
-
Style
CSS stili.
Example
DBFind(mytable, mysrc)
Table(mysrc,"ID=id,Name=name")
İşlemleri belirtilen hash ile sorgular ve yürütülen sözleşmeler ve parametreleri hakkında bilgi verir.
Syntax
TransactionInfo(Hash)
TransactionInfo
-
Hash
Onaltılık dize biçiminde işlem hashleri.
Return value
JSON biçiminde bir dize döndürür:
{"contract":"ContractName", "params":{"key": "val"}, "block": "N"}
Neresi:
contract
- Sözleşme adı;params
- Sözleşme parametrelerine aktarılan veriler;block
- İşlemi işleyen bloğun ID'si.
Example
P(TransactionInfo(#hash#))
Değeri, değeri yerine belirli bir değişkenin adı olan belirli bir değişken Adına atar.
Değişken ikameli sürümler için bkz. SetVar.
Syntax
VarAsIs(Name, Value)
VarAsIs
-
Name
Variable name.
-
Value
Değişken bir değer. Değerdeki değişken adı değiştirilmeyecektir. Örneğin, Değer örnek #varname# ise, değişken değeri de örnek #varname# olur.
Example
SetVar(Name,"John")
VarAsIs(name, I am #Name#)
Span(#name#) // I am #Name#
h1
…h6
.text-muted
.text-primary
.text-success
.text-info
.text-warning
.text-danger
.bg-danger-dark
.bg-danger
.bg-danger-light
.bg-info-dark
.bg-info
.bg-info-light
.bg-primary-dark
.bg-primary
.bg-primary-light
.bg-success-dark
.bg-success
.bg-success-light
.bg-warning-dark
.bg-warning
.bg-warning-light
.bg-gray-darker
.bg-gray-dark
.bg-gray
.bg-gray-light
.bg-gray-lighter
.row
.row.row-table
.col-xs-1
….col-xs-12
, only used in.row.row-table
.
.panel
.panel.panel-heading
.panel.panel-body
.panel.panel-footer
.form-control
.btn.btn-default
.btn.btn-link
.btn.btn-primary
.btn.btn-success
.btn.btn-info
.btn.btn-warning
.btn.btn-danger
- All fa-class icons are from FontAwesome:
fa fa-<icon-name></icon-name>
. - All icon-class icons are from SimpleLineIcons:
icon-<icon-name>
.