itemPageOpen method
void
itemPageOpen(})
Open item page to view and edit data element saved in backupItem to have possibility revert changes needRefreshSelectedItem - Требуется ли перечитать текущий элемент из БД, например, для чтения табличных частей
Implementation
void itemPageOpen(NsgDataItem element, String pageName, {bool needRefreshSelectedItem = false, List<String>? referenceList, bool offPage = false}) {
if (this is NsgDataItemController && (this as NsgDataItemController).widgetId == null) {
//Если контроллер является контроллером элемента, то вызываем метод контроллера элемента
var controller = (this as NsgDataItemController).getDataItemController(element.id);
controller.itemPageOpen(element, pageName, needRefreshSelectedItem: needRefreshSelectedItem, referenceList: referenceList, offPage: offPage);
return;
}
if (needRefreshSelectedItem) {
setAndRefreshSelectedItem(element, referenceList);
} else {
selectedItem = element.clone();
backupItem = element;
sendNotify();
}
if (offPage) {
NsgNavigator.go(pageName, id: selectedItem?.id, widgetId: _getWidgetId());
} else {
NsgNavigator.push(pageName, id: selectedItem?.id, widgetId: _getWidgetId());
}
}