문서
API
Types
Type: ReportDesigner

Type: ReportDesigner

ReportDesigner

리얼리포트 웹 디자이너를 생성해주는 객체입니다.

ReportDesignerOptions

리얼리포트 웹 디자이너를 생성할 때 지정하는 옵션 타입

interface ReportDesignerOptions {
    /**
     * asset panel 표시 여부
     * @default true
     */
    showAssetPanel?: boolean;
    /**
     * data panel 표시 여부
     * @default true
     */
    showDataPanel?: boolean;
    /**
     * script panel 표시 여부
     * @default true
     */
    showScriptPanel?: boolean;
    /**
     * 왼쪽 아이템바에서 클릭 대신 아이템 아이콘을 drag해서 생성할지 여부
     * @default true
     */
    dragInsert?: boolean;
 
    /**
     * 리포트 양식 목록을 제공하는 사용자 코드
     */
    getReportListCallback?: () => Promise<ReportListSource>;
 
    /**
     * 리포트 양식을 제공하는 사용자 코드
     */
    getReportCallback?: (reportId: string) => Promise<IReportSource>;
 
    /**
     * 리포트 양식을 저장하는 사용자 코드
     */
    saveReportCallback?: (
        report: ReportForm,
        reportId?: string,
        reportContext: ReportContext,
    ) => Promise<SaveCallbackResponse | null>;
}

ReportListSource

getReportListCallback에서 사용되는 양식 목록 구성에 대한 타입

type ReportListSource = (ReportGroupSource | ReportSource)[];
 
/**
 * ReportListSource 타입 예시
 */
const reportList: ReportListSource = [
    {
        type: 'group',
        name: '양식 폴더',
        children: [
            {
                type: 'report',
                id: '1',
                name: '리포트 양식 1',
            },
        ],
    },
    {
        type: 'report',
        id: '2',
        name: '리포트 양식 2',
    },
];

ReportGroupSource

getReportListCallback에서 구성되는 목록 중 그룹 폴더로 지정할 수 있는 타입

type ReportGroupSource = {
    type: 'group';
    name: string;
    children: ReportListSource;
};

ReportSource

getReportListCallback에서 구성되는 목록 중 양식 파일로 지정할 수 있는 타입

type ReportSource = {
    type: 'report';
    id: string;
    name: string;
};

IReportSource

getReportCallback에서 반환 해야하는 양식 파일의 타입

interface IReportSource {
    /**
     * 보고서 양식에 지정해야 하는 고유한 id
     */
    id: string;
    /**
     * 보고서 양식 디자인 데이터
     */
    source: Record<string, any>;
}

ReportContext

saveReportCallback함수의 3번째 인자로 제공되는 양식과 관련된 정보 객체

type ReportContext = {
    /**
     * 양식의 이름
     */
    name: string;
    /**
     * 양식이 수정되었는지 여부
     */
    isModified: boolean;
};

SaveCallbackResponse

saveReportCallback에서 반환 해야하는 정보

type SaveCallbackResponse = {
    reportId: string;
    message?: string;
};

ReportOptions

type ReportOptions = {
    /**
     * 보고서 양식에 지정해야 하는 고유한 id
     */
    reportId?: string;
};

FontSource

type FontSource = {
    /**
     * 폰트 이름
     */
    name: string;
    /**
     * 폰트 파일 경로
     */
    source: string;
    /**
     * 폰트의 굵기 종류
     */
    weight: 'normal' | 'bold';
};

UserReportTemplate

interface UserReportTemplate {
    name: string;
    report?: Record<string, any>; // 양식 데이터
    file?: string; // 양식 데이터 파일 경로
    data?: {
        // 샘플 데이터
        [key: string]: ReportTemplateData;
    };
    dataFile?: string; //  샘플 데이터 파일 경로
    thumbnail?: string;
    description?: string;
}

ReportTemplateData

type ReportTemplateData =
    | {
          type: 'simple';
          values: {
              [key: string]: any;
          };
      }
    | {
          type: 'band';
          values: {
              [key: string]: any;
          }[];
      };