Alterator/Master Class: различия между версиями

Материал из ALT Linux Wiki
м (Новая страница: «Пошаговые примеры создания и использования различных виджетов Alterator для форм html, и, может ...»)
 
мНет описания правки
Строка 1: Строка 1:
Пошаговые примеры создания и использования различных виджетов Alterator
== Пошаговые примеры ==
создания и использования различных виджетов Alterator
для форм html, и, может быть, Qt версий.
для форм html, и, может быть, Qt версий.
=== Текстовые поля и надписи ===
Самым первым и самым простым применением может быть редактирование конфигурационного файла
в формате Param: value
Предположим, на экране мы хотим получить такую форму
[[Файл:Label_and_textinput.png]]
В файле index.html нашего модуля пишем:
<pre>
<span translate="_">Server name:</span>&nbsp;
<input type="text" class="text" name="your_server" style="width:120px;"/>
</pre>
Если строка '''Server name:''' определена в файле переводов, то она будет переведена.
Ни изменять значение, ни читать его мы больше не будем.
Поле ввода имеет имя ''your_server'' по которому можно обращаться к данному полю.
Писать или читать его значение.
Для того, чтобы записать значение '''127.0.0.1''' в это поле, в файле ajax.scm пишем:
(form-update-value "your_server" "127.0.0.1")
Для того, чтобы прочитать значение из поля, в файле ajax.scm пишем
(form-value "your_server")
В более сложном виде, для передачи значения в backend пишем, например, так:
(catch/message
        (lambda()
        (woo "new" "/backend/" 'server (form-value "your_server") 'language (form-value "language"))))
В этом случае в backend передаются параметр server и значение form-value "your_server",
а так же language и form-value "language" для возможности правильного перевода.
Более удобным является использование
(form-value-list '("field1" "field2" "field3" "field4")
В этом случае передаются пары значений ''имя_поля'' ''значение_поля''
Каким образом мы получим значение нашего параметра в backend, в данной статье рассматриваться не будет. Предположим, что значение мы получили и нам осталось выполнить вызов
write_string_param param_name param_value
В нашем случае
write_string_param your_server your.domain.com
Теперь, обратимся к backend-у, иначе он нам сам ни чего отдавать не будет.
В ajax.scm пишем функцию
(form-update-value "your_server" (woo-read "/backend_name"))
Или более универсальный вариант
(form-update-value-list (woo-read-first "/backend_name"))
В этом случае имена параметров должны иметь такие же имена, как и имена в формах.




[[Категория:Alterator]]
[[Категория:Alterator]]

Версия от 16:54, 19 апреля 2010

Пошаговые примеры

создания и использования различных виджетов Alterator для форм html, и, может быть, Qt версий.

Текстовые поля и надписи

Самым первым и самым простым применением может быть редактирование конфигурационного файла в формате Param: value

Предположим, на экране мы хотим получить такую форму

Label and textinput.png

В файле index.html нашего модуля пишем:

 <span translate="_">Server name:</span> 
 <input type="text" class="text" name="your_server" style="width:120px;"/>

Если строка Server name: определена в файле переводов, то она будет переведена. Ни изменять значение, ни читать его мы больше не будем.

Поле ввода имеет имя your_server по которому можно обращаться к данному полю. Писать или читать его значение. Для того, чтобы записать значение 127.0.0.1 в это поле, в файле ajax.scm пишем:

(form-update-value "your_server" "127.0.0.1")

Для того, чтобы прочитать значение из поля, в файле ajax.scm пишем

(form-value "your_server")

В более сложном виде, для передачи значения в backend пишем, например, так:

(catch/message
       (lambda()
       (woo "new" "/backend/" 'server (form-value "your_server") 'language (form-value "language"))))

В этом случае в backend передаются параметр server и значение form-value "your_server", а так же language и form-value "language" для возможности правильного перевода.

Более удобным является использование

(form-value-list '("field1" "field2" "field3" "field4")

В этом случае передаются пары значений имя_поля значение_поля

Каким образом мы получим значение нашего параметра в backend, в данной статье рассматриваться не будет. Предположим, что значение мы получили и нам осталось выполнить вызов

write_string_param param_name param_value

В нашем случае

write_string_param your_server your.domain.com

Теперь, обратимся к backend-у, иначе он нам сам ни чего отдавать не будет. В ajax.scm пишем функцию

(form-update-value "your_server" (woo-read "/backend_name"))

Или более универсальный вариант

(form-update-value-list (woo-read-first "/backend_name"))

В этом случае имена параметров должны иметь такие же имена, как и имена в формах.