createNewItemAsync method
Создает новый элемент. Используется, например, при нажатии добавить в форме списка На время создания (так как оно может быть связано с запросом на сервер) устанавливает статус контроллера в loading Для непосредственного создания нового элемента вызывает асинхронный метод doCreateNewItem, который может быть перекрыт для организации бизнес-логики запросов
Implementation
Future<T> createNewItemAsync() async {
currentStatus = GetStatus.loading();
sendNotify();
try {
var elem = await doCreateNewItem();
currentStatus = GetStatus.success(NsgBaseController.emptyData);
currentItem = elem.clone() as T;
backupItem = elem;
sendNotify();
selectedItemChanged.broadcast(null);
return currentItem;
} catch (e) {
var msg = '';
if (e is NsgApiException && e.error.message != null) {
msg = e.error.message!;
}
currentStatus = GetStatus.error(msg);
sendNotify();
}
return NsgDataClient.client.getNewObject(dataType) as T;
}