Commit e26cd210 by utkarshcmu

Converted ctrl to typescript

parent 6e99eed4
......@@ -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',
......
define([
'./snapshot_ctrl',
], function () {});
import './snapshot_ctrl';
<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>
......
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);
}
});
};
});
});
///<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);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment