{"record":{"id":"127652eb895a2321","repo":"octobercms/october","slug":"unable-to-sort-treeview-nodes-userdata-is-not-def","errorCode":null,"errorMessage":"Unable to sort treeview nodes. userData is not defined for node {}","messagePattern":"Unable to sort treeview nodes\\. userData is not defined for node (.+?)","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"modules/backend/vuecomponents/treeview/assets/js/classes/utils.js","lineNumber":375,"sourceCode":"    }\n\n    sortNodes(nodes, sortQuery) {\n        var sortProperties = sortQuery.split(',');\n        const self = this;\n\n        sortProperties.forEach(function(element, index, array) {\n            var property = element.trim(),\n                propertyParts = property.split(':');\n\n            array[index] = {\n                property: propertyParts[0],\n                invertor: propertyParts[1] === 'desc' ? -1 : 1\n            };\n        });\n\n        return nodes.sort(function(node1, node2) {\n            if (node1.userData === undefined) {\n                throw new Error('Unable to sort treeview nodes. userData is not defined for node ' + node1.label);\n            }\n\n            if (node2.userData === undefined) {\n                throw new Error('Unable to sort treeview nodes. userData is not defined for node ' + node2.label);\n            }\n\n            // Always put automatically created folders to the top\n            //\n            if (self.getSystemData(node1, 'treeviewGroupFolder') && !self.getSystemData(node2, 'treeviewGroupFolder')) {\n                return -1;\n            }\n\n            if (!self.getSystemData(node1, 'treeviewGroupFolder') && self.getSystemData(node2, 'treeviewGroupFolder')) {\n                return 1;\n            }\n\n            if (self.getSystemData(node1, 'treeviewGroupFolder') && self.getSystemData(node2, 'treeviewGroupFolder')) {\n                return self.compareStrings(","sourceCodeStart":357,"sourceCodeEnd":393,"githubUrl":"https://github.com/octobercms/october/blob/b608633a7e8922487d91a8161499020121c3b3bf/modules/backend/vuecomponents/treeview/assets/js/classes/utils.js#L357-L393","documentation":"Error \"Unable to sort treeview nodes. userData is not defined for node {}\" thrown in octobercms/october.","triggerScenarios":"Thrown at modules/backend/vuecomponents/treeview/assets/js/classes/utils.js:375 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"}