CardEditorModel - класс

Редактируемое представление карточки на клиенте.

Definition

Пространство имён: Tessa.UI.Cards.Models
Сборка: Tessa.UI (в Tessa.UI.dll) Версия: 4.0.4
C#
public sealed class CardEditorModel : WorkspaceModel, 
	ICardEditorModel, IWorkspaceModel, INotifyPropertyChanged, IUIContextMarker
Inheritance
Object    NotificationObject    NotificationUIObject    WorkspaceModel    CardEditorModel
Implements
INotifyPropertyChanged, ICardEditorModel, IUIContextMarker, IWorkspaceModel

Конструкторы

CardEditorModel Создаёт экземпляр класса с указанием требуемых функций и репозитория карточек.

Свойства

BlockingOperationInProgress Признак того, что в настоящий момент выполняется асинхронная операция, которая заблокировала изменение карточки.
BottomDialogButtons Коллекция кнопок, отображаемая в правом нижнем углу модального окна, если текущий объект отображается в модальном окне. Например, это кнопки "ОК" и "Отмена".
BottomToolbar Модель-представление нижнего тулбара карточки.
CardModel Модель редактируемой карточки или null, если редактируемая карточка отсутствует.
CardModelForm Основная форма MainForm объекта в свойстве CardModel. Не следует изменять это свойство вручную, т.к. оно требуется для функционирования UI.
CloseCommandКоманда закрытия рабочей области.
(Унаследован от WorkspaceModel)
ClosePending Признак того, что после выполнения сохранения или загрузки карточки редактор должен быть принудительно закрыт (без запроса к пользователю), если сохранение и загрузка были выполнены без ошибок и предупреждений. Если после сохранения и загрузки произошли ошибки или предупреждения, то значение флага сбрасывается на равное false.
Context Контекст элемента.
CurrentOperationType Тип текущей операции над редактируемой карточкой или null, если в текущий момент операций над карточкой не выполняется. Это свойство рекомендуется использовать в расширениях, выполняемых в процессе такой операции.
DialogName Название диалога, в котором открывается карточка, или значение null, если карточка открывается во вкладке.
Info Информация для расширений UI, связанная с редактором карточки, но отсутствующая в самой карточке или в её модели представления. Сохраняемая информация может быть несериализуемой, например, можно записать ссылки на модели представлений или любые другие объекты.
IsClosedПризнак того, что рабочая область была закрыта.
(Унаследован от WorkspaceModel)
IsUpdatedServer Признак того, что была выполнена операция с карточкой, которая могла вызвать обновление данных на сервере, например, успешно выполненные сохранение или удаление карточки. Признак рассчитывается с момента последней явной установки значения в false. Свойство может быть изменено асинхронно, поэтому взаимодействие с UI надо выполнять через Dispatcher.
LastDataИнформация по последним запросам, выполненным для текущего объекта.
LastOperationCompleted Время завершения последней операции над редактируемой карточкой или null, если операций над карточкой ещё не было.
LastOperationDuration Длительность последней операции над редактируемой карточкой или null, если операций над карточкой ещё не было.
LastOperationRequestDuration Длительность запроса к API для последней операции над редактируемой карточкой или null, если операций над карточкой ещё не было или запрос завершился исключением.
LastOperationType Тип последней операции над редактируемой карточкой или null, если операций над карточкой ещё не было.
OperationCompleted Задача прогресса выполнения асинхронной операции. Завершение задачи происходит в тот момент, когда флаг ICardEditorModel.OperationInProgress установлен в значение false.
OperationInProgress Признак того, что в настоящий момент выполняется асинхронная операция. Наличие операции предотвращает закрытие вкладки, а также такие операции, как сохранение и обновление карточки.
OperationProgress Значение от 0 до 100, характеризующее прогресс выполнения операции. Значение 0 определяет, что операция только началась, а значение 100 - что операция завершается или уже завершилась.
OperationReportsProgress Признак того, что выполняемая в настоящий момент асинхронная операция сообщает о ходе своего выполнения.
OperationStatusText Текст, описывающий последнюю операцию над редактируемой карточкой, или null, если операций над карточкой ещё не было. Значение свойства можно установить из кода расширений.
StatusBarIsVisible Признак того, что строка статуса отображается. По умолчанию значение равно true.
Toolbar Модель-представление тулбара карточки.
WithUIExtensionsВыполнять UI расширения при действиях с карточкой.
WorkspaceInfo Дополнительная информация о карточке, отображаемая в заголовке рабочей области. По умолчанию возвращает отображаемое имя типа карточки (например, "Договор").
WorkspaceName Имя рабочей области с карточкой. По умолчанию возвращает локализуемую строку "Карточка".

Методы

CloseAsync Асинхронно закрывает рабочую область. Возвращает false, если закрытие области было отменено, причём значение будет возвращено синхронно. Используйте код следующего вида в обработчике события window.Closing: async (s, e) => { var task = model.CloseAsync(); e.Cancel = task.IsCompleted && !task.Result; await task; }
(Унаследован от WorkspaceModel)
CreateCardAsyncСоздаёт структуру карточки заданного типа для её редактирования.
CreateCardEditor Создаёт редактор карточки, который позволяет выполнять расширения таким же способом, как это делает текущий объект, но не затрагивая состояние текущего объекта. Это позволяет, например, выполнить инициализацию модели карточки в цепочке расширений на сохранение или повторное открытие карточки.
CreateCardModelAsync Создаёт модель карточки, в которой инициализируются делегаты для использования с текущим объектом. Не выполняется инициализации UI или выполнения расширений.
CreateFormWithExtensionsAsync Создаёт автоматический UI карточки, выполняя при этом расширения UI. Для предыдущей карточки при наличии таковой выполняет расширения на закрытие. Для заданной карточки будут выполнены расширения на закрытие при открытии или создании другой карточки.
DeleteCardAsync(IUIContext, DictionaryString, Object, Boolean, CancellationToken)Удаляет редактируемую карточку. Пользователь не получает запрос на подтверждение.
DeleteCardAsync(NullableGuid, NullableGuid, String, Boolean, IUIContext, DictionaryString, Object, Boolean, CancellationToken)Удаляет заданную карточку, которая может быть отлична от редактируемой. Пользователь не получает запрос на подтверждение.
EqualsDetermines whether the specified object is equal to the current object.
(Унаследован от Object)
ExportCardAsync(ISourceContentProvider, IUIContext, CardFileFormat, DictionaryString, Object, DictionaryString, Object, CancellationToken)Экспортирует редактируемую карточку.
ExportCardAsync(NullableGuid, NullableGuid, String, ISourceContentProvider, IUIContext, CardFileFormat, DictionaryString, Object, DictionaryString, Object, CancellationToken)Экспортирует заданную карточку, которая может быть отлична от редактируемой.
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Унаследован от Object)
GetHashCodeServes as the default hash function.
(Унаследован от Object)
GetModelContext Возвращает контекст для модели представления редактора карточек, который содержит информацию по расширениям, выполненным в редакторе. Это позволяет инициализировать модель представления карточки в одном редакторе, а затем переместить информацию об инициализированной модели в другой редактор.
GetTypeGets the Type of the current instance.
(Унаследован от Object)
InitializeCardModelAsync Инициализирует модель карточки, выполняя событие [ICardEditorModel.CardModelInitialized], и устанавливает свойства [ICardEditorModel.WorkspaceName] и [ICardEditorModel.WorkspaceInfo]. Метод следует вызывать уже после выполнения расширений UI (если таковые требуются), но перед присваиванием свойство [ICardEditorModel.CardModel].
MemberwiseCloneCreates a shallow copy of the current Object.
(Унаследован от Object)
NotifyContextInitializedAsync Выполняет расширения на инициализацию текущего контекста [ICardUIExtension.ContextInitialized] и устанавливает признак того, что для текущей модели карточки контекст был инициализирован. Метод вызывается системой при отображении карточки во вкладке.
OnClosedAsyncПроисходит при закрытии рабочей области.
(Переопределяет WorkspaceModelOnClosedAsync(DeferredEventArgs, CancellationToken))
OnClosingAsync Происходит перед закрытием рабочей области. На этом этапе закрытие можно отменить, установив флаг Cancel в аргументах события.
(Переопределяет WorkspaceModelOnClosingAsync(Boolean, DeferredCancelEventArgs, CancellationToken))
OnPropertyChanged(PropertyChangedEventArgs) Уведомляет об изменении свойства с именем, заданным в аргументах события.
(Унаследован от NotificationObject)
OnPropertyChanged(String) Уведомляет об изменении свойства с заданным именем у объекта.
(Унаследован от NotificationObject)
OnPropertyChangedAsync(PropertyChangedEventArgs, Boolean) Уведомляет об изменении свойства с именем, заданным в аргументах события, асинхронно, в соответствии с принятым для текущего объекта поведением. Если есть возможность вызвать событие синхронно, то оно вызывается синхронно. Если объект является моделью представления WPF и текущий поток отличен от потока диспетчера WPF для приложения (основной поток UI), то выполнение асинхронно переключается в этот поток. Если это не так, то событие выполняется синхронно.
(Унаследован от NotificationUIObject)
OnPropertyChangedAsync(String, Boolean) Уведомляет об изменении свойства с заданным именем у объекта асинхронно, в соответствии с принятым для текущего объекта поведением. Если есть возможность вызвать событие синхронно, то оно вызывается синхронно. Если объект является моделью представления WPF и текущий поток отличен от потока диспетчера WPF для приложения (основной поток UI), то выполнение асинхронно переключается в этот поток. Если это не так, то событие выполняется синхронно.
(Унаследован от NotificationObject)
OpenCardAsyncОткрывает карточку с заданным идентификатором для редактирования.
RefreshCardAsyncОбновляет редактируемую карточку.
SaveCardAsyncСохраняет и обновляет редактируемую карточку.
SaveCardWithResultAsyncСохраняет и обновляет редактируемую карточку.
SetCardModelAsync Устанавливает модель редактируемой карточки или null, если редактируемая карточка отсутствует. Предыдущая модель закрывается методом [ICardModel.CloseAsync], если присутствовала.
SetCardModelFormAsync Устанавливает значение свойства CardModelForm.
SetIsClosedAsyncУстанавливает признак того, что рабочая область была закрыта.
(Унаследован от WorkspaceModel)
SetModelContext Устанавливает контекст для модели представления редактора карточек, который содержит информацию по расширениям, выполненным в редакторе. Это позволяет инициализировать модель представления карточки в одном редакторе, а затем переместить информацию об инициализированной модели в другой редактор.
SetOperationInProgress Уведомляет о запуске асинхронной операции, при этом изменяет соответствующие флаги [Tessa.UI.Cards.ICardEditorModel.OperationInProgress] и [Tessa.UI.Cards.ICardEditorModel.BlockingOperationInProgress]. Возвращает объект, при освобождении которого будет выполнено уведомление о завершении асинхронной операции.
ToStringReturns a string that represents the current object.
(Унаследован от Object)
TryGetTemplatedCardAsync(IUIContext, CardFileFormat, DictionaryString, Object, CancellationToken) Загружает и возвращает карточку для создания шаблона. Загрузка осуществляется как запрос на экспорт.
TryGetTemplatedCardAsync(NullableGuid, NullableGuid, String, IUIContext, CardFileFormat, DictionaryString, Object, CancellationToken) Загружает и возвращает карточку для создания шаблона, которая может быть отлична от редактируемой. Загрузка осуществляется как запрос на экспорт.
ViewCardStorageAsyncПоказывает структуру редактируемой карточки.

События

CardModelInitialized Событие, происходящее при инициализации созданной или загруженной модели карточки. Событие выполняется после вызова расширений на инициализацию модели карточки.
ClosedПроисходит при закрытии рабочей области.
(Унаследован от WorkspaceModel)
ClosingПроисходит перед закрытием рабочей области.
(Унаследован от WorkspaceModel)
PropertyChangedСобытие, уведомляющее об изменении свойства с определённым именем у модели представления.
(Унаследован от NotificationObject)

Методы расширения

CreateAndInitializeModelAsync Создаёт и инициализирует модель представления карточки с заданными параметрами. Созданная модель представления защищается от изменений посредством вызова Seal перед тем, как будет возвращена. Сразу после этого её можно присвоить в свойстве CardModel.
(Определяется CardUIExtensions)
Get
(Определяется ComHelper)
Invoke
(Определяется ComHelper)
RestoreCardAsync Выполняет асинхронное восстановление карточки по её удалённой карточке, причём удалённая карточка окончательно удаляется. В качестве текущей карточки заданный editor должен содержать удалённую карточку.
(Определяется CardUIExtensions)
Set
(Определяется ComHelper)

См. также