NsgBaseController class
- Inheritance
-
- Object
- Listenable
- ListNotifier
- GetxController
- NsgBaseController
- Mixed-in types
-
- StateMixin<
NsgBaseControllerData>
- StateMixin<
- Implementers
Constructors
-
NsgBaseController.new({Type dataType = NsgDataItem, bool requestOnInit = false, bool useUpdate = true, bool useChange = true, NsgBaseController? masterController, bool selectedMasterRequired = true, NsgDataBinding? dataBinding, bool autoRepeate = false, int autoRepeateCount = 10, bool useDataCache = false, bool autoSelectFirstItem = false, List<
NsgBaseController> ? dependsOnControllers, FutureOr<void> onRetry(Exception)?, FutureOr<bool> retryIf(Exception)?, bool editModeAllowed = true, bool readOnly = true, NsgDataControllerMode? controllerMode})
Properties
- autoRepeate ↔ bool
-
Enable auto repeate attempts of requesting data
getter/setter pair
- autoRepeateCount ↔ int
-
Set count of attempts of requesting data
getter/setter pair
- autoSelectFirstItem ↔ bool
-
getter/setter pair
- backupItem ↔ NsgDataItem?
-
Сохраненный эелемент для возможности возврата предыдущего значения
например, в случае отмены редактирования
getter/setter pair
- controllerFilter ↔ NsgControllerFilter
-
Фильтр. После изменения необходимо вызвать controllerFilter.refreshControllerWithDelay()
getter/setter pair
- controllerMode ↔ NsgDataControllerMode
-
getter/setter pair
-
currentStatus
↔ GetStatus<
NsgBaseControllerData> -
Status of last data request operation
getter/setter pair
- dataBinding ↔ NsgDataBinding?
-
Binding rule
getter/setter pair
-
dataCache
↔ List<
NsgDataItem> -
getter/setter pair
-
dataItemList
↔ List<
NsgDataItem> -
getter/setter pair
- dataType ↔ Type
-
getter/setter pair
-
dependsOnControllers
↔ List<
NsgBaseController> ? -
getter/setter pair
- editModeAllowed ↔ bool
-
Разрешен переход в режим редактирования
getter/setter pair
-
favorites
→ List<
NsgDataItem> -
final
-
fieldsWithError
↔ Map<
String, String> -
Map полей с ошибками - имя поля - текст ошибки
getter/setter pair
- getRequestFilter → NsgDataRequestParams
-
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
- initialized → bool
-
Checks whether the controller has already been initialized.
no setterinherited
- isClosed → bool
-
Checks whether the controller has already been closed.
no setterinherited
- isDisposed → bool
-
no setterinherited
- isFavoritesRequested ↔ bool
-
getter/setter pair
- isModified → bool
-
Возвращает была ли модифицирована текущая строка контроллера после открытии страницы на редактирование
По сути, сравнивает selectedItem и backupItem
no setter
-
itemsRequested
→ Event<
EventArgs> -
final
- lateInit ↔ bool
-
Флаг отложенной инициализации. Выставляется в true при создании контроллера,
если свойство requestOnInit стоит false. Сбросится при первом вызове метода
requestItems
getter/setter pair
- listenersLength → int
-
no setterinherited
- masterController ↔ NsgBaseController?
-
Master controller. Using for binding.
getter/setter pair
-
objectFieldsNames
→ List<
String> -
no setter
-
onRetry
↔ FutureOr<
void> Function(Exception)? -
At every retry the onRetry function will be called (if given). The
function
fn
will be invoked at-mostthis.attempts
times.getter/setter pair - onSelected ↔ void Function(NsgDataItem)?
-
Событие о выборе значения пользователем. Срабатывает в режиме selection при выборе пользователем элемента в форме списка
getter/setter pair
- readOnly ↔ bool
-
Запрет редактирования данных пользователей
getter/setter pair
-
recent
↔ List<
NsgDataItem> -
Список часто используемых элементов
getter/setter pair
-
referenceItemPage
↔ List<
String> ? -
Список ссылок для догрузки при чтении одного элемента (refreshItem)
getter/setter pair
-
referenceList
↔ List<
String> ? -
Список ссылок для догрузки при чтении списка
getter/setter pair
- regime ↔ NsgControllerRegime
-
Определяет текущий режим работы контроллера
getter/setter pair
- requestOnInit ↔ bool
-
getter/setter pair
-
retryIf
↔ FutureOr<
bool> Function(Exception)? -
If no retryIf function is given this will retry any for any Exception
thrown. To retry on an Error, the error must be caught and rethrown
as an Exception.
getter/setter pair
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- selectedItem ↔ NsgDataItem?
-
getter/setter pair
-
selectedItemChanged
→ Event<
EventArgs> -
final
- selectedMasterRequired ↔ bool
-
getter/setter pair
- showException ↔ void Function(NsgApiException)?
-
Функция для отображения ошибок пользователю
Если не задана для конкретного контроллера, используется заданная по умолчанию NsgApiException.showExceptionDefault
Последняя, задается в пакете nsg_controls
getter/setter pair
- showExceptionDialog ↔ bool
-
Показывать диалоговое окно при ошибке, возникшей при itemPagePost
getter/setter pair
- sorting ↔ NsgSorting
-
Параметры сортировки данных
Устанавляваются компонентами (например, таблицей), передаются в запрос через getRequestFilter
getter/setter pair
- state → NsgBaseControllerData
-
no setterinherited
-
status
↔ GetStatus<
NsgBaseControllerData> -
getter/setter pairinherited
-
statusChanged
→ Event<
EventArgs> -
final
- top ↔ int?
-
Номер элемента, начиная с которого возвращать данные
Используется для пейджинга
getter/setter pair
- totalCount ↔ int?
-
Сколько всего элементов, удовлетворяющим условиям поиска, хранится на сервере
Если значение null, значит не было успешного запроса к серверу, либо, сервер не вернул общее количество элементов
getter/setter pair
-
updateKeys
↔ List<
NsgUpdateKey> -
getter/setter pair
- useChange ↔ bool
-
Use change method on data update
getter/setter pair
- useDataCache ↔ bool
-
getter/setter pair
-
userSettingsController
↔ NsgUserSettingsController<
NsgDataItem> ? -
Контроллер настроек пользователя. Если задан, используется для хранения и извлечения информации
об избранных элементах и последних используемых
getter/setter pair
- useUpdate ↔ bool
-
Use update method on data update
getter/setter pair
- value ↔ NsgBaseControllerData
-
getter/setter pairinherited
Methods
-
addListener(
GetStateUpdate listener) → Disposer -
Register a closure to be called when the object notifies its listeners.
inherited
-
addListenerId(
Object? key, GetStateUpdate listener) → Disposer -
inherited
-
afterRefreshItem(
NsgDataItem item, List< String> ? referenceList) → Future - Вызывается после метода refreshItem. Можно использовать, например, для обновления связанных контроллеров
-
afterRequestItems(
List< NsgDataItem> newItemsList) → Future - is calling after new items are got from API before they are placed to ItemList
-
afterUpdate(
) → Future - is calling after new Items are putted in itemList
-
beginTransaction(
NsgDataProvider provider, {int lifespan = 0, NsgCancelToken? cancelToken}) → Future< String?> -
change(
GetStatus< NsgBaseControllerData> status) → void -
inherited
-
commitTransaction(
NsgDataProvider provider, String transactionId, {NsgCancelToken? cancelToken}) → Future< bool?> -
containsId(
Object id) → bool -
inherited
-
containsListener(
GetStateUpdate listener) → bool -
inherited
-
copyAndSetItem(
NsgDataItem item, {bool needRefreshSelectedItem = false, List< String> ? referenceList}) → Future - Перечитать из базы данных item, создать его копию На время чтерния статус контроллера будет loading referenceList - ссылки для дочитывания. Если передан null - будут дочитаны все Одно из применений, перечитывание объекта с целью чтения его табличных частей при переходе из формы списка в форму элемента
-
createAndSetSelectedItem(
) → Future - Создает новый элемент БД и устанавливает его в текущее selectedItem (currentItem) На время чтерния статус контроллера будет loading
-
deleteItem(
{bool goBack = true}) → Future - Удаляет currentItem в БД и в items
-
deleteItems(
List< NsgDataItem> itemsToDelete) → Future - Удаляет выбранные элементы в БД и в items
-
dispose(
) → void -
inherited
-
disposeId(
Object id) → void -
To dispose an
id
from future updates(), this ids are registered byGetBuilder()
or similar, so is a way to unlink the state change with the Widget from the Controller.inherited -
doCreateNewItem(
) → Future< NsgDataItem> - Создает новый элемент. Вызывается из createNewItem Может быть перекрыт для организации бизнес-логики запросов, например, заполнения нового элемента на сервере или проверки возможности создания нового элемента
-
doRequestItems(
{NsgDataRequestParams? filter}) → Future< List< NsgDataItem> > -
filterItems(
{required List< NsgDataItem> newItemsList, NsgDataRequestParams? filterParam}) → Future<List< NsgDataItem> > - Фильтрует строки из по фильтру добавляет в контроллер Если фильтр не задан, он будет запрошен у контроллера стандартным способом - через getRequestFilter Возвращает отфильтрованные и отсортированные данные
-
futurize(
Future< NsgBaseControllerData> body(), {NsgBaseControllerData? initialData, String? errorMessage, bool useEmpty = true}) → void -
inherited
-
getFavorites(
) → Future< List< NsgDataItem> > - Список избранных элементов
-
getUpdateKey(
String id, NsgUpdateKeyType type) → NsgUpdateKey -
itemCopyPageOpen(
NsgDataItem element, String pageName, {bool needRefreshSelectedItem = false, List< String> ? referenceList}) → void - Copy item and open item page to view and edit data element saved in backupItem to have possibility revert changes referenceList - список полей для дочитывания. null - перечитать все
-
itemPageCancel(
{bool useValidation = true, required BuildContext context}) → void - Close item page and restore current (selectedItem) item from backup
-
itemPageCloseCheck(
BuildContext context) → Future - Проверить были ли изменения в объекте, если нет, выполняем Back, если были, то спрашиваем пользователя сохранить изменения или отменить, а затем выполняем Back
-
itemPageOpen(
NsgDataItem element, String pageName, {bool needRefreshSelectedItem = false, List< String> ? referenceList, bool offPage = false}) → void - Open item page to view and edit data element saved in backupItem to have possibility revert changes needRefreshSelectedItem - Требуется ли перечитать текущий элемент из БД, например, для чтения табличных частей
-
itemPagePost(
{bool goBack = true, bool useValidation = true}) → Future< bool> - Close item page and post current (selectedItem) item to databese (server) если goBack == true (по умолчанию), после сохранения элемента, будет выполнен переход назад useValidation == true перед сохранением проводится валидация В случае успешного сохранения возвращает true
-
itemsRemove(
List< NsgDataItem> itemsToRemove) → Future - Удаление текущего элемента если goBack == true (по умолчанию), после сохранения элемента, будет выполнен переход назад Удаление массива строк из табличной части На данный момент, метод реализован только для контроллера табличной части
-
listPageOpen(
String pageName, {bool needRefreshItems = false, bool offPage = false}) → void - Open list page to view data in controller.items
-
loadFavorites(
NsgUserSettingsController< NsgDataItem> userSetiingsController, List<String> ids) → Future<List< NsgDataItem> > -
loadProviderData(
) → Future - Метод, вызываемый при инициализации provider (загрузка приложения)
-
masterItemsRequested(
EventArgs? args) → void -
masterValueChanged(
EventArgs? args) → void -
matchFilter(
NsgDataItem item) → bool - Проверяем, удовлетворяет ли заданный элемент фильтру контроллера
-
newItemPageOpen(
{required String pageName, bool offPage = false}) → void - Create new item and open page to view and edit it pageName - страница, которую необходимо открыть по окончанию создания нового элемента
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
notifyGroupChildrens(
Object id) → void -
inherited
-
obx(
NotifierBuilder< NsgBaseControllerData?> widget, {Widget onError(String? error)?, Widget? onLoading, Widget? onEmpty, bool needProgressBar = true}) → Widget -
obxBase(
Widget widget(NsgBaseControllerData?), {Widget onError(String? error)?, Widget? onLoading, Widget? onEmpty}) → Widget -
onClose(
) → void -
Called before onDelete method. onClose might be used to
dispose resources used by the controller. Like closing events,
or streams before the controller is destroyed.
Or dispose objects that can potentially create some memory leaks,
like TextEditingControllers, AnimationControllers.
Might be useful as well to persist some data on disk.
override
-
onDelete(
) → void -
inherited
-
onInit(
) → void -
Called immediately after the widget is allocated in memory.
You might use this to initialize something for the controller.
override
-
onReady(
) → void -
Called 1 frame after onInit(). It is the perfect place to enter
navigation events, like snackbar, dialogs, or a new route, or
async request.
inherited
-
onStart(
) → void -
Called at the exact moment the widget is allocated in memory.
It uses an internal "callable" type, to avoid any @overrides in subclasses.
This method should be internal and is required to define the
lifetime cycle of the subclass.
inherited
-
postItemQueue(
NsgDataItem obj, {dynamic errorObjects(List< NsgDataItem> errorObjects)?, dynamic postedObjects(List<NsgDataItem> postedObjects)?}) → Future - Поставить в очередь на сохранение, чтобы избезать параллельного сохранения Уменьшив таким образом нагрузку на сервер и избежать коллизий
-
postItems(
List< NsgDataItem> itemsToPost, {bool showProgress = false}) → Future -
postSelectedItem(
) → Future - Post selected item to the server
-
refresh(
) → void -
inherited
-
refreshCurrentItem(
{List< String> ? referenceList}) → Future<NsgDataItem> -
refreshData(
{List< NsgUpdateKey> ? keys, NsgDataRequestParams? filter}) → Future - Обновление данных
-
refreshGroup(
Object id) → void -
inherited
-
refreshItem(
NsgDataItem item, List< String> ? referenceList, {bool changeStatus = false}) → Future<NsgDataItem> - Перечитать указанный объект из базы данных item - перечитываемый объект referenceList - ссылки для дочитывания. Если передан null - будут дочитаны все Одно из применений, перечитывание объекта с целью чтения его табличных частей при переходе из формы списка в форму элемента changeStatus - выставить статус контроллера в success после обновления элемента
-
registerUpdateKey(
NsgUpdateKey updateKey) → void -
removeListener(
VoidCallback listener) → void -
Remove a previously registered closure from the list of closures that the
object notifies.
inherited
-
removeListenerId(
Object id, VoidCallback listener) → void -
inherited
-
reportAdd(
VoidCallback disposer) → void -
inherited
-
reportRead(
) → void -
inherited
-
requestItems(
{List< NsgUpdateKey> ? keys, NsgDataRequestParams? filter}) → Future - Request Items
-
retryRequestIf(
Exception exception) → FutureOr< bool> -
rollbackTransaction(
NsgDataProvider provider, String transactionId, {NsgCancelToken? cancelToken}) → Future< bool?> -
saveBackup(
NsgDataItem item) → dynamic -
sendNotify(
{List< NsgUpdateKey> ? keys}) → void - Отправить сообщение о необходимоси обновления Если передан список ключей, то обновление будет дано только для них
-
setAndRefreshSelectedItem(
NsgDataItem item, List< String> ? referenceList) → Future - Перечитать из базы данных текущий объект (selectedItem) На время чтерния статус контроллера будет loading referenceList - ссылки для дочитывания. Если передан null - будут дочитаны все Одно из применений, перечитывание объекта с целью чтения его табличных частей при переходе из формы списка в форму элемента
-
setEmpty(
) → void -
inherited
-
setError(
Object error) → void -
inherited
-
setLoading(
) → void -
inherited
-
setSuccess(
NsgBaseControllerData data) → void -
inherited
-
sortDataItemList(
) → void - Сортирует данные в массиве самого контроллера
-
sortItemList(
List< NsgDataItem> newItemsList, String sortingString) → void - Сортирует данные в массиве элементов При сортировке приоритет отдается параметру sorting. Если он не задан, будет использован sortingString sortingString обычно беретсчя из getRequestFilter.sorting
-
toString(
) → String -
A string representation of this object.
inherited
-
unregisterUpdateKey(
NsgUpdateKey updateKey) → void -
update(
[List< Object> ? ids, bool condition = true]) → void -
Rebuilds
GetBuilder
each time you callupdate()
; Can take a List ofids
, that will only update the matchingGetBuilder( id: )
,ids
can be reused amongGetBuilders
like group tags. The update will only notify the Widgets, ifcondition
is true.inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Properties
- emptyData ↔ NsgBaseControllerData
-
getter/setter pair
- getDefaultProgressIndicator ↔ Widget Function()
-
getter/setter pair
-
saveOrCancelDefaultDialog
↔ Future<
bool?> Function(BuildContext?)? -
getter/setter pair
- showErrorByString ↔ Future Function(String errorMessage, {String title})
-
getter/setter pair