rc-consent
Version:
Cookie consent a Vanilla JS plugin which meets General Data Protection Regulations (GDPR).
101 lines (100 loc) • 3.64 kB
JavaScript
(function(angular, rcc) {
"use strict";
var module = angular.module("rcConsent", []);
module.provider("rcConsent", [ function rcConsentProvider() {
this.$get = [ function() {
return {
hasConsented: function(category) {
if (!rcc || !angular.isFunction(rcc.hasConsented)) {
return false;
}
return rcc.hasConsented(category);
},
getStatus: function() {
if (!rcc || !angular.isFunction(rcc.getStatus)) {
return {};
}
return rcc.getStatus();
},
setStatus: function(statuses) {
if (!rcc || !angular.isFunction(rcc.setStatus)) {
return false;
}
rcc.setStatus(statuses);
return true;
},
setConsent: function(args) {
if (!rcc || !angular.isFunction(rcc.setConsent)) {
return false;
}
if (angular.isString(args)) {
args = document.querySelector(args);
}
rcc.setConsent(args);
return true;
},
setForm: function(args) {
if (!rcc || !angular.isFunction(rcc.setForm)) {
return false;
}
if (angular.isString(args)) {
args = document.querySelector(args);
}
rcc.setForm(args);
return true;
},
getProviders: function() {
if (!rcc || !angular.isFunction(rcc.getProviders)) {
return [];
}
return rcc.getProviders();
}
};
} ];
this.addProvider = function(options) {
if (!rcc || !angular.isFunction(rcc.addProvider)) {
return false;
}
rcc.addProvider(options);
return true;
};
this.initialise = function(options) {
if (!rcc || !angular.isFunction(rcc.initialise)) {
return false;
}
rcc.initialise(options);
return true;
};
} ]);
module.filter("hasConsented", [ "rcConsent", function(rcConsent) {
return function(category) {
return rcConsent.hasConsented(category);
};
} ]);
module.filter("getConsentStatus", [ "rcConsent", function(rcConsent) {
return function(value) {
return rcConsent.getStatus();
};
} ]);
module.filter("setConsentStatus", [ "rcConsent", function(rcConsent) {
return function(statuses) {
return rcConsent.setStatus(statuses);
};
} ]);
module.filter("setConsent", [ "rcConsent", function(rcConsent) {
return function(args) {
return rcConsent.setConsent(args);
};
} ]);
module.filter("setConsentForm", [ "rcConsent", function(rcConsent) {
return function(args) {
return rcConsent.setForm(args);
};
} ]);
module.filter("getConsentProviders", [ "rcConsent", function(rcConsent) {
return function(value) {
return rcConsent.getProviders();
};
} ]);
})(window.angular, window.rcc);
//# sourceMappingURL=rc-consent-angular.js.map