import { Observable } from 'rxjs'; import { Repository, BindingData, Entity, ViewModel } from '@farris/devkit'; import { FormLoadingService } from '../form-loading/form-loading.service'; import { FormNotifyService } from '../form-notify.service'; import { LanguageService } from '../languag.service'; import { FormMessageService } from '../form-message.service'; import { FormErrorService } from '../error/form-error.service'; import { FilterConditionService } from '../filter-condition.service'; /** * 列表仓库服务 */ declare class ListDataService { private msgService; private repository; private bindingData; private loadingService; private languageService; private formNotifyService; private formErrorService; private viewModel; private filterConditionService; /** * 构造 * @param msgService msgService * @param repository repository * @param bindingData bindingData * @param loadingService loadingService * @param languageService languageService * @param formNotifyService formNotifyService * @param formErrorService formErrorService * ! @param viewModel viewModel,vm是后期注入的,老表单获取不到,一定要做非空判断 * @param filterConditionService filterConditionService */ constructor(msgService: FormMessageService, repository: Repository, bindingData: BindingData, loadingService: FormLoadingService, languageService: LanguageService, formNotifyService: FormNotifyService, formErrorService: FormErrorService, viewModel: ViewModel, filterConditionService: FilterConditionService); /** * 加载 */ load(filter?: string, sort?: string): Observable; /** * 过滤数据 * @param filter 过滤条件 * @param sort 排序条件 */ filter(filter?: string, sort?: string): Observable; /** * 查询 */ query(filter: string, sort: string, pageSize: number, pageIndex: number): Observable; queryChild(filter: string, sort: string): Observable; /** * 获取分页信息 * @param nodeCode nodeCode * @returns 分页信息,包括:分页大小、当前页码 * @description 基本分页信息在分页信息中存储时key为nodeCode */ /** * 追加一条新数据 */ append(): Observable; /** * 当前行前或后插入数据 * @param position 1 | -1 */ insert(position?: 1 | -1): Observable; /** * 提交变更(批量编辑页面,行切换时提交增量) */ updateChanges(): Observable; /** * 批量保存 * @param successMsg 自定义提示信息 */ save(successMsg?: string): Observable; /** * 删除 * @param id 要删除的数据的id * @param ifSave 是否保存 * @param successMsg 自定义提示信息 * @param confirm 是否需要确认 * @param breakable 是否可中断,ifSave为false时流会中断 */ remove(id: string, ifSave?: boolean | string, successMsg?: string, confirm?: boolean | string, breakable?: boolean | string): Observable; /** * 批量删除 * @param ids ids * @param ifSave 是否保存 * @param successMsg 自定义提示信息 * @param deleteCurrentRowIfNoChecks 没有勾选时删除当前行 */ removeRows(ids: string[], ifSave?: boolean | string, successMsg?: string, deleteCurrentRowIfNoChecks?: boolean | string): Observable; /** * 删除后的刷新 */ refreshAfterRemoving(loadCmdName: string, loadCmdFrameId: string): Observable; /** * 刷新 * @param loadCmdName 刷新命令 * @param loadCmdFrameId 刷新命令所在的frameId */ refresh(loadCmdName: string, loadCmdFrameId: string): Observable; /** * 取消时检测未保存记录 */ cancel(): Observable; /** * 还原变更集 * @description 不带变更检测提示 */ revert(): Observable; /** * 取消(内部取消) */ private _cancel; /** * 获取根组件appContext */ private readonly messagePipe; /** * 触发查询事件 * @param filters 过滤条件 */ private fireQueryEvent; /** * 合并过滤条件 * @param filter 表单过滤条件 */ private mergeFilterConditions; /** * 合并排序条件 * @param sort 排序条件 */ private mergeSortConditions; } export { ListDataService };