OpoTests/Public/ecma/Snippets/Cookies.snippet.js

79 lines
1.7 KiB
JavaScript

"use strict";
/**
* @class Cookies
* @constructor
* @returns {void}
* @access public
* @static
*/
export const Cookies = (function(){
/**
* @callback cookies_click_callback
* @returns {void}
*/
/**
* @constructs Cookies
* @returns {void}
* @access private
* @static
*/
const Cookies = function(){};
/**
* @returns {void}
* @access public
* @static
*/
Cookies.reject = () => {
if(!document.querySelector(".fc-dialog-container"))
return;
/**
* @returns {void}
*/
const reject_all = () => {
document.querySelectorAll(".fc-dialog-container [type=checkbox]:checked").forEach(checkbox => {
checkbox.checked = false;
});
};
/**
* @param {?string} selector
* @param {?cookies_click_callback} [callback = null]
* @returns {boolean}
*/
const click = (selector, callback = null) => {
/** @type {boolean} */
let ok = !selector;
if(!ok){
/** @type {HTMLElement} */
const button = document.querySelector(selector);
if(button){
button.click();
ok = true;
};
};
ok && callback && callback();
return ok;
};
reject_all();
["fc-cta-manage-options", "fc-manage-vendors"].forEach(selector => {
click(".fc-dialog-container ." + selector, reject_all);
});
click(".fc-dialog-container button.fc-confirm-choices");
};
return Cookies;
})();