mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
53 lines
1.2 KiB
JavaScript
53 lines
1.2 KiB
JavaScript
'use strict';
|
|
|
|
angular.module('etcd.page')
|
|
.controller('CreateNodeCtrl', function($scope, $rootScope, $modalInstance, _,
|
|
ETCD_EVENT, etcdApiSvc, pathSvc, key) {
|
|
|
|
$scope.key = key;
|
|
if (key === '/') {
|
|
$scope.keyInputPrefix = '/';
|
|
} else {
|
|
$scope.keyInputPrefix = pathSvc.truncate(key, 20) + '/';
|
|
}
|
|
|
|
$scope.save = function(node) {
|
|
$scope.requestPromise = etcdApiSvc.create(node)
|
|
.then(function() {
|
|
$rootScope.$broadcast(ETCD_EVENT.NODE_CHANGED, node);
|
|
$modalInstance.close(node);
|
|
});
|
|
};
|
|
|
|
$scope.cancel = function() {
|
|
$modalInstance.dismiss('cancel');
|
|
};
|
|
|
|
});
|
|
|
|
|
|
/**
|
|
* Controller for the form. Must be different than the modal controller.
|
|
*/
|
|
angular.module('etcd.page').controller('CreateNodeFormCtrl', function($scope, pathSvc) {
|
|
|
|
$scope.fields = {
|
|
key: '',
|
|
value: '',
|
|
type: 'key',
|
|
ttl: null
|
|
};
|
|
|
|
$scope.submit = function() {
|
|
var newNode = {};
|
|
newNode.key = pathSvc.clean($scope.key + '/' + $scope.fields.key);
|
|
newNode.dir = $scope.fields.type === 'dir';
|
|
newNode.ttl = $scope.fields.ttl ? parseInt($scope.fields.ttl, 10) : null;
|
|
if (!newNode.dir) {
|
|
newNode.value = $scope.fields.value;
|
|
}
|
|
$scope.save(newNode);
|
|
};
|
|
|
|
});
|