Appearance
API Reference
INFO
? means that the parameter/property is optional.
run
Configures the plugin with the provided config. object.
Type
function(config: object): Promise<void>Details
The
configargument is required and must contain — at least — thecategoriesandlanguageproperties.Example
cc.run({ categories: { // categories here }, language: { default: 'en', translations: { en: { // modal translations here } } } });
show
Shows the consent modal.
Type
function(createModal?: boolean): voidDetails
If consent was previously expressed, the consent modal will not be generated; you'll have to pass the argument
trueto generate it on the fly.Example
cc.show(); // show modal (if it doesn't exist, create it) cc.show(true);
hide
Hides the consent modal.
Type
function(): voidExample
cc.hide();
showPreferences
Shows the preferences modal.
Type
function(): voidExample
cc.showPreferences();
hidePreferences
Hides the preferences modal.
Type
function(): voidExample
cc.hidePreferences();
acceptCategory
Accepts or rejects categories.
Type
function( categoriesToAccept?: string | string[], exclusions?: string[] ): voidDetails
The first argument accepts either a
stringor anarrayof strings. Special values:'all': accept all[]: empty array, accept none (reject all): empty argument, accept only the categories selected in the preferences modal
Examples
cc.acceptCategory('all'); // accept all categories cc.acceptCategory([]); // reject all (accept only categories marked as readOnly/necessary) cc.acceptCategory(); // accept currently selected categories inside the preferences modal cc.acceptCategory('analytics'); // accept only the "analytics" category cc.acceptCategory(['cat_1', 'cat_2']); // accept only these 2 categories cc.acceptCategory('all', ['analytics']); // accept all categories except the "analytics" category cc.acceptCategory('all', ['cat_1', 'cat_2']); // accept all categories except these 2
acceptedCategory
Returns true if the specified category was accepted, otherwise false.
Type
function(categoryName: string): booleanExamples
if(cc.acceptedCategory('analytics')){ // great } if(!cc.acceptedCategory('ads')){ // not so great }
acceptService
Accepts or rejects services.
Type
function( services: string | string[], category: string ): voidDetails
Special values for the
servicesargument:'all': accept all services[]: empty array, accept none (reject all)
Examples
cc.acceptService('all', 'analytics'); // accept all services (in the 'analytics' category) cc.acceptService([], 'analytics'); // reject all services cc.acceptService('service1', 'analytics'); // accept only this specific service (reject all the others) cc.acceptService(['service1', 'service2'], 'analytics'); // accept only these 2 services (reject all the others)
acceptedService
Returns true if the service inside the category is accepted, otherwise false.
Type
function( serviceName: string, categoryName: string ): booleanExamples
if(cc.acceptedService('Google Analytics', 'analytics')){ // great }else{ // not so great }
validConsent
Returns true if consent is valid.
Type
function(): booleanDetails
Consent is not valid when at least one of following situations occurs:
- consent is missing (e.g. user has not yet made a choice)
- revision numbers don't match
- the plugin's cookie does not exist/has expired
- the plugin's cookie is structurally not valid (e.g. empty)
Example
if(cc.validConsent()){ // consent is valid }else{ // consent is not valid }
validCookie
Returns true if the specified cookie is valid (it exists and its content is not empty).
Type
function(cookieName: string): booleanDetails
This method cannot detect if the cookie has expired as such information cannot be retrieved with javascript.
Example
Check if the
'gid'cookie is set.if(cc.validCookie('_gid')){ // _gid cookie is valid! }else{ // _gid cookie is not set ... }
eraseCookies
Removes one or multiple cookies.
Type
function( cookies: string | RegExp | (string | RegExp)[], path?: string, domain?: string ): voidExamples
Delete the plugin's own cookie
cc.eraseCookies('cc_cookie');Delete the
_gidand all cookies starting with_ga:cc.eraseCookies(['_gid', /^_ga/], '/', location.hostname);
loadScript
Loads script files (.js).
Type
function( path: string, attributes?: { name: string, value: string }[] ): Promise<boolean>Examples
// basic way cc.loadScript('path-to-script.js'); // recommended way (catch exceptions) cc.loadScript('path-to-script.js') .catch(() => console.log('Script failed to load!')); // do something when the script is loaded successfully cc.loadScript('path-to-script.js') .then(() => { // script loaded successfully }) .catch(() => console.log('Script failed to load!'));You may also concatenate multiple
.loadScriptmethods:cc.loadScript('path-to-script1.js') .then(() => cc.loadScript('path-to-script2.js')) .then(() => cc.loadScript('path-to-script3.js')) .catch(() => console.log('Loading failed'))Load script with attributes:
cc.loadScript('path-to-script.js', [ {name: 'id', value: 'ga_script'}, {name: 'another-attribute', value: 'value'} ]);
getCookie
Returns the plugin's own cookie, or just one of the fields.
Type
function( field?: string, cookieName?: string, ): any | { categories: string[], revision: number, data: any, consentId: string consentTimestamp: string, lastConsentTimestamp: string, services: {[key: string]: string[]} }Example
// Get only the 'data' field const data = cc.getCookie('data'); // Get all fields const cookieContent = cc.getCookie();
getConfig
Returns the configuration object or one of its fields.
Type
function(field?: string): anyExample
// Get the entire config const config = cc.getConfig(); // Get only the language' prop. const language = cc.getConfig('language');
getUserPreferences
Returns user's preferences, such as accepted/rejected categories and services.
Type
function(): { acceptType: string, acceptedCategories: string[], rejectedCategories: string[], acceptedServices: {[category: string]: string[]} rejectedServices: {[category: string]: string[]} }Details
Possible
acceptTypevalues:'all''custom''necessary'
Example
const preferences = cc.getUserPreferences(); if(preferences.acceptType === 'all'){ console.log("Awesome!"); } if(preferences.acceptedCategories.includes('analytics')){ console.log("The analytics category was accepted!"); }
setLanguage
Changes the modal's language. Returns a Promise<boolean> which evaluates to true if the language was changed successfully.
Type
function( language: string, force?: boolean ): Promise<boolean>Examples
// Simple usage cc.setLanguage('it'); // Get return value const success = await cc.setLanguage('en');Forcefully refresh modals (re-generates the html content):
cc.setLanguage('en', true);
setCookieData
Save custom data into the cookie. Returns true if the data was set successfully.
Type
function({ value: any, mode?: string }): booleanDetails
Valid
modevalues:'update'sets the new value only if its different from the previous value, and both are of the same type.'overwrite'(default): always sets the new value (overwrites any existing value).
INFO
The
setCookieDatamethod does not alter the cookies' current expiration time.Examples
// First set: true cc.setData({ value: {id: 21, lang: 'it'} }); //{id: 21, lang: 'it'} // Change only the 'id' field: true cc.setData({ value: {id: 22}, mode: 'update' }); //{id: 22, lang: 'it'} // Add a new field: true cc.setData({ value: {newField: 'newValue'}, mode: 'update' }); //{id: 22, lang: 'it', newField: 'newValue'} // Change 'id' to a string value: FALSE cc.setData({ value: {id: 'hello'}, mode: 'update' }); //{id: 22, lang: 'it', newField: 'newValue'} // Overwrite: true cc.setData({ value: 'overwriteEverything' }); // 'overwriteEverything'
reset
Reset CookieConsent.
Type:
function(eraseCookie?: boolean): voidDetails:
Resets all internal pointers and config. settings. You need to call again the
.run()method with a valid config. object.You can pass the argument
trueto delete the plugin's cookie. The user will be prompted once again to express their consent.WARNING
Once this method is called, the plugin won't be able to detect already executed
scripttags with adata-categoryattribute.Example:
cc.reset(true);