UNPKG

@docsvision/webclient

Version:

Type definitions for DocsVision WebClient scripts and extensions.

130 lines (129 loc) 10.3 kB
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>[]; }