Core AI
    正在准备搜索索引...

    问卷数据结构 Diagram 特指问卷的数据结构,一个应用程序应通过 application.currentVersion.snapshot.diagram 读取它当前版本的问卷数据结构。

    索引

    方法

    方法

    • 更新问卷数据

      参数

      • diagramId: string

        问卷数据 ID

      • data: {
            cover?: null | { alt?: string; grayscale?: boolean; src?: string };
            description?: string;
            fields?: Record<
                string,
                {
                    help: { show: boolean; text: null
                    | string };
                    id: string;
                    index: number;
                    label: string;
                    required: boolean;
                    size: "sm" | "lg";
                    span: number;
                },
            >;
            groups?: {
                description: string;
                id: string;
                index: number;
                rows: {
                    fields: { id: string; index: number; span: number }[];
                    id: string;
                    index: number;
                }[];
                settings: {
                    background: { enabled: boolean };
                    labelPosition: "top" | "side";
                    showDescription: boolean;
                    showTitle: boolean;
                };
                title: string;
            }[];
            logo?: null
            | { alt?: string; src?: string };
            settings?: {
                accentColor?: string;
                allowPrint?: boolean;
                containerMaxWidth?: number;
                maxItemsPerRow?: number;
                redirectUrl?: null | string;
                showBranding?: boolean;
                submission?: {
                    customized?: { enabled?: boolean; text?: null | string };
                    disallowed?: boolean;
                    disallowedReason?: null | string;
                };
                theme?: "light"
                | "dark";
            };
            title?: string;
        }

        需要更新的问卷数据,允许只传部分数据,但仅限第一层

      • versionId: string

        版本 ID,一般指 application.currentVersionId

      返回 Promise<
          {
              data: {
                  createdAt: string;
                  data: | Record<string, unknown>
                  | {
                      cover: null | { alt: string; grayscale: boolean; src: string };
                      description: string;
                      fields: Record<
                          string,
                          {
                              help: { show: boolean; text: string
                              | null };
                              id: string;
                              index: number;
                              label: string;
                              required: boolean;
                              size: "sm" | "lg";
                              span: number;
                          },
                      >;
                      groups: {
                          description: string;
                          id: string;
                          index: number;
                          rows: {
                              fields: { id: ...; index: ...; span: ... }[];
                              id: string;
                              index: number;
                          }[];
                          settings: {
                              background: { enabled: boolean };
                              labelPosition: "top" | "side";
                              showDescription: boolean;
                              showTitle: boolean;
                          };
                          title: string;
                      }[];
                      logo: null
                      | { alt: string; src: string };
                      settings: {
                          accentColor: string;
                          allowPrint: boolean;
                          containerMaxWidth: number;
                          maxItemsPerRow: number;
                          redirectUrl: null | string;
                          showBranding: boolean;
                          submission: {
                              customized: { enabled: boolean; text: null | string };
                              disallowed: boolean;
                              disallowedReason: null | string;
                          };
                          theme: "light"
                          | "dark";
                      };
                      title: string;
                      version: "v1";
                  };
                  id: string;
                  updatedAt: string;
              };
          },
      >

      更新问卷数据里的 title 和 description,以及 settings.theme

      const { data: updatedDiagram } = await client.diagram.update(
      diagramId,
      {
      title: "Updated Title",
      description: "## This is an updated awesome research form!!!",
      settings: { ...prevSettings, theme: "dark" }
      },
      versionId,
      )

      更新一个选项(通过 fields 更新)

      const { data: updatedDiagram } = await client.diagram.update(
      diagramId,
      {
      fields: { ...prevFields, fieldA: { ... } }
      },
      versionId,
      )

      更新布局结构

      const { data: updatedDiagram } = await client.diagram.update(
      diagramId,
      {
      groups: [...] // <- 更新布局结构应始终传递更改后的完整 groups
      },
      versionId,
      )

      更新问卷设置

      const { data: updatedDiagram } = await client.diagram.update(
      diagramId,
      {
      settings: {...} // <- settings 可以只传部分数据,但仅限第一层
      },
      versionId,
      )