2017-01-10 04:26:20 +01:00
|
|
|
|
angular
|
|
|
|
|
.module('bit.settings')
|
|
|
|
|
|
2017-01-11 03:38:53 +01:00
|
|
|
|
.controller('settingsDomainsController', function ($scope, $state, apiService, $uibModalInstance, toastr, $analytics, $uibModal) {
|
2017-01-10 04:26:20 +01:00
|
|
|
|
$analytics.eventTrack('settingsDomainsController', { category: 'Modal' });
|
|
|
|
|
|
|
|
|
|
$scope.globalEquivalentDomains = [];
|
|
|
|
|
$scope.equivalentDomains = [];
|
|
|
|
|
|
2017-01-11 03:38:53 +01:00
|
|
|
|
apiService.settings.getDomains({}, function (response) {
|
2017-01-21 05:39:43 +01:00
|
|
|
|
var i;
|
2017-01-10 04:26:20 +01:00
|
|
|
|
if (response.EquivalentDomains) {
|
2017-01-21 05:39:43 +01:00
|
|
|
|
for (i = 0; i < response.EquivalentDomains.length; i++) {
|
2017-01-10 04:26:20 +01:00
|
|
|
|
$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;
|
2017-01-21 05:39:43 +01:00
|
|
|
|
};
|
2017-01-10 04:26:20 +01:00
|
|
|
|
|
|
|
|
|
$scope.customize = function (globalDomain) {
|
|
|
|
|
globalDomain.excluded = true;
|
2017-01-10 23:01:38 +01:00
|
|
|
|
$scope.equivalentDomains.push(globalDomain.domains);
|
2017-01-21 05:39:43 +01:00
|
|
|
|
};
|
2017-01-10 04:26:20 +01:00
|
|
|
|
|
|
|
|
|
$scope.delete = function (i) {
|
|
|
|
|
$scope.equivalentDomains.splice(i, 1);
|
2017-01-21 05:39:43 +01:00
|
|
|
|
};
|
2017-01-10 04:26:20 +01:00
|
|
|
|
|
2017-01-11 03:38:53 +01:00
|
|
|
|
$scope.addEdit = function (i) {
|
|
|
|
|
var addEditModal = $uibModal.open({
|
|
|
|
|
animation: true,
|
|
|
|
|
templateUrl: 'app/settings/views/settingsAddEditEquivalentDomain.html',
|
|
|
|
|
controller: 'settingsAddEditEquivalentDomainController',
|
|
|
|
|
size: 'sm',
|
|
|
|
|
resolve: {
|
|
|
|
|
domainIndex: function () { return i; },
|
|
|
|
|
domains: function () { return i !== null ? $scope.equivalentDomains[i] : null; }
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
addEditModal.result.then(function (returnObj) {
|
2017-01-11 03:53:03 +01:00
|
|
|
|
if (returnObj.domains) {
|
|
|
|
|
returnObj.domains = returnObj.domains.split(' ').join('').split(',').join(', ');
|
|
|
|
|
}
|
|
|
|
|
|
2017-01-11 03:38:53 +01:00
|
|
|
|
if (returnObj.index !== null) {
|
|
|
|
|
$scope.equivalentDomains[returnObj.index] = returnObj.domains;
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
$scope.equivalentDomains.push(returnObj.domains);
|
|
|
|
|
}
|
|
|
|
|
});
|
2017-01-21 05:39:43 +01:00
|
|
|
|
};
|
2017-01-11 03:38:53 +01:00
|
|
|
|
|
|
|
|
|
$scope.save = function () {
|
2017-01-10 04:26:20 +01:00
|
|
|
|
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++) {
|
2017-01-11 03:38:53 +01:00
|
|
|
|
request.EquivalentDomains.push($scope.equivalentDomains[i].split(' ').join('').split(','));
|
2017-01-10 04:26:20 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!request.EquivalentDomains.length) {
|
|
|
|
|
request.EquivalentDomains = null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!request.ExcludedGlobalEquivalentDomains.length) {
|
|
|
|
|
request.ExcludedGlobalEquivalentDomains = null;
|
|
|
|
|
}
|
|
|
|
|
|
2017-01-11 03:38:53 +01:00
|
|
|
|
$scope.submitPromise = apiService.settings.putDomains(request, function (domains) {
|
2017-01-10 04:26:20 +01:00
|
|
|
|
$scope.close();
|
|
|
|
|
toastr.success('Domains have been updated.', 'Success!');
|
|
|
|
|
}).$promise;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
$scope.close = function () {
|
|
|
|
|
$uibModalInstance.dismiss('cancel');
|
|
|
|
|
};
|
|
|
|
|
});
|