⟵ сюдатуда ⟶
  • Установка
  • Установка на Ubuntu
  • Обновления
  • Установка PRO
  • Бэкапы
  • Multi/no-multi
  • Консольная утилита bin/totum
  • Основы для пользователей
  • Интерфейс и компоновка
  • Таблицы и их параметры
  • Префильтр
  • Поля и их параметры
  • Синтаксис
  • Код, действия, форматирование
  • Реляционные взаимосвязи
  • Порядок расчета и единицы пересчета
  • Сравнения
  • Функции
  • Отладка
  • Автозаполнение расчетных и временных
  • Дублирование строк и циклов
  • Печать и CSV
  • API
  • Роли и пользователи
  • Нотификации
  • Действия по расписанию
  • Системные таблицы
  • Дополнительные интерфейсы
  • Структура файлов
  • Структура базы
  • [PRO] Деревья
  • [PRO] Анонимные таблицы
  • [PRO] Внешние формы
  • Быстрые формы
  • Общие настройки формы
  • Настройки полей формы
  • Передача параметров в быструю форму
  • Передача параметров в скрытое поле в форме из JS
  • [PRO] Экспорт и импорт таблиц
  • [PRO] MeiliSearch
  • [PRO] Базы данных
  • [PRO] Настройка CSS
  • [PRO] Custom docs
  • [PRO] LDAP AD
  • [PRO] Версии файлов
  • [PRO] List-unsubscribe
  • [PRO] Динамические поля
  • [PRO] Only Office
  • [PRO] Auth Tokens
  • [PRO] 2FA
  • [PRO] Superlang
  • [PRO] Profiler
  • [PRO] Подключение функций
  • [SRV] Подключение
  • [SRV] Пользовательские возможности
  • [SRV] XLSX/DOCX генераторы
  • [SRV] chatGPT
  • PRO Внешние формы

    Аналог анонимных таблиц оформленных при помощи material-ui.

    Пример 1 ⟹

    Пример 2 ⟹

    Пример 3 ⟹

    Интегрируются в любую страницу вставкой js-кода.

    Быстрые формы

    Видео на YouTube 1 ⟹

    Видео на YouTube 2 ⟹

    Видео на YouTube 3 ⟹

    На основе любой простой таблицы и расчетной в дереве можно создать быструю форму. Это упрощенный режим формы, который позволяет неавторизованным пользователям добавлять строки в таблицу.

    В процессе создания надо выбрать пользователя от которого будет работать форма. Этот пользователь должен обладать ролью, которая может добавлять строки в целевую таблицу.

    После создани формы вы увидите ссылку на нее и код для вставки (если вам нужно интегрировать форму на страницу другого сайта).

    При создании, форме указывается уникальный для схемы name, для одной таблицы может быть создано несколько разных форм.

    Доступность на редактирование и видимость полей в быстрой форме зависит от роли пользователя от которого осуществлется доступ к форме, а также от функции setFormat кода форматирования поля.

    Если вам необходимо динамически скрыть поле в форме, то код форматирования таблицы в форме не применяется — вместо него необходимо использовать параметр hide: "form" = true функции setFormat.

    Форма — это строка в таблице Системные таблицыОсновныеФормыФормы TTM. Для редактирования формы после ее создания надо редактировать эту строку.

    Общие настройки формы

    Если нажать на Настроить форму, то вы получите доступ к общим настройкам формы и настройкам полей.

    • Заголовок формы — заголовок на странице формы.

    • Текст таблицы — произвольный текст, между заголовком и формой.

    • Секции — в быстрых формах не используется (автоматически создается одна секция quickMain, не удаляйте ее и не изменяйте ее настройки)

    • Основной заголовок секции для быстрой формы — параметры Секции применяемые к полям в форме в формате JSON. По умолчанию это:

      { "fill": true, "maxwidth": "600", "nextline": true }

    • HTML при сохранении — это текст, который будет показани пользователю при успешном сохранении строки в таблицу.

    • Totum-код при сохранении — это код, который будет выполнен после успешного добавления строки в таблицу. В переменную $#rowId он получает id добавленной строки. В качестве результата работы этого кода вы можете использовать:

      • linkToDataText — всплывающее окно с текстом.
      • linkToDataHtml — всплывающее окно с текстом оформленным в HTML.
      • linkToScript — переадресация на другую страницу.
    • Максимальная ширина формы на основном хосте — ширина формы при открытии по ссылке. Если вы встраиваете форму в другой сайт, то там ширина определяется шириной родительского div.

    • Title для браузера — произвольный title браузера при открытии формы по ссылке.

    • URL файла бэкграунда — путь к файлу фоновой картинки при открытии формы по ссылке.

    • Форма доступна только с параметрами — если вы используете функцию linkToQuickForm для передачи предустановленных параметров в форму, то установка этой галочки блокирует доступ к форме без параметров. Доступ будет только по ссылке сформированной функцией linkToQuickForm.

    Настройки полей формы

    Ключевые поля:

    • View type — можно задать тип отображения поля отличный от базового.

    • View data — в этом поле в формате JSON задаются параметры отображения для View type. Для заполнения по шаблону необходимо кликнуть правой кнопкой мыши и нажать на По умолчанию.

    • Field title — переопределяет заголовок поля. Что бы отключить заголовок введите *NONE*.

    Техническое поле __save отвечает за кнопку сохранения в форме. В поле Code format для нее задан код форматирования определяющий цвет кнопки по умолчанию — его можно переопределить, задав произвольный цвет.

    Передача параметров в быструю форму

    Используя функцию linkToQuickForm вы можете сформировать шифрованную ссылку, содержащую значения указанных в ней полей.

    Чтобы значения применились, эти поля должны иметь доступ на изменение при добавлении для роли пользователя от которого запускается форма.

    Если вы используете параметры fixed, то эти поля будут заблокированы для пользователя формы.

    Передача параметров в скрытое поле в форме из JS

    Добавляется поле тип Данные и ему назначается viewtypeJS.

    Оно должно быть доступно для роли от которой вызывается форма, иначе оно не отобразится в 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>