import * as _ng_atomic_components_templates__index from '@ng-atomic/components/templates/_index'; import { ItemsMap, IndexTemplate } from '@ng-atomic/components/templates/_index'; import * as rxjs from 'rxjs'; import * as _angular_core from '@angular/core'; import { Provider, Injector } from '@angular/core'; import * as _ng_atomic_core from '@ng-atomic/core'; import { Action, InjectableComponent, NavActions, ItemActions, NgAtomicComponent } from '@ng-atomic/core'; import * as _angular_forms from '@angular/forms'; import { FormGroup, FormBuilder } from '@angular/forms'; import * as _ng_atomic_common_types_ng_atomic_common_services_form__index from '@ng-atomic/common/types/ng-atomic-common-services-form-_index'; import * as _ng_atomic_common_services_ui from '@ng-atomic/common/services/ui'; import { FlatTreeControl } from '@angular/cdk/tree'; import { EditingStateManager } from '@ng-atomic/common'; import { FormFieldMap } from '@ng-atomic/common/pipes/smart-field'; import { AppService } from '@xxmachina/components/services/app'; import { Query } from '@xxmachina/common/domain/models'; import { QueryFeature, QueryGraphqlVariablesFormFeature } from '@xxmachina/components/features/query'; import { ActivatedRoute } from '@angular/router'; import { QueryService } from '@xxmachina/components/services/query'; declare enum ActionId { NAVIGATE_TO_IFRAME = "NAVIGATE TO IFRAME", TOGGLE_PAGE = "\u5168\u4F53\u8868\u793A", TOGGLE_VARIABLES_FORM = "\u5909\u6570\u30D5\u30A9\u30FC\u30E0\u306E\u8868\u793A\u5207\u66FF", ADD = "\u8FFD\u52A0", DETAIL = "\u8A73\u7D30" } /** * テーブルセルの値変更情報 */ interface TableCellValueChange { item: T; name: string; current: any; next: any; rowIndex: number; columnId: string; } /** * テーブルオートフィルの変更情報 */ interface TableAutofillChange { sourceItem: T; sourceValue: any; columnName: string; columnIndex: number; affectedItems: Array<{ item: T; newValue: any; rowIndex: number; }>; range: { start: { row: number; col: number; }; end: { row: number; col: number; }; }; } /** * テーブルセル変更オプション */ interface TableCellChangeOptions { /** 対象カラム(空配列の場合は全カラム) */ columns?: (keyof T)[]; /** カスタム比較関数 */ equals?: (current: any, next: any, columnName: string) => boolean; } /** * ItemsMapを構築する */ declare function buildItemsMap(itemsResult?: Record, itemsLengthResult?: Record): {}; /** * クエリ結果からItemsMapを構築する */ declare function buildItemsMapFromResult(result?: Record & Record<`${string}Length`, number>): ItemsMap; declare class QueryActionReducer { readonly action: _angular_core.WritableSignal>; readonly action$: rxjs.Observable>; dispatch(action: Action): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare class QueryPageStore extends InjectableComponent { #private; static readonly ActionId: typeof ActionId; static readonly DI: { provide: (typeOrComponent: Parameters<(typeOrFactory: _ng_atomic_core.TypeOrTypeFactory) => { provide: any; useValue: () => Promise<_angular_core.Type>; }>[0]) => (Provider | { provide: any; useValue: () => Promise<_angular_core.Type>; })[]; provideConfig: (useFactory?: _ng_atomic_common_services_ui.ReducerFactory<{ type: string; style: any; title: string; titleEditable: boolean; childrenKey: string; additionalNavEndActions: Action[]; navEndActions: NavActions; additionalColumns: (items: object[]) => string[]; itemActions: ItemActions; pageSizeOptions: number[]; }> | undefined, label?: string) => Provider; injectConfig: () => _angular_core.Signal<{ type: string; style: any; title: string; titleEditable: boolean; childrenKey: string; additionalNavEndActions: Action[]; navEndActions: NavActions; additionalColumns: (items: object[]) => string[]; itemActions: ItemActions; pageSizeOptions: number[]; }>; provideInitializer: Promise | void>(initializer: SI) => { provide: _angular_core.InjectionToken<(store: any) => Promise | void>; useValue: { key: new () => QueryPageStore; initializer: (store: QueryPageStore) => Promise | void; }; multi: boolean; }[]; initialize: (store: QueryPageStore) => Promise; provideComponent: (typeOrFactory: _ng_atomic_core.TypeOrTypeFactory) => { provide: any; useValue: () => Promise<_angular_core.Type>; }; Initializer: { provide Promise | void>(initializer: SI): { provide: _angular_core.InjectionToken<(store: any) => Promise | void>; useValue: { key: new () => QueryPageStore; initializer: (store: QueryPageStore) => Promise | void; }; multi: boolean; }[]; inject(): ((store: QueryPageStore) => Promise | void)[]; initializeStore(store: QueryPageStore): Promise; }; Config: { provide(useFactory?: _ng_atomic_common_services_ui.ReducerFactory<{ type: string; style: any; title: string; titleEditable: boolean; childrenKey: string; additionalNavEndActions: Action[]; navEndActions: NavActions; additionalColumns: (items: object[]) => string[]; itemActions: ItemActions; pageSizeOptions: number[]; }> | undefined, label?: string): Provider; inject(): _angular_core.Signal<{ type: string; style: any; title: string; titleEditable: boolean; childrenKey: string; additionalNavEndActions: Action[]; navEndActions: NavActions; additionalColumns: (items: object[]) => string[]; itemActions: ItemActions; pageSizeOptions: number[]; }>; }; }; /** @deprecated use `QueryPageStore.DI.provideInitializer` instead */ static readonly Initializer: { provide Promise | void>(initializer: SI): { provide: _angular_core.InjectionToken<(store: any) => Promise | void>; useValue: { key: new () => QueryPageStore; initializer: (store: QueryPageStore) => Promise | void; }; multi: boolean; }[]; inject(): ((store: QueryPageStore) => Promise | void)[]; initializeStore(store: QueryPageStore): Promise; }; static provideDefault(): Provider[]; static provideCustom(): Provider[]; static provideDefaultV2(): Provider[]; /** @deprecated use `provideCustom` instead */ static provideForCustomPage(): Provider[]; static provideNonEditableConfig(): Provider; static provideDefaultInitializes(): Provider[]; static provideNavEndActionsInitializers(): Provider[]; static provideVariablesFromRouteParamDataInitializer(): Provider[]; static provideVariablesFromRouteParamInitializer(): Provider[]; static provideAutoTogglePageInitializer(): Provider[]; static provideVariablesFormValueFromMatrixParamsInitializer(): Provider[]; static provideQueryFromRouteDataQueryIdInitializer(key?: string): Provider[]; static provideQueryFromRouteDataInitializer(key?: string): Provider[]; static provideItemActionsFromRouteDataInitializer(key?: string): Provider; static provideNavEndActionsFromRouteDataInitializer(key?: string): Provider; static provideDefaultEffects(): Provider[]; static provideEditingStateEffects(): Provider[]; static provideCommandEffects(): Provider[]; static provideCommandExecuteEffect(): Provider[]; static provideCommandNavigateEffect(): Provider[]; static provideNavModeToggleEffect(): Provider; static provideNavEndActionsInitializer(): Provider; static provideChangeWidthEffect(): Provider[]; static provideNavigateEffects(): Provider[]; static providePaginationInitializer(): Provider[]; static provideTableCellValueChangeEffect(handlerFactory: (injector: Injector) => (change: TableCellValueChange, setValue: (value: any) => void) => void, optionsOrColumns?: TableCellChangeOptions | (keyof T)[]): Provider; static provideTableAutofillEffect(handlerFactory: (injector: Injector) => (autofill: TableAutofillChange) => void | Promise): Provider; static provideDebugStyleInitializer(): Provider[]; static provideTitleFromQueryResultInitializer(): Provider[]; protected readonly app: AppService; protected readonly config: _angular_core.Signal<{ type: string; style: any; title: string; titleEditable: boolean; childrenKey: string; additionalNavEndActions: Action[]; navEndActions: NavActions; additionalColumns: (items: object[]) => string[]; itemActions: ItemActions; pageSizeOptions: number[]; }>; readonly feature: QueryFeature; readonly variablesFormFeature: QueryGraphqlVariablesFormFeature; readonly indexFormBuilder: _ng_atomic_common_types_ng_atomic_common_services_form__index.IndexFormBuilder; readonly navMode: _angular_core.WritableSignal<"collapsed" | "expanded">; readonly editingStateManager: EditingStateManager; readonly style: _angular_core.InputSignal; readonly query: _angular_core.InputSignal>; readonly navStartActions: _angular_core.InputSignal[]>; readonly additionalNavEndActions: _angular_core.InputSignal[]>; readonly navEndActions: _angular_core.InputSignal; readonly type: _angular_core.InputSignal; readonly title: _angular_core.InputSignal; readonly titleEditable: _angular_core.InputSignal; readonly itemsMap: _angular_core.InputSignal<_ng_atomic_components_templates__index.ItemsMap>; readonly items: _angular_core.Signal; readonly itemsLength: _angular_core.InputSignal; readonly childrenKey: _angular_core.InputSignal; readonly additionalColumns: _angular_core.InputSignal<(items: object[]) => string[]>; readonly additionalColumnNames: _angular_core.InputSignal; readonly extractedColumnNames: _angular_core.InputSignal; readonly columnNames: _angular_core.InputSignal; readonly sticky: _angular_core.InputSignal<{ stickyStart: number; stickyEnd: number; }>; readonly form: _angular_core.InputSignal; page: FormGroup<{ size: _angular_forms.FormControl; index: _angular_forms.FormControl; length: _angular_forms.FormControl; }>; sort: FormGroup<{ key: _angular_forms.FormControl; order: _angular_forms.FormControl<"asc" | "desc" | null>; }>; columns: FormGroup<{ ids: _angular_forms.FormControl; map: FormGroup<{}>; }>; }>>; readonly itemActions: _angular_core.InputSignal; readonly tableTreeControl: FlatTreeControl; readonly variablesForm: _angular_core.InputSignal>; readonly variablesFormFieldMap: _angular_core.InputSignal; readonly variablesFormValue: _angular_core.Signal; readonly variablesFormValue$: rxjs.Observable; readonly variablesFormDisplayed: _angular_core.InputSignal; readonly tableColumnFormFieldMap: _angular_core.InputSignal; readonly getRowClass: _angular_core.InputSignal<(item: any) => string>; readonly skip: _angular_core.Signal; readonly pageSizeOptions: _angular_core.InputSignal; constructor(); static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵdir: _angular_core.ɵɵDirectiveDeclaration; } declare class QueryPage extends NgAtomicComponent { readonly fb: FormBuilder; readonly route: ActivatedRoute; protected readonly app: AppService; protected readonly store: QueryPageStore; protected readonly reducer: QueryActionReducer; protected readonly query: QueryService; readonly feature: QueryFeature; readonly template: _angular_core.Signal | undefined>; readonly title: _angular_core.InputSignal; constructor(); back(): Promise; navigateToIframe(item: { id: string; }): Promise; expandPage(): Promise; protected itemClick(item: { id: string; }): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } export { ActionId, QueryActionReducer, QueryPage, QueryPageStore, buildItemsMap, buildItemsMapFromResult }; export type { TableAutofillChange, TableCellChangeOptions, TableCellValueChange }; //# sourceMappingURL=xxmachina-components-pages-query.d.ts.map