{"record":{"id":"3be923c1f749ac61","repo":"octobercms/october","slug":"unable-to-sort-treeview-nodes-property-is-not","errorCode":null,"errorMessage":"Unable to sort treeview nodes. Property {} is not defined in userData of {}","messagePattern":"Unable to sort treeview nodes\\. Property (.+?) is not defined in userData of (.+?)","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"modules/backend/vuecomponents/treeview/assets/js/classes/utils.js","lineNumber":407,"sourceCode":"                return 1;\n            }\n\n            if (self.getSystemData(node1, 'treeviewGroupFolder') && self.getSystemData(node2, 'treeviewGroupFolder')) {\n                return self.compareStrings(\n                    node1.systemData.treeviewGroupFolder,\n                    node2.systemData.treeviewGroupFolder,\n                    1\n                );\n            }\n\n            for (var index = 0; index < sortProperties.length; index++) {\n                var propertyParts = sortProperties[index],\n                    node1Prop = node1.userData[propertyParts.property],\n                    node2Prop = node2.userData[propertyParts.property],\n                    cmpResult = 0;\n\n                if (node1Prop === undefined) {\n                    throw new Error(\n                        'Unable to sort treeview nodes. Property ' +\n                            propertyParts.property +\n                            ' is not defined in userData of ' +\n                            node1.label\n                    );\n                }\n\n                if (node2Prop === undefined) {\n                    throw new Error(\n                        'Property ' + propertyParts.property + ' is not defined in userData of ' + node2.label\n                    );\n                }\n\n                if (typeof node1Prop === 'string') {\n                    cmpResult = self.compareStrings(node1Prop, node2Prop, propertyParts.invertor);\n                }\n                else {\n                    cmpResult = self.compareAnything(node1Prop, node2Prop, propertyParts.invertor);","sourceCodeStart":389,"sourceCodeEnd":425,"githubUrl":"https://github.com/octobercms/october/blob/b608633a7e8922487d91a8161499020121c3b3bf/modules/backend/vuecomponents/treeview/assets/js/classes/utils.js#L389-L425","documentation":"Error \"Unable to sort treeview nodes. Property {} is not defined in userData of {}\" thrown in octobercms/october.","triggerScenarios":"Thrown at modules/backend/vuecomponents/treeview/assets/js/classes/utils.js:407 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"}