diff options
Diffstat (limited to 'sdnr/wireless-transport/code-Carbon-SR1/ux/help/help-module/src/main/resources/help/help.tree.ts')
-rw-r--r-- | sdnr/wireless-transport/code-Carbon-SR1/ux/help/help-module/src/main/resources/help/help.tree.ts | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/sdnr/wireless-transport/code-Carbon-SR1/ux/help/help-module/src/main/resources/help/help.tree.ts b/sdnr/wireless-transport/code-Carbon-SR1/ux/help/help-module/src/main/resources/help/help.tree.ts new file mode 100644 index 00000000..3d142804 --- /dev/null +++ b/sdnr/wireless-transport/code-Carbon-SR1/ux/help/help-module/src/main/resources/help/help.tree.ts @@ -0,0 +1,55 @@ +import * as angular from 'angularAMD'; + +export interface Node { + label?: string, + nodes?: Node[], + versions?: { + [version: string]: { + label: string, + date: string, + path: string + } + } +} + +const help = angular.module('app.help'); + +// class HelpTreeController implements ng.IController { +// constructor(private $scope: ng.IScope & { rootNode: Node, data: Node[]}) { +// $scope.$watch("rootNode", (n, o) => { +// $scope.data = Object.keys($scope.rootNode).map(key => $scope.rootNode[key]); +// }); +// } +// } + +// help.controller("treeCtrl", ["$scope", HelpTreeController]); + +const helpTree = function ($compile) { + return { + restrict: "E", + transclude: true, + scope: { rootNode: '=' }, + //controller: 'treeCtrl', + template: + '<ul>' + + '<li ng-transclude></li>' + + '<li ng-repeat="child in rootNode.nodes">' + + '<tree root-node="child"><div ng-transclude></div></tree>' + + '</li>' + + '</ul>', + compile: function (tElement, tAttr, transclude) { + var contents = tElement.contents().remove(); + var compiledContents; + return function (scope, iElement, iAttr) { + if (!compiledContents) { + compiledContents = $compile(contents, transclude); + } + compiledContents(scope, function (clone, scope) { + iElement.append(clone); + }); + }; + } + }; +}; + +help.directive("tree", ["$compile", helpTree]);
\ No newline at end of file |