[ Index ]

PHP Cross Reference of WordPress Trunk (Updated Daily)

Search

title

Body

[close]

/wp-includes/js/dist/ -> views.js (source)

   1  /******/ (() => { // webpackBootstrap
   2  /******/     "use strict";
   3  /******/     var __webpack_modules__ = ({
   4  
   5  /***/ 1233:
   6  /***/ ((module) => {
   7  
   8  module.exports = window["wp"]["preferences"];
   9  
  10  /***/ }),
  11  
  12  /***/ 6087:
  13  /***/ ((module) => {
  14  
  15  module.exports = window["wp"]["element"];
  16  
  17  /***/ }),
  18  
  19  /***/ 7143:
  20  /***/ ((module) => {
  21  
  22  module.exports = window["wp"]["data"];
  23  
  24  /***/ })
  25  
  26  /******/     });
  27  /************************************************************************/
  28  /******/     // The module cache
  29  /******/     var __webpack_module_cache__ = {};
  30  /******/     
  31  /******/     // The require function
  32  /******/ 	function __webpack_require__(moduleId) {
  33  /******/         // Check if module is in cache
  34  /******/         var cachedModule = __webpack_module_cache__[moduleId];
  35  /******/         if (cachedModule !== undefined) {
  36  /******/             return cachedModule.exports;
  37  /******/         }
  38  /******/         // Create a new module (and put it into the cache)
  39  /******/         var module = __webpack_module_cache__[moduleId] = {
  40  /******/             // no module.id needed
  41  /******/             // no module.loaded needed
  42  /******/             exports: {}
  43  /******/         };
  44  /******/     
  45  /******/         // Execute the module function
  46  /******/         __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
  47  /******/     
  48  /******/         // Return the exports of the module
  49  /******/         return module.exports;
  50  /******/     }
  51  /******/     
  52  /************************************************************************/
  53  /******/     /* webpack/runtime/define property getters */
  54  /******/     (() => {
  55  /******/         // define getter functions for harmony exports
  56  /******/         __webpack_require__.d = (exports, definition) => {
  57  /******/             for(var key in definition) {
  58  /******/                 if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
  59  /******/                     Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
  60  /******/                 }
  61  /******/             }
  62  /******/         };
  63  /******/     })();
  64  /******/     
  65  /******/     /* webpack/runtime/hasOwnProperty shorthand */
  66  /******/     (() => {
  67  /******/         __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
  68  /******/     })();
  69  /******/     
  70  /******/     /* webpack/runtime/make namespace object */
  71  /******/     (() => {
  72  /******/         // define __esModule on exports
  73  /******/         __webpack_require__.r = (exports) => {
  74  /******/             if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
  75  /******/                 Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
  76  /******/             }
  77  /******/             Object.defineProperty(exports, '__esModule', { value: true });
  78  /******/         };
  79  /******/     })();
  80  /******/     
  81  /************************************************************************/
  82  var __webpack_exports__ = {};
  83  // ESM COMPAT FLAG
  84  __webpack_require__.r(__webpack_exports__);
  85  
  86  // EXPORTS
  87  __webpack_require__.d(__webpack_exports__, {
  88    loadView: () => (/* reexport */ loadView),
  89    useView: () => (/* reexport */ useView)
  90  });
  91  
  92  ;// ./node_modules/dequal/dist/index.mjs
  93  var has = Object.prototype.hasOwnProperty;
  94  
  95  function find(iter, tar, key) {
  96      for (key of iter.keys()) {
  97          if (dequal(key, tar)) return key;
  98      }
  99  }
 100  
 101  function dequal(foo, bar) {
 102      var ctor, len, tmp;
 103      if (foo === bar) return true;
 104  
 105      if (foo && bar && (ctor=foo.constructor) === bar.constructor) {
 106          if (ctor === Date) return foo.getTime() === bar.getTime();
 107          if (ctor === RegExp) return foo.toString() === bar.toString();
 108  
 109          if (ctor === Array) {
 110              if ((len=foo.length) === bar.length) {
 111                  while (len-- && dequal(foo[len], bar[len]));
 112              }
 113              return len === -1;
 114          }
 115  
 116          if (ctor === Set) {
 117              if (foo.size !== bar.size) {
 118                  return false;
 119              }
 120              for (len of foo) {
 121                  tmp = len;
 122                  if (tmp && typeof tmp === 'object') {
 123                      tmp = find(bar, tmp);
 124                      if (!tmp) return false;
 125                  }
 126                  if (!bar.has(tmp)) return false;
 127              }
 128              return true;
 129          }
 130  
 131          if (ctor === Map) {
 132              if (foo.size !== bar.size) {
 133                  return false;
 134              }
 135              for (len of foo) {
 136                  tmp = len[0];
 137                  if (tmp && typeof tmp === 'object') {
 138                      tmp = find(bar, tmp);
 139                      if (!tmp) return false;
 140                  }
 141                  if (!dequal(len[1], bar.get(tmp))) {
 142                      return false;
 143                  }
 144              }
 145              return true;
 146          }
 147  
 148          if (ctor === ArrayBuffer) {
 149              foo = new Uint8Array(foo);
 150              bar = new Uint8Array(bar);
 151          } else if (ctor === DataView) {
 152              if ((len=foo.byteLength) === bar.byteLength) {
 153                  while (len-- && foo.getInt8(len) === bar.getInt8(len));
 154              }
 155              return len === -1;
 156          }
 157  
 158          if (ArrayBuffer.isView(foo)) {
 159              if ((len=foo.byteLength) === bar.byteLength) {
 160                  while (len-- && foo[len] === bar[len]);
 161              }
 162              return len === -1;
 163          }
 164  
 165          if (!ctor || typeof foo === 'object') {
 166              len = 0;
 167              for (ctor in foo) {
 168                  if (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;
 169                  if (!(ctor in bar) || !dequal(foo[ctor], bar[ctor])) return false;
 170              }
 171              return Object.keys(bar).length === len;
 172          }
 173      }
 174  
 175      return foo !== foo && bar !== bar;
 176  }
 177  
 178  ;// ./node_modules/@wordpress/views/build-module/preference-keys.js
 179  function generatePreferenceKey(kind, name, slug) {
 180    return `dataviews-$kind}-$name}-$slug}`;
 181  }
 182  
 183  
 184  // EXTERNAL MODULE: external ["wp","element"]
 185  var external_wp_element_ = __webpack_require__(6087);
 186  // EXTERNAL MODULE: external ["wp","data"]
 187  var external_wp_data_ = __webpack_require__(7143);
 188  // EXTERNAL MODULE: external ["wp","preferences"]
 189  var external_wp_preferences_ = __webpack_require__(1233);
 190  ;// ./node_modules/@wordpress/views/build-module/use-view.js
 191  
 192  
 193  
 194  
 195  
 196  function omit(obj, keys) {
 197    const result = { ...obj };
 198    for (const key of keys) {
 199      delete result[key];
 200    }
 201    return result;
 202  }
 203  function useView(config) {
 204    const { kind, name, slug, defaultView, queryParams, onChangeQueryParams } = config;
 205    const preferenceKey = generatePreferenceKey(kind, name, slug);
 206    const persistedView = (0,external_wp_data_.useSelect)(
 207      (select) => {
 208        return select(external_wp_preferences_.store).get(
 209          "core/views",
 210          preferenceKey
 211        );
 212      },
 213      [preferenceKey]
 214    );
 215    const { set } = (0,external_wp_data_.useDispatch)(external_wp_preferences_.store);
 216    const baseView = persistedView ?? defaultView;
 217    const page = queryParams?.page ?? baseView.page ?? 1;
 218    const search = queryParams?.search ?? baseView.search ?? "";
 219    const view = (0,external_wp_element_.useMemo)(() => {
 220      return {
 221        ...baseView,
 222        page,
 223        search
 224      };
 225    }, [baseView, page, search]);
 226    const isModified = !!persistedView;
 227    const updateView = (0,external_wp_element_.useCallback)(
 228      (newView) => {
 229        const urlParams = {
 230          page: newView?.page,
 231          search: newView?.search
 232        };
 233        const preferenceView = omit(newView, ["page", "search"]);
 234        if (onChangeQueryParams && !dequal(urlParams, { page, search })) {
 235          onChangeQueryParams(urlParams);
 236        }
 237        if (!dequal(baseView, preferenceView)) {
 238          if (dequal(preferenceView, defaultView)) {
 239            set("core/views", preferenceKey, void 0);
 240          } else {
 241            set("core/views", preferenceKey, preferenceView);
 242          }
 243        }
 244      },
 245      [
 246        onChangeQueryParams,
 247        page,
 248        search,
 249        baseView,
 250        defaultView,
 251        set,
 252        preferenceKey
 253      ]
 254    );
 255    const resetToDefault = (0,external_wp_element_.useCallback)(() => {
 256      set("core/views", preferenceKey, void 0);
 257    }, [preferenceKey, set]);
 258    return {
 259      view,
 260      isModified,
 261      updateView,
 262      resetToDefault
 263    };
 264  }
 265  
 266  
 267  ;// ./node_modules/@wordpress/views/build-module/load-view.js
 268  
 269  
 270  
 271  async function loadView(config) {
 272    const { kind, name, slug, defaultView, queryParams } = config;
 273    const preferenceKey = generatePreferenceKey(kind, name, slug);
 274    const persistedView = (0,external_wp_data_.select)(external_wp_preferences_.store).get(
 275      "core/views",
 276      preferenceKey
 277    );
 278    const baseView = persistedView ?? defaultView;
 279    const page = queryParams?.page ?? 1;
 280    const search = queryParams?.search ?? "";
 281    return {
 282      ...baseView,
 283      page,
 284      search
 285    };
 286  }
 287  
 288  
 289  ;// ./node_modules/@wordpress/views/build-module/index.js
 290  
 291  
 292  
 293  
 294  (window.wp = window.wp || {}).views = __webpack_exports__;
 295  /******/ })()
 296  ;


Generated : Thu Oct 23 08:20:05 2025 Cross-referenced by PHPXref