[ Index ]

PHP Cross Reference of BuddyPress

title

Body

[close]

/src/bp-friends/js/ -> friends.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  })({"pMhP":[function(require,module,exports) {
 121  /**
 122   * WordPress dependencies.
 123   */
 124  const {
 125    i18n: {
 126      __,
 127      sprintf
 128    }
 129  } = wp;
 130  /**
 131   * BuddyPress dependencies.
 132   */
 133  
 134  const {
 135    dynamicWidgetBlock
 136  } = bp;
 137  /**
 138   * Front-end Friends block class.
 139   */
 140  
 141  class bpFriendsWidgetBlock extends dynamicWidgetBlock {
 142    loop(friends = [], container = '', type = 'active') {
 143      const tmpl = super.useTemplate('bp-friends-item');
 144      const selector = document.querySelector('#' + container);
 145      let output = '';
 146  
 147      if (friends && friends.length) {
 148        friends.forEach(friend => {
 149          if ('active' === type && friend.last_activity) {
 150            /* translators: %s: a human time diff. */
 151            friend.extra = sprintf(__('Active %s', 'buddypress'), friend.last_activity.timediff);
 152          } else if ('popular' === type && friend.total_friend_count) {
 153            const friendsCount = parseInt(friend.total_friend_count, 10);
 154  
 155            if (0 === friendsCount) {
 156              friend.extra = __('No friends', 'buddypress');
 157            } else if (1 === friendsCount) {
 158              friend.extra = __('1 friend', 'buddypress');
 159            } else {
 160              /* translators: %s: total friend count (more than 1). */
 161              friend.extra = sprintf(__('%s friends', 'buddypress'), friend.total_friend_count);
 162            }
 163          } else if ('newest' === type && friend.registered_since) {
 164            /* translators: %s is time elapsed since the registration date happened */
 165            friend.extra = sprintf(__('Registered %s', 'buddypress'), friend.registered_since);
 166          }
 167          /* translators: %s: member name */
 168  
 169  
 170          friend.avatar_alt = sprintf(__('Profile picture of %s', 'buddypress'), friend.name);
 171          output += tmpl(friend);
 172        });
 173      } else {
 174        output = '<div class="widget-error">' + __('Sorry, no members were found.', 'buddypress') + '</div>';
 175      }
 176  
 177      selector.innerHTML = output;
 178    }
 179  
 180    start() {
 181      this.blocks.forEach((block, i) => {
 182        const {
 183          selector
 184        } = block;
 185        const {
 186          type
 187        } = block.query_args;
 188        const list = document.querySelector('#' + selector).closest('.bp-dynamic-block-container'); // Get default Block's type friends.
 189  
 190        super.getItems(type, i); // Listen to Block's Nav item clics
 191  
 192        list.querySelectorAll('.item-options a').forEach(navItem => {
 193          navItem.addEventListener('click', event => {
 194            event.preventDefault(); // Changes the displayed filter.
 195  
 196            event.target.closest('.item-options').querySelector('.selected').classList.remove('selected');
 197            event.target.classList.add('selected');
 198            const newType = event.target.getAttribute('data-bp-sort');
 199  
 200            if (newType !== this.blocks[i].query_args.type) {
 201              super.getItems(newType, i);
 202            }
 203          });
 204        });
 205      });
 206    }
 207  
 208  }
 209  
 210  const settings = window.bpFriendsSettings || {};
 211  const blocks = window.bpFriendsBlocks || {};
 212  const bpFriends = new bpFriendsWidgetBlock(settings, blocks);
 213  
 214  if ('loading' === document.readyState) {
 215    document.addEventListener('DOMContentLoaded', bpFriends.start());
 216  } else {
 217    bpFriends.start();
 218  }
 219  },{}]},{},["pMhP"], null)


Generated: Thu Dec 26 01:01:04 2024 Cross-referenced by PHPXref 0.7.1