diff --git a/Packages/ohif-core/client/components/base/mixins/selectTree.js b/Packages/ohif-core/client/components/base/mixins/selectTree.js index 55011d574..9384c14c1 100644 --- a/Packages/ohif-core/client/components/base/mixins/selectTree.js +++ b/Packages/ohif-core/client/components/base/mixins/selectTree.js @@ -42,6 +42,23 @@ OHIF.mixins.selectTree = new OHIF.Mixin({ // Change the current node instance.data.currentNode.set(node); }; + + // Return plain data for all the leaves inside current node + component.getLeaves = () => { + const recursiveSeek = (items, result=[]) => { + _.each(items, item => { + if (item.items) { + recursiveSeek(item.items, result); + } else { + result.push(item); + } + }); + return result; + }; + + return recursiveSeek(instance.data.items); + }; + } } }); diff --git a/Packages/ohif-core/client/components/bootstrap/index.js b/Packages/ohif-core/client/components/bootstrap/index.js index 48677b019..6bc4a245e 100644 --- a/Packages/ohif-core/client/components/bootstrap/index.js +++ b/Packages/ohif-core/client/components/bootstrap/index.js @@ -7,3 +7,5 @@ import './input/select.html'; import './input/text.html'; import './input/selectTree.html'; import './input/selectTree.js'; +import './input/selectTreeCommon.html'; +import './input/selectTreeCommon.js'; diff --git a/Packages/ohif-core/client/components/bootstrap/input/selectTree.html b/Packages/ohif-core/client/components/bootstrap/input/selectTree.html index d04514164..2789a7c02 100644 --- a/Packages/ohif-core/client/components/bootstrap/input/selectTree.html +++ b/Packages/ohif-core/client/components/bootstrap/input/selectTree.html @@ -24,6 +24,7 @@