grafana/public/app/features/folders/CreateFolderCtrl.ts

42 lines
1.0 KiB
TypeScript
Raw Normal View History

2017-12-20 05:33:33 -06:00
import appEvents from 'app/core/app_events';
2018-02-07 08:32:30 -06:00
import locationUtil from 'app/core/utils/location_util';
2019-01-23 13:21:07 -06:00
export default class CreateFolderCtrl {
2017-12-20 05:33:33 -06:00
title = '';
navModel: any;
titleTouched = false;
hasValidationError: boolean;
validationError: any;
/** @ngInject */
constructor(private backendSrv, private $location, private validationSrv, navModelSrv) {
this.navModel = navModelSrv.getNav('dashboards', 'manage-dashboards', 0);
}
create() {
if (this.hasValidationError) {
return;
}
return this.backendSrv.createFolder({ title: this.title }).then(result => {
appEvents.emit('alert-success', ['Folder Created', 'OK']);
this.$location.url(locationUtil.stripBaseFromUrl(result.url));
});
}
titleChanged() {
this.titleTouched = true;
2017-12-20 05:33:33 -06:00
this.validationSrv
.validateNewFolderName(this.title)
.then(() => {
this.hasValidationError = false;
})
.catch(err => {
this.hasValidationError = true;
this.validationError = err.message;
});
}
}
2019-01-23 13:21:07 -06:00