@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
130 lines (129 loc) • 10.3 kB
TypeScript
import { IPartnerDataLoadingEventArgs } from "@docsvision/webclient/BackOffice/IPartnerDataLoadingEventArgs";
import { IPartnerFilterChangeEventArgs } from "@docsvision/webclient/BackOffice/IPartnerFilterChangeEventArgs";
import { PartnerBaseImpl, PartnerBaseState } from "@docsvision/webclient/BackOffice/PartnerBaseImpl";
import { PartnerSelectDialog } from "@docsvision/webclient/BackOffice/PartnerSelectDialog";
import { $DepartmentController, $LayoutController, $LayoutPartnerController, $LayoutRowController, $LayoutStaffController } from "@docsvision/webclient/Generated/DocsVision.WebClient.Controllers";
import { GenModels } from "@docsvision/webclient/Generated/DocsVision.WebClient.Models";
import { $DeviceType } from "@docsvision/webclient/StandardServices";
import { InputBasedControl, InputBasedControlParams } from "@docsvision/webclient/System/InputBasedControl";
import { $EditOperationStore, $LayoutInfo } from "@docsvision/webclient/System/LayoutServices";
import { $LocationContainerControlServices } from '@docsvision/webclient/System/LocationContainerControl';
import { IBindingResult } from "@docsvision/webclient/System/IBindingResult";
import { BasicApiEvent, CancelableApiEvent } from "@docsvision/webclient/System/ApiEvent";
import { $LayoutManager } from '@docsvision/webclient/System/$LayoutManager';
/**
* Содержит публичные свойства элемента управления [Сотрудник контрагента]{@link Partner}.
*/
export declare class PartnerBaseParams<T> extends InputBasedControlParams<T> {
/** Стандартный CSS класс со стилями элемента управления */
standardCssClass?: string;
/** Формат отображения информации о выбранном сотруднике в контроле. */
partnerViewMode?: GenModels.EmployeeViewMode;
/** Формат отображения информации о выбранном сотруднике во всплывающей подсказке. */
partnerTipMode?: GenModels.PartnerTipModeItems;
/**
* Значение фильтра, которое которое недоступно для очистки в пользовательском интерфейсе.
* Внимание: при изменении значения параметра, значение {@link selectedFilterPath} сбрасывается.
*/
predefinedFilter?: GenModels.DepartmentModel;
/** Значение фильтра, которое было выбрано пользователем. */
selectedFilterPath?: GenModels.DepartmentModel[];
/** Текущий фильтр. Объединяет значения {@link predefinedFilter} и {@link selectedFilter} */
currentFilterPath?: GenModels.DepartmentModel[];
/** Задержка в милисекундах после изменения поискового запроса и перед отправкой запроса на сервер. */
searchDelay?: number;
/** Флаг, указывающий на состояние окна выбора организации/подразделения: true - открыто, false - закрыто. */
isDirectoryWindowShown?: boolean;
/** Ссылка на компонент модального окна для выбора контрагентов. */
directoryWindow?: PartnerSelectDialog;
/** Доступен ли интерфейс редактиррования справочника. */
allowDirectoryEdit?: boolean;
displayIcon?: boolean;
popoverOpen?: boolean;
/** Событие, возникающее перед открытием модального окна для выбора контрагентов. */
directoryWindowOpening?: CancelableApiEvent<void>;
/** Событие, возникающее после открытия модального окна для выбора контрагентов. */
directoryWindowOpened?: BasicApiEvent<void>;
/** Событие, возникающее перед закрытием модального окна для выбора контрагентов. */
directoryWindowClosing?: CancelableApiEvent<void>;
/** Событие, возникающее после закрытия модального окна для выбора контрагентов. */
directoryWindowClosed?: BasicApiEvent<void>;
/**
* Событие, возникающее перед выполнением поиска записей на сервере. В обработчике события можно изменить параметры запроса.
* Если в обработчике задать значение result, то запрос на сервер выполнен не будет.
*/
searchResultsLoading?: CancelableApiEvent<IPartnerDataLoadingEventArgs>;
/** Событие, возникающее после выполнения поиска записей на сервере. В обработчике события можно изменить возвращенные данные. */
searchResultsLoaded?: BasicApiEvent<IPartnerDataLoadingEventArgs>;
/** Событие, возникающее перед изменением фильтра контрагентов. */
currentFilterChanging?: CancelableApiEvent<IPartnerFilterChangeEventArgs>;
/** Событие, возникающее после изменения фильтра контрагентов. */
currentFilterChanged?: BasicApiEvent<IPartnerFilterChangeEventArgs>;
services?: $LayoutPartnerController & $EditOperationStore & $LayoutInfo & $LayoutRowController & $LayoutController & $LocationContainerControlServices & $LayoutStaffController & $DepartmentController & $DeviceType;
}
/**
* Класс элемента управления Сотрудник контрагента.
*
* Добавляет в web-разметку поле ввода с кнопкой вызова диалогового окна для выбора записи из *Справочника сотрудников* или *Справочника контрагентов*.
*/
export declare abstract class PartnerBase<T extends GenModels.DepartmentModel | GenModels.EmployeeDataModel, ParamsT extends PartnerBaseParams<T> = PartnerBaseParams<T>, StateT extends PartnerBaseState<T> = PartnerBaseState<T>> extends InputBasedControl<T, ParamsT, StateT> {
/** @internal */
protected getServices(): $LayoutPartnerController & $EditOperationStore & $LayoutInfo & $LayoutRowController & $LayoutController & Partial<$LayoutController> & $LayoutManager & Partial<
import("D:/BuildAgent/work/43698d70d905217f/Bin/TypeScriptDefinitions/System/Controls/Layout/LayoutServices").$CurrentLocation> & Partial<
import("D:/BuildAgent/work/43698d70d905217f/Bin/TypeScriptDefinitions/System/Controls/Layout/$Layout").$Layout> & $DeviceType & $LayoutStaffController & $DepartmentController;
/** @internal */
protected get partnerImpl(): PartnerBaseImpl<T>;
private set partnerBindingHandler(value);
private set parentOrganizationBinding(value);
init(): Promise<void>;
private get currentFilterPath();
private set selectedFilterPath(value);
private set predefinedFilter(value);
/** @internal */
get isDictionaryShown(): boolean;
/** @internal */
protected set partnerTipMode(val: GenModels.PartnerTipModeItems);
/** @internal */
protected set partnerViewMode(val: GenModels.EmployeeViewMode);
/** @internal */
protected getParamsToKeep(params: any): {
selectedFilterPath: any;
value: T;
};
/**
* Фильтрует путь selectedPath с учётом predefinedFilter
*
* Если selectedPath не существует, то возвращается пустой массив.
* Если predefinedFilter не существует, то возвращается исходный selectedPath или пустой массив, если selectedPath не существует.
* Если predefinedFilter входит в состав selectedPath, то selectedPath обрезается так,
* что остаются только элементы, первый из которых равен predefinedFilter, а остальные идут глубже по дереву.
* Если predefinedFilter не входит в состав selectedPath, то возвращается исходный selectedPath.
*
* @param selectedPath Выбранное значение фильтра.
* @param predefinedFilter Значение фильтра, которое которое недоступно для очистки в пользовательском интерфейсе.
*/
static filterSelectedPath(selectedPath: GenModels.DepartmentModel[], predefinedFilter: GenModels.DepartmentModel): GenModels.DepartmentModel[];
/**
* Входит ли значение predefinedFilter в состав selectedPath.
* @param selectedPath Выбранное значение фильтра.
* @param predefinedFilter Значение фильтра, которое которое недоступно для очистки в пользовательском интерфейсе.
*/
static isFilterInSelectedPath(selectedPath: GenModels.DepartmentModel[], predefinedFilter: GenModels.DepartmentModel): boolean;
/**
* Проверяет возможность открытия модального окна выбора организации/подразделения.
* @return true - возможно (если значение редактируемое), false - невозможно.
*/
canShowDictionary(): boolean;
/**
* Открывает окно выбора организации/подразделения.
*/
showDictionary(): void;
/**
* Закрывает окно выбора организации/подразделения.
*/
hideDictionary(): void;
/** @internal */
private get departmentMode();
/** @internal */
protected getBindings(): IBindingResult<any>[];
}