1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-10-10 06:08:34 +02:00
bitwarden-browser/src/app/settings/settingsDomainsController.js

75 lines
2.7 KiB
JavaScript
Raw Normal View History

2017-01-10 04:26:20 +01:00
angular
.module('bit.settings')
.controller('settingsDomainsController', function ($scope, $state, apiService, $uibModalInstance, toastr, $analytics) {
$analytics.eventTrack('settingsDomainsController', { category: 'Modal' });
$scope.globalEquivalentDomains = [];
$scope.equivalentDomains = [];
apiService.accounts.getDomains({}, function (response) {
if (response.EquivalentDomains) {
for (var i = 0; i < response.EquivalentDomains.length; i++) {
$scope.equivalentDomains.push(response.EquivalentDomains[i].join(', '));
}
}
if (response.GlobalEquivalentDomains) {
2017-01-10 23:01:38 +01:00
for (i = 0; i < response.GlobalEquivalentDomains.length; i++) {
$scope.globalEquivalentDomains.push({
domains: response.GlobalEquivalentDomains[i].Domains.join(', '),
excluded: response.GlobalEquivalentDomains[i].Excluded,
key: response.GlobalEquivalentDomains[i].Type
});
2017-01-10 04:26:20 +01:00
}
}
});
$scope.toggleExclude = function (globalDomain) {
globalDomain.excluded = !globalDomain.excluded;
}
$scope.customize = function (globalDomain) {
globalDomain.excluded = true;
2017-01-10 23:01:38 +01:00
$scope.equivalentDomains.push(globalDomain.domains);
2017-01-10 04:26:20 +01:00
}
$scope.delete = function (i) {
$scope.equivalentDomains.splice(i, 1);
}
$scope.submit = function () {
var request = {
ExcludedGlobalEquivalentDomains: [],
EquivalentDomains: []
};
for (var i = 0; i < $scope.globalEquivalentDomains.length; i++) {
if ($scope.globalEquivalentDomains[i].excluded) {
request.ExcludedGlobalEquivalentDomains.push($scope.globalEquivalentDomains[i].key);
}
}
for (i = 0; i < $scope.equivalentDomains.length; i++) {
request.EquivalentDomains.push($scope.equivalentDomains[i].split(' ').join('').split(', '));
}
if (!request.EquivalentDomains.length) {
request.EquivalentDomains = null;
}
if (!request.ExcludedGlobalEquivalentDomains.length) {
request.ExcludedGlobalEquivalentDomains = null;
}
$scope.submitPromise = apiService.accounts.putDomains(request, function (domains) {
$scope.close();
toastr.success('Domains have been updated.', 'Success!');
}).$promise;
};
$scope.close = function () {
$uibModalInstance.dismiss('cancel');
};
});