NsgUserSettingsController<T extends NsgDataItem> class
Контроллер для управления настройками пользователя
- Inheritance
-
- Object
- Listenable
- ListNotifier
- GetxController
- NsgBaseController
- NsgDataController<
T> - NsgUserSettingsController
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-mostthis.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 byGetBuilder()
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 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