Falcon Space. HOWTO Общее
Как быстро перенести решение (таблицы, формы, страницы) на другую базу?
Для этого есть 2 пути:
- Через пакет переносов. Указываете в пакете, какие процедуры, таблицы базы, формы, талицы, страницы входят в пакет и генерируете единый SQL скрипт переноса.
- Одиночный перенос - для таблиц, форм и страниц (на странице редактирования страницы) нажимаете кнопку Генерации SQL и он дает SQL, который необходимо выполнить на другой базе.
Как быстро редактировать страницы и параметры компонентов
Для быстрого редактирования компонентов используйте иконки рядом с названием.
Для быстрого редактирования страницы есть иконка справа в хлебных крошках.
При этом помните, что на странице Управления колонками таблицы данная кнопка работает для системной таблицы “Колонки таблицы”, а не для той сущности, которую вы сейчас настраиваете.
Как сделать кнопку определенного действия
Используйте для этого формы в модальном окне (смотри документацию по формам):
- Размещаете кнопку,
- цепляете на нее форму с выводом через GetItem некой информации на чтение.
- при saveItem выполняете операцию.
Анимация элементов. Как работать с анимацией
Для этого в процедуре GetLayout включаем анимацию в SELECT 1:
1 EnableAnimation
Анимация распространяется по умолчанию на следующие элементы:
- Открытие/закрытие модальных окон
- Появление заголовков
- Сообщения о результатах операций.
Вы также самостоятельно можете использовать свою анимацию. Для этого у элемента в классе надо указать animated bounce.
bounce - это тип анимации и его можно менять. Все виды анимаций - https://daneden.github.io/animate.css/
Пример:
<div class="animated zoomIn"></div>
Как сделать анимацию иконок
Для этого на иконку указываем специальный класс: faa-[type] animated
Поменять скорость - faa-slow, faa-fast.
Для анимации при наведении на родительскую кнопку - используем классы faa-parent
и animated-hover
Пример:
<a href="#" class="faa-parent animated-hover">
<i class="fas fa-wrench faa-wrench"></i>
faa-wrench
</a>
Документация по всем видам анимации иконок - https://l-lin.github.io/font-awesome-animation/
Как сделать горячие клавиши для событий (нажатие кнопки)
Заполняем в разделе Горячие клавиши (таблица as_hotkeys) комбинацию клавиш и указываем jQuery селектор кнопки, которая должна быть вызвана при этой комбинации клавиш.
Примечание. По умолчанию Ctrl+ Alt + [Num] действуют как вызов элементов выпадающего быстрого меню (Fast Add Links).
Где я могу редактировать процедуру поиска, процедуру общих элементов Layout, процедуры периодического запуска и др?
В разделе Системные хранимые процедуры (/sysSP) вы можете редактировать указанные процедуры.
Как показывать баланс пользователя вверху кабинета?
Указываем в Системном SQL (falcon_getLayoutInfo) элементы BalanceSum, BalanceText, BalanceLink и BalanceIcon.
Как сделать lazy loading для картинок
Используйте у тега img не src, а data-src. При загрузке по таким картинкам пройдется скрипт (as.ark.imageLazyLoading) и загрузит атрибут src.
Как изменить длительность показа сообщений:
В настройках as.ark.options надо задать параметры:
- alertSuccessDelay: 10000,
- alertWarningDelay: 120000,
- alertDangerDelay: 240000
Как можно в меню добавить динамические элементы (например Проекты)?
Для этого сделайте union с текущим содержимым в хранимой процедуре pg_getMepuPages.
Добавленные элементы автоматически будут назначены дочерними элементами в меню исходя из parentID.
Как отправить Email, SMS или уведомление пользователю
Используйте для этого 2 SELECT в SaveItem в форме. Указав верные параметры, вы сможете немедленно отправить сообщение по указанным параметрам.
Где взять фото пользователя
Фото пользователя можно запросить по данному адресу /Controls/Resource/GetFile?code=userPhoto&user=demo1
Как сделать поддомены с разными языками для сайта
- Все домены направляем на 1 приложение и указываем для каждого лицензию в web.config.
- Указываем GetLayout настройку defaultLang в зависимости от переменной @url.
Как управлять страницей “404 Страница не найдена”
Для этого используется стандартный код страницы - notFound. Создаем страницу с таким URL (notFound) и оформляем ее.
Страница будет выдавать 404 http статус.
Примечание. Возможно в IIS потребуется также установить параметры Error Pages: IIS / Сайт / Error Pages / Edit Feature Settings / ставим Redirect и Detailed Errors
Как создать новую тему дизайна сайта
Тема сайта - это отдельный css файл для SB Admin Template.
- В Visual studio меняем файл \Content\sb-admin\scss\_variables.scss (строки цветов).
- Выполняем задачу sb-admin-css в Диспетчере выполнения задач.
- Создаем папку с кодом темы в /uploads и помещаем в нее файл настроек _variables.scss и сгенерированный css файл (лежит по адресу \Content\sb-admin\css\sb-admin-2.min.css).
- В процедуре GetlayoutInfo указываем код темы (Первый SELECT, параметр Theme).
Отслеживание всех действий пользователя в системе
Можно фиксировать все вызовы от пользователя. Они будут сохраняться в таблице trace с кодом action.
Для этого необходимо в web.config проекта в разделе appSettings прописать параметр logUserAction=”1”.
Отслеживание изменений хранимых процедур и страниц (logChanges)
Логирование изменение хранимых процедур и некоторых других полей ведется в таблице as_changeLog. Отключить эту опцию можно в Настройки/logChanges
Как настроить меню кабинета
Меню кабинетов состоит из страниц, у которых стоит галочка Отображать в меню, а также на основании доступа к страницам у текущего пользователя.
Родительский элемент задает вложенность меню.
Порядок задает очередность элементов меню.
Вы также можете задать иконку для элемента меню.
Максимальный уровень вложенности меню - 2.
Создание новых компонентов, кастомная разработка под проект.
Если проект развернут в режиме Solution, то вы можете создавать свои менеджеры бизнес логики (в проекте Web в папке BLL по примеру DemoManager).
Подобная бизнес-логика будет доступна в контроллере через свойство webMng (контроллер должен наследоваться от BaseController).
Порядок создания функциональности:
- Создаем интерфейс по аналогии с IDemoManager
- Создаем класс по аналогии с DemoManager
- Создаем связку с WebManager (редактируем интерфейс IWebmanager и класс Webmanager)
- Создаем контроллер в Area с именем проекта и наследуем от BaseController
- Свой JS создаем в папке /js/falcon/ (его можно минифицировать с помощью готовой команды GULP, конечный файл JS будет лежать в /JS/Falcon-min/)
Как настроить чат помощи для пользователей
Используем чаты replain - https://replain.cc/
Получаем ключ и указываем его в GetLayoutInfo процедуре в параметре HelpChatKey (можно просто вставить как ключ, либо как replain:{key}).
При этом в правом нижнем углу будет загружаться иконка чата.
Сообщения будут поступать на ваш Telegram (или Facebook мессенджер), связанный с данным чатом replain.
Примечание. Проверьте и удалите подключение replain.cc в настройках в CommonScripts (раньше подключение было там).
Как выводить денежные данные
Для этого используйте функцию dbo.as_num(str, digits) - это позволит выводить числа с разделением на разряды.
Как оживить интерфейс и сделать его более привлекательным
Важно, чтобы интерфейс нравился пользователю. Для этого:
- Используйте стилизацию кнопок:
- btn-outline-primary - контурные кнопки
- btn-gradient - кнопки с градиентом (неродной класс Bootstrap)
- иконки в кнопках
- Используйте карточки card
- Используйте стили форма и градиента фона bg-success, bg-gradient-warning
- Используйте тень элементов shadow-lg
- Используйте badge и pills (badge badge-pill badge-primary)
- Используйте анимацию появления. Классы animated bounceIn delay-3s. https://daneden.github.io/animate.css/
Как показать элемент увеличенным при наведении (например ячейка таблицы)
Для этого укажите класс as-zoom у элемента. При наведении элемент будет увеличиваться в 1,5 раза на месте.
Как отключить свайп открытия меню
Необходимо в GetLayout установить BodyClass = as-disableSlideoutMenu. В этом случае меню будет открываться только по кнопке (свайп работать не будет).
Как дать возможность некоторым ролям вводить html в формах?
По умолчанию вводить html могут только роли admin, editor, siteManager
в Web.Config / AppSettings указываем disableAntiXSSRoles="user,admin,editor,siteManager"
Что делать если открытая вкладка(tab) сбрасывается при перезагрузке страницы?
На странице в поле js подключаем скрипт:
$(document).ready(function(){
$('a[data-toggle="tab"]').on('show.bs.tab', function(e) {
localStorage.setItem('activeTab', $(e.target).attr('href'));
});
var activeTab = localStorage.getItem('activeTab');
if(activeTab){
$('#myTab a[href="' + activeTab + '"]').tab('show');
}
});
Сама разметка вкладок должна иметь вид:
<ul class="nav nav-tabs nav-fill" id="myTab">
<li class="nav-item">
<a class="nav-link active" data-toggle="tab" href="#projects">Проекты</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#reviews">Отзывы</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#bids">Ставки</a>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane active mt-2" id="projects">
<div class="as-table" data-code="modProjects"></div>
</div>
<div class="tab-pane mt-2 fade" id="reviews">
<div class="as-table" data-code="modReviews"></div>
</div>
<div class="tab-pane mt-2 fade" id="bids">
<div class="as-table" data-code="modBids"></div>
</div>
</div>
Примеры работы компонентов платформы Falcon Space
Примеры удобных таблиц и форм Примеры дашборда Примеры графиков и диаграмм Пример календаря Таблица с данными по API Пример вывода карты с точками Виды полей форм Пример виджета статистики Пример дерева иерархии Пример компонента Временная линия Пример карточки товаров Пример учета загрузки ресурса Пример Канбан доски Пример мастер формы Пример выгрузки документов Excel/Word Пример заполнения данных по ИНН- Руководства
- Основа Falcon Space
- Основные компоненты
- Возможности Falcon Space
- Подсистемы
- Дополнительные компоненты
- Интеграции
- HOWTO Страницы. Как добавить хлебные крошки Страницы. Как сделать редирект на другую страницу при загрузке Страницы. Как изменить текст на главной Страницы. Как использовать дополнительные параметры на странице Страницы. Как выводить списковые данные в теле страницы (repeater) Страницы. Настройки страницы для формирования главного меню Страницы. Мне нужен в URL параметр itemID, но там передается из-за сущностей InstanceID Страницы. Как внедрить лендинг со своим шаблоном и стилями Страницы. Как сделать мастер описания функционала страницы SQL. Безопасная разработка на SQL (try catch) SQL. Внутренние SQL функции и вспомогательные хранимые процедуры SQL. Как работать с датами SQL. Как избежать проблем с именованием хранимых процедур. SQL. Как переносить на новую строку в строковой переменной в SQL SQL. Отладка хранимых процедур и выявление причин ошибок SQL. Быстрый поиск хранимых процедур и таблиц в ManagementStudio SQL. Безопасное приведение типов SQL. Создание структуры БД через диаграммы SQL. Вывод разметки HTML в сыром виде (в виде тегов) в SQL SQL. Как указывать ссылки в SQL SQL. Получение null при конкатенации строк SQL. Проблема с доступом к таблице БД SQL. Ошибка Table:String or binary data would be truncated. The statement has been terminated. SQL. Перевод на новую строку при генерации строки в SQL SQL. Как привести дату в строку в нужный формат SQL. Как использовать select from Хранимка SQL. Как прописью написать число в SQL SQL. Интерфейс кабинета - это не методы репозитория CRUD! SQL. Как дать ограниченный доступ к внешней базе на том же сервере (только на отдельные хранимые процедуры) SQL. Как массово залить данные в таблицу БД через CSV (Excel) JS. Как отключить глобальную обработку ошибок JS Как добавить событие в календарь Google Как идентифицировать анонимного пользователя (по куки)? HOWTO. Как быстро перенести решение (таблицы, формы, страницы) на другую базу? HOWTO. Как быстро редактировать страницы и параметры компонентов HOWTO. Как сделать кнопку определенного действия HOWTO. Анимация элементов. Как работать с анимацией HOWTO. Как сделать анимацию иконок HOWTO. Как сделать горячие клавиши для событий (нажатие кнопки) HOWTO. Где я могу редактировать процедуру поиска, процедуру общих элементов Layout, процедуры периодического запуска и др? HOWTO. Как показывать баланс пользователя вверху кабинета? HOWTO. Как сделать lazy loading для картинок HOWTO. Как можно в меню добавить динамические элементы (например Проекты)? HOWTO. Как отправить Email, SMS или уведомление пользователю HOWTO. Где взять фото пользователя HOWTO. Как сделать поддомены с разными языками для сайта HOWTO. Как управлять страницей “404 Страница не найдена” HOWTO. Как создать новую тему дизайна сайта HOWTO. Отслеживание всех действий пользователя в системе HOWTO. Отслеживание изменений хранимых процедур и страниц (logChanges) HOWTO. Как настроить меню кабинета HOWTO. Создание новых компонентов, кастомная разработка под проект. HOWTO. Как настроить чат помощи для пользователей HOWTO. Как выводить денежные данные HOWTO. Как оживить интерфейс и сделать его более привлекательным HOWTO. Как показать элемент увеличенным при наведении (например ячейка таблицы) HOWTO. Как отключить свайп открытия меню HOWTO. Как дать возможность некоторым ролям вводить html в формах? HOWTO. Что делать если открытая вкладка(tab) сбрасывается при перезагрузке страницы? SQL. Как перенести сложный тип данных Как сделать липкую панель сверху страницы Falcon Space. HOWTO Общее Перенос компонентов между БД SQL. Как выводить окончание у множественного числа (5 заказОВ, 3 заказА) Falcon Space. Словарь терминов SQL. Как дата из JS перевести в дату SQL Как сделать push уведомление Кастом разметка верхней панели (TopMakeup) Попап (popup) окна - показ модальной формы по событию или таймауту Модальная ссылка (as-modal) Как настроить меню на смартфонах снизу экрана Как сделать отдельный универсальный поиск Как реализовать окно уведомления об использовании куки (cookies) Вывод на странице штрих-кода (barcode) и QR кода Верстка. Как поменять столбцы местами на смартфоне Как увеличить размер подгружаемых файлов Как внедрить оглавление в текст Как занести тестовые данные в таблицу SQL Server Управление анимацией для форм, таблиц Копирование текста в буфер обмена Как сделать основное меню горизонтальным Логирование изменений объектов на примере хранимых процедур Отпимизация по загрузке картинок Как вставить универсальный поиск в любое место страницы Как логировать клики на определенных элементах в системе Управление иконкой в окне alert справа вверху окна Как сделать сортировку дерева с Drag and Drop Редактор кода. Как работать с множественными курсорами
- HOWTO Таблицы
- HOWTO Формы
- HOWTO JS
- HOWTO CSS
- HOWTO Верстка
- Решение проблем
Платформа Falcon Space
Это снижение стоимости владения
за счет меньшего количества людей для поддержки
Это быстрое внесение изменений
по ходу эксплуатации программы
Это современный интерфейс
полная адаптация под мобильные устройства
Бесплатное обучение разработке на Falcon Space
