Аналог анонимных таблиц оформленных при помощи material-ui.
Интегрируются в любую страницу вставкой js-кода.
Видео на YouTube 1 ⟹ Видео на VK 1 ⟹
Видео на YouTube 2 ⟹ Видео на VK 2 ⟹
Видео на YouTube 3 ⟹ Видео на VK 3 ⟹
На основе любой простой таблицы и расчетной в дереве можно создать быструю форму. Это упрощенный режим формы, который позволяет неавторизованным пользователям добавлять строки в таблицу.
В процессе создания надо выбрать пользователя от которого будет работать форма. Этот пользователь должен обладать ролью, которая может добавлять строки в целевую таблицу.
После создани формы вы увидите ссылку на нее и код для вставки (если вам нужно интегрировать форму на страницу другого сайта).
При создании, форме указывается уникальный для схемы name, для одной таблицы может быть создано несколько разных форм.
Доступность на редактирование и видимость полей в быстрой форме зависит от роли пользователя от которого осуществлется доступ к форме, а также от функции setFormat кода форматирования поля.
Если вам необходимо динамически скрыть поле в форме, то код форматирования таблицы в форме не применяется — вместо него необходимо использовать параметр hide: "form" = true
функции setFormat.
Форма — это строка в таблице Системные таблицы
— Основные
— Формы
— Формы TTM
. Для редактирования формы после ее создания надо редактировать эту строку.
Если нажать на Настроить форму
, то вы получите доступ к общим настройкам формы и настройкам полей.
Заголовок формы — заголовок на странице формы.
Текст таблицы — произвольный текст, между заголовком и формой.
Секции — в быстрых формах не используется (автоматически создается одна секция quickMain, не удаляйте ее и не изменяйте ее настройки)
Основной заголовок секции для быстрой формы — параметры Секции применяемые к полям в форме в формате JSON. По умолчанию это:
{ "fill": true, "maxwidth": "600", "nextline": true }
HTML при сохранении — это текст, который будет показани пользователю при успешном сохранении строки в таблицу.
Totum-код при сохранении — это код, который будет выполнен после успешного добавления строки в таблицу. В переменную $#rowId
он получает id
добавленной строки. В качестве результата работы этого кода вы можете использовать:
Максимальная ширина формы на основном хосте — ширина формы при открытии по ссылке. Если вы встраиваете форму в другой сайт, то там ширина определяется шириной родительского div
.
Title для браузера — произвольный title браузера при открытии формы по ссылке.
URL файла бэкграунда — путь к файлу фоновой картинки при открытии формы по ссылке.
Форма доступна только с параметрами — если вы используете функцию linkToQuickForm для передачи предустановленных параметров в форму, то установка этой галочки блокирует доступ к форме без параметров. Доступ будет только по ссылке сформированной функцией linkToQuickForm.
Ключевые поля:
View type — можно задать тип отображения поля отличный от базового.
View data — в этом поле в формате JSON задаются параметры отображения для View type
. Для заполнения по шаблону необходимо кликнуть правой кнопкой мыши и нажать на По умолчанию
.
Field title — переопределяет заголовок поля. Что бы отключить заголовок введите *NONE*
.
Техническое поле __save
отвечает за кнопку сохранения в форме. В поле Code format
для нее задан код форматирования определяющий цвет кнопки по умолчанию — его можно переопределить, задав произвольный цвет.
Используя функцию linkToQuickForm вы можете сформировать шифрованную ссылку, содержащую значения указанных в ней полей.
Чтобы значения применились, эти поля должны иметь доступ на изменение при добавлении для роли пользователя от которого запускается форма.
Если вы используете параметры fixed
, то эти поля будут заблокированы для пользователя формы.
Добавляется поле тип Данные и ему назначается viewtype
— JS
.
Оно должно быть доступно для роли от которой вызывается форма, иначе оно не отобразится в DOM
. Для пользователя оно визуально скрывается.
В параметр id
задаете свой id
по которому можно обратится к этому полю в DOM
.
Что бы передать ему данные надо:
<script>
let interv = setInterval(()=>{
let element = document.getElementById('your_id_for_field');
if(element && element.setTotumValue){
clearInterval(interv)
element.setTotumValue(JSON.stringify(
["your_data"]));
}
}, 100);
</script>