import { type ActiveRecord, type Pagination, type QueryContext, QueryPageResult, type QueryVariables } from '@oinone/kunlun-engine'; import { ViewType } from '@oinone/kunlun-meta'; import { Condition } from '@oinone/kunlun-request'; import { ISort, queryPage } from '@oinone/kunlun-service'; import { SPI } from '@oinone/kunlun-spi'; import { ListPaginationStyle } from '@oinone/kunlun-vue-ui-common'; import { Widget } from '@oinone/kunlun-vue-widget'; import { BaseElementWidget } from '../../../basic'; import { TableWidget } from '../../table'; @SPI.ClassFactory( BaseElementWidget.Token({ viewType: ViewType.Table, widget: ['table', 'Table'], model: ['dmeta.UIDesignerMenuMetaExport'] }) ) export class AppTreeMenuTableWidget extends TableWidget { @Widget.Reactive() protected get treeConfig() { return { transform: true, rowField: 'name', parentField: 'parentName' } as any; } @Widget.Reactive() protected get paginationStyle(): ListPaginationStyle { return ListPaginationStyle.HIDDEN; } protected reloadTableInstanceActiveRecords() {} } @SPI.ClassFactory( BaseElementWidget.Token({ viewType: ViewType.Table, widget: ['table', 'Table'], model: [ 'dmeta.DataDesignerItemMetaExport', 'dmeta.EipDesignerConnectorAppMetaExport', 'dmeta.EipDesignerConnectorDBMetaExport', 'dmeta.EipDesignerConnectorFileMetaExport' ] }) ) export class AppGraphTableWidget extends AppTreeMenuTableWidget { @Widget.Reactive() protected get treeConfig() { return { childrenField: 'children' } as any; } @Widget.Reactive() protected get paginationStyle(): ListPaginationStyle { return ListPaginationStyle.HIDDEN; } public async queryPage( condition: Condition, pagination: Pagination, sort: ISort[], variables: QueryVariables, context: QueryContext ): Promise> { return queryPage( this.model.model, { condition, sort, ...pagination }, undefined, variables, { maxDepth: 2 } ); } }