|
|
|
angular.module('panelApp').controller('ModelCtrl', function ModelCtrl($scope, appContext, appModel) {
|
|
|
|
|
|
|
|
$scope.inspect = function () {
|
|
|
|
appContext.inspect(this.val.id);
|
|
|
|
};
|
|
|
|
$scope.select = function () {
|
|
|
|
$scope.selectedScope = this.val.id;
|
|
|
|
};
|
|
|
|
|
|
|
|
// TODO: fix this
|
|
|
|
$scope.edit = function () {
|
|
|
|
appContext.executeOnScope(this.val.id, function (scope, elt, args) {
|
|
|
|
scope.$apply(function () {
|
|
|
|
scope[args.name] = args.value;
|
|
|
|
});
|
|
|
|
}, {
|
|
|
|
name: this.key,
|
|
|
|
value: JSON.parse(this.item)
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
|
|
|
$scope.roots = [];
|
|
|
|
$scope.model = null;
|
|
|
|
|
|
|
|
$scope.selectedRoot = null;
|
|
|
|
$scope.selectedScope = null;
|
|
|
|
|
|
|
|
$scope.enableInspector = appModel.enableInspector;
|
|
|
|
|
|
|
|
|
|
|
|
$scope.$on('poll', function () {
|
|
|
|
|
|
|
|
// get the list of root scopes
|
|
|
|
appModel.getRootScopes(function (rootScopes) {
|
|
|
|
$scope.$apply(function () {
|
|
|
|
$scope.roots = rootScopes;
|
|
|
|
if ($scope.roots.length === 0) {
|
|
|
|
$scope.selectedRoot = null;
|
|
|
|
} else if (!$scope.selectedRoot) {
|
|
|
|
$scope.selectedRoot = $scope.roots[0];
|
|
|
|
}
|
|
|
|
if ($scope.selectedRoot && !$scope.selectedScope) {
|
|
|
|
$scope.selectedScope = $scope.selectedRoot;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
// get scope tree
|
|
|
|
if ($scope.selectedRoot) {
|
|
|
|
appModel.getScopeTree($scope.selectedRoot, function (tree) {
|
|
|
|
$scope.$apply(function () {
|
|
|
|
$scope.tree = tree;
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
// get models on the selected scope
|
|
|
|
if ($scope.selectedScope) {
|
|
|
|
appModel.getModel($scope.selectedScope, function (model) {
|
|
|
|
$scope.$apply(function () {
|
|
|
|
$scope.model = model;
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
});
|