Операции в таблице - на строку, групповые операции
В таблице можно делать некоторые кастомизированные операции (через использование своих хранимых процедур). Есть 3 вида операций:
Настройки операций в таблице
Для добавления операции к таблице, необходимо создать операцию в разделе операции таблицы (ссылка Операции на форме редактирования таблицы).
Для операции указываем:
-
код - используется для построения имен хранимых процедур
-
название - выводится в таблице
-
иконка - иконка Font Awesome (подобрать нужную иконку вы можете в разделе Статическое меню), например, fa fa-bars
-
текст подтверждения - если задан текст, то перед выполнением операции будет запрашиваться подтверждение операции с указанным текстом. Подтверждение не запрашивается, если кастомная кнопка. При кастомной кнопке нужно в явном виде указывать data-confirmtext="Подтвердите свой выбор".
-
сообщение - сообщение об успешном выполнении операции при успехе
-
Скрыть строку после выполнения операции - если ДА, то скрываем строку, для которой была вызвана операция
(действует только для построчных операций)
-
Перезапуск страницы после выполнения операции - если ДА, то перезагрузка всей страницы при успешном выполнении.
-
Пользователи, Роли - кто имеет доступ на выполнение этих операций
-
Тип - операция может быть:
-
для строки (выводится тогда в строке),
-
просто в тулбаре (кнопка вверху таблицы)
-
для групповых операций (появляется вверху таблицы, когда выбрана одна или более строк галочками -
для этого необходимо у таблицы установить настройку Показывать галочки для групповых операций)
ВАЖНО: для групповых операций в SQL процедуре операции передаются id строк таблицы через запятую в @itemIDs. Эти id берутся из колонки с признаком PK (primary key).
После настройки операций переходим к созданию хранимых процедур.
Хранимые процедуры операций таблицы
Действия по кнопкам реализуются через хранимые процедуры следующего вида crud_{tableEntity}_{operationCode}_operation.
На вход процедуре передается itemIDs nvarchar(2048), в котором содержатся ID выбранной строки, либо выбранных строк для групповой операции,
либо все строки страницы (если это просто кнопка для toolbar).
--имя строится как crud_{table}_{operationCode}_operation
CREATE PROCEDURE [dbo].[crud_newTableTest_newOperation_operation]
@filters CRUDFilterParameter READONLY,
@itemIDs nvarchar(256),
@username nvarchar(32)
AS
BEGIN
-- выполнение операции таблицы
-- если это групповая операция то itemIDs содержит значение id через запятую
--declare @filterFormID int -- для использования переменных переданных неявно (через URL)
--select @filterFormID = try_cast(Value as int) from @filters where [Key] = 'formID'
-- select value from dbo.split(@itemIDs, ',') перебор значений выбранных элементов
declare @res bit = 0
-- SELECT 1 msg, Result, Info
if(@res=1) begin
select 'Произошла ошибка' Msg, 0 Result
end else begin
select '' Msg, 1 Result, '' Info, '' RedirectUrl
end
-- SELECT 2 Вызов внешнего действия
/*
select 'email' type, -- email, sms, notification, clearcache
'ru@rudensoft.ru' [to], 'sub1' subject, 'bodyXXX'+@itemIDs body, ---EMAIL
'Text 1' msg, '723429234' [number], --- SMS
'' prefix, --CLEAR CACHE
'text1' text , 'ru@rudensoft.ru' [to], 'ticketExecutor' typeCode, 'http///' url, 'add111' additional -- notification
*/
END
На входе:
- @filters CRUDDictionaryParameter - фильтры таблицы (Key, Value) по аналогии с GetItems (необязательный параметр, обновление окт 2024).
- @itemIDs - через запятую id строк таблицы. Eсли row операция - то id строки, для которой вызвана операция. Если group операция - то id (это колонки с PK=true) строк через запятую. Если toolbar операция - то пустое.
- @username - текущий пользователь.
- @parameters ExtendedDictionaryParameter - опциональный параметр, в котором передаются langID, falconGuid, userIP и др.
На выходе:
- SELECT 1 -
- Result - результат операции (bit),
- Msg - сообщение пользователю,
- Icon - Поле Icon задает иконку результата в окне справа вверху, например, 'fa fa-code',
- Info - эта информация будет выводиться в диалоговом окне после выполнения операции (если указан type - то будет выведено окно alert справа наверху с разметкой из info),
- RedirectUrl - если указан и операция выполнена успешно, то будет выполнен редирект на указанный адрес,
- RefreshContainer - если указан селектор, то будет выполнено обновление компонентов в заданном контейнере.
- Actions - JSON для действий в браузере.
- Color - можно установить цвет фона для выбранных строк (галочками для групповой операции или для операции на строке).
- SELECT 2 - вызовы внешних действий (почта, смс, уведомление и т.д.). См. вызов внешних действий.
Примечание:
- Если вы планируете использовать формы для обработки выбранных строк (особенно в случае групповых операций): Кнопка модальной формы (as-form-modal) добавляется в groupOperationsToolbar для таблицы, в data-itemID кнопки автоматически при простановке галочек попадают itemID строк через запятую, например "123,456,789". В этом случае не нужно создавать отдельный элемент в Операции таблицы.
- Если указано RedirectUrl, то после успешного выполнения операции будет переход на указанный URL.
Страница-источник на сайте falconspace.ru
-
Начало работы
-
Основа Falcon Space
-
Руководства
-
Возможности
-
Коммуникация пользователей
-
Таблицы
Работа с таблицами Вывод данных в таблице - getItems Редактирование данных в колонках таблицы - updateField Удаление строки в таблице - deleteItem Создание строки в таблице - FastCreate Операции в таблице - на строку, групповые операции Настройка параметров таблицы Фильтрация данных в таблице Настройка колонок таблицы Настройка сниппета таблицы Как сделать сортировку в таблице Как реализовать подтаблицу (вложенная таблица), подформу в таблице Как сделать таблицу в модальном окне (открывается в диалоговом окне) Как связать 2 таблицы Кастомная разметка в таблице Выгрузка данных таблицы в XML, JSON, CSV JS коллбеки для таблицы Загрузка таблицы по ссылке Как связать таблицу и редактирование сущности (зависимая страница). Master-slave Как использовать комментарии в таблицах Как добавить в фильтре значение Не выбрано со значением Как установить ширину колонки в таблице Как добавить диапазон даты или чисел (слайдер) в фильтр Как сделать операции только для некоторых строк Как делать различный набор столбцов одной таблицы для разных ролей Как сделать Editable для галочки (Да/Нет) в AS CRUD Как редактировать колонку с датой Как скрыть строчные операции в таблице для определенных строк Как добавить коллбек после загрузки таблицы Отображение таблиц на смартфоне Как работать с галочками в таблице Частые ошибки при настройке таблицы (почему не работает таблица) Как обновить подтаблицу после выполнения некой операции Как обрабатывать групповые операции через модальную форму Как создать предустановленные фильтры для таблицы Как убрать показ количества строк результата в заголовке таблицы? Как сделать сворачивание таблицы (collapse table) Как убрать старые dict процедуры в формах и таблицах Как сделать фильтр с деревом галочек Как отключить сохранение состояния таблицы (фильтры) Как сделать ссылку на всю строку таблицы Как передать через URL значение фильтра Как сделать обрезание ячеек таблицы Сортировка строк в таблице Создание сущности с учетом значений фильтров Оптимизация запроса SQL - извлечение данных для таблицы Режим кастом вывода через JS (custom) Как настроить дополнительные шапку и подвал у таблицы Как сделать зависимые фильтры в таблице Импорт данных в формате файлов txt, csv, excel через компонент Таблица Как гибко управлять видимостью столбцов таблицы Как сделать раскрытие подстроки в таблице через любую ссылку Режим быстрой фильтрации строк без обращения на сервер Выпадающая панель рядом с названием таблицы dropdownPanel Как убрать при загрузке установку фокуса ввода на фильтр (data-nofocus)? Как сделать аналитику по периодам (таблица с интервалами дат) Кастомизация вида операций таблицы Стилизация фильтров таблицы Анализ данных в таблице через внешние сервисы (опция apiSendDataOptions)
-
Формы
-
Поля формы
-
Лендинги
-
Дизайн, стилизация, юзабилити
-
Интеграции
-
Универсальный API
-
Каталоги
-
Навигация
-
Документы
-
Дополнительные компоненты
-
Продвижение, SEO
-
Системные моменты
-
Системное администрирование
-
HOWTO
-
Загрузка файлов, картинок
-
HOWTO SQL
-
HOWTO JS
-
HOWTO Верстка
-
Решение проблем
-
Советы по реализации