- 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
-
accountHesap 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
-
WalletThe 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
-
TitleButon başlığı.
-
IconButon icon stili.
-
PageYönlendirilen sayfanın adı.
-
PageParamsSayfaya aktarılan parametreler.
Popup
Modal penceresi açılır.
-
HeaderPencerenin başlığı.
-
WidthPencere 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
-
AppUygulama ID.
-
NameParametre adı.
-
IndexParametre değeri virgülle ayrılmış bir liste olduğunda kullanılabilir. Parametre öğeleri dizini, 1'den başlar. Örneğin,
type = full,lightise,AppParam(1, type, 2),lightdeğerini döndürür. Source parametresi ile birlikte kullanılamaz. -
SourceParametre 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
-
SourceVeri kaynağı adı.
-
DataBir 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
-
NameDosya adı.
-
AppIDUygulama ID.
-
MemberIDHesap adresi, varsayılan olarak 0.
-
IDStatik dosya ID.
-
EcosystemEkosistem 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
-
BodyChild text veya element.
-
PageYönlendirilen sayfanın adı.
-
ClassButon class
-
ContractAranan sözleşmenin adı.
-
ParamsSö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.
-
PageParamsYö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.
-
NameSözleşmenin adı.
-
DataSözleşme parametreleri JSON dizileridir.
Alert
Mesajı görüntüleyin.
-
TextMesajın metni.
-
ConfirmButtonOnayla buton başlığı.
-
CancelButtonİptal buton başlığı.
-
IconButon icon.
Popup
Çıkış modu modal.
-
HeaderWindow başlığı.
-
WidthPencere genişliğinin yüzdesi. Aralığı 1 ila 100 arasındadır.
Style
Belirtilen CSS stili.
-
StyleCSS 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.
-
ErrorIDHata ID.
-
PageNameYönlendirme sayfasının adı.
-
PageParamsSayfaya 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
-
ExpSayıları ve #name# değişkenini içeren bir aritmetik ifade.
-
TypeSonuç veri türü: int, kayan nokta, para. Belirtilmemişse, ondalık noktalı bir sayı varsa kayan, aksi takdirde int'dir.
-
Precondalı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.
-
SourceDBFind işlevinden alınan veri kaynağının adı.
-
FieldLabelBaşlık alanının adı.
-
FieldValueDeğer alanının adı.
-
ColorsRenklerin 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
-
TextKaynak 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
-
TextKyanak 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
-
SourceVeri kaynağının adı. Daha sonra diğer işlevlere veri kaynağı olarak iletilecek herhangi bir adı belirtebilirsiniz.
-
ColumnsVirgülle ayrılmış sütun adlarının listesi.
-
DataVeri 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.
-
ColumnBenzersiz ve zorunlu olan sütun adı.
-
BodyKod 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
-
DateTimeUnixtime veya standart biçimde
2006-01-02T15:04:05ifade edilen saat ve tarih. -
FormatFormat ş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:SSkullanı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
-
tableTablo adı
-
SourceVeri kaynağı adı.
Columns
-
columnsBelirtilmezse, 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
-
limitDöndürülen giriş sayısı, varsayılan olarak 25'tir. Maksimum sayı 10.000'dir.
Offset
-
OffsetOfset
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.
-
countvarSatı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
-
ClassDiv'in class adı.
-
BodyChild 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
-
NameParametre 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.
-
SourceParametre 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
-
BodyChild text veya element.
-
Classem 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 -
Index1'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
-
BodyChild text veya element.
-
ClassFormun 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
-
TableTablo adı.
-
ColumnField 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
-
SourceVeri kaynağı adı.
-
NameTablo adı.
-
IdEntri 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
-
NameVariable 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
-
IconIcon adı.
-
TitleHint başlığı.
-
TextHint 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
-
ConditionKoş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.
-
BodyChild 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
-
SrcImage kaynağı, dosya veya
veri:... -
AltImage görüntülenemediğinde alternatif metin.
-
СlassImage 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
-
NameElement adı.
-
WidthKırpılan görüntünün genişliği.
-
RatioEn boy oranı veya görüntü yüksekliği.
-
FormatYü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
-
NameElement adı.
-
ClassClass adı.
-
PlaceholderGiriş alanının beklenen değerini sor.
-
Typeinput tipi.
-
ValueElement değeri.
-
DisabledGiriş öğesini devre dışı bırakın.
Validate
Parametreyi doğrulayın.
Style
Belirtilen CSS stili.
-
StyleCSS 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
-
NameInput öğesinin adına karşılık gelir.
-
validation errorsBir 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
-
NameElement adı.
-
ValueVarsayı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. -
TypeHarita 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.
-
MapTypeHarita 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
-
SourceVeri kaynağı adı.
-
DataBir 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
-
BodyChild text veya element.
-
ClassClass adı.
-
ForBir form öğesine bağlayın.
StyleThe:CSS stili belirtildi.
-
StyleCSS 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
-
NameDil 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
-
BodyChild text veya element.
-
PageYönlendirme sayfasının adı.
-
ClassButon class adı.
-
PageParamsYö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
-
HmapSayfadaki bir HTML öğesinin yüksekliği. Varsayılan değer 100'dür.
-
ValueHarita 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. -
MapTypeHarita 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
-
TitleMenü öğesinin adı.
-
BodyBir alt menüdeki alt öğeler.
-
IconIcon.
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
-
TitleMenü öğesinin adı.
-
PageYönlendirme sayfasının adı.
-
ParamsYönlendirme sayfası parametreleri.
-
IconIcon.
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
-
ExpDize 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
-
BodyChild text veya element.
-
ClassClass adı.
Style
Belirtilen CSS stili.
-
StyleCSS 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
-
TextQR 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ı.
-
SourceDBFind veya Veri işlevinden elde edilen veri kaynağı.
-
NameColumnVeri kaynağının alan adı.
-
ValueColumnVeri kaynağının değer adı. Custom ile oluşturulan alanlar bu parametrede kullanılamaz.
-
ValueVarsayılan değer.
-
ClassClass adı
Validate
Parametreyi doğrulayın.
Style
Belirtilen CCS stili.
-
StyleCSS 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
-
SourceVeri kaynağı adı.
-
FromBaşlangıç değeri (i = Kimden).
-
ToBitiş değeri (i <To).
-
StepDeğ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 -
NameColumnVeri kaynağının alan adı.
-
ValueColumnVeri kaynağının değer adı. Custom ile oluşturulan alanlar bu parametrede kullanılamaz.
-
ValueVarsayılan değer.
-
ClassClass adı.
Validate
Parametreyi doğrulayın.
Style
Belirtilen CSS stili.
-
StyleCSS 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
-
TitleSayfa başlığı
Example
SetTitle(My page)
Belirtilen değişken Adına Değer değerini atayın.
Syntax
SetVar(Name, Value)
SetVar
-
NameDeğişken ismi.
-
ValueDeğ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
-
BodyChild text veya element.
-
ClassClass adı.
Style
Belirtilen CCS stili.
-
StyleCSS style.
Example
This is Span(the first item, myclass1).
Güçlü bir HTML öğesi oluşturun.
Syntax
Strong(Body, Class)
Strong
-
BodyChild text veya element.
-
ClassClass 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
-
NamePlatform parametresinin adı.
Example
SysParam(max_columns)
Bir tablo HTML öğesi oluşturun.
Syntax
Table(Source, Columns)
[.Style(Style)]
Table
-
SourceBelirli bir veri kaynağının adı.
-
ColumnsBaşlık ve ilgili sütun adı, ör.: Başlık1=sütun1,Başlık2=sütun2.
Style
Belirtilen CSS stili.
-
StyleCSS 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
-
HashOnaltı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
-
NameVariable name.
-
ValueDeğ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>.