panelApp.controller('ModelCtrl', function ModelCtrl($scope, appContext) {
$scope.inspect = function () {
appContext.inspect(this.val.id);
};
$scope.edit = function () {
appContext.executeOnScope(this.val.id, function (scope, elt, args) {
scope[args.name] = args.value;
scope.$apply();
}, {
name: this.key,
value: JSON.parse(this.item)
});
$scope.roots = [];
var updateTree = function () {
var roots = appContext.getListOfRoots();
if (!roots) {
return;
}
$scope.tree = appContext.getModelTree($scope.selectedRoot);
$scope.roots.length = roots.length;
roots.forEach(function (item, i) {
$scope.roots[i] = {
label: item,
value: item
if (roots.length === 0) {
$scope.selectedRoot = null;
} else if (!$scope.selectedRoot) {
$scope.selectedRoot = $scope.roots[0].value;
$scope.$apply();
appContext.watchPoll(updateTree);