Variable menuDocumentSchemaConst

menuDocumentSchema: {
    $defs: {
        columnsWithHeaders: {
            description: string;
            patternProperties: {
                "^[\\w\\-]+\\.[\\w\\-]+$": {
                    additionalProperties: boolean;
                    description: string;
                    properties: {
                        isExtensible: { description: string; type: string };
                        label: { $ref: string; description: string };
                        localizeNotes: { description: string; type: string };
                        order: { description: string; type: string };
                    };
                    required: string[];
                    type: string;
                };
            };
            properties: { isExtensible: { description: string; type: string } };
            type: string;
        };
        groupsAndItems: {
            description: string;
            properties: {
                groups: { $ref: string; description: string };
                items: {
                    description: string;
                    items: { $ref: string };
                    type: string;
                    uniqueItems: boolean;
                };
            };
            required: string[];
            type: string;
        };
        localizeKey: { description: string; pattern: string; type: string };
        menuGroups: {
            additionalProperties: boolean;
            description: string;
            patternProperties: {
                "^[\\w\\-]+\\.[\\w\\-]+$": {
                    description: string;
                    oneOf: (
                        | {
                            additionalProperties: boolean;
                            properties: {
                                column: { $ref: string; description: string };
                                isExtensible: { description: string; type: string };
                                menuItem?: undefined;
                                order: { description: string; type: string };
                            };
                            required: string[];
                        }
                        | {
                            additionalProperties: boolean;
                            properties: {
                                column?: undefined;
                                isExtensible: { description: string; type: string };
                                menuItem: { $ref: string; description: string };
                                order: { description: string; type: string };
                            };
                            required: string[];
                        }
                    )[];
                    type: string;
                };
            };
            type: string;
        };
        menuItem: {
            description: string;
            oneOf: (
                | {
                    properties: {
                        command?: undefined;
                        iconPathAfter?: undefined;
                        iconPathBefore?: undefined;
                        id: { $ref: string; description: string };
                    };
                    required: string[];
                }
                | {
                    properties: {
                        command: { $ref: string; description: string };
                        iconPathAfter: { description: string; type: string };
                        iconPathBefore: { description: string; type: string };
                        id?: undefined;
                    };
                    required: string[];
                }
            )[];
            properties: {
                group: { $ref: string; description: string };
                label: { $ref: string; description: string };
                localizeNotes: { description: string; type: string };
                order: { description: string; type: string };
                searchTerms: { $ref: string; description: string };
                tooltip: { $ref: string; description: string };
            };
            required: string[];
            type: string;
            unevaluatedProperties: boolean;
        };
        menusForOneWebView: {
            additionalProperties: boolean;
            description: string;
            properties: {
                contextMenu: { $ref: string; description: string };
                includeDefaults: { description: string; type: string };
                topMenu: { $ref: string; description: string };
            };
            type: string;
        };
        multiColumnMenu: {
            allOf: (
                | { $ref: string; properties?: undefined; required?: undefined }
                | {
                    $ref?: undefined;
                    properties: { columns: { $ref: string; description: string } };
                    required: string[];
                }
            )[];
            description: string;
            type: string;
            unevaluatedProperties: boolean;
        };
        referencedItem: { description: string; pattern: string; type: string };
        singleColumnMenu: {
            allOf: { $ref: string }[];
            description: string;
            type: string;
            unevaluatedProperties: boolean;
        };
    };
    additionalProperties: boolean;
    properties: {
        defaultWebViewContextMenu: { $ref: string; description: string };
        defaultWebViewTopMenu: { $ref: string; description: string };
        mainMenu: { $ref: string; description: string };
        webViewMenus: {
            additionalProperties: boolean;
            description: string;
            patternProperties: { "^[\\w\\-]+\\.[\\w\\-]+$": { $ref: string } };
            type: string;
        };
    };
    required: string[];
    title: string;
    type: string;
} = ...

JSON schema object that aligns with the PlatformMenus type

Type declaration

  • $defs: {
        columnsWithHeaders: {
            description: string;
            patternProperties: {
                "^[\\w\\-]+\\.[\\w\\-]+$": {
                    additionalProperties: boolean;
                    description: string;
                    properties: {
                        isExtensible: { description: string; type: string };
                        label: { $ref: string; description: string };
                        localizeNotes: { description: string; type: string };
                        order: { description: string; type: string };
                    };
                    required: string[];
                    type: string;
                };
            };
            properties: { isExtensible: { description: string; type: string } };
            type: string;
        };
        groupsAndItems: {
            description: string;
            properties: {
                groups: { $ref: string; description: string };
                items: {
                    description: string;
                    items: { $ref: string };
                    type: string;
                    uniqueItems: boolean;
                };
            };
            required: string[];
            type: string;
        };
        localizeKey: { description: string; pattern: string; type: string };
        menuGroups: {
            additionalProperties: boolean;
            description: string;
            patternProperties: {
                "^[\\w\\-]+\\.[\\w\\-]+$": {
                    description: string;
                    oneOf: (
                        | {
                            additionalProperties: boolean;
                            properties: {
                                column: { $ref: string; description: string };
                                isExtensible: { description: string; type: string };
                                menuItem?: undefined;
                                order: { description: string; type: string };
                            };
                            required: string[];
                        }
                        | {
                            additionalProperties: boolean;
                            properties: {
                                column?: undefined;
                                isExtensible: { description: string; type: string };
                                menuItem: { $ref: string; description: string };
                                order: { description: string; type: string };
                            };
                            required: string[];
                        }
                    )[];
                    type: string;
                };
            };
            type: string;
        };
        menuItem: {
            description: string;
            oneOf: (
                | {
                    properties: {
                        command?: undefined;
                        iconPathAfter?: undefined;
                        iconPathBefore?: undefined;
                        id: { $ref: string; description: string };
                    };
                    required: string[];
                }
                | {
                    properties: {
                        command: { $ref: string; description: string };
                        iconPathAfter: { description: string; type: string };
                        iconPathBefore: { description: string; type: string };
                        id?: undefined;
                    };
                    required: string[];
                }
            )[];
            properties: {
                group: { $ref: string; description: string };
                label: { $ref: string; description: string };
                localizeNotes: { description: string; type: string };
                order: { description: string; type: string };
                searchTerms: { $ref: string; description: string };
                tooltip: { $ref: string; description: string };
            };
            required: string[];
            type: string;
            unevaluatedProperties: boolean;
        };
        menusForOneWebView: {
            additionalProperties: boolean;
            description: string;
            properties: {
                contextMenu: { $ref: string; description: string };
                includeDefaults: { description: string; type: string };
                topMenu: { $ref: string; description: string };
            };
            type: string;
        };
        multiColumnMenu: {
            allOf: (
                | { $ref: string; properties?: undefined; required?: undefined }
                | {
                    $ref?: undefined;
                    properties: { columns: { $ref: string; description: string } };
                    required: string[];
                }
            )[];
            description: string;
            type: string;
            unevaluatedProperties: boolean;
        };
        referencedItem: { description: string; pattern: string; type: string };
        singleColumnMenu: {
            allOf: { $ref: string }[];
            description: string;
            type: string;
            unevaluatedProperties: boolean;
        };
    }
  • additionalProperties: boolean
  • properties: {
        defaultWebViewContextMenu: { $ref: string; description: string };
        defaultWebViewTopMenu: { $ref: string; description: string };
        mainMenu: { $ref: string; description: string };
        webViewMenus: {
            additionalProperties: boolean;
            description: string;
            patternProperties: { "^[\\w\\-]+\\.[\\w\\-]+$": { $ref: string } };
            type: string;
        };
    }
  • required: string[]
  • title: string
  • type: string