{"record":{"id":"d21df184cb0ff7f6","repo":"octobercms/october","slug":"custom-button-properties-must-be-an-array","errorCode":null,"errorMessage":"Custom button properties must be an array","messagePattern":"Custom button properties must be an array","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"modules/cms/assets/js/cms.editor.extension.documentcomponent.base.js","lineNumber":285,"sourceCode":"                    error.responseText\n                );\n            }\n        },\n\n        handleCustomToolbarButton: function handleCustomToolbarButton(command) {\n            const parts = command.split('@');\n            const buttonIndex = parts[1];\n            const buttons = this.extension.getCustomToolbarSettingsButtons(this.documentType);\n\n            if (!buttons[buttonIndex]) {\n                return;\n            }\n\n            const button = buttons[buttonIndex];\n            const settingsProperties = button.properties;\n\n            if (typeof settingsProperties !== 'object') {\n                throw new Error('Custom button properties must be an array');\n            }\n\n            let dataHolder = this.documentData;\n            if (button.useViewBag) {\n                if (!this.viewBagComponent) {\n                    throw new Error('View bag component not found');\n                }\n\n                dataHolder = JSON.parse(this.viewBagComponent.propertyValues);\n            }\n\n            inspectorHost\n                .showModal(\n                    button.popupTitle ? button.popupTitle : this.documentSettingsPopupTitle,\n                    dataHolder,\n                    settingsProperties,\n                    'cms-custom-settings',\n                    {","sourceCodeStart":267,"sourceCodeEnd":303,"githubUrl":"https://github.com/octobercms/october/blob/b608633a7e8922487d91a8161499020121c3b3bf/modules/cms/assets/js/cms.editor.extension.documentcomponent.base.js#L267-L303","documentation":"Error \"Custom button properties must be an array\" thrown in octobercms/october.","triggerScenarios":"Thrown at modules/cms/assets/js/cms.editor.extension.documentcomponent.base.js:285 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"b608633a7e8922487d91a8161499020121c3b3bf","analyzedAt":"2026-08-21T04:24:57.515Z","schemaVersion":2},"datasetVersion":"2026-08-21T11:28:35.574Z"}