{"record":{"id":"a8b0247a7e0e579f","repo":"octobercms/october","slug":"values-not-found-for-the-selected-row","errorCode":null,"errorMessage":"Values not found for the selected row.","messagePattern":"Values not found for the selected row\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"modules/backend/assets/foundation/controls/inspector/inspector.editor.objectlist.js","lineNumber":296,"sourceCode":"                }\n            }\n\n            this.applyDataToRow(selectedRow)\n            $.oc.foundation.element.removeClass(selectedRow, 'active')\n        }\n\n        this.disposeInspector()\n\n        $.oc.foundation.element.addClass(row, 'active')\n\n        this.createInspectorForRow(row, inspectorContainer)\n    }\n\n    ObjectListEditor.prototype.createInspectorForRow = function(row, inspectorContainer) {\n        var dataStr = row.getAttribute('data-inspector-values')\n\n        if (dataStr === undefined || typeof dataStr !== 'string') {\n            throw new Error('Values not found for the selected row.')\n        }\n\n        var properties = this.propertyDefinition.itemProperties,\n            values = JSON.parse(dataStr),\n            options = {\n                enableExternalParameterEditor: false,\n                onChange: this.proxy(this.onInspectorDataChange),\n                inspectorClass: this.inspector.options.inspectorClass\n            }\n\n        this.currentRowInspector = new $.oc.inspector.surface(inspectorContainer, properties, values,\n            $.oc.inspector.helpers.generateElementUniqueId(inspectorContainer), options)\n    }\n\n    ObjectListEditor.prototype.disposeInspector = function() {\n        $.oc.foundation.controlUtils.disposeControls(this.popup.querySelector('[data-inspector-container]'))\n        this.currentRowInspector = null\n    }","sourceCodeStart":278,"sourceCodeEnd":314,"githubUrl":"https://github.com/octobercms/october/blob/b608633a7e8922487d91a8161499020121c3b3bf/modules/backend/assets/foundation/controls/inspector/inspector.editor.objectlist.js#L278-L314","documentation":"After the component check passes, onGetInspectorConfiguration looks up the snippet by code via SnippetManager::instance()->findByCodeOrComponent(theme, snippetCode, componentClass). A null result — no snippet registered in the current theme with that code — throws this ApplicationException with the code substituted for :code. Snippets are theme-scoped: the code must match the `code` setting of a snippet partial or a registered component snippet in the active theme.","triggerScenarios":"Posting `snippet: 'old-code'` after the snippet partial's `code` setting was changed or the partial deleted; switching the active theme so previously available snippets vanish; a typo in the snippet code string; a component-based snippet whose plugin is disabled.","commonSituations":"Renaming snippet codes during a content refactor; theme switching in a multi-theme setup; editor sessions holding stale snippet codes across deploys; plugin disablement removing component snippets.","solutions":["Open the snippet partial in the active theme and confirm its `code = \"...\"` setting matches the posted code exactly.","Check the correct theme is active — snippets resolve only within the current theme via SnippetManager.","If the snippet comes from a component, make sure the providing plugin is installed and enabled, then re-save the content that uses it."],"exampleFix":"{# before: partial has code = \"cta-box\" but request sends old code #}\ncomponent: '', snippet: 'cta'  -->  ApplicationException\n\n{# after #}\ncomponent: '', snippet: 'cta-box'","handlingStrategy":"validation","validationCode":"// Server-side: verify the snippet exists before opening its inspector\nuse Cms\\Classes\\SnippetManager;\n$snippet = SnippetManager::instance()->findByCodeOrComponent($theme, $snippetCode, $componentClass);\nif (!$snippet) {\n    // refresh the snippet list instead of requesting configuration\n    return Flash::error('Snippet \"'.$snippetCode.'\" not found in the active theme');\n}","typeGuard":null,"tryCatchPattern":"try {\n    $config = $widget->onGetInspectorConfiguration();\n} catch (ApplicationException $e) {\n    // 'Snippet with the requested code ... was not found in the theme.'\n    // -> reload the snippet palette for the active theme\n}","preventionTips":["Treat snippet codes as stable IDs: never rename a `code` setting without migrating content that uses it.","After switching the active theme, refresh editor sessions — snippets are theme-scoped.","Keep component-snippet plugins enabled or clean up their snippets from theme content."],"tags":["october-cms","snippets","inspector","ajax","theme","not-found"],"backgroundTag":"resource-not-found","analyzedSha":"b608633a7e8922487d91a8161499020121c3b3bf","analyzedAt":"2026-08-21T04:24:57.515Z","schemaVersion":2},"datasetVersion":"2026-08-21T11:28:35.574Z"}