Converted ctrl to typescript

This commit is contained in:
utkarshcmu 2016-01-19 21:04:53 -08:00
parent 6e99eed417
commit e26cd21048
6 changed files with 26 additions and 50 deletions

View File

@ -134,7 +134,8 @@ define([
})
.when('/dashboard/snapshots', {
templateUrl: 'app/features/snapshot/partials/snapshots.html',
controller : 'SnapshotsCtrl'
controller : 'SnapshotsCtrl',
controllerAs: 'ctrl',
})
.when('/apps', {
templateUrl: 'app/features/apps/partials/list.html',

View File

@ -1,3 +0,0 @@
define([
'./snapshot_ctrl',
], function () {});

View File

@ -0,0 +1 @@
import './snapshot_ctrl';

View File

@ -1,7 +1,7 @@
<navbar icon="fa fa-fw fa-camera-retro" title="Dashboard snapshots"></navbar>
<div class="page-container">
<div class="page-wide">
<div class="page-wide" ng-init="ctrl.init()">
<h2>Available snapshots</h2>
@ -14,7 +14,7 @@
</thead>
<tr ng-repeat="snapshot in snapshots">
<tr ng-repeat="snapshot in ctrl.snapshots">
<td>
<a href="dashboard/snapshot/{{snapshot.Key}}">{{snapshot.Name}}</a>
</td>
@ -28,7 +28,7 @@
</a>
</td>
<td class="text-right">
<a ng-click="removeSnapshot(snapshot)" class="btn btn-danger btn-mini">
<a ng-click="ctrl.removeSnapshot(snapshot)" class="btn btn-danger btn-mini">
<i class="fa fa-remove"></i>
</a>
</td>

View File

@ -1,43 +0,0 @@
define([
'angular',
'lodash'
],
function (angular, _) {
'use strict';
var module = angular.module('grafana.controllers');
module.controller('SnapshotsCtrl', function($scope, $location, backendSrv) {
backendSrv.get('/api/dashboard/snapshots')
.then(function(result) {
$scope.snapshots = result;
});
$scope.removeSnapshotConfirmed = function(snapshot) {
_.remove($scope.snapshots, {Key: snapshot.Key});
backendSrv.get('/api/snapshots-delete/' + snapshot.DeleteKey)
.then(function() {
$scope.appEvent('alert-success', ['Snapshot deleted', '']);
}, function() {
$scope.appEvent('alert-error', ['Unable to delete snapshot', '']);
$scope.snapshots.push(snapshot);
});
};
$scope.removeSnapshot = function(snapshot) {
$scope.appEvent('confirm-modal', {
title: 'Confirm delete snapshot',
text: 'Are you sure you want to delete snapshot ' + snapshot.Name + '?',
yesText: "Delete",
icon: "fa-warning",
onConfirm: function() {
$scope.removeSnapshotConfirmed(snapshot);
}
});
};
});
});

View File

@ -0,0 +1,20 @@
///<reference path="../../headers/common.d.ts" />
import angular from 'angular';
import _ from 'lodash';
export class SnapshotsCtrl {
snapshots: any[];
/** @ngInject */
constructor(private backendSrv: any) {}
init() {
this.backendSrv.get('/api/dashboard/snapshots').then(snapshots => {
this.snapshots = snapshots;
});
console.log(this.snapshots);
}
}
angular.module('grafana.controllers').controller('SnapshotsCtrl', SnapshotsCtrl);