[ Index ]

PHP Cross Reference of BuddyPress

title

Body

[close]

/src/bp-core/admin/js/ -> dismissible-admin-notices.js (source)

   1  // modules are defined as an array
   2  // [ module function, map of requires ]
   3  //
   4  // map of requires is short require name -> numeric require
   5  //
   6  // anything defined in a previous bundle is accessed via the
   7  // orig method which is the require for previous bundles
   8  parcelRequire = (function (modules, cache, entry, globalName) {
   9    // Save the require from previous bundle to this closure if any
  10    var previousRequire = typeof parcelRequire === 'function' && parcelRequire;
  11    var nodeRequire = typeof require === 'function' && require;
  12  
  13    function newRequire(name, jumped) {
  14      if (!cache[name]) {
  15        if (!modules[name]) {
  16          // if we cannot find the module within our internal map or
  17          // cache jump to the current global require ie. the last bundle
  18          // that was added to the page.
  19          var currentRequire = typeof parcelRequire === 'function' && parcelRequire;
  20          if (!jumped && currentRequire) {
  21            return currentRequire(name, true);
  22          }
  23  
  24          // If there are other bundles on this page the require from the
  25          // previous one is saved to 'previousRequire'. Repeat this as
  26          // many times as there are bundles until the module is found or
  27          // we exhaust the require chain.
  28          if (previousRequire) {
  29            return previousRequire(name, true);
  30          }
  31  
  32          // Try the node require function if it exists.
  33          if (nodeRequire && typeof name === 'string') {
  34            return nodeRequire(name);
  35          }
  36  
  37          var err = new Error('Cannot find module \'' + name + '\'');
  38          err.code = 'MODULE_NOT_FOUND';
  39          throw err;
  40        }
  41  
  42        localRequire.resolve = resolve;
  43        localRequire.cache = {};
  44  
  45        var module = cache[name] = new newRequire.Module(name);
  46  
  47        modules[name][0].call(module.exports, localRequire, module, module.exports, this);
  48      }
  49  
  50      return cache[name].exports;
  51  
  52      function localRequire(x){
  53        return newRequire(localRequire.resolve(x));
  54      }
  55  
  56      function resolve(x){
  57        return modules[name][1][x] || x;
  58      }
  59    }
  60  
  61    function Module(moduleName) {
  62      this.id = moduleName;
  63      this.bundle = newRequire;
  64      this.exports = {};
  65    }
  66  
  67    newRequire.isParcelRequire = true;
  68    newRequire.Module = Module;
  69    newRequire.modules = modules;
  70    newRequire.cache = cache;
  71    newRequire.parent = previousRequire;
  72    newRequire.register = function (id, exports) {
  73      modules[id] = [function (require, module) {
  74        module.exports = exports;
  75      }, {}];
  76    };
  77  
  78    var error;
  79    for (var i = 0; i < entry.length; i++) {
  80      try {
  81        newRequire(entry[i]);
  82      } catch (e) {
  83        // Save first error but execute all entries
  84        if (!error) {
  85          error = e;
  86        }
  87      }
  88    }
  89  
  90    if (entry.length) {
  91      // Expose entry point to Node, AMD or browser globals
  92      // Based on https://github.com/ForbesLindesay/umd/blob/master/template.js
  93      var mainExports = newRequire(entry[entry.length - 1]);
  94  
  95      // CommonJS
  96      if (typeof exports === "object" && typeof module !== "undefined") {
  97        module.exports = mainExports;
  98  
  99      // RequireJS
 100      } else if (typeof define === "function" && define.amd) {
 101       define(function () {
 102         return mainExports;
 103       });
 104  
 105      // <script>
 106      } else if (globalName) {
 107        this[globalName] = mainExports;
 108      }
 109    }
 110  
 111    // Override the current require with this new one
 112    parcelRequire = newRequire;
 113  
 114    if (error) {
 115      // throw error from earlier, _after updating parcelRequire_
 116      throw error;
 117    }
 118  
 119    return newRequire;
 120  })({"XBG5":[function(require,module,exports) {
 121  // Use the bp global.
 122  window.bp = window.bp || {};
 123  /**
 124   * Use an XHR request to dismiss admin notices.
 125   *
 126   * @since 10.0.0
 127   */
 128  
 129  bp.DismissibleAdminNotices = class {
 130    constructor(settings) {
 131      this.settings = settings || {};
 132    }
 133  
 134    start() {
 135      const {
 136        url,
 137        nonce
 138      } = this.settings;
 139  
 140      if (!url || !nonce) {
 141        return;
 142      }
 143  
 144      document.querySelectorAll('.bp-is-dismissible').forEach(notice => {
 145        notice.addEventListener('click', event => {
 146          event.preventDefault();
 147          const noticeLink = event.target;
 148  
 149          if (noticeLink.classList.contains('loading')) {
 150            return;
 151          } // Prevent multiple clicks.
 152  
 153  
 154          noticeLink.classList.add('loading'); // Set the notice ID & notice container.
 155  
 156          const {
 157            notice_id
 158          } = noticeLink.dataset;
 159          const noticeContainer = noticeLink.closest('.bp-notice-container'); // Set notice headers.
 160  
 161          const noticeHeaders = new Headers({
 162            'X-BP-Nonce': nonce
 163          }); // Set notice data.
 164  
 165          const noticeData = new FormData();
 166          noticeData.append('action', 'bp_dismiss_notice');
 167          noticeData.append('notice_id', notice_id);
 168          fetch(url, {
 169            method: 'POST',
 170            headers: noticeHeaders,
 171            body: noticeData
 172          }).then(response => {
 173            return response.json();
 174          }).then(data => {
 175            const {
 176              success
 177            } = data;
 178  
 179            if (success) {
 180              noticeContainer.remove();
 181            } else {
 182              noticeLink.classList.remove('loading');
 183            }
 184          });
 185        });
 186      });
 187    }
 188  
 189  };
 190  const settings = window.bpDismissibleAdminNoticesSettings || {};
 191  const bpDismissibleAdminNotices = new bp.DismissibleAdminNotices(settings);
 192  
 193  if ('loading' === document.readyState) {
 194    document.addEventListener('DOMContentLoaded', bpDismissibleAdminNotices.start());
 195  } else {
 196    bpDismissibleAdminNotices.start();
 197  }
 198  },{}]},{},["XBG5"], null)


Generated: Thu Nov 21 01:00:57 2024 Cross-referenced by PHPXref 0.7.1