Alta |
Взятие корневого документа приложения. Тип значения метода соответствует корневой форме, заданной при создании приложения.
def root()Организация внутренней ссылки на другую страницу приложения:
def anchor(pageid:String!, title:String!) def anchor(pageid:String!, title:String!, #:map/M params)Реализация поллинга: метод method вызыватся каждые ms миллисекунд:
def interval(ms:Int!, method:String!)Получение логина пользователя (текущей сессии)
def login()
Скрытый параметр:
hidden: { method:'publish // метод, куда передается параметр name:'from // имя параметра value:login()} // значение параметра
Текстовый ввод:
text: { method:'publish // метод, куда передается параметр name:'message // имя параметра type:string} // тип вводимого значения
Элемент-селектор
selector: { pick:'readers // выборка опций root().readers name:'reader // имя параметра method:'issue} // метод, куда передается параметр
Кнопка с запуском метода
aButton: { method: 'publish // запускаемый метод title: 'Опубликовать} // текст кнопки
Параметры:
def param(name:String!) // значение входного параметра def extString(key:String!): String? def extStringe(key:String!): String! def extStrings(key:String!): String* def extInt(key:String!): Int? def extInte(key:String!): Int! def extInts(key:String!): Int* def extReal(key:String!): Real? def extReale(key:String!): Real! def extReals(key:String!): Real*
Запуск проводки:
def jump(jumpname:String!, target:String!)
Методы страниц – выходные инструкции:
def val(selector:String!, value:Any!) def clear(selector:String!) def subst(id:String!, newval) def append(id:String!, newval)
Пример метода страницы
jump: 'addmessage, 'Active // исполнение проводки addmessage clear: 'message // очистка элемента с id 'message subst: 'posts, feed() // замена содержимого элемента id='posts
методы работы с документом в модели – на примере документа формы App с полями
name: String?
pages: Page*
title: String -> String
Определение
def App name: String? // взятие значения поля name def App nameDirect(): String? // взятие прямого значения def App name(vals: String?) // задание значения поля name
Поле pages
содержит последовательность документов Page
(форма Page
также должна быть определена в модели)
def App pages: Page* // взятие всех значений def App pagesDirect(): Page* // взятие прямых значений def App pages(vals: Page*) // новая последовательность def App pagesPrepend(vals: Page*) // добавление в начало def App pagesAppend(vals: Page*) // добавление в конец
Мэп-поле title
задает заголовок документа в зависимости от языка (ключа мэпа)
def App titleKeys(): String* // взятие всех ключей мэпа def App title(key: String!): String? // взятие значения ключа key def App titleDirect(key: String!): String? // взятие прямого значения def App title(key: String!, vals: String?) // задание значения ключа key
Общие методы
def App runTitle(): String! // получение заголовка документа в языке по-умолчанию def App runTitle(lang: String!): String! // получение заголовка на языке lang def App ikey(): Int! // получение уникального ключа документа в модели def App name(): String? // получение имени документа def App state(): State! // получение текущего статуса документа def App states(): State* // получение ретро-последовательности статусов def App get(fieldName: String!)* // получение значения поля по имени def App delete() // удаление документа def allApp(): `App`* // все документы формы App def getApp(ikey: Int!): `App`? // получение документа по уникальному ключу
Методы запуска перехода (проводки) документов jumpName
, переводящей документ в статус targetStateName
с внешними параметрами ext
:
def App call(targetStateName: String!, jumpName: String!, ext: librun/External!) def App call(targetStateName: String!, jumpName: String!) def App call(jumpName: String!, ext: librun/External!) def App call(jumpName: String!)
Технические методы
def App wrap: doc/Item! // получение документа, соответствующего данному App def App equalityKey // ключ, по которому оценивается равенство документов App def AppType:Int! // целочисленный номер типа данных, задаваемого App (ikey формы)