NsgDataItem class
Properties
additionalDataField
→ String
Имя поля для хранения значений дополнительных полейrride
no setter
allowExtend
→ bool
no setter
apiDeleteItems
→ String
Get API path for delete Items
no setter
apiPostItems
→ String
Get API path for posting Items
no setter
apiRequestItems
→ String
Get API path for request Items
no setter
createOnServer
→ bool
Признак того: что для создания элемента должно производится на серверной стороне
У объекта на сервере будет вызван метод Create
no setter
defaultController
→ NsgBaseController ?
Контроллер ранных, который будет использоваться по-умолчанию для подбора значений в полях ввода
Может быть перекрыт. Рекомендуется использовать механизм Get.find
no setter
defaultEditPage
→ String ?
Форма элемента для редактирования объектов по умолчанию
Используется в NsgInput, если не задана явно
no setter
defaultListPage
→ String ?
Форма списка для подбора объектов по умолчанию
Используется в NsgInput, если не задана явно
no setter
docState
↔ NsgDataItemDocState
getter/setter pair
extensionTypeField
→ String
Имя поля, содержащего реальный тип данных
no setter
fieldList
→ NsgFieldList
Возвращает список полей объекта.
Внимание! это единый список для всех объектов данного типа
no setter
fieldValues
→ NsgFieldValues
Значения полей объекта
Так как поля обшие, значения храняться в отдельном объекте для экономии памяти
Хранятся только значения, отличные от значений по умолчанию
final
hashCode
→ int
The hash code for this object.
no setter override
id
↔ String
Возвращает уникальный идентификатор владельца
getter/setter pair
isDistributed
→ bool
Это распределенный объект
no setter
isEmpty
→ bool
Проверяет является ли объект пустым
Внимание! Проверка осуществляется только по значению ключевого поля
Объект будет считалься пустым, если это значение не задано или является нулевым Guid
no setter
isModified
↔ bool
getter/setter pair
isNotEmpty
→ bool
Проверяет что объект не пустой
Подробности см. в описании свойства isEmpty
no setter
isReadFromServer
↔ bool
Объект прочитан с серверной базы данных
getter/setter pair
lastChangeTime
→ DateTime
Время последнего изменения объекта
no setter
lastChangeTimeLocal
↔ DateTime
Дата последнего локального изменения
getter/setter pair
lastChangeTimeServer
↔ DateTime
Дата последнего изменения на сервере
getter/setter pair
loadReferenceDefault
↔ List <String > ?
getter/setter pair
loadTime
↔ int
Время загрузки элемента с сервера. Используется для сравнения элементов: а также,
для удаления устаревших элементов из кэша
getter/setter pair
ownerId
↔ String
Возвращает идентификатор владельца
Используется для привязки строк к табличной части
getter/setter pair
paramList
→ NsgParamList
Список дополнительных параметров
no setter
periodFieldName
→ String
Имя поля для фильтрации в контроллере по периоду
Используется, например, в NsgListPage
Если не задано, то считается, что фильтрация по периоду запрещена
no setter
primaryKeyField
↔ String
Возвращает значение ключегого поля (обычно Guid)
getter/setter pair
remoteProvider
↔ NsgDataProvider
getter/setter pair
runtimeType
→ Type
A representation of the runtime type of the object.
no setter inherited
searchFieldList
→ List <String >
Список полей, по которым производится текстовый поиск при вводе строки поиска пользователем в фильтре
По умолчанию, поиск идет по всем полям, за исключением нетипизированных ссылок, дат и перечислений
Также из поиска исключено ключевое поле (там практически всегда Guid)
no setter
state
↔ NsgDataItemState
Текущее состояние редактирования объекта (новый, сохранен и т.п.)
getter/setter pair
storageType
↔ NsgDataStorageType
getter/setter pair
syncStatus
↔ SyncStatus
getter/setter pair
typeName
→ String
no setter
Methods
addField (NsgDataField field , {bool primaryKey = false , String ? presentation })
→ void
Добавление ногого поля в объект
Вызывается при инициализации
clone ({bool cloneAsCopy = false , List <String > ? excludeFields })
→ NsgDataItem
Create new object with same filelds values
cloneAsCopy - после копирования подменить id объектов и вызвать метод заполнения после копирования
copyFieldValues (NsgDataItem oldItem , {bool cloneAsCopy = false , List <String > ? excludeFields , List <String > ? includeFields , Map <String , String > ? translateMap , bool copyEmptyFields = true , bool onlyMapFields = false })
→ void
Copy fields values from oldItem to this.
copyRecordFill ()
→ void
Заполнение полей объекта при создании копии
equal (NsgDataItem other )
→ bool
fromJson (Map <String , dynamic > json )
→ void
getAllReferenceFields ()
→ List <String >
Возвращает список всех полей ссылочных типов
getById ({bool autoAuthorize = true , String tag = '' , List <String > ? loadReference , String function = '' , String method = 'GET' , bool addCount = true , dynamic postData , bool autoRepeate = false , int autoRepeateCount = 1000 , FutureOr <bool > retryIf (Exception )?, FutureOr <void > onRetry (Exception )?, NsgCancelToken ? cancelToken })
→ Future
Прочитать объект из БД по его идентификатору
Можно использовать для обновления объекта из БД или для его дочитывания
getField (String name )
→ NsgDataField
Получить поле объекта по его имени
getFieldByFullPath (String fullPath )
→ NsgDataField ?
getFieldValue (String name , {bool allowNullValue = false })
→ dynamic
Получить значение поля объекта по имени поля
Если значение не присваивалось, то будет возвращено значение по умолчению, если
allowNullValue == false или null, если allowNullValue == true
getFieldValueByFullPath (String fullPath )
→ dynamic
Получить значение поля объекта в том числе, можно обращаться к полям вложенных объектов через точку
Например. playerId.clubId.name
Возвращает значение поля, если оно существует, если нет - возвращает null
В случае, если в чепочке полей не последнее поле будет отличаться от типа NsgDataReferenceField, будет возвращен null
getNewObject ()
→ NsgDataItem
Создание нового экземпляра объекта данного типа
Метод необходим из-за отсутствии рефлексии и невозможности создания объекта по его типу
getReferent <T extends NsgDataItem ? > (String name )
→ T
В случае ссылочного поля позвращает объект, на который ссылается данное поле
getReferentAsync <T extends NsgDataItem > (String name , {bool useCache = true })
→ Future <T >
В случае ссылочного поля позвращает объект, на который ссылается данное поле. Если поле не прочитано из БД, читает его асинхронно
getReferentOrNull <T extends NsgDataItem ? > (String name )
→ T?
В случае ссылочного поля позвращает объект, на который ссылается данное поле
Допускает возврат null, если ссылка не задана
initialize ()
→ void
Инициализация объекта. Создание всех полей. Выполняется один раз при запуске программы при построении всех объектов
isEqual (NsgDataItem other , {List <String > ? excludeFields })
→ bool
Сравнивает равенство значений всех полей текущего с other
Используется, например, при проверке изменился лит объект в процессе редактирования.
Для этого, перед началом редактирования, можно сделать копию объекта с помощью метода Clone
isFieldRequired (String fieldName )
→ bool
Проверка является ли поле с именем fieldName обязательным к заполнению пользователем
isReferenceField (String name )
→ bool
Приверка является ли поле ссылкой на другой объект (ссылочный тип)
newRecord ()
→ void
Новая запись в БД
По факту: создает новый Guid ключевому полю
Если ключевое поле заполнено не нулевым Guid, будет сгенерирована ошибка
newRecordFill ()
→ void
Заполнение полей объекта при создании нового
noSuchMethod (Invocation invocation )
→ dynamic
Invoked when a nonexistent method or property is accessed.
inherited
post ()
→ Future
Сохранение объекта в БД
В случае успеха, поля текущего объекта будут заполнены полями объекта из БД
postItems (List <NsgDataItem > itemsToPost , {bool showProgress = false })
→ Future
Сохранение объектов в БД
В случае успеха, поля объектов будут заполнены полями объектов из БД
removeItem ()
→ Future
select <T extends NsgDataItem > (NsgDataRequestParams filter , {int autoRepeateCount = 3 , List <String > ? loadReference , NsgCancelToken ? cancelToken , NsgDataStorageType storageType = NsgDataStorageType.server })
→ Future <List <T > >
Получить все объекты из БД, удовлетворящие условию
selectFromDb <T extends NsgDataItem > ({int autoRepeateCount = 3 , List <String > ? referenceList , NsgCancelToken ? cancelToken })
→ Future <T >
Прочитать элемент из базы данных
Чтение идет по ID
setFieldEmpty (String name )
→ void
Пометить поле пустым, т.е. что оно не загружалось из БД
setFieldValue (String name , dynamic value )
→ void
Установить значение поля
toJson ({List <String > excludeFields = const [] })
→ Map <String , dynamic >
Запись полей объекта в JSON
toString ()
→ String
A string representation of this object.
inherited
validateFieldValues ({NsgBaseController ? controller })
→ NsgValidateResult
Метод проверки правильности запорлненности всех полей объекта перед его сохранением
Если не перекрыт, проверяет заполненнойсть полей, помеченных как обязательные.
Поле считается пустым, если его значение равно значению по умолчанию для этого поля