Миграция с 7.16 на 7.17
Изменения в сборке Frontend
- Версия React изменилась на 17+. Обновите ее в своем проекте в package.json или поставьте
*
, чтобы использовать транзитивно из N2O - Настройка шапки, подвала и боковой панели приложения. Появился параметр
templates
в котором задаются кастомные компонентыheader
footer
sidebar
Было:
import ...
const config = {
pages,
regions,
widgets,
controls,
cells,
fieldsets,
fields,
defaultTemplate: AppTemplate,
security: {
authProvider,
externalLoginUrl: './',
},
};
class App extends Component {
render() {
return <N2o {...createFactoryConfig(config)} />;
}
}
export default App;
Стало:
<application xmlns="http://n2oapp.net/framework/config/schema/application-1.0" welcome-page-id="index">
<header src="CustomHeader" />
<sidebar src="CustomSidebar" />
<footer src="CustomFooter" />
</application>
import ...
const config = {
pages,
regions,
widgets,
controls,
cells,
fieldsets,
fields,
templates: {
CustomHeader,
CustomSidebar,
CustomFooter,
},
security: {
authProvider,
externalLoginUrl: './',
},
};
function App() {
return <N2O {...createFactoryConfig(config)} />
}
export default App;
Изменения в XML API
- Настройка шапки, подвала и боковой панели приложения перенесена в файл application.xml. Это новый тип метаданных, описывающий структуру приложения. Требуется мигрировать содержимое файла *.header.xml в аналогичный файл *.application.xml.
Было:
<?xml version='1.0' encoding='UTF-8'?>
<header xmlns="http://n2oapp.net/framework/config/schema/header-2.0"
color="inverse"
welcome-page-id="index"
brand-name="N2O">
<nav>
<page page-id="index" route="/home" label="${contacts}"/>
</nav>
</header>
Стало:
<?xml version='1.0' encoding='UTF-8'?>
<application xmlns="http://n2oapp.net/framework/config/schema/application-1.0"
welcome-page-id="index">
<header title="N2O"
css-class="inverse">
<nav>
<page page-id="index" route="/home" label="${contacts}"/>
</nav>
</header>
</application>
Обратить внимание:
-свойство color
в header
теперь необходимо задавать в css-class
;
-подвал раньше генерировался автоматически, теперь его необходимо прописывать в application.xml
.
-
Настройка
n2o.header.homepage.id
переименована вn2o.homepage.id
. -
Настройка
n2o.header.id
переименована вn2o.application.id
. -
Настройка
n2o.header.fixed
переименована вn2o.navigationLayout.fixed
. -
Упразднена настройка
n2o.header.title
. -
У
<pagination>
в списковых виджетах атрибутhide-single-page
(по умолчаниюtrue
), отвечающий за скрытие пагинации на единственной странице, был переименован вshow-single-page
(по умолчаниюfalse
). Обратная совместимость сохранена. -
В компонентах
ragio-group
иcheckbox-group
типn2o
(который был по умолчанию) переименован вdefault
. Тип, который раньше называлсяdefault
и отвечал за стандартную html верстку компонента, удален. -
Изменены значения атрибута
validate
у кнопок с (true
,false
) на (page
,widget
,none
). Теперь кнопка может валидировать все виджеты страницы с помощью значенияpage
. Значениеwidget
валидирует только текущий виджет и работает так же, как и значениеtrue
до этого. Значениеnone
не валидирует ничего и заменяет собойfalse
. Временно сохранена обратная совместимость.
Изменения в API автотестов
- Методы компонентов с выпадающими элементами (InputSelect, Select, TimePicker, LineFieldSet, LineRegion, PanelRegion) приведены к единому виду.
Теперь для изменения и проверки состояния выпадающего элемента в них используются методы:
expand()
,collapse()
,shouldBeExpanded()
,shouldBeCollapsed()
.
Изменения в настройках
- Появилась возможность управлять положением сообщений об успехе/ошибке. Для этого введены следующие настройки:
n2o.api.message.position
- фиксированная (fixed
) или относительная (relative
) позиция сообщения .
Стоит обратить внимание, что по умолчанию значение fixed
, что отличается от старого поведения, которое можно вернуть, использовав значение relative
.
n2o.api.message.placement
- положение сообщения на странице при фиксации (top
/bottom
). По умолчанию top
.