Compare commits
11 Commits
6e36cf485e
...
c222292817
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c222292817 | ||
| 9f35cc4df3 | |||
| f7158d8de2 | |||
| ddd9f33142 | |||
| 08ce5886bd | |||
| 2facdc51e7 | |||
| e8b5ece106 | |||
| 5826fe83bd | |||
| 9b3b4b68cf | |||
| 266a303470 | |||
| 23d927e0b7 |
18
blocks/explainer-screen/.editorconfig
Normal file
18
blocks/explainer-screen/.editorconfig
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
# This file is for unifying the coding style for different editors and IDEs
|
||||
# editorconfig.org
|
||||
|
||||
# WordPress Coding Standards
|
||||
# https://make.wordpress.org/core/handbook/coding-standards/
|
||||
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
end_of_line = lf
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
indent_style = tab
|
||||
|
||||
[*.{yml,yaml}]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
30
blocks/explainer-screen/.gitignore
vendored
Normal file
30
blocks/explainer-screen/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# Coverage directory used by tools like istanbul
|
||||
coverage
|
||||
|
||||
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
||||
build/Release
|
||||
|
||||
# Dependency directories
|
||||
node_modules/
|
||||
|
||||
# Optional npm cache directory
|
||||
.npm
|
||||
|
||||
# Optional eslint cache
|
||||
.eslintcache
|
||||
|
||||
# Output of `npm pack`
|
||||
*.tgz
|
||||
|
||||
# Output of `wp-scripts plugin-zip`
|
||||
*.zip
|
||||
|
||||
# dotenv environment variables file
|
||||
.env
|
||||
17
blocks/explainer-screen/build/block.json
Normal file
17
blocks/explainer-screen/build/block.json
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"$schema": "https://schemas.wp.org/trunk/block.json",
|
||||
"apiVersion": 2,
|
||||
"name": "homegrade-content-blocks/explainer-screen",
|
||||
"version": "0.1.0",
|
||||
"title": "Écran Explicatif",
|
||||
"category": "homegrade-blocks",
|
||||
"icon": "smiley",
|
||||
"description": "Un bloc pour expliquer un écran ou une sérier d'écran afin d'accompagner l'utilisateur dans une démarche",
|
||||
"supports": {
|
||||
"html": false
|
||||
},
|
||||
"textdomain": "homegrade-blocks",
|
||||
"editorScript": "file:./index.js",
|
||||
"editorStyle": "file:./index.css",
|
||||
"style": "file:./style-index.css"
|
||||
}
|
||||
1
blocks/explainer-screen/build/index.asset.php
Normal file
1
blocks/explainer-screen/build/index.asset.php
Normal file
|
|
@ -0,0 +1 @@
|
|||
<?php return array('dependencies' => array('react', 'wp-block-editor', 'wp-blocks', 'wp-i18n'), 'version' => '383126b56e7d6fa643a6');
|
||||
13
blocks/explainer-screen/build/index.css
Normal file
13
blocks/explainer-screen/build/index.css
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
||||
!*** css ./node_modules/.pnpm/css-loader@6.10.0_webpack@5.90.3/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.4.35_webpack@5.90.3/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/.pnpm/sass-loader@12.6.0_sass@1.71.1_webpack@5.90.3/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/editor.scss ***!
|
||||
\***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
|
||||
/**
|
||||
* The following styles get applied inside the editor only.
|
||||
*
|
||||
* Replace them with your own styles or remove the file completely.
|
||||
*/
|
||||
.wp-block-create-block-multiblocks {
|
||||
border: 1px dotted #f00;
|
||||
}
|
||||
|
||||
/*# sourceMappingURL=index.css.map*/
|
||||
360
blocks/explainer-screen/build/index.js
Normal file
360
blocks/explainer-screen/build/index.js
Normal file
|
|
@ -0,0 +1,360 @@
|
|||
/******/ (() => { // webpackBootstrap
|
||||
/******/ "use strict";
|
||||
/******/ var __webpack_modules__ = ({
|
||||
|
||||
/***/ "./src/edit.js":
|
||||
/*!*********************!*\
|
||||
!*** ./src/edit.js ***!
|
||||
\*********************/
|
||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||
/* harmony export */ "default": () => (/* binding */ Edit)
|
||||
/* harmony export */ });
|
||||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
||||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
||||
/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
|
||||
/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__);
|
||||
/* harmony import */ var _editor_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./editor.scss */ "./src/editor.scss");
|
||||
/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
|
||||
/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_3__);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function Edit() {
|
||||
return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", {
|
||||
...(0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_3__.useBlockProps)({
|
||||
className: `homegrade-blocks-explainer-screen`
|
||||
})
|
||||
}, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_3__.InnerBlocks, {
|
||||
template: [["core/paragraph", {
|
||||
content: "Étape 1",
|
||||
className: "homegrade-blocks-explainer-screen__step-position"
|
||||
}], ["core/heading", {
|
||||
level: 3,
|
||||
className: "homegrade-blocks-explainer-screen__step-title",
|
||||
content: "Titre de l'étape"
|
||||
}], ["core/paragraph", {
|
||||
content: "Prow scuttle parrel provost Sail ho shrouds spirits boom mizzenmast yardarm. Pinnace holystone mizzenmast quarter crow's nest nipperkin grog yardarm hempen halter furl. Swab barque interloper chantey doubloon starboard grog black jack gangway rutters."
|
||||
}], ["homegrade-content-blocks/focused-schema"]],
|
||||
allowedBlocks: ["core/title", "core/paragraph", "homegrade-content-blocks/focused-schema", "core/button"],
|
||||
renderAppender: () => (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_3__.BlockControls, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("button", {
|
||||
className: "wp-block-button__button is-primary"
|
||||
}, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Add a newwwww block", "multiblocks")))
|
||||
}));
|
||||
}
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/index.js":
|
||||
/*!**********************!*\
|
||||
!*** ./src/index.js ***!
|
||||
\**********************/
|
||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
||||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
||||
/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/blocks */ "@wordpress/blocks");
|
||||
/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_1__);
|
||||
/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./style.scss */ "./src/style.scss");
|
||||
/* harmony import */ var _edit__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./edit */ "./src/edit.js");
|
||||
/* harmony import */ var _save__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./save */ "./src/save.js");
|
||||
/* harmony import */ var _block_json__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./block.json */ "./src/block.json");
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
(0,_wordpress_blocks__WEBPACK_IMPORTED_MODULE_1__.registerBlockType)(_block_json__WEBPACK_IMPORTED_MODULE_5__.name, {
|
||||
icon: {
|
||||
src: (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("svg", {
|
||||
xmlns: "http://www.w3.org/2000/svg",
|
||||
viewBox: "0 0 65.7 55.5"
|
||||
}, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("g", {
|
||||
id: "Calque_1-2"
|
||||
}, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", {
|
||||
d: "M24.1,29h3.3c.3,1.4,1.5,2.4,3,2.4s3.1-1.4,3.1-3.1-1.4-3.1-3.1-3.1-2.7,1-3,2.4h-3.3c-3,0-5.5,2.5-5.5,5.5s2.5,5.5,5.5,5.5h10.6l-1.5,1.5,1,1,3.2-3.2-3.2-3.2-1,1,1.5,1.5h-10.6c-2.3,0-4.1-1.9-4.1-4.2s1.9-4.1,4.1-4.1ZM36.8,21.8c1.4,0,2.7-1,3-2.4h1.5c2.3,0,4.1,1.9,4.1,4.2s-1.9,4.1-4.1,4.1h-4.4l1.5-1.5-1-1-3.2,3.2,3.2,3.2,1-1-1.5-1.5h4.4c3,0,5.5-2.5,5.5-5.5s-2.5-5.5-5.6-5.5h-1.5c-.3-1.4-1.5-2.4-3-2.4s-3.1,1.4-3.1,3.1,1.4,3.1,3.1,3.1ZM1.8,17.1c1,0,1.8-.8,1.8-1.8V5.5c0-1,.8-1.8,1.8-1.8h9.7c1,0,1.8-.8,1.8-1.8s-.8-1.8-1.8-1.8H5.5C2.5,0,0,2.5,0,5.5v9.7c0,1,.8,1.8,1.8,1.8ZM21.3,21.8c1.4,0,2.7-1,3-2.4h5.9l-1.5,1.5,1,1,3.2-3.2-3.2-3.2-1,1,1.5,1.5h-5.8c-.3-1.4-1.5-2.4-3-2.4s-3.1,1.4-3.1,3.1c0,1.7,1.4,3.1,3,3.1ZM41.3,34.9c-1.7,0-3.1,1.4-3.1,3.1s1.4,3.1,3.1,3.1,3.1-1.4,3.1-3.1-1.4-3.1-3.1-3.1ZM63.8,38.4c-1,0-1.8.8-1.8,1.8v9.7c0,1-.8,1.8-1.8,1.8h-9.7c-1,0-1.8.8-1.8,1.8s.8,1.8,1.8,1.8h9.7c3.1,0,5.5-2.5,5.5-5.5v-9.7c0-1-.8-1.8-1.8-1.8ZM60.1,0h-9.7c-1,0-1.8.8-1.8,1.8s.8,1.8,1.8,1.8h9.7c1,0,1.8.8,1.8,1.8v9.7c0,1,.8,1.8,1.8,1.8s1.8-.8,1.8-1.8V5.5c0-3.1-2.5-5.5-5.5-5.5ZM9.3,17.4v20.7c0,4.2,3.4,7.7,7.7,7.7h31.7c4.2,0,7.7-3.4,7.7-7.7v-20.7c0-4.2-3.4-7.7-7.7-7.7h-31.7c-4.2,0-7.7,3.4-7.7,7.7ZM13.3,24s0,0,0,0v-6.5c0-2,1.7-3.7,3.7-3.7h31.7c2,0,3.7,1.7,3.7,3.7v20.7c0,2-1.7,3.7-3.7,3.7h-31.7c-2,0-3.7-1.7-3.7-3.7v-14.1ZM15.3,51.8H5.5c-1,0-1.8-.8-1.8-1.8v-9.7c0-1-.8-1.8-1.8-1.8s-1.8.8-1.8,1.8v9.7c0,3.1,2.5,5.5,5.5,5.5h9.7c1,0,1.8-.8,1.8-1.8s-.8-1.8-1.8-1.8Z"
|
||||
}))),
|
||||
foreground: "#DF1E1E"
|
||||
},
|
||||
edit: _edit__WEBPACK_IMPORTED_MODULE_3__["default"],
|
||||
save: _save__WEBPACK_IMPORTED_MODULE_4__["default"]
|
||||
});
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/save.js":
|
||||
/*!*********************!*\
|
||||
!*** ./src/save.js ***!
|
||||
\*********************/
|
||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||
/* harmony export */ "default": () => (/* binding */ save)
|
||||
/* harmony export */ });
|
||||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
||||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
||||
/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
|
||||
/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__);
|
||||
|
||||
|
||||
|
||||
function save({
|
||||
attributes
|
||||
}) {
|
||||
return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", {
|
||||
..._wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useBlockProps.save({
|
||||
className: `homegrade-blocks-explainer-screen`
|
||||
})
|
||||
}, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.InnerBlocks.Content, null));
|
||||
}
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/editor.scss":
|
||||
/*!*************************!*\
|
||||
!*** ./src/editor.scss ***!
|
||||
\*************************/
|
||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
// extracted by mini-css-extract-plugin
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/style.scss":
|
||||
/*!************************!*\
|
||||
!*** ./src/style.scss ***!
|
||||
\************************/
|
||||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
// extracted by mini-css-extract-plugin
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "react":
|
||||
/*!************************!*\
|
||||
!*** external "React" ***!
|
||||
\************************/
|
||||
/***/ ((module) => {
|
||||
|
||||
module.exports = window["React"];
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "@wordpress/block-editor":
|
||||
/*!*************************************!*\
|
||||
!*** external ["wp","blockEditor"] ***!
|
||||
\*************************************/
|
||||
/***/ ((module) => {
|
||||
|
||||
module.exports = window["wp"]["blockEditor"];
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "@wordpress/blocks":
|
||||
/*!********************************!*\
|
||||
!*** external ["wp","blocks"] ***!
|
||||
\********************************/
|
||||
/***/ ((module) => {
|
||||
|
||||
module.exports = window["wp"]["blocks"];
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "@wordpress/i18n":
|
||||
/*!******************************!*\
|
||||
!*** external ["wp","i18n"] ***!
|
||||
\******************************/
|
||||
/***/ ((module) => {
|
||||
|
||||
module.exports = window["wp"]["i18n"];
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "./src/block.json":
|
||||
/*!************************!*\
|
||||
!*** ./src/block.json ***!
|
||||
\************************/
|
||||
/***/ ((module) => {
|
||||
|
||||
module.exports = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":2,"name":"homegrade-content-blocks/explainer-screen","version":"0.1.0","title":"Écran Explicatif","category":"homegrade-blocks","icon":"smiley","description":"Un bloc pour expliquer un écran ou une sérier d\'écran afin d\'accompagner l\'utilisateur dans une démarche","supports":{"html":false},"textdomain":"homegrade-blocks","editorScript":"file:./index.js","editorStyle":"file:./index.css","style":"file:./style-index.css"}');
|
||||
|
||||
/***/ })
|
||||
|
||||
/******/ });
|
||||
/************************************************************************/
|
||||
/******/ // The module cache
|
||||
/******/ var __webpack_module_cache__ = {};
|
||||
/******/
|
||||
/******/ // The require function
|
||||
/******/ function __webpack_require__(moduleId) {
|
||||
/******/ // Check if module is in cache
|
||||
/******/ var cachedModule = __webpack_module_cache__[moduleId];
|
||||
/******/ if (cachedModule !== undefined) {
|
||||
/******/ return cachedModule.exports;
|
||||
/******/ }
|
||||
/******/ // Create a new module (and put it into the cache)
|
||||
/******/ var module = __webpack_module_cache__[moduleId] = {
|
||||
/******/ // no module.id needed
|
||||
/******/ // no module.loaded needed
|
||||
/******/ exports: {}
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // Execute the module function
|
||||
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
||||
/******/
|
||||
/******/ // Return the exports of the module
|
||||
/******/ return module.exports;
|
||||
/******/ }
|
||||
/******/
|
||||
/******/ // expose the modules object (__webpack_modules__)
|
||||
/******/ __webpack_require__.m = __webpack_modules__;
|
||||
/******/
|
||||
/************************************************************************/
|
||||
/******/ /* webpack/runtime/chunk loaded */
|
||||
/******/ (() => {
|
||||
/******/ var deferred = [];
|
||||
/******/ __webpack_require__.O = (result, chunkIds, fn, priority) => {
|
||||
/******/ if(chunkIds) {
|
||||
/******/ priority = priority || 0;
|
||||
/******/ for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];
|
||||
/******/ deferred[i] = [chunkIds, fn, priority];
|
||||
/******/ return;
|
||||
/******/ }
|
||||
/******/ var notFulfilled = Infinity;
|
||||
/******/ for (var i = 0; i < deferred.length; i++) {
|
||||
/******/ var [chunkIds, fn, priority] = deferred[i];
|
||||
/******/ var fulfilled = true;
|
||||
/******/ for (var j = 0; j < chunkIds.length; j++) {
|
||||
/******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {
|
||||
/******/ chunkIds.splice(j--, 1);
|
||||
/******/ } else {
|
||||
/******/ fulfilled = false;
|
||||
/******/ if(priority < notFulfilled) notFulfilled = priority;
|
||||
/******/ }
|
||||
/******/ }
|
||||
/******/ if(fulfilled) {
|
||||
/******/ deferred.splice(i--, 1)
|
||||
/******/ var r = fn();
|
||||
/******/ if (r !== undefined) result = r;
|
||||
/******/ }
|
||||
/******/ }
|
||||
/******/ return result;
|
||||
/******/ };
|
||||
/******/ })();
|
||||
/******/
|
||||
/******/ /* webpack/runtime/compat get default export */
|
||||
/******/ (() => {
|
||||
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
||||
/******/ __webpack_require__.n = (module) => {
|
||||
/******/ var getter = module && module.__esModule ?
|
||||
/******/ () => (module['default']) :
|
||||
/******/ () => (module);
|
||||
/******/ __webpack_require__.d(getter, { a: getter });
|
||||
/******/ return getter;
|
||||
/******/ };
|
||||
/******/ })();
|
||||
/******/
|
||||
/******/ /* webpack/runtime/define property getters */
|
||||
/******/ (() => {
|
||||
/******/ // define getter functions for harmony exports
|
||||
/******/ __webpack_require__.d = (exports, definition) => {
|
||||
/******/ for(var key in definition) {
|
||||
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
||||
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
||||
/******/ }
|
||||
/******/ }
|
||||
/******/ };
|
||||
/******/ })();
|
||||
/******/
|
||||
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
||||
/******/ (() => {
|
||||
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
||||
/******/ })();
|
||||
/******/
|
||||
/******/ /* webpack/runtime/make namespace object */
|
||||
/******/ (() => {
|
||||
/******/ // define __esModule on exports
|
||||
/******/ __webpack_require__.r = (exports) => {
|
||||
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
||||
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
||||
/******/ }
|
||||
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
||||
/******/ };
|
||||
/******/ })();
|
||||
/******/
|
||||
/******/ /* webpack/runtime/jsonp chunk loading */
|
||||
/******/ (() => {
|
||||
/******/ // no baseURI
|
||||
/******/
|
||||
/******/ // object to store loaded and loading chunks
|
||||
/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
|
||||
/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded
|
||||
/******/ var installedChunks = {
|
||||
/******/ "index": 0,
|
||||
/******/ "./style-index": 0
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // no chunk on demand loading
|
||||
/******/
|
||||
/******/ // no prefetching
|
||||
/******/
|
||||
/******/ // no preloaded
|
||||
/******/
|
||||
/******/ // no HMR
|
||||
/******/
|
||||
/******/ // no HMR manifest
|
||||
/******/
|
||||
/******/ __webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);
|
||||
/******/
|
||||
/******/ // install a JSONP callback for chunk loading
|
||||
/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => {
|
||||
/******/ var [chunkIds, moreModules, runtime] = data;
|
||||
/******/ // add "moreModules" to the modules object,
|
||||
/******/ // then flag all "chunkIds" as loaded and fire callback
|
||||
/******/ var moduleId, chunkId, i = 0;
|
||||
/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) {
|
||||
/******/ for(moduleId in moreModules) {
|
||||
/******/ if(__webpack_require__.o(moreModules, moduleId)) {
|
||||
/******/ __webpack_require__.m[moduleId] = moreModules[moduleId];
|
||||
/******/ }
|
||||
/******/ }
|
||||
/******/ if(runtime) var result = runtime(__webpack_require__);
|
||||
/******/ }
|
||||
/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data);
|
||||
/******/ for(;i < chunkIds.length; i++) {
|
||||
/******/ chunkId = chunkIds[i];
|
||||
/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {
|
||||
/******/ installedChunks[chunkId][0]();
|
||||
/******/ }
|
||||
/******/ installedChunks[chunkId] = 0;
|
||||
/******/ }
|
||||
/******/ return __webpack_require__.O(result);
|
||||
/******/ }
|
||||
/******/
|
||||
/******/ var chunkLoadingGlobal = globalThis["webpackChunkmultiblocks"] = globalThis["webpackChunkmultiblocks"] || [];
|
||||
/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));
|
||||
/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));
|
||||
/******/ })();
|
||||
/******/
|
||||
/************************************************************************/
|
||||
/******/
|
||||
/******/ // startup
|
||||
/******/ // Load entry module and return exports
|
||||
/******/ // This entry module depends on other loaded chunks and execution need to be delayed
|
||||
/******/ var __webpack_exports__ = __webpack_require__.O(undefined, ["./style-index"], () => (__webpack_require__("./src/index.js")))
|
||||
/******/ __webpack_exports__ = __webpack_require__.O(__webpack_exports__);
|
||||
/******/
|
||||
/******/ })()
|
||||
;
|
||||
//# sourceMappingURL=index.js.map
|
||||
1
blocks/explainer-screen/build/index.js.map
Normal file
1
blocks/explainer-screen/build/index.js.map
Normal file
File diff suppressed because one or more lines are too long
16
blocks/explainer-screen/build/style-index.css
Normal file
16
blocks/explainer-screen/build/style-index.css
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
||||
!*** css ./node_modules/.pnpm/css-loader@6.10.0_webpack@5.90.3/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.4.35_webpack@5.90.3/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/.pnpm/sass-loader@12.6.0_sass@1.71.1_webpack@5.90.3/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/style.scss ***!
|
||||
\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
|
||||
/**
|
||||
* The following styles get applied both on the front of your site
|
||||
* and in the editor.
|
||||
*
|
||||
* Replace them with your own styles or remove the file completely.
|
||||
*/
|
||||
.wp-block-create-block-multiblocks {
|
||||
background-color: #21759b;
|
||||
color: #fff;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
/*# sourceMappingURL=style-index.css.map*/
|
||||
20
blocks/explainer-screen/package.json
Normal file
20
blocks/explainer-screen/package.json
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"name": "multiblocks",
|
||||
"version": "0.1.0",
|
||||
"description": "Example block scaffolded with Create Block tool.",
|
||||
"author": "The WordPress Contributors",
|
||||
"license": "GPL-2.0-or-later",
|
||||
"main": "build/index.js",
|
||||
"scripts": {
|
||||
"build": "wp-scripts build",
|
||||
"format": "wp-scripts format",
|
||||
"lint:css": "wp-scripts lint-style",
|
||||
"lint:js": "wp-scripts lint-js",
|
||||
"packages-update": "wp-scripts packages-update",
|
||||
"plugin-zip": "wp-scripts plugin-zip",
|
||||
"start": "wp-scripts start"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@wordpress/scripts": "^26.9.0"
|
||||
}
|
||||
}
|
||||
10956
blocks/explainer-screen/pnpm-lock.yaml
Normal file
10956
blocks/explainer-screen/pnpm-lock.yaml
Normal file
File diff suppressed because it is too large
Load Diff
17
blocks/explainer-screen/src/block.json
Normal file
17
blocks/explainer-screen/src/block.json
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"$schema": "https://schemas.wp.org/trunk/block.json",
|
||||
"apiVersion": 2,
|
||||
"name": "homegrade-content-blocks/explainer-screen",
|
||||
"version": "0.1.0",
|
||||
"title": "Écran Explicatif",
|
||||
"category": "homegrade-blocks",
|
||||
"icon": "smiley",
|
||||
"description": "Un bloc pour expliquer un écran ou une sérier d'écran afin d'accompagner l'utilisateur dans une démarche",
|
||||
"supports": {
|
||||
"html": false
|
||||
},
|
||||
"textdomain": "homegrade-blocks",
|
||||
"editorScript": "file:./index.js",
|
||||
"editorStyle": "file:./index.css",
|
||||
"style": "file:./style-index.css"
|
||||
}
|
||||
62
blocks/explainer-screen/src/edit.js
Normal file
62
blocks/explainer-screen/src/edit.js
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
import { __ } from "@wordpress/i18n";
|
||||
import "./editor.scss";
|
||||
|
||||
import {
|
||||
useBlockProps,
|
||||
RichText,
|
||||
BlockControls,
|
||||
} from "@wordpress/block-editor";
|
||||
|
||||
import { InnerBlocks } from "@wordpress/block-editor";
|
||||
|
||||
export default function Edit() {
|
||||
return (
|
||||
<div
|
||||
{...useBlockProps({
|
||||
className: `homegrade-blocks-explainer-screen`,
|
||||
})}
|
||||
>
|
||||
<InnerBlocks
|
||||
template={[
|
||||
[
|
||||
"core/paragraph",
|
||||
{
|
||||
content: "Étape 1",
|
||||
className: "homegrade-blocks-explainer-screen__step-position",
|
||||
},
|
||||
],
|
||||
|
||||
[
|
||||
"core/heading",
|
||||
{
|
||||
level: 3,
|
||||
className: "homegrade-blocks-explainer-screen__step-title",
|
||||
content: "Titre de l'étape",
|
||||
},
|
||||
],
|
||||
[
|
||||
"core/paragraph",
|
||||
{
|
||||
content:
|
||||
"Prow scuttle parrel provost Sail ho shrouds spirits boom mizzenmast yardarm. Pinnace holystone mizzenmast quarter crow's nest nipperkin grog yardarm hempen halter furl. Swab barque interloper chantey doubloon starboard grog black jack gangway rutters.",
|
||||
},
|
||||
],
|
||||
["homegrade-content-blocks/focused-schema"],
|
||||
]}
|
||||
allowedBlocks={[
|
||||
"core/title",
|
||||
"core/paragraph",
|
||||
"homegrade-content-blocks/focused-schema",
|
||||
"core/button",
|
||||
]}
|
||||
renderAppender={() => (
|
||||
<BlockControls>
|
||||
<button className="wp-block-button__button is-primary">
|
||||
{__("Add a newwwww block", "multiblocks")}
|
||||
</button>
|
||||
</BlockControls>
|
||||
)}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
9
blocks/explainer-screen/src/editor.scss
Normal file
9
blocks/explainer-screen/src/editor.scss
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
/**
|
||||
* The following styles get applied inside the editor only.
|
||||
*
|
||||
* Replace them with your own styles or remove the file completely.
|
||||
*/
|
||||
|
||||
.wp-block-create-block-multiblocks {
|
||||
border: 1px dotted #f00;
|
||||
}
|
||||
21
blocks/explainer-screen/src/index.js
Normal file
21
blocks/explainer-screen/src/index.js
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
import { registerBlockType } from "@wordpress/blocks";
|
||||
import "./style.scss";
|
||||
|
||||
import Edit from "./edit";
|
||||
import save from "./save";
|
||||
import metadata from "./block.json";
|
||||
|
||||
registerBlockType(metadata.name, {
|
||||
icon: {
|
||||
src: (
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 65.7 55.5">
|
||||
<g id="Calque_1-2">
|
||||
<path d="M24.1,29h3.3c.3,1.4,1.5,2.4,3,2.4s3.1-1.4,3.1-3.1-1.4-3.1-3.1-3.1-2.7,1-3,2.4h-3.3c-3,0-5.5,2.5-5.5,5.5s2.5,5.5,5.5,5.5h10.6l-1.5,1.5,1,1,3.2-3.2-3.2-3.2-1,1,1.5,1.5h-10.6c-2.3,0-4.1-1.9-4.1-4.2s1.9-4.1,4.1-4.1ZM36.8,21.8c1.4,0,2.7-1,3-2.4h1.5c2.3,0,4.1,1.9,4.1,4.2s-1.9,4.1-4.1,4.1h-4.4l1.5-1.5-1-1-3.2,3.2,3.2,3.2,1-1-1.5-1.5h4.4c3,0,5.5-2.5,5.5-5.5s-2.5-5.5-5.6-5.5h-1.5c-.3-1.4-1.5-2.4-3-2.4s-3.1,1.4-3.1,3.1,1.4,3.1,3.1,3.1ZM1.8,17.1c1,0,1.8-.8,1.8-1.8V5.5c0-1,.8-1.8,1.8-1.8h9.7c1,0,1.8-.8,1.8-1.8s-.8-1.8-1.8-1.8H5.5C2.5,0,0,2.5,0,5.5v9.7c0,1,.8,1.8,1.8,1.8ZM21.3,21.8c1.4,0,2.7-1,3-2.4h5.9l-1.5,1.5,1,1,3.2-3.2-3.2-3.2-1,1,1.5,1.5h-5.8c-.3-1.4-1.5-2.4-3-2.4s-3.1,1.4-3.1,3.1c0,1.7,1.4,3.1,3,3.1ZM41.3,34.9c-1.7,0-3.1,1.4-3.1,3.1s1.4,3.1,3.1,3.1,3.1-1.4,3.1-3.1-1.4-3.1-3.1-3.1ZM63.8,38.4c-1,0-1.8.8-1.8,1.8v9.7c0,1-.8,1.8-1.8,1.8h-9.7c-1,0-1.8.8-1.8,1.8s.8,1.8,1.8,1.8h9.7c3.1,0,5.5-2.5,5.5-5.5v-9.7c0-1-.8-1.8-1.8-1.8ZM60.1,0h-9.7c-1,0-1.8.8-1.8,1.8s.8,1.8,1.8,1.8h9.7c1,0,1.8.8,1.8,1.8v9.7c0,1,.8,1.8,1.8,1.8s1.8-.8,1.8-1.8V5.5c0-3.1-2.5-5.5-5.5-5.5ZM9.3,17.4v20.7c0,4.2,3.4,7.7,7.7,7.7h31.7c4.2,0,7.7-3.4,7.7-7.7v-20.7c0-4.2-3.4-7.7-7.7-7.7h-31.7c-4.2,0-7.7,3.4-7.7,7.7ZM13.3,24s0,0,0,0v-6.5c0-2,1.7-3.7,3.7-3.7h31.7c2,0,3.7,1.7,3.7,3.7v20.7c0,2-1.7,3.7-3.7,3.7h-31.7c-2,0-3.7-1.7-3.7-3.7v-14.1ZM15.3,51.8H5.5c-1,0-1.8-.8-1.8-1.8v-9.7c0-1-.8-1.8-1.8-1.8s-1.8.8-1.8,1.8v9.7c0,3.1,2.5,5.5,5.5,5.5h9.7c1,0,1.8-.8,1.8-1.8s-.8-1.8-1.8-1.8Z" />
|
||||
</g>
|
||||
</svg>
|
||||
),
|
||||
foreground: "#DF1E1E",
|
||||
},
|
||||
edit: Edit,
|
||||
save,
|
||||
});
|
||||
14
blocks/explainer-screen/src/save.js
Normal file
14
blocks/explainer-screen/src/save.js
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
import { useBlockProps } from "@wordpress/block-editor";
|
||||
import { InnerBlocks } from "@wordpress/block-editor";
|
||||
|
||||
export default function save({ attributes }) {
|
||||
return (
|
||||
<div
|
||||
{...useBlockProps.save({
|
||||
className: `homegrade-blocks-explainer-screen`,
|
||||
})}
|
||||
>
|
||||
<InnerBlocks.Content />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
12
blocks/explainer-screen/src/style.scss
Normal file
12
blocks/explainer-screen/src/style.scss
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
/**
|
||||
* The following styles get applied both on the front of your site
|
||||
* and in the editor.
|
||||
*
|
||||
* Replace them with your own styles or remove the file completely.
|
||||
*/
|
||||
|
||||
.wp-block-create-block-multiblocks {
|
||||
background-color: #21759b;
|
||||
color: #fff;
|
||||
padding: 2px;
|
||||
}
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
"apiVersion": 2,
|
||||
"name": "homegrade-content-blocks/labelled-picture",
|
||||
"version": "0.1.0",
|
||||
"title": "Image + Légende Autocollante",
|
||||
"title": "Image + Légende",
|
||||
"category": "homegrade-blocks",
|
||||
"icon": "smiley",
|
||||
"description": "Bloc image contenant une légende autocollante",
|
||||
|
|
@ -15,9 +15,36 @@
|
|||
"editorStyle": "file:./index.css",
|
||||
"style": "file:./style-index.css",
|
||||
"attributes": {
|
||||
"hasStickyLegend": {
|
||||
"type": "boolean",
|
||||
"default": "true"
|
||||
},
|
||||
"legendLocation": {
|
||||
"type": "string",
|
||||
"default": "after"
|
||||
},
|
||||
"hasLightbox": {
|
||||
"type": "boolean",
|
||||
"default": "false"
|
||||
},
|
||||
"hasRoundedShadow": {
|
||||
"type": "boolean",
|
||||
"default": "false"
|
||||
},
|
||||
"hasFixedHeight": {
|
||||
"type": "boolean",
|
||||
"default": "true"
|
||||
},
|
||||
"showTitle": {
|
||||
"type": "boolean",
|
||||
"default": "true"
|
||||
},
|
||||
"pictureUrl": {
|
||||
"type": "string"
|
||||
},
|
||||
"pictureTitle": {
|
||||
"type": "string"
|
||||
},
|
||||
"pictureAlt": {
|
||||
"type": "string"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
<?php return array('dependencies' => array('wp-block-editor', 'wp-blocks', 'wp-components', 'wp-element', 'wp-i18n', 'wp-primitives'), 'version' => '49e83b88e7e47ccb671c');
|
||||
<?php return array('dependencies' => array('react', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-element', 'wp-i18n', 'wp-primitives'), 'version' => 'bc58aa87b993f5997c0d');
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
/*!****************************************************************************************************************************************************************************************************************************************!*\
|
||||
!*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/editor.scss ***!
|
||||
\****************************************************************************************************************************************************************************************************************************************/
|
||||
/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
||||
!*** css ./node_modules/.pnpm/css-loader@6.10.0_webpack@5.90.3/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.4.35_webpack@5.90.3/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/.pnpm/sass-loader@12.6.0_sass@1.71.1_webpack@5.90.3/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/editor.scss ***!
|
||||
\***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
|
||||
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@ __webpack_require__.r(__webpack_exports__);
|
|||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||
/* harmony export */ "default": () => (/* binding */ Edit)
|
||||
/* harmony export */ });
|
||||
/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element");
|
||||
/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
|
||||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
||||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
||||
/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
|
||||
/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__);
|
||||
/* harmony import */ var _editor_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./editor.scss */ "./src/editor.scss");
|
||||
|
|
@ -36,9 +36,16 @@ function Edit({
|
|||
noticeUI
|
||||
}) {
|
||||
const {
|
||||
hasStickyLegend,
|
||||
hasLightbox,
|
||||
legendLocation,
|
||||
hasFixedHeight,
|
||||
hasRoundedShadow,
|
||||
showTitle,
|
||||
pictureUrl,
|
||||
pictureAlt,
|
||||
pictureId,
|
||||
pictureTitle,
|
||||
pictureCaption
|
||||
} = attributes;
|
||||
function removePictureImg() {
|
||||
|
|
@ -50,10 +57,12 @@ function Edit({
|
|||
});
|
||||
}
|
||||
function updatePictureImg(image) {
|
||||
console.log(image);
|
||||
if (!image || !image.url) {
|
||||
removePictureImg();
|
||||
}
|
||||
setAttributes({
|
||||
pictureTitle: image.title,
|
||||
pictureUrl: image.url,
|
||||
pictureId: image.id,
|
||||
pictureAlt: image.alt,
|
||||
|
|
@ -64,35 +73,108 @@ function Edit({
|
|||
noticeOperations.removeAllNotices();
|
||||
noticeOperations.createErrorNotice(message);
|
||||
}
|
||||
return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_3__.InspectorControls, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.PanelBody, {
|
||||
function handleHasStickyLegend(hasStickyLegend) {
|
||||
setAttributes({
|
||||
hasStickyLegend
|
||||
});
|
||||
}
|
||||
function handleHasFixedHeight(hasFixedHeight) {
|
||||
setAttributes({
|
||||
hasFixedHeight
|
||||
});
|
||||
}
|
||||
function handleShowTitle(showTitle) {
|
||||
setAttributes({
|
||||
showTitle
|
||||
});
|
||||
}
|
||||
function handleHasRoundedShadow(hasRoundedShadow) {
|
||||
setAttributes({
|
||||
hasRoundedShadow
|
||||
});
|
||||
}
|
||||
function handleLegendLocationChange(legendLocation) {
|
||||
setAttributes({
|
||||
legendLocation
|
||||
});
|
||||
}
|
||||
function handleHasLightbox(hasLightbox) {
|
||||
setAttributes({
|
||||
hasLightbox
|
||||
});
|
||||
}
|
||||
const renderCaption = () => (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("figcaption", null, showTitle && pictureTitle && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", {
|
||||
className: "figcaption-title"
|
||||
}, pictureTitle), " ", pictureCaption);
|
||||
return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_3__.InspectorControls, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.PanelBody, {
|
||||
title: "Param\xE8tres",
|
||||
className: "homegrade-blocks-components-image__panel-body "
|
||||
}, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.ToggleControl, {
|
||||
label: "L\xE9gende Autocollante",
|
||||
checked: hasStickyLegend,
|
||||
onChange: handleHasStickyLegend,
|
||||
help: "Coch\xE9, la l\xE9gende sera ajout\xE9 sur un bandeau au dessus de l'image"
|
||||
}), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.ToggleControl, {
|
||||
label: "Hauteur de l'image Fixed",
|
||||
checked: hasFixedHeight,
|
||||
onChange: handleHasFixedHeight,
|
||||
help: "Coch\xE9, la hauteur de l'image est fixe"
|
||||
}), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.ToggleControl, {
|
||||
label: "Afficher le titre",
|
||||
checked: showTitle,
|
||||
onChange: handleShowTitle
|
||||
}), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.ToggleControl, {
|
||||
label: "Rounded & Shadow",
|
||||
checked: hasRoundedShadow,
|
||||
onChange: handleHasRoundedShadow
|
||||
}), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.ToggleControl, {
|
||||
label: "Afficher une lightbox",
|
||||
checked: hasLightbox,
|
||||
onChange: handleHasLightbox
|
||||
}), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.__experimentalToggleGroupControl, {
|
||||
label: "Emplacement de la l\xE9gende",
|
||||
value: "before",
|
||||
onChange: handleLegendLocationChange,
|
||||
isBlock: true,
|
||||
__nextHasNoMarginBottom: true
|
||||
}, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.__experimentalToggleGroupControlOption, {
|
||||
value: "before",
|
||||
label: "Avant l'Image"
|
||||
}), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.__experimentalToggleGroupControlOption, {
|
||||
value: "after",
|
||||
label: "Apr\xE8s l'image"
|
||||
}))), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.PanelBody, {
|
||||
title: "Source de l'image",
|
||||
className: "homegrade-blocks-components-image__panel-body "
|
||||
}, pictureUrl && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("img", {
|
||||
}, pictureUrl && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("img", {
|
||||
src: pictureUrl,
|
||||
alt: pictureAlt
|
||||
}), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", {
|
||||
}), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", {
|
||||
className: "media-replace-container"
|
||||
}, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_3__.MediaReplaceFlow, {
|
||||
}, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_3__.MediaReplaceFlow, {
|
||||
mediaId: pictureId,
|
||||
mediaUrl: pictureUrl,
|
||||
allowedTypes: ["image"],
|
||||
accept: "image/*",
|
||||
onSelect: updatePictureImg,
|
||||
name: !pictureUrl ? (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Ajouter", "homegrade-blocks__texte-backoffice") : (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Remplacer", "homegrade-blocks__texte-backoffice")
|
||||
}), pictureUrl && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.Button, {
|
||||
}), pictureUrl && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.Button, {
|
||||
className: "custom-flow-button",
|
||||
variant: "primary",
|
||||
icon: _wordpress_icons__WEBPACK_IMPORTED_MODULE_5__["default"],
|
||||
label: "Supprimer",
|
||||
onClick: removePictureImg
|
||||
}))), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.Tip, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("p", null, "Le texte de votre L\xE9gende est automatiquement attribu\xE9 depuis le champ \"L\xE9gende\" de votre image dans la gallerie des m\xE9dias")))), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", null, pictureUrl && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("figure", {
|
||||
}))), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.Tip, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("p", null, "Le texte de votre L\xE9gende est automatiquement attribu\xE9 depuis le champ \"L\xE9gende\" de votre image dans la gallerie des m\xE9dias")))), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", null, pictureUrl && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("figure", {
|
||||
...(0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_3__.useBlockProps)({
|
||||
className: `homegrade-blocks-labelled-picture`
|
||||
className: `homegrade-blocks-labelled-picture homegrade-blocks-labelled-picture--legend-${hasStickyLegend ? "sticky" : "normal"}
|
||||
${hasFixedHeight ? "homegrade-blocks-labelled-picture--fixed-height" : ""}
|
||||
${showTitle && pictureTitle ? "homegrade-blocks-labelled-picture--legend-has-title" : ""}
|
||||
${hasRoundedShadow ? "homegrade-blocks-labelled-picture--rounded-shadow" : ""}`
|
||||
})
|
||||
}, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("img", {
|
||||
}, legendLocation === "before" && renderCaption(), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("img", {
|
||||
src: pictureUrl,
|
||||
alt: pictureAlt
|
||||
}), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("figcaption", null, pictureCaption)), !pictureUrl && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_3__.MediaPlaceholder, {
|
||||
}), legendLocation === "after" && renderCaption()), !pictureUrl && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_3__.MediaPlaceholder, {
|
||||
disableMediaButtons: pictureUrl,
|
||||
icon: "admin-appearance",
|
||||
onSelect: updatePictureImg,
|
||||
|
|
@ -115,8 +197,8 @@ function Edit({
|
|||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||||
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element");
|
||||
/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
|
||||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
||||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
||||
/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/blocks */ "@wordpress/blocks");
|
||||
/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_1__);
|
||||
/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./style.scss */ "./src/style.scss");
|
||||
|
|
@ -131,15 +213,15 @@ __webpack_require__.r(__webpack_exports__);
|
|||
|
||||
(0,_wordpress_blocks__WEBPACK_IMPORTED_MODULE_1__.registerBlockType)(_block_json__WEBPACK_IMPORTED_MODULE_5__.name, {
|
||||
icon: {
|
||||
src: (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("svg", {
|
||||
src: (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("svg", {
|
||||
id: "Calque_2",
|
||||
"data-name": "Calque 2",
|
||||
xmlns: "http://www.w3.org/2000/svg",
|
||||
viewBox: "0 0 28 28"
|
||||
}, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("g", {
|
||||
}, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("g", {
|
||||
id: "Calque_1-2",
|
||||
"data-name": "Calque 1"
|
||||
}, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", {
|
||||
}, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("path", {
|
||||
class: "cls-1",
|
||||
d: "m1.56,27.15c.68.53,1.52.85,2.44.85h12.29l-7.79-7.79-6.94,6.94Zm12.65-2.65l3.5,3.5h2.29c1.18,0,2.23-.52,2.96-1.33l-5.46-5.46-3.29,3.29Zm-.21-7.5c-.55,0-1,.45-1,1s.45,1,1,1,1-.45,1-1-.45-1-1-1Zm6-5H4c-2.21,0-4,1.79-4,4v8c0,.92.33,1.76.85,2.44l7.29-7.29c.2-.2.51-.2.71,0l4.65,4.65,3.65-3.65c.2-.2.51-.2.71,0l5.68,5.68c.29-.55.46-1.17.46-1.83v-8c0-2.21-1.79-4-4-4Zm-6,8c-1.1,0-2-.9-2-2s.9-2,2-2,2,.9,2,2-.9,2-2,2ZM26,0h-8c-1.1,0-2,.9-2,2v4c0,1.1.9,2,2,2h1v2.5c0,.2.12.38.31.46.06.03.13.04.19.04.13,0,.26-.05.35-.15l2.85-2.85h3.29c1.1,0,2-.9,2-2V2c0-1.1-.9-2-2-2Z"
|
||||
}))),
|
||||
|
|
@ -161,8 +243,8 @@ __webpack_require__.r(__webpack_exports__);
|
|||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||
/* harmony export */ "default": () => (/* binding */ save)
|
||||
/* harmony export */ });
|
||||
/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element");
|
||||
/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
|
||||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
||||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
||||
/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
|
||||
/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__);
|
||||
|
||||
|
|
@ -171,19 +253,33 @@ function save({
|
|||
attributes
|
||||
}) {
|
||||
const {
|
||||
hasStickyLegend,
|
||||
hasLightbox,
|
||||
legendLocation,
|
||||
hasFixedHeight,
|
||||
hasRoundedShadow,
|
||||
showTitle,
|
||||
pictureUrl,
|
||||
pictureAlt,
|
||||
pictureId,
|
||||
pictureTitle,
|
||||
pictureCaption
|
||||
} = attributes;
|
||||
return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, pictureUrl && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("figure", {
|
||||
const renderCaption = () => (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("figcaption", null, showTitle && pictureTitle && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("span", {
|
||||
className: "figcaption-title"
|
||||
}, pictureTitle), " ", pictureCaption);
|
||||
return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, pictureUrl && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("figure", {
|
||||
..._wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useBlockProps.save({
|
||||
className: `homegrade-blocks-labelled-picture`
|
||||
className: `homegrade-blocks-labelled-picture homegrade-blocks-labelled-picture--legend-${hasStickyLegend ? "sticky" : "normal"} ${hasFixedHeight ? "homegrade-blocks-labelled-picture--fixed-height" : ""}
|
||||
${showTitle && pictureTitle ? "homegrade-blocks-labelled-picture--legend-has-title" : ""}
|
||||
${hasRoundedShadow ? "homegrade-blocks-labelled-picture--rounded-shadow" : ""}
|
||||
|
||||
${hasLightbox ? "singleLightbox-link" : ""}
|
||||
`
|
||||
})
|
||||
}, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("img", {
|
||||
}, legendLocation === "before" && renderCaption(), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("img", {
|
||||
src: pictureUrl,
|
||||
alt: pictureAlt
|
||||
}), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("figcaption", null, pictureCaption)));
|
||||
}), legendLocation === "after" && renderCaption()));
|
||||
}
|
||||
|
||||
/***/ }),
|
||||
|
|
@ -243,6 +339,16 @@ const trash = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(
|
|||
|
||||
/***/ }),
|
||||
|
||||
/***/ "react":
|
||||
/*!************************!*\
|
||||
!*** external "React" ***!
|
||||
\************************/
|
||||
/***/ ((module) => {
|
||||
|
||||
module.exports = window["React"];
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ "@wordpress/block-editor":
|
||||
/*!*************************************!*\
|
||||
!*** external ["wp","blockEditor"] ***!
|
||||
|
|
@ -309,7 +415,7 @@ module.exports = window["wp"]["primitives"];
|
|||
\************************/
|
||||
/***/ ((module) => {
|
||||
|
||||
module.exports = JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":2,"name":"homegrade-content-blocks/labelled-picture","version":"0.1.0","title":"Image + Légende Autocollante","category":"homegrade-blocks","icon":"smiley","description":"Bloc image contenant une légende autocollante","supports":{"html":false},"textdomain":"homegrade-blocks","editorScript":"file:./index.js","editorStyle":"file:./index.css","style":"file:./style-index.css","attributes":{"pictureUrl":{"type":"string"},"pictureAlt":{"type":"string"},"pictureId":{"type":"number"},"pictureCaption":{"type":"string"}}}');
|
||||
module.exports = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":2,"name":"homegrade-content-blocks/labelled-picture","version":"0.1.0","title":"Image + Légende","category":"homegrade-blocks","icon":"smiley","description":"Bloc image contenant une légende autocollante","supports":{"html":false},"textdomain":"homegrade-blocks","editorScript":"file:./index.js","editorStyle":"file:./index.css","style":"file:./style-index.css","attributes":{"hasStickyLegend":{"type":"boolean","default":"true"},"legendLocation":{"type":"string","default":"after"},"hasLightbox":{"type":"boolean","default":"false"},"hasRoundedShadow":{"type":"boolean","default":"false"},"hasFixedHeight":{"type":"boolean","default":"true"},"showTitle":{"type":"boolean","default":"true"},"pictureUrl":{"type":"string"},"pictureTitle":{"type":"string"},"pictureAlt":{"type":"string"},"pictureId":{"type":"number"},"pictureCaption":{"type":"string"}}}');
|
||||
|
||||
/***/ })
|
||||
|
||||
|
|
@ -355,9 +461,7 @@ module.exports = JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json
|
|||
/******/ }
|
||||
/******/ var notFulfilled = Infinity;
|
||||
/******/ for (var i = 0; i < deferred.length; i++) {
|
||||
/******/ var chunkIds = deferred[i][0];
|
||||
/******/ var fn = deferred[i][1];
|
||||
/******/ var priority = deferred[i][2];
|
||||
/******/ var [chunkIds, fn, priority] = deferred[i];
|
||||
/******/ var fulfilled = true;
|
||||
/******/ for (var j = 0; j < chunkIds.length; j++) {
|
||||
/******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {
|
||||
|
|
@ -443,9 +547,7 @@ module.exports = JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json
|
|||
/******/
|
||||
/******/ // install a JSONP callback for chunk loading
|
||||
/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => {
|
||||
/******/ var chunkIds = data[0];
|
||||
/******/ var moreModules = data[1];
|
||||
/******/ var runtime = data[2];
|
||||
/******/ var [chunkIds, moreModules, runtime] = data;
|
||||
/******/ // add "moreModules" to the modules object,
|
||||
/******/ // then flag all "chunkIds" as loaded and fire callback
|
||||
/******/ var moduleId, chunkId, i = 0;
|
||||
|
|
@ -468,7 +570,7 @@ module.exports = JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json
|
|||
/******/ return __webpack_require__.O(result);
|
||||
/******/ }
|
||||
/******/
|
||||
/******/ var chunkLoadingGlobal = self["webpackChunkmultiblocks"] = self["webpackChunkmultiblocks"] || [];
|
||||
/******/ var chunkLoadingGlobal = globalThis["webpackChunkmultiblocks"] = globalThis["webpackChunkmultiblocks"] || [];
|
||||
/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));
|
||||
/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));
|
||||
/******/ })();
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1,4 +1,4 @@
|
|||
/*!***************************************************************************************************************************************************************************************************************************************!*\
|
||||
!*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/style.scss ***!
|
||||
\***************************************************************************************************************************************************************************************************************************************/
|
||||
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
||||
!*** css ./node_modules/.pnpm/css-loader@6.10.0_webpack@5.90.3/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.4.35_webpack@5.90.3/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/.pnpm/sass-loader@12.6.0_sass@1.71.1_webpack@5.90.3/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/style.scss ***!
|
||||
\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
"apiVersion": 2,
|
||||
"name": "homegrade-content-blocks/labelled-picture",
|
||||
"version": "0.1.0",
|
||||
"title": "Image + Légende Autocollante",
|
||||
"title": "Image + Légende",
|
||||
"category": "homegrade-blocks",
|
||||
"icon": "smiley",
|
||||
"description": "Bloc image contenant une légende autocollante",
|
||||
|
|
@ -15,9 +15,36 @@
|
|||
"editorStyle": "file:./index.css",
|
||||
"style": "file:./style-index.css",
|
||||
"attributes": {
|
||||
"hasStickyLegend": {
|
||||
"type": "boolean",
|
||||
"default": "true"
|
||||
},
|
||||
"legendLocation": {
|
||||
"type": "string",
|
||||
"default": "after"
|
||||
},
|
||||
"hasLightbox": {
|
||||
"type": "boolean",
|
||||
"default": "false"
|
||||
},
|
||||
"hasRoundedShadow": {
|
||||
"type": "boolean",
|
||||
"default": "false"
|
||||
},
|
||||
"hasFixedHeight": {
|
||||
"type": "boolean",
|
||||
"default": "true"
|
||||
},
|
||||
"showTitle": {
|
||||
"type": "boolean",
|
||||
"default": "true"
|
||||
},
|
||||
"pictureUrl": {
|
||||
"type": "string"
|
||||
},
|
||||
"pictureTitle": {
|
||||
"type": "string"
|
||||
},
|
||||
"pictureAlt": {
|
||||
"type": "string"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -10,11 +10,6 @@ import {
|
|||
|
||||
import {
|
||||
Button,
|
||||
ToolbarGroup,
|
||||
ToolbarButton,
|
||||
Spinner,
|
||||
withNotices,
|
||||
FocalPointPicker,
|
||||
PanelBody,
|
||||
Tip,
|
||||
ToggleControl,
|
||||
|
|
@ -30,7 +25,19 @@ export default function Edit({
|
|||
noticeList,
|
||||
noticeUI,
|
||||
}) {
|
||||
const { pictureUrl, pictureAlt, pictureId, pictureCaption } = attributes;
|
||||
const {
|
||||
hasStickyLegend,
|
||||
hasLightbox,
|
||||
legendLocation,
|
||||
hasFixedHeight,
|
||||
hasRoundedShadow,
|
||||
showTitle,
|
||||
pictureUrl,
|
||||
pictureAlt,
|
||||
pictureId,
|
||||
pictureTitle,
|
||||
pictureCaption,
|
||||
} = attributes;
|
||||
|
||||
function removePictureImg() {
|
||||
setAttributes({
|
||||
|
|
@ -42,10 +49,12 @@ export default function Edit({
|
|||
}
|
||||
|
||||
function updatePictureImg(image) {
|
||||
console.log(image);
|
||||
if (!image || !image.url) {
|
||||
removePictureImg();
|
||||
}
|
||||
setAttributes({
|
||||
pictureTitle: image.title,
|
||||
pictureUrl: image.url,
|
||||
pictureId: image.id,
|
||||
pictureAlt: image.alt,
|
||||
|
|
@ -56,9 +65,81 @@ export default function Edit({
|
|||
noticeOperations.removeAllNotices();
|
||||
noticeOperations.createErrorNotice(message);
|
||||
}
|
||||
|
||||
function handleHasStickyLegend(hasStickyLegend) {
|
||||
setAttributes({ hasStickyLegend });
|
||||
}
|
||||
function handleHasFixedHeight(hasFixedHeight) {
|
||||
setAttributes({ hasFixedHeight });
|
||||
}
|
||||
function handleShowTitle(showTitle) {
|
||||
setAttributes({ showTitle });
|
||||
}
|
||||
function handleHasRoundedShadow(hasRoundedShadow) {
|
||||
setAttributes({ hasRoundedShadow });
|
||||
}
|
||||
function handleLegendLocationChange(legendLocation) {
|
||||
setAttributes({ legendLocation });
|
||||
}
|
||||
function handleHasLightbox(hasLightbox) {
|
||||
setAttributes({ hasLightbox });
|
||||
}
|
||||
|
||||
const renderCaption = () => (
|
||||
<figcaption>
|
||||
{showTitle && pictureTitle && (
|
||||
<span className="figcaption-title">{pictureTitle}</span>
|
||||
)}{" "}
|
||||
{pictureCaption}
|
||||
</figcaption>
|
||||
);
|
||||
|
||||
return (
|
||||
<>
|
||||
<InspectorControls>
|
||||
<PanelBody
|
||||
title="Paramètres"
|
||||
className="homegrade-blocks-components-image__panel-body "
|
||||
>
|
||||
<ToggleControl
|
||||
label="Légende Autocollante"
|
||||
checked={hasStickyLegend}
|
||||
onChange={handleHasStickyLegend}
|
||||
help="Coché, la légende sera ajouté sur un bandeau au dessus de l'image"
|
||||
/>
|
||||
<ToggleControl
|
||||
label="Hauteur de l'image Fixed"
|
||||
checked={hasFixedHeight}
|
||||
onChange={handleHasFixedHeight}
|
||||
help="Coché, la hauteur de l'image est fixe"
|
||||
/>
|
||||
<ToggleControl
|
||||
label="Afficher le titre"
|
||||
checked={showTitle}
|
||||
onChange={handleShowTitle}
|
||||
/>
|
||||
<ToggleControl
|
||||
label="Rounded & Shadow"
|
||||
checked={hasRoundedShadow}
|
||||
onChange={handleHasRoundedShadow}
|
||||
/>
|
||||
<ToggleControl
|
||||
label="Afficher une lightbox"
|
||||
checked={hasLightbox}
|
||||
onChange={handleHasLightbox}
|
||||
/>
|
||||
|
||||
<ToggleGroupControl
|
||||
label="Emplacement de la légende"
|
||||
value="before"
|
||||
onChange={handleLegendLocationChange}
|
||||
isBlock
|
||||
__nextHasNoMarginBottom
|
||||
>
|
||||
<ToggleGroupControlOption value="before" label="Avant l'Image" />
|
||||
<ToggleGroupControlOption value="after" label="Après l'image" />
|
||||
</ToggleGroupControl>
|
||||
</PanelBody>
|
||||
<PanelBody
|
||||
title="Source de l'image"
|
||||
className="homegrade-blocks-components-image__panel-body "
|
||||
|
|
@ -101,11 +182,21 @@ export default function Edit({
|
|||
{pictureUrl && (
|
||||
<figure
|
||||
{...useBlockProps({
|
||||
className: `homegrade-blocks-labelled-picture`,
|
||||
className: `homegrade-blocks-labelled-picture homegrade-blocks-labelled-picture--legend-${
|
||||
hasStickyLegend ? "sticky" : "normal"
|
||||
}
|
||||
${hasFixedHeight ? "homegrade-blocks-labelled-picture--fixed-height" : ""}
|
||||
${
|
||||
showTitle && pictureTitle
|
||||
? "homegrade-blocks-labelled-picture--legend-has-title"
|
||||
: ""
|
||||
}
|
||||
${hasRoundedShadow ? "homegrade-blocks-labelled-picture--rounded-shadow" : ""}`,
|
||||
})}
|
||||
>
|
||||
{legendLocation === "before" && renderCaption()}
|
||||
<img src={pictureUrl} alt={pictureAlt} />
|
||||
<figcaption>{pictureCaption}</figcaption>
|
||||
{legendLocation === "after" && renderCaption()}
|
||||
</figure>
|
||||
)}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,18 +1,54 @@
|
|||
import { useBlockProps } from "@wordpress/block-editor";
|
||||
|
||||
export default function save({ attributes }) {
|
||||
const { pictureUrl, pictureAlt, pictureId, pictureCaption } = attributes;
|
||||
const {
|
||||
hasStickyLegend,
|
||||
hasLightbox,
|
||||
legendLocation,
|
||||
hasFixedHeight,
|
||||
hasRoundedShadow,
|
||||
showTitle,
|
||||
pictureUrl,
|
||||
pictureAlt,
|
||||
pictureTitle,
|
||||
pictureCaption,
|
||||
} = attributes;
|
||||
|
||||
const renderCaption = () => (
|
||||
<figcaption>
|
||||
{showTitle && pictureTitle && (
|
||||
<span className="figcaption-title">{pictureTitle}</span>
|
||||
)}{" "}
|
||||
{pictureCaption}
|
||||
</figcaption>
|
||||
);
|
||||
|
||||
return (
|
||||
<>
|
||||
{pictureUrl && (
|
||||
<figure
|
||||
{...useBlockProps.save({
|
||||
className: `homegrade-blocks-labelled-picture`,
|
||||
className: `homegrade-blocks-labelled-picture homegrade-blocks-labelled-picture--legend-${
|
||||
hasStickyLegend ? "sticky" : "normal"
|
||||
} ${
|
||||
hasFixedHeight
|
||||
? "homegrade-blocks-labelled-picture--fixed-height"
|
||||
: ""
|
||||
}
|
||||
${
|
||||
showTitle && pictureTitle
|
||||
? "homegrade-blocks-labelled-picture--legend-has-title"
|
||||
: ""
|
||||
}
|
||||
${hasRoundedShadow ? "homegrade-blocks-labelled-picture--rounded-shadow" : ""}
|
||||
|
||||
${hasLightbox ? "singleLightbox-link" : ""}
|
||||
`,
|
||||
})}
|
||||
>
|
||||
{legendLocation === "before" && renderCaption()}
|
||||
<img src={pictureUrl} alt={pictureAlt} />
|
||||
<figcaption>{pictureCaption}</figcaption>
|
||||
{legendLocation === "after" && renderCaption()}
|
||||
</figure>
|
||||
)}
|
||||
</>
|
||||
|
|
|
|||
|
|
@ -22,6 +22,13 @@
|
|||
"postType": {
|
||||
"type": "string",
|
||||
"default": "conseils"
|
||||
},
|
||||
"hasDescription": {
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"postDescription": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1 +1 @@
|
|||
<?php return array('dependencies' => array('react', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-core-data', 'wp-data', 'wp-element', 'wp-html-entities', 'wp-i18n'), 'version' => '831260fc67b39b194bb9');
|
||||
<?php return array('dependencies' => array('react', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-core-data', 'wp-data', 'wp-element', 'wp-html-entities', 'wp-i18n'), 'version' => '354aaf4f576100a5c65a');
|
||||
|
|
|
|||
|
|
@ -39,6 +39,8 @@ __webpack_require__.r(__webpack_exports__);
|
|||
function OptionsSelectControl({
|
||||
setAttributes,
|
||||
relatedPostId,
|
||||
postDescription,
|
||||
hasDescription,
|
||||
postType
|
||||
}) {
|
||||
if (!postType || !setAttributes) return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("p", null, "Loading");
|
||||
|
|
@ -70,6 +72,11 @@ function OptionsSelectControl({
|
|||
}
|
||||
return c_value;
|
||||
}
|
||||
function handleHasDescriptionChange(hasDescription) {
|
||||
setAttributes({
|
||||
hasDescription
|
||||
});
|
||||
}
|
||||
function handleRelatedPostChange(postId) {
|
||||
setAttributes({
|
||||
relatedPostId: Number(postId)
|
||||
|
|
@ -133,10 +140,18 @@ function OptionsSelectControl({
|
|||
value: relatedPostId,
|
||||
options: postOptions,
|
||||
onChange: e => handleRelatedPostChange(e)
|
||||
}), relatedPostId && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.Tip, null, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Pour modifier le contenu de la question affichée ici, rendez-vous dans la fiche question correspondante.", "homegrade-blocks")), relatedPostId && editUrl && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("a", {
|
||||
}), relatedPostId && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.Tip, null, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Pourrrrrr modifier le contenu de la question affichée ici, rendez-vous dans la fiche question correspondante.", "homegrade-blocks")), relatedPostId && editUrl && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("a", {
|
||||
href: editUrl,
|
||||
className: "edit-question-button"
|
||||
}, "\xC9diter le post")));
|
||||
}, "\xC9diter le post")), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.PanelBody, {
|
||||
title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Texte descriptif", "homegrade-blocks"),
|
||||
initialOpen: false
|
||||
}, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.CheckboxControl, {
|
||||
label: "Texte descriptif",
|
||||
help: "\xC0 cocher pour afficher un texte descriptif libre",
|
||||
checked: hasDescription,
|
||||
onChange: handleHasDescriptionChange
|
||||
})));
|
||||
}
|
||||
|
||||
/***/ }),
|
||||
|
|
@ -160,13 +175,11 @@ __webpack_require__.r(__webpack_exports__);
|
|||
/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/data */ "@wordpress/data");
|
||||
/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_3__);
|
||||
/* harmony import */ var _editor_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./editor.scss */ "./src/editor.scss");
|
||||
/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element");
|
||||
/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__);
|
||||
/* harmony import */ var _wordpress_html_entities__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/html-entities */ "@wordpress/html-entities");
|
||||
/* harmony import */ var _wordpress_html_entities__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_6__);
|
||||
/* harmony import */ var _OptionsSelectControl__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./OptionsSelectControl */ "./src/OptionsSelectControl.js");
|
||||
/* harmony import */ var _wordpress_core_data__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @wordpress/core-data */ "@wordpress/core-data");
|
||||
/* harmony import */ var _wordpress_core_data__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_wordpress_core_data__WEBPACK_IMPORTED_MODULE_8__);
|
||||
/* harmony import */ var _wordpress_html_entities__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/html-entities */ "@wordpress/html-entities");
|
||||
/* harmony import */ var _wordpress_html_entities__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_5__);
|
||||
/* harmony import */ var _OptionsSelectControl__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./OptionsSelectControl */ "./src/OptionsSelectControl.js");
|
||||
/* harmony import */ var _wordpress_core_data__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @wordpress/core-data */ "@wordpress/core-data");
|
||||
/* harmony import */ var _wordpress_core_data__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_wordpress_core_data__WEBPACK_IMPORTED_MODULE_7__);
|
||||
|
||||
|
||||
|
||||
|
|
@ -176,14 +189,15 @@ __webpack_require__.r(__webpack_exports__);
|
|||
|
||||
|
||||
|
||||
|
||||
function Edit({
|
||||
attributes,
|
||||
setAttributes
|
||||
}) {
|
||||
const {
|
||||
relatedPostId,
|
||||
postType
|
||||
postType,
|
||||
hasDescription,
|
||||
postDescription
|
||||
} = attributes;
|
||||
const currentRelatedPost = (0,_wordpress_data__WEBPACK_IMPORTED_MODULE_3__.useSelect)(select => relatedPostId && postType ? select("core").getEntityRecord("postType", postType, relatedPostId) : null, [relatedPostId, postType]);
|
||||
const post = (0,_wordpress_data__WEBPACK_IMPORTED_MODULE_3__.useSelect)(select => select("core").getEntityRecord("postType", postType, relatedPostId));
|
||||
|
|
@ -204,9 +218,16 @@ function Edit({
|
|||
return (_media$source_url = media?.source_url) !== null && _media$source_url !== void 0 ? _media$source_url : null;
|
||||
}, [postParentTaxonomy]);
|
||||
const postTypeDatas = (0,_wordpress_data__WEBPACK_IMPORTED_MODULE_3__.useSelect)(select => select("core").getEntityConfig("postType", postType));
|
||||
return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_OptionsSelectControl__WEBPACK_IMPORTED_MODULE_7__["default"], {
|
||||
function handlePostDescriptionChange(description) {
|
||||
setAttributes({
|
||||
postDescription: description
|
||||
});
|
||||
}
|
||||
return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_OptionsSelectControl__WEBPACK_IMPORTED_MODULE_6__["default"], {
|
||||
relatedPostId: relatedPostId,
|
||||
postType: postType,
|
||||
hasDescription: hasDescription,
|
||||
postDescription: postDescription,
|
||||
setAttributes: setAttributes
|
||||
}), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", {
|
||||
...(0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_2__.useBlockProps)({
|
||||
|
|
@ -226,7 +247,12 @@ function Edit({
|
|||
class: "tag post-type-tag"
|
||||
}, postTypeDatas.label)), currentRelatedPost && currentRelatedPost.title && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("h2", {
|
||||
class: "post-card__title"
|
||||
}, (0,_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_6__.decodeEntities)(currentRelatedPost.title.rendered))), !relatedPostId && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("p", null, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Ce bloc n'est relié à aucun post. Rattachez-le à un post dans la barre latérale.", "homegrade-blocks__texte-backoffice")))));
|
||||
}, (0,_wordpress_html_entities__WEBPACK_IMPORTED_MODULE_5__.decodeEntities)(currentRelatedPost.title.rendered)), hasDescription && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_2__.RichText, {
|
||||
tagName: "p",
|
||||
onChange: handlePostDescriptionChange // Store updated content as a block attribute
|
||||
,
|
||||
placeholder: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Heading...") // Insérez votre description
|
||||
})), !relatedPostId && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("p", null, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Ce bloc n'est relié à aucun post. Rattachez-le à un post dans la barre latérale.", "homegrade-blocks__texte-backoffice")))));
|
||||
}
|
||||
|
||||
/***/ }),
|
||||
|
|
@ -388,7 +414,7 @@ module.exports = window["wp"]["i18n"];
|
|||
\************************/
|
||||
/***/ ((module) => {
|
||||
|
||||
module.exports = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":2,"name":"homegrade-content-blocks/post-card","version":"0.1.0","title":"Post Link","category":"homegrade-blocks","description":"Pour afficher le lien vers un post (conseil, fiche-info, …) dans une carte","supports":{"anchor":true,"html":false},"textdomain":"homegrade-theme__bloks-texte-fonctionnel","editorScript":"file:./index.js","editorStyle":"file:./index.css","style":"file:./style-index.css","render":"file:./render.php","attributes":{"relatedPostId":{"type":"number"},"postType":{"type":"string","default":"conseils"}}}');
|
||||
module.exports = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":2,"name":"homegrade-content-blocks/post-card","version":"0.1.0","title":"Post Link","category":"homegrade-blocks","description":"Pour afficher le lien vers un post (conseil, fiche-info, …) dans une carte","supports":{"anchor":true,"html":false},"textdomain":"homegrade-theme__bloks-texte-fonctionnel","editorScript":"file:./index.js","editorStyle":"file:./index.css","style":"file:./style-index.css","render":"file:./render.php","attributes":{"relatedPostId":{"type":"number"},"postType":{"type":"string","default":"conseils"},"hasDescription":{"type":"boolean","default":false},"postDescription":{"type":"string"}}}');
|
||||
|
||||
/***/ })
|
||||
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1,6 +1,4 @@
|
|||
<?php
|
||||
|
||||
|
||||
$relatedPostId = $attributes['relatedPostId'] ?? null;
|
||||
$postType = get_post_type_object(get_post_type($relatedPostId));
|
||||
|
||||
|
|
@ -14,11 +12,14 @@ $mainThematique = getMainThematique($thematique);
|
|||
$thematiqueColorSlug = $mainThematique->slug;
|
||||
$thematique_icon = get_field('taxonomy_pictures', 'thematiques' . '_' . $mainThematique->term_id)['icon'];
|
||||
|
||||
$postDescription = $attributes['postDescription'];
|
||||
|
||||
$coverUrl = $postType->name === 'videos-webinaires' && $postThumbnail ? $postThumbnail : ($thematique_icon ? $thematique_icon['url'] : null);
|
||||
|
||||
$thematiqueColorSlug = getThematiqueFamilySlug($mainThematique->slug);
|
||||
|
||||
?>
|
||||
<a class="post-card" href="<?php echo $relatedPostUrl ?>" target="<?php echo $target ?>">
|
||||
<a class="post-card post-card--<?php echo $mainThematique->slug ?>" href="<?php echo $relatedPostUrl ?>">
|
||||
|
||||
<img class="post-card__cover post-card__cover--<?php echo $postType->name ?>" src="<?php echo $coverUrl ?>" alt="">
|
||||
|
||||
|
|
@ -30,5 +31,9 @@ $coverUrl = $postType->name === 'videos-webinaires' && $postThumbnail ? $postTh
|
|||
<div class="tag post-type-tag"><?php echo $postType->label ?></div>
|
||||
</div>
|
||||
<h2 class="post-card__title"><?php echo $relatedPost->post_title ?></h2>
|
||||
<?php if ($postDescription): ?>
|
||||
<p><?php echo $postDescription ?></p>
|
||||
<?php endif; ?>
|
||||
<p></p>
|
||||
</div>
|
||||
</a>
|
||||
|
|
@ -6,7 +6,7 @@ import {
|
|||
ComboboxControl,
|
||||
} from "@wordpress/components";
|
||||
import "./editor.scss";
|
||||
import { Tip } from "@wordpress/components";
|
||||
import { Tip, CheckboxControl } from "@wordpress/components";
|
||||
|
||||
import { useSelect } from "@wordpress/data";
|
||||
import { useEffect, useState } from "@wordpress/element";
|
||||
|
|
@ -15,6 +15,8 @@ import { decodeEntities } from "@wordpress/html-entities";
|
|||
export default function OptionsSelectControl({
|
||||
setAttributes,
|
||||
relatedPostId,
|
||||
postDescription,
|
||||
hasDescription,
|
||||
postType,
|
||||
}) {
|
||||
if (!postType || !setAttributes) return <p>Loading</p>;
|
||||
|
|
@ -54,6 +56,10 @@ export default function OptionsSelectControl({
|
|||
return c_value;
|
||||
}
|
||||
|
||||
function handleHasDescriptionChange(hasDescription) {
|
||||
setAttributes({ hasDescription });
|
||||
}
|
||||
|
||||
function handleRelatedPostChange(postId) {
|
||||
setAttributes({ relatedPostId: Number(postId) });
|
||||
}
|
||||
|
|
@ -112,7 +118,7 @@ export default function OptionsSelectControl({
|
|||
{relatedPostId && (
|
||||
<Tip>
|
||||
{__(
|
||||
"Pour modifier le contenu de la question affichée ici, rendez-vous dans la fiche question correspondante.",
|
||||
"Pourrrrrr modifier le contenu de la question affichée ici, rendez-vous dans la fiche question correspondante.",
|
||||
"homegrade-blocks",
|
||||
)}
|
||||
</Tip>
|
||||
|
|
@ -123,6 +129,17 @@ export default function OptionsSelectControl({
|
|||
</a>
|
||||
)}
|
||||
</PanelBody>
|
||||
<PanelBody
|
||||
title={__("Texte descriptif", "homegrade-blocks")}
|
||||
initialOpen={false}
|
||||
>
|
||||
<CheckboxControl
|
||||
label="Texte descriptif"
|
||||
help="À cocher pour afficher un texte descriptif libre"
|
||||
checked={hasDescription}
|
||||
onChange={handleHasDescriptionChange}
|
||||
/>
|
||||
</PanelBody>
|
||||
</InspectorControls>
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,6 +22,13 @@
|
|||
"postType": {
|
||||
"type": "string",
|
||||
"default": "conseils"
|
||||
},
|
||||
"hasDescription": {
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"postDescription": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -3,15 +3,15 @@ import { useBlockProps } from "@wordpress/block-editor";
|
|||
|
||||
import { useSelect } from "@wordpress/data"; // pour les querry
|
||||
import "./editor.scss";
|
||||
import { RawHTML } from "@wordpress/element";
|
||||
import { useEffect } from "@wordpress/element";
|
||||
import { decodeEntities } from "@wordpress/html-entities";
|
||||
import OptionsSelectControl from "./OptionsSelectControl";
|
||||
import { RichText } from "@wordpress/block-editor";
|
||||
|
||||
import { useEntityProp } from "@wordpress/core-data";
|
||||
|
||||
export default function Edit({ attributes, setAttributes }) {
|
||||
const { relatedPostId, postType } = attributes;
|
||||
const { relatedPostId, postType, hasDescription, postDescription } =
|
||||
attributes;
|
||||
|
||||
const currentRelatedPost = useSelect(
|
||||
(select) =>
|
||||
|
|
@ -61,12 +61,17 @@ export default function Edit({ attributes, setAttributes }) {
|
|||
const postTypeDatas = useSelect((select) =>
|
||||
select("core").getEntityConfig("postType", postType),
|
||||
);
|
||||
function handlePostDescriptionChange(description) {
|
||||
setAttributes({ postDescription: description });
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<OptionsSelectControl
|
||||
relatedPostId={relatedPostId}
|
||||
postType={postType}
|
||||
hasDescription={hasDescription}
|
||||
postDescription={postDescription}
|
||||
setAttributes={setAttributes}
|
||||
/>
|
||||
|
||||
|
|
@ -75,7 +80,6 @@ export default function Edit({ attributes, setAttributes }) {
|
|||
className: `post-card`,
|
||||
})}
|
||||
>
|
||||
{/* postParentTaxonomy */}
|
||||
<img class="post-card__cover" alt="" src={thematiqueCoverUrl} />
|
||||
<div class="post-card__details">
|
||||
<div class="post-card__tags">
|
||||
|
|
@ -98,6 +102,13 @@ export default function Edit({ attributes, setAttributes }) {
|
|||
{decodeEntities(currentRelatedPost.title.rendered)}
|
||||
</h2>
|
||||
)}
|
||||
{hasDescription && (
|
||||
<RichText
|
||||
tagName="p"
|
||||
onChange={handlePostDescriptionChange} // Store updated content as a block attribute
|
||||
placeholder={__("Heading...")} // Insérez votre description
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
{!relatedPostId && (
|
||||
<>
|
||||
|
|
|
|||
|
|
@ -12,11 +12,14 @@ $mainThematique = getMainThematique($thematique);
|
|||
$thematiqueColorSlug = $mainThematique->slug;
|
||||
$thematique_icon = get_field('taxonomy_pictures', 'thematiques' . '_' . $mainThematique->term_id)['icon'];
|
||||
|
||||
$postDescription = $attributes['postDescription'];
|
||||
|
||||
$coverUrl = $postType->name === 'videos-webinaires' && $postThumbnail ? $postThumbnail : ($thematique_icon ? $thematique_icon['url'] : null);
|
||||
|
||||
$thematiqueColorSlug = getThematiqueFamilySlug($mainThematique->slug);
|
||||
|
||||
?>
|
||||
<a class="post-card" href="<?php echo $relatedPostUrl ?>">
|
||||
<a class="post-card post-card--<?php echo $mainThematique->slug ?>" href="<?php echo $relatedPostUrl ?>">
|
||||
|
||||
<img class="post-card__cover post-card__cover--<?php echo $postType->name ?>" src="<?php echo $coverUrl ?>" alt="">
|
||||
|
||||
|
|
@ -28,5 +31,9 @@ $coverUrl = $postType->name === 'videos-webinaires' && $postThumbnail ? $postTh
|
|||
<div class="tag post-type-tag"><?php echo $postType->label ?></div>
|
||||
</div>
|
||||
<h2 class="post-card__title"><?php echo $relatedPost->post_title ?></h2>
|
||||
<?php if ($postDescription): ?>
|
||||
<p><?php echo $postDescription ?></p>
|
||||
<?php endif; ?>
|
||||
<p></p>
|
||||
</div>
|
||||
</a>
|
||||
|
|
@ -1 +1 @@
|
|||
<?php return array('dependencies' => array('react', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-data', 'wp-element', 'wp-html-entities', 'wp-i18n'), 'version' => 'f8adefcd282fd42751be');
|
||||
<?php return array('dependencies' => array('react', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-data', 'wp-element', 'wp-html-entities', 'wp-i18n'), 'version' => 'd1bff0478a28e4096c46');
|
||||
|
|
|
|||
|
|
@ -223,6 +223,25 @@ function Edit({
|
|||
});
|
||||
}
|
||||
}, [currentRelatedPost]);
|
||||
|
||||
// const editedContent = wp.data.select("core/editor").getEditedPostContent();
|
||||
// function getContent() {
|
||||
// // Récupérer et retourner le contenu personnalisé ici
|
||||
// return 'Votre contenu personnalisé';
|
||||
// }
|
||||
// useEffect(() => {
|
||||
// if (!rankMathEditor) return;
|
||||
// console.log("rankMathEditor", rankMathEditor);
|
||||
// console.log("wp.hooks", wp.hooks);
|
||||
// console.log(`editedContent`, editedContent);
|
||||
|
||||
// wp.hooks.addFilter("rank_math_content", "rank-math", updateContent);
|
||||
// function updateContent() {
|
||||
// return editedContent;
|
||||
// }
|
||||
// rankMathEditor.refresh("content");
|
||||
// }, [rankMathEditor]);
|
||||
|
||||
return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_OptionsSelectControl__WEBPACK_IMPORTED_MODULE_7__["default"], {
|
||||
relatedPostId: relatedPostId,
|
||||
postType: postType,
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -72,6 +72,24 @@ export default function Edit({ attributes, setAttributes }) {
|
|||
}
|
||||
}, [currentRelatedPost]);
|
||||
|
||||
// const editedContent = wp.data.select("core/editor").getEditedPostContent();
|
||||
// function getContent() {
|
||||
// // Récupérer et retourner le contenu personnalisé ici
|
||||
// return 'Votre contenu personnalisé';
|
||||
// }
|
||||
// useEffect(() => {
|
||||
// if (!rankMathEditor) return;
|
||||
// console.log("rankMathEditor", rankMathEditor);
|
||||
// console.log("wp.hooks", wp.hooks);
|
||||
// console.log(`editedContent`, editedContent);
|
||||
|
||||
// wp.hooks.addFilter("rank_math_content", "rank-math", updateContent);
|
||||
// function updateContent() {
|
||||
// return editedContent;
|
||||
// }
|
||||
// rankMathEditor.refresh("content");
|
||||
// }, [rankMathEditor]);
|
||||
|
||||
return (
|
||||
<>
|
||||
<OptionsSelectControl
|
||||
|
|
|
|||
|
|
@ -6,5 +6,5 @@ $relatedPost = get_post($relatedPostId);
|
|||
|
||||
<section id="questions-container-<?php echo $relatedPostId ?>" class="questions-container-block">
|
||||
<h2 class="questions-container-block__title"><?php echo $relatedPost->post_title ?></h2>
|
||||
<?php echo $relatedPost->post_content ?>
|
||||
<?php echo do_blocks($relatedPost->post_content) ?>
|
||||
</section>
|
||||
|
|
@ -1 +1 @@
|
|||
<?php return array('dependencies' => array('react', 'wp-block-editor', 'wp-blocks', 'wp-core-data', 'wp-data', 'wp-element', 'wp-i18n'), 'version' => '26852ebc6e130b4f3af8');
|
||||
<?php return array('dependencies' => array('react', 'wp-block-editor', 'wp-blocks', 'wp-core-data', 'wp-data', 'wp-element', 'wp-i18n'), 'version' => '205e7edeb29596567b3d');
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ function getThematiqueFamilySlug(thematique_slug) {
|
|||
case "urbanisme":
|
||||
return "energies-urbanisme";
|
||||
case "acoustique":
|
||||
case "petites-coproprietes":
|
||||
case "coproprietes":
|
||||
return "acoustique-coproprietes";
|
||||
case "isolation":
|
||||
case "au-quotidien":
|
||||
|
|
@ -100,7 +100,8 @@ function Edit({
|
|||
let {
|
||||
tooltipWords
|
||||
} = attributes;
|
||||
console.log("tooltipWords ATTRIBUTES", tooltipWords);
|
||||
// console.log("tooltipWords ATTRIBUTES", tooltipWords);
|
||||
|
||||
let [hasFetchedDatas, setHasFetchedDatas] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_5__.useState)(false);
|
||||
function parseContentTooltips(editorContent) {
|
||||
const parser = new DOMParser();
|
||||
|
|
@ -174,7 +175,6 @@ function Edit({
|
|||
include: tooltipWordsIds
|
||||
});
|
||||
}, [tooltipWordsIds]);
|
||||
console.log("vocabulairePosts", vocabulairePosts);
|
||||
const currentLang = (0,_utilities_js__WEBPACK_IMPORTED_MODULE_8__.getAdminLanguageFromCookie)("wp-wpml_current_language");
|
||||
const localBlockName = currentLang === "fr" ? "Vocabulaire" : "Woordenschat";
|
||||
(0,_wordpress_element__WEBPACK_IMPORTED_MODULE_5__.useEffect)(() => {
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -11,7 +11,7 @@ import { getAdminLanguageFromCookie } from "../../utilities.js";
|
|||
|
||||
export default function Edit({ attributes, setAttributes }) {
|
||||
let { tooltipWords } = attributes;
|
||||
console.log("tooltipWords ATTRIBUTES", tooltipWords);
|
||||
// console.log("tooltipWords ATTRIBUTES", tooltipWords);
|
||||
|
||||
let [hasFetchedDatas, setHasFetchedDatas] = useState(false);
|
||||
|
||||
|
|
@ -128,7 +128,6 @@ export default function Edit({ attributes, setAttributes }) {
|
|||
},
|
||||
[tooltipWordsIds],
|
||||
);
|
||||
console.log("vocabulairePosts", vocabulairePosts);
|
||||
|
||||
const currentLang = getAdminLanguageFromCookie("wp-wpml_current_language");
|
||||
const localBlockName = currentLang === "fr" ? "Vocabulaire" : "Woordenschat";
|
||||
|
|
|
|||
|
|
@ -96,6 +96,7 @@ function create_block_multiblocks_block_init()
|
|||
register_block_type(__DIR__ . '/blocks/parcours-chapter/build');
|
||||
register_block_type(__DIR__ . '/blocks/parcours-step/build');
|
||||
register_block_type(__DIR__ . '/blocks/figure/build');
|
||||
register_block_type(__DIR__ . '/blocks/explainer-screen/build');
|
||||
|
||||
// CONTAINERS (STATIC)
|
||||
register_block_type(__DIR__ . '/blocks/content-box/build');
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user