RSS Git Download  Clone
Raw Blame History 1kB 40 lines
p3xr.ng.component('p3xrMainTreecontrolControls', {
    template: require('./p3xr-main-treecontrol-controls.html'),
    controller: function($cookies, $rootScope, p3xrCommon, $timeout) {

        this.treeExpandAll = () => {
            try {
                p3xr.ui.overlay.show({
                    message: p3xr.strings.status.treeExpandAll
                })
                let expandedNodes = []
                const recursiveFolders = (node, level = 0) => {
                    if (node.type === 'folder') {
                        expandedNodes.push(node)
                        for(let childNode of node.children) {
                            recursiveFolders(childNode, level++)
                        }
                    }
                }
                for(let node of $rootScope.keysTreeRendered) {
                    recursiveFolders(node)
                }
                $rootScope.expandedNodes = expandedNodes

            } catch(e) {
                p3xrCommon.generalHandleError(e)
            } finally {
                $timeout(() => {
                    p3xr.ui.overlay.hide()
                }, p3xr.settings.debounce)
            }
        }

        this.treeCollapseAll = () => {
            $rootScope.expandedNodes = []
        }
    }
})