itemPageOpen method

void itemPageOpen(
  1. NsgDataItem element,
  2. String pageName, {
  3. bool needRefreshSelectedItem = false,
  4. List<String>? referenceList,
  5. bool offPage = false,
})

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());
  }
}