grafana/public/app/features/admin/AdminListOrgsCtrl.ts
kay delaney 99411bf37a
Types: Adds type safety to appEvents (#19418)
* Types: Add type safety to appEvents
2019-10-14 09:27:47 +01:00

37 lines
1.1 KiB
TypeScript

import { BackendSrv } from 'app/core/services/backend_srv';
import { NavModelSrv } from 'app/core/core';
import { Scope, CoreEvents, AppEventEmitter } from 'app/types';
export default class AdminListOrgsCtrl {
/** @ngInject */
constructor($scope: Scope & AppEventEmitter, backendSrv: BackendSrv, navModelSrv: NavModelSrv) {
$scope.init = () => {
$scope.navModel = navModelSrv.getNav('admin', 'global-orgs', 0);
$scope.getOrgs();
};
$scope.getOrgs = () => {
backendSrv.get('/api/orgs').then((orgs: any) => {
$scope.orgs = orgs;
});
};
$scope.deleteOrg = (org: any) => {
$scope.appEvent(CoreEvents.showConfirmModal, {
title: 'Delete',
text: `Do you want to delete organization ${org.name}?`,
text2: 'All dashboards for this organization will be removed!',
icon: 'fa-trash',
yesText: 'Delete',
onConfirm: () => {
backendSrv.delete('/api/orgs/' + org.id).then(() => {
$scope.getOrgs();
});
},
});
};
$scope.init();
}
}