- edit dialog
- delete dialog
Signed-off-by: Martin Péter Lakatoš <martin.lakatos@pantheon.tech>
.gbpUiWrapper .md-table span {
color: rgba(0,0,0,.87);
}
.gbpUiWrapper .md-table span {
color: rgba(0,0,0,.87);
}
+.gbpUiWrapper .md-table-pagination span {
+ color: rgba(0,0,0,.87);
+ font-weight: normal;
+}
+.gbpUiWrapper button.md-button.md-icon-button.w85 {
+ width: 85px;
+}
/* BUTTONS */
.gbpUiWrapper button.md-primary span {
color: rgb(33,150,243);
}
/* BUTTONS */
.gbpUiWrapper button.md-primary span {
color: rgb(33,150,243);
}
+.gbpUiWrapper button .md-icon {
+ width: 30px;
+}
+
+/* DIALOG */
+.gbpDialogWrapper button.md-primary span {
+ color: rgba(0,0,0,0.87);
+}
+.gbpDialogWrapper button.md-primary[disabled] span {
+ color: rgba(0,0,0,0.26);
+}
+
+/* $mdDialog.confirm */
+md-dialog button span {
+ color: #000;
+}
\ No newline at end of file
angular.module('app.gbp').controller('AddTenantController', AddTenantController);
angular.module('app.gbp').controller('AddTenantController', AddTenantController);
- AddTenantController.$inject = ['$mdDialog', '$scope', 'TenantService'];
+ AddTenantController.$inject = ['$mdDialog', '$scope', 'TenantService', 'tenant'];
- function AddTenantController($mdDialog, $scope, TenantService) {
+ function AddTenantController($mdDialog, $scope, TenantService, tenant) {
- $scope.tenant = TenantService.createObject();
+ $scope.tenant = tenant ? tenant : TenantService.createObject();
/* methods */
$scope.closeDialog = closeDialog;
$scope.save = save;
/* methods */
$scope.closeDialog = closeDialog;
$scope.save = save;
/* Implementations */
function closeDialog(){
$mdDialog.cancel();
/* Implementations */
function closeDialog(){
$mdDialog.cancel();
+ $scope.getTenantList();
}, function(err) {
} );
}
}, function(err) {
} );
}
+<md-dialog ng-cloak class="gbpDialogWrapper">
<form name="tenantForm">
<md-toolbar>
<div class="md-toolbar-tools">
<form name="tenantForm">
<md-toolbar>
<div class="md-toolbar-tools">
<md-input-container flex>
<label>Id</label>
<input name="id" ng-model="tenant.data.id" ng-required="true">
<md-input-container flex>
<label>Id</label>
<input name="id" ng-model="tenant.data.id" ng-required="true">
- <div ng-messages="tenantForm.id.$error" md-auto-hide="false">
+ <div ng-messages="tenantForm.id.$error">
<div ng-message="required">Required field</div>
</div>
</md-input-container>
<md-input-container flex>
<label>Name</label>
<div ng-message="required">Required field</div>
</div>
</md-input-container>
<md-input-container flex>
<label>Name</label>
- <input name="name" ng-model="tenant.data.name" ng-required="true">
- <div ng-messages="tenantForm.name.$error" md-auto-hide="false">
- <div ng-message="required">Required field</div>
+ <input name="name" ng-model="tenant.data.name" ng-pattern="/^[a-zA-Z]([a-zA-Z0-9\\-_.])*$/" ng-required="true">
+ <div ng-messages="tenantForm.name.$error">
+ <div ng-message="required">Required field.</div>
+ <div ng-message="pattern">
+ Invalid pattern.
+ <md-tooltip md-direction="right" style="padding-left: 10px;">Value must match: ^[a-zA-Z]([a-zA-Z0-9\\-_.])*$</md-tooltip>
+ </div>
</div>
</md-input-container>
</div>
</div>
</md-input-container>
</div>
/* methods */
$scope.getTenantList = getTenantList;
$scope.openTenantDialog = openTenantDialog;
/* methods */
$scope.getTenantList = getTenantList;
$scope.openTenantDialog = openTenantDialog;
+ $scope.deleteTenantDialog = deleteTenantDialog;
* fills $scope.tenants array with data from data store
*/
function getTenantList() {
* fills $scope.tenants array with data from data store
*/
function getTenantList() {
+ $scope.tenants = TenantListService.createList();
$scope.tenants.get('config');
}
$scope.tenants.get('config');
}
- function openTenantDialog() {
+ function openTenantDialog(tenantData) {
$mdDialog.show({
clickOutsideToClose: true,
controller: 'AddTenantController',
$mdDialog.show({
clickOutsideToClose: true,
controller: 'AddTenantController',
parent: angular.element(document.body),
scope: $scope,
locals: {
parent: angular.element(document.body),
scope: $scope,
locals: {
- //policy: $scope.selectedObjects.policy
+ function deleteTenantDialog(tenantData) {
+ var confirm = $mdDialog.confirm()
+ .title('Delete tenant')
+ .textContent('Do you want to delete tenant ' + tenantData.data.name + '?')
+ .ok('Delete')
+ .cancel('Cancel');
+
+ $mdDialog.show(confirm).then(function() {
+ tenantData.deleteTenant(
+ function() {
+ $scope.getTenantList();
+ }
+ );
+ }, function() {
+
+ });
+ }
this.setData = setData;
this.get = get;
this.put = put;
this.setData = setData;
this.get = get;
this.put = put;
+ this.deleteTenant = deleteTenant;
+
+ function deleteTenant(successCallback) {
+ var self = this;
+
+ var restObj = Restangular.one('restconf').one('config').one('policy:tenants').one('tenant')
+ .one(self.data.id);
+
+ return restObj.remove().then(function(data) {
+ successCallback(data);
+ }, function(res) {
+
+ });
+ }
<td md-cell>{{tenant.data.name}}</td>
<td md-cell>{{tenant.data.description}}</td>
<td md-cell>
<td md-cell>{{tenant.data.name}}</td>
<td md-cell>{{tenant.data.description}}</td>
<td md-cell>
- <md-button class="md-icon-button" ng-click="edit(tenant)">
+ <md-button class="md-icon-button" ng-click="openTenantDialog(tenant)">
<md-icon>edit</md-icon>
</md-button>
<md-icon>edit</md-icon>
</md-button>
- <md-button class="md-icon-button" ng-click="delete(tenant)">
+ <md-button class="md-icon-button w85" ng-click="deleteTenantDialog(tenant)">
<md-icon>delete</md-icon>
</md-button>
</td>
<md-icon>delete</md-icon>
</md-button>
</td>