/// /// /// /// /// module Developer { export var WorkspaceController = controller("WorkspaceController", ["$scope", "KubernetesModel", "KubernetesState", "KubernetesSchema", "$templateCache", "$location", "$routeParams", "$http", "$timeout", "KubernetesApiURL", ($scope, KubernetesModel:Kubernetes.KubernetesModelService, KubernetesState, KubernetesSchema, $templateCache:ng.ITemplateCacheService, $location:ng.ILocationService, $routeParams, $http, $timeout, KubernetesApiURL) => { $scope.kubernetes = KubernetesState; $scope.model = KubernetesModel; $scope.id = $routeParams["namespace"]; $scope.schema = KubernetesSchema; $scope.config = KubernetesSchema.definitions.kubernetes_Namespace; Kubernetes.initShared($scope, $location, $http, $timeout, $routeParams, KubernetesModel, KubernetesState, KubernetesApiURL); $scope.breadcrumbConfig = createWorkspaceBreadcrumbs(); $scope.subTabConfig = Developer.createWorkspaceSubNavBars(); $scope.$keepPolling = () => Kubernetes.keepPollingModel; $scope.fetch = PollHelpers.setupPolling($scope, (next:() => void) => { $scope.item = null; if ($scope.id) { var url = UrlHelpers.join(Kubernetes.resourcesUriForKind("Projects"), $scope.id); log.info("Loading url: " + url); $http.get(url). success(function (data, status, headers, config) { if (data) { $scope.entity = enrichWorkspace(data); } $scope.model.fetched = true; Core.$apply($scope); next(); }). error(function (data, status, headers, config) { log.warn("Failed to load " + url + " " + data + " " + status); next(); }); } else { $scope.model.fetched = true; Core.$apply($scope); next(); } }); $scope.fetch(); }]); }