diff --git a/blocks/vocabulaire-summary/build/index.asset.php b/blocks/vocabulaire-summary/build/index.asset.php index 6070e1f..661c24e 100644 --- a/blocks/vocabulaire-summary/build/index.asset.php +++ b/blocks/vocabulaire-summary/build/index.asset.php @@ -1 +1 @@ - array('react', 'wp-block-editor', 'wp-blocks', 'wp-core-data', 'wp-data', 'wp-element', 'wp-i18n'), 'version' => '9fc901c23a6f2db0e80d'); + array('react', 'wp-block-editor', 'wp-blocks', 'wp-core-data', 'wp-data', 'wp-element', 'wp-i18n'), 'version' => '5051d822b38f2dd8e9ad'); diff --git a/blocks/vocabulaire-summary/build/index.js b/blocks/vocabulaire-summary/build/index.js index a2df81a..3c6ef57 100644 --- a/blocks/vocabulaire-summary/build/index.js +++ b/blocks/vocabulaire-summary/build/index.js @@ -2,6 +2,61 @@ /******/ "use strict"; /******/ var __webpack_modules__ = ({ +/***/ "../utilities.js": +/*!***********************!*\ + !*** ../utilities.js ***! + \***********************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ cleanString: () => (/* binding */ cleanString), +/* harmony export */ getAdminLanguageFromCookie: () => (/* binding */ getAdminLanguageFromCookie), +/* harmony export */ getThematiqueFamilySlug: () => (/* binding */ getThematiqueFamilySlug) +/* harmony export */ }); +function getThematiqueFamilySlug(thematique_slug) { + switch (thematique_slug) { + case "energie": + case "urbanisme": + return "energies-urbanisme"; + case "acoustique": + case "petites-coproprietes": + return "acoustique-coproprietes"; + case "isolation": + case "au-quotidien": + return "isolation-quotidien"; + case "energies": + case "urbanisme": + return "energies-urbanisme"; + case "patrimoine": + case "sante-et-securite": + return "patrimoine-sante-securite"; + case "location": + return "location"; + } +} +function cleanString(string) { + return string.normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().split(" ").join("-"); +} +function getAdminLanguageFromCookie(c_name) { + var c_value = document.cookie, + c_start = c_value.indexOf(" " + c_name + "="); + if (c_start == -1) c_start = c_value.indexOf(c_name + "="); + if (c_start == -1) { + c_value = null; + } else { + c_start = c_value.indexOf("=", c_start) + 1; + var c_end = c_value.indexOf(";", c_start); + if (c_end == -1) { + c_end = c_value.length; + } + c_value = unescape(c_value.substring(c_start, c_end)); + } + return c_value; +} + +/***/ }), + /***/ "./src/edit.js": /*!*********************!*\ !*** ./src/edit.js ***! @@ -26,6 +81,8 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/data */ "@wordpress/data"); /* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_6__); /* harmony import */ var _img_chevron_down_svg__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./img/chevron_down.svg */ "./src/img/chevron_down.svg"); +/* harmony import */ var _utilities_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utilities.js */ "../utilities.js"); + @@ -43,6 +100,7 @@ function Edit({ let { tooltipWords } = attributes; + console.log("tooltipWords", tooltipWords); let [hasFetchedDatas, setHasFetchedDatas] = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_5__.useState)(false); function CurrentThematiqueDisplay({ id @@ -127,23 +185,7 @@ function Edit({ const currentTaxonomies = (0,_wordpress_data__WEBPACK_IMPORTED_MODULE_6__.useSelect)(select => select("core/editor").getCurrentPostAttribute("thematiques")); let currentThematique = (0,_wordpress_data__WEBPACK_IMPORTED_MODULE_6__.useSelect)(select => select("core").getEntityRecord("taxonomy", "thematiques", currentTaxonomies[0] // or currentPost.thematiques[0] works as well ), [currentTaxonomies]); - function getAdminLanguageFromCookie(c_name) { - var c_value = document.cookie, - c_start = c_value.indexOf(" " + c_name + "="); - if (c_start == -1) c_start = c_value.indexOf(c_name + "="); - if (c_start == -1) { - c_value = null; - } else { - c_start = c_value.indexOf("=", c_start) + 1; - var c_end = c_value.indexOf(";", c_start); - if (c_end == -1) { - c_end = c_value.length; - } - c_value = unescape(c_value.substring(c_start, c_end)); - } - return c_value; - } - const currentLang = getAdminLanguageFromCookie("wp-wpml_current_language"); + 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)(() => { if (currentPost.content && currentBlocks) { diff --git a/blocks/vocabulaire-summary/build/index.js.map b/blocks/vocabulaire-summary/build/index.js.map index 1cfd4b1..445019b 100644 --- a/blocks/vocabulaire-summary/build/index.js.map +++ b/blocks/vocabulaire-summary/build/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","mappings":"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2B,0BAA0B,yDAAyD,iCAAiC,kBAAkB;AAC3Q;AAC/B;AACA,sBAAsB,gDAAmB;AACzC;AACA;AACA;AACA,GAAG,yCAAyC,gDAAmB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AAC4C;AAC5C,iEAAe,oBAAoB,wbAAwb;;;;;;;;;;ACnB3d;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;UAEA;UACA;;;;;WCzBA;WACA;WACA;WACA;WACA,+BAA+B,wCAAwC;WACvE;WACA;WACA;WACA;WACA,iBAAiB,qBAAqB;WACtC;WACA;WACA,kBAAkB,qBAAqB;WACvC;WACA;WACA,KAAK;WACL;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;;;;WC3BA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;WCNA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,MAAM,qBAAqB;WAC3B;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;;;;;UEjDA;UACA;UACA;UACA;UACA","sources":["webpack://vocabulaire-summary/./src/edit.js","webpack://vocabulaire-summary/./src/index.js","webpack://vocabulaire-summary/./src/editor.scss","webpack://vocabulaire-summary/./src/style.scss","webpack://vocabulaire-summary/./src/img/chevron_down.svg","webpack://vocabulaire-summary/external window \"React\"","webpack://vocabulaire-summary/external window [\"wp\",\"blockEditor\"]","webpack://vocabulaire-summary/external window [\"wp\",\"blocks\"]","webpack://vocabulaire-summary/external window [\"wp\",\"coreData\"]","webpack://vocabulaire-summary/external window [\"wp\",\"data\"]","webpack://vocabulaire-summary/external window [\"wp\",\"element\"]","webpack://vocabulaire-summary/external window [\"wp\",\"i18n\"]","webpack://vocabulaire-summary/webpack/bootstrap","webpack://vocabulaire-summary/webpack/runtime/chunk loaded","webpack://vocabulaire-summary/webpack/runtime/compat get default export","webpack://vocabulaire-summary/webpack/runtime/define property getters","webpack://vocabulaire-summary/webpack/runtime/hasOwnProperty shorthand","webpack://vocabulaire-summary/webpack/runtime/make namespace object","webpack://vocabulaire-summary/webpack/runtime/jsonp chunk loading","webpack://vocabulaire-summary/webpack/before-startup","webpack://vocabulaire-summary/webpack/startup","webpack://vocabulaire-summary/webpack/after-startup"],"sourcesContent":["import { __ } from \"@wordpress/i18n\";\nimport { useBlockProps } from \"@wordpress/block-editor\";\nimport \"./editor.scss\";\nimport { useEntityRecord } from \"@wordpress/core-data\";\nimport { useState } from \"@wordpress/element\";\nimport { useSelect, useDispatch } from \"@wordpress/data\";\nimport { useEffect } from \"@wordpress/element\";\nimport { useEntityProp } from \"@wordpress/core-data\";\nimport chevronDown from \"./img/chevron_down.svg\";\n\nexport default function Edit({ attributes, setAttributes }) {\n\tlet { tooltipWords } = attributes;\n\tlet [hasFetchedDatas, setHasFetchedDatas] = useState(false);\n\n\tfunction CurrentThematiqueDisplay({ id }) {\n\t\tconst { record, isResolving } = useEntityRecord(\n\t\t\t\"taxonomy\",\n\t\t\t\"thematiques\",\n\t\t\tid,\n\t\t);\n\n\t\tif (isResolving) {\n\t\t\treturn \"Loading...\";\n\t\t}\n\t\tif (!record) {\n\t\t\treturn \"no post...\";\n\t\t}\n\t\treturn record.name;\n\t}\n\tfunction getCurrentThematique(id) {\n\t\tconst { record, isResolving } = useEntityRecord(\n\t\t\t\"taxonomy\",\n\t\t\t\"thematiques\",\n\t\t\tid,\n\t\t);\n\n\t\tif (isResolving) {\n\t\t\treturn \"Loading...\";\n\t\t}\n\t\tif (!record) {\n\t\t\treturn \"no post...\";\n\t\t}\n\t\treturn record;\n\t}\n\n\tfunction filterToolTipsArray(tooltipWords) {\n\t\tconst filteredTooltipWords = [];\n\n\t\ttooltipWords.forEach((tooltipWord) => {\n\t\t\tconst existingTooltip = filteredTooltipWords.find(\n\t\t\t\t(item) => item.tooltipID === tooltipWord.tooltipID,\n\t\t\t);\n\n\t\t\tif (!existingTooltip) {\n\t\t\t\tfilteredTooltipWords.push(tooltipWord);\n\t\t\t}\n\t\t});\n\n\t\treturn filteredTooltipWords;\n\t}\n\tfunction parseContentTooltips(editorContent) {\n\t\tconst parser = new DOMParser();\n\t\tconst doc = parser.parseFromString(editorContent, \"text/html\");\n\t\tconst domTooltipWords = doc.querySelectorAll(\".tooltip-word\");\n\n\t\tconst tooltipWords = [];\n\n\t\t// Looping over tooltip words and filtering duplicates\n\t\tArray.from(domTooltipWords).forEach((tooltipWord) => {\n\t\t\tconst tooltipID = tooltipWord.getAttribute(\"data-definition-id\");\n\t\t\tconst tooltipText = tooltipWord.getAttribute(\"data-tooltip-word\");\n\t\t\tconst tooltipDefinition = tooltipWord.getAttribute(\n\t\t\t\t\"data-tooltip-definition\",\n\t\t\t);\n\n\t\t\ttooltipWords.push({\n\t\t\t\ttooltipID,\n\t\t\t\ttooltipText,\n\t\t\t\ttooltipDefinition,\n\t\t\t});\n\t\t});\n\t\treturn tooltipWords;\n\t}\n\tfunction parseBlocksTooltips(currentBlocks) {\n\t\tconst blocksTooltipWords = [];\n\t\tcurrentBlocks.forEach((block) => {\n\t\t\tif (\n\t\t\t\t(block.name === \"homegrade-content-blocks/questions-container\" ||\n\t\t\t\t\tblock.name === \"homegrade-content-blocks/post-content-container\") &&\n\t\t\t\tblock?.attributes?.tooltipsWordsUsed?.length > 0\n\t\t\t) {\n\t\t\t\tblock.attributes.tooltipsWordsUsed.forEach((tooltipWord) => {\n\t\t\t\t\tblocksTooltipWords.push(tooltipWord);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\treturn blocksTooltipWords;\n\t}\n\tfunction buildTooltipWords() {\n\t\tlet newParsedTooltipWords = parseContentTooltips(currentPost.content);\n\t\tlet newBlocksTooltipWords = parseBlocksTooltips(currentBlocks);\n\t\tlet allTooltipWords = [...newParsedTooltipWords, ...newBlocksTooltipWords];\n\t\tconst filteredTooltipWords = filterToolTipsArray(allTooltipWords);\n\t\treturn filteredTooltipWords;\n\t}\n\n\tfunction compareHasNewVocabularyWord(previousWords, newWords) {\n\t\treturn !(JSON.stringify(previousWords) === JSON.stringify(newWords));\n\t}\n\n\tconst currentPost = useSelect((select) =>\n\t\tselect(\"core/editor\").getCurrentPost(),\n\t);\n\n\tconst currentBlocks = useSelect((select) =>\n\t\tselect(\"core/block-editor\").getBlocks(),\n\t);\n\n\tconst currentTaxonomies = useSelect((select) =>\n\t\tselect(\"core/editor\").getCurrentPostAttribute(\"thematiques\"),\n\t);\n\n\tlet currentThematique = useSelect(\n\t\t(select) =>\n\t\t\tselect(\"core\").getEntityRecord(\n\t\t\t\t\"taxonomy\",\n\t\t\t\t\"thematiques\",\n\t\t\t\tcurrentTaxonomies[0], // or currentPost.thematiques[0] works as well\n\t\t\t),\n\t\t[currentTaxonomies],\n\t);\n\tfunction getAdminLanguageFromCookie(c_name) {\n\t\tvar c_value = document.cookie,\n\t\t\tc_start = c_value.indexOf(\" \" + c_name + \"=\");\n\t\tif (c_start == -1) c_start = c_value.indexOf(c_name + \"=\");\n\t\tif (c_start == -1) {\n\t\t\tc_value = null;\n\t\t} else {\n\t\t\tc_start = c_value.indexOf(\"=\", c_start) + 1;\n\t\t\tvar c_end = c_value.indexOf(\";\", c_start);\n\t\t\tif (c_end == -1) {\n\t\t\t\tc_end = c_value.length;\n\t\t\t}\n\t\t\tc_value = unescape(c_value.substring(c_start, c_end));\n\t\t}\n\t\treturn c_value;\n\t}\n\tconst currentLang = getAdminLanguageFromCookie(\"wp-wpml_current_language\");\n\tconst localBlockName = currentLang === \"fr\" ? \"Vocabulaire\" : \"Woordenschat\";\n\tuseEffect(() => {\n\t\tif (currentPost.content && currentBlocks) {\n\t\t\tconst newTooltipWords = buildTooltipWords();\n\n\t\t\tif (compareHasNewVocabularyWord(tooltipWords, newTooltipWords)) {\n\t\t\t\tsetAttributes({ tooltipWords: newTooltipWords });\n\t\t\t}\n\t\t}\n\t}, [currentPost, currentBlocks]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{localBlockName + \" — \"}\n\t\t\t\t{currentThematique && currentThematique.name\n\t\t\t\t\t? currentThematique.name\n\t\t\t\t\t: \"...pas de thématique\"}\n\t\t\t\n\t\t\t{tooltipWords &&\n\t\t\t\ttooltipWords.map((elem) => (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{elem.tooltipText}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{elem.tooltipDefinition}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t))}\n\t\t\n\t);\n}\n","import { registerBlockType } from \"@wordpress/blocks\";\nimport \"./style.scss\";\n\nimport Edit from \"./edit\";\n// import save from \"./save\";\nimport metadata from \"./block.json\";\n\nregisterBlockType(metadata.name, {\n\tedit: Edit,\n});\n","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","var _path;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nvar SvgChevronDown = function SvgChevronDown(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 11.668,\n height: 7.885\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Trac\\\\xE9 3614\",\n d: \"m1.406 1.406 4.428 5.478 4.427-5.478\",\n fill: \"none\",\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2\n })));\n};\nexport { SvgChevronDown as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMS42NjgiIGhlaWdodD0iNy44ODUiIHZpZXdCb3g9IjAgMCAxMS42NjggNy44ODUiPgogIDxwYXRoIGlkPSJUcmFjw6lfMzYxNCIgZGF0YS1uYW1lPSJUcmFjw6kgMzYxNCIgZD0iTTAsOC44NTUsNS40NzgsNC40MjcsMCwwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMC4yNjEgMS40MDYpIHJvdGF0ZSg5MCkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjIiLz4KPC9zdmc+Cg==\";","module.exports = window[\"React\"];","module.exports = window[\"wp\"][\"blockEditor\"];","module.exports = window[\"wp\"][\"blocks\"];","module.exports = window[\"wp\"][\"coreData\"];","module.exports = window[\"wp\"][\"data\"];","module.exports = window[\"wp\"][\"element\"];","module.exports = window[\"wp\"][\"i18n\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t\"index\": 0,\n\t\"./style-index\": 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunkvocabulaire_summary\"] = globalThis[\"webpackChunkvocabulaire_summary\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [\"./style-index\"], () => (__webpack_require__(\"./src/index.js\")))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n",""],"names":["__","useBlockProps","useEntityRecord","useState","useSelect","useDispatch","useEffect","useEntityProp","chevronDown","Edit","attributes","setAttributes","tooltipWords","hasFetchedDatas","setHasFetchedDatas","CurrentThematiqueDisplay","id","record","isResolving","name","getCurrentThematique","filterToolTipsArray","filteredTooltipWords","forEach","tooltipWord","existingTooltip","find","item","tooltipID","push","parseContentTooltips","editorContent","parser","DOMParser","doc","parseFromString","domTooltipWords","querySelectorAll","Array","from","getAttribute","tooltipText","tooltipDefinition","parseBlocksTooltips","currentBlocks","blocksTooltipWords","block","tooltipsWordsUsed","length","buildTooltipWords","newParsedTooltipWords","currentPost","content","newBlocksTooltipWords","allTooltipWords","compareHasNewVocabularyWord","previousWords","newWords","JSON","stringify","select","getCurrentPost","getBlocks","currentTaxonomies","getCurrentPostAttribute","currentThematique","getEntityRecord","getAdminLanguageFromCookie","c_name","c_value","document","cookie","c_start","indexOf","c_end","unescape","substring","currentLang","localBlockName","newTooltipWords","createElement","className","map","elem","src","alt","class","registerBlockType","metadata","edit"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"index.js","mappings":"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","sources":["webpack://vocabulaire-summary/../utilities.js","webpack://vocabulaire-summary/./src/edit.js","webpack://vocabulaire-summary/./src/index.js","webpack://vocabulaire-summary/./src/editor.scss","webpack://vocabulaire-summary/./src/style.scss","webpack://vocabulaire-summary/./src/img/chevron_down.svg","webpack://vocabulaire-summary/external window \"React\"","webpack://vocabulaire-summary/external window [\"wp\",\"blockEditor\"]","webpack://vocabulaire-summary/external window [\"wp\",\"blocks\"]","webpack://vocabulaire-summary/external window [\"wp\",\"coreData\"]","webpack://vocabulaire-summary/external window [\"wp\",\"data\"]","webpack://vocabulaire-summary/external window [\"wp\",\"element\"]","webpack://vocabulaire-summary/external window [\"wp\",\"i18n\"]","webpack://vocabulaire-summary/webpack/bootstrap","webpack://vocabulaire-summary/webpack/runtime/chunk loaded","webpack://vocabulaire-summary/webpack/runtime/compat get default export","webpack://vocabulaire-summary/webpack/runtime/define property getters","webpack://vocabulaire-summary/webpack/runtime/hasOwnProperty shorthand","webpack://vocabulaire-summary/webpack/runtime/make namespace object","webpack://vocabulaire-summary/webpack/runtime/jsonp chunk loading","webpack://vocabulaire-summary/webpack/before-startup","webpack://vocabulaire-summary/webpack/startup","webpack://vocabulaire-summary/webpack/after-startup"],"sourcesContent":["export function getThematiqueFamilySlug(thematique_slug) {\r\n\tswitch (thematique_slug) {\r\n\t\tcase \"energie\":\r\n\t\tcase \"urbanisme\":\r\n\t\t\treturn \"energies-urbanisme\";\r\n\r\n\t\tcase \"acoustique\":\r\n\t\tcase \"petites-coproprietes\":\r\n\t\t\treturn \"acoustique-coproprietes\";\r\n\r\n\t\tcase \"isolation\":\r\n\t\tcase \"au-quotidien\":\r\n\t\t\treturn \"isolation-quotidien\";\r\n\r\n\t\tcase \"energies\":\r\n\t\tcase \"urbanisme\":\r\n\t\t\treturn \"energies-urbanisme\";\r\n\r\n\t\tcase \"patrimoine\":\r\n\t\tcase \"sante-et-securite\":\r\n\t\t\treturn \"patrimoine-sante-securite\";\r\n\r\n\t\tcase \"location\":\r\n\t\t\treturn \"location\";\r\n\t}\r\n}\r\n\r\nexport function cleanString(string) {\r\n\treturn string\r\n\t\t.normalize(\"NFD\")\r\n\t\t.replace(/[\\u0300-\\u036f]/g, \"\")\r\n\t\t.toLowerCase()\r\n\t\t.split(\" \")\r\n\t\t.join(\"-\");\r\n}\r\n\r\nexport function getAdminLanguageFromCookie(c_name) {\r\n\tvar c_value = document.cookie,\r\n\t\tc_start = c_value.indexOf(\" \" + c_name + \"=\");\r\n\tif (c_start == -1) c_start = c_value.indexOf(c_name + \"=\");\r\n\tif (c_start == -1) {\r\n\t\tc_value = null;\r\n\t} else {\r\n\t\tc_start = c_value.indexOf(\"=\", c_start) + 1;\r\n\t\tvar c_end = c_value.indexOf(\";\", c_start);\r\n\t\tif (c_end == -1) {\r\n\t\t\tc_end = c_value.length;\r\n\t\t}\r\n\t\tc_value = unescape(c_value.substring(c_start, c_end));\r\n\t}\r\n\treturn c_value;\r\n}\r\n","import { __ } from \"@wordpress/i18n\";\nimport { useBlockProps } from \"@wordpress/block-editor\";\nimport \"./editor.scss\";\nimport { useEntityRecord } from \"@wordpress/core-data\";\nimport { useState } from \"@wordpress/element\";\nimport { useSelect, useDispatch } from \"@wordpress/data\";\nimport { useEffect } from \"@wordpress/element\";\nimport { useEntityProp } from \"@wordpress/core-data\";\nimport chevronDown from \"./img/chevron_down.svg\";\nimport { getAdminLanguageFromCookie } from \"../../utilities.js\";\n\nexport default function Edit({ attributes, setAttributes }) {\n\tlet { tooltipWords } = attributes;\n\n\tconsole.log(\"tooltipWords\", tooltipWords);\n\tlet [hasFetchedDatas, setHasFetchedDatas] = useState(false);\n\n\tfunction CurrentThematiqueDisplay({ id }) {\n\t\tconst { record, isResolving } = useEntityRecord(\n\t\t\t\"taxonomy\",\n\t\t\t\"thematiques\",\n\t\t\tid,\n\t\t);\n\n\t\tif (isResolving) {\n\t\t\treturn \"Loading...\";\n\t\t}\n\t\tif (!record) {\n\t\t\treturn \"no post...\";\n\t\t}\n\t\treturn record.name;\n\t}\n\tfunction getCurrentThematique(id) {\n\t\tconst { record, isResolving } = useEntityRecord(\n\t\t\t\"taxonomy\",\n\t\t\t\"thematiques\",\n\t\t\tid,\n\t\t);\n\n\t\tif (isResolving) {\n\t\t\treturn \"Loading...\";\n\t\t}\n\t\tif (!record) {\n\t\t\treturn \"no post...\";\n\t\t}\n\t\treturn record;\n\t}\n\n\tfunction filterToolTipsArray(tooltipWords) {\n\t\tconst filteredTooltipWords = [];\n\n\t\ttooltipWords.forEach((tooltipWord) => {\n\t\t\tconst existingTooltip = filteredTooltipWords.find(\n\t\t\t\t(item) => item.tooltipID === tooltipWord.tooltipID,\n\t\t\t);\n\n\t\t\tif (!existingTooltip) {\n\t\t\t\tfilteredTooltipWords.push(tooltipWord);\n\t\t\t}\n\t\t});\n\n\t\treturn filteredTooltipWords;\n\t}\n\tfunction parseContentTooltips(editorContent) {\n\t\tconst parser = new DOMParser();\n\t\tconst doc = parser.parseFromString(editorContent, \"text/html\");\n\t\tconst domTooltipWords = doc.querySelectorAll(\".tooltip-word\");\n\n\t\tconst tooltipWords = [];\n\n\t\t// Looping over tooltip words and filtering duplicates\n\t\tArray.from(domTooltipWords).forEach((tooltipWord) => {\n\t\t\tconst tooltipID = tooltipWord.getAttribute(\"data-definition-id\");\n\t\t\tconst tooltipText = tooltipWord.getAttribute(\"data-tooltip-word\");\n\t\t\tconst tooltipDefinition = tooltipWord.getAttribute(\n\t\t\t\t\"data-tooltip-definition\",\n\t\t\t);\n\n\t\t\ttooltipWords.push({\n\t\t\t\ttooltipID,\n\t\t\t\ttooltipText,\n\t\t\t\ttooltipDefinition,\n\t\t\t});\n\t\t});\n\t\treturn tooltipWords;\n\t}\n\tfunction parseBlocksTooltips(currentBlocks) {\n\t\tconst blocksTooltipWords = [];\n\t\tcurrentBlocks.forEach((block) => {\n\t\t\tif (\n\t\t\t\t(block.name === \"homegrade-content-blocks/questions-container\" ||\n\t\t\t\t\tblock.name === \"homegrade-content-blocks/post-content-container\") &&\n\t\t\t\tblock?.attributes?.tooltipsWordsUsed?.length > 0\n\t\t\t) {\n\t\t\t\tblock.attributes.tooltipsWordsUsed.forEach((tooltipWord) => {\n\t\t\t\t\tblocksTooltipWords.push(tooltipWord);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\treturn blocksTooltipWords;\n\t}\n\tfunction buildTooltipWords() {\n\t\tlet newParsedTooltipWords = parseContentTooltips(currentPost.content);\n\t\tlet newBlocksTooltipWords = parseBlocksTooltips(currentBlocks);\n\t\tlet allTooltipWords = [...newParsedTooltipWords, ...newBlocksTooltipWords];\n\t\tconst filteredTooltipWords = filterToolTipsArray(allTooltipWords);\n\t\treturn filteredTooltipWords;\n\t}\n\n\tfunction compareHasNewVocabularyWord(previousWords, newWords) {\n\t\treturn !(JSON.stringify(previousWords) === JSON.stringify(newWords));\n\t}\n\n\tconst currentPost = useSelect((select) =>\n\t\tselect(\"core/editor\").getCurrentPost(),\n\t);\n\n\tconst currentBlocks = useSelect((select) =>\n\t\tselect(\"core/block-editor\").getBlocks(),\n\t);\n\n\tconst currentTaxonomies = useSelect((select) =>\n\t\tselect(\"core/editor\").getCurrentPostAttribute(\"thematiques\"),\n\t);\n\n\tlet currentThematique = useSelect(\n\t\t(select) =>\n\t\t\tselect(\"core\").getEntityRecord(\n\t\t\t\t\"taxonomy\",\n\t\t\t\t\"thematiques\",\n\t\t\t\tcurrentTaxonomies[0], // or currentPost.thematiques[0] works as well\n\t\t\t),\n\t\t[currentTaxonomies],\n\t);\n\n\tconst currentLang = getAdminLanguageFromCookie(\"wp-wpml_current_language\");\n\tconst localBlockName = currentLang === \"fr\" ? \"Vocabulaire\" : \"Woordenschat\";\n\tuseEffect(() => {\n\t\tif (currentPost.content && currentBlocks) {\n\t\t\tconst newTooltipWords = buildTooltipWords();\n\n\t\t\tif (compareHasNewVocabularyWord(tooltipWords, newTooltipWords)) {\n\t\t\t\tsetAttributes({ tooltipWords: newTooltipWords });\n\t\t\t}\n\t\t}\n\t}, [currentPost, currentBlocks]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{localBlockName + \" — \"}\n\t\t\t\t{currentThematique && currentThematique.name\n\t\t\t\t\t? currentThematique.name\n\t\t\t\t\t: \"...pas de thématique\"}\n\t\t\t\n\t\t\t{tooltipWords &&\n\t\t\t\ttooltipWords.map((elem) => (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{elem.tooltipText}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{elem.tooltipDefinition}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t))}\n\t\t\n\t);\n}\n","import { registerBlockType } from \"@wordpress/blocks\";\nimport \"./style.scss\";\n\nimport Edit from \"./edit\";\n// import save from \"./save\";\nimport metadata from \"./block.json\";\n\nregisterBlockType(metadata.name, {\n\tedit: Edit,\n});\n","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","var _path;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nvar SvgChevronDown = function SvgChevronDown(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 11.668,\n height: 7.885\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Trac\\\\xE9 3614\",\n d: \"m1.406 1.406 4.428 5.478 4.427-5.478\",\n fill: \"none\",\n stroke: \"#000\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2\n })));\n};\nexport { SvgChevronDown as ReactComponent };\nexport default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMS42NjgiIGhlaWdodD0iNy44ODUiIHZpZXdCb3g9IjAgMCAxMS42NjggNy44ODUiPgogIDxwYXRoIGlkPSJUcmFjw6lfMzYxNCIgZGF0YS1uYW1lPSJUcmFjw6kgMzYxNCIgZD0iTTAsOC44NTUsNS40NzgsNC40MjcsMCwwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMC4yNjEgMS40MDYpIHJvdGF0ZSg5MCkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjIiLz4KPC9zdmc+Cg==\";","module.exports = window[\"React\"];","module.exports = window[\"wp\"][\"blockEditor\"];","module.exports = window[\"wp\"][\"blocks\"];","module.exports = window[\"wp\"][\"coreData\"];","module.exports = window[\"wp\"][\"data\"];","module.exports = window[\"wp\"][\"element\"];","module.exports = window[\"wp\"][\"i18n\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t\"index\": 0,\n\t\"./style-index\": 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunkvocabulaire_summary\"] = globalThis[\"webpackChunkvocabulaire_summary\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [\"./style-index\"], () => (__webpack_require__(\"./src/index.js\")))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n",""],"names":["getThematiqueFamilySlug","thematique_slug","cleanString","string","normalize","replace","toLowerCase","split","join","getAdminLanguageFromCookie","c_name","c_value","document","cookie","c_start","indexOf","c_end","length","unescape","substring","__","useBlockProps","useEntityRecord","useState","useSelect","useDispatch","useEffect","useEntityProp","chevronDown","Edit","attributes","setAttributes","tooltipWords","console","log","hasFetchedDatas","setHasFetchedDatas","CurrentThematiqueDisplay","id","record","isResolving","name","getCurrentThematique","filterToolTipsArray","filteredTooltipWords","forEach","tooltipWord","existingTooltip","find","item","tooltipID","push","parseContentTooltips","editorContent","parser","DOMParser","doc","parseFromString","domTooltipWords","querySelectorAll","Array","from","getAttribute","tooltipText","tooltipDefinition","parseBlocksTooltips","currentBlocks","blocksTooltipWords","block","tooltipsWordsUsed","buildTooltipWords","newParsedTooltipWords","currentPost","content","newBlocksTooltipWords","allTooltipWords","compareHasNewVocabularyWord","previousWords","newWords","JSON","stringify","select","getCurrentPost","getBlocks","currentTaxonomies","getCurrentPostAttribute","currentThematique","getEntityRecord","currentLang","localBlockName","newTooltipWords","createElement","className","map","elem","src","alt","class","registerBlockType","metadata","edit"],"sourceRoot":""} \ No newline at end of file diff --git a/blocks/vocabulaire-summary/build/render.php b/blocks/vocabulaire-summary/build/render.php index eab902e..eece676 100644 --- a/blocks/vocabulaire-summary/build/render.php +++ b/blocks/vocabulaire-summary/build/render.php @@ -14,17 +14,26 @@ endif; global $post; $thematique = get_the_terms($post->ID, 'thematiques')[0] ?? null; + +write_log($tooltipWords); + ?> + name ? " — " . $thematique->name : ""; ?> - - + + - + @@ -32,7 +41,7 @@ $thematique = get_the_terms($post->ID, 'thematiques')[0] ?? null; - + diff --git a/blocks/vocabulaire-summary/build/view.asset.php b/blocks/vocabulaire-summary/build/view.asset.php new file mode 100644 index 0000000..e5dbe33 --- /dev/null +++ b/blocks/vocabulaire-summary/build/view.asset.php @@ -0,0 +1 @@ + array(), 'version' => '399a1e7def5ebaedbda7'); diff --git a/blocks/vocabulaire-summary/build/view.js b/blocks/vocabulaire-summary/build/view.js new file mode 100644 index 0000000..1071c29 --- /dev/null +++ b/blocks/vocabulaire-summary/build/view.js @@ -0,0 +1,54 @@ +/******/ (() => { // webpackBootstrap +var __webpack_exports__ = {}; +/*!*********************!*\ + !*** ./src/view.js ***! + \*********************/ +// NO NEEDED ANYMORE BECAUSE DIRECTLY UPDATED BY PHP + +// async function updateWordsDefinitions() { +// const vocabularySummary = document.querySelector("#vocabulaire-summary"); +// let tooltipWordsDefinition = vocabularySummary.querySelectorAll("details"); + +// const vocabulairesPostsIds = Array.from(tooltipWordsDefinition).map( +// (element) => element.getAttribute("data-definition-id"), +// ); + +// try { +// const tooltipData = await getTooltipsDatas(vocabulairesPostsIds); + +// tooltipWordsDefinition.forEach((word, index) => { +// const foundTooltipDatas = tooltipData.find( +// (tooltip) => +// tooltip.id === parseInt(word.getAttribute("data-definition-id")), +// ); + +// const definitionText = word.querySelector( +// ".homegrade-blocks-vocabulaire-summary__content", +// ); +// definitionText.textContent = foundTooltipDatas.acf.definition; +// }); +// } catch (error) { +// console.log("Something went wrong!", error); +// } +// } + +// async function getTooltipsDatas(vocabulairesPostsIds) { +// try { +// const response = await fetch( +// `/wp-json/wp/v2/vocabulaire?include=${vocabulairesPostsIds.toString()}`, +// ); +// if (!response.ok) { +// throw new Error(`Request failed with status: ${response.status}`); +// } +// const data = await response.json(); +// return data; +// } catch (err) { +// throw err; +// } +// } +// window.addEventListener("DOMContentLoaded", (event) => { +// updateWordsDefinitions(); +// }); +/******/ })() +; +//# sourceMappingURL=view.js.map \ No newline at end of file diff --git a/blocks/vocabulaire-summary/build/view.js.map b/blocks/vocabulaire-summary/build/view.js.map new file mode 100644 index 0000000..b21303c --- /dev/null +++ b/blocks/vocabulaire-summary/build/view.js.map @@ -0,0 +1 @@ +{"version":3,"file":"view.js","mappings":";;;;;AAAA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,M","sources":["webpack://vocabulaire-summary/./src/view.js"],"sourcesContent":["// NO NEEDED ANYMORE BECAUSE DIRECTLY UPDATED BY PHP\r\n\r\n// async function updateWordsDefinitions() {\r\n// \tconst vocabularySummary = document.querySelector(\"#vocabulaire-summary\");\r\n// \tlet tooltipWordsDefinition = vocabularySummary.querySelectorAll(\"details\");\r\n\r\n// \tconst vocabulairesPostsIds = Array.from(tooltipWordsDefinition).map(\r\n// \t\t(element) => element.getAttribute(\"data-definition-id\"),\r\n// \t);\r\n\r\n// \ttry {\r\n// \t\tconst tooltipData = await getTooltipsDatas(vocabulairesPostsIds);\r\n\r\n// \t\ttooltipWordsDefinition.forEach((word, index) => {\r\n// \t\t\tconst foundTooltipDatas = tooltipData.find(\r\n// \t\t\t\t(tooltip) =>\r\n// \t\t\t\t\ttooltip.id === parseInt(word.getAttribute(\"data-definition-id\")),\r\n// \t\t\t);\r\n\r\n// \t\t\tconst definitionText = word.querySelector(\r\n// \t\t\t\t\".homegrade-blocks-vocabulaire-summary__content\",\r\n// \t\t\t);\r\n// \t\t\tdefinitionText.textContent = foundTooltipDatas.acf.definition;\r\n// \t\t});\r\n// \t} catch (error) {\r\n// \t\tconsole.log(\"Something went wrong!\", error);\r\n// \t}\r\n// }\r\n\r\n// async function getTooltipsDatas(vocabulairesPostsIds) {\r\n// \ttry {\r\n// \t\tconst response = await fetch(\r\n// \t\t\t`/wp-json/wp/v2/vocabulaire?include=${vocabulairesPostsIds.toString()}`,\r\n// \t\t);\r\n// \t\tif (!response.ok) {\r\n// \t\t\tthrow new Error(`Request failed with status: ${response.status}`);\r\n// \t\t}\r\n// \t\tconst data = await response.json();\r\n// \t\treturn data;\r\n// \t} catch (err) {\r\n// \t\tthrow err;\r\n// \t}\r\n// }\r\n// window.addEventListener(\"DOMContentLoaded\", (event) => {\r\n// \tupdateWordsDefinitions();\r\n// });\r\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/blocks/vocabulaire-summary/package.json b/blocks/vocabulaire-summary/package.json index dcbd8cc..e6d9cfb 100644 --- a/blocks/vocabulaire-summary/package.json +++ b/blocks/vocabulaire-summary/package.json @@ -5,10 +5,6 @@ "author": "The WordPress Contributors", "license": "GPL-2.0-or-later", "main": "build/index.js", - "entry": { - "index": "./src/index.js", - "frontend": "./src/frontend.js" - }, "scripts": { "build": "wp-scripts build", "format": "wp-scripts format", diff --git a/blocks/vocabulaire-summary/src/edit.js b/blocks/vocabulaire-summary/src/edit.js index 231864f..7888c75 100644 --- a/blocks/vocabulaire-summary/src/edit.js +++ b/blocks/vocabulaire-summary/src/edit.js @@ -7,9 +7,12 @@ import { useSelect, useDispatch } from "@wordpress/data"; import { useEffect } from "@wordpress/element"; import { useEntityProp } from "@wordpress/core-data"; import chevronDown from "./img/chevron_down.svg"; +import { getAdminLanguageFromCookie } from "../../utilities.js"; export default function Edit({ attributes, setAttributes }) { let { tooltipWords } = attributes; + + console.log("tooltipWords", tooltipWords); let [hasFetchedDatas, setHasFetchedDatas] = useState(false); function CurrentThematiqueDisplay({ id }) { @@ -130,22 +133,7 @@ export default function Edit({ attributes, setAttributes }) { ), [currentTaxonomies], ); - function getAdminLanguageFromCookie(c_name) { - var c_value = document.cookie, - c_start = c_value.indexOf(" " + c_name + "="); - if (c_start == -1) c_start = c_value.indexOf(c_name + "="); - if (c_start == -1) { - c_value = null; - } else { - c_start = c_value.indexOf("=", c_start) + 1; - var c_end = c_value.indexOf(";", c_start); - if (c_end == -1) { - c_end = c_value.length; - } - c_value = unescape(c_value.substring(c_start, c_end)); - } - return c_value; - } + const currentLang = getAdminLanguageFromCookie("wp-wpml_current_language"); const localBlockName = currentLang === "fr" ? "Vocabulaire" : "Woordenschat"; useEffect(() => { diff --git a/blocks/vocabulaire-summary/src/render.php b/blocks/vocabulaire-summary/src/render.php index eab902e..eece676 100644 --- a/blocks/vocabulaire-summary/src/render.php +++ b/blocks/vocabulaire-summary/src/render.php @@ -14,17 +14,26 @@ endif; global $post; $thematique = get_the_terms($post->ID, 'thematiques')[0] ?? null; + +write_log($tooltipWords); + ?> + name ? " — " . $thematique->name : ""; ?> - - + + - + @@ -32,7 +41,7 @@ $thematique = get_the_terms($post->ID, 'thematiques')[0] ?? null; - + diff --git a/blocks/vocabulaire-summary/src/view.js b/blocks/vocabulaire-summary/src/view.js new file mode 100644 index 0000000..8bf5727 --- /dev/null +++ b/blocks/vocabulaire-summary/src/view.js @@ -0,0 +1,46 @@ +// NO NEEDED ANYMORE BECAUSE DIRECTLY UPDATED BY PHP + +// async function updateWordsDefinitions() { +// const vocabularySummary = document.querySelector("#vocabulaire-summary"); +// let tooltipWordsDefinition = vocabularySummary.querySelectorAll("details"); + +// const vocabulairesPostsIds = Array.from(tooltipWordsDefinition).map( +// (element) => element.getAttribute("data-definition-id"), +// ); + +// try { +// const tooltipData = await getTooltipsDatas(vocabulairesPostsIds); + +// tooltipWordsDefinition.forEach((word, index) => { +// const foundTooltipDatas = tooltipData.find( +// (tooltip) => +// tooltip.id === parseInt(word.getAttribute("data-definition-id")), +// ); + +// const definitionText = word.querySelector( +// ".homegrade-blocks-vocabulaire-summary__content", +// ); +// definitionText.textContent = foundTooltipDatas.acf.definition; +// }); +// } catch (error) { +// console.log("Something went wrong!", error); +// } +// } + +// async function getTooltipsDatas(vocabulairesPostsIds) { +// try { +// const response = await fetch( +// `/wp-json/wp/v2/vocabulaire?include=${vocabulairesPostsIds.toString()}`, +// ); +// if (!response.ok) { +// throw new Error(`Request failed with status: ${response.status}`); +// } +// const data = await response.json(); +// return data; +// } catch (err) { +// throw err; +// } +// } +// window.addEventListener("DOMContentLoaded", (event) => { +// updateWordsDefinitions(); +// });
\n\t\t\t\t\t\t\t\t\t{elem.tooltipDefinition}\n\t\t\t\t\t\t\t\t
- +