mirror of
https://github.com/WordPress/WordPress.git
synced 2024-11-05 10:22:23 +01:00
8e433f2a57
Updated packages: - @wordpress/annotations@1.20.3 - @wordpress/block-directory@1.13.3 - @wordpress/block-editor@4.3.3 - @wordpress/block-library@2.22.3 - @wordpress/blocks@6.20.3 - @wordpress/components@10.0.3 - @wordpress/compose@3.19.3 - @wordpress/core-data@2.20.3 - @wordpress/data-controls@1.16.3 - @wordpress/data@4.22.3 - @wordpress/e2e-test-utils@4.11.1 - @wordpress/e2e-tests@1.20.3 - @wordpress/edit-post@3.21.3 - @wordpress/edit-site@1.11.3 - @wordpress/editor@9.20.3 - @wordpress/format-library@1.22.3 - @wordpress/interface@0.7.3 - @wordpress/keyboard-shortcuts@1.9.3 - @wordpress/list-reusable-blocks@1.21.3 - @wordpress/notices@2.8.3 - @wordpress/nux@3.20.3 - @wordpress/plugins@2.20.3 - @wordpress/rich-text@3.20.3 - @wordpress/server-side-render@1.16.3 - @wordpress/viewport@2.21.3 Fixes #50791. Built from https://develop.svn.wordpress.org/trunk@48644 git-svn-id: http://core.svn.wordpress.org/trunk@48406 1a063a9b-81f0-0310-95a4-ce76da25c4cd
832 lines
24 KiB
JavaScript
832 lines
24 KiB
JavaScript
this["wp"] = this["wp"] || {}; this["wp"]["listReusableBlocks"] =
|
|
/******/ (function(modules) { // webpackBootstrap
|
|
/******/ // The module cache
|
|
/******/ var installedModules = {};
|
|
/******/
|
|
/******/ // The require function
|
|
/******/ function __webpack_require__(moduleId) {
|
|
/******/
|
|
/******/ // Check if module is in cache
|
|
/******/ if(installedModules[moduleId]) {
|
|
/******/ return installedModules[moduleId].exports;
|
|
/******/ }
|
|
/******/ // Create a new module (and put it into the cache)
|
|
/******/ var module = installedModules[moduleId] = {
|
|
/******/ i: moduleId,
|
|
/******/ l: false,
|
|
/******/ exports: {}
|
|
/******/ };
|
|
/******/
|
|
/******/ // Execute the module function
|
|
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
|
/******/
|
|
/******/ // Flag the module as loaded
|
|
/******/ module.l = true;
|
|
/******/
|
|
/******/ // Return the exports of the module
|
|
/******/ return module.exports;
|
|
/******/ }
|
|
/******/
|
|
/******/
|
|
/******/ // expose the modules object (__webpack_modules__)
|
|
/******/ __webpack_require__.m = modules;
|
|
/******/
|
|
/******/ // expose the module cache
|
|
/******/ __webpack_require__.c = installedModules;
|
|
/******/
|
|
/******/ // define getter function for harmony exports
|
|
/******/ __webpack_require__.d = function(exports, name, getter) {
|
|
/******/ if(!__webpack_require__.o(exports, name)) {
|
|
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
|
/******/ }
|
|
/******/ };
|
|
/******/
|
|
/******/ // define __esModule on exports
|
|
/******/ __webpack_require__.r = function(exports) {
|
|
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
/******/ }
|
|
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
|
/******/ };
|
|
/******/
|
|
/******/ // create a fake namespace object
|
|
/******/ // mode & 1: value is a module id, require it
|
|
/******/ // mode & 2: merge all properties of value into the ns
|
|
/******/ // mode & 4: return value when already ns object
|
|
/******/ // mode & 8|1: behave like require
|
|
/******/ __webpack_require__.t = function(value, mode) {
|
|
/******/ if(mode & 1) value = __webpack_require__(value);
|
|
/******/ if(mode & 8) return value;
|
|
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
|
/******/ var ns = Object.create(null);
|
|
/******/ __webpack_require__.r(ns);
|
|
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
|
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
|
/******/ return ns;
|
|
/******/ };
|
|
/******/
|
|
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
/******/ __webpack_require__.n = function(module) {
|
|
/******/ var getter = module && module.__esModule ?
|
|
/******/ function getDefault() { return module['default']; } :
|
|
/******/ function getModuleExports() { return module; };
|
|
/******/ __webpack_require__.d(getter, 'a', getter);
|
|
/******/ return getter;
|
|
/******/ };
|
|
/******/
|
|
/******/ // Object.prototype.hasOwnProperty.call
|
|
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
|
/******/
|
|
/******/ // __webpack_public_path__
|
|
/******/ __webpack_require__.p = "";
|
|
/******/
|
|
/******/
|
|
/******/ // Load entry module and return exports
|
|
/******/ return __webpack_require__(__webpack_require__.s = 458);
|
|
/******/ })
|
|
/************************************************************************/
|
|
/******/ ({
|
|
|
|
/***/ 0:
|
|
/***/ (function(module, exports) {
|
|
|
|
(function() { module.exports = this["wp"]["element"]; }());
|
|
|
|
/***/ }),
|
|
|
|
/***/ 1:
|
|
/***/ (function(module, exports) {
|
|
|
|
(function() { module.exports = this["wp"]["i18n"]; }());
|
|
|
|
/***/ }),
|
|
|
|
/***/ 12:
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _assertThisInitialized; });
|
|
function _assertThisInitialized(self) {
|
|
if (self === void 0) {
|
|
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
}
|
|
|
|
return self;
|
|
}
|
|
|
|
/***/ }),
|
|
|
|
/***/ 16:
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _getPrototypeOf; });
|
|
function _getPrototypeOf(o) {
|
|
_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
|
|
return o.__proto__ || Object.getPrototypeOf(o);
|
|
};
|
|
return _getPrototypeOf(o);
|
|
}
|
|
|
|
/***/ }),
|
|
|
|
/***/ 19:
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _createClass; });
|
|
function _defineProperties(target, props) {
|
|
for (var i = 0; i < props.length; i++) {
|
|
var descriptor = props[i];
|
|
descriptor.enumerable = descriptor.enumerable || false;
|
|
descriptor.configurable = true;
|
|
if ("value" in descriptor) descriptor.writable = true;
|
|
Object.defineProperty(target, descriptor.key, descriptor);
|
|
}
|
|
}
|
|
|
|
function _createClass(Constructor, protoProps, staticProps) {
|
|
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
return Constructor;
|
|
}
|
|
|
|
/***/ }),
|
|
|
|
/***/ 2:
|
|
/***/ (function(module, exports) {
|
|
|
|
(function() { module.exports = this["lodash"]; }());
|
|
|
|
/***/ }),
|
|
|
|
/***/ 20:
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _classCallCheck; });
|
|
function _classCallCheck(instance, Constructor) {
|
|
if (!(instance instanceof Constructor)) {
|
|
throw new TypeError("Cannot call a class as a function");
|
|
}
|
|
}
|
|
|
|
/***/ }),
|
|
|
|
/***/ 22:
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
// EXPORTS
|
|
__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ _inherits; });
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js
|
|
function _setPrototypeOf(o, p) {
|
|
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
|
|
o.__proto__ = p;
|
|
return o;
|
|
};
|
|
|
|
return _setPrototypeOf(o, p);
|
|
}
|
|
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js
|
|
|
|
function _inherits(subClass, superClass) {
|
|
if (typeof superClass !== "function" && superClass !== null) {
|
|
throw new TypeError("Super expression must either be null or a function");
|
|
}
|
|
|
|
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
constructor: {
|
|
value: subClass,
|
|
writable: true,
|
|
configurable: true
|
|
}
|
|
});
|
|
if (superClass) _setPrototypeOf(subClass, superClass);
|
|
}
|
|
|
|
/***/ }),
|
|
|
|
/***/ 23:
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _possibleConstructorReturn; });
|
|
/* harmony import */ var _helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(40);
|
|
/* harmony import */ var _assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(12);
|
|
|
|
|
|
function _possibleConstructorReturn(self, call) {
|
|
if (call && (Object(_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(call) === "object" || typeof call === "function")) {
|
|
return call;
|
|
}
|
|
|
|
return Object(_assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(self);
|
|
}
|
|
|
|
/***/ }),
|
|
|
|
/***/ 24:
|
|
/***/ (function(module, exports) {
|
|
|
|
(function() { module.exports = this["regeneratorRuntime"]; }());
|
|
|
|
/***/ }),
|
|
|
|
/***/ 3:
|
|
/***/ (function(module, exports) {
|
|
|
|
(function() { module.exports = this["wp"]["components"]; }());
|
|
|
|
/***/ }),
|
|
|
|
/***/ 40:
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _typeof; });
|
|
function _typeof(obj) {
|
|
"@babel/helpers - typeof";
|
|
|
|
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
|
|
_typeof = function _typeof(obj) {
|
|
return typeof obj;
|
|
};
|
|
} else {
|
|
_typeof = function _typeof(obj) {
|
|
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
|
|
};
|
|
}
|
|
|
|
return _typeof(obj);
|
|
}
|
|
|
|
/***/ }),
|
|
|
|
/***/ 45:
|
|
/***/ (function(module, exports) {
|
|
|
|
(function() { module.exports = this["wp"]["apiFetch"]; }());
|
|
|
|
/***/ }),
|
|
|
|
/***/ 458:
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
// ESM COMPAT FLAG
|
|
__webpack_require__.r(__webpack_exports__);
|
|
|
|
// EXTERNAL MODULE: external {"this":["wp","element"]}
|
|
var external_this_wp_element_ = __webpack_require__(0);
|
|
|
|
// EXTERNAL MODULE: external {"this":["wp","i18n"]}
|
|
var external_this_wp_i18n_ = __webpack_require__(1);
|
|
|
|
// EXTERNAL MODULE: external {"this":"regeneratorRuntime"}
|
|
var external_this_regeneratorRuntime_ = __webpack_require__(24);
|
|
var external_this_regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(external_this_regeneratorRuntime_);
|
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js
|
|
var asyncToGenerator = __webpack_require__(50);
|
|
|
|
// EXTERNAL MODULE: external {"this":"lodash"}
|
|
var external_this_lodash_ = __webpack_require__(2);
|
|
|
|
// EXTERNAL MODULE: external {"this":["wp","apiFetch"]}
|
|
var external_this_wp_apiFetch_ = __webpack_require__(45);
|
|
var external_this_wp_apiFetch_default = /*#__PURE__*/__webpack_require__.n(external_this_wp_apiFetch_);
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/list-reusable-blocks/build-module/utils/file.js
|
|
/**
|
|
* Downloads a file.
|
|
*
|
|
* @param {string} fileName File Name.
|
|
* @param {string} content File Content.
|
|
* @param {string} contentType File mime type.
|
|
*/
|
|
function download(fileName, content, contentType) {
|
|
var file = new window.Blob([content], {
|
|
type: contentType
|
|
}); // IE11 can't use the click to download technique
|
|
// we use a specific IE11 technique instead.
|
|
|
|
if (window.navigator.msSaveOrOpenBlob) {
|
|
window.navigator.msSaveOrOpenBlob(file, fileName);
|
|
} else {
|
|
var a = document.createElement('a');
|
|
a.href = URL.createObjectURL(file);
|
|
a.download = fileName;
|
|
a.style.display = 'none';
|
|
document.body.appendChild(a);
|
|
a.click();
|
|
document.body.removeChild(a);
|
|
}
|
|
}
|
|
/**
|
|
* Reads the textual content of the given file.
|
|
*
|
|
* @param {File} file File.
|
|
* @return {Promise<string>} Content of the file.
|
|
*/
|
|
|
|
function readTextFile(file) {
|
|
var reader = new window.FileReader();
|
|
return new Promise(function (resolve) {
|
|
reader.onload = function () {
|
|
resolve(reader.result);
|
|
};
|
|
|
|
reader.readAsText(file);
|
|
});
|
|
}
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/list-reusable-blocks/build-module/utils/export.js
|
|
|
|
|
|
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
/**
|
|
* Export a reusable block as a JSON file.
|
|
*
|
|
* @param {number} id
|
|
*/
|
|
|
|
function exportReusableBlock(_x) {
|
|
return _exportReusableBlock.apply(this, arguments);
|
|
}
|
|
|
|
function _exportReusableBlock() {
|
|
_exportReusableBlock = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/external_this_regeneratorRuntime_default.a.mark(function _callee(id) {
|
|
var postType, post, title, content, fileContent, fileName;
|
|
return external_this_regeneratorRuntime_default.a.wrap(function _callee$(_context) {
|
|
while (1) {
|
|
switch (_context.prev = _context.next) {
|
|
case 0:
|
|
_context.next = 2;
|
|
return external_this_wp_apiFetch_default()({
|
|
path: "/wp/v2/types/wp_block"
|
|
});
|
|
|
|
case 2:
|
|
postType = _context.sent;
|
|
_context.next = 5;
|
|
return external_this_wp_apiFetch_default()({
|
|
path: "/wp/v2/".concat(postType.rest_base, "/").concat(id, "?context=edit")
|
|
});
|
|
|
|
case 5:
|
|
post = _context.sent;
|
|
title = post.title.raw;
|
|
content = post.content.raw;
|
|
fileContent = JSON.stringify({
|
|
__file: 'wp_block',
|
|
title: title,
|
|
content: content
|
|
}, null, 2);
|
|
fileName = Object(external_this_lodash_["kebabCase"])(title) + '.json';
|
|
download(fileName, fileContent, 'application/json');
|
|
|
|
case 11:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}
|
|
}, _callee);
|
|
}));
|
|
return _exportReusableBlock.apply(this, arguments);
|
|
}
|
|
|
|
/* harmony default export */ var utils_export = (exportReusableBlock);
|
|
|
|
// EXTERNAL MODULE: external {"this":["wp","components"]}
|
|
var external_this_wp_components_ = __webpack_require__(3);
|
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js
|
|
var classCallCheck = __webpack_require__(20);
|
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js
|
|
var createClass = __webpack_require__(19);
|
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js
|
|
var assertThisInitialized = __webpack_require__(12);
|
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js
|
|
var possibleConstructorReturn = __webpack_require__(23);
|
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js
|
|
var getPrototypeOf = __webpack_require__(16);
|
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js + 1 modules
|
|
var inherits = __webpack_require__(22);
|
|
|
|
// EXTERNAL MODULE: external {"this":["wp","compose"]}
|
|
var external_this_wp_compose_ = __webpack_require__(9);
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/list-reusable-blocks/build-module/utils/import.js
|
|
|
|
|
|
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
/**
|
|
* Import a reusable block from a JSON file.
|
|
*
|
|
* @param {File} file File.
|
|
* @return {Promise} Promise returning the imported reusable block.
|
|
*/
|
|
|
|
function importReusableBlock(_x) {
|
|
return _importReusableBlock.apply(this, arguments);
|
|
}
|
|
|
|
function _importReusableBlock() {
|
|
_importReusableBlock = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/external_this_regeneratorRuntime_default.a.mark(function _callee(file) {
|
|
var fileContent, parsedContent, postType, reusableBlock;
|
|
return external_this_regeneratorRuntime_default.a.wrap(function _callee$(_context) {
|
|
while (1) {
|
|
switch (_context.prev = _context.next) {
|
|
case 0:
|
|
_context.next = 2;
|
|
return readTextFile(file);
|
|
|
|
case 2:
|
|
fileContent = _context.sent;
|
|
_context.prev = 3;
|
|
parsedContent = JSON.parse(fileContent);
|
|
_context.next = 10;
|
|
break;
|
|
|
|
case 7:
|
|
_context.prev = 7;
|
|
_context.t0 = _context["catch"](3);
|
|
throw new Error('Invalid JSON file');
|
|
|
|
case 10:
|
|
if (!(parsedContent.__file !== 'wp_block' || !parsedContent.title || !parsedContent.content || !Object(external_this_lodash_["isString"])(parsedContent.title) || !Object(external_this_lodash_["isString"])(parsedContent.content))) {
|
|
_context.next = 12;
|
|
break;
|
|
}
|
|
|
|
throw new Error('Invalid Reusable Block JSON file');
|
|
|
|
case 12:
|
|
_context.next = 14;
|
|
return external_this_wp_apiFetch_default()({
|
|
path: "/wp/v2/types/wp_block"
|
|
});
|
|
|
|
case 14:
|
|
postType = _context.sent;
|
|
_context.next = 17;
|
|
return external_this_wp_apiFetch_default()({
|
|
path: "/wp/v2/".concat(postType.rest_base),
|
|
data: {
|
|
title: parsedContent.title,
|
|
content: parsedContent.content,
|
|
status: 'publish'
|
|
},
|
|
method: 'POST'
|
|
});
|
|
|
|
case 17:
|
|
reusableBlock = _context.sent;
|
|
return _context.abrupt("return", reusableBlock);
|
|
|
|
case 19:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}
|
|
}, _callee, null, [[3, 7]]);
|
|
}));
|
|
return _importReusableBlock.apply(this, arguments);
|
|
}
|
|
|
|
/* harmony default export */ var utils_import = (importReusableBlock);
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/list-reusable-blocks/build-module/components/import-form/index.js
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function _createSuper(Derived) { return function () { var Super = Object(getPrototypeOf["a" /* default */])(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = Object(getPrototypeOf["a" /* default */])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(possibleConstructorReturn["a" /* default */])(this, result); }; }
|
|
|
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
|
|
var import_form_ImportForm = /*#__PURE__*/function (_Component) {
|
|
Object(inherits["a" /* default */])(ImportForm, _Component);
|
|
|
|
var _super = _createSuper(ImportForm);
|
|
|
|
function ImportForm() {
|
|
var _this;
|
|
|
|
Object(classCallCheck["a" /* default */])(this, ImportForm);
|
|
|
|
_this = _super.apply(this, arguments);
|
|
_this.state = {
|
|
isLoading: false,
|
|
error: null,
|
|
file: null
|
|
};
|
|
_this.isStillMounted = true;
|
|
_this.onChangeFile = _this.onChangeFile.bind(Object(assertThisInitialized["a" /* default */])(_this));
|
|
_this.onSubmit = _this.onSubmit.bind(Object(assertThisInitialized["a" /* default */])(_this));
|
|
return _this;
|
|
}
|
|
|
|
Object(createClass["a" /* default */])(ImportForm, [{
|
|
key: "componentWillUnmount",
|
|
value: function componentWillUnmount() {
|
|
this.isStillMounted = false;
|
|
}
|
|
}, {
|
|
key: "onChangeFile",
|
|
value: function onChangeFile(event) {
|
|
this.setState({
|
|
file: event.target.files[0]
|
|
});
|
|
}
|
|
}, {
|
|
key: "onSubmit",
|
|
value: function onSubmit(event) {
|
|
var _this2 = this;
|
|
|
|
event.preventDefault();
|
|
var file = this.state.file;
|
|
var onUpload = this.props.onUpload;
|
|
|
|
if (!file) {
|
|
return;
|
|
}
|
|
|
|
this.setState({
|
|
isLoading: true
|
|
});
|
|
utils_import(file).then(function (reusableBlock) {
|
|
if (!_this2.isStillMounted) {
|
|
return;
|
|
}
|
|
|
|
_this2.setState({
|
|
isLoading: false
|
|
});
|
|
|
|
onUpload(reusableBlock);
|
|
}).catch(function (error) {
|
|
if (!_this2.isStillMounted) {
|
|
return;
|
|
}
|
|
|
|
var uiMessage;
|
|
|
|
switch (error.message) {
|
|
case 'Invalid JSON file':
|
|
uiMessage = Object(external_this_wp_i18n_["__"])('Invalid JSON file');
|
|
break;
|
|
|
|
case 'Invalid Reusable Block JSON file':
|
|
uiMessage = Object(external_this_wp_i18n_["__"])('Invalid Reusable Block JSON file');
|
|
break;
|
|
|
|
default:
|
|
uiMessage = Object(external_this_wp_i18n_["__"])('Unknown error');
|
|
}
|
|
|
|
_this2.setState({
|
|
isLoading: false,
|
|
error: uiMessage
|
|
});
|
|
});
|
|
}
|
|
}, {
|
|
key: "render",
|
|
value: function render() {
|
|
var instanceId = this.props.instanceId;
|
|
var _this$state = this.state,
|
|
file = _this$state.file,
|
|
isLoading = _this$state.isLoading,
|
|
error = _this$state.error;
|
|
var inputId = 'list-reusable-blocks-import-form-' + instanceId;
|
|
return Object(external_this_wp_element_["createElement"])("form", {
|
|
className: "list-reusable-blocks-import-form",
|
|
onSubmit: this.onSubmit
|
|
}, error && Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Notice"], {
|
|
status: "error"
|
|
}, error), Object(external_this_wp_element_["createElement"])("label", {
|
|
htmlFor: inputId,
|
|
className: "list-reusable-blocks-import-form__label"
|
|
}, Object(external_this_wp_i18n_["__"])('File')), Object(external_this_wp_element_["createElement"])("input", {
|
|
id: inputId,
|
|
type: "file",
|
|
onChange: this.onChangeFile
|
|
}), Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
|
|
type: "submit",
|
|
isBusy: isLoading,
|
|
disabled: !file || isLoading,
|
|
isSecondary: true,
|
|
className: "list-reusable-blocks-import-form__button"
|
|
}, Object(external_this_wp_i18n_["_x"])('Import', 'button label')));
|
|
}
|
|
}]);
|
|
|
|
return ImportForm;
|
|
}(external_this_wp_element_["Component"]);
|
|
|
|
/* harmony default export */ var import_form = (Object(external_this_wp_compose_["withInstanceId"])(import_form_ImportForm));
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/list-reusable-blocks/build-module/components/import-dropdown/index.js
|
|
|
|
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
|
|
function ImportDropdown(_ref) {
|
|
var onUpload = _ref.onUpload;
|
|
return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Dropdown"], {
|
|
position: "bottom right",
|
|
contentClassName: "list-reusable-blocks-import-dropdown__content",
|
|
renderToggle: function renderToggle(_ref2) {
|
|
var isOpen = _ref2.isOpen,
|
|
onToggle = _ref2.onToggle;
|
|
return Object(external_this_wp_element_["createElement"])(external_this_wp_components_["Button"], {
|
|
"aria-expanded": isOpen,
|
|
onClick: onToggle,
|
|
isPrimary: true
|
|
}, Object(external_this_wp_i18n_["__"])('Import from JSON'));
|
|
},
|
|
renderContent: function renderContent(_ref3) {
|
|
var onClose = _ref3.onClose;
|
|
return Object(external_this_wp_element_["createElement"])(import_form, {
|
|
onUpload: Object(external_this_lodash_["flow"])(onClose, onUpload)
|
|
});
|
|
}
|
|
});
|
|
}
|
|
|
|
/* harmony default export */ var import_dropdown = (ImportDropdown);
|
|
|
|
// CONCATENATED MODULE: ./node_modules/@wordpress/list-reusable-blocks/build-module/index.js
|
|
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
|
|
// Setup Export Links
|
|
|
|
document.body.addEventListener('click', function (event) {
|
|
if (!event.target.classList.contains('wp-list-reusable-blocks__export')) {
|
|
return;
|
|
}
|
|
|
|
event.preventDefault();
|
|
utils_export(event.target.dataset.id);
|
|
}); // Setup Import Form
|
|
|
|
document.addEventListener('DOMContentLoaded', function () {
|
|
var button = document.querySelector('.page-title-action');
|
|
|
|
if (!button) {
|
|
return;
|
|
}
|
|
|
|
var showNotice = function showNotice() {
|
|
var notice = document.createElement('div');
|
|
notice.className = 'notice notice-success is-dismissible';
|
|
notice.innerHTML = "<p>".concat(Object(external_this_wp_i18n_["__"])('Reusable block imported successfully!'), "</p>");
|
|
var headerEnd = document.querySelector('.wp-header-end');
|
|
|
|
if (!headerEnd) {
|
|
return;
|
|
}
|
|
|
|
headerEnd.parentNode.insertBefore(notice, headerEnd);
|
|
};
|
|
|
|
var container = document.createElement('div');
|
|
container.className = 'list-reusable-blocks__container';
|
|
button.parentNode.insertBefore(container, button);
|
|
Object(external_this_wp_element_["render"])(Object(external_this_wp_element_["createElement"])(import_dropdown, {
|
|
onUpload: showNotice
|
|
}), container);
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ 50:
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _asyncToGenerator; });
|
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
try {
|
|
var info = gen[key](arg);
|
|
var value = info.value;
|
|
} catch (error) {
|
|
reject(error);
|
|
return;
|
|
}
|
|
|
|
if (info.done) {
|
|
resolve(value);
|
|
} else {
|
|
Promise.resolve(value).then(_next, _throw);
|
|
}
|
|
}
|
|
|
|
function _asyncToGenerator(fn) {
|
|
return function () {
|
|
var self = this,
|
|
args = arguments;
|
|
return new Promise(function (resolve, reject) {
|
|
var gen = fn.apply(self, args);
|
|
|
|
function _next(value) {
|
|
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
}
|
|
|
|
function _throw(err) {
|
|
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
}
|
|
|
|
_next(undefined);
|
|
});
|
|
};
|
|
}
|
|
|
|
/***/ }),
|
|
|
|
/***/ 9:
|
|
/***/ (function(module, exports) {
|
|
|
|
(function() { module.exports = this["wp"]["compose"]; }());
|
|
|
|
/***/ })
|
|
|
|
/******/ }); |