Универсальная кнопка действия as_submit
Иногда есть потребность сделать 1 кнопку для выполнения некоего действия в системе.
Для этого можно использовать модальные формы (as-form-modal), но при этом будет выводиться дополнительное окно + необходимо создавать форму.
Более легкий вариант - использование кнопки as-submit (основан на механизме request js).
Разметка сниппета:
<a href="#" class="as-submit" data-code="t1" data-itemid="123" data-confirmtext="Вы уверены?" data-selector=".tooltip-toggle:first" data-needvalue="Укажите ФИО">Link1</a>
Параметры:
- code (обязательный) - служит для идентификации действия и является часть имени хранимой процедуры.
- itemID - некий строковый параметр.
- confirmText- если указан, то будет при клике на кнопку выводится окно подтверждения операции.
- selector - если указан, то осуществляется поиск этого элемента на странице и его значение помещается в параметр value.
- needValue - если указана строка, то при пустом value (что определяется посредством selector) будет выводиться alert с этой строкой.
На сервере реализуем хранимую процедуру request вида request_submit_{code}
Пример:
create OR ALTER PROCEDURE [dbo].[request_submit_t1]
@parameters ExtendedDictionaryParameter READONLY,
@username nvarchar(32)
AS
BEGIN
declare @itemID nvarchar(max) = (select value2 from @parameters where [key]='itemID')
declare @value nvarchar(max) = (select value2 from @parameters where [key]='value')
-- SELECT 1 Msg, Result
select 'Params: '+ isnull(@itemID, 'xx') + ' - ' + isnull(@value, 'xx') Msg, 1 Result
-- SELECT 2 Основные данные в виде произвольной таблицы
select 1
-- SELECT 3 Внешние действия
END
На входе из @parameters извлекаем itemID и value (значение контейнера или элемента управления из параметра selector разметки сниппета).
На выходе:
SELECT 1
- Result - Результат операции, 1 или 0,
- Msg - выводимое соощение в alert, если пустое или пробел, то не будет выводиться окно alert.
- Type - тип выводимого сообщения. Если не указан, то при result=1 будет success, и при result=0 будет danger,
- Actions - JSON для действий на клиенте после выполнения операции. Подробнее про actions.
SELECT 2 - некие данные в свободном виде. Их можно использовать в JS коллбеке операции.
SELECT 3 - внешние действия. См. про внешние действия.
Если нужна кастом обработка результата операции, то пробуем использовать actions. Если этого недостаточно, то делаем JS коллбек вида:
as.callbacks["submit_t1"]=function(btn, data){
}
где btn - исходная кнопка, data - данные от сервера после операции, t1 - это код(data-code) исходной кнопки.
Google поиск по нашей документации
- Руководства
- Основа Falcon Space
- Основные компоненты
- Возможности
- Коммуникация с пользователем
- Дизайн, стилизация, юзабилити
- Лендинги
- Универсальный API
- Примеры интеграций
- Каталоги
- Навигация
- Документы
- Дополнительные компоненты
- Продвижение, SEO
- Системные моменты Как быстро перенести решение (таблицы, формы, страницы) на другую базу? Где я могу редактировать процедуру поиска, процедуру общих элементов Layout, процедуры периодического запуска и др? Как изменить длительность показа сообщений Отслеживание изменений хранимых процедур и страниц (logChanges) Форма обратной связи по ошибкам, предложениям suggestion Как разграничивать права на уровне бизнес-логики хранимых процедур Безопасная обработка данных и проверка доступа в хранимых процедурах Использование типовой разметки в виде сниппетов для решения различных задач Работа с редактором кода в личном кабинете разработчика Логирование изменений объектов на примере хранимых процедур Как логировать клики на определенных элементах в системе Обработка старых браузеров (сообщение об устаревшем браузере) Как отследить и ограничить большое количество однородных запросов на сайте Безопасность. Как скрыть некоторые заголовки (http headers) в запросах Логирование событий в приложении (trace) Отображение сообщения об offline (Нет сети) Рабочее место разработчика через терминал Обновляемые метки времени в сообщениях на сайте Подсказка по интерфейсам хранимых процедур компонентов Защита от CSRF атак через дополнительный токен в формах Дополнительные параметры в @parameters (во многих хранимых процедурах) Как логировать события в Falcon в другую базу (чтобы ограничить рост основной базы данных) Сообщение об использовании куки (Cookies) Действия в браузере actions JSON Как искать код некоего компонента (таблицы, формы и т.д.) на странице Как сделать так, чтобы почта отправлялась асинхронно без задержек Настройка диалоговых окон и alert окошек Работа со сниппетами кода Мелкие удобства для разработчика в личном кабинете Универсальная кнопка действия as_submit Режим показа таблицы/формы в alert окне Реализация системы анализа IP посетителей
- Системное администрирование
- HOWTO
- Таблицы
- Формы
- Загрузка файлов, картинок
- Работа с SQL
- HOWTO JS
- HOWTO Верстка
- Решение проблем
Выгода от использования Falcon Space
В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
- Шаг 1. Создать концепт проекта
- Шаг 2. Получить оценку бюджета (КП)
- Шаг 3. Заключить договор
- Шаг 4. Создать совместно техническое задание
- Шаг 5. Поэтапная реализация проекта