import '@material/web/icon/icon.js'; import '@material/web/button/elevated-button.js'; import '@operato/data-grist/ox-grist.js'; import '@operato/data-grist/ox-filters-form.js'; import '@operato/data-grist/ox-record-creator.js'; import './kpi-viz-editor.js'; import './kpi-grade-editor.js'; import { PageView } from '@operato/shell'; import { DataGrist, FetchOption } from '@operato/data-grist'; /** * KPI scoreType — value → score 변환 방식 (null이면 미설정) * * DIRECT — value = score, 변환 없음 * FORMULA — scoreFormula 수식으로 변환 * LOOKUP — grade table(1D)로 변환 * CUSTOM — 2D 룩업 등 특수 변환 */ export declare const KPI_SCORE_TYPE: { readonly DIRECT: "DIRECT"; readonly FORMULA: "FORMULA"; readonly LOOKUP: "LOOKUP"; readonly CUSTOM: "CUSTOM"; }; /** * KPI valueType — value 획득 방식 * * MEASURED — 외부 시스템 수집 측정값 * ASSESSED — 감리자 직접 평가 (1~5) * CALCULATED — formula 자동 계산 * COMPOSITE — 다차원 복합 입력 */ export declare const KPI_VALUE_TYPE: { readonly MEASURED: "MEASURED"; readonly ASSESSED: "ASSESSED"; readonly CALCULATED: "CALCULATED"; readonly COMPOSITE: "COMPOSITE"; }; export declare function inferScoreType(kpi: any): string; import { KpiImporter } from './kpi-importer'; import { KpiGradeEditor } from './kpi-grade-editor'; import { KpiVizEditor } from './kpi-viz-editor'; declare const KpiListPage_base: (new (...args: any[]) => { __preferenceProviders: { [element: string]: import("@operato/p13n").PagePreferenceProvider; }; getPagePreferenceProvider(element: string): import("@operato/p13n").PagePreferenceProvider | undefined; }) & (new (...args: any[]) => import("lit").LitElement) & typeof PageView & import("@open-wc/dedupe-mixin").Constructor; export declare class KpiListPage extends KpiListPage_base { static styles: import("lit").CSSResult[]; static get scopedElements(): { 'kpi-importer': typeof KpiImporter; 'kpi-grade-editor': typeof KpiGradeEditor; 'kpi-viz-editor': typeof KpiVizEditor; }; gristConfig: any; mode: 'CARD' | 'GRID' | 'LIST'; protected grist: DataGrist; availableVariables: any[]; availableVariablesLoaded: boolean; hierarchicalView: boolean; getAvailableKpiMetricVariables(currentKpi?: any): Promise; get context(): { title: string; search: { handler: (search: string) => void; value: string; }; filter: { handler: () => void; }; help: string; actions: ({ title: string; action: () => void; icon: string; } | { icon: string; emphasis: { raised: boolean; outlined: boolean; dense: boolean; danger: boolean; }; title: string; action: () => Promise; })[]; exportable: { name: string; data: () => Promise<{}[]>; }; importable: { handler: (records: any) => Promise; }; }; render(): import("lit-html").TemplateResult<1>; connectedCallback(): void; pageInitialized(lifecycle: any): Promise; pageUpdated(changes: any, lifecycle: any): Promise; fetchHandler({ page, limit, sortings, filters }: FetchOption): Promise<{ total: any; records: any; }>; fetchKpiMetrics(): Promise; _deleteKpi(): Promise; _updateKpi(): Promise; creationCallback(kpi: any): Promise; exportHandler(): Promise<{}[]>; importHandler(records: any): Promise; /** * grades 셀 렌더러. 서브클래스에서 override 가능. * CUSTOM scoreType은 renderCustomGradesCell()로 위임. */ protected renderGradesCell(kpi: any): any; /** * CUSTOM scoreType의 grades 셀 렌더링. 서브클래스에서 override하여 구현. */ protected renderCustomGradesCell(kpi: any): any; /** * 등급 편집 팝업. CUSTOM 타입은 _editCustomGrades()로 위임. 서브클래스에서 override 가능. */ protected _editGrades(kpi: any): Promise; /** * CUSTOM scoreType의 등급 편집 팝업. 서브클래스에서 override하여 구현. */ protected _editCustomGrades(kpi: any): Promise; _editViz(kpi: any): Promise; _onVizUpdated(kpiId: string, vizType: string, vizMeta: any): Promise; _calculateKpiValue(kpi: any): Promise; _toggleHierarchicalView(): void; fetchHierarchicalData(): Promise<{ total: number; records: any[]; }>; flattenTreeData(treeData: any[], level?: number): any[]; } export {};