РуководстваОснова Falcon SpaceОсновные компонентыВозможностиКоммуникация пользователейДизайн, стилизация, юзабилитиЛендингиУниверсальный APIИнтеграцииКаталогиНавигацияДокументыДополнительные компонентыПродвижение, SEOСистемные моментыСистемное администрированиеHOWTO
Как сделать отдельный универсальный поискМодальная ссылка (as-modal)Как идентифицировать анонимного пользователя (по куки)?Дашборды. Как вызвать коллбек после загрузки дашбордаКак вынести правила редиректа в отдельный файл configСтраницы. Как сделать редирект на другую страницу при загрузкеСтраницы. Как изменить текст на главнойСтраницы. Как использовать дополнительные параметры на страницеСтраницы. Как выводить списковые данные в теле страницы (repeater)Страницы. Настройки страницы для формирования главного менюСтраницы. Мне нужен в URL параметр itemID, но там передается из-за сущностей InstanceIDСтраницы. Как сделать мастер описания функционала страницыКак добавить событие в календарь GoogleКак сделать кнопку определенного действияКак сделать горячие клавиши для событий (нажатие кнопки)Как показывать баланс пользователя вверху кабинета?Где взять фото пользователяКак сделать поддомены с разными языками для сайтаКак управлять страницей “404 Страница не найдена”Отслеживание всех действий пользователя в системеКак выводить денежные данныеКак дать возможность некоторым ролям вводить html в формах?Что делать если открытая вкладка (tab) сбрасывается при перезагрузке страницы?Как реализовать создание периодического отчета на почтуПопап (popup) окна - показ модальной формы по событию или таймаутуКак быстро просматривать типовые отчеты с возможностью редактирования SQLКак максимизировать показатели Google PageSpeed для сайта на Falcon SpaceКак реализовать окно уведомления об использовании куки (cookies)Вывод на странице штрихкода (barcode) и QR кодаКак в тексте сделать ссылки кликабельнымиКак внедрить на сайте автоопределение города с возможностью выбораКак внедрить оглавление в текстКак вставить универсальный поиск в любое место страницыКак определить координаты lat lng пользователя в текущий моментКак сделать сортировку дерева с Drag-and-DropКак обновить часть страницы по клику на кнопкеЗагрузка дашборда по ссылке as-dashboard-linkКак запретить копировать текст с сайта. Как добавлять ссылку копирайта в текст при копировании с сайтаКак изменить шаблоны хранимых процедур для Формы, Таблицы и др.Определение местоположения пользователя по IP через API (as-ip)Форма Нашли ошибку по Ctrl+EnterКак определить откуда пришел пользователь на сайт? Фиксация источника посещения пользователем сайтаКак сделать ссылку, которая скроллит к элементу на страницеКак показать/скрыть область на странице по ссылке - as-collapseКак сделать обновление интрефейса у другого пользователя по некоему событию
ТаблицыФормыПоля формыЗагрузка файлов, картинокHOWTO SQLHOWTO JSHOWTO ВерсткаРешение проблем
Выгода от использования Falcon Space
В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Как сделать сортировку дерева с Drag-and-Drop
Пример дерева с возможностью сортировки
Вы можете использовать для этого специальное поле формы вида treeOrder (Сортировка дерева).
В процедуре dict для данного столбца прописываем элементы дерева:
CREATE PROCEDURE [dbo].[fm_tst-form-order_f2_dict]
@username nvarchar(256),
@itemID nvarchar(128)
AS
BEGIN
select c.id Value, -- id
c.name as Text,
isnull(c.parentID, 0) Value2 -- parentID
from tst_categories c
order by ord, id
END
Прописываем процедуру saveField
CREATE PROCEDURE [dbo].[fm_tst-form-order_saveEditableField]
@pk nvarchar(128), -- id for item
@fieldCode nvarchar(64), -- form field
@value nvarchar(max), -- field value
@username nvarchar(256) -- current user
AS
BEGIN
if(@fieldCode='f2') begin
declare @formItemID nvarchar(128) = '', @elementID int = 0, @parentId int = 0, @ord int =0, @temp nvarchar(256)='', @index int
set @elementID = try_cast(dbo.str_splitPart(@value, ',',1) as int)
set @temp = dbo.str_splitPart(@value,',',2)
set @parentId = try_cast(dbo.str_splitPart(@temp, ',',1) as int)
set @ord = try_cast(dbo.str_splitPart(@temp, ',',2) as int)
set @temp = cast(@parentId + @ord + @elementID as nvarchar)
exec as_print @str = @temp
update tst_categories
set parentID = nullif(@parentId, 0), ord = @ord
where id = @elementID
declare @t table(id int, ord int)
insert into @t
select id, ord from tst_categories
where isnull(parentID, 0) = @parentId and id <>@elementID
order by ord,id
set @index = 0
-- обновляем порядок у предыдущих (всех у кого номер меньше)
while (@index <@ord-1) begin
update tst_categories
set ord = @index+1
where id in (select id from @t
order by ord,id
OFFSET @index ROWS
FETCH NEXT 1 ROWS ONLY
)
set @index = @index + 1
end
set @index = @ord
declare @count int = (select count(id) from tst_categories
where isnull(parentID, 0) = @parentId )
-- элементы после текущего
while (@index <@count) begin
update tst_categories
set ord = @index+1+10000
where id in (select id from @t
order by ord,id
OFFSET @index-1 ROWS
FETCH NEXT 1 ROWS ONLY
) and id <>@elementID
set @index = @index + 1
end
select 1 Result, '' Msg
return
end
select 0 Result, 'Не найден код сущности' Msg
END
--admin 04.11.2020 10:52:48
Примечание:
- лучше придерживаться такого порядка обработки в сохранении сортировки (а также сортировать по 2 полям - ord, id).
Falcon Space - функциональная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space
Google поиск по нашей документации
Нужна бесплатная консультация?
Планируете делать веб-проект?
- Шаг 1. Создать концепт проекта
- Шаг 2. Получить оценку бюджета (КП)
- Шаг 3. Заключить договор
- Шаг 4. Создать совместно техническое задание
- Шаг 5. Поэтапная реализация проекта