NsgUserSettingsController<T extends NsgDataItem> class

Контроллер для управления настройками пользователя

Inheritance

Constructors

NsgUserSettingsController.new({bool requestOnInit = true, bool useUpdate = true, bool useChange = true, List<String>? builderIDs, NsgDataBinding? dataBindign, bool autoRepeate = false, int autoRepeateCount = 10, bool useDataCache = false, bool selectedMasterRequired = true, bool autoSelectFirstItem = false, List<NsgBaseController>? dependsOnControllers, NsgBaseController? masterController, NsgDataControllerMode? controllerMode, int maxFavotrites = 100, int maxRecent = 25})

Properties

autoRepeate bool
Enable auto repeate attempts of requesting data
getter/setter pairinherited
autoRepeateCount int
Set count of attempts of requesting data
getter/setter pairinherited
autoSelectFirstItem bool
getter/setter pairinherited
backupItem NsgDataItem?
Сохраненный эелемент для возможности возврата предыдущего значения например, в случае отмены редактирования
getter/setter pairinherited
controllerFilter NsgControllerFilter
Фильтр. После изменения необходимо вызвать controllerFilter.refreshControllerWithDelay()
getter/setter pairinherited
controllerMode NsgDataControllerMode
getter/setter pairinherited
currentItem ↔ T
Текущий элемент (например, элемент для отображения на форме элемента) Представляет из себя типизированный аналой selectedItem. Если selectedItem null, то вернет пустое значение типа T
getter/setter pairinherited
currentStatus ↔ GetStatus<NsgBaseControllerData>
Status of last data request operation
getter/setter pairinherited
dataBinding NsgDataBinding?
Binding rule
getter/setter pairinherited
dataCache List<NsgDataItem>
getter/setter pairinherited
dataItemList List<NsgDataItem>
getter/setter pairinherited
dataType Type
getter/setter pairinherited
dependsOnControllers List<NsgBaseController>?
getter/setter pairinherited
editModeAllowed bool
Разрешен переход в режим редактирования
getter/setter pairinherited
favorites List<NsgDataItem>
finalinherited
fieldsWithError Map<String, String>
Map полей с ошибками - имя поля - текст ошибки
getter/setter pairinherited
firstItem → T
Первый элемент из items. Если items пустой: вернет новый пустой элемент данных типа T
no setterinherited
getRequestFilter NsgDataRequestParams
no setterinherited
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 pairinherited
isModified bool
Возвращает была ли модифицирована текущая строка контроллера после открытии страницы на редактирование По сути, сравнивает selectedItem и backupItem
no setterinherited
items List<T>
Массив данный. После того как контроллер переходит в статус successful, данные могут использоваться Представляет собой типизированный вариант массива dataItemList
no setterinherited
itemsRequested → Event<EventArgs>
finalinherited
lateInit bool
Флаг отложенной инициализации. Выставляется в true при создании контроллера, если свойство requestOnInit стоит false. Сбросится при первом вызове метода requestItems
getter/setter pairinherited
listenersLength int
no setterinherited
masterController NsgBaseController?
Master controller. Using for binding.
getter/setter pairinherited
maxErrorsPostUserSettings int
getter/setter pair
maxFavotrites int
Максимально разрешенное число избранныъ элементов объектов одного типа. По умолчанию = 100
final
maxRecent int
Максимально число хранимых объектов одного типа в списке последних используемых. По умолчанию = 25
final
objectFieldsNames List<String>
no setterinherited
onRetry FutureOr<void> Function(Exception)?
At every retry the onRetry function will be called (if given). The function fn will be invoked at-most this.attempts times.
getter/setter pairinherited
onSelected ↔ void Function(NsgDataItem)?
Событие о выборе значения пользователем. Срабатывает в режиме selection при выборе пользователем элемента в форме списка
getter/setter pairinherited
readOnly bool
Запрет редактирования данных пользователей
getter/setter pairinherited
recent List<NsgDataItem>
Список часто используемых элементов
getter/setter pairinherited
referenceItemPage List<String>?
Список ссылок для догрузки при чтении одного элемента (refreshItem)
getter/setter pairinherited
referenceList List<String>?
Список ссылок для догрузки при чтении списка
getter/setter pairinherited
regime NsgControllerRegime
Определяет текущий режим работы контроллера
getter/setter pairinherited
requestOnInit bool
getter/setter pairinherited
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 pairinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
selectedItem NsgDataItem?
getter/setter pairinherited
selectedItemChanged → Event<EventArgs>
finalinherited
selectedMasterRequired bool
getter/setter pairinherited
settingsMap Map<String, dynamic>
getter/setter pair
showException ↔ void Function(NsgApiException)?
Функция для отображения ошибок пользователю Если не задана для конкретного контроллера, используется заданная по умолчанию NsgApiException.showExceptionDefault Последняя, задается в пакете nsg_controls
getter/setter pairinherited
showExceptionDialog bool
Показывать диалоговое окно при ошибке, возникшей при itemPagePost
getter/setter pairinherited
sorting NsgSorting
Параметры сортировки данных Устанавляваются компонентами (например, таблицей), передаются в запрос через getRequestFilter
getter/setter pairinherited
state NsgBaseControllerData
no setterinherited
status ↔ GetStatus<NsgBaseControllerData>
getter/setter pairinherited
statusChanged → Event<EventArgs>
finalinherited
top int?
Номер элемента, начиная с которого возвращать данные Используется для пейджинга
getter/setter pairinherited
totalCount int?
Сколько всего элементов, удовлетворяющим условиям поиска, хранится на сервере Если значение null, значит не было успешного запроса к серверу, либо, сервер не вернул общее количество элементов
getter/setter pairinherited
updateKeys List<NsgUpdateKey>
getter/setter pairinherited
useChange bool
Use change method on data update
getter/setter pairinherited
useDataCache bool
getter/setter pairinherited
userSettings Map<String, T>
Настройки пользователя в виде MAP
getter/setter pair
userSettingsController NsgUserSettingsController<NsgDataItem>?
Контроллер настроек пользователя. Если задан, используется для хранения и извлечения информации об избранных элементах и последних используемых
getter/setter pairinherited
useUpdate bool
Use update method on data update
getter/setter pairinherited
value NsgBaseControllerData
getter/setter pairinherited
withUi bool
no setterinherited

Methods

addFavoriteId(String typeName, String id) → void
Добавить объект в избранные и сохранить на сервере (БД)
addListener(GetStateUpdate listener) → Disposer
Register a closure to be called when the object notifies its listeners.
inherited
addListenerId(Object? key, GetStateUpdate listener) → Disposer
inherited
addRecent(T item) → void
Добавить элемент в часто используемые
inherited
addRecentId(String typeName, String id) → void
Добавить объект в последние используемые и сохранить на сервере (БД)
afterRefreshItem(NsgDataItem item, List<String>? referenceList) Future
Вызывается после метода refreshItem. Можно использовать, например, для обновления связанных контроллеров
inherited
afterRequestItems(List<NsgDataItem> newItemsList) Future
is calling after new items are got from API before they are placed to ItemList
override
afterUpdate() Future
is calling after new Items are putted in itemList
inherited
beginTransaction(NsgDataProvider provider, {int lifespan = 0, NsgCancelToken? cancelToken}) Future<String?>
inherited
canGoNextItem() bool
Есть ли в списке элементы после текущего
inherited
canGoPrevItem() bool
Есть ли в списке элементы до текущего
inherited
change(GetStatus<NsgBaseControllerData> status) → void
inherited
commitTransaction(NsgDataProvider provider, String transactionId, {NsgCancelToken? cancelToken}) Future<bool?>
inherited
containsId(Object id) bool
inherited
containsListener(GetStateUpdate listener) bool
inherited
copyAndSetItem(NsgDataItem item, {bool needRefreshSelectedItem = false, List<String>? referenceList}) Future
Перечитать из базы данных item, создать его копию На время чтерния статус контроллера будет loading referenceList - ссылки для дочитывания. Если передан null - будут дочитаны все Одно из применений, перечитывание объекта с целью чтения его табличных частей при переходе из формы списка в форму элемента
inherited
createAndSetSelectedItem() Future
Создает новый элемент БД и устанавливает его в текущее selectedItem (currentItem) На время чтерния статус контроллера будет loading
inherited
createNewItemAsync() Future<T>
Создает новый элемент. Используется, например, при нажатии добавить в форме списка На время создания (так как оно может быть связано с запросом на сервер) устанавливает статус контроллера в loading Для непосредственного создания нового элемента вызывает асинхронный метод doCreateNewItem, который может быть перекрыт для организации бизнес-логики запросов
inherited
deleteItem({bool goBack = true}) Future
Удаляет currentItem в БД и в items
inherited
deleteItems(List<NsgDataItem> itemsToDelete) Future
Удаляет выбранные элементы в БД и в items
inherited
dispose() → void
inherited
disposeId(Object id) → void
To dispose an id from future updates(), this ids are registered by GetBuilder() or similar, so is a way to unlink the state change with the Widget from the Controller.
inherited
doCreateNewItem() Future<NsgDataItem>
Создает новый элемент. Вызывается из createNewItem Может быть перекрыт для организации бизнес-логики запросов, например, заполнения нового элемента на сервере или проверки возможности создания нового элемента
inherited
doRequestItems({NsgDataRequestParams? filter}) Future<List<NsgDataItem>>
inherited
filterItems({required List<NsgDataItem> newItemsList, NsgDataRequestParams? filterParam}) Future<List<NsgDataItem>>
Фильтрует строки из по фильтру добавляет в контроллер Если фильтр не задан, он будет запрошен у контроллера стандартным способом - через getRequestFilter Возвращает отфильтрованные и отсортированные данные
inherited
futurize(Future<NsgBaseControllerData> body(), {NsgBaseControllerData? initialData, String? errorMessage, bool useEmpty = true}) → void
inherited
getFavoriteIds(String typeName) List<String>
Возвращает список идентификоторов, занесенных в избранное по данному типу данных
getFavoriteObject(String typeName) NsgUserSettings
getFavorites() Future<List<NsgDataItem>>
Список избранных элементов
inherited
getRecentIds(String typeName) List<String>
Возвращает список идентификоторов последних используемых объектов данного типа
getRecentObject(String typeName) NsgUserSettings
getSettingItem(String settingName) → dynamic
Получить настройку по имени. Если не существует, вернет null
getUpdateKey(String id, NsgUpdateKeyType type) NsgUpdateKey
inherited
getUserSettingsObject(String key) NsgUserSettings
gotoNextItem() → void
Сделать текущим следующий элемент
inherited
gotoPrevItem() → void
Сделать текущим предыдущий элемент
inherited
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 - перечитать все
inherited
itemNewPageOpen(String pageName) Future
Cоздает новый элемент и открывает страницу для его редактирования В зависимости от свойства объекта createOnServer создание нового объекта может происходить на сервере
inherited
itemPageCancel({bool useValidation = true, required BuildContext context}) → void
Close item page and restore current (selectedItem) item from backup
inherited
itemPageCloseCheck(BuildContext context) Future
Проверить были ли изменения в объекте, если нет, выполняем Back, если были, то спрашиваем пользователя сохранить изменения или отменить, а затем выполняем Back
inherited
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 - Требуется ли перечитать текущий элемент из БД, например, для чтения табличных частей
inherited
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
override
itemsRemove(List<NsgDataItem> itemsToRemove) Future
Удаление текущего элемента если goBack == true (по умолчанию), после сохранения элемента, будет выполнен переход назад Удаление массива строк из табличной части На данный момент, метод реализован только для контроллера табличной части
inherited
listPageOpen(String pageName, {bool needRefreshItems = false, bool offPage = false}) → void
Open list page to view data in controller.items
inherited
loadFavorites(NsgUserSettingsController<NsgDataItem> userSetiingsController, List<String> ids) Future<List<NsgDataItem>>
inherited
loadProviderData() Future
Метод, вызываемый при инициализации provider (загрузка приложения)
inherited
masterItemsRequested(EventArgs? args) → void
inherited
masterValueChanged(EventArgs? args) → void
inherited
matchFilter(NsgDataItem item) bool
Проверяем, удовлетворяет ли заданный элемент фильтру контроллера
inherited
newItemPageOpen({required String pageName, bool offPage = false}) → void
Create new item and open page to view and edit it pageName - страница, которую необходимо открыть по окончанию создания нового элемента
inherited
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
inherited
obxBase(Widget widget(NsgBaseControllerData?), {Widget onError(String? error)?, Widget? onLoading, Widget? onEmpty}) Widget
inherited
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.
inherited
onDelete() → void
inherited
onInit() → void
Called immediately after the widget is allocated in memory. You might use this to initialize something for the controller.
inherited
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
Поставить в очередь на сохранение, чтобы избезать параллельного сохранения Уменьшив таким образом нагрузку на сервер и избежать коллизий
inherited
postItems(List<NsgDataItem> itemsToPost, {bool showProgress = false}) Future
inherited
postSelectedItem() Future
Post selected item to the server
inherited
postUserSettings(T objFavorite) Future
Поставить в очередь на сохранение, чтобы избезать параллельного сохранения настроек пользователя Уменьшив таким образом нагрузку на сервер и избежать коллизий
refresh() → void
inherited
refreshCurrentItem({List<String>? referenceList}) Future<NsgDataItem>
inherited
refreshData({List<NsgUpdateKey>? keys, NsgDataRequestParams? filter}) Future
Обновление данных
inherited
refreshGroup(Object id) → void
inherited
refreshItem(NsgDataItem item, List<String>? referenceList, {bool changeStatus = false}) Future<NsgDataItem>
Перечитать указанный объект из базы данных item - перечитываемый объект referenceList - ссылки для дочитывания. Если передан null - будут дочитаны все Одно из применений, перечитывание объекта с целью чтения его табличных частей при переходе из формы списка в форму элемента changeStatus - выставить статус контроллера в success после обновления элемента
inherited
registerUpdateKey(NsgUpdateKey updateKey) → void
inherited
removeFavoriteId(String typeName, String id) → 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
removeSettingItem(String settingName) → void
Удалить настройку по имени.
reportAdd(VoidCallback disposer) → void
inherited
reportRead() → void
inherited
requestItems({List<NsgUpdateKey>? keys, NsgDataRequestParams? filter}) Future
Request Items
override
retryRequestIf(Exception exception) FutureOr<bool>
inherited
rollbackTransaction(NsgDataProvider provider, String transactionId, {NsgCancelToken? cancelToken}) Future<bool?>
inherited
saveBackup(NsgDataItem item) → dynamic
inherited
selectItems(NsgDataRequestParams filter, {int autoRepeateCount = 3, List<String>? loadReference, NsgCancelToken? cancelToken}) Future<List<T>>
inherited
sendNotify({List<NsgUpdateKey>? keys}) → void
Отправить сообщение о необходимоси обновления Если передан список ключей, то обновление будет дано только для них
inherited
setAndRefreshSelectedItem(NsgDataItem item, List<String>? referenceList) Future
Перечитать из базы данных текущий объект (selectedItem) На время чтерния статус контроллера будет loading referenceList - ссылки для дочитывания. Если передан null - будут дочитаны все Одно из применений, перечитывание объекта с целью чтения его табличных частей при переходе из формы списка в форму элемента
inherited
setEmpty() → void
inherited
setError(Object error) → void
inherited
setLoading() → void
inherited
setSettingItem(String name, String value, {NsgDataStorageType? storageType}) Future<void>
Сохранить настройку по имени. Если не существует, создаст новую запись.
setSuccess(NsgBaseControllerData data) → void
inherited
sortDataItemList() → void
Сортирует данные в массиве самого контроллера
inherited
sortItemList(List<NsgDataItem> newItemsList, String sortingString) → void
Сортирует данные в массиве элементов При сортировке приоритет отдается параметру sorting. Если он не задан, будет использован sortingString sortingString обычно беретсчя из getRequestFilter.sorting
inherited
toggleFavorite(T item) → void
Добавить элемент в избранное
inherited
toString() String
A string representation of this object.
inherited
unregisterUpdateKey(NsgUpdateKey updateKey) → void
inherited
update([List<Object>? ids, bool condition = true]) → void
Rebuilds GetBuilder each time you call update(); Can take a List of ids, that will only update the matching GetBuilder( id: ), ids can be reused among GetBuilders like group tags. The update will only notify the Widgets, if condition is true.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited