lib/public/javascripts/angular/controllers.js
controllers.controller('EditConfigController', ['$scope', 'Configs', '$state', '$location', function($scope, Configs, $state, $location) {
$scope.config = Configs.get();
}]);
controllers.controller('UpdateConfigController', ['$state', '$scope', 'Configs', '$location', 'Notification', 'Response', function($state, $scope, Configs, $location, Notification, Response) {
$scope.updateConfig = function() {
config = { host: $scope.config.host, port: $scope.config.port };
$state.transitionTo('processingRequest');
Configs.save(config, function(response) {
if (Response.valid(response)){ // Checks if response is valid
Notification.success('Yay! Memcached config updated with success.');
// Refreshing list
$state.transitionTo('showKeys');
// Redirecting to / so the list gets refreshed.
$location.path('/');
} else {
Notification.error(Response.errors(response));
}
});
}
}]);
controllers.controller('ListKeysController', ['$scope', 'Keys', '$state', '$location', 'QueryParamsSingleton', function($scope, Keys, $state, $location, QueryParamsSingleton) {
$scope.keys = Keys.get();
$scope.query = QueryParamsSingleton.getQuery();
$scope.showKeys = function() {
$state.transitionTo('showKeys');
};
$scope.filterByQuery = function() {
QueryParamsSingleton.setQuery($scope.query);
$scope.keys = Keys.get({query: $scope.query});
}
}]);
controllers.controller('CreateKeyController', ['$scope', 'Keys', '$state', '$location', 'Notification', 'Response', function($scope, Keys, $state, $location, Notification, Response) {
$scope.createKey = function() {
pair = { key: $scope.pair.key, value: $scope.pair.value };
$state.transitionTo('processingRequest');
Keys.save(pair, function(response) {
if (Response.valid(response)) { // Checks if response is valid
Notification.success('Yay! Key created with success.');
// Refreshing list
$state.transitionTo('showKey', pair);
// Redirecting to / so the list gets refreshed.
$location.path('/');
} else {
Notification.error(Response.errors(response));
}
});
}
}]);
controllers.controller('DeleteKeyController', ['$state', '$scope', 'Key', '$location', 'Notification', 'Response', function($state, $scope, Key, $location, Notification, Response){
$scope.removeKey = function(pair) {
$state.transitionTo('processingRequest');
Key.delete({key: pair.key}, function(response) {
if (Response.valid(response)){ // Checks if response is valid
Notification.info('Yay! Key deleted with success.');
// Refreshing list
$state.transitionTo('showKeys');
// Redirecting to / so the list gets refreshed.
$location.path('/');
} else {
Notification.error(Response.errors(response));
}
});
}
}]);
controllers.controller('UpdateKeyController', ['$state', '$scope', 'Key', 'Keys', '$location', 'Notification', 'Response', function($state, $scope, Key, Keys, $location, Notification, Response) {
$scope.updateKey = function() {
pair = { key: $scope.pair.key, value: $scope.pair.value };
$state.transitionTo('processingRequest');
Keys.update(pair, function(response) {
if (Response.valid(response)){ // Checks if response is valid
Notification.success('Yay! Key updated with success.');
// Refreshing list
$state.transitionTo('showKey', pair);
// Redirecting to / so the list gets refreshed.
$location.path('/');
} else {
Notification.error(Response.errors(response));
}
});
}
}]);
controllers.controller('EditKeyController', ['$state', '$scope', 'Key', '$location', '$stateParams', function($state, $scope, Key, $location, $stateParams) {
// Set up the current form text 'key' as key
$scope.pair = Key.find({key: $stateParams.key});
}]);
controllers.controller('StatsController', ['$state', '$scope', 'Stats', '$location', '$stateParams', 'Connection', function($state, $scope, Stats, $location, $stateParams, Connection) {
// Set up the current form text 'key' as key
$scope.stats = Stats.all();
$scope.connection = Connection.get();
}]);
controllers.controller('ShowKeyController', ['$state', '$scope', 'Key', '$location', '$stateParams', function($state, $scope, Key, $location, $stateParams) {
// Set up the current form text 'key' as key
$scope.pair = Key.find({key: $stateParams.key});
}]);
controllers.controller('BootstrapController', ['$state', 'Connection', 'Notification', function($state, Connection, Notification) {
setInterval(function() {
Connection.get(function(response){
if (!response.connected) {
Notification.fatal('Memcached is out of reach. Please update settings with a valid memcached host and port.');
$state.transitionTo('editConfig');
};
});
}, 1000);
$state.transitionTo('showKeys');
}]);