{"version":3,"file":"js/4362-aefbb60011864eae25a9.js","mappings":"u9BAoBuBA,OAAOC,eAA9B,IACMC,EAAe,CAAC,OAAQ,SAAU,OAAQ,YAAa,SAAU,OAAQ,QAAS,QAAS,MAAO,QAAS,QAAS,QAAS,OAAQ,aAAc,UAmBlJ,SAASC,EAAkBC,GAC9B,IAAMC,EAAUC,EAAEF,GAAWG,KAAK,WAC5BC,EAAWF,EAAEF,GAAWG,KAAK,YAG/BE,EAAe,CACjB,CAAC,OAAQ,SAAU,YAAa,aAChC,CAAC,CAAEC,KAAM,WAAa,CAAEA,KAAM,WAC9B,CAAC,OAAQ,SACT,CAAC,OAAQ,cACT,CAAC,CAAE,OAAU,MAAQ,CAAE,OAAU,OACjC,CAAC,CAAE,aAAgB,eAGjBC,EAAWL,EAAEF,GAAWG,KAAK,gBAEjB,SAAZF,EACFI,EAAY,CACV,CAAC,CAAEG,OAAQ,CAAC,EAAG,EAAG,EAAG,EAAG,GAAG,MAASC,OAAAC,EACjCL,GAAY,CACf,CAAC,WAEkB,UAAZJ,IACTI,EAAY,GAAAI,OAAAC,EACPL,GAAY,CACf,CAAC,YAKL,IAAIM,EAAY,GACZC,GAAa,EAIVA,IACHC,MAAM,eAAgB,CACpBC,OAAQ,QAEPC,MAAK,SAAAC,GACJ,GAAIA,EAASC,GACX,OAAOD,EAASE,OAEhB,MAAM,IAAIC,MAAM,sCAEpB,IACCJ,MAAK,SAAAZ,GACJ,IACMiB,GADS,IAAIC,WACAC,gBAAgBnB,EAAM,aACnCoB,EAAkBH,EAAII,iBAAiB,oBACvCC,EAAcL,EAAII,iBAAiB,uBAEzCD,EAAgBG,SAAQ,SAACC,EAASC,GAChC,IAAMC,EAAQF,EAAQG,YAChBC,EAAMN,EAAYG,GAAOE,YAC/BnB,EAAUqB,KAAK,CAAEH,MAAAA,EAAOE,IAAAA,GAC1B,GACF,IAAE,OACK,SAAAE,GACLC,QAAQD,MAAM,+BAAgCA,EAChD,IAEFrB,GAAa,GAuFjB,IAAIuB,EAAU,CACZC,UAAW,CAAC,EACZnC,QAAS,CACPD,UAAWK,EACXgC,SAAU,CACR,UAAaC,EAAAA,EACb,aApFN,WAEE,IAAIC,EAAiBC,SAASC,cAAc,OAC5CF,EAAeG,UAAUC,IAAI,mBAG7B,IAAIC,EAAQJ,SAASC,cAAc,OACnCG,EAAMF,UAAUC,IAAI,SAGpB,IAAIE,EAAeL,SAASC,cAAc,OAC1CI,EAAaH,UAAUC,IAAI,iBAC3BE,EAAaC,GAAK,eAIlB,IAAIC,EAAWP,SAASC,cAAc,OACtCM,EAASL,UAAUC,IAAI,gBAEvB,IAAIK,EAAeR,SAASC,cAAc,MAC1CO,EAAalB,YAAc,gBAC3BiB,EAASE,YAAYD,GACrBA,EAAaE,UAAY,cAEzB,IAAIC,EAAqBX,SAASC,cAAc,MAChDU,EAAmBrB,YAAc,6CACjCqB,EAAmBC,MAAMC,MAAQ,OACjCN,EAASE,YAAYE,GAGrBxC,EAAUe,SAAQ,SAAU4B,GAC1B,IAAIC,EAAOf,SAASC,cAAc,KAClCc,EAAKC,KAAOF,EAAQvB,IACpBwB,EAAKzB,YAAcwB,EAAQzB,MAC3BkB,EAASE,YAAYM,GAErBA,EAAKE,iBAAiB,SAAS,SAAUC,GAc1C,IAA0B7B,EAAOE,EAC5B4B,EAEAC,EAhBFF,EAAMG,iBAaiBhC,EAXNyB,EAAQzB,MAWKE,EAXEuB,EAAQvB,IAYtC4B,EAAQG,EAAMC,eAEdH,EAAa,CACjBL,KAAMxB,EACNiC,OAAQ,UAGVF,EAAMG,WAAWN,EAAM/B,MAAOC,EAAO+B,GACrCE,EAAMI,aAAaP,EAAM/B,MAAOC,EAAMsC,OAAQ,QAnB1C5B,EAAea,MAAMgB,QAAU,MACjC,IAEId,IAAY3C,EAAUA,EAAUwD,OAAS,IAC3CpB,EAASE,YAAYT,SAASC,cAAc,MAEhD,IAeAI,EAAaI,YAAYF,GACzBH,EAAMK,YAAYJ,GAClBN,EAAeU,YAAYL,GAC3BJ,SAAS6B,KAAKpB,YAAYV,GAG1BA,EAAea,MAAMgB,QAAU,QAG/BxE,OAAO6D,iBAAiB,SAAS,SAAUC,GACrCA,EAAMM,QAAUzB,IAClBA,EAAea,MAAMgB,QAAU,OAEnC,GACF,KAiBME,EAASpE,EAAEF,GAAWuE,SAAS,wBACrCvE,EAAUwE,UAAYF,EAAOG,OAAS,GACtC,IAAMC,EAAQxE,EAAE,2BAA2ByE,KAAK,WAC5CpE,IACF4B,EAAQyC,YAAc,CACpBzC,QAAS,CAAC,SAAU,gBAEtBA,EAAQ0C,YAAc,CACpB9C,IAAK7B,EAAEF,GAAWG,KAAK,oBACvBW,OAAQ,OACRgE,KAAM,QACNC,iBAAiB,EACjBC,QAAS,CAAE,eAAgBN,GAC3BO,WAAY,SAACC,EAAgBC,GAC3BjF,EAAE,kBAAkBkF,OAAOC,YAAY,kBACvCF,EAAKD,EAAenD,IACtB,EACAuD,WAAY,SAACC,GACXrF,EAAE,kBAAkBkF,OAAOC,YAAY,kBACvCnD,QAAQsD,IAAI,uBAAD/E,OAAwB8E,EAAYE,SACjD,EACAC,gBAAiB,SAACC,EAAMR,GACtBjF,EAAE,kBAAkBkF,OAAOQ,SAAS,kBACpCT,EAAKQ,EACP,IAGJ,IAAM7B,EAAQ,IAAI+B,MAAM7F,EAAW,CACjCmC,QAASA,EACT2D,QAAShG,EACTiG,MAAO,SAiCT,GA5BI3F,GACF0D,EAAMkC,UAGRlC,EAAMmC,GAAG,eAAe,WACtB,IAAM/E,EAAO4C,EAAMoC,UAIfxC,EAAQ,IAAIyC,YAAY,iBAAkB,CAC5CC,OAAQtC,EAAMC,iBAIhB,GAFA/D,EAAUqG,cAAc3C,GAEV,OAATxC,GAA0B,SAATA,GAAwF,IAApE4C,EAAMwC,KAAK9E,iBAhNnB,UAgNiE2C,OAE5F,CACL,IAAMoC,EAAiB,cACjBC,EAAY1C,EAAMwC,KAAK9B,UAAUiC,QACrC,IAAIC,OAAO,IAADjG,OAAK8F,EAAc,KAAA9F,OAAI8F,EAAc,KAAK,KACpD,IAEFjC,EAAOG,IAAI+B,EACb,MARElC,EAAOG,IAAI,GASf,IAEAX,EAAM6C,QAAQC,KAAK,gBAEfrG,EAAU,CACZ,IAAMW,EAAOhB,EAAEF,GAAWG,KAAK,uBAC/BD,EAAEF,GAAW6G,MAAM,oDAADpG,OAAqDS,EAAI,QAC7E,CAKA,OAFA4C,EAAM6C,QAAQC,KAAK,gBAEZ9C,CACX,C,qqFC1QKlE,OAAOkH,aACVlH,OAAOkH,WAAa,IAEtBlH,OAAOkH,WAAW9E,MAAK,SAAS+E,EAAcC,GAC5C,IAAMC,EAAkBD,EAAkBE,SASpCC,EAAe,SAAAC,GAAA,SAAAD,IAAA,O,4FAAAE,CAAA,KAAAF,GAAAG,EAAA,KAAAH,EAAAI,UAAA,Q,sRAAAC,CAAAL,EAAAC,G,EAAAD,E,EAkFlB,EAAAM,IAAA,aAAAC,IA5ED,WACE,MAAO,CACLC,KAAM,eACNC,KAAM,CACJC,QAAS,oBAGf,K,EAbmB,EAAAJ,IAAA,YAAAK,MAmBnB,WACElI,OAAOmI,UAAUC,SAAW,CAAC,CAC/B,GAEA,CAAAP,IAAA,QAAAK,MAIA,WACE,IAAAG,EAAsCC,KAAKC,OAAnCL,EAAKG,EAALH,MAAOM,EAAQH,EAARG,SAAaC,EAAKC,EAAAL,EAAAM,GAGjCL,KAAKM,QAAO,GAAA/H,OAAMyH,KAAKpF,GAAE,UAEzBoF,KAAKO,MAAQP,KAAKQ,OAAO,QAAS,KAAM,CACtC5D,KAAMA,KACNhC,GAAIoF,KAAKM,QACTG,KAAM,SACNb,MAAQM,GAAYA,EAAS,IAAON,GAAS,KAG/C,IAAMc,EAAMV,KAAKQ,OACf,QAAQ,cAADjI,OAEJ4H,EAAMvF,GAAE,sFAAArC,OACR4H,EAAMvF,GAAE,gCAAArC,OAA+B4H,EAAMQ,MAAQ,EAAC,qBAAApI,OACtD4H,EAAMvF,GAAE,iDAEX,CAAE6F,KAAM,aAEJG,EAAYC,EAAAA,EAAA,GAAOV,GAAK,IAAE,eAAgB,SAGhD,OADAH,KAAKc,QAAUd,KAAKQ,OAAO,MAAO,KAAMI,GACjCZ,KAAKQ,OAAO,MAAO,CAACE,EAAKV,KAAKO,MAAOP,KAAKc,SAAUX,EAC7D,GAEA,CAAAZ,IAAA,WAAAK,MAKA,SAASmB,GAqBP,OAnBIrJ,OAAOmI,UAAUC,SAASE,KAAKpF,IAKnClD,OAAOmI,UAAUjE,MAAMoE,KAAKpF,IAAM,CAAC,EACpBlD,OAAOmI,UAAUjE,MAAMoE,KAAKpF,IAEpCoG,SAAWnJ,EAAkBmI,KAAKc,SAWlCC,CACT,M,yFArEC,CAbkB,CAAShC,GAsF9BA,EAAgBkC,SAAS,WAAYhC,EAAiB,WACxD,G,2vBC7GAiC,EAAQ,OACmD,IAEtCC,EAAoB,WAItC,O,EAHD,SAAAA,EAAYC,I,4FAAmBjC,CAAA,KAAAgC,GAC7BnB,KAAKoB,kBAAoBA,GAAqB,8BAC9CpB,KAAKqB,KAAOrB,KAAKsB,QAAQ5J,OAAOC,eAAe4J,cACjD,G,EAAC,EAAAhC,IAAA,UAAAK,MAED,SAAQyB,GACN,IAAMG,EAAQ,CAEZ,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,QAAS,QACT,GAAM,SAER,OAAIA,EAAMH,GACDG,EAAMH,GAEXG,EAAMH,EAAKI,OAAO,EAAG,IAChBD,EAAMH,EAAKI,OAAO,EAAG,IAEvB,OACT,GAEA,CAAAlC,IAAA,YAAAK,MAIA,SAAU3H,GACR,IAAMyJ,EAAM1J,EAAE,SACV2J,EAAM,KACNC,EAAO,KACPC,EAAM,KACNC,EAAQ,KACRvC,EAAM,KACNwC,EAAQ,KACR/I,EAAO,KACPuD,EAAM,KAIV,IAAKgD,KAHLmC,EAAIjF,KAAK,QAAS,iCAClBiF,EAAIjF,KAAK,iBAAkB,mBAC3BiF,EAAIjF,KAAK,eAAgB/E,OAAOC,eAAeqK,SACnC/J,EAMV,GAHuB,aAAnBA,EAAKsH,GAAKkB,MAA6C,aAAtBxI,EAAKsH,GAAK0C,UAC7ChK,EAAKsH,GAAKW,SAAW,CAAClI,EAAE,IAADO,OAAKN,EAAKsH,GAAK3C,KAAI,WAAUL,QAElDtE,EAAKsH,GAAKW,UAAYjI,EAAKsH,GAAKW,SAASjE,OAAQ,CAMnD,IAAKM,KALLsF,EAAM7J,EAAE,UACJgB,KAAKf,EAAKsH,GAAKwC,OACnBF,EAAIpF,KAAK,OAAQxE,EAAKsH,GAAK3C,MAC3B+E,EAAM3J,EAAE,SAEIC,EAAKsH,GAAKW,SACpB0B,EAAO5J,EAAE,UACT+J,EAAQ9J,EAAKsH,GAAKW,SAAS3D,GAC3BvD,EAAO,KACHf,EAAKsH,GAAK2C,QACZJ,EAAQ7J,EAAKsH,GAAK2C,OAAOC,MAAK,SAACC,GAAG,OAAKA,EAAIxC,QAAUmC,CAAK,OAExD/I,EAAO+I,EACPA,EAAQD,EAAMC,OAEY,SAAnB9J,EAAKsH,GAAKkB,MAAmBsB,IACtCD,EAAQ,IAAIO,KAAKN,GAAOO,wBAEtBtJ,EAAO+I,EACPA,EAAQD,GAIW,aAAnB7J,EAAKsH,GAAKkB,MAA6C,aAAtBxI,EAAKsH,GAAK0C,QAC7CL,EAAKW,KAAKR,GAEVH,EAAK5I,KAAK+I,GAER/I,GACF4I,EAAKnF,KAAK,MAAOzD,GAEnB2I,EAAIa,OAAOZ,GAEbD,EAAIlF,KAAK,KAAMxE,EAAKsH,GAAK3C,MACzB+E,EAAIlF,KAAK,OAAQxE,EAAKsH,GAAKkB,MAC3BiB,EAAIc,OAAOX,GACXH,EAAIc,OAAOb,EACb,CAEF,MAAM,QAANpJ,OAAemJ,EAAI,GAAGe,UAAS,SACjC,GAAC,CAAAlD,IAAA,iBAAAK,MAED,WAAkB,IAAD8C,EAAA,KACf,QAAK1C,KAAK2C,aAQV3C,KAAK2C,WAAWR,KAAK,+BAA+BS,MAAK,SAACC,EAAMC,GAC9D,IAAMC,EAAS/K,EAAE,8BAA+B8K,GAC1C7K,EAAOyK,EAAKM,KAAKb,MAAK,SAACC,GAAG,MAAkB,mBAAbA,EAAI3B,IAAyB,IAC9DyB,EAASjK,EAAKiI,SAClB,GAAK6C,EAAO9G,QAAWhE,GAASiK,EAAhC,CAIAa,EAAOH,MAAK,SAACK,EAAM1C,GACjB,IAAI7G,EAAQwI,EAAOgB,QAAQ3C,EAAMX,OAC7BlG,GAAS,GACXwI,EAAOiB,OAAOzJ,EAAO,GAEhB6G,EAAM6C,SACVpL,EAAEuI,GAAO8C,SACD9C,EAAM6C,SAChBpL,EAAEuI,GAAO8C,OACZ,IAGA,IAAMC,EAActL,EAAE,gBAAiB+K,EAAOQ,UAAU,GAClDC,EAAWxL,EAAE,aAAc+K,EAAOQ,UAAU,GAC5CE,EAAYvB,EAAOwB,KAAK,KAE1BJ,IACEG,GACFH,EAAYF,SAAU,EACtBE,EAAY1D,MAAQ6D,EACpBD,EAAS5D,MAAQ6D,IAEjBH,EAAYF,SAAU,EACtBE,EAAY1D,MAAQ,GACpB4D,EAAS5D,MAAQ,IA1BrB,CA6BF,IAMAI,KAAK2C,WAAWR,KAAK,sCAAsCpE,GAAG,SAAS,SAACwC,GACvDvI,EAAEuI,EAAMoD,eACDC,QAAQ,4BACvBzB,KAAK,SAASS,MAAK,SAACC,EAAMgB,GAC/B,IAAMjH,EAAO5E,EAAE6L,GAAOpH,KAAK,QACvBG,GAAQA,EAAKkH,SAAS,OACxB9L,EAAE6L,GAAOpH,KAAK,OAAQG,EAAKmH,MAAM,GAAI,GAEzC,GACF,IACO/D,KACT,GAEA,CAAAT,IAAA,YAAAK,MACA,WACE,IAAKI,KAAK2C,WACR,OAAO,EAET,IACMqB,EADQhE,KAAK2C,WAAWiB,QAAQ,QAClBzB,KAAK,eAAD5J,OAAgByH,KAAKiE,SAAShM,KAAK,QAAO,OAOlE,OANI+L,EAAM/H,QAAU+D,KAAKgB,WACvBhB,KAAKgD,KAAOhD,KAAKgB,SAASd,SAC1B8D,EAAMzH,IAAIyD,KAAKkE,UAAUlE,KAAKgD,OAC9BhD,KAAKiE,SAAShM,KAAK,OAAQ+H,KAAKgD,OAG3BhD,IACT,GAAC,CAAAT,IAAA,OAAAK,MAED,SAAKqE,GACHjE,KAAKiE,SAAWA,EAChBjE,KAAKgD,KAAOiB,EAAShM,KAAK,QACrB+H,KAAK2C,aACR3C,KAAK2C,WAAa3K,EAAEgI,KAAKoB,oBAI3BpB,KAAKgB,SAAWhB,KAAK2C,WAAWwB,WAAW,CACzCzE,KAAM,CACJ0E,OAAQpE,KAAKqB,KACbgD,SAAU,6DAEZC,SAAUtE,KAAKgD,KACfuB,QAAQ,IAEVvE,KAAKwE,gBACP,M,yFAAC,CAnNsC,GCDzC9M,OAAOC,eAAewJ,qBAAuBzJ,OAAOC,eAAewJ,sBAAwB,IAAIA,EAE/FnJ,GAAE,WAEA,IAAIyM,EAAMzM,EAAE,8BAA+B,yBACtCyM,EAAIxI,SACPwI,EAAMzM,EAAE,iCAEVN,OAAOC,eAAewJ,qBAAqBuD,KAAKD,GAEhD/M,OAAOC,eAAewJ,qBAAqBwB,WAAWiB,QAAQ,QAAQ7F,GAAG,UAAU,SAACgD,GAC9EA,EAAIjF,OAAO6I,gBAEbjN,OAAOC,eAAewJ,qBAAqByD,aAE3C7D,EAAIpF,iBACJoF,EAAIjF,OAAO+I,iBAEf,GACF,G","sources":["webpack://decidim-app/./app/packs/src/decidim/decidim_awesome/editors/editor.js","webpack://decidim-app/../../usr/local/rvm/gems/ruby-3.0.2/gems/decidim-decidim_awesome-0.10.2/app/packs/src/decidim/decidim_awesome/forms/rich_text_plugin.js","webpack://decidim-app/../../usr/local/rvm/gems/ruby-3.0.2/gems/decidim-decidim_awesome-0.10.2/app/packs/src/decidim/decidim_awesome/forms/custom_fields_renderer.js","webpack://decidim-app/../../usr/local/rvm/gems/ruby-3.0.2/gems/decidim-decidim_awesome-0.10.2/app/packs/src/decidim/decidim_awesome/proposals/custom_fields.js"],"sourcesContent":["/* eslint-disable require-jsdoc, func-style */\n\n/*\n* Since version 0.25 we follow a different strategy and opt to destroy and override completely the original editor\n* That's because editors are instantiated directly instead of creating a global function to instantiate them\n*/\n\nimport lineBreakButtonHandler from \"src/decidim/editor/linebreak_module\"\nimport InscrybMDE from \"inscrybmde\"\nimport Europa from \"europa\"\nimport \"inline-attachment/src/inline-attachment\";\nimport \"inline-attachment/src/codemirror-4.inline-attachment\";\nimport \"inline-attachment/src/jquery.inline-attachment\";\nimport hljs from \"highlight.js\";\nimport \"highlight.js/styles/github.css\";\nimport \"src/decidim/editor/clipboard_override\"\nimport \"src/decidim/vendor/image-resize.min\"\nimport \"src/decidim/vendor/image-upload.min\"\nimport { marked } from \"marked\";\n\nconst DecidimAwesome = window.DecidimAwesome || {};\nconst quillFormats = [\"bold\", \"italic\", \"link\", \"underline\", \"header\", \"list\", \"video\", \"image\", \"alt\", \"break\", \"width\", \"style\", \"code\", \"blockquote\", \"indent\"];\n\n// A tricky way to destroy the quill editor\nexport function destroyQuillEditor(container) {\n if (container) {\n const content = $(container).find(\".ql-editor\").html();\n $(container).html(content);\n $(container).siblings(\".ql-toolbar\").remove();\n $(container).find(\"*[class*='ql-']\").removeClass((index, className) => (className.match(/(^|\\s)ql-\\S+/g) || []).join(\" \"));\n $(container).removeClass((index, className) => (className.match(/(^|\\s)ql-\\S+/g) || []).join(\" \"));\n if ($(container).next().is(\"p.help-text\")) {\n $(container).next().remove();\n }\n }\n else {\n console.error(`editor [${container}] not exists`);\n }\n}\n\nexport function createQuillEditor(container) {\n const toolbar = $(container).data(\"toolbar\");\n const disabled = $(container).data(\"disabled\");\n \n const allowedEmptyContentSelector = \"iframe\";\n let quillToolbar = [\n [\"bold\", \"italic\", \"underline\", \"linebreak\",],\n [{ list: \"ordered\" }, { list: \"bullet\" }],\n [\"link\", \"clean\"],\n [\"code\", \"blockquote\"],\n [{ \"indent\": \"-1\" }, { \"indent\": \"+1\" }],\n [{ 'savedDataset': \"openModal\" }]\n ]\n \n let addImage = $(container).data(\"editorImages\");\n \n if (toolbar === \"full\") {\n quillToolbar = [\n [{ header: [2, 3, 4, 5, 6, false] }],\n ...quillToolbar,\n [\"video\"]\n ];\n } else if (toolbar === \"basic\") {\n quillToolbar = [\n ...quillToolbar,\n [\"video\"]\n ];\n }\n \n \n let modalData = [];\n let hasFetched = false; // Add this flag\n \n // Function to fetch data\n function fetchData() {\n if (!hasFetched) { // Check if fetch hasn't been performed yet\n fetch('/idra_update', {\n method: 'GET'\n })\n .then(response => {\n if (response.ok) {\n return response.text(); // Assuming the response is HTML\n } else {\n throw new Error('Failed to fetch the updated content');\n }\n })\n .then(data => {\n const parser = new DOMParser();\n const doc = parser.parseFromString(data, 'text/html');\n const datasetElements = doc.querySelectorAll('#datasets-list a');\n const urlElements = doc.querySelectorAll('#datasets-list #url');\n \n datasetElements.forEach((dataset, index) => {\n const title = dataset.textContent;\n const url = urlElements[index].textContent;\n modalData.push({ title, url });\n });\n })\n .catch(error => {\n console.error('Error updating partial view:', error);\n });\n \n hasFetched = true; // Set the flag to indicate that fetch has been performed\n }\n }\n \n // Call the fetchData function\n fetchData();\n \n \n // Function to create and display the modal\n function openModal() {\n // Create a modal container\n var modalContainer = document.createElement('div');\n modalContainer.classList.add('modal-container');\n \n // Create a modal element\n var modal = document.createElement('div');\n modal.classList.add('modal');\n \n // Modal content\n var modalContent = document.createElement('div');\n modalContent.classList.add('modal-content');\n modalContent.id = 'modalContent';\n \n // Create an unordered list to display the elements as a list\n // Create a div for the links\n var linksDiv = document.createElement('div');\n linksDiv.classList.add('links-column');\n \n var titleElement = document.createElement('h1');\n titleElement.textContent = \"Saved Dataset\";\n linksDiv.appendChild(titleElement);\n titleElement.className = \"text-center\"\n \n var descriptionElement = document.createElement(\"h5\")\n descriptionElement.textContent = \"Select a dataset to insert in text editor:\"\n descriptionElement.style.color = \"gray\"\n linksDiv.appendChild(descriptionElement)\n \n // Loop through modalData array and create links with click event listeners\n modalData.forEach(function (element) {\n var link = document.createElement('a');\n link.href = element.url; // URL as the href attribute of the link\n link.textContent = element.title; // Title as the visible text of the link\n linksDiv.appendChild(link);\n \n link.addEventListener('click', function (event) {\n event.preventDefault(); // Prevent default navigation behavior\n \n copyAndPasteText(element.title, element.url);\n modalContainer.style.display = 'none'; // Close the modal\n });\n \n if (element !== modalData[modalData.length - 1]) {\n linksDiv.appendChild(document.createElement('br'));\n }\n });\n \n \n // Function to copy and paste the text into the Quill editor\n function copyAndPasteText(title, url) {\n const range = quill.getSelection();\n \n const linkFormat = {\n link: url,\n target: '_blank',\n };\n \n quill.insertText(range.index, title, linkFormat);\n quill.setSelection(range.index, title.length, 'user');\n }\n modalContent.appendChild(linksDiv);\n modal.appendChild(modalContent);\n modalContainer.appendChild(modal);\n document.body.appendChild(modalContainer);\n \n // Open the modal\n modalContainer.style.display = 'block';\n \n // Close modal when clicking outside the modal\n window.addEventListener('click', function (event) {\n if (event.target == modalContainer) {\n modalContainer.style.display = 'none';\n }\n });\n }\n \n \n let modules = {\n linebreak: {},\n toolbar: {\n container: quillToolbar,\n handlers: {\n \"linebreak\": lineBreakButtonHandler,\n \"savedDataset\": openModal,\n }\n }\n };\n \n \n \n \n const $input = $(container).siblings('input[type=\"hidden\"]');\n container.innerHTML = $input.val() || \"\";\n const token = $('meta[name=\"csrf-token\"]').attr(\"content\");\n if (addImage) {\n modules.imageResize = {\n modules: [\"Resize\", \"DisplaySize\"]\n }\n modules.imageUpload = {\n url: $(container).data(\"uploadImagesPath\"),\n method: \"POST\",\n name: \"image\",\n withCredentials: false,\n headers: { \"X-CSRF-Token\": token },\n callbackOK: (serverResponse, next) => {\n $(\"div.ql-toolbar\").last().removeClass(\"editor-loading\")\n next(serverResponse.url);\n },\n callbackKO: (serverError) => {\n $(\"div.ql-toolbar\").last().removeClass(\"editor-loading\")\n console.log(`Image upload error: ${serverError.message}`);\n },\n checkBeforeSend: (file, next) => {\n $(\"div.ql-toolbar\").last().addClass(\"editor-loading\")\n next(file);\n }\n }\n }\n const quill = new Quill(container, {\n modules: modules,\n formats: quillFormats,\n theme: \"snow\"\n });\n \n \n \n if (disabled) {\n quill.disable();\n }\n \n quill.on(\"text-change\", () => {\n const text = quill.getText();\n \n // Triggers CustomEvent with the cursor position\n // It is required in input_mentions.js\n let event = new CustomEvent(\"quill-position\", {\n detail: quill.getSelection()\n });\n container.dispatchEvent(event);\n \n if ((text === \"\\n\" || text === \"\\n\\n\") && quill.root.querySelectorAll(allowedEmptyContentSelector).length === 0) {\n $input.val(\"\");\n } else {\n const emptyParagraph = \"


\";\n const cleanHTML = quill.root.innerHTML.replace(\n new RegExp(`^${emptyParagraph}|${emptyParagraph}$`, \"g\"),\n \"\"\n );\n $input.val(cleanHTML);\n }\n });\n // After editor is ready, linebreak_module deletes two extraneous new lines\n quill.emitter.emit(\"editor-ready\");\n \n if (addImage) {\n const text = $(container).data(\"dragAndDropHelpText\");\n $(container).after(`

${text}

`);\n }\n \n // After editor is ready, linebreak_module deletes two extraneous new lines\n quill.emitter.emit(\"editor-ready\");\n \n return quill;\n}\n\nexport function createMarkdownEditor(container) {\n const text = DecidimAwesome.texts.drag_and_drop_image;\n const token = $('meta[name=\"csrf-token\"]').attr(\"content\");\n const $input = $(container).siblings('input[type=\"hidden\"]');\n const $faker = $('