onInit method
Called immediately after the widget is allocated in memory. You might use this to initialize something for the controller.
Implementation
@override
void onInit() {
//В случае задания связки мастер-деталь, формируем подписки
//для автоматического обновлегния данных в slave контроллере,
//при изменении selectedItem в master контроллере
if (masterController != null) {
masterController!.selectedItemChanged.subscribe(masterValueChanged);
masterController!.itemsRequested.subscribe(masterItemsRequested);
}
if (dependsOnControllers != null) {
for (var element in dependsOnControllers!) {
element.selectedItemChanged.subscribe(masterValueChanged);
}
}
//Проверяем, есть ли у типа данных, зарегистрированных в контроллере
//заданное имя поля для задания фильтра по периоду (periodFieldName)
if (!NsgDataClient.client.isRegistered(dataType)) {
controllerFilter.isPeriodAllowed = false;
} else {
var dataItem = NsgDataClient.client.getNewObject(dataType);
if (dataItem.periodFieldName.isEmpty) {
controllerFilter.isPeriodAllowed = false;
} else {
controllerFilter.isPeriodAllowed = true;
controllerFilter.periodFieldName = dataItem.periodFieldName;
}
}
controllerFilter.controller = this;
userSettingsController ??= NsgUserSettings.controller;
if (requestOnInit) {
requestItems();
} else {
lateInit = true;
}
super.onInit();
}