| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293 |
- /******/ (function(modules) { // webpackBootstrap
- /******/ // install a JSONP callback for chunk loading
- /******/ function webpackJsonpCallback(data) {
- /******/ var chunkIds = data[0];
- /******/ var moreModules = data[1];
- /******/ var executeModules = data[2];
- /******/
- /******/ // add "moreModules" to the modules object,
- /******/ // then flag all "chunkIds" as loaded and fire callback
- /******/ var moduleId, chunkId, i = 0, resolves = [];
- /******/ for(;i < chunkIds.length; i++) {
- /******/ chunkId = chunkIds[i];
- /******/ if(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {
- /******/ resolves.push(installedChunks[chunkId][0]);
- /******/ }
- /******/ installedChunks[chunkId] = 0;
- /******/ }
- /******/ for(moduleId in moreModules) {
- /******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
- /******/ modules[moduleId] = moreModules[moduleId];
- /******/ }
- /******/ }
- /******/ if(parentJsonpFunction) parentJsonpFunction(data);
- /******/
- /******/ while(resolves.length) {
- /******/ resolves.shift()();
- /******/ }
- /******/
- /******/ // add entry modules from loaded chunk to deferred list
- /******/ deferredModules.push.apply(deferredModules, executeModules || []);
- /******/
- /******/ // run deferred modules when all chunks ready
- /******/ return checkDeferredModules();
- /******/ };
- /******/ function checkDeferredModules() {
- /******/ var result;
- /******/ for(var i = 0; i < deferredModules.length; i++) {
- /******/ var deferredModule = deferredModules[i];
- /******/ var fulfilled = true;
- /******/ for(var j = 1; j < deferredModule.length; j++) {
- /******/ var depId = deferredModule[j];
- /******/ if(installedChunks[depId] !== 0) fulfilled = false;
- /******/ }
- /******/ if(fulfilled) {
- /******/ deferredModules.splice(i--, 1);
- /******/ result = __webpack_require__(__webpack_require__.s = deferredModule[0]);
- /******/ }
- /******/ }
- /******/
- /******/ return result;
- /******/ }
- /******/
- /******/ // The module cache
- /******/ var installedModules = {};
- /******/
- /******/ // object to store loaded and loading chunks
- /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
- /******/ // Promise = chunk loading, 0 = chunk loaded
- /******/ var installedChunks = {
- /******/ "js/app": 0
- /******/ };
- /******/
- /******/ var deferredModules = [];
- /******/
- /******/ // The require function
- /******/ function __webpack_require__(moduleId) {
- /******/
- /******/ // Check if module is in cache
- /******/ if(installedModules[moduleId]) {
- /******/ return installedModules[moduleId].exports;
- /******/ }
- /******/ // Create a new module (and put it into the cache)
- /******/ var module = installedModules[moduleId] = {
- /******/ i: moduleId,
- /******/ l: false,
- /******/ exports: {}
- /******/ };
- /******/
- /******/ // Execute the module function
- /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
- /******/
- /******/ // Flag the module as loaded
- /******/ module.l = true;
- /******/
- /******/ // Return the exports of the module
- /******/ return module.exports;
- /******/ }
- /******/
- /******/
- /******/ // expose the modules object (__webpack_modules__)
- /******/ __webpack_require__.m = modules;
- /******/
- /******/ // expose the module cache
- /******/ __webpack_require__.c = installedModules;
- /******/
- /******/ // define getter function for harmony exports
- /******/ __webpack_require__.d = function(exports, name, getter) {
- /******/ if(!__webpack_require__.o(exports, name)) {
- /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
- /******/ }
- /******/ };
- /******/
- /******/ // define __esModule on exports
- /******/ __webpack_require__.r = function(exports) {
- /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
- /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
- /******/ }
- /******/ Object.defineProperty(exports, '__esModule', { value: true });
- /******/ };
- /******/
- /******/ // create a fake namespace object
- /******/ // mode & 1: value is a module id, require it
- /******/ // mode & 2: merge all properties of value into the ns
- /******/ // mode & 4: return value when already ns object
- /******/ // mode & 8|1: behave like require
- /******/ __webpack_require__.t = function(value, mode) {
- /******/ if(mode & 1) value = __webpack_require__(value);
- /******/ if(mode & 8) return value;
- /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
- /******/ var ns = Object.create(null);
- /******/ __webpack_require__.r(ns);
- /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
- /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
- /******/ return ns;
- /******/ };
- /******/
- /******/ // getDefaultExport function for compatibility with non-harmony modules
- /******/ __webpack_require__.n = function(module) {
- /******/ var getter = module && module.__esModule ?
- /******/ function getDefault() { return module['default']; } :
- /******/ function getModuleExports() { return module; };
- /******/ __webpack_require__.d(getter, 'a', getter);
- /******/ return getter;
- /******/ };
- /******/
- /******/ // Object.prototype.hasOwnProperty.call
- /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
- /******/
- /******/ // __webpack_public_path__
- /******/ __webpack_require__.p = "/";
- /******/
- /******/ var jsonpArray = window["webpackJsonp"] = window["webpackJsonp"] || [];
- /******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);
- /******/ jsonpArray.push = webpackJsonpCallback;
- /******/ jsonpArray = jsonpArray.slice();
- /******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);
- /******/ var parentJsonpFunction = oldJsonpFunction;
- /******/
- /******/
- /******/ // add entry module to deferred list
- /******/ deferredModules.push(["./src/client/js/app.jsx","styles/style-commons","js/commons","js/vendors"]);
- /******/ // run deferred modules when ready
- /******/ return checkDeferredModules();
- /******/ })
- /************************************************************************/
- /******/ ({
- /***/ "./config sync recursive ^\\.\\/env\\..*$":
- /*!***********************************!*\
- !*** ./config sync ^\.\/env\..*$ ***!
- \***********************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- eval("var map = {\n\t\"./env.dev\": \"./config/env.dev.js\",\n\t\"./env.dev.js\": \"./config/env.dev.js\",\n\t\"./env.prod\": \"./config/env.prod.js\",\n\t\"./env.prod.js\": \"./config/env.prod.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./config sync recursive ^\\\\.\\\\/env\\\\..*$\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9jb25maWcgc3luYyByZWN1cnNpdmUgXlxcLlxcL2VudlxcLi4qJC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2NvbmZpZyBzeW5jIF5cXC5cXC9lbnZcXC4uKiQ/MjA4YiJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgbWFwID0ge1xuXHRcIi4vZW52LmRldlwiOiBcIi4vY29uZmlnL2Vudi5kZXYuanNcIixcblx0XCIuL2Vudi5kZXYuanNcIjogXCIuL2NvbmZpZy9lbnYuZGV2LmpzXCIsXG5cdFwiLi9lbnYucHJvZFwiOiBcIi4vY29uZmlnL2Vudi5wcm9kLmpzXCIsXG5cdFwiLi9lbnYucHJvZC5qc1wiOiBcIi4vY29uZmlnL2Vudi5wcm9kLmpzXCJcbn07XG5cblxuZnVuY3Rpb24gd2VicGFja0NvbnRleHQocmVxKSB7XG5cdHZhciBpZCA9IHdlYnBhY2tDb250ZXh0UmVzb2x2ZShyZXEpO1xuXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhpZCk7XG59XG5mdW5jdGlvbiB3ZWJwYWNrQ29udGV4dFJlc29sdmUocmVxKSB7XG5cdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8obWFwLCByZXEpKSB7XG5cdFx0dmFyIGUgPSBuZXcgRXJyb3IoXCJDYW5ub3QgZmluZCBtb2R1bGUgJ1wiICsgcmVxICsgXCInXCIpO1xuXHRcdGUuY29kZSA9ICdNT0RVTEVfTk9UX0ZPVU5EJztcblx0XHR0aHJvdyBlO1xuXHR9XG5cdHJldHVybiBtYXBbcmVxXTtcbn1cbndlYnBhY2tDb250ZXh0LmtleXMgPSBmdW5jdGlvbiB3ZWJwYWNrQ29udGV4dEtleXMoKSB7XG5cdHJldHVybiBPYmplY3Qua2V5cyhtYXApO1xufTtcbndlYnBhY2tDb250ZXh0LnJlc29sdmUgPSB3ZWJwYWNrQ29udGV4dFJlc29sdmU7XG5tb2R1bGUuZXhwb3J0cyA9IHdlYnBhY2tDb250ZXh0O1xud2VicGFja0NvbnRleHQuaWQgPSBcIi4vY29uZmlnIHN5bmMgcmVjdXJzaXZlIF5cXFxcLlxcXFwvZW52XFxcXC4uKiRcIjsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./config sync recursive ^\\.\\/env\\..*$\n");
- /***/ }),
- /***/ "./config/env.dev.js":
- /*!***************************!*\
- !*** ./config/env.dev.js ***!
- \***************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- eval("module.exports = {\n NODE_ENV: 'development',\n FILE_UPLOAD: 'mongodb',\n // MONGO_GRIDFS_TOTAL_LIMIT: 10485760, // 10MB\n MATHJAX: 1,\n // NO_CDN: true,\n MONGO_URI: 'mongodb://mongo:27017/growi',\n // REDIS_URI: 'http://redis:6379',\n // NCHAN_URI: 'http://nchan',\n ELASTICSEARCH_URI: 'http://elasticsearch:9200/growi',\n HACKMD_URI: 'http://localhost:3010',\n HACKMD_URI_FOR_SERVER: 'http://hackmd:3000',\n // DRAWIO_URI: 'http://localhost:8080/?offline=1&https=0',\n // S2SMSG_PUBSUB_SERVER_TYPE: 'nchan',\n // PUBLISH_OPEN_API: true,\n // USER_UPPER_LIMIT: 0,\n // DEV_HTTPS: true,\n // FORCE_WIKI_MODE: 'private', // 'public', 'private', undefined\n // PROMSTER_ENABLED: true,\n // SLACK_SIGNING_SECRET: '',\n // SLACK_BOT_TOKEN: '',\n SALT_FOR_GTOP_TOKEN: 'proxy',\n SALT_FOR_PTOG_TOKEN: 'growi' // GROWI_CLOUD_URI: 'http://growi.cloud',\n // GROWI_APP_ID_FOR_GROWI_CLOUD: '012345',\n\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9jb25maWcvZW52LmRldi5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2NvbmZpZy9lbnYuZGV2LmpzPzQ3MTEiXSwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSB7XG4gIE5PREVfRU5WOiAnZGV2ZWxvcG1lbnQnLFxuICBGSUxFX1VQTE9BRDogJ21vbmdvZGInLFxuICAvLyBNT05HT19HUklERlNfVE9UQUxfTElNSVQ6IDEwNDg1NzYwLCAgIC8vIDEwTUJcbiAgTUFUSEpBWDogMSxcbiAgLy8gTk9fQ0ROOiB0cnVlLFxuICBNT05HT19VUkk6ICdtb25nb2RiOi8vbW9uZ286MjcwMTcvZ3Jvd2knLFxuICAvLyBSRURJU19VUkk6ICdodHRwOi8vcmVkaXM6NjM3OScsXG4gIC8vIE5DSEFOX1VSSTogJ2h0dHA6Ly9uY2hhbicsXG4gIEVMQVNUSUNTRUFSQ0hfVVJJOiAnaHR0cDovL2VsYXN0aWNzZWFyY2g6OTIwMC9ncm93aScsXG4gIEhBQ0tNRF9VUkk6ICdodHRwOi8vbG9jYWxob3N0OjMwMTAnLFxuICBIQUNLTURfVVJJX0ZPUl9TRVJWRVI6ICdodHRwOi8vaGFja21kOjMwMDAnLFxuICAvLyBEUkFXSU9fVVJJOiAnaHR0cDovL2xvY2FsaG9zdDo4MDgwLz9vZmZsaW5lPTEmaHR0cHM9MCcsXG4gIC8vIFMyU01TR19QVUJTVUJfU0VSVkVSX1RZUEU6ICduY2hhbicsXG4gIC8vIFBVQkxJU0hfT1BFTl9BUEk6IHRydWUsXG4gIC8vIFVTRVJfVVBQRVJfTElNSVQ6IDAsXG4gIC8vIERFVl9IVFRQUzogdHJ1ZSxcbiAgLy8gRk9SQ0VfV0lLSV9NT0RFOiAncHJpdmF0ZScsIC8vICdwdWJsaWMnLCAncHJpdmF0ZScsIHVuZGVmaW5lZFxuICAvLyBQUk9NU1RFUl9FTkFCTEVEOiB0cnVlLFxuICAvLyBTTEFDS19TSUdOSU5HX1NFQ1JFVDogJycsXG4gIC8vIFNMQUNLX0JPVF9UT0tFTjogJycsXG4gIFNBTFRfRk9SX0dUT1BfVE9LRU46ICdwcm94eScsXG4gIFNBTFRfRk9SX1BUT0dfVE9LRU46ICdncm93aScsXG4gIC8vIEdST1dJX0NMT1VEX1VSSTogJ2h0dHA6Ly9ncm93aS5jbG91ZCcsXG4gIC8vIEdST1dJX0FQUF9JRF9GT1JfR1JPV0lfQ0xPVUQ6ICcwMTIzNDUnLFxufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUF6QkEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./config/env.dev.js\n");
- /***/ }),
- /***/ "./config/env.prod.js":
- /*!****************************!*\
- !*** ./config/env.prod.js ***!
- \****************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- eval("module.exports = {\n NODE_ENV: 'production' // FORMAT_NODE_LOG: false, // default: true\n\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9jb25maWcvZW52LnByb2QuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9jb25maWcvZW52LnByb2QuanM/MTFhYyJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHtcbiAgTk9ERV9FTlY6ICdwcm9kdWN0aW9uJyxcbiAgLy8gRk9STUFUX05PREVfTE9HOiBmYWxzZSwgLy8gZGVmYXVsdDogdHJ1ZVxufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBRkEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./config/env.prod.js\n");
- /***/ }),
- /***/ "./config/index.js":
- /*!*************************!*\
- !*** ./config/index.js ***!
- \*************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- eval("function envShortName() {\n switch (\"development\") {\n case 'production':\n return 'prod';\n\n default:\n return 'dev';\n }\n}\n\nmodule.exports = {\n env: __webpack_require__(\"./config sync recursive ^\\\\.\\\\/env\\\\..*$\")(`./env.${envShortName()}`),\n logger: __webpack_require__(\"./config/logger sync recursive ^\\\\.\\\\/config\\\\..*$\")(`./config.${envShortName()}`)\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9jb25maWcvaW5kZXguanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9jb25maWcvaW5kZXguanM/YWNlNyJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBlbnZTaG9ydE5hbWUoKSB7XG4gIHN3aXRjaCAocHJvY2Vzcy5lbnYuTk9ERV9FTlYpIHtcbiAgICBjYXNlICdwcm9kdWN0aW9uJzpcbiAgICAgIHJldHVybiAncHJvZCc7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiAnZGV2JztcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgZW52OiByZXF1aXJlKGAuL2Vudi4ke2VudlNob3J0TmFtZSgpfWApLFxuICBsb2dnZXI6IHJlcXVpcmUoYC4vbG9nZ2VyL2NvbmZpZy4ke2VudlNob3J0TmFtZSgpfWApLFxufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFKQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFGQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./config/index.js\n");
- /***/ }),
- /***/ "./config/logger sync recursive ^\\.\\/config\\..*$":
- /*!*********************************************!*\
- !*** ./config/logger sync ^\.\/config\..*$ ***!
- \*********************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- eval("var map = {\n\t\"./config.dev\": \"./config/logger/config.dev.js\",\n\t\"./config.dev.js\": \"./config/logger/config.dev.js\",\n\t\"./config.prod\": \"./config/logger/config.prod.js\",\n\t\"./config.prod.js\": \"./config/logger/config.prod.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./config/logger sync recursive ^\\\\.\\\\/config\\\\..*$\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9jb25maWcvbG9nZ2VyIHN5bmMgcmVjdXJzaXZlIF5cXC5cXC9jb25maWdcXC4uKiQuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9jb25maWcvbG9nZ2VyIHN5bmMgXlxcLlxcL2NvbmZpZ1xcLi4qJD9mMmY3Il0sInNvdXJjZXNDb250ZW50IjpbInZhciBtYXAgPSB7XG5cdFwiLi9jb25maWcuZGV2XCI6IFwiLi9jb25maWcvbG9nZ2VyL2NvbmZpZy5kZXYuanNcIixcblx0XCIuL2NvbmZpZy5kZXYuanNcIjogXCIuL2NvbmZpZy9sb2dnZXIvY29uZmlnLmRldi5qc1wiLFxuXHRcIi4vY29uZmlnLnByb2RcIjogXCIuL2NvbmZpZy9sb2dnZXIvY29uZmlnLnByb2QuanNcIixcblx0XCIuL2NvbmZpZy5wcm9kLmpzXCI6IFwiLi9jb25maWcvbG9nZ2VyL2NvbmZpZy5wcm9kLmpzXCJcbn07XG5cblxuZnVuY3Rpb24gd2VicGFja0NvbnRleHQocmVxKSB7XG5cdHZhciBpZCA9IHdlYnBhY2tDb250ZXh0UmVzb2x2ZShyZXEpO1xuXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhpZCk7XG59XG5mdW5jdGlvbiB3ZWJwYWNrQ29udGV4dFJlc29sdmUocmVxKSB7XG5cdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8obWFwLCByZXEpKSB7XG5cdFx0dmFyIGUgPSBuZXcgRXJyb3IoXCJDYW5ub3QgZmluZCBtb2R1bGUgJ1wiICsgcmVxICsgXCInXCIpO1xuXHRcdGUuY29kZSA9ICdNT0RVTEVfTk9UX0ZPVU5EJztcblx0XHR0aHJvdyBlO1xuXHR9XG5cdHJldHVybiBtYXBbcmVxXTtcbn1cbndlYnBhY2tDb250ZXh0LmtleXMgPSBmdW5jdGlvbiB3ZWJwYWNrQ29udGV4dEtleXMoKSB7XG5cdHJldHVybiBPYmplY3Qua2V5cyhtYXApO1xufTtcbndlYnBhY2tDb250ZXh0LnJlc29sdmUgPSB3ZWJwYWNrQ29udGV4dFJlc29sdmU7XG5tb2R1bGUuZXhwb3J0cyA9IHdlYnBhY2tDb250ZXh0O1xud2VicGFja0NvbnRleHQuaWQgPSBcIi4vY29uZmlnL2xvZ2dlciBzeW5jIHJlY3Vyc2l2ZSBeXFxcXC5cXFxcL2NvbmZpZ1xcXFwuLiokXCI7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./config/logger sync recursive ^\\.\\/config\\..*$\n");
- /***/ }),
- /***/ "./config/logger/config.dev.js":
- /*!*************************************!*\
- !*** ./config/logger/config.dev.js ***!
- \*************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- eval("module.exports = {\n default: 'info',\n // 'express-session': 'debug',\n\n /*\n * configure level for server\n */\n // 'express:*': 'debug',\n // 'growi:*': 'debug',\n 'growi:crowi': 'debug',\n // 'growi:crow:dev': 'debug',\n 'growi:crowi:express-init': 'debug',\n 'growi:models:external-account': 'debug',\n // 'growi:routes:login': 'debug',\n 'growi:routes:login-passport': 'debug',\n 'growi:middleware:safe-redirect': 'debug',\n 'growi:service:PassportService': 'debug',\n 'growi:service:s2s-messaging:*': 'debug',\n // 'growi:service:socket-io': 'debug',\n // 'growi:service:ConfigManager': 'debug',\n // 'growi:service:mail': 'debug',\n 'growi:lib:search': 'debug',\n // 'growi:service:GlobalNotification': 'debug',\n // 'growi:lib:importer': 'debug',\n // 'growi:routes:page': 'debug',\n 'growi-plugin:*': 'debug',\n // 'growi:InterceptorManager': 'debug',\n\n /*\n * configure level for client\n */\n 'growi:cli:bootstrap': 'debug',\n 'growi:cli:app': 'debug',\n 'growi:services:*': 'debug' // 'growi:StaffCredit': 'debug',\n // 'growi:cli:StickyStretchableScroller': 'debug',\n\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9jb25maWcvbG9nZ2VyL2NvbmZpZy5kZXYuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9jb25maWcvbG9nZ2VyL2NvbmZpZy5kZXYuanM/NTYzZiJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHtcbiAgZGVmYXVsdDogJ2luZm8nLFxuXG4gIC8vICdleHByZXNzLXNlc3Npb24nOiAnZGVidWcnLFxuXG4gIC8qXG4gICAqIGNvbmZpZ3VyZSBsZXZlbCBmb3Igc2VydmVyXG4gICAqL1xuICAvLyAnZXhwcmVzczoqJzogJ2RlYnVnJyxcbiAgLy8gJ2dyb3dpOionOiAnZGVidWcnLFxuICAnZ3Jvd2k6Y3Jvd2knOiAnZGVidWcnLFxuICAvLyAnZ3Jvd2k6Y3JvdzpkZXYnOiAnZGVidWcnLFxuICAnZ3Jvd2k6Y3Jvd2k6ZXhwcmVzcy1pbml0JzogJ2RlYnVnJyxcbiAgJ2dyb3dpOm1vZGVsczpleHRlcm5hbC1hY2NvdW50JzogJ2RlYnVnJyxcbiAgLy8gJ2dyb3dpOnJvdXRlczpsb2dpbic6ICdkZWJ1ZycsXG4gICdncm93aTpyb3V0ZXM6bG9naW4tcGFzc3BvcnQnOiAnZGVidWcnLFxuICAnZ3Jvd2k6bWlkZGxld2FyZTpzYWZlLXJlZGlyZWN0JzogJ2RlYnVnJyxcbiAgJ2dyb3dpOnNlcnZpY2U6UGFzc3BvcnRTZXJ2aWNlJzogJ2RlYnVnJyxcbiAgJ2dyb3dpOnNlcnZpY2U6czJzLW1lc3NhZ2luZzoqJzogJ2RlYnVnJyxcbiAgLy8gJ2dyb3dpOnNlcnZpY2U6c29ja2V0LWlvJzogJ2RlYnVnJyxcbiAgLy8gJ2dyb3dpOnNlcnZpY2U6Q29uZmlnTWFuYWdlcic6ICdkZWJ1ZycsXG4gIC8vICdncm93aTpzZXJ2aWNlOm1haWwnOiAnZGVidWcnLFxuICAnZ3Jvd2k6bGliOnNlYXJjaCc6ICdkZWJ1ZycsXG4gIC8vICdncm93aTpzZXJ2aWNlOkdsb2JhbE5vdGlmaWNhdGlvbic6ICdkZWJ1ZycsXG4gIC8vICdncm93aTpsaWI6aW1wb3J0ZXInOiAnZGVidWcnLFxuICAvLyAnZ3Jvd2k6cm91dGVzOnBhZ2UnOiAnZGVidWcnLFxuICAnZ3Jvd2ktcGx1Z2luOionOiAnZGVidWcnLFxuICAvLyAnZ3Jvd2k6SW50ZXJjZXB0b3JNYW5hZ2VyJzogJ2RlYnVnJyxcblxuICAvKlxuICAgKiBjb25maWd1cmUgbGV2ZWwgZm9yIGNsaWVudFxuICAgKi9cbiAgJ2dyb3dpOmNsaTpib290c3RyYXAnOiAnZGVidWcnLFxuICAnZ3Jvd2k6Y2xpOmFwcCc6ICdkZWJ1ZycsXG4gICdncm93aTpzZXJ2aWNlczoqJzogJ2RlYnVnJyxcbiAgLy8gJ2dyb3dpOlN0YWZmQ3JlZGl0JzogJ2RlYnVnJyxcbiAgLy8gJ2dyb3dpOmNsaTpTdGlja3lTdHJldGNoYWJsZVNjcm9sbGVyJzogJ2RlYnVnJyxcblxufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFyQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./config/logger/config.dev.js\n");
- /***/ }),
- /***/ "./config/logger/config.prod.js":
- /*!**************************************!*\
- !*** ./config/logger/config.prod.js ***!
- \**************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- eval("module.exports = {\n default: 'info',\n 'growi:routes:login-passport': 'debug',\n 'growi:service:PassportService': 'debug'\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9jb25maWcvbG9nZ2VyL2NvbmZpZy5wcm9kLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vY29uZmlnL2xvZ2dlci9jb25maWcucHJvZC5qcz84MzJlIl0sInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0ge1xuICBkZWZhdWx0OiAnaW5mbycsXG5cbiAgJ2dyb3dpOnJvdXRlczpsb2dpbi1wYXNzcG9ydCc6ICdkZWJ1ZycsXG4gICdncm93aTpzZXJ2aWNlOlBhc3Nwb3J0U2VydmljZSc6ICdkZWJ1ZycsXG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBRUE7QUFDQTtBQUpBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./config/logger/config.prod.js\n");
- /***/ }),
- /***/ "./src/client/js/app.jsx":
- /*!*******************************!*\
- !*** ./src/client/js/app.jsx ***!
- \*******************************/
- /*! no exports provided */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var unstated__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! unstated */ \"./node_modules/unstated/lib/unstated.es.js\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @alias/logger */ \"./src/lib/service/logger/index.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_alias_logger__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _components_ErrorBoudary__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/ErrorBoudary */ \"./src/client/js/components/ErrorBoudary.jsx\");\n/* harmony import */ var _components_Sidebar__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components/Sidebar */ \"./src/client/js/components/Sidebar.jsx\");\n/* harmony import */ var _components_SearchPage__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components/SearchPage */ \"./src/client/js/components/SearchPage.jsx\");\n/* harmony import */ var _components_TagsList__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./components/TagsList */ \"./src/client/js/components/TagsList.jsx\");\n/* harmony import */ var _components_Page_DisplaySwitcher__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./components/Page/DisplaySwitcher */ \"./src/client/js/components/Page/DisplaySwitcher.jsx\");\n/* harmony import */ var _components_PageEditor_OptionsSelector__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./components/PageEditor/OptionsSelector */ \"./src/client/js/components/PageEditor/OptionsSelector.jsx\");\n/* harmony import */ var _components_Page__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./components/Page */ \"./src/client/js/components/Page.jsx\");\n/* harmony import */ var _components_PageComments__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./components/PageComments */ \"./src/client/js/components/PageComments.jsx\");\n/* harmony import */ var _components_PageContentFooter__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./components/PageContentFooter */ \"./src/client/js/components/PageContentFooter.jsx\");\n/* harmony import */ var _components_PageTimeline__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./components/PageTimeline */ \"./src/client/js/components/PageTimeline.jsx\");\n/* harmony import */ var _components_PageComment_CommentEditorLazyRenderer__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./components/PageComment/CommentEditorLazyRenderer */ \"./src/client/js/components/PageComment/CommentEditorLazyRenderer.jsx\");\n/* harmony import */ var _components_Page_PageManagement__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./components/Page/PageManagement */ \"./src/client/js/components/Page/PageManagement.jsx\");\n/* harmony import */ var _components_Page_ShareLinkAlert__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./components/Page/ShareLinkAlert */ \"./src/client/js/components/Page/ShareLinkAlert.jsx\");\n/* harmony import */ var _components_Page_DuplicatedAlert__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./components/Page/DuplicatedAlert */ \"./src/client/js/components/Page/DuplicatedAlert.jsx\");\n/* harmony import */ var _components_Page_RedirectedAlert__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./components/Page/RedirectedAlert */ \"./src/client/js/components/Page/RedirectedAlert.jsx\");\n/* harmony import */ var _components_Page_RenamedAlert__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./components/Page/RenamedAlert */ \"./src/client/js/components/Page/RenamedAlert.jsx\");\n/* harmony import */ var _components_TrashPageList__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./components/TrashPageList */ \"./src/client/js/components/TrashPageList.jsx\");\n/* harmony import */ var _components_Page_TrashPageAlert__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./components/Page/TrashPageAlert */ \"./src/client/js/components/Page/TrashPageAlert.jsx\");\n/* harmony import */ var _components_NotFoundPage__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./components/NotFoundPage */ \"./src/client/js/components/NotFoundPage.jsx\");\n/* harmony import */ var _components_Page_NotFoundAlert__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./components/Page/NotFoundAlert */ \"./src/client/js/components/Page/NotFoundAlert.jsx\");\n/* harmony import */ var _components_ForbiddenPage__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./components/ForbiddenPage */ \"./src/client/js/components/ForbiddenPage.jsx\");\n/* harmony import */ var _components_PageStatusAlert__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./components/PageStatusAlert */ \"./src/client/js/components/PageStatusAlert.jsx\");\n/* harmony import */ var _components_RecentCreated_RecentCreated__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./components/RecentCreated/RecentCreated */ \"./src/client/js/components/RecentCreated/RecentCreated.jsx\");\n/* harmony import */ var _components_Icons_RecentlyCreatedIcon__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./components/Icons/RecentlyCreatedIcon */ \"./src/client/js/components/Icons/RecentlyCreatedIcon.jsx\");\n/* harmony import */ var _components_MyDraftList_MyDraftList__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./components/MyDraftList/MyDraftList */ \"./src/client/js/components/MyDraftList/MyDraftList.jsx\");\n/* harmony import */ var _components_Icons_BookmarkIcon__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./components/Icons/BookmarkIcon */ \"./src/client/js/components/Icons/BookmarkIcon.jsx\");\n/* harmony import */ var _components_PageList_BookmarkList__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./components/PageList/BookmarkList */ \"./src/client/js/components/PageList/BookmarkList.jsx\");\n/* harmony import */ var _components_User_LikerList__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./components/User/LikerList */ \"./src/client/js/components/User/LikerList.jsx\");\n/* harmony import */ var _components_Fab__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./components/Fab */ \"./src/client/js/components/Fab.jsx\");\n/* harmony import */ var _components_Me_PersonalSettings__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./components/Me/PersonalSettings */ \"./src/client/js/components/Me/PersonalSettings.jsx\");\n/* harmony import */ var _components_Navbar_GrowiSubNavigation__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./components/Navbar/GrowiSubNavigation */ \"./src/client/js/components/Navbar/GrowiSubNavigation.jsx\");\n/* harmony import */ var _components_Navbar_GrowiSubNavigationSwitcher__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./components/Navbar/GrowiSubNavigationSwitcher */ \"./src/client/js/components/Navbar/GrowiSubNavigationSwitcher.jsx\");\n/* harmony import */ var _services_NavigationContainer__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./services/NavigationContainer */ \"./src/client/js/services/NavigationContainer.js\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n/* harmony import */ var _services_PageHistoryContainer__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./services/PageHistoryContainer */ \"./src/client/js/services/PageHistoryContainer.js\");\n/* harmony import */ var _services_RevisionComparerContainer__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./services/RevisionComparerContainer */ \"./src/client/js/services/RevisionComparerContainer.js\");\n/* harmony import */ var _services_CommentContainer__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./services/CommentContainer */ \"./src/client/js/services/CommentContainer.js\");\n/* harmony import */ var _services_EditorContainer__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./services/EditorContainer */ \"./src/client/js/services/EditorContainer.js\");\n/* harmony import */ var _services_TagContainer__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./services/TagContainer */ \"./src/client/js/services/TagContainer.js\");\n/* harmony import */ var _services_PersonalContainer__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./services/PersonalContainer */ \"./src/client/js/services/PersonalContainer.js\");\n/* harmony import */ var _services_PageAccessoriesContainer__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./services/PageAccessoriesContainer */ \"./src/client/js/services/PageAccessoriesContainer.js\");\n/* harmony import */ var _base__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./base */ \"./src/client/js/base.jsx\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst logger = _alias_logger__WEBPACK_IMPORTED_MODULE_4___default()('growi:cli:app');\n_base__WEBPACK_IMPORTED_MODULE_46__[\"appContainer\"].initContents();\nconst {\n i18n\n} = _base__WEBPACK_IMPORTED_MODULE_46__[\"appContainer\"];\nconst socketIoContainer = _base__WEBPACK_IMPORTED_MODULE_46__[\"appContainer\"].getContainer('SocketIoContainer'); // create unstated container instance\n\nconst navigationContainer = new _services_NavigationContainer__WEBPACK_IMPORTED_MODULE_37__[\"default\"](_base__WEBPACK_IMPORTED_MODULE_46__[\"appContainer\"]);\nconst pageContainer = new _services_PageContainer__WEBPACK_IMPORTED_MODULE_38__[\"default\"](_base__WEBPACK_IMPORTED_MODULE_46__[\"appContainer\"]);\nconst pageHistoryContainer = new _services_PageHistoryContainer__WEBPACK_IMPORTED_MODULE_39__[\"default\"](_base__WEBPACK_IMPORTED_MODULE_46__[\"appContainer\"], pageContainer);\nconst revisionComparerContainer = new _services_RevisionComparerContainer__WEBPACK_IMPORTED_MODULE_40__[\"default\"](_base__WEBPACK_IMPORTED_MODULE_46__[\"appContainer\"], pageContainer);\nconst commentContainer = new _services_CommentContainer__WEBPACK_IMPORTED_MODULE_41__[\"default\"](_base__WEBPACK_IMPORTED_MODULE_46__[\"appContainer\"]);\nconst editorContainer = new _services_EditorContainer__WEBPACK_IMPORTED_MODULE_42__[\"default\"](_base__WEBPACK_IMPORTED_MODULE_46__[\"appContainer\"], _components_PageEditor_OptionsSelector__WEBPACK_IMPORTED_MODULE_10__[\"defaultEditorOptions\"], _components_PageEditor_OptionsSelector__WEBPACK_IMPORTED_MODULE_10__[\"defaultPreviewOptions\"]);\nconst tagContainer = new _services_TagContainer__WEBPACK_IMPORTED_MODULE_43__[\"default\"](_base__WEBPACK_IMPORTED_MODULE_46__[\"appContainer\"]);\nconst personalContainer = new _services_PersonalContainer__WEBPACK_IMPORTED_MODULE_44__[\"default\"](_base__WEBPACK_IMPORTED_MODULE_46__[\"appContainer\"]);\nconst pageAccessoriesContainer = new _services_PageAccessoriesContainer__WEBPACK_IMPORTED_MODULE_45__[\"default\"](_base__WEBPACK_IMPORTED_MODULE_46__[\"appContainer\"]);\nconst injectableContainers = [_base__WEBPACK_IMPORTED_MODULE_46__[\"appContainer\"], socketIoContainer, navigationContainer, pageContainer, pageHistoryContainer, revisionComparerContainer, commentContainer, editorContainer, tagContainer, personalContainer, pageAccessoriesContainer];\nlogger.info('unstated containers have been initialized');\n/**\n * define components\n * key: id of element\n * value: React Element\n */\n\nObject.assign(_base__WEBPACK_IMPORTED_MODULE_46__[\"componentMappings\"], {\n 'grw-sidebar-wrapper': react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Sidebar__WEBPACK_IMPORTED_MODULE_6__[\"default\"], null),\n 'search-page': react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_SearchPage__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n crowi: _base__WEBPACK_IMPORTED_MODULE_46__[\"appContainer\"]\n }),\n // 'revision-history': <PageHistory pageId={pageId} />,\n 'tags-page': react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_TagsList__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n crowi: _base__WEBPACK_IMPORTED_MODULE_46__[\"appContainer\"]\n }),\n 'grw-page-status-alert-container': react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_PageStatusAlert__WEBPACK_IMPORTED_MODULE_26__[\"default\"], null),\n 'trash-page-alert': react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Page_TrashPageAlert__WEBPACK_IMPORTED_MODULE_22__[\"default\"], null),\n 'trash-page-list': react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_TrashPageList__WEBPACK_IMPORTED_MODULE_21__[\"default\"], null),\n 'not-found-page': react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_NotFoundPage__WEBPACK_IMPORTED_MODULE_23__[\"default\"], null),\n 'not-found-alert': react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Page_NotFoundAlert__WEBPACK_IMPORTED_MODULE_24__[\"default\"], {\n onPageCreateClicked: navigationContainer.setEditorMode,\n isGuestUserMode: _base__WEBPACK_IMPORTED_MODULE_46__[\"appContainer\"].isGuestUser,\n isHidden: pageContainer.state.isNotCreatable || pageContainer.state.isTrashPage\n }),\n 'forbidden-page': react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_ForbiddenPage__WEBPACK_IMPORTED_MODULE_25__[\"default\"], null),\n 'page-timeline': react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_PageTimeline__WEBPACK_IMPORTED_MODULE_14__[\"default\"], null),\n 'personal-setting': react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Me_PersonalSettings__WEBPACK_IMPORTED_MODULE_34__[\"default\"], {\n crowi: personalContainer\n }),\n 'my-drafts': react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_MyDraftList_MyDraftList__WEBPACK_IMPORTED_MODULE_29__[\"default\"], null),\n 'grw-fab-container': react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Fab__WEBPACK_IMPORTED_MODULE_33__[\"default\"], null),\n 'share-link-alert': react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Page_ShareLinkAlert__WEBPACK_IMPORTED_MODULE_17__[\"default\"], null),\n 'duplicated-alert': react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Page_DuplicatedAlert__WEBPACK_IMPORTED_MODULE_18__[\"default\"], null),\n 'redirected-alert': react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Page_RedirectedAlert__WEBPACK_IMPORTED_MODULE_19__[\"default\"], null),\n 'renamed-alert': react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Page_RenamedAlert__WEBPACK_IMPORTED_MODULE_20__[\"default\"], null)\n}); // additional definitions if data exists\n\nif (pageContainer.state.pageId != null) {\n Object.assign(_base__WEBPACK_IMPORTED_MODULE_46__[\"componentMappings\"], {\n 'page-comments-list': react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_PageComments__WEBPACK_IMPORTED_MODULE_12__[\"default\"], null),\n 'page-comment-write': react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_PageComment_CommentEditorLazyRenderer__WEBPACK_IMPORTED_MODULE_15__[\"default\"], null),\n 'page-management': react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Page_PageManagement__WEBPACK_IMPORTED_MODULE_16__[\"default\"], null),\n 'liker-list': react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_User_LikerList__WEBPACK_IMPORTED_MODULE_32__[\"default\"], null),\n 'page-content-footer': react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_PageContentFooter__WEBPACK_IMPORTED_MODULE_13__[\"default\"], null),\n 'recent-created-icon': react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icons_RecentlyCreatedIcon__WEBPACK_IMPORTED_MODULE_28__[\"default\"], null),\n 'user-bookmark-icon': react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Icons_BookmarkIcon__WEBPACK_IMPORTED_MODULE_30__[\"default\"], null)\n }); // show the Page accessory modal when query of \"compare\" is requested\n\n if (revisionComparerContainer.getRevisionIDsToCompareAsParam().length > 0) {\n pageAccessoriesContainer.openPageAccessoriesModal('pageHistory');\n }\n}\n\nif (pageContainer.state.creator != null) {\n Object.assign(_base__WEBPACK_IMPORTED_MODULE_46__[\"componentMappings\"], {\n 'user-created-list': react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_RecentCreated_RecentCreated__WEBPACK_IMPORTED_MODULE_27__[\"default\"], {\n userId: pageContainer.state.creator._id\n }),\n 'user-bookmark-list': react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_PageList_BookmarkList__WEBPACK_IMPORTED_MODULE_31__[\"default\"], {\n userId: pageContainer.state.creator._id\n })\n });\n}\n\nif (pageContainer.state.path != null) {\n Object.assign(_base__WEBPACK_IMPORTED_MODULE_46__[\"componentMappings\"], {\n // eslint-disable-next-line quote-props\n 'page': react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Page__WEBPACK_IMPORTED_MODULE_11__[\"default\"], null),\n 'grw-subnav-container': react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Navbar_GrowiSubNavigation__WEBPACK_IMPORTED_MODULE_35__[\"default\"], null),\n 'grw-subnav-switcher-container': react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Navbar_GrowiSubNavigationSwitcher__WEBPACK_IMPORTED_MODULE_36__[\"default\"], null),\n 'display-switcher': react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Page_DisplaySwitcher__WEBPACK_IMPORTED_MODULE_9__[\"default\"], null)\n });\n}\n\nObject.keys(_base__WEBPACK_IMPORTED_MODULE_46__[\"componentMappings\"]).forEach(key => {\n const elem = document.getElementById(key);\n\n if (elem) {\n react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.render(react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_i18next__WEBPACK_IMPORTED_MODULE_3__[\"I18nextProvider\"], {\n i18n: i18n\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_ErrorBoudary__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(unstated__WEBPACK_IMPORTED_MODULE_2__[\"Provider\"], {\n inject: injectableContainers\n }, _base__WEBPACK_IMPORTED_MODULE_46__[\"componentMappings\"][key]))), elem);\n }\n}); // initialize scrollpos-styler\n\nScrollPosStyler.init();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2FwcC5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2FwcC5qc3g/OGZkNSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgeyBQcm92aWRlciB9IGZyb20gJ3Vuc3RhdGVkJztcbmltcG9ydCB7IEkxOG5leHRQcm92aWRlciB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuXG5pbXBvcnQgbG9nZ2VyRmFjdG9yeSBmcm9tICdAYWxpYXMvbG9nZ2VyJztcblxuaW1wb3J0IEVycm9yQm91bmRhcnkgZnJvbSAnLi9jb21wb25lbnRzL0Vycm9yQm91ZGFyeSc7XG5pbXBvcnQgU2lkZWJhciBmcm9tICcuL2NvbXBvbmVudHMvU2lkZWJhcic7XG5pbXBvcnQgU2VhcmNoUGFnZSBmcm9tICcuL2NvbXBvbmVudHMvU2VhcmNoUGFnZSc7XG5pbXBvcnQgVGFnc0xpc3QgZnJvbSAnLi9jb21wb25lbnRzL1RhZ3NMaXN0JztcbmltcG9ydCBEaXNwbGF5U3dpdGNoZXIgZnJvbSAnLi9jb21wb25lbnRzL1BhZ2UvRGlzcGxheVN3aXRjaGVyJztcbmltcG9ydCB7IGRlZmF1bHRFZGl0b3JPcHRpb25zLCBkZWZhdWx0UHJldmlld09wdGlvbnMgfSBmcm9tICcuL2NvbXBvbmVudHMvUGFnZUVkaXRvci9PcHRpb25zU2VsZWN0b3InO1xuaW1wb3J0IFBhZ2UgZnJvbSAnLi9jb21wb25lbnRzL1BhZ2UnO1xuaW1wb3J0IFBhZ2VDb21tZW50cyBmcm9tICcuL2NvbXBvbmVudHMvUGFnZUNvbW1lbnRzJztcbmltcG9ydCBQYWdlQ29udGVudEZvb3RlciBmcm9tICcuL2NvbXBvbmVudHMvUGFnZUNvbnRlbnRGb290ZXInO1xuaW1wb3J0IFBhZ2VUaW1lbGluZSBmcm9tICcuL2NvbXBvbmVudHMvUGFnZVRpbWVsaW5lJztcbmltcG9ydCBDb21tZW50RWRpdG9yTGF6eVJlbmRlcmVyIGZyb20gJy4vY29tcG9uZW50cy9QYWdlQ29tbWVudC9Db21tZW50RWRpdG9yTGF6eVJlbmRlcmVyJztcbmltcG9ydCBQYWdlTWFuYWdlbWVudCBmcm9tICcuL2NvbXBvbmVudHMvUGFnZS9QYWdlTWFuYWdlbWVudCc7XG5pbXBvcnQgU2hhcmVMaW5rQWxlcnQgZnJvbSAnLi9jb21wb25lbnRzL1BhZ2UvU2hhcmVMaW5rQWxlcnQnO1xuaW1wb3J0IER1cGxpY2F0ZWRBbGVydCBmcm9tICcuL2NvbXBvbmVudHMvUGFnZS9EdXBsaWNhdGVkQWxlcnQnO1xuaW1wb3J0IFJlZGlyZWN0ZWRBbGVydCBmcm9tICcuL2NvbXBvbmVudHMvUGFnZS9SZWRpcmVjdGVkQWxlcnQnO1xuaW1wb3J0IFJlbmFtZWRBbGVydCBmcm9tICcuL2NvbXBvbmVudHMvUGFnZS9SZW5hbWVkQWxlcnQnO1xuaW1wb3J0IFRyYXNoUGFnZUxpc3QgZnJvbSAnLi9jb21wb25lbnRzL1RyYXNoUGFnZUxpc3QnO1xuaW1wb3J0IFRyYXNoUGFnZUFsZXJ0IGZyb20gJy4vY29tcG9uZW50cy9QYWdlL1RyYXNoUGFnZUFsZXJ0JztcbmltcG9ydCBOb3RGb3VuZFBhZ2UgZnJvbSAnLi9jb21wb25lbnRzL05vdEZvdW5kUGFnZSc7XG5pbXBvcnQgTm90Rm91bmRBbGVydCBmcm9tICcuL2NvbXBvbmVudHMvUGFnZS9Ob3RGb3VuZEFsZXJ0JztcbmltcG9ydCBGb3JiaWRkZW5QYWdlIGZyb20gJy4vY29tcG9uZW50cy9Gb3JiaWRkZW5QYWdlJztcbmltcG9ydCBQYWdlU3RhdHVzQWxlcnQgZnJvbSAnLi9jb21wb25lbnRzL1BhZ2VTdGF0dXNBbGVydCc7XG5pbXBvcnQgUmVjZW50Q3JlYXRlZCBmcm9tICcuL2NvbXBvbmVudHMvUmVjZW50Q3JlYXRlZC9SZWNlbnRDcmVhdGVkJztcbmltcG9ydCBSZWNlbnRseUNyZWF0ZWRJY29uIGZyb20gJy4vY29tcG9uZW50cy9JY29ucy9SZWNlbnRseUNyZWF0ZWRJY29uJztcbmltcG9ydCBNeURyYWZ0TGlzdCBmcm9tICcuL2NvbXBvbmVudHMvTXlEcmFmdExpc3QvTXlEcmFmdExpc3QnO1xuaW1wb3J0IEJvb2ttYXJrSWNvbiBmcm9tICcuL2NvbXBvbmVudHMvSWNvbnMvQm9va21hcmtJY29uJztcbmltcG9ydCBCb29rbWFya0xpc3QgZnJvbSAnLi9jb21wb25lbnRzL1BhZ2VMaXN0L0Jvb2ttYXJrTGlzdCc7XG5pbXBvcnQgTGlrZXJMaXN0IGZyb20gJy4vY29tcG9uZW50cy9Vc2VyL0xpa2VyTGlzdCc7XG5pbXBvcnQgRmFiIGZyb20gJy4vY29tcG9uZW50cy9GYWInO1xuaW1wb3J0IFBlcnNvbmFsU2V0dGluZ3MgZnJvbSAnLi9jb21wb25lbnRzL01lL1BlcnNvbmFsU2V0dGluZ3MnO1xuaW1wb3J0IEdyb3dpU3ViTmF2aWdhdGlvbiBmcm9tICcuL2NvbXBvbmVudHMvTmF2YmFyL0dyb3dpU3ViTmF2aWdhdGlvbic7XG5pbXBvcnQgR3Jvd2lTdWJOYXZpZ2F0aW9uU3dpdGNoZXIgZnJvbSAnLi9jb21wb25lbnRzL05hdmJhci9Hcm93aVN1Yk5hdmlnYXRpb25Td2l0Y2hlcic7XG5cbmltcG9ydCBOYXZpZ2F0aW9uQ29udGFpbmVyIGZyb20gJy4vc2VydmljZXMvTmF2aWdhdGlvbkNvbnRhaW5lcic7XG5pbXBvcnQgUGFnZUNvbnRhaW5lciBmcm9tICcuL3NlcnZpY2VzL1BhZ2VDb250YWluZXInO1xuaW1wb3J0IFBhZ2VIaXN0b3J5Q29udGFpbmVyIGZyb20gJy4vc2VydmljZXMvUGFnZUhpc3RvcnlDb250YWluZXInO1xuaW1wb3J0IFJldmlzaW9uQ29tcGFyZXJDb250YWluZXIgZnJvbSAnLi9zZXJ2aWNlcy9SZXZpc2lvbkNvbXBhcmVyQ29udGFpbmVyJztcbmltcG9ydCBDb21tZW50Q29udGFpbmVyIGZyb20gJy4vc2VydmljZXMvQ29tbWVudENvbnRhaW5lcic7XG5pbXBvcnQgRWRpdG9yQ29udGFpbmVyIGZyb20gJy4vc2VydmljZXMvRWRpdG9yQ29udGFpbmVyJztcbmltcG9ydCBUYWdDb250YWluZXIgZnJvbSAnLi9zZXJ2aWNlcy9UYWdDb250YWluZXInO1xuaW1wb3J0IFBlcnNvbmFsQ29udGFpbmVyIGZyb20gJy4vc2VydmljZXMvUGVyc29uYWxDb250YWluZXInO1xuaW1wb3J0IFBhZ2VBY2Nlc3Nvcmllc0NvbnRhaW5lciBmcm9tICcuL3NlcnZpY2VzL1BhZ2VBY2Nlc3Nvcmllc0NvbnRhaW5lcic7XG5cbmltcG9ydCB7IGFwcENvbnRhaW5lciwgY29tcG9uZW50TWFwcGluZ3MgfSBmcm9tICcuL2Jhc2UnO1xuXG5jb25zdCBsb2dnZXIgPSBsb2dnZXJGYWN0b3J5KCdncm93aTpjbGk6YXBwJyk7XG5cbmFwcENvbnRhaW5lci5pbml0Q29udGVudHMoKTtcblxuY29uc3QgeyBpMThuIH0gPSBhcHBDb250YWluZXI7XG5jb25zdCBzb2NrZXRJb0NvbnRhaW5lciA9IGFwcENvbnRhaW5lci5nZXRDb250YWluZXIoJ1NvY2tldElvQ29udGFpbmVyJyk7XG5cbi8vIGNyZWF0ZSB1bnN0YXRlZCBjb250YWluZXIgaW5zdGFuY2VcbmNvbnN0IG5hdmlnYXRpb25Db250YWluZXIgPSBuZXcgTmF2aWdhdGlvbkNvbnRhaW5lcihhcHBDb250YWluZXIpO1xuY29uc3QgcGFnZUNvbnRhaW5lciA9IG5ldyBQYWdlQ29udGFpbmVyKGFwcENvbnRhaW5lcik7XG5jb25zdCBwYWdlSGlzdG9yeUNvbnRhaW5lciA9IG5ldyBQYWdlSGlzdG9yeUNvbnRhaW5lcihhcHBDb250YWluZXIsIHBhZ2VDb250YWluZXIpO1xuY29uc3QgcmV2aXNpb25Db21wYXJlckNvbnRhaW5lciA9IG5ldyBSZXZpc2lvbkNvbXBhcmVyQ29udGFpbmVyKGFwcENvbnRhaW5lciwgcGFnZUNvbnRhaW5lcik7XG5jb25zdCBjb21tZW50Q29udGFpbmVyID0gbmV3IENvbW1lbnRDb250YWluZXIoYXBwQ29udGFpbmVyKTtcbmNvbnN0IGVkaXRvckNvbnRhaW5lciA9IG5ldyBFZGl0b3JDb250YWluZXIoYXBwQ29udGFpbmVyLCBkZWZhdWx0RWRpdG9yT3B0aW9ucywgZGVmYXVsdFByZXZpZXdPcHRpb25zKTtcbmNvbnN0IHRhZ0NvbnRhaW5lciA9IG5ldyBUYWdDb250YWluZXIoYXBwQ29udGFpbmVyKTtcbmNvbnN0IHBlcnNvbmFsQ29udGFpbmVyID0gbmV3IFBlcnNvbmFsQ29udGFpbmVyKGFwcENvbnRhaW5lcik7XG5jb25zdCBwYWdlQWNjZXNzb3JpZXNDb250YWluZXIgPSBuZXcgUGFnZUFjY2Vzc29yaWVzQ29udGFpbmVyKGFwcENvbnRhaW5lcik7XG5jb25zdCBpbmplY3RhYmxlQ29udGFpbmVycyA9IFtcbiAgYXBwQ29udGFpbmVyLCBzb2NrZXRJb0NvbnRhaW5lciwgbmF2aWdhdGlvbkNvbnRhaW5lciwgcGFnZUNvbnRhaW5lciwgcGFnZUhpc3RvcnlDb250YWluZXIsIHJldmlzaW9uQ29tcGFyZXJDb250YWluZXIsXG4gIGNvbW1lbnRDb250YWluZXIsIGVkaXRvckNvbnRhaW5lciwgdGFnQ29udGFpbmVyLCBwZXJzb25hbENvbnRhaW5lciwgcGFnZUFjY2Vzc29yaWVzQ29udGFpbmVyLFxuXTtcblxubG9nZ2VyLmluZm8oJ3Vuc3RhdGVkIGNvbnRhaW5lcnMgaGF2ZSBiZWVuIGluaXRpYWxpemVkJyk7XG5cbi8qKlxuICogZGVmaW5lIGNvbXBvbmVudHNcbiAqICBrZXk6IGlkIG9mIGVsZW1lbnRcbiAqICB2YWx1ZTogUmVhY3QgRWxlbWVudFxuICovXG5PYmplY3QuYXNzaWduKGNvbXBvbmVudE1hcHBpbmdzLCB7XG4gICdncnctc2lkZWJhci13cmFwcGVyJzogPFNpZGViYXIgLz4sXG5cbiAgJ3NlYXJjaC1wYWdlJzogPFNlYXJjaFBhZ2UgY3Jvd2k9e2FwcENvbnRhaW5lcn0gLz4sXG5cbiAgLy8gJ3JldmlzaW9uLWhpc3RvcnknOiA8UGFnZUhpc3RvcnkgcGFnZUlkPXtwYWdlSWR9IC8+LFxuICAndGFncy1wYWdlJzogPFRhZ3NMaXN0IGNyb3dpPXthcHBDb250YWluZXJ9IC8+LFxuXG4gICdncnctcGFnZS1zdGF0dXMtYWxlcnQtY29udGFpbmVyJzogPFBhZ2VTdGF0dXNBbGVydCAvPixcblxuICAndHJhc2gtcGFnZS1hbGVydCc6IDxUcmFzaFBhZ2VBbGVydCAvPixcblxuICAndHJhc2gtcGFnZS1saXN0JzogPFRyYXNoUGFnZUxpc3QgLz4sXG5cbiAgJ25vdC1mb3VuZC1wYWdlJzogPE5vdEZvdW5kUGFnZSAvPixcbiAgJ25vdC1mb3VuZC1hbGVydCc6IDxOb3RGb3VuZEFsZXJ0XG4gICAgb25QYWdlQ3JlYXRlQ2xpY2tlZD17bmF2aWdhdGlvbkNvbnRhaW5lci5zZXRFZGl0b3JNb2RlfVxuICAgIGlzR3Vlc3RVc2VyTW9kZT17YXBwQ29udGFpbmVyLmlzR3Vlc3RVc2VyfVxuICAgIGlzSGlkZGVuPXtwYWdlQ29udGFpbmVyLnN0YXRlLmlzTm90Q3JlYXRhYmxlIHx8IHBhZ2VDb250YWluZXIuc3RhdGUuaXNUcmFzaFBhZ2V9XG4gIC8+LFxuXG4gICdmb3JiaWRkZW4tcGFnZSc6IDxGb3JiaWRkZW5QYWdlIC8+LFxuXG4gICdwYWdlLXRpbWVsaW5lJzogPFBhZ2VUaW1lbGluZSAvPixcblxuICAncGVyc29uYWwtc2V0dGluZyc6IDxQZXJzb25hbFNldHRpbmdzIGNyb3dpPXtwZXJzb25hbENvbnRhaW5lcn0gLz4sXG5cbiAgJ215LWRyYWZ0cyc6IDxNeURyYWZ0TGlzdCAvPixcblxuICAnZ3J3LWZhYi1jb250YWluZXInOiA8RmFiIC8+LFxuXG4gICdzaGFyZS1saW5rLWFsZXJ0JzogPFNoYXJlTGlua0FsZXJ0IC8+LFxuICAnZHVwbGljYXRlZC1hbGVydCc6IDxEdXBsaWNhdGVkQWxlcnQgLz4sXG4gICdyZWRpcmVjdGVkLWFsZXJ0JzogPFJlZGlyZWN0ZWRBbGVydCAvPixcbiAgJ3JlbmFtZWQtYWxlcnQnOiA8UmVuYW1lZEFsZXJ0IC8+LFxufSk7XG5cbi8vIGFkZGl0aW9uYWwgZGVmaW5pdGlvbnMgaWYgZGF0YSBleGlzdHNcbmlmIChwYWdlQ29udGFpbmVyLnN0YXRlLnBhZ2VJZCAhPSBudWxsKSB7XG4gIE9iamVjdC5hc3NpZ24oY29tcG9uZW50TWFwcGluZ3MsIHtcbiAgICAncGFnZS1jb21tZW50cy1saXN0JzogPFBhZ2VDb21tZW50cyAvPixcbiAgICAncGFnZS1jb21tZW50LXdyaXRlJzogPENvbW1lbnRFZGl0b3JMYXp5UmVuZGVyZXIgLz4sXG4gICAgJ3BhZ2UtbWFuYWdlbWVudCc6IDxQYWdlTWFuYWdlbWVudCAvPixcbiAgICAnbGlrZXItbGlzdCc6IDxMaWtlckxpc3QgLz4sXG4gICAgJ3BhZ2UtY29udGVudC1mb290ZXInOiA8UGFnZUNvbnRlbnRGb290ZXIgLz4sXG5cbiAgICAncmVjZW50LWNyZWF0ZWQtaWNvbic6IDxSZWNlbnRseUNyZWF0ZWRJY29uIC8+LFxuICAgICd1c2VyLWJvb2ttYXJrLWljb24nOiA8Qm9va21hcmtJY29uIC8+LFxuICB9KTtcblxuICAvLyBzaG93IHRoZSBQYWdlIGFjY2Vzc29yeSBtb2RhbCB3aGVuIHF1ZXJ5IG9mIFwiY29tcGFyZVwiIGlzIHJlcXVlc3RlZFxuICBpZiAocmV2aXNpb25Db21wYXJlckNvbnRhaW5lci5nZXRSZXZpc2lvbklEc1RvQ29tcGFyZUFzUGFyYW0oKS5sZW5ndGggPiAwKSB7XG4gICAgcGFnZUFjY2Vzc29yaWVzQ29udGFpbmVyLm9wZW5QYWdlQWNjZXNzb3JpZXNNb2RhbCgncGFnZUhpc3RvcnknKTtcbiAgfVxufVxuaWYgKHBhZ2VDb250YWluZXIuc3RhdGUuY3JlYXRvciAhPSBudWxsKSB7XG4gIE9iamVjdC5hc3NpZ24oY29tcG9uZW50TWFwcGluZ3MsIHtcbiAgICAndXNlci1jcmVhdGVkLWxpc3QnOiA8UmVjZW50Q3JlYXRlZCB1c2VySWQ9e3BhZ2VDb250YWluZXIuc3RhdGUuY3JlYXRvci5faWR9IC8+LFxuICAgICd1c2VyLWJvb2ttYXJrLWxpc3QnOiA8Qm9va21hcmtMaXN0IHVzZXJJZD17cGFnZUNvbnRhaW5lci5zdGF0ZS5jcmVhdG9yLl9pZH0gLz4sXG4gIH0pO1xufVxuaWYgKHBhZ2VDb250YWluZXIuc3RhdGUucGF0aCAhPSBudWxsKSB7XG4gIE9iamVjdC5hc3NpZ24oY29tcG9uZW50TWFwcGluZ3MsIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcXVvdGUtcHJvcHNcbiAgICAncGFnZSc6IDxQYWdlIC8+LFxuICAgICdncnctc3VibmF2LWNvbnRhaW5lcic6IDxHcm93aVN1Yk5hdmlnYXRpb24gLz4sXG4gICAgJ2dydy1zdWJuYXYtc3dpdGNoZXItY29udGFpbmVyJzogPEdyb3dpU3ViTmF2aWdhdGlvblN3aXRjaGVyIC8+LFxuICAgICdkaXNwbGF5LXN3aXRjaGVyJzogPERpc3BsYXlTd2l0Y2hlciAvPixcbiAgfSk7XG59XG5cbk9iamVjdC5rZXlzKGNvbXBvbmVudE1hcHBpbmdzKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgY29uc3QgZWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGtleSk7XG4gIGlmIChlbGVtKSB7XG4gICAgUmVhY3RET00ucmVuZGVyKFxuICAgICAgPEkxOG5leHRQcm92aWRlciBpMThuPXtpMThufT5cbiAgICAgICAgPEVycm9yQm91bmRhcnk+XG4gICAgICAgICAgPFByb3ZpZGVyIGluamVjdD17aW5qZWN0YWJsZUNvbnRhaW5lcnN9PlxuICAgICAgICAgICAge2NvbXBvbmVudE1hcHBpbmdzW2tleV19XG4gICAgICAgICAgPC9Qcm92aWRlcj5cbiAgICAgICAgPC9FcnJvckJvdW5kYXJ5PlxuICAgICAgPC9JMThuZXh0UHJvdmlkZXI+LFxuICAgICAgZWxlbSxcbiAgICApO1xuICB9XG59KTtcblxuLy8gaW5pdGlhbGl6ZSBzY3JvbGxwb3Mtc3R5bGVyXG5TY3JvbGxQb3NTdHlsZXIuaW5pdCgpO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUtBO0FBRUE7Ozs7OztBQUtBO0FBQ0E7QUFFQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQU1BO0FBRUE7QUFFQTtBQUFBO0FBQUE7QUFFQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFsQ0E7QUFDQTtBQXFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFSQTtBQUNBO0FBV0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFGQTtBQUlBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBRUE7QUFBQTtBQU9BO0FBQ0E7QUFDQTtBQUVBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/app.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/BookmarkButton.jsx":
- /*!*****************************************************!*\
- !*** ./src/client/js/components/BookmarkButton.jsx ***!
- \*****************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var reactstrap_es_UncontrolledTooltip__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! reactstrap/es/UncontrolledTooltip */ \"./node_modules/reactstrap/es/UncontrolledTooltip.js\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _util_apiNotification__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util/apiNotification */ \"./src/client/js/util/apiNotification.js\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n\n\n\n\n\n\n\n\n\nclass BookmarkButton extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n this.handleClick = this.handleClick.bind(this);\n }\n\n async handleClick() {\n const {\n appContainer,\n pageContainer\n } = this.props;\n const {\n isGuestUser\n } = appContainer;\n\n if (isGuestUser) {\n return;\n }\n\n try {\n pageContainer.toggleBookmark();\n } catch (err) {\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_5__[\"toastError\"])(err);\n }\n }\n\n render() {\n const {\n appContainer,\n pageContainer,\n t\n } = this.props;\n const {\n isGuestUser\n } = appContainer;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n id: \"bookmark-button\",\n onClick: this.handleClick,\n className: `btn btn-bookmark border-0\n ${`btn-${this.props.size}`} ${pageContainer.state.isBookmarked ? 'active' : ''} ${isGuestUser ? 'disabled' : ''}`\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-star mr-3\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"total-bookmarks\"\n }, pageContainer.state.sumOfBookmarks)), isGuestUser && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_UncontrolledTooltip__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n placement: \"top\",\n target: \"bookmark-button\",\n fade: false\n }, t('Not available for guest')));\n }\n\n}\n/**\n * Wrapper component for using unstated\n */\n\n\nconst BookmarkButtonWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_4__[\"withUnstatedContainers\"])(BookmarkButton, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_7__[\"default\"], _services_PageContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"]]);\nBookmarkButton.propTypes = {\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_7__[\"default\"]).isRequired,\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"]).isRequired,\n pageId: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n size: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n};\nBookmarkButton.defaultProps = {\n size: 'md'\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_3__[\"withTranslation\"])()(BookmarkButtonWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvQm9va21hcmtCdXR0b24uanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL0Jvb2ttYXJrQnV0dG9uLmpzeD9kM2QyIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQgeyBVbmNvbnRyb2xsZWRUb29sdGlwIH0gZnJvbSAncmVhY3RzdHJhcCc7XG5pbXBvcnQgeyB3aXRoVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcbmltcG9ydCB7IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMgfSBmcm9tICcuL1Vuc3RhdGVkVXRpbHMnO1xuXG5pbXBvcnQgeyB0b2FzdEVycm9yIH0gZnJvbSAnLi4vdXRpbC9hcGlOb3RpZmljYXRpb24nO1xuaW1wb3J0IFBhZ2VDb250YWluZXIgZnJvbSAnLi4vc2VydmljZXMvUGFnZUNvbnRhaW5lcic7XG5pbXBvcnQgQXBwQ29udGFpbmVyIGZyb20gJy4uL3NlcnZpY2VzL0FwcENvbnRhaW5lcic7XG5cbmNsYXNzIEJvb2ttYXJrQnV0dG9uIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcblxuICAgIHRoaXMuaGFuZGxlQ2xpY2sgPSB0aGlzLmhhbmRsZUNsaWNrLmJpbmQodGhpcyk7XG4gIH1cblxuICBhc3luYyBoYW5kbGVDbGljaygpIHtcbiAgICBjb25zdCB7IGFwcENvbnRhaW5lciwgcGFnZUNvbnRhaW5lciB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGlzR3Vlc3RVc2VyIH0gPSBhcHBDb250YWluZXI7XG5cbiAgICBpZiAoaXNHdWVzdFVzZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgcGFnZUNvbnRhaW5lci50b2dnbGVCb29rbWFyaygpO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICB0b2FzdEVycm9yKGVycik7XG4gICAgfVxuICB9XG5cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBhcHBDb250YWluZXIsIHBhZ2VDb250YWluZXIsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBpc0d1ZXN0VXNlciB9ID0gYXBwQ29udGFpbmVyO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBpZD1cImJvb2ttYXJrLWJ1dHRvblwiXG4gICAgICAgICAgb25DbGljaz17dGhpcy5oYW5kbGVDbGlja31cbiAgICAgICAgICBjbGFzc05hbWU9e2BidG4gYnRuLWJvb2ttYXJrIGJvcmRlci0wXG4gICAgICAgICAgJHtgYnRuLSR7dGhpcy5wcm9wcy5zaXplfWB9ICR7cGFnZUNvbnRhaW5lci5zdGF0ZS5pc0Jvb2ttYXJrZWQgPyAnYWN0aXZlJyA6ICcnfSAke2lzR3Vlc3RVc2VyID8gJ2Rpc2FibGVkJyA6ICcnfWB9XG4gICAgICAgID5cbiAgICAgICAgICA8aSBjbGFzc05hbWU9XCJpY29uLXN0YXIgbXItM1wiPjwvaT5cbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0b3RhbC1ib29rbWFya3NcIj5cbiAgICAgICAgICAgIHtwYWdlQ29udGFpbmVyLnN0YXRlLnN1bU9mQm9va21hcmtzfVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAge2lzR3Vlc3RVc2VyICYmIChcbiAgICAgICAgPFVuY29udHJvbGxlZFRvb2x0aXAgcGxhY2VtZW50PVwidG9wXCIgdGFyZ2V0PVwiYm9va21hcmstYnV0dG9uXCIgZmFkZT17ZmFsc2V9PlxuICAgICAgICAgIHt0KCdOb3QgYXZhaWxhYmxlIGZvciBndWVzdCcpfVxuICAgICAgICA8L1VuY29udHJvbGxlZFRvb2x0aXA+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG5cbn1cblxuLyoqXG4gKiBXcmFwcGVyIGNvbXBvbmVudCBmb3IgdXNpbmcgdW5zdGF0ZWRcbiAqL1xuY29uc3QgQm9va21hcmtCdXR0b25XcmFwcGVyID0gd2l0aFVuc3RhdGVkQ29udGFpbmVycyhCb29rbWFya0J1dHRvbiwgW0FwcENvbnRhaW5lciwgUGFnZUNvbnRhaW5lcl0pO1xuXG5Cb29rbWFya0J1dHRvbi5wcm9wVHlwZXMgPSB7XG4gIGFwcENvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoQXBwQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuICBwYWdlQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihQYWdlQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuXG4gIHBhZ2VJZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgc2l6ZTogUHJvcFR5cGVzLnN0cmluZyxcbn07XG5cbkJvb2ttYXJrQnV0dG9uLmRlZmF1bHRQcm9wcyA9IHtcbiAgc2l6ZTogJ21kJyxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhUcmFuc2xhdGlvbigpKEJvb2ttYXJrQnV0dG9uV3JhcHBlcik7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBOztBQUdBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQU9BO0FBQUE7QUFDQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUNBO0FBcERBO0FBdURBOzs7OztBQUdBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBTkE7QUFTQTtBQUNBO0FBREE7QUFJQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/BookmarkButton.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/ComparePathsTable.jsx":
- /*!********************************************************!*\
- !*** ./src/client/js/components/ComparePathsTable.jsx ***!
- \********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n/* harmony import */ var _lib_util_path_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../lib/util/path-utils */ \"./src/lib/util/path-utils.js\");\n/* harmony import */ var _lib_util_path_utils__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_lib_util_path_utils__WEBPACK_IMPORTED_MODULE_5__);\n\n\n\n\n\n\n\nfunction ComparePathsTable(props) {\n const {\n subordinatedPages,\n pageContainer,\n newPagePath,\n t\n } = props;\n const {\n path\n } = pageContainer.state;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"table\", {\n className: \"table table-bordered grw-compare-paths-table\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"thead\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"tr\", {\n className: \"d-flex\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"th\", {\n className: \"w-50\"\n }, t('original_path')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"th\", {\n className: \"w-50\"\n }, t('new_path')))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"tbody\", {\n className: \"overflow-auto d-block\"\n }, subordinatedPages.map(subordinatedPage => {\n const convertedPath = Object(_lib_util_path_utils__WEBPACK_IMPORTED_MODULE_5__[\"convertToNewAffiliationPath\"])(path, newPagePath, subordinatedPage.path);\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"tr\", {\n key: subordinatedPage._id,\n className: \"d-flex\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"td\", {\n className: \"text-break w-50\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: subordinatedPage.path\n }, subordinatedPage.path)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"td\", {\n className: \"text-break w-50\"\n }, convertedPath));\n })));\n}\n/**\n * Wrapper component for using unstated\n */\n\n\nconst PageDuplicateModallWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__[\"withUnstatedContainers\"])(ComparePathsTable, [_services_PageContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]]);\nComparePathsTable.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]).isRequired,\n subordinatedPages: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.array.isRequired,\n newPagePath: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(PageDuplicateModallWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvQ29tcGFyZVBhdGhzVGFibGUuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL0NvbXBhcmVQYXRoc1RhYmxlLmpzeD9hZmE4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQgeyB3aXRoVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcbmltcG9ydCB7IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMgfSBmcm9tICcuL1Vuc3RhdGVkVXRpbHMnO1xuXG5pbXBvcnQgUGFnZUNvbnRhaW5lciBmcm9tICcuLi9zZXJ2aWNlcy9QYWdlQ29udGFpbmVyJztcbmltcG9ydCB7IGNvbnZlcnRUb05ld0FmZmlsaWF0aW9uUGF0aCB9IGZyb20gJy4uLy4uLy4uL2xpYi91dGlsL3BhdGgtdXRpbHMnO1xuXG5mdW5jdGlvbiBDb21wYXJlUGF0aHNUYWJsZShwcm9wcykge1xuICBjb25zdCB7XG4gICAgc3Vib3JkaW5hdGVkUGFnZXMsIHBhZ2VDb250YWluZXIsIG5ld1BhZ2VQYXRoLCB0LFxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IHsgcGF0aCB9ID0gcGFnZUNvbnRhaW5lci5zdGF0ZTtcblxuICByZXR1cm4gKFxuICAgIDx0YWJsZSBjbGFzc05hbWU9XCJ0YWJsZSB0YWJsZS1ib3JkZXJlZCBncnctY29tcGFyZS1wYXRocy10YWJsZVwiPlxuICAgICAgPHRoZWFkPlxuICAgICAgICA8dHIgY2xhc3NOYW1lPVwiZC1mbGV4XCI+XG4gICAgICAgICAgPHRoIGNsYXNzTmFtZT1cInctNTBcIj57dCgnb3JpZ2luYWxfcGF0aCcpfTwvdGg+XG4gICAgICAgICAgPHRoIGNsYXNzTmFtZT1cInctNTBcIj57dCgnbmV3X3BhdGgnKX08L3RoPlxuICAgICAgICA8L3RyPlxuICAgICAgPC90aGVhZD5cbiAgICAgIDx0Ym9keSBjbGFzc05hbWU9XCJvdmVyZmxvdy1hdXRvIGQtYmxvY2tcIj5cbiAgICAgICAge3N1Ym9yZGluYXRlZFBhZ2VzLm1hcCgoc3Vib3JkaW5hdGVkUGFnZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGNvbnZlcnRlZFBhdGggPSBjb252ZXJ0VG9OZXdBZmZpbGlhdGlvblBhdGgocGF0aCwgbmV3UGFnZVBhdGgsIHN1Ym9yZGluYXRlZFBhZ2UucGF0aCk7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDx0ciBrZXk9e3N1Ym9yZGluYXRlZFBhZ2UuX2lkfSBjbGFzc05hbWU9XCJkLWZsZXhcIj5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzTmFtZT1cInRleHQtYnJlYWsgdy01MFwiPlxuICAgICAgICAgICAgICAgIDxhIGhyZWY9e3N1Ym9yZGluYXRlZFBhZ2UucGF0aH0+XG4gICAgICAgICAgICAgICAgICB7c3Vib3JkaW5hdGVkUGFnZS5wYXRofVxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzTmFtZT1cInRleHQtYnJlYWsgdy01MFwiPlxuICAgICAgICAgICAgICAgIHtjb252ZXJ0ZWRQYXRofVxuICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICApO1xuICAgICAgICB9KX1cbiAgICAgIDwvdGJvZHk+XG4gICAgPC90YWJsZT5cbiAgKTtcbn1cblxuXG4vKipcbiAqIFdyYXBwZXIgY29tcG9uZW50IGZvciB1c2luZyB1bnN0YXRlZFxuICovXG5jb25zdCBQYWdlRHVwbGljYXRlTW9kYWxsV3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoQ29tcGFyZVBhdGhzVGFibGUsIFtQYWdlQ29udGFpbmVyXSk7XG5cbkNvbXBhcmVQYXRoc1RhYmxlLnByb3BUeXBlcyA9IHtcbiAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCwgLy8gIGkxOG5leHRcblxuICBwYWdlQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihQYWdlQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuICBzdWJvcmRpbmF0ZWRQYWdlczogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWQsXG4gIG5ld1BhZ2VQYXRoOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG59O1xuXG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhUcmFuc2xhdGlvbigpKFBhZ2VEdXBsaWNhdGVNb2RhbGxXcmFwcGVyKTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQURBO0FBR0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUFBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBR0E7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUlBO0FBQUE7QUFLQTtBQUlBO0FBR0E7Ozs7O0FBR0E7QUFFQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFMQTtBQVNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/ComparePathsTable.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/ContentLinkButtons.jsx":
- /*!*********************************************************!*\
- !*** ./src/client/js/components/ContentLinkButtons.jsx ***!
- \*********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _commons_util_path_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @commons/util/path-utils */ \"./src/lib/util/path-utils.js\");\n/* harmony import */ var _commons_util_path_utils__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_commons_util_path_utils__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_NavigationContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../services/NavigationContainer */ \"./src/client/js/services/NavigationContainer.js\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _Icons_RecentlyCreatedIcon__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Icons/RecentlyCreatedIcon */ \"./src/client/js/components/Icons/RecentlyCreatedIcon.jsx\");\n\n\n\n\n\n\n\n\nconst WIKI_HEADER_LINK = 120;\n/**\n * @author Yuki Takei <yuki@weseek.co.jp>\n *\n */\n\nconst ContentLinkButtons = props => {\n const {\n appContainer,\n navigationContainer,\n pageContainer\n } = props;\n const {\n pageUser,\n path\n } = pageContainer.state;\n const {\n isPageExist\n } = pageContainer.state;\n const {\n isSharedUser\n } = appContainer;\n const isTopPagePath = Object(_commons_util_path_utils__WEBPACK_IMPORTED_MODULE_2__[\"isTopPage\"])(path); // get element for smoothScroll\n\n const getCommentListDom = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useMemo\"])(() => {\n return document.getElementById('page-comments-list');\n }, []);\n const getBookMarkListHeaderDom = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useMemo\"])(() => {\n return document.getElementById('bookmarks-list');\n }, []);\n const getRecentlyCreatedListHeaderDom = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useMemo\"])(() => {\n return document.getElementById('recently-created-list');\n }, []);\n\n const CommentLinkButton = () => {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"mt-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-outline-secondary btn-sm btn-block\",\n onClick: () => navigationContainer.smoothScrollIntoView(getCommentListDom, WIKI_HEADER_LINK)\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"mr-2 icon-fw icon-bubbles\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", null, \"Comments\")));\n };\n\n const BookMarkLinkButton = () => {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-outline-secondary btn-sm px-2\",\n onClick: () => navigationContainer.smoothScrollIntoView(getBookMarkListHeaderDom, WIKI_HEADER_LINK)\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"mr-2 icon-star\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", null, \"Bookmarks\"));\n };\n\n const RecentlyCreatedLinkButton = () => {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-outline-secondary btn-sm px-3\",\n onClick: () => navigationContainer.smoothScrollIntoView(getRecentlyCreatedListHeaderDom, WIKI_HEADER_LINK)\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"grw-icon-container-recently-created mr-2\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icons_RecentlyCreatedIcon__WEBPACK_IMPORTED_MODULE_7__[\"default\"], null)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", null, \"Recently Created\"));\n };\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, isPageExist && !isSharedUser && !isTopPagePath && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(CommentLinkButton, null), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"mt-3 d-flex justify-content-between\"\n }, pageUser && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(BookMarkLinkButton, null), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(RecentlyCreatedLinkButton, null))));\n};\n\nContentLinkButtons.propTypes = {\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_3__[\"default\"]).isRequired,\n navigationContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_NavigationContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]).isRequired,\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]).isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_6__[\"withUnstatedContainers\"])(ContentLinkButtons, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _services_NavigationContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"], _services_PageContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]]));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvQ29udGVudExpbmtCdXR0b25zLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9Db250ZW50TGlua0J1dHRvbnMuanN4PzZlMTIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQgeyBpc1RvcFBhZ2UgfSBmcm9tICdAY29tbW9ucy91dGlsL3BhdGgtdXRpbHMnO1xuaW1wb3J0IEFwcENvbnRhaW5lciBmcm9tICcuLi9zZXJ2aWNlcy9BcHBDb250YWluZXInO1xuaW1wb3J0IE5hdmlnYXRpb25Db250YWluZXIgZnJvbSAnLi4vc2VydmljZXMvTmF2aWdhdGlvbkNvbnRhaW5lcic7XG5pbXBvcnQgUGFnZUNvbnRhaW5lciBmcm9tICcuLi9zZXJ2aWNlcy9QYWdlQ29udGFpbmVyJztcblxuaW1wb3J0IHsgd2l0aFVuc3RhdGVkQ29udGFpbmVycyB9IGZyb20gJy4vVW5zdGF0ZWRVdGlscyc7XG5cbmltcG9ydCBSZWNlbnRseUNyZWF0ZWRJY29uIGZyb20gJy4vSWNvbnMvUmVjZW50bHlDcmVhdGVkSWNvbic7XG5cbmNvbnN0IFdJS0lfSEVBREVSX0xJTksgPSAxMjA7XG5cbi8qKlxuICogQGF1dGhvciBZdWtpIFRha2VpIDx5dWtpQHdlc2Vlay5jby5qcD5cbiAqXG4gKi9cbmNvbnN0IENvbnRlbnRMaW5rQnV0dG9ucyA9IChwcm9wcykgPT4ge1xuXG4gIGNvbnN0IHsgYXBwQ29udGFpbmVyLCBuYXZpZ2F0aW9uQ29udGFpbmVyLCBwYWdlQ29udGFpbmVyIH0gPSBwcm9wcztcbiAgY29uc3QgeyBwYWdlVXNlciwgcGF0aCB9ID0gcGFnZUNvbnRhaW5lci5zdGF0ZTtcbiAgY29uc3QgeyBpc1BhZ2VFeGlzdCB9ID0gcGFnZUNvbnRhaW5lci5zdGF0ZTtcbiAgY29uc3QgeyBpc1NoYXJlZFVzZXIgfSA9IGFwcENvbnRhaW5lcjtcblxuICBjb25zdCBpc1RvcFBhZ2VQYXRoID0gaXNUb3BQYWdlKHBhdGgpO1xuXG4gIC8vIGdldCBlbGVtZW50IGZvciBzbW9vdGhTY3JvbGxcbiAgY29uc3QgZ2V0Q29tbWVudExpc3REb20gPSB1c2VNZW1vKCgpID0+IHsgcmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYWdlLWNvbW1lbnRzLWxpc3QnKSB9LCBbXSk7XG4gIGNvbnN0IGdldEJvb2tNYXJrTGlzdEhlYWRlckRvbSA9IHVzZU1lbW8oKCkgPT4geyByZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Jvb2ttYXJrcy1saXN0JykgfSwgW10pO1xuICBjb25zdCBnZXRSZWNlbnRseUNyZWF0ZWRMaXN0SGVhZGVyRG9tID0gdXNlTWVtbygoKSA9PiB7IHJldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVjZW50bHktY3JlYXRlZC1saXN0JykgfSwgW10pO1xuXG5cbiAgY29uc3QgQ29tbWVudExpbmtCdXR0b24gPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXQtM1wiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3NOYW1lPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeSBidG4tc20gYnRuLWJsb2NrXCJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBuYXZpZ2F0aW9uQ29udGFpbmVyLnNtb290aFNjcm9sbEludG9WaWV3KGdldENvbW1lbnRMaXN0RG9tLCBXSUtJX0hFQURFUl9MSU5LKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxpIGNsYXNzTmFtZT1cIm1yLTIgaWNvbi1mdyBpY29uLWJ1YmJsZXNcIj48L2k+XG4gICAgICAgICAgPHNwYW4+Q29tbWVudHM8L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBCb29rTWFya0xpbmtCdXR0b24gPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzTmFtZT1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnkgYnRuLXNtIHB4LTJcIlxuICAgICAgICBvbkNsaWNrPXsoKSA9PiBuYXZpZ2F0aW9uQ29udGFpbmVyLnNtb290aFNjcm9sbEludG9WaWV3KGdldEJvb2tNYXJrTGlzdEhlYWRlckRvbSwgV0lLSV9IRUFERVJfTElOSyl9XG4gICAgICA+XG4gICAgICAgIDxpIGNsYXNzTmFtZT1cIm1yLTIgaWNvbi1zdGFyXCI+PC9pPlxuICAgICAgICA8c3Bhbj5Cb29rbWFya3M8L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cblxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgUmVjZW50bHlDcmVhdGVkTGlua0J1dHRvbiA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3NOYW1lPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeSBidG4tc20gcHgtM1wiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IG5hdmlnYXRpb25Db250YWluZXIuc21vb3RoU2Nyb2xsSW50b1ZpZXcoZ2V0UmVjZW50bHlDcmVhdGVkTGlzdEhlYWRlckRvbSwgV0lLSV9IRUFERVJfTElOSyl9XG4gICAgICA+XG4gICAgICAgIDxpIGNsYXNzTmFtZT1cImdydy1pY29uLWNvbnRhaW5lci1yZWNlbnRseS1jcmVhdGVkIG1yLTJcIj48UmVjZW50bHlDcmVhdGVkSWNvbiAvPjwvaT5cbiAgICAgICAgPHNwYW4+UmVjZW50bHkgQ3JlYXRlZDwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7aXNQYWdlRXhpc3QgJiYgIWlzU2hhcmVkVXNlciAmJiAhaXNUb3BQYWdlUGF0aCAmJiA8Q29tbWVudExpbmtCdXR0b24gLz59XG5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXQtMyBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cbiAgICAgICAge3BhZ2VVc2VyICYmIDw+PEJvb2tNYXJrTGlua0J1dHRvbiAvPjxSZWNlbnRseUNyZWF0ZWRMaW5rQnV0dG9uIC8+PC8+fVxuICAgICAgPC9kaXY+XG4gICAgPC8+XG4gICk7XG5cbn07XG5cbkNvbnRlbnRMaW5rQnV0dG9ucy5wcm9wVHlwZXMgPSB7XG4gIGFwcENvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoQXBwQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuICBuYXZpZ2F0aW9uQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihOYXZpZ2F0aW9uQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuICBwYWdlQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihQYWdlQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFVuc3RhdGVkQ29udGFpbmVycyhDb250ZW50TGlua0J1dHRvbnMsIFtBcHBDb250YWluZXIsIE5hdmlnYXRpb25Db250YWluZXIsIFBhZ2VDb250YWluZXJdKTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUVBO0FBRUE7Ozs7O0FBSUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUhBO0FBS0E7QUFBQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBSEE7QUFLQTtBQUFBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFIQTtBQUtBO0FBQUE7QUFLQTtBQUNBO0FBQ0E7QUFJQTtBQUFBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSEE7QUFNQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/ContentLinkButtons.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/CreateTemplateModal.jsx":
- /*!**********************************************************!*\
- !*** ./src/client/js/components/CreateTemplateModal.jsx ***!
- \**********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! reactstrap/es/Modal */ \"./node_modules/reactstrap/es/Modal.js\");\n/* harmony import */ var reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! reactstrap/es/ModalHeader */ \"./node_modules/reactstrap/es/ModalHeader.js\");\n/* harmony import */ var reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! reactstrap/es/ModalBody */ \"./node_modules/reactstrap/es/ModalBody.js\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var growi_commons__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! growi-commons */ \"./node_modules/growi-commons/src/index.js\");\n/* harmony import */ var growi_commons__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(growi_commons__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var url_join__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! url-join */ \"./node_modules/url-join/lib/url-join.js\");\n/* harmony import */ var url_join__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(url_join__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n\n\n\n\n\n\n\n\n\n\n\nconst CreateTemplateModal = props => {\n const {\n t,\n pageContainer\n } = props;\n const {\n path\n } = pageContainer.state;\n const parentPath = growi_commons__WEBPACK_IMPORTED_MODULE_6__[\"pathUtils\"].addTrailingSlash(path);\n\n function generateUrl(label) {\n return encodeURI(url_join__WEBPACK_IMPORTED_MODULE_7___default()(parentPath, label, '#edit'));\n }\n /**\n * @param {string} target Which hierarchy to create [children, decendants]\n */\n\n\n function renderTemplateCard(target, label) {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"card card-select-template\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"card-header\"\n }, t(`template.${target}.label`)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"card-body\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"text-center\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"code\", null, label)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"form-text text-muted text-center\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"small\", null, t(`template.${target}.desc`)))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"card-footer text-center\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: generateUrl(label),\n className: \"btn btn-sm btn-primary\",\n id: `template-button-${target}`\n }, t('Edit'))));\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n isOpen: props.isOpen,\n toggle: props.onClose,\n className: \"grw-create-page\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n tag: \"h4\",\n toggle: props.onClose,\n className: \"bg-primary text-light\"\n }, t('template.modal_label.Create/Edit Template Page')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_4__[\"default\"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"form-group\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"mb-4\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"code\", null, parentPath), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"br\", null), t('template.modal_label.Create template under')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"card-deck\"\n }, renderTemplateCard('children', '_template'), renderTemplateCard('decendants', '__template')))));\n};\n/**\n * Wrapper component for using unstated\n */\n\n\nconst CreateTemplateModalWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_8__[\"withUnstatedContainers\"])(CreateTemplateModal, [_services_PageContainer__WEBPACK_IMPORTED_MODULE_9__[\"default\"]]);\nCreateTemplateModal.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_9__[\"default\"]).isRequired,\n isOpen: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,\n onClose: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_5__[\"withTranslation\"])()(CreateTemplateModalWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvQ3JlYXRlVGVtcGxhdGVNb2RhbC5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvQ3JlYXRlVGVtcGxhdGVNb2RhbC5qc3g/ZGViYSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuaW1wb3J0IHsgTW9kYWwsIE1vZGFsSGVhZGVyLCBNb2RhbEJvZHkgfSBmcm9tICdyZWFjdHN0cmFwJztcblxuaW1wb3J0IHsgd2l0aFRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5pbXBvcnQgeyBwYXRoVXRpbHMgfSBmcm9tICdncm93aS1jb21tb25zJztcbmltcG9ydCB1cmxqb2luIGZyb20gJ3VybC1qb2luJztcbmltcG9ydCB7IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMgfSBmcm9tICcuL1Vuc3RhdGVkVXRpbHMnO1xuXG5pbXBvcnQgUGFnZUNvbnRhaW5lciBmcm9tICcuLi9zZXJ2aWNlcy9QYWdlQ29udGFpbmVyJztcblxuY29uc3QgQ3JlYXRlVGVtcGxhdGVNb2RhbCA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IHQsIHBhZ2VDb250YWluZXIgfSA9IHByb3BzO1xuXG4gIGNvbnN0IHsgcGF0aCB9ID0gcGFnZUNvbnRhaW5lci5zdGF0ZTtcbiAgY29uc3QgcGFyZW50UGF0aCA9IHBhdGhVdGlscy5hZGRUcmFpbGluZ1NsYXNoKHBhdGgpO1xuXG4gIGZ1bmN0aW9uIGdlbmVyYXRlVXJsKGxhYmVsKSB7XG4gICAgcmV0dXJuIGVuY29kZVVSSSh1cmxqb2luKHBhcmVudFBhdGgsIGxhYmVsLCAnI2VkaXQnKSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRhcmdldCBXaGljaCBoaWVyYXJjaHkgdG8gY3JlYXRlIFtjaGlsZHJlbiwgZGVjZW5kYW50c11cbiAgICovXG4gIGZ1bmN0aW9uIHJlbmRlclRlbXBsYXRlQ2FyZCh0YXJnZXQsIGxhYmVsKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY2FyZCBjYXJkLXNlbGVjdC10ZW1wbGF0ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNhcmQtaGVhZGVyXCI+eyB0KGB0ZW1wbGF0ZS4ke3RhcmdldH0ubGFiZWxgKSB9PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY2FyZC1ib2R5XCI+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1jZW50ZXJcIj48Y29kZT57bGFiZWx9PC9jb2RlPjwvcD5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJmb3JtLXRleHQgdGV4dC1tdXRlZCB0ZXh0LWNlbnRlclwiPjxzbWFsbD57dChgdGVtcGxhdGUuJHt0YXJnZXR9LmRlc2NgKSB9PC9zbWFsbD48L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNhcmQtZm9vdGVyIHRleHQtY2VudGVyXCI+XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIGhyZWY9e2dlbmVyYXRlVXJsKGxhYmVsKX1cbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImJ0biBidG4tc20gYnRuLXByaW1hcnlcIlxuICAgICAgICAgICAgaWQ9e2B0ZW1wbGF0ZS1idXR0b24tJHt0YXJnZXR9YH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7IHQoJ0VkaXQnKSB9XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxNb2RhbCBpc09wZW49e3Byb3BzLmlzT3Blbn0gdG9nZ2xlPXtwcm9wcy5vbkNsb3NlfSBjbGFzc05hbWU9XCJncnctY3JlYXRlLXBhZ2VcIj5cbiAgICAgIDxNb2RhbEhlYWRlciB0YWc9XCJoNFwiIHRvZ2dsZT17cHJvcHMub25DbG9zZX0gY2xhc3NOYW1lPVwiYmctcHJpbWFyeSB0ZXh0LWxpZ2h0XCI+XG4gICAgICAgIHt0KCd0ZW1wbGF0ZS5tb2RhbF9sYWJlbC5DcmVhdGUvRWRpdCBUZW1wbGF0ZSBQYWdlJyl9XG4gICAgICA8L01vZGFsSGVhZGVyPlxuICAgICAgPE1vZGFsQm9keT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cIm1iLTRcIj5cbiAgICAgICAgICAgIDxjb2RlPntwYXJlbnRQYXRofTwvY29kZT48YnIgLz5cbiAgICAgICAgICAgIHsgdCgndGVtcGxhdGUubW9kYWxfbGFiZWwuQ3JlYXRlIHRlbXBsYXRlIHVuZGVyJykgfVxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjYXJkLWRlY2tcIj5cbiAgICAgICAgICAgIHtyZW5kZXJUZW1wbGF0ZUNhcmQoJ2NoaWxkcmVuJywgJ190ZW1wbGF0ZScpfVxuICAgICAgICAgICAge3JlbmRlclRlbXBsYXRlQ2FyZCgnZGVjZW5kYW50cycsICdfX3RlbXBsYXRlJyl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9Nb2RhbEJvZHk+XG4gICAgPC9Nb2RhbD5cblxuICApO1xufTtcblxuXG4vKipcbiAqIFdyYXBwZXIgY29tcG9uZW50IGZvciB1c2luZyB1bnN0YXRlZFxuICovXG5jb25zdCBDcmVhdGVUZW1wbGF0ZU1vZGFsV3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoQ3JlYXRlVGVtcGxhdGVNb2RhbCwgW1BhZ2VDb250YWluZXJdKTtcblxuXG5DcmVhdGVUZW1wbGF0ZU1vZGFsLnByb3BUeXBlcyA9IHtcbiAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCwgLy8gIGkxOG5leHRcbiAgcGFnZUNvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoUGFnZUNvbnRhaW5lcikuaXNSZXF1aXJlZCxcblxuICBpc09wZW46IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gIG9uQ2xvc2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoVHJhbnNsYXRpb24oKShDcmVhdGVUZW1wbGF0ZU1vZGFsV3JhcHBlcik7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFIQTtBQVVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQ0E7QUFBQTtBQUlBO0FBQUE7QUFTQTtBQUdBOzs7OztBQUdBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBTEE7QUFRQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/CreateTemplateModal.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/CustomNavigation/CustomNavAndContents.jsx":
- /*!****************************************************************************!*\
- !*** ./src/client/js/components/CustomNavigation/CustomNavAndContents.jsx ***!
- \****************************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _CustomNav__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./CustomNav */ \"./src/client/js/components/CustomNavigation/CustomNav.jsx\");\n/* harmony import */ var _CustomTabContent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./CustomTabContent */ \"./src/client/js/components/CustomNavigation/CustomTabContent.jsx\");\n\n\n\n\n\nconst CustomNavAndContents = props => {\n const {\n navTabMapping,\n defaultTabIndex,\n navigationMode,\n tabContentClasses,\n breakpointToHideInactiveTabsDown\n } = props;\n const [activeTab, setActiveTab] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(Object.keys(props.navTabMapping)[defaultTabIndex || 0]);\n let SelectedNav;\n\n switch (navigationMode) {\n case 'tab':\n SelectedNav = _CustomNav__WEBPACK_IMPORTED_MODULE_2__[\"CustomNavTab\"];\n break;\n\n case 'dropdown':\n SelectedNav = _CustomNav__WEBPACK_IMPORTED_MODULE_2__[\"CustomNavDropdown\"];\n break;\n\n case 'both':\n SelectedNav = _CustomNav__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n break;\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(SelectedNav, {\n activeTab: activeTab,\n navTabMapping: navTabMapping,\n onNavSelected: setActiveTab,\n breakpointToHideInactiveTabsDown: breakpointToHideInactiveTabsDown\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_CustomTabContent__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n activeTab: activeTab,\n navTabMapping: navTabMapping,\n additionalClassNames: tabContentClasses\n }));\n};\n\nCustomNavAndContents.propTypes = {\n navTabMapping: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object.isRequired,\n defaultTabIndex: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n navigationMode: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['both', 'tab', 'dropdown']),\n tabContentClasses: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string),\n breakpointToHideInactiveTabsDown: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['xs', 'sm', 'md', 'lg', 'xl'])\n};\nCustomNavAndContents.defaultProps = {\n navigationMode: 'tab',\n tabContentClasses: ['p-4']\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (CustomNavAndContents);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvQ3VzdG9tTmF2aWdhdGlvbi9DdXN0b21OYXZBbmRDb250ZW50cy5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvQ3VzdG9tTmF2aWdhdGlvbi9DdXN0b21OYXZBbmRDb250ZW50cy5qc3g/OTUxNSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQgQ3VzdG9tTmF2LCB7IEN1c3RvbU5hdlRhYiwgQ3VzdG9tTmF2RHJvcGRvd24gfSBmcm9tICcuL0N1c3RvbU5hdic7XG5pbXBvcnQgQ3VzdG9tVGFiQ29udGVudCBmcm9tICcuL0N1c3RvbVRhYkNvbnRlbnQnO1xuXG5cbmNvbnN0IEN1c3RvbU5hdkFuZENvbnRlbnRzID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBuYXZUYWJNYXBwaW5nLCBkZWZhdWx0VGFiSW5kZXgsIG5hdmlnYXRpb25Nb2RlLCB0YWJDb250ZW50Q2xhc3NlcywgYnJlYWtwb2ludFRvSGlkZUluYWN0aXZlVGFic0Rvd24sXG4gIH0gPSBwcm9wcztcbiAgY29uc3QgW2FjdGl2ZVRhYiwgc2V0QWN0aXZlVGFiXSA9IHVzZVN0YXRlKE9iamVjdC5rZXlzKHByb3BzLm5hdlRhYk1hcHBpbmcpW2RlZmF1bHRUYWJJbmRleCB8fCAwXSk7XG5cbiAgbGV0IFNlbGVjdGVkTmF2O1xuICBzd2l0Y2ggKG5hdmlnYXRpb25Nb2RlKSB7XG4gICAgY2FzZSAndGFiJzpcbiAgICAgIFNlbGVjdGVkTmF2ID0gQ3VzdG9tTmF2VGFiO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnZHJvcGRvd24nOlxuICAgICAgU2VsZWN0ZWROYXYgPSBDdXN0b21OYXZEcm9wZG93bjtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2JvdGgnOlxuICAgICAgU2VsZWN0ZWROYXYgPSBDdXN0b21OYXY7XG4gICAgICBicmVhaztcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxTZWxlY3RlZE5hdlxuICAgICAgICBhY3RpdmVUYWI9e2FjdGl2ZVRhYn1cbiAgICAgICAgbmF2VGFiTWFwcGluZz17bmF2VGFiTWFwcGluZ31cbiAgICAgICAgb25OYXZTZWxlY3RlZD17c2V0QWN0aXZlVGFifVxuICAgICAgICBicmVha3BvaW50VG9IaWRlSW5hY3RpdmVUYWJzRG93bj17YnJlYWtwb2ludFRvSGlkZUluYWN0aXZlVGFic0Rvd259XG4gICAgICAvPlxuICAgICAgPEN1c3RvbVRhYkNvbnRlbnQgYWN0aXZlVGFiPXthY3RpdmVUYWJ9IG5hdlRhYk1hcHBpbmc9e25hdlRhYk1hcHBpbmd9IGFkZGl0aW9uYWxDbGFzc05hbWVzPXt0YWJDb250ZW50Q2xhc3Nlc30gLz5cbiAgICA8Lz5cbiAgKTtcbn07XG5cbkN1c3RvbU5hdkFuZENvbnRlbnRzLnByb3BUeXBlcyA9IHtcbiAgbmF2VGFiTWFwcGluZzogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICBkZWZhdWx0VGFiSW5kZXg6IFByb3BUeXBlcy5udW1iZXIsXG4gIG5hdmlnYXRpb25Nb2RlOiBQcm9wVHlwZXMub25lT2YoWydib3RoJywgJ3RhYicsICdkcm9wZG93biddKSxcbiAgdGFiQ29udGVudENsYXNzZXM6IFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICBicmVha3BvaW50VG9IaWRlSW5hY3RpdmVUYWJzRG93bjogUHJvcFR5cGVzLm9uZU9mKFsneHMnLCAnc20nLCAnbWQnLCAnbGcnLCAneGwnXSksXG59O1xuQ3VzdG9tTmF2QW5kQ29udGVudHMuZGVmYXVsdFByb3BzID0ge1xuICBuYXZpZ2F0aW9uTW9kZTogJ3RhYicsXG4gIHRhYkNvbnRlbnRDbGFzc2VzOiBbJ3AtNCddLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgQ3VzdG9tTmF2QW5kQ29udGVudHM7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBREE7QUFHQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFUQTtBQUNBO0FBV0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FBTUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFPQTtBQUNBO0FBQ0E7QUFGQTtBQUtBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/CustomNavigation/CustomNavAndContents.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/CustomNavigation/CustomTabContent.jsx":
- /*!************************************************************************!*\
- !*** ./src/client/js/components/CustomNavigation/CustomTabContent.jsx ***!
- \************************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var reactstrap_es_TabContent__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! reactstrap/es/TabContent */ \"./node_modules/reactstrap/es/TabContent.js\");\n/* harmony import */ var reactstrap_es_TabPane__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! reactstrap/es/TabPane */ \"./node_modules/reactstrap/es/TabPane.js\");\n\n\n\n\n\nconst CustomTabContent = props => {\n const {\n activeTab,\n navTabMapping,\n additionalClassNames\n } = props;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_TabContent__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n activeTab: activeTab,\n className: additionalClassNames.join(' ')\n }, Object.entries(navTabMapping).map(([key, value]) => {\n const {\n Content\n } = value;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_TabPane__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n key: key,\n tabId: key\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Content, null));\n }));\n};\n\nCustomTabContent.propTypes = {\n activeTab: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired,\n navTabMapping: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object.isRequired,\n additionalClassNames: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string)\n};\nCustomTabContent.defaultProps = {\n additionalClassNames: []\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (CustomTabContent);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvQ3VzdG9tTmF2aWdhdGlvbi9DdXN0b21UYWJDb250ZW50LmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9DdXN0b21OYXZpZ2F0aW9uL0N1c3RvbVRhYkNvbnRlbnQuanN4PzhjNmIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQge1xuICBUYWJDb250ZW50LCBUYWJQYW5lLFxufSBmcm9tICdyZWFjdHN0cmFwJztcblxuY29uc3QgQ3VzdG9tVGFiQ29udGVudCA9IChwcm9wcykgPT4ge1xuXG4gIGNvbnN0IHsgYWN0aXZlVGFiLCBuYXZUYWJNYXBwaW5nLCBhZGRpdGlvbmFsQ2xhc3NOYW1lcyB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8VGFiQ29udGVudCBhY3RpdmVUYWI9e2FjdGl2ZVRhYn0gY2xhc3NOYW1lPXthZGRpdGlvbmFsQ2xhc3NOYW1lcy5qb2luKCcgJyl9PlxuICAgICAge09iamVjdC5lbnRyaWVzKG5hdlRhYk1hcHBpbmcpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XG5cbiAgICAgICAgY29uc3QgeyBDb250ZW50IH0gPSB2YWx1ZTtcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxUYWJQYW5lIGtleT17a2V5fSB0YWJJZD17a2V5fT5cbiAgICAgICAgICAgIDxDb250ZW50IC8+XG4gICAgICAgICAgPC9UYWJQYW5lPlxuICAgICAgICApO1xuICAgICAgfSl9XG4gICAgPC9UYWJDb250ZW50PlxuICApO1xuXG59O1xuXG5DdXN0b21UYWJDb250ZW50LnByb3BUeXBlcyA9IHtcbiAgYWN0aXZlVGFiOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIG5hdlRhYk1hcHBpbmc6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgYWRkaXRpb25hbENsYXNzTmFtZXM6IFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5zdHJpbmcpLFxufTtcbkN1c3RvbVRhYkNvbnRlbnQuZGVmYXVsdFByb3BzID0ge1xuICBhZGRpdGlvbmFsQ2xhc3NOYW1lczogW10sXG59O1xuXG5leHBvcnQgZGVmYXVsdCBDdXN0b21UYWJDb250ZW50O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7Ozs7QUFLQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBSUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQUtBO0FBQ0E7QUFEQTtBQUlBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/CustomNavigation/CustomTabContent.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Drawio.jsx":
- /*!*********************************************!*\
- !*** ./src/client/js/components/Drawio.jsx ***!
- \*********************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var throttle_debounce__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! throttle-debounce */ \"./node_modules/throttle-debounce/index.esm.js\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _NotAvailableForGuest__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./NotAvailableForGuest */ \"./src/client/js/components/NotAvailableForGuest.jsx\");\n\n\n\n\n\n\n\n\nclass Drawio extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n this.drawioContainer = react__WEBPACK_IMPORTED_MODULE_0___default.a.createRef();\n this.style = {\n borderRadius: 3,\n border: '1px solid #d7d7d7',\n margin: '20px 0'\n };\n this.isPreview = this.props.isPreview;\n this.drawioContent = this.props.drawioContent;\n this.onEdit = this.onEdit.bind(this); // create debounced method for rendering Drawio\n\n this.renderDrawioWithDebounce = Object(throttle_debounce__WEBPACK_IMPORTED_MODULE_2__[\"debounce\"])(200, this.renderDrawio);\n }\n\n onEdit() {\n const {\n appContainer,\n rangeLineNumberOfMarkdown\n } = this.props;\n const {\n beginLineNumber,\n endLineNumber\n } = rangeLineNumberOfMarkdown;\n appContainer.launchDrawioModal('page', beginLineNumber, endLineNumber);\n }\n\n componentDidMount() {\n const DrawioViewer = window.GraphViewer;\n\n if (DrawioViewer != null) {\n this.renderDrawio();\n } else {\n this.renderDrawioWithDebounce();\n }\n }\n\n renderDrawio() {\n const DrawioViewer = window.GraphViewer;\n\n if (DrawioViewer != null) {\n const mxgraphs = this.drawioContainer.getElementsByClassName('mxgraph');\n\n if (mxgraphs.length > 0) {\n // GROWI では、mxgraph element は最初のものをレンダリングする前提とする\n const div = mxgraphs[0];\n\n if (div != null) {\n div.innerHTML = '';\n DrawioViewer.createViewerForElement(div);\n }\n }\n } else {\n this.renderDrawioWithDebounce();\n }\n }\n\n renderContents() {\n return this.drawioContent;\n }\n\n render() {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"editable-with-drawio position-relative\"\n }, !this.isPreview && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_NotAvailableForGuest__WEBPACK_IMPORTED_MODULE_6__[\"default\"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"drawio-iframe-trigger position-absolute btn btn-outline-secondary\",\n onClick: this.onEdit\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-note mr-1\"\n }), this.props.t('Edit'))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"drawio\",\n style: this.style,\n ref: c => {\n this.drawioContainer = c;\n } // eslint-disable-next-line react/no-danger\n ,\n dangerouslySetInnerHTML: {\n __html: this.renderContents()\n }\n }));\n }\n\n}\n\nDrawio.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object.isRequired,\n drawioContent: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.any.isRequired,\n isPreview: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n rangeLineNumberOfMarkdown: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object.isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_3__[\"withTranslation\"])()(Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_5__[\"withUnstatedContainers\"])(Drawio, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]])));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvRHJhd2lvLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9EcmF3aW8uanN4P2VlZTAiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCB7IGRlYm91bmNlIH0gZnJvbSAndGhyb3R0bGUtZGVib3VuY2UnO1xuXG5pbXBvcnQgeyB3aXRoVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcblxuaW1wb3J0IEFwcENvbnRhaW5lciBmcm9tICcuLi9zZXJ2aWNlcy9BcHBDb250YWluZXInO1xuXG5pbXBvcnQgeyB3aXRoVW5zdGF0ZWRDb250YWluZXJzIH0gZnJvbSAnLi9VbnN0YXRlZFV0aWxzJztcblxuaW1wb3J0IE5vdEF2YWlsYWJsZUZvckd1ZXN0IGZyb20gJy4vTm90QXZhaWxhYmxlRm9yR3Vlc3QnO1xuXG5jbGFzcyBEcmF3aW8gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuXG4gICAgdGhpcy5kcmF3aW9Db250YWluZXIgPSBSZWFjdC5jcmVhdGVSZWYoKTtcblxuICAgIHRoaXMuc3R5bGUgPSB7XG4gICAgICBib3JkZXJSYWRpdXM6IDMsXG4gICAgICBib3JkZXI6ICcxcHggc29saWQgI2Q3ZDdkNycsXG4gICAgICBtYXJnaW46ICcyMHB4IDAnLFxuICAgIH07XG5cbiAgICB0aGlzLmlzUHJldmlldyA9IHRoaXMucHJvcHMuaXNQcmV2aWV3O1xuICAgIHRoaXMuZHJhd2lvQ29udGVudCA9IHRoaXMucHJvcHMuZHJhd2lvQ29udGVudDtcblxuICAgIHRoaXMub25FZGl0ID0gdGhpcy5vbkVkaXQuYmluZCh0aGlzKTtcblxuICAgIC8vIGNyZWF0ZSBkZWJvdW5jZWQgbWV0aG9kIGZvciByZW5kZXJpbmcgRHJhd2lvXG4gICAgdGhpcy5yZW5kZXJEcmF3aW9XaXRoRGVib3VuY2UgPSBkZWJvdW5jZSgyMDAsIHRoaXMucmVuZGVyRHJhd2lvKTtcbiAgfVxuXG4gIG9uRWRpdCgpIHtcbiAgICBjb25zdCB7IGFwcENvbnRhaW5lciwgcmFuZ2VMaW5lTnVtYmVyT2ZNYXJrZG93biB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGJlZ2luTGluZU51bWJlciwgZW5kTGluZU51bWJlciB9ID0gcmFuZ2VMaW5lTnVtYmVyT2ZNYXJrZG93bjtcbiAgICBhcHBDb250YWluZXIubGF1bmNoRHJhd2lvTW9kYWwoJ3BhZ2UnLCBiZWdpbkxpbmVOdW1iZXIsIGVuZExpbmVOdW1iZXIpO1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgY29uc3QgRHJhd2lvVmlld2VyID0gd2luZG93LkdyYXBoVmlld2VyO1xuICAgIGlmIChEcmF3aW9WaWV3ZXIgIT0gbnVsbCkge1xuICAgICAgdGhpcy5yZW5kZXJEcmF3aW8oKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLnJlbmRlckRyYXdpb1dpdGhEZWJvdW5jZSgpO1xuICAgIH1cbiAgfVxuXG4gIHJlbmRlckRyYXdpbygpIHtcbiAgICBjb25zdCBEcmF3aW9WaWV3ZXIgPSB3aW5kb3cuR3JhcGhWaWV3ZXI7XG4gICAgaWYgKERyYXdpb1ZpZXdlciAhPSBudWxsKSB7XG4gICAgICBjb25zdCBteGdyYXBocyA9IHRoaXMuZHJhd2lvQ29udGFpbmVyLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ214Z3JhcGgnKTtcbiAgICAgIGlmIChteGdyYXBocy5sZW5ndGggPiAwKSB7XG4gICAgICAgIC8vIEdST1dJIOOBp+OBr+OAgW14Z3JhcGggZWxlbWVudCDjga/mnIDliJ3jga7jgoLjga7jgpLjg6zjg7Pjg4Djg6rjg7PjgrDjgZnjgovliY3mj5DjgajjgZnjgotcbiAgICAgICAgY29uc3QgZGl2ID0gbXhncmFwaHNbMF07XG5cbiAgICAgICAgaWYgKGRpdiAhPSBudWxsKSB7XG4gICAgICAgICAgZGl2LmlubmVySFRNTCA9ICcnO1xuICAgICAgICAgIERyYXdpb1ZpZXdlci5jcmVhdGVWaWV3ZXJGb3JFbGVtZW50KGRpdik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLnJlbmRlckRyYXdpb1dpdGhEZWJvdW5jZSgpO1xuICAgIH1cbiAgfVxuXG4gIHJlbmRlckNvbnRlbnRzKCkge1xuICAgIHJldHVybiB0aGlzLmRyYXdpb0NvbnRlbnQ7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZWRpdGFibGUtd2l0aC1kcmF3aW8gcG9zaXRpb24tcmVsYXRpdmVcIj5cbiAgICAgICAgeyAhdGhpcy5pc1ByZXZpZXcgJiYgKFxuICAgICAgICAgIDxOb3RBdmFpbGFibGVGb3JHdWVzdD5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzTmFtZT1cImRyYXdpby1pZnJhbWUtdHJpZ2dlciBwb3NpdGlvbi1hYnNvbHV0ZSBidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCIgb25DbGljaz17dGhpcy5vbkVkaXR9PlxuICAgICAgICAgICAgICA8aSBjbGFzc05hbWU9XCJpY29uLW5vdGUgbXItMVwiPjwvaT57dGhpcy5wcm9wcy50KCdFZGl0Jyl9XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L05vdEF2YWlsYWJsZUZvckd1ZXN0PlxuICAgICAgICApIH1cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzTmFtZT1cImRyYXdpb1wiXG4gICAgICAgICAgc3R5bGU9e3RoaXMuc3R5bGV9XG4gICAgICAgICAgcmVmPXsoYykgPT4geyB0aGlzLmRyYXdpb0NvbnRhaW5lciA9IGMgfX1cbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tZGFuZ2VyXG4gICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3sgX19odG1sOiB0aGlzLnJlbmRlckNvbnRlbnRzKCkgfX1cbiAgICAgICAgPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cblxufVxuXG5EcmF3aW8ucHJvcFR5cGVzID0ge1xuICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLCAvLyBpMThuZXh0XG4gIGFwcENvbnRhaW5lcjogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuXG4gIGRyYXdpb0NvbnRlbnQ6IFByb3BUeXBlcy5hbnkuaXNSZXF1aXJlZCxcbiAgaXNQcmV2aWV3OiBQcm9wVHlwZXMuYm9vbCxcbiAgcmFuZ2VMaW5lTnVtYmVyT2ZNYXJrZG93bjogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFRyYW5zbGF0aW9uKCkod2l0aFVuc3RhdGVkQ29udGFpbmVycyhEcmF3aW8sIFtBcHBDb250YWluZXJdKSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQU1BO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFIQTtBQUtBO0FBQUE7QUFBQTtBQUxBO0FBVUE7QUFDQTtBQWxGQTtBQUNBO0FBb0ZBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBTkE7QUFTQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/Drawio.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/DuplicatedPathsTable.jsx":
- /*!***********************************************************!*\
- !*** ./src/client/js/components/DuplicatedPathsTable.jsx ***!
- \***********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n/* harmony import */ var _lib_util_path_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../lib/util/path-utils */ \"./src/lib/util/path-utils.js\");\n/* harmony import */ var _lib_util_path_utils__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_lib_util_path_utils__WEBPACK_IMPORTED_MODULE_5__);\n\n\n\n\n\n\n\nfunction DuplicatedPathsTable(props) {\n const {\n pageContainer,\n oldPagePath,\n existingPaths,\n t\n } = props;\n const {\n path\n } = pageContainer.state;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"table\", {\n className: \"table table-bordered grw-duplicated-paths-table\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"thead\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"tr\", {\n className: \"d-flex\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"th\", {\n className: \"w-50\"\n }, t('original_path')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"th\", {\n className: \"w-50 text-danger\"\n }, t('duplicated_path')))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"tbody\", {\n className: \"overflow-auto d-block\"\n }, existingPaths.map(existPath => {\n const convertedPath = Object(_lib_util_path_utils__WEBPACK_IMPORTED_MODULE_5__[\"convertToNewAffiliationPath\"])(oldPagePath, path, existPath);\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"tr\", {\n key: existPath,\n className: \"d-flex\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"td\", {\n className: \"text-break w-50\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: convertedPath\n }, convertedPath)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"td\", {\n className: \"text-break text-danger w-50\"\n }, existPath));\n })));\n}\n/**\n * Wrapper component for using unstated\n */\n\n\nconst PageDuplicateModallWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__[\"withUnstatedContainers\"])(DuplicatedPathsTable, [_services_PageContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]]);\nDuplicatedPathsTable.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]).isRequired,\n existingPaths: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.array.isRequired,\n oldPagePath: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(PageDuplicateModallWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvRHVwbGljYXRlZFBhdGhzVGFibGUuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL0R1cGxpY2F0ZWRQYXRoc1RhYmxlLmpzeD80NzNmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQgeyB3aXRoVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcbmltcG9ydCB7IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMgfSBmcm9tICcuL1Vuc3RhdGVkVXRpbHMnO1xuXG5pbXBvcnQgUGFnZUNvbnRhaW5lciBmcm9tICcuLi9zZXJ2aWNlcy9QYWdlQ29udGFpbmVyJztcbmltcG9ydCB7IGNvbnZlcnRUb05ld0FmZmlsaWF0aW9uUGF0aCB9IGZyb20gJy4uLy4uLy4uL2xpYi91dGlsL3BhdGgtdXRpbHMnO1xuXG5mdW5jdGlvbiBEdXBsaWNhdGVkUGF0aHNUYWJsZShwcm9wcykge1xuICBjb25zdCB7XG4gICAgcGFnZUNvbnRhaW5lciwgb2xkUGFnZVBhdGgsIGV4aXN0aW5nUGF0aHMsIHQsXG4gIH0gPSBwcm9wcztcbiAgY29uc3QgeyBwYXRoIH0gPSBwYWdlQ29udGFpbmVyLnN0YXRlO1xuXG4gIHJldHVybiAoXG4gICAgPHRhYmxlIGNsYXNzTmFtZT1cInRhYmxlIHRhYmxlLWJvcmRlcmVkIGdydy1kdXBsaWNhdGVkLXBhdGhzLXRhYmxlXCI+XG4gICAgICA8dGhlYWQ+XG4gICAgICAgIDx0ciBjbGFzc05hbWU9XCJkLWZsZXhcIj5cbiAgICAgICAgICA8dGggY2xhc3NOYW1lPVwidy01MFwiPnt0KCdvcmlnaW5hbF9wYXRoJyl9PC90aD5cbiAgICAgICAgICA8dGggY2xhc3NOYW1lPVwidy01MCB0ZXh0LWRhbmdlclwiPnt0KCdkdXBsaWNhdGVkX3BhdGgnKX08L3RoPlxuICAgICAgICA8L3RyPlxuICAgICAgPC90aGVhZD5cbiAgICAgIDx0Ym9keSBjbGFzc05hbWU9XCJvdmVyZmxvdy1hdXRvIGQtYmxvY2tcIj5cbiAgICAgICAge2V4aXN0aW5nUGF0aHMubWFwKChleGlzdFBhdGgpID0+IHtcbiAgICAgICAgICBjb25zdCBjb252ZXJ0ZWRQYXRoID0gY29udmVydFRvTmV3QWZmaWxpYXRpb25QYXRoKG9sZFBhZ2VQYXRoLCBwYXRoLCBleGlzdFBhdGgpO1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8dHIga2V5PXtleGlzdFBhdGh9IGNsYXNzTmFtZT1cImQtZmxleFwiPlxuICAgICAgICAgICAgICA8dGQgY2xhc3NOYW1lPVwidGV4dC1icmVhayB3LTUwXCI+XG4gICAgICAgICAgICAgICAgPGEgaHJlZj17Y29udmVydGVkUGF0aH0+XG4gICAgICAgICAgICAgICAgICB7Y29udmVydGVkUGF0aH1cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzc05hbWU9XCJ0ZXh0LWJyZWFrIHRleHQtZGFuZ2VyIHctNTBcIj5cbiAgICAgICAgICAgICAgICB7ZXhpc3RQYXRofVxuICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICApO1xuICAgICAgICB9KX1cbiAgICAgIDwvdGJvZHk+XG4gICAgPC90YWJsZT5cbiAgKTtcbn1cblxuXG4vKipcbiAqIFdyYXBwZXIgY29tcG9uZW50IGZvciB1c2luZyB1bnN0YXRlZFxuICovXG5jb25zdCBQYWdlRHVwbGljYXRlTW9kYWxsV3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoRHVwbGljYXRlZFBhdGhzVGFibGUsIFtQYWdlQ29udGFpbmVyXSk7XG5cbkR1cGxpY2F0ZWRQYXRoc1RhYmxlLnByb3BUeXBlcyA9IHtcbiAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCwgLy8gIGkxOG5leHRcbiAgcGFnZUNvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoUGFnZUNvbnRhaW5lcikuaXNSZXF1aXJlZCxcbiAgZXhpc3RpbmdQYXRoczogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWQsXG4gIG9sZFBhZ2VQYXRoOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG59O1xuXG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhUcmFuc2xhdGlvbigpKFBhZ2VEdXBsaWNhdGVNb2RhbGxXcmFwcGVyKTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQURBO0FBR0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUFBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBR0E7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUlBO0FBQUE7QUFLQTtBQUlBO0FBR0E7Ozs7O0FBR0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQVFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/DuplicatedPathsTable.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/EmptyTrashModal.jsx":
- /*!******************************************************!*\
- !*** ./src/client/js/components/EmptyTrashModal.jsx ***!
- \******************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! reactstrap/es/Modal */ \"./node_modules/reactstrap/es/Modal.js\");\n/* harmony import */ var reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! reactstrap/es/ModalHeader */ \"./node_modules/reactstrap/es/ModalHeader.js\");\n/* harmony import */ var reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! reactstrap/es/ModalBody */ \"./node_modules/reactstrap/es/ModalBody.js\");\n/* harmony import */ var reactstrap_es_ModalFooter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! reactstrap/es/ModalFooter */ \"./node_modules/reactstrap/es/ModalFooter.js\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_SocketIoContainer__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../services/SocketIoContainer */ \"./src/client/js/services/SocketIoContainer.js\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _PageManagement_ApiErrorMessageList__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./PageManagement/ApiErrorMessageList */ \"./src/client/js/components/PageManagement/ApiErrorMessageList.jsx\");\n\n\n\n\n\n\n\n\n\n\n\n\nconst EmptyTrashModal = props => {\n const {\n t,\n isOpen,\n onClose,\n appContainer,\n socketIoContainer\n } = props;\n const [errs, setErrs] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(null);\n\n async function emptyTrash() {\n setErrs(null);\n\n try {\n await appContainer.apiv3Delete('/pages/empty-trash', {\n socketClientId: socketIoContainer.getSocketClientId()\n });\n window.location.reload();\n } catch (err) {\n setErrs(err);\n }\n }\n\n function emptyButtonHandler() {\n emptyTrash();\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n isOpen: isOpen,\n toggle: onClose,\n className: \"grw-create-page\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n tag: \"h4\",\n toggle: onClose,\n className: \"bg-danger text-light\"\n }, t('modal_empty.empty_the_trash')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_4__[\"default\"], null, t('modal_empty.notice')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalFooter__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageManagement_ApiErrorMessageList__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n errs: errs\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-danger\",\n onClick: emptyButtonHandler\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-trash mr-2\",\n \"aria-hidden\": \"true\"\n }), \" Empty\")));\n};\n/**\n * Wrapper component for using unstated\n */\n\n\nconst EmptyTrashModalWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_7__[\"withUnstatedContainers\"])(EmptyTrashModal, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_9__[\"default\"], _services_SocketIoContainer__WEBPACK_IMPORTED_MODULE_8__[\"default\"]]);\nEmptyTrashModal.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_9__[\"default\"]).isRequired,\n socketIoContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_SocketIoContainer__WEBPACK_IMPORTED_MODULE_8__[\"default\"]),\n isOpen: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,\n onClose: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_6__[\"withTranslation\"])()(EmptyTrashModalWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvRW1wdHlUcmFzaE1vZGFsLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9FbXB0eVRyYXNoTW9kYWwuanN4P2FiM2IiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuaW1wb3J0IHtcbiAgTW9kYWwsIE1vZGFsSGVhZGVyLCBNb2RhbEJvZHksIE1vZGFsRm9vdGVyLFxufSBmcm9tICdyZWFjdHN0cmFwJztcblxuaW1wb3J0IHsgd2l0aFRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5pbXBvcnQgeyB3aXRoVW5zdGF0ZWRDb250YWluZXJzIH0gZnJvbSAnLi9VbnN0YXRlZFV0aWxzJztcblxuaW1wb3J0IFNvY2tldElvQ29udGFpbmVyIGZyb20gJy4uL3NlcnZpY2VzL1NvY2tldElvQ29udGFpbmVyJztcbmltcG9ydCBBcHBDb250YWluZXIgZnJvbSAnLi4vc2VydmljZXMvQXBwQ29udGFpbmVyJztcbmltcG9ydCBBcGlFcnJvck1lc3NhZ2VMaXN0IGZyb20gJy4vUGFnZU1hbmFnZW1lbnQvQXBpRXJyb3JNZXNzYWdlTGlzdCc7XG5cbmNvbnN0IEVtcHR5VHJhc2hNb2RhbCA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgdCwgaXNPcGVuLCBvbkNsb3NlLCBhcHBDb250YWluZXIsIHNvY2tldElvQ29udGFpbmVyLFxuICB9ID0gcHJvcHM7XG5cbiAgY29uc3QgW2VycnMsIHNldEVycnNdID0gdXNlU3RhdGUobnVsbCk7XG5cbiAgYXN5bmMgZnVuY3Rpb24gZW1wdHlUcmFzaCgpIHtcbiAgICBzZXRFcnJzKG51bGwpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGFwcENvbnRhaW5lci5hcGl2M0RlbGV0ZSgnL3BhZ2VzL2VtcHR5LXRyYXNoJywgeyBzb2NrZXRDbGllbnRJZDogc29ja2V0SW9Db250YWluZXIuZ2V0U29ja2V0Q2xpZW50SWQoKSB9KTtcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgc2V0RXJycyhlcnIpO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGVtcHR5QnV0dG9uSGFuZGxlcigpIHtcbiAgICBlbXB0eVRyYXNoKCk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxNb2RhbCBpc09wZW49e2lzT3Blbn0gdG9nZ2xlPXtvbkNsb3NlfSBjbGFzc05hbWU9XCJncnctY3JlYXRlLXBhZ2VcIj5cbiAgICAgIDxNb2RhbEhlYWRlciB0YWc9XCJoNFwiIHRvZ2dsZT17b25DbG9zZX0gY2xhc3NOYW1lPVwiYmctZGFuZ2VyIHRleHQtbGlnaHRcIj5cbiAgICAgICAgeyB0KCdtb2RhbF9lbXB0eS5lbXB0eV90aGVfdHJhc2gnKX1cbiAgICAgIDwvTW9kYWxIZWFkZXI+XG4gICAgICA8TW9kYWxCb2R5PlxuICAgICAgICB7IHQoJ21vZGFsX2VtcHR5Lm5vdGljZScpfVxuICAgICAgPC9Nb2RhbEJvZHk+XG4gICAgICA8TW9kYWxGb290ZXI+XG4gICAgICAgIDxBcGlFcnJvck1lc3NhZ2VMaXN0IGVycnM9e2VycnN9IC8+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzTmFtZT1cImJ0biBidG4tZGFuZ2VyXCIgb25DbGljaz17ZW1wdHlCdXR0b25IYW5kbGVyfT5cbiAgICAgICAgICA8aSBjbGFzc05hbWU9XCJpY29uLXRyYXNoIG1yLTJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+IEVtcHR5XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9Nb2RhbEZvb3Rlcj5cbiAgICA8L01vZGFsPlxuICApO1xufTtcblxuLyoqXG4gKiBXcmFwcGVyIGNvbXBvbmVudCBmb3IgdXNpbmcgdW5zdGF0ZWRcbiAqL1xuY29uc3QgRW1wdHlUcmFzaE1vZGFsV3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoRW1wdHlUcmFzaE1vZGFsLCBbQXBwQ29udGFpbmVyLCBTb2NrZXRJb0NvbnRhaW5lcl0pO1xuXG5cbkVtcHR5VHJhc2hNb2RhbC5wcm9wVHlwZXMgPSB7XG4gIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsIC8vICBpMThuZXh0XG4gIGFwcENvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoQXBwQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuICBzb2NrZXRJb0NvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoU29ja2V0SW9Db250YWluZXIpLFxuXG4gIGlzT3BlbjogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgb25DbG9zZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhUcmFuc2xhdGlvbigpKEVtcHR5VHJhc2hNb2RhbFdyYXBwZXIpO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTs7Ozs7QUFNQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQURBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFLQTtBQUVBOzs7OztBQUdBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFOQTtBQVNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/EmptyTrashModal.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/ExpandOrContractButton.jsx":
- /*!*************************************************************!*\
- !*** ./src/client/js/components/ExpandOrContractButton.jsx ***!
- \*************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n\n\n\nfunction ExpandOrContractButton(props) {\n const {\n isWindowExpanded,\n contractWindow,\n expandWindow\n } = props;\n\n const clickContractButtonHandler = () => {\n if (contractWindow != null) {\n contractWindow();\n }\n };\n\n const clickExpandButtonHandler = () => {\n if (expandWindow != null) {\n expandWindow();\n }\n };\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"close\",\n onClick: isWindowExpanded ? clickContractButtonHandler : clickExpandButtonHandler\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: `${isWindowExpanded ? 'icon-size-actual' : 'icon-size-fullscreen'}`,\n style: {\n fontSize: '0.8em'\n },\n \"aria-hidden\": \"true\"\n }));\n}\n\nExpandOrContractButton.propTypes = {\n isWindowExpanded: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n contractWindow: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n expandWindow: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (ExpandOrContractButton);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvRXhwYW5kT3JDb250cmFjdEJ1dHRvbi5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvRXhwYW5kT3JDb250cmFjdEJ1dHRvbi5qc3g/N2U4NSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuZnVuY3Rpb24gRXhwYW5kT3JDb250cmFjdEJ1dHRvbihwcm9wcykge1xuICBjb25zdCB7IGlzV2luZG93RXhwYW5kZWQsIGNvbnRyYWN0V2luZG93LCBleHBhbmRXaW5kb3cgfSA9IHByb3BzO1xuXG4gIGNvbnN0IGNsaWNrQ29udHJhY3RCdXR0b25IYW5kbGVyID0gKCkgPT4ge1xuICAgIGlmIChjb250cmFjdFdpbmRvdyAhPSBudWxsKSB7XG4gICAgICBjb250cmFjdFdpbmRvdygpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBjbGlja0V4cGFuZEJ1dHRvbkhhbmRsZXIgPSAoKSA9PiB7XG4gICAgaWYgKGV4cGFuZFdpbmRvdyAhPSBudWxsKSB7XG4gICAgICBleHBhbmRXaW5kb3coKTtcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzc05hbWU9XCJjbG9zZVwiIG9uQ2xpY2s9e2lzV2luZG93RXhwYW5kZWQgPyBjbGlja0NvbnRyYWN0QnV0dG9uSGFuZGxlciA6IGNsaWNrRXhwYW5kQnV0dG9uSGFuZGxlcn0+XG4gICAgICA8aSBjbGFzc05hbWU9e2Ake2lzV2luZG93RXhwYW5kZWQgPyAnaWNvbi1zaXplLWFjdHVhbCcgOiAnaWNvbi1zaXplLWZ1bGxzY3JlZW4nfWB9IHN0eWxlPXt7IGZvbnRTaXplOiAnMC44ZW0nIH19IGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICA8L2J1dHRvbj5cbiAgKTtcbn1cblxuRXhwYW5kT3JDb250cmFjdEJ1dHRvbi5wcm9wVHlwZXMgPSB7XG4gIGlzV2luZG93RXhwYW5kZWQ6IFByb3BUeXBlcy5ib29sLFxuICBjb250cmFjdFdpbmRvdzogUHJvcFR5cGVzLmZ1bmMsXG4gIGV4cGFuZFdpbmRvdzogUHJvcFR5cGVzLmZ1bmMsXG59O1xuXG5cbmV4cG9ydCBkZWZhdWx0IEV4cGFuZE9yQ29udHJhY3RCdXR0b247XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQU9BIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/ExpandOrContractButton.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Fab.jsx":
- /*!******************************************!*\
- !*** ./src/client/js/components/Fab.jsx ***!
- \******************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @alias/logger */ \"./src/lib/service/logger/index.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_alias_logger__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var sticky_events__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! sticky-events */ \"./node_modules/sticky-events/dist/sticky-events.umd.js\");\n/* harmony import */ var sticky_events__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(sticky_events__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_NavigationContainer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../services/NavigationContainer */ \"./src/client/js/services/NavigationContainer.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _Icons_CreatePageIcon__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Icons/CreatePageIcon */ \"./src/client/js/components/Icons/CreatePageIcon.jsx\");\n/* harmony import */ var _Icons_ReturnTopIcon__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Icons/ReturnTopIcon */ \"./src/client/js/components/Icons/ReturnTopIcon.jsx\");\n\n\n\n\n\n\n\n\n\nconst logger = _alias_logger__WEBPACK_IMPORTED_MODULE_2___default()('growi:cli:Fab');\n\nconst Fab = props => {\n const {\n navigationContainer,\n appContainer\n } = props;\n const {\n currentUser\n } = appContainer;\n const [animateClasses, setAnimateClasses] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])('invisible');\n const [buttonClasses, setButtonClasses] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])('');\n const stickyChangeHandler = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useCallback\"])(event => {\n logger.debug('StickyEvents.CHANGE detected');\n const newAnimateClasses = event.detail.isSticky ? 'animated fadeInUp faster' : 'animated fadeOut faster';\n const newButtonClasses = event.detail.isSticky ? '' : 'disabled grw-pointer-events-none';\n setAnimateClasses(newAnimateClasses);\n setButtonClasses(newButtonClasses);\n }, []); // setup effect by sticky event\n\n Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useEffect\"])(() => {\n // sticky\n // See: https://github.com/ryanwalters/sticky-events\n const stickyEvents = new sticky_events__WEBPACK_IMPORTED_MODULE_3___default.a({\n stickySelector: '#grw-fav-sticky-trigger'\n });\n const {\n stickySelector\n } = stickyEvents;\n const elem = document.querySelector(stickySelector);\n elem.addEventListener(sticky_events__WEBPACK_IMPORTED_MODULE_3___default.a.CHANGE, stickyChangeHandler); // return clean up handler\n\n return () => {\n elem.removeEventListener(sticky_events__WEBPACK_IMPORTED_MODULE_3___default.a.CHANGE, stickyChangeHandler);\n };\n }, [stickyChangeHandler]);\n\n function renderPageCreateButton() {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: `rounded-circle position-absolute ${animateClasses}`,\n style: {\n bottom: '2.3rem',\n right: '4rem'\n }\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: `btn btn-lg btn-create-page btn-primary rounded-circle p-0 waves-effect waves-light ${buttonClasses}`,\n onClick: navigationContainer.openPageCreateModal\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icons_CreatePageIcon__WEBPACK_IMPORTED_MODULE_7__[\"default\"], null))));\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"grw-fab d-none d-md-block\"\n }, currentUser != null && renderPageCreateButton(), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: `rounded-circle position-absolute ${animateClasses}`,\n style: {\n bottom: 0,\n right: 0\n }\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: `btn btn-light btn-scroll-to-top rounded-circle p-0 ${buttonClasses}`,\n onClick: () => navigationContainer.smoothScrollIntoView()\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icons_ReturnTopIcon__WEBPACK_IMPORTED_MODULE_8__[\"default\"], null))));\n};\n\nFab.propTypes = {\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]).isRequired,\n navigationContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_NavigationContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]).isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_6__[\"withUnstatedContainers\"])(Fab, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"], _services_NavigationContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]]));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvRmFiLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9GYWIuanN4PzVjNzIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlLCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBsb2dnZXJGYWN0b3J5IGZyb20gJ0BhbGlhcy9sb2dnZXInO1xuXG5pbXBvcnQgU3RpY2t5RXZlbnRzIGZyb20gJ3N0aWNreS1ldmVudHMnO1xuXG5pbXBvcnQgQXBwQ29udGFpbmVyIGZyb20gJy4uL3NlcnZpY2VzL0FwcENvbnRhaW5lcic7XG5pbXBvcnQgTmF2aWdhdGlvbkNvbnRhaW5lciBmcm9tICcuLi9zZXJ2aWNlcy9OYXZpZ2F0aW9uQ29udGFpbmVyJztcbmltcG9ydCB7IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMgfSBmcm9tICcuL1Vuc3RhdGVkVXRpbHMnO1xuaW1wb3J0IENyZWF0ZVBhZ2VJY29uIGZyb20gJy4vSWNvbnMvQ3JlYXRlUGFnZUljb24nO1xuaW1wb3J0IFJldHVyblRvcEljb24gZnJvbSAnLi9JY29ucy9SZXR1cm5Ub3BJY29uJztcblxuY29uc3QgbG9nZ2VyID0gbG9nZ2VyRmFjdG9yeSgnZ3Jvd2k6Y2xpOkZhYicpO1xuXG5jb25zdCBGYWIgPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBuYXZpZ2F0aW9uQ29udGFpbmVyLCBhcHBDb250YWluZXIgfSA9IHByb3BzO1xuICBjb25zdCB7IGN1cnJlbnRVc2VyIH0gPSBhcHBDb250YWluZXI7XG5cbiAgY29uc3QgW2FuaW1hdGVDbGFzc2VzLCBzZXRBbmltYXRlQ2xhc3Nlc10gPSB1c2VTdGF0ZSgnaW52aXNpYmxlJyk7XG4gIGNvbnN0IFtidXR0b25DbGFzc2VzLCBzZXRCdXR0b25DbGFzc2VzXSA9IHVzZVN0YXRlKCcnKTtcblxuXG4gIGNvbnN0IHN0aWNreUNoYW5nZUhhbmRsZXIgPSB1c2VDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICBsb2dnZXIuZGVidWcoJ1N0aWNreUV2ZW50cy5DSEFOR0UgZGV0ZWN0ZWQnKTtcblxuICAgIGNvbnN0IG5ld0FuaW1hdGVDbGFzc2VzID0gZXZlbnQuZGV0YWlsLmlzU3RpY2t5ID8gJ2FuaW1hdGVkIGZhZGVJblVwIGZhc3RlcicgOiAnYW5pbWF0ZWQgZmFkZU91dCBmYXN0ZXInO1xuICAgIGNvbnN0IG5ld0J1dHRvbkNsYXNzZXMgPSBldmVudC5kZXRhaWwuaXNTdGlja3kgPyAnJyA6ICdkaXNhYmxlZCBncnctcG9pbnRlci1ldmVudHMtbm9uZSc7XG5cbiAgICBzZXRBbmltYXRlQ2xhc3NlcyhuZXdBbmltYXRlQ2xhc3Nlcyk7XG4gICAgc2V0QnV0dG9uQ2xhc3NlcyhuZXdCdXR0b25DbGFzc2VzKTtcbiAgfSwgW10pO1xuXG4gIC8vIHNldHVwIGVmZmVjdCBieSBzdGlja3kgZXZlbnRcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBzdGlja3lcbiAgICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9yeWFud2FsdGVycy9zdGlja3ktZXZlbnRzXG4gICAgY29uc3Qgc3RpY2t5RXZlbnRzID0gbmV3IFN0aWNreUV2ZW50cyh7IHN0aWNreVNlbGVjdG9yOiAnI2dydy1mYXYtc3RpY2t5LXRyaWdnZXInIH0pO1xuICAgIGNvbnN0IHsgc3RpY2t5U2VsZWN0b3IgfSA9IHN0aWNreUV2ZW50cztcbiAgICBjb25zdCBlbGVtID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzdGlja3lTZWxlY3Rvcik7XG4gICAgZWxlbS5hZGRFdmVudExpc3RlbmVyKFN0aWNreUV2ZW50cy5DSEFOR0UsIHN0aWNreUNoYW5nZUhhbmRsZXIpO1xuXG4gICAgLy8gcmV0dXJuIGNsZWFuIHVwIGhhbmRsZXJcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZWxlbS5yZW1vdmVFdmVudExpc3RlbmVyKFN0aWNreUV2ZW50cy5DSEFOR0UsIHN0aWNreUNoYW5nZUhhbmRsZXIpO1xuICAgIH07XG4gIH0sIFtzdGlja3lDaGFuZ2VIYW5kbGVyXSk7XG5cbiAgZnVuY3Rpb24gcmVuZGVyUGFnZUNyZWF0ZUJ1dHRvbigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Byb3VuZGVkLWNpcmNsZSBwb3NpdGlvbi1hYnNvbHV0ZSAke2FuaW1hdGVDbGFzc2VzfWB9IHN0eWxlPXt7IGJvdHRvbTogJzIuM3JlbScsIHJpZ2h0OiAnNHJlbScgfX0+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzc05hbWU9e2BidG4gYnRuLWxnIGJ0bi1jcmVhdGUtcGFnZSBidG4tcHJpbWFyeSByb3VuZGVkLWNpcmNsZSBwLTAgd2F2ZXMtZWZmZWN0IHdhdmVzLWxpZ2h0ICR7YnV0dG9uQ2xhc3Nlc31gfVxuICAgICAgICAgICAgb25DbGljaz17bmF2aWdhdGlvbkNvbnRhaW5lci5vcGVuUGFnZUNyZWF0ZU1vZGFsfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxDcmVhdGVQYWdlSWNvbiAvPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3J3LWZhYiBkLW5vbmUgZC1tZC1ibG9ja1wiPlxuICAgICAge2N1cnJlbnRVc2VyICE9IG51bGwgJiYgcmVuZGVyUGFnZUNyZWF0ZUJ1dHRvbigpfVxuICAgICAgPGRpdiBjbGFzc05hbWU9e2Byb3VuZGVkLWNpcmNsZSBwb3NpdGlvbi1hYnNvbHV0ZSAke2FuaW1hdGVDbGFzc2VzfWB9IHN0eWxlPXt7IGJvdHRvbTogMCwgcmlnaHQ6IDAgfX0+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzc05hbWU9e2BidG4gYnRuLWxpZ2h0IGJ0bi1zY3JvbGwtdG8tdG9wIHJvdW5kZWQtY2lyY2xlIHAtMCAke2J1dHRvbkNsYXNzZXN9YH1cbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBuYXZpZ2F0aW9uQ29udGFpbmVyLnNtb290aFNjcm9sbEludG9WaWV3KCl9XG4gICAgICAgID5cbiAgICAgICAgICA8UmV0dXJuVG9wSWNvbiAvPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xuXG59O1xuXG5GYWIucHJvcFR5cGVzID0ge1xuICBhcHBDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKEFwcENvbnRhaW5lcikuaXNSZXF1aXJlZCxcbiAgbmF2aWdhdGlvbkNvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoTmF2aWdhdGlvbkNvbnRhaW5lcikuaXNSZXF1aXJlZCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoRmFiLCBbQXBwQ29udGFpbmVyLCBOYXZpZ2F0aW9uQ29udGFpbmVyXSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFIQTtBQVVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFIQTtBQVdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFGQTtBQUtBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/Fab.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/FootstampIcon.jsx":
- /*!****************************************************!*\
- !*** ./src/client/js/components/FootstampIcon.jsx ***!
- \****************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n\nconst FootstampIcon = () => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"16\",\n height: \"16\",\n viewBox: \"0 0 16 16\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M7.34,8,3.31,9a1.83,1.83,0,0,1-1.24-.08A1.28,1.28,0,0,1,1.34,8a3.24,3.24,0,0,1,.2-1.82A6.06,6.06,0,0,1,2.6,4.35h0a2.56, 2.56,0,0,1,3.34-.77A5.65,5.65,0,0,1,7.69,4.73a3.23,3.23,0,0,1,1,1.53A1.29,1.29,0,0,1,8.42,7.4,1.86,1.86,0,0,1,7.34,8Zm-3-3.82a2.17,2.17,0,0, 0-1.05.74h0a4.75,4.75,0,0,0-.89,1.52,2.37,2.37,0,0,0-.17,1.3.38.38,0,0,0,.23.31,1,1,0,0,0,.65, 0l4-.94a1,1,0,0,0,.58-.3.39.39,0,0,0,.07-.38,2.32,2.32,0,0,0-.73-1.08,4.7,4.7,0,0,0-1.47-1A2.07,2.07,0,0,0,4.33,4.2Z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M7.26,1.39a.57.57,0,0,0-.18,0,.81.81,0,0,0-.61,1l.09.38a.81.81,0,0,0,.79.63l.19,0a.82.82,0,0,0,.6-1L8.05,2a.81.81,0,0,0-.79-.63Z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M.81,2.9a.55.55,0,0,0-.18,0h0a.81.81,0,0,0-.61,1l.09.38A.81.81,0,0,0,.9,4.9l.18,0h0a.82.82,0,0,0,.61-1L1.6,3.52A.8.8,0,0,0,.81,2.9Z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M2.29.61a.57.57,0,0,0-.18,0,.81.81,0,0,0-.61,1l.16.7a.81.81,0,0,0,.79.63l.19,0h0a.8.8,0,0,0,.6-1l-.16-.71A.82.82,0,0,0,2.29.61Z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M4.93,0,4.75,0a.82.82,0,0,0-.61,1l.16.7a.82.82,0,0,0,.79.63l.19,0h0a.82.82,0,0,0,.61-1L5.72.63A.81.81,0,0,0,4.93,0Z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M13.22,16l-4.1-.54A1.88,1.88,0,0,1,8,14.94a1.34,1.34,0,0,1-.36-1.12,3.19,3.19,0,0,1,.83-1.62,5.73,5.73,0,0,1,1.62-1.32h0a2.57,2.57, 0,0,1,3.4.44A5.82,5.82,0,0,1,14.7,13a3.21,3.21,0,0,1,.38,1.78,1.28,1.28,0,0,1-.63,1A1.94,1.94,0,0,1,13.22,16Zm-1.48-4.64a2.12,2.12,0,0, 0-1.24.33h0a5.07,5.07,0,0,0-1.37,1.11,2.41,2.41,0,0,0-.62,1.16.43.43,0,0,0,.11.37,1.08,1.08,0,0,0,.61.24l4.11.53A1,1,0,0,0,14,15a.41.41,0,0, 0,.2-.33,2.47,2.47,0,0,0-.3-1.28,5,5,0,0,0-1-1.42A2.12,2.12,0,0,0,11.74,11.34Z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M15.19,9.69a.82.82,0,0,0-.81.71l-.05.39a.82.82,0,0,0,.7.91h.11a.81.81,0,0,0,.8-.7l.05-.39a.8.8,0,0,0-.7-.91Z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M8.62,8.84a.82.82,0,0,0-.81.7l0,.39a.82.82,0,0,0,.7.91h.11a.81.81,0,0,0,.8-.71l.06-.39a.82.82,0,0,0-.7-.91Z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M10.8,7.22a.81.81,0,0,0-.8.7l-.09.72a.81.81,0,0,0,.7.91h.1a.83.83,0,0,0,.81-.71l.09-.72a.82.82,0,0,0-.7-.91Z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M13.49,7.57a.81.81,0,0,0-.8.71l-.1.71a.82.82,0,0,0,.7.91h.11a.81.81,0,0,0,.8-.71l.1-.71a.81.81,0,0,0-.7-.91Z\"\n}));\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (FootstampIcon);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvRm9vdHN0YW1wSWNvbi5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvRm9vdHN0YW1wSWNvbi5qc3g/NzhkMCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5jb25zdCBGb290c3RhbXBJY29uID0gKCkgPT4gKFxuICA8c3ZnXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgd2lkdGg9XCIxNlwiXG4gICAgaGVpZ2h0PVwiMTZcIlxuICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxuICA+XG4gICAgPHBhdGggZD1cIk03LjM0LDgsMy4zMSw5YTEuODMsMS44MywwLDAsMS0xLjI0LS4wOEExLjI4LDEuMjgsMCwwLDEsMS4zNCw4YTMuMjQsMy4yNCwwLDAsMSwuMi0xLjgyQTYuMDYsNi4wNiwwLDAsMSwyLjYsNC4zNWgwYTIuNTYsXG4gICAgMi41NiwwLDAsMSwzLjM0LS43N0E1LjY1LDUuNjUsMCwwLDEsNy42OSw0LjczYTMuMjMsMy4yMywwLDAsMSwxLDEuNTNBMS4yOSwxLjI5LDAsMCwxLDguNDIsNy40LDEuODYsMS44NiwwLDAsMSw3LjM0LDhabS0zLTMuODJhMi4xNywyLjE3LDAsMCxcbiAgICAwLTEuMDUuNzRoMGE0Ljc1LDQuNzUsMCwwLDAtLjg5LDEuNTIsMi4zNywyLjM3LDAsMCwwLS4xNywxLjMuMzguMzgsMCwwLDAsLjIzLjMxLDEsMSwwLDAsMCwuNjUsXG4gICAgICAwbDQtLjk0YTEsMSwwLDAsMCwuNTgtLjMuMzkuMzksMCwwLDAsLjA3LS4zOCwyLjMyLDIuMzIsMCwwLDAtLjczLTEuMDgsNC43LDQuNywwLDAsMC0xLjQ3LTFBMi4wNywyLjA3LDAsMCwwLDQuMzMsNC4yWlwiXG4gICAgLz5cbiAgICA8cGF0aCBkPVwiTTcuMjYsMS4zOWEuNTcuNTcsMCwwLDAtLjE4LDAsLjgxLjgxLDAsMCwwLS42MSwxbC4wOS4zOGEuODEuODEsMCwwLDAsLjc5LjYzbC4xOSwwYS44Mi44MiwwLDAsMCwuNi0xTDguMDUsMmEuODEuODEsMCwwLDAtLjc5LS42M1pcIiAvPlxuICAgIDxwYXRoIGQ9XCJNLjgxLDIuOWEuNTUuNTUsMCwwLDAtLjE4LDBoMGEuODEuODEsMCwwLDAtLjYxLDFsLjA5LjM4QS44MS44MSwwLDAsMCwuOSw0LjlsLjE4LDBoMGEuODIuODIsMCwwLDAsLjYxLTFMMS42LDMuNTJBLjguOCwwLDAsMCwuODEsMi45WlwiIC8+XG4gICAgPHBhdGggZD1cIk0yLjI5LjYxYS41Ny41NywwLDAsMC0uMTgsMCwuODEuODEsMCwwLDAtLjYxLDFsLjE2LjdhLjgxLjgxLDAsMCwwLC43OS42M2wuMTksMGgwYS44LjgsMCwwLDAsLjYtMWwtLjE2LS43MUEuODIuODIsMCwwLDAsMi4yOS42MVpcIiAvPlxuICAgIDxwYXRoIGQ9XCJNNC45MywwLDQuNzUsMGEuODIuODIsMCwwLDAtLjYxLDFsLjE2LjdhLjgyLjgyLDAsMCwwLC43OS42M2wuMTksMGgwYS44Mi44MiwwLDAsMCwuNjEtMUw1LjcyLjYzQS44MS44MSwwLDAsMCw0LjkzLDBaXCIgLz5cbiAgICA8cGF0aCBkPVwiTTEzLjIyLDE2bC00LjEtLjU0QTEuODgsMS44OCwwLDAsMSw4LDE0Ljk0YTEuMzQsMS4zNCwwLDAsMS0uMzYtMS4xMiwzLjE5LDMuMTksMCwwLDEsLjgzLTEuNjIsNS43Myw1LjczLDAsMCwxLDEuNjItMS4zMmgwYTIuNTcsMi41NyxcbiAgICAwLDAsMSwzLjQuNDRBNS44Miw1LjgyLDAsMCwxLDE0LjcsMTNhMy4yMSwzLjIxLDAsMCwxLC4zOCwxLjc4LDEuMjgsMS4yOCwwLDAsMS0uNjMsMUExLjk0LDEuOTQsMCwwLDEsMTMuMjIsMTZabS0xLjQ4LTQuNjRhMi4xMiwyLjEyLDAsMCxcbiAgICAwLTEuMjQuMzNoMGE1LjA3LDUuMDcsMCwwLDAtMS4zNywxLjExLDIuNDEsMi40MSwwLDAsMC0uNjIsMS4xNi40My40MywwLDAsMCwuMTEuMzcsMS4wOCwxLjA4LDAsMCwwLC42MS4yNGw0LjExLjUzQTEsMSwwLDAsMCwxNCwxNWEuNDEuNDEsMCwwLFxuICAgIDAsLjItLjMzLDIuNDcsMi40NywwLDAsMC0uMy0xLjI4LDUsNSwwLDAsMC0xLTEuNDJBMi4xMiwyLjEyLDAsMCwwLDExLjc0LDExLjM0WlwiXG4gICAgLz5cbiAgICA8cGF0aCBkPVwiTTE1LjE5LDkuNjlhLjgyLjgyLDAsMCwwLS44MS43MWwtLjA1LjM5YS44Mi44MiwwLDAsMCwuNy45MWguMTFhLjgxLjgxLDAsMCwwLC44LS43bC4wNS0uMzlhLjguOCwwLDAsMC0uNy0uOTFaXCIgLz5cbiAgICA8cGF0aCBkPVwiTTguNjIsOC44NGEuODIuODIsMCwwLDAtLjgxLjdsMCwuMzlhLjgyLjgyLDAsMCwwLC43LjkxaC4xMWEuODEuODEsMCwwLDAsLjgtLjcxbC4wNi0uMzlhLjgyLjgyLDAsMCwwLS43LS45MVpcIiAvPlxuICAgIDxwYXRoIGQ9XCJNMTAuOCw3LjIyYS44MS44MSwwLDAsMC0uOC43bC0uMDkuNzJhLjgxLjgxLDAsMCwwLC43LjkxaC4xYS44My44MywwLDAsMCwuODEtLjcxbC4wOS0uNzJhLjgyLjgyLDAsMCwwLS43LS45MVpcIiAvPlxuICAgIDxwYXRoIGQ9XCJNMTMuNDksNy41N2EuODEuODEsMCwwLDAtLjguNzFsLS4xLjcxYS44Mi44MiwwLDAsMCwuNy45MWguMTFhLjgxLjgxLDAsMCwwLC44LS43MWwuMS0uNzFhLjgxLjgxLDAsMCwwLS43LS45MVpcIiAvPlxuICA8L3N2Zz5cbik7XG5cbmV4cG9ydCBkZWZhdWx0IEZvb3RzdGFtcEljb247XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFNQTtBQUFBO0FBS0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFLQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFHQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/FootstampIcon.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/ForbiddenPage.jsx":
- /*!****************************************************!*\
- !*** ./src/client/js/components/ForbiddenPage.jsx ***!
- \****************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _Icons_PageListIcon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Icons/PageListIcon */ \"./src/client/js/components/Icons/PageListIcon.jsx\");\n/* harmony import */ var _CustomNavigation_CustomNavAndContents__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./CustomNavigation/CustomNavAndContents */ \"./src/client/js/components/CustomNavigation/CustomNavAndContents.jsx\");\n/* harmony import */ var _PageList__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./PageList */ \"./src/client/js/components/PageList.jsx\");\n\n\n\n\n\n\n\nconst ForbiddenPage = props => {\n const {\n t\n } = props;\n const navTabMapping = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useMemo\"])(() => {\n return {\n pagelist: {\n Icon: _Icons_PageListIcon__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n Content: _PageList__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n i18n: t('page_list'),\n index: 0\n }\n };\n }, [t]);\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"row not-found-message-row mb-4\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-lg-12\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h2\", {\n className: \"text-muted\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-ban mr-2\",\n \"aria-hidden\": \"true\"\n }), \"Forbidden\"))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"row row-alerts d-edit-none\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-sm-12\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"alert alert-primary py-3 px-4\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-lock\",\n \"aria-hidden\": \"true\"\n }), t('Browsing of this page is restricted')))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"mt-5\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_CustomNavigation_CustomNavAndContents__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n navTabMapping: navTabMapping\n })));\n};\n\nForbiddenPage.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(ForbiddenPage));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvRm9yYmlkZGVuUGFnZS5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvRm9yYmlkZGVuUGFnZS5qc3g/ZGViMiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyB3aXRoVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcbmltcG9ydCBQYWdlTGlzdEljb24gZnJvbSAnLi9JY29ucy9QYWdlTGlzdEljb24nO1xuaW1wb3J0IEN1c3RvbU5hdkFuZENvbnRlbnRzIGZyb20gJy4vQ3VzdG9tTmF2aWdhdGlvbi9DdXN0b21OYXZBbmRDb250ZW50cyc7XG5pbXBvcnQgUGFnZUxpc3QgZnJvbSAnLi9QYWdlTGlzdCc7XG5cblxuY29uc3QgRm9yYmlkZGVuUGFnZSA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHByb3BzO1xuXG4gIGNvbnN0IG5hdlRhYk1hcHBpbmcgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgcGFnZWxpc3Q6IHtcbiAgICAgICAgSWNvbjogUGFnZUxpc3RJY29uLFxuICAgICAgICBDb250ZW50OiBQYWdlTGlzdCxcbiAgICAgICAgaTE4bjogdCgncGFnZV9saXN0JyksXG4gICAgICAgIGluZGV4OiAwLFxuICAgICAgfSxcbiAgICB9O1xuICB9LCBbdF0pO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IG5vdC1mb3VuZC1tZXNzYWdlLXJvdyBtYi00XCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLWxnLTEyXCI+XG4gICAgICAgICAgPGgyIGNsYXNzTmFtZT1cInRleHQtbXV0ZWRcIj5cbiAgICAgICAgICAgIDxpIGNsYXNzTmFtZT1cImljb24tYmFuIG1yLTJcIiBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgRm9yYmlkZGVuXG4gICAgICAgICAgPC9oMj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyByb3ctYWxlcnRzIGQtZWRpdC1ub25lXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLXNtLTEyXCI+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwiYWxlcnQgYWxlcnQtcHJpbWFyeSBweS0zIHB4LTRcIj5cbiAgICAgICAgICAgIDxpIGNsYXNzTmFtZT1cImljb24tZncgaWNvbi1sb2NrXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgLz5cbiAgICAgICAgICAgIHt0KCdCcm93c2luZyBvZiB0aGlzIHBhZ2UgaXMgcmVzdHJpY3RlZCcpfVxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXQtNVwiPlxuICAgICAgICA8Q3VzdG9tTmF2QW5kQ29udGVudHMgbmF2VGFiTWFwcGluZz17bmF2VGFiTWFwcGluZ30gLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvPlxuICApO1xufTtcblxuRm9yYmlkZGVuUGFnZS5wcm9wVHlwZXMgPSB7XG4gIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoVHJhbnNsYXRpb24oKShGb3JiaWRkZW5QYWdlKTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFEQTtBQVFBO0FBRUE7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFPQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQ0E7QUFBQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFJQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/ForbiddenPage.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/FormattedDistanceDate.jsx":
- /*!************************************************************!*\
- !*** ./src/client/js/components/FormattedDistanceDate.jsx ***!
- \************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var date_fns__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! date-fns */ \"./node_modules/date-fns/esm/index.js\");\n/* harmony import */ var reactstrap_es_UncontrolledTooltip__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! reactstrap/es/UncontrolledTooltip */ \"./node_modules/reactstrap/es/UncontrolledTooltip.js\");\n\n\n\n\n\nconst FormattedDistanceDate = props => {\n // cast to date if string\n const date = typeof props.date === 'string' ? new Date(props.date) : props.date;\n const baseDate = props.baseDate || new Date();\n const dateFormatted = Object(date_fns__WEBPACK_IMPORTED_MODULE_2__[\"format\"])(date, 'yyyy/MM/dd HH:mm');\n const diff = Math.abs(Object(date_fns__WEBPACK_IMPORTED_MODULE_2__[\"differenceInSeconds\"])(date, baseDate));\n\n if (diff > props.differenceForAvoidingFormat) {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, dateFormatted);\n }\n\n const elemId = `grw-fdd-${props.id}`;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n id: elemId\n }, Object(date_fns__WEBPACK_IMPORTED_MODULE_2__[\"formatDistanceStrict\"])(date, baseDate)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_UncontrolledTooltip__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n placement: \"bottom\",\n fade: false,\n target: elemId\n }, dateFormatted));\n};\n\nFormattedDistanceDate.propTypes = {\n id: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired,\n date: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(Date)]).isRequired,\n baseDate: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(Date),\n // the number(sec) from 'baseDate' to avoid format\n differenceForAvoidingFormat: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number\n};\nFormattedDistanceDate.defaultProps = {\n differenceForAvoidingFormat: 86400 * 3\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (FormattedDistanceDate);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvRm9ybWF0dGVkRGlzdGFuY2VEYXRlLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9Gb3JtYXR0ZWREaXN0YW5jZURhdGUuanN4P2I3NTkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCB7IGZvcm1hdCwgZm9ybWF0RGlzdGFuY2VTdHJpY3QsIGRpZmZlcmVuY2VJblNlY29uZHMgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBVbmNvbnRyb2xsZWRUb29sdGlwIH0gZnJvbSAncmVhY3RzdHJhcCc7XG5cbmNvbnN0IEZvcm1hdHRlZERpc3RhbmNlRGF0ZSA9IChwcm9wcykgPT4ge1xuXG4gIC8vIGNhc3QgdG8gZGF0ZSBpZiBzdHJpbmdcbiAgY29uc3QgZGF0ZSA9ICh0eXBlb2YgcHJvcHMuZGF0ZSA9PT0gJ3N0cmluZycpID8gbmV3IERhdGUocHJvcHMuZGF0ZSkgOiBwcm9wcy5kYXRlO1xuXG4gIGNvbnN0IGJhc2VEYXRlID0gcHJvcHMuYmFzZURhdGUgfHwgbmV3IERhdGUoKTtcblxuICBjb25zdCBkYXRlRm9ybWF0dGVkID0gZm9ybWF0KGRhdGUsICd5eXl5L01NL2RkIEhIOm1tJyk7XG5cbiAgY29uc3QgZGlmZiA9IE1hdGguYWJzKGRpZmZlcmVuY2VJblNlY29uZHMoZGF0ZSwgYmFzZURhdGUpKTtcbiAgaWYgKGRpZmYgPiBwcm9wcy5kaWZmZXJlbmNlRm9yQXZvaWRpbmdGb3JtYXQpIHtcbiAgICByZXR1cm4gPD57ZGF0ZUZvcm1hdHRlZH08Lz47XG4gIH1cblxuICBjb25zdCBlbGVtSWQgPSBgZ3J3LWZkZC0ke3Byb3BzLmlkfWA7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPHNwYW4gaWQ9e2VsZW1JZH0+e2Zvcm1hdERpc3RhbmNlU3RyaWN0KGRhdGUsIGJhc2VEYXRlKX08L3NwYW4+XG4gICAgICA8VW5jb250cm9sbGVkVG9vbHRpcCBwbGFjZW1lbnQ9XCJib3R0b21cIiBmYWRlPXtmYWxzZX0gdGFyZ2V0PXtlbGVtSWR9PntkYXRlRm9ybWF0dGVkfTwvVW5jb250cm9sbGVkVG9vbHRpcD5cbiAgICA8Lz5cbiAgKTtcbn07XG5cbkZvcm1hdHRlZERpc3RhbmNlRGF0ZS5wcm9wVHlwZXMgPSB7XG4gIGlkOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIGRhdGU6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5zdHJpbmcsIFByb3BUeXBlcy5pbnN0YW5jZU9mKERhdGUpXSkuaXNSZXF1aXJlZCxcbiAgYmFzZURhdGU6IFByb3BUeXBlcy5pbnN0YW5jZU9mKERhdGUpLFxuICAvLyB0aGUgbnVtYmVyKHNlYykgZnJvbSAnYmFzZURhdGUnIHRvIGF2b2lkIGZvcm1hdFxuICBkaWZmZXJlbmNlRm9yQXZvaWRpbmdGb3JtYXQ6IFByb3BUeXBlcy5udW1iZXIsXG59O1xuRm9ybWF0dGVkRGlzdGFuY2VEYXRlLmRlZmF1bHRQcm9wcyA9IHtcbiAgZGlmZmVyZW5jZUZvckF2b2lkaW5nRm9ybWF0OiA4NjQwMCAqIDMsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBGb3JtYXR0ZWREaXN0YW5jZURhdGU7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBOzs7QUFHQTtBQUVBO0FBQ0E7QUFFQTtBQUVBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQU9BO0FBQ0E7QUFEQTtBQUlBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/FormattedDistanceDate.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Icons/AttachmentIcon.jsx":
- /*!***********************************************************!*\
- !*** ./src/client/js/components/Icons/AttachmentIcon.jsx ***!
- \***********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n\nconst Attachment = () => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 14 14\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"rect\", {\n width: \"14\",\n height: \"14\",\n fillOpacity: \"0\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n className: \"cls-1\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M2.9,13a2,2,0,0,1-1.44-.63,2.28,2.28,0,0,1,0-3.23l7-7.38a2.48,2.48,0,0,1,1.22-.7,2.61, 2.61,0,0,1,1.41.09A3.46,3.46,0,0,1,12.37,2a3.94,3.94,0,0,1,.36.45A2.61,2.61,0,0,1,13,3a3.41,3.41, 0,0,1,.16.57,3.06,3.06,0,0,1-.82,2.75L7.07,11.86a.35.35,0,0,1-.26.13.4.4,0,0,1-.28-.1.47.47,0,0, 1-.12-.27.39.39,0,0,1,.11-.29l5.26-5.59a2.28,2.28,0,0,0,.65-1.62,2.07,2.07,0,0,0-.62-1.58A2.62,2.62, 0,0,0,11,1.93a2,2,0,0,0-1-.13,1.63,1.63,0,0,0-1,.5L2,9.67a1.52,1.52,0,0,0,0,2.16,1.28,1.28,0,0,0, .44.3,1,1,0,0,0,.51.08,1.43,1.43,0,0,0,1-.49L9.49,5.84l.12-.13.11-.15a1.24,1.24,0,0,0,.1-.2,1.94, 1.94,0,0,0,0-.2.6.6,0,0,0,0-.22.66.66,0,0,0-.14-.2.57.57,0,0,0-.45-.22,1,1,0,0,0-.52.3L4.56, 9.25a.42.42,0,0,1-.17.1.34.34,0,0,1-.2,0A.4.4,0,0,1,4,9.26.34.34,0,0,1,3.89,9,.41.41,0,0,1,4,8.72L8.16, 4.28a1.7,1.7,0,0,1,1-.53,1.32,1.32,0,0,1,1.06.43,1.23,1.23,0,0,1,.4,1.05,1.8,1.8,0,0,1-.58,1.14L4.52, 12.26A2.3,2.3,0,0,1,3,13H2.9Z\"\n})));\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Attachment);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvSWNvbnMvQXR0YWNobWVudEljb24uanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL0ljb25zL0F0dGFjaG1lbnRJY29uLmpzeD82MzNlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmNvbnN0IEF0dGFjaG1lbnQgPSAoKSA9PiAoXG4gIDxzdmdcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICB2aWV3Qm94PVwiMCAwIDE0IDE0XCJcblxuICA+XG4gICAgPHJlY3Qgd2lkdGg9XCIxNFwiIGhlaWdodD1cIjE0XCIgZmlsbE9wYWNpdHk9XCIwXCIgLz5cbiAgICA8ZyBjbGFzc05hbWU9XCJjbHMtMVwiPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0yLjksMTNhMiwyLDAsMCwxLTEuNDQtLjYzLDIuMjgsMi4yOCwwLDAsMSwwLTMuMjNsNy03LjM4YTIuNDgsMi40OCwwLDAsMSwxLjIyLS43LDIuNjEsXG4gICAgICAgIDIuNjEsMCwwLDEsMS40MS4wOUEzLjQ2LDMuNDYsMCwwLDEsMTIuMzcsMmEzLjk0LDMuOTQsMCwwLDEsLjM2LjQ1QTIuNjEsMi42MSwwLDAsMSwxMywzYTMuNDEsMy40MSxcbiAgICAgICAgMCwwLDEsLjE2LjU3LDMuMDYsMy4wNiwwLDAsMS0uODIsMi43NUw3LjA3LDExLjg2YS4zNS4zNSwwLDAsMS0uMjYuMTMuNC40LDAsMCwxLS4yOC0uMS40Ny40NywwLDAsXG4gICAgICAgIDEtLjEyLS4yNy4zOS4zOSwwLDAsMSwuMTEtLjI5bDUuMjYtNS41OWEyLjI4LDIuMjgsMCwwLDAsLjY1LTEuNjIsMi4wNywyLjA3LDAsMCwwLS42Mi0xLjU4QTIuNjIsMi42MixcbiAgICAgICAgMCwwLDAsMTEsMS45M2EyLDIsMCwwLDAtMS0uMTMsMS42MywxLjYzLDAsMCwwLTEsLjVMMiw5LjY3YTEuNTIsMS41MiwwLDAsMCwwLDIuMTYsMS4yOCwxLjI4LDAsMCwwLFxuICAgICAgICAuNDQuMywxLDEsMCwwLDAsLjUxLjA4LDEuNDMsMS40MywwLDAsMCwxLS40OUw5LjQ5LDUuODRsLjEyLS4xMy4xMS0uMTVhMS4yNCwxLjI0LDAsMCwwLC4xLS4yLDEuOTQsXG4gICAgICAgIDEuOTQsMCwwLDAsMC0uMi42LjYsMCwwLDAsMC0uMjIuNjYuNjYsMCwwLDAtLjE0LS4yLjU3LjU3LDAsMCwwLS40NS0uMjIsMSwxLDAsMCwwLS41Mi4zTDQuNTYsXG4gICAgICAgIDkuMjVhLjQyLjQyLDAsMCwxLS4xNy4xLjM0LjM0LDAsMCwxLS4yLDBBLjQuNCwwLDAsMSw0LDkuMjYuMzQuMzQsMCwwLDEsMy44OSw5LC40MS40MSwwLDAsMSw0LDguNzJMOC4xNixcbiAgICAgICAgNC4yOGExLjcsMS43LDAsMCwxLDEtLjUzLDEuMzIsMS4zMiwwLDAsMSwxLjA2LjQzLDEuMjMsMS4yMywwLDAsMSwuNCwxLjA1LDEuOCwxLjgsMCwwLDEtLjU4LDEuMTRMNC41MixcbiAgICAgICAgMTIuMjZBMi4zLDIuMywwLDAsMSwzLDEzSDIuOVpcIlxuICAgICAgLz5cbiAgICA8L2c+XG4gIDwvc3ZnPlxuKTtcblxuZXhwb3J0IGRlZmF1bHQgQXR0YWNobWVudDtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUZBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBZUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/Icons/AttachmentIcon.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Icons/BookmarkIcon.jsx":
- /*!*********************************************************!*\
- !*** ./src/client/js/components/Icons/BookmarkIcon.jsx ***!
- \*********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n\nconst BookmarkIcon = () => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"20\",\n height: \"20\",\n viewBox: \"0 0 20 20\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n transform: \"translate(-925.888 168.873)\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"rect\", {\n width: \"20\",\n height: \"20\",\n transform: \"translate(925.888 -168.873)\",\n fill: \"none\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M936.092-168.527a1.141,1.141,0,0,1,.205.039,1.685,1.685,0,0,1,.185.068c.058.026.116.056.175.088a1.038,1.038,0,0,1, .166.117,1.826,1.826,0,0,1,.146.146c.045.052.088.1.127.156a.8.8,0,0,1,.1.175l2.26,4.7,5.2.76a1.424,1.424,0,0,1,.7.311,1.413, 1.413,0,0,1,.449.643,1.294,1.294,0,0,1-.351,1.423l-3.8,3.8.876,5.28a1.225,1.225,0,0,1-.088.76,1.451,1.451,0,0,1-.5.6,1.456, 1.456,0,0,1-.838.253,1.614,1.614,0,0,1-.351-.039,1.316,1.316,0,0,1-.35-.137l-4.52-2.435-4.54,2.435a1.37,1.37,0,0,1-.682.176h-.156a.525.525, 0,0,1-.146-.02l-.137-.039a1.117,1.117,0,0,1-.136-.049,1.231,1.231,0,0,1-.136-.068c-.046-.026-.088-.052-.127-.077a1.462,1.462, 0,0,1-.5-.6,1.232,1.232,0,0,1-.087-.76l.877-5.28-3.8-3.8a1.29,1.29,0,0,1-.35-1.423,1.4,1.4,0,0,1,.448-.643,1.423,1.423,0,0,1, .7-.311l5.2-.76,2.26-4.7a1.351,1.351,0,0,1,.526-.584,1.467,1.467,0,0,1,.78-.215C935.953-168.537,936.02-168.533,936.092-168.527Zm-2.49, 5.9-.41.84-6.1.9,4.415,4.415-.136.879-.9,5.275,5.412-2.891,5.411,2.891-.9-5.275-.137-.879,4.415-4.415-6.115-.9-2.676-5.587Z\"\n})));\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (BookmarkIcon);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvSWNvbnMvQm9va21hcmtJY29uLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9JY29ucy9Cb29rbWFya0ljb24uanN4PzI2N2EiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuY29uc3QgQm9va21hcmtJY29uID0gKCkgPT4gKFxuXG4gIDxzdmdcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICB3aWR0aD1cIjIwXCJcbiAgICBoZWlnaHQ9XCIyMFwiXG4gICAgdmlld0JveD1cIjAgMCAyMCAyMFwiXG4gID5cblxuICAgIDxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtOTI1Ljg4OCAxNjguODczKVwiPlxuICAgICAgPHJlY3Qgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDkyNS44ODggLTE2OC44NzMpXCIgZmlsbD1cIm5vbmVcIiAvPlxuICAgICAgPHBhdGggZD1cIk05MzYuMDkyLTE2OC41MjdhMS4xNDEsMS4xNDEsMCwwLDEsLjIwNS4wMzksMS42ODUsMS42ODUsMCwwLDEsLjE4NS4wNjhjLjA1OC4wMjYuMTE2LjA1Ni4xNzUuMDg4YTEuMDM4LDEuMDM4LDAsMCwxLFxuICAgICAgICAuMTY2LjExNywxLjgyNiwxLjgyNiwwLDAsMSwuMTQ2LjE0NmMuMDQ1LjA1Mi4wODguMS4xMjcuMTU2YS44LjgsMCwwLDEsLjEuMTc1bDIuMjYsNC43LDUuMi43NmExLjQyNCwxLjQyNCwwLDAsMSwuNy4zMTEsMS40MTMsXG4gICAgICAgIDEuNDEzLDAsMCwxLC40NDkuNjQzLDEuMjk0LDEuMjk0LDAsMCwxLS4zNTEsMS40MjNsLTMuOCwzLjguODc2LDUuMjhhMS4yMjUsMS4yMjUsMCwwLDEtLjA4OC43NiwxLjQ1MSwxLjQ1MSwwLDAsMS0uNS42LDEuNDU2LFxuICAgICAgICAxLjQ1NiwwLDAsMS0uODM4LjI1MywxLjYxNCwxLjYxNCwwLDAsMS0uMzUxLS4wMzksMS4zMTYsMS4zMTYsMCwwLDEtLjM1LS4xMzdsLTQuNTItMi40MzUtNC41NCwyLjQzNWExLjM3LDEuMzcsMCwwLDEtLjY4Mi4xNzZoLS4xNTZhLjUyNS41MjUsXG4gICAgICAgIDAsMCwxLS4xNDYtLjAybC0uMTM3LS4wMzlhMS4xMTcsMS4xMTcsMCwwLDEtLjEzNi0uMDQ5LDEuMjMxLDEuMjMxLDAsMCwxLS4xMzYtLjA2OGMtLjA0Ni0uMDI2LS4wODgtLjA1Mi0uMTI3LS4wNzdhMS40NjIsMS40NjIsXG4gICAgICAgIDAsMCwxLS41LS42LDEuMjMyLDEuMjMyLDAsMCwxLS4wODctLjc2bC44NzctNS4yOC0zLjgtMy44YTEuMjksMS4yOSwwLDAsMS0uMzUtMS40MjMsMS40LDEuNCwwLDAsMSwuNDQ4LS42NDMsMS40MjMsMS40MjMsMCwwLDEsXG4gICAgICAgIC43LS4zMTFsNS4yLS43NiwyLjI2LTQuN2ExLjM1MSwxLjM1MSwwLDAsMSwuNTI2LS41ODQsMS40NjcsMS40NjcsMCwwLDEsLjc4LS4yMTVDOTM1Ljk1My0xNjguNTM3LDkzNi4wMi0xNjguNTMzLDkzNi4wOTItMTY4LjUyN1ptLTIuNDksXG4gICAgICAgIDUuOS0uNDEuODQtNi4xLjksNC40MTUsNC40MTUtLjEzNi44NzktLjksNS4yNzUsNS40MTItMi44OTEsNS40MTEsMi44OTEtLjktNS4yNzUtLjEzNy0uODc5LDQuNDE1LTQuNDE1LTYuMTE1LS45LTIuNjc2LTUuNTg3WlwiXG4gICAgICAvPlxuICAgIDwvZz5cbiAgPC9zdmc+XG5cbik7XG5cbmV4cG9ydCBkZWZhdWx0IEJvb2ttYXJrSWNvbjtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU9BO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBYUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/Icons/BookmarkIcon.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Icons/CreatePageIcon.jsx":
- /*!***********************************************************!*\
- !*** ./src/client/js/components/Icons/CreatePageIcon.jsx ***!
- \***********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n\nconst CreatePageIcon = () => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 27 30\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M22.81,8.2a4.2,4.2,0,0,0,1.36-2.95,4,4,0,0,0-1.43-2.81,4.53,4.53,0,0,0-1.28-.89,3.26,3.26,0, 0,0-1.37-.31,4,4,0,0,0-2.91,1.29q-.42.4-14.83,14.84a.7.7,0,0,0-.26.33c-.07.26-.72,2.46-2,6.58a.73.73,0, 0,0,.3,1,.78.78,0,0,0,.7,0c3.3-1.08,5.45-1.76,6.47-2.06A.57.57,0,0,0,7.91,23l8.5-8.42Q22.25,8.81,22.81,8.2ZM1.93, 23.44c.16-.44,1.39-4.39,1.5-4.78A4.93,4.93,0,0,1,5.59,20a4.53,4.53,0,0,1,1.12,1.87Zm15-18.52a4.7,4.7,0,0,1,2.16,1.31,5.08,5.08, 0,0,1,.72,1,5.3,5.3,0,0,1,.37.8c.05.17.09.34.13.51Q17.19,11.65,8,20.79a6.42,6.42,0,0,0-1.29-1.92,6.67,6.67,0,0,0-2.2-1.48Zm4.64, 2.37a6.36,6.36,0,0,0-1.36-2.13,6.61,6.61,0,0,0-2.12-1.43s.29-.28.41-.38A3,3,0,0,1,19.17,3a2,2,0,0,1,.9-.21A1.87,1.87,0,0,1,20.9,3a2.53,2.53,0,0, 1,.79.56,3.81,3.81,0,0,1,.71.89,1.87,1.87,0,0,1,.25.87,2.75,2.75,0,0,1-.94,1.83Z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M26.41,20.05H22.84V16.48a.72.72,0,0,0-1.43,0v3.57H17.84a.72.72,0,0,0,0,1.43h3.57v3.57a.72.72,0,0,0, 1.43.17V21.48h3.57a.72.72,0,1,0,.17-1.43A.48.48,0,0,0,26.41,20.05Z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"rect\", {\n fillOpacity: \"0\",\n width: \"27\",\n height: \"27\"\n}));\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (CreatePageIcon);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvSWNvbnMvQ3JlYXRlUGFnZUljb24uanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL0ljb25zL0NyZWF0ZVBhZ2VJY29uLmpzeD9lM2VlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmNvbnN0IENyZWF0ZVBhZ2VJY29uID0gKCkgPT4gKFxuICA8c3ZnXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgdmlld0JveD1cIjAgMCAyNyAzMFwiXG4gID5cbiAgICA8cGF0aFxuICAgICAgZD1cIk0yMi44MSw4LjJhNC4yLDQuMiwwLDAsMCwxLjM2LTIuOTUsNCw0LDAsMCwwLTEuNDMtMi44MSw0LjUzLDQuNTMsMCwwLDAtMS4yOC0uODksMy4yNiwzLjI2LDAsXG4gICAgICAwLDAtMS4zNy0uMzEsNCw0LDAsMCwwLTIuOTEsMS4yOXEtLjQyLjQtMTQuODMsMTQuODRhLjcuNywwLDAsMC0uMjYuMzNjLS4wNy4yNi0uNzIsMi40Ni0yLDYuNThhLjczLjczLDAsXG4gICAgICAwLDAsLjMsMSwuNzguNzgsMCwwLDAsLjcsMGMzLjMtMS4wOCw1LjQ1LTEuNzYsNi40Ny0yLjA2QS41Ny41NywwLDAsMCw3LjkxLDIzbDguNS04LjQyUTIyLjI1LDguODEsMjIuODEsOC4yWk0xLjkzLFxuICAgICAgMjMuNDRjLjE2LS40NCwxLjM5LTQuMzksMS41LTQuNzhBNC45Myw0LjkzLDAsMCwxLDUuNTksMjBhNC41Myw0LjUzLDAsMCwxLDEuMTIsMS44N1ptMTUtMTguNTJhNC43LDQuNywwLDAsMSwyLjE2LDEuMzEsNS4wOCw1LjA4LFxuICAgICAgMCwwLDEsLjcyLDEsNS4zLDUuMywwLDAsMSwuMzcuOGMuMDUuMTcuMDkuMzQuMTMuNTFRMTcuMTksMTEuNjUsOCwyMC43OWE2LjQyLDYuNDIsMCwwLDAtMS4yOS0xLjkyLDYuNjcsNi42NywwLDAsMC0yLjItMS40OFptNC42NCxcbiAgICAgIDIuMzdhNi4zNiw2LjM2LDAsMCwwLTEuMzYtMi4xMyw2LjYxLDYuNjEsMCwwLDAtMi4xMi0xLjQzcy4yOS0uMjguNDEtLjM4QTMsMywwLDAsMSwxOS4xNywzYTIsMiwwLDAsMSwuOS0uMjFBMS44NywxLjg3LDAsMCwxLDIwLjksM2EyLjUzLDIuNTMsMCwwLFxuICAgICAgMSwuNzkuNTYsMy44MSwzLjgxLDAsMCwxLC43MS44OSwxLjg3LDEuODcsMCwwLDEsLjI1Ljg3LDIuNzUsMi43NSwwLDAsMS0uOTQsMS44M1pcIlxuICAgIC8+XG4gICAgPHBhdGggZD1cIk0yNi40MSwyMC4wNUgyMi44NFYxNi40OGEuNzIuNzIsMCwwLDAtMS40MywwdjMuNTdIMTcuODRhLjcyLjcyLDAsMCwwLDAsMS40M2gzLjU3djMuNTdhLjcyLjcyLDAsMCwwLFxuICAgIDEuNDMuMTdWMjEuNDhoMy41N2EuNzIuNzIsMCwxLDAsLjE3LTEuNDNBLjQ4LjQ4LDAsMCwwLDI2LjQxLDIwLjA1WlwiXG4gICAgLz5cbiAgICA8cmVjdCBmaWxsT3BhY2l0eT1cIjBcIiB3aWR0aD1cIjI3XCIgaGVpZ2h0PVwiMjdcIiAvPlxuICA8L3N2Zz5cblxuKTtcblxuXG5leHBvcnQgZGVmYXVsdCBDcmVhdGVQYWdlSWNvbjtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUZBO0FBS0E7QUFEQTtBQVNBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBS0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/Icons/CreatePageIcon.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Icons/HistoryIcon.jsx":
- /*!********************************************************!*\
- !*** ./src/client/js/components/Icons/HistoryIcon.jsx ***!
- \********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n\nconst RecentChanges = () => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 14 14\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"rect\", {\n width: \"14\",\n height: \"14\",\n fillOpacity: \"0\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M7.94.94A6.13,6.13,0,0,0,1.89,7v.1L.67,5.89a.38.38,0,0,0-.55,0,.39.39,0,0,0,0,.56L2.36,8.69,4.6,6.45a.4.4,0,0,0,0-.56.39.39,0,0,0-.56, 0L2.68,7.25V7A5.33,5.33,0,0,1,7.94,1.73,5.33,5.33,0,0,1,13.21,7a5.34,5.34,0,0,1-5.27,5.27H7.86A5,5,0,0,1,4,10.38a.4.4,0,0,0-.55-.07.4.4,0, 0,0-.07.56,5.83,5.83,0,0,0,4.52,2.19H8A6.13,6.13,0,0,0,14,7,6.13,6.13,0,0,0,7.94.94Z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M7.94,2.83a.4.4,0,0,0-.39.4V7.37L10,8.92a.37.37,0,0,0,.21.06.4.4,0,0,0,.21-.73L8.34,6.93V3.23A.4.4,0,0,0,7.94,2.83Z\"\n}));\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (RecentChanges);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvSWNvbnMvSGlzdG9yeUljb24uanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL0ljb25zL0hpc3RvcnlJY29uLmpzeD85YTljIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmNvbnN0IFJlY2VudENoYW5nZXMgPSAoKSA9PiAoXG4gIDxzdmdcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICB2aWV3Qm94PVwiMCAwIDE0IDE0XCJcblxuICA+XG4gICAgPHJlY3Qgd2lkdGg9XCIxNFwiIGhlaWdodD1cIjE0XCIgZmlsbE9wYWNpdHk9XCIwXCIgLz5cbiAgICA8cGF0aFxuICAgICAgZD1cIk03Ljk0Ljk0QTYuMTMsNi4xMywwLDAsMCwxLjg5LDd2LjFMLjY3LDUuODlhLjM4LjM4LDAsMCwwLS41NSwwLC4zOS4zOSwwLDAsMCwwLC41NkwyLjM2LDguNjksNC42LDYuNDVhLjQuNCwwLDAsMCwwLS41Ni4zOS4zOSwwLDAsMC0uNTYsXG4gICAgICAwTDIuNjgsNy4yNVY3QTUuMzMsNS4zMywwLDAsMSw3Ljk0LDEuNzMsNS4zMyw1LjMzLDAsMCwxLDEzLjIxLDdhNS4zNCw1LjM0LDAsMCwxLTUuMjcsNS4yN0g3Ljg2QTUsNSwwLDAsMSw0LDEwLjM4YS40LjQsMCwwLDAtLjU1LS4wNy40LjQsMCxcbiAgICAgIDAsMC0uMDcuNTYsNS44Myw1LjgzLDAsMCwwLDQuNTIsMi4xOUg4QTYuMTMsNi4xMywwLDAsMCwxNCw3LDYuMTMsNi4xMywwLDAsMCw3Ljk0Ljk0WlwiXG4gICAgLz5cbiAgICA8cGF0aFxuICAgICAgZD1cIk03Ljk0LDIuODNhLjQuNCwwLDAsMC0uMzkuNFY3LjM3TDEwLDguOTJhLjM3LjM3LDAsMCwwLC4yMS4wNi40LjQsMCwwLDAsLjIxLS43M0w4LjM0LDYuOTNWMy4yM0EuNC40LDAsMCwwLDcuOTQsMi44M1pcIlxuICAgIC8+XG4gIDwvc3ZnPlxuKTtcblxuZXhwb3J0IGRlZmF1bHQgUmVjZW50Q2hhbmdlcztcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUZBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQURBO0FBTUE7QUFEQTtBQUNBO0FBS0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/Icons/HistoryIcon.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Icons/PageListIcon.jsx":
- /*!*********************************************************!*\
- !*** ./src/client/js/components/Icons/PageListIcon.jsx ***!
- \*********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n\nconst PageList = () => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 14 14\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"rect\", {\n width: \"14\",\n height: \"14\",\n fillOpacity: \"0\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M12.63,2.72H1.37a.54.54,0,0,1,0-1.08H12.63a.54.54,0,0,1,0,1.08Z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M11.82,5.94H1.37a.55.55,0,0,1,0-1.09H11.82a.55.55,0,1,1,0,1.09Z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M9.41,9.15h-8a.54.54,0,0,1,0-1.08h8a.54.54,0,0,1,0,1.08Z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M10.84,12.36H1.37a.54.54,0,1,1,0-1.08h9.47a.54.54,0,1,1,0,1.08Z\"\n}));\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (PageList);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvSWNvbnMvUGFnZUxpc3RJY29uLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9JY29ucy9QYWdlTGlzdEljb24uanN4PzgxMGYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuY29uc3QgUGFnZUxpc3QgPSAoKSA9PiAoXG4gIDxzdmdcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICB2aWV3Qm94PVwiMCAwIDE0IDE0XCJcblxuICA+XG4gICAgPHJlY3Qgd2lkdGg9XCIxNFwiIGhlaWdodD1cIjE0XCIgZmlsbE9wYWNpdHk9XCIwXCIgLz5cbiAgICA8cGF0aCBkPVwiTTEyLjYzLDIuNzJIMS4zN2EuNTQuNTQsMCwwLDEsMC0xLjA4SDEyLjYzYS41NC41NCwwLDAsMSwwLDEuMDhaXCIgLz5cbiAgICA8cGF0aCBkPVwiTTExLjgyLDUuOTRIMS4zN2EuNTUuNTUsMCwwLDEsMC0xLjA5SDExLjgyYS41NS41NSwwLDEsMSwwLDEuMDlaXCIgLz5cbiAgICA8cGF0aCBkPVwiTTkuNDEsOS4xNWgtOGEuNTQuNTQsMCwwLDEsMC0xLjA4aDhhLjU0LjU0LDAsMCwxLDAsMS4wOFpcIiAvPlxuICAgIDxwYXRoIGQ9XCJNMTAuODQsMTIuMzZIMS4zN2EuNTQuNTQsMCwxLDEsMC0xLjA4aDkuNDdhLjU0LjU0LDAsMSwxLDAsMS4wOFpcIiAvPlxuICA8L3N2Zz5cbik7XG5cbmV4cG9ydCBkZWZhdWx0IFBhZ2VMaXN0O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRkE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUdBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/Icons/PageListIcon.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Icons/PagePreviewIcon.jsx":
- /*!************************************************************!*\
- !*** ./src/client/js/components/Icons/PagePreviewIcon.jsx ***!
- \************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n\nconst PagePreviewIcon = () => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 23 23\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"defs\", null), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"rect\", {\n width: \"23\",\n height: \"23\",\n fillOpacity: \"0\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M10.94,20.33H3.4V1.38H8.82V8.82h7.44v1.35a6.16,6.16,0,0,1,1.35.47V6.79L10.85,0H3.4a1.3,1.3,0,0,0-1,.39,1.3,1.3,0,0,0-.39,1v19A1.33, 1.33,0,0,0,3.4,21.68h9.84A5.94,5.94,0,0,1,10.94,20.33ZM10.17,1.38h.13l6,6v.11H10.17Z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M21.87,22.14,18.75,19a4.74,4.74,0,0,0,1.1-3,4.89,4.89,0,1,0-1.8,3.73l3.11,3.11a.5.5,0,0,0,.35.15.51.51,0,0,0,.36-.15A.5.5, 0,0,0,21.87,22.14ZM15,19.57A3.57,3.57,0,1,1,18.59,16,3.58,3.58,0,0,1,15,19.57Z\"\n}));\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (PagePreviewIcon);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvSWNvbnMvUGFnZVByZXZpZXdJY29uLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9JY29ucy9QYWdlUHJldmlld0ljb24uanN4PzllNjAiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuY29uc3QgUGFnZVByZXZpZXdJY29uID0gKCkgPT4gKFxuICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDIzIDIzXCI+XG4gICAgPGRlZnM+PC9kZWZzPlxuICAgIDxyZWN0IHdpZHRoPVwiMjNcIiBoZWlnaHQ9XCIyM1wiIGZpbGxPcGFjaXR5PVwiMFwiIC8+XG4gICAgPHBhdGggZD1cIk0xMC45NCwyMC4zM0gzLjRWMS4zOEg4LjgyVjguODJoNy40NHYxLjM1YTYuMTYsNi4xNiwwLDAsMSwxLjM1LjQ3VjYuNzlMMTAuODUsMEgzLjRhMS4zLDEuMywwLDAsMC0xLC4zOSwxLjMsMS4zLDAsMCwwLS4zOSwxdjE5QTEuMzMsXG4gIDEuMzMsMCwwLDAsMy40LDIxLjY4aDkuODRBNS45NCw1Ljk0LDAsMCwxLDEwLjk0LDIwLjMzWk0xMC4xNywxLjM4aC4xM2w2LDZ2LjExSDEwLjE3WlwiXG4gICAgLz5cbiAgICA8cGF0aCBkPVwiTTIxLjg3LDIyLjE0LDE4Ljc1LDE5YTQuNzQsNC43NCwwLDAsMCwxLjEtMyw0Ljg5LDQuODksMCwxLDAtMS44LDMuNzNsMy4xMSwzLjExYS41LjUsMCwwLDAsLjM1LjE1LjUxLjUxLDAsMCwwLC4zNi0uMTVBLjUuNSxcbiAgMCwwLDAsMjEuODcsMjIuMTRaTTE1LDE5LjU3QTMuNTcsMy41NywwLDEsMSwxOC41OSwxNiwzLjU4LDMuNTgsMCwwLDEsMTUsMTkuNTdaXCJcbiAgICAvPlxuICA8L3N2Zz5cbik7XG5cbmV4cG9ydCBkZWZhdWx0IFBhZ2VQcmV2aWV3SWNvbjtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBR0E7QUFBQTtBQUNBO0FBS0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/Icons/PagePreviewIcon.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Icons/PresentationIcon.jsx":
- /*!*************************************************************!*\
- !*** ./src/client/js/components/Icons/PresentationIcon.jsx ***!
- \*************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n\nconst PresentationIcon = () => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 12.25 14\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M44.261,0H32.909a.448.448,0,0,0-.449.448V7.635a.449.449,0,0,0,.9,0V.9H43.812V7.635a.449.449,0,0,0,.9,0V.448A.448.448,0,0,0,44.261,0Z\",\n transform: \"translate(-32.46)\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M90.959,287.182H82.315a.448.448,0,1,0,0,.9h3.873v1.115l-3.207,3.381a.449.449,0,0,0,.652.616l2.555-2.694v2.013a.449.449,0,0,0,.9,0V 290.5l2.555,2.694a.449.449,0,0,0,.652-.616l-3.208-3.382v-1.114h3.873a.448.448,0,1,0,0-.9Z\",\n transform: \"translate(-80.512 -279.329)\"\n}));\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (PresentationIcon);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvSWNvbnMvUHJlc2VudGF0aW9uSWNvbi5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvSWNvbnMvUHJlc2VudGF0aW9uSWNvbi5qc3g/NmMxMyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5jb25zdCBQcmVzZW50YXRpb25JY29uID0gKCkgPT4gKFxuICA8c3ZnXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgd2lkdGg9XCIxNFwiXG4gICAgaGVpZ2h0PVwiMTRcIlxuICAgIHZpZXdCb3g9XCIwIDAgMTIuMjUgMTRcIlxuICA+XG4gICAgPHBhdGhcbiAgICAgIGQ9XCJNNDQuMjYxLDBIMzIuOTA5YS40NDguNDQ4LDAsMCwwLS40NDkuNDQ4VjcuNjM1YS40NDkuNDQ5LDAsMCwwLC45LDBWLjlINDMuODEyVjcuNjM1YS40NDkuNDQ5LDAsMCwwLC45LDBWLjQ0OEEuNDQ4LjQ0OCwwLDAsMCw0NC4yNjEsMFpcIlxuICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0zMi40NilcIlxuICAgIC8+XG4gICAgPHBhdGhcbiAgICAgIGQ9XCJNOTAuOTU5LDI4Ny4xODJIODIuMzE1YS40NDguNDQ4LDAsMSwwLDAsLjloMy44NzN2MS4xMTVsLTMuMjA3LDMuMzgxYS40NDkuNDQ5LDAsMCwwLC42NTIuNjE2bDIuNTU1LTIuNjk0djIuMDEzYS40NDkuNDQ5LDAsMCwwLC45LDBWXG4gICAgICAgIDI5MC41bDIuNTU1LDIuNjk0YS40NDkuNDQ5LDAsMCwwLC42NTItLjYxNmwtMy4yMDgtMy4zODJ2LTEuMTE0aDMuODczYS40NDguNDQ4LDAsMSwwLDAtLjlaXCJcbiAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtODAuNTEyIC0yNzkuMzI5KVwiXG4gICAgLz5cbiAgPC9zdmc+XG4pO1xuXG5leHBvcnQgZGVmYXVsdCBQcmVzZW50YXRpb25JY29uO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FBT0E7QUFDQTtBQUZBO0FBS0E7QUFFQTtBQUhBO0FBQ0E7QUFPQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/Icons/PresentationIcon.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Icons/RecentlyCreatedIcon.jsx":
- /*!****************************************************************!*\
- !*** ./src/client/js/components/Icons/RecentlyCreatedIcon.jsx ***!
- \****************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n\nconst RecentlyCreatedIcon = () => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"20\",\n height: \"20\",\n viewBox: \"0 0 20 20\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n transform: \"translate(-921.906 192.966)\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"rect\", {\n width: \"20\",\n height: \"20\",\n transform: \"translate(921.906 -192.966)\",\n fill: \"none\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M933.752-189.286l.022-.009a3.3,3.3,0,0,1,1.556.927,2.991,2.991,0,0,1,.505.679,3.659,3.659,0,0,1, .265.572c.038.126.069.245.091.356l-.911.9a6.484,6.484,0,0,1,1.086-.1c.177,0,.35.013.523.027.573-.571.93-.928,1.043-1.047a2.94, 2.94,0,0,0,.959-2.086,2.854,2.854,0,0,0-1.008-1.986,3.3,3.3,0,0,0-.9-.629,2.344,2.344,0,0,0-.986-.215, 2.836,2.836,0,0,0-2.053.91q-.3.28-10.478,10.478a.656.656,0,0,0-.149.232q-.066.28-1.391,4.651a.529.529,0,0,0, .149.546c.036.032.084.073.1.086a.937.937,0,0,0,.124.057.585.585,0,0,0,.3-.007q3.493-1.147,4.57-1.461a.549.549,0,0,0,.124-.048.517.517, 0,0,0,.108-.083q.958-.952,2.5-2.483a2.017,2.017,0,0,0,.035-.513,6.356,6.356,0,0,1,.107-1.143l-2.558,2.531a4.537,4.537,0,0,0-.91-1.357, 4.672,4.672,0,0,0-1.556-1.043Zm.975-.953.033-.032a2.254,2.254,0,0,1,.207-.183,2.379,2.379,0,0,1,.447-.248,1.51,1.51,0,0,1,.637-.149, 1.418,1.418,0,0,1,.587.133,1.937,1.937,0,0,1,.555.4,2.714,2.714,0,0,1,.5.629,1.266,1.266,0,0,1,.173.612,1.926,1.926,0,0,1-.661,1.289.052.052, 0,0,1-.016.033l-.033.032-.048.049a4.42,4.42,0,0,0-.96-1.507,4.709,4.709,0,0,0-1.473-1.011Zm-9.692,13.375-1.794.6q.148-.5.546-1.73t.511-1.648a3.4, 3.4,0,0,1,1.521.926,3.151,3.151,0,0,1,.8,1.324q-.333.118-1.582.53Z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M938.7-176.431a.5.5,0,0,1-.359-.151l-2.276-2.355a.5.5,0,0,1-.14-.347v-3.425a.5.5,0,0,1,.5-.5h0a.5.5,0,0,1,.5.5h0v3.225l2.135 ,2.209a.5.5,0,0,1-.011.7h0A.49.49,0,0,1,938.7-176.431Z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M936.422-185.009a5.49,5.49,0,0,0-5.484,5.484,5.487,5.487,0,0,0,5.484,5.484,5.491,5.491,0,0,0,5.484-5.484A5.491,5.491,0,0,0, 936.422-185.009Zm0,9.97a4.487,4.487,0,0,1-4.487-4.487,4.486,4.486,0,0,1,4.487-4.486,4.486,4.486,0,0,1,4.487,4.486A4.487, 4.487,0,0,1,936.422-175.039Z\"\n})));\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (RecentlyCreatedIcon);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvSWNvbnMvUmVjZW50bHlDcmVhdGVkSWNvbi5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvSWNvbnMvUmVjZW50bHlDcmVhdGVkSWNvbi5qc3g/ZTRiZiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5jb25zdCBSZWNlbnRseUNyZWF0ZWRJY29uID0gKCkgPT4gKFxuICA8c3ZnXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgd2lkdGg9XCIyMFwiXG4gICAgaGVpZ2h0PVwiMjBcIlxuICAgIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxuICA+XG5cbiAgICA8ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTkyMS45MDYgMTkyLjk2NilcIj5cblxuICAgICAgPHJlY3RcbiAgICAgICAgd2lkdGg9XCIyMFwiXG4gICAgICAgIGhlaWdodD1cIjIwXCJcbiAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDkyMS45MDYgLTE5Mi45NjYpXCJcbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNOTMzLjc1Mi0xODkuMjg2bC4wMjItLjAwOWEzLjMsMy4zLDAsMCwxLDEuNTU2LjkyNywyLjk5MSwyLjk5MSwwLDAsMSwuNTA1LjY3OSwzLjY1OSwzLjY1OSwwLDAsMSxcbiAgICAgICAgLjI2NS41NzJjLjAzOC4xMjYuMDY5LjI0NS4wOTEuMzU2bC0uOTExLjlhNi40ODQsNi40ODQsMCwwLDEsMS4wODYtLjFjLjE3NywwLC4zNS4wMTMuNTIzLjAyNy41NzMtLjU3MS45My0uOTI4LDEuMDQzLTEuMDQ3YTIuOTQsXG4gICAgICAgIDIuOTQsMCwwLDAsLjk1OS0yLjA4NiwyLjg1NCwyLjg1NCwwLDAsMC0xLjAwOC0xLjk4NiwzLjMsMy4zLDAsMCwwLS45LS42MjksMi4zNDQsMi4zNDQsMCwwLDAtLjk4Ni0uMjE1LFxuICAgICAgICAyLjgzNiwyLjgzNiwwLDAsMC0yLjA1My45MXEtLjMuMjgtMTAuNDc4LDEwLjQ3OGEuNjU2LjY1NiwwLDAsMC0uMTQ5LjIzMnEtLjA2Ni4yOC0xLjM5MSw0LjY1MWEuNTI5LjUyOSwwLDAsMCxcbiAgICAgICAgLjE0OS41NDZjLjAzNi4wMzIuMDg0LjA3My4xLjA4NmEuOTM3LjkzNywwLDAsMCwuMTI0LjA1Ny41ODUuNTg1LDAsMCwwLC4zLS4wMDdxMy40OTMtMS4xNDcsNC41Ny0xLjQ2MWEuNTQ5LjU0OSwwLDAsMCwuMTI0LS4wNDguNTE3LjUxNyxcbiAgICAgICAgMCwwLDAsLjEwOC0uMDgzcS45NTgtLjk1MiwyLjUtMi40ODNhMi4wMTcsMi4wMTcsMCwwLDAsLjAzNS0uNTEzLDYuMzU2LDYuMzU2LDAsMCwxLC4xMDctMS4xNDNsLTIuNTU4LDIuNTMxYTQuNTM3LDQuNTM3LDAsMCwwLS45MS0xLjM1NyxcbiAgICAgICAgNC42NzIsNC42NzIsMCwwLDAtMS41NTYtMS4wNDNabS45NzUtLjk1My4wMzMtLjAzMmEyLjI1NCwyLjI1NCwwLDAsMSwuMjA3LS4xODMsMi4zNzksMi4zNzksMCwwLDEsLjQ0Ny0uMjQ4LDEuNTEsMS41MSwwLDAsMSwuNjM3LS4xNDksXG4gICAgICAgIDEuNDE4LDEuNDE4LDAsMCwxLC41ODcuMTMzLDEuOTM3LDEuOTM3LDAsMCwxLC41NTUuNCwyLjcxNCwyLjcxNCwwLDAsMSwuNS42MjksMS4yNjYsMS4yNjYsMCwwLDEsLjE3My42MTIsMS45MjYsMS45MjYsMCwwLDEtLjY2MSwxLjI4OS4wNTIuMDUyLFxuICAgICAgICAwLDAsMS0uMDE2LjAzM2wtLjAzMy4wMzItLjA0OC4wNDlhNC40Miw0LjQyLDAsMCwwLS45Ni0xLjUwNyw0LjcwOSw0LjcwOSwwLDAsMC0xLjQ3My0xLjAxMVptLTkuNjkyLDEzLjM3NS0xLjc5NC42cS4xNDgtLjUuNTQ2LTEuNzN0LjUxMS0xLjY0OGEzLjQsXG4gICAgICAgIDMuNCwwLDAsMSwxLjUyMS45MjYsMy4xNTEsMy4xNTEsMCwwLDEsLjgsMS4zMjRxLS4zMzMuMTE4LTEuNTgyLjUzWlwiXG4gICAgICAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk05MzguNy0xNzYuNDMxYS41LjUsMCwwLDEtLjM1OS0uMTUxbC0yLjI3Ni0yLjM1NWEuNS41LDAsMCwxLS4xNC0uMzQ3di0zLjQyNWEuNS41LDAsMCwxLC41LS41aDBhLjUuNSwwLDAsMSwuNS41aDB2My4yMjVsMi4xMzVcbiAgICAgICAgLDIuMjA5YS41LjUsMCwwLDEtLjAxMS43aDBBLjQ5LjQ5LDAsMCwxLDkzOC43LTE3Ni40MzFaXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTkzNi40MjItMTg1LjAwOWE1LjQ5LDUuNDksMCwwLDAtNS40ODQsNS40ODQsNS40ODcsNS40ODcsMCwwLDAsNS40ODQsNS40ODQsNS40OTEsNS40OTEsMCwwLDAsNS40ODQtNS40ODRBNS40OTEsNS40OTEsMCwwLDAsXG4gICAgICAgIDkzNi40MjItMTg1LjAwOVptMCw5Ljk3YTQuNDg3LDQuNDg3LDAsMCwxLTQuNDg3LTQuNDg3LDQuNDg2LDQuNDg2LDAsMCwxLDQuNDg3LTQuNDg2LDQuNDg2LDQuNDg2LDAsMCwxLDQuNDg3LDQuNDg2QTQuNDg3LFxuICAgICAgICA0LjQ4NywwLDAsMSw5MzYuNDIyLTE3NS4wMzlaXCJcbiAgICAgIC8+XG4gICAgPC9nPlxuICA8L3N2Zz5cbik7XG5cbmV4cG9ydCBkZWZhdWx0IFJlY2VudGx5Q3JlYXRlZEljb247XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFPQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU9BO0FBREE7QUFhQTtBQURBO0FBS0E7QUFEQTtBQUNBO0FBUUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/Icons/RecentlyCreatedIcon.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Icons/ReturnTopIcon.jsx":
- /*!**********************************************************!*\
- !*** ./src/client/js/components/Icons/ReturnTopIcon.jsx ***!
- \**********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n\nconst ReturnTopIcon = () => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 23 23\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M.41,18.71a.82.82,0,0,0,0,.26.71.71,0,0,0,0,.29.5.5,0,0,0,.16.22.66.66,0,0,0,.51.21.67.67,0,0,0, .51-.21l9.57-9.56,9.43,9.43a.71.71,0,0,0,.51.21.68.68,0,0,0,.51-.21.72.72, 0,0,0,0-1l-9.94-10a.78.78,0,0,0-.51-.19.76.76,0,0,0-.5.19L.58,18.46A.85.85,0,0,0,.41,18.71Z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M22.35,4.61H.65a.65.65,0,0,1,0-1.3h21.7a.65.65,0,1,1,0,1.3Z\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"rect\", {\n fillOpacity: \"0\",\n width: \"23\",\n height: \"23\"\n}));\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ReturnTopIcon);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvSWNvbnMvUmV0dXJuVG9wSWNvbi5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvSWNvbnMvUmV0dXJuVG9wSWNvbi5qc3g/ZGFiYyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5jb25zdCBSZXR1cm5Ub3BJY29uID0gKCkgPT4gKFxuICA8c3ZnXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgdmlld0JveD1cIjAgMCAyMyAyM1wiXG4gID5cbiAgICA8cGF0aCBkPVwiTS40MSwxOC43MWEuODIuODIsMCwwLDAsMCwuMjYuNzEuNzEsMCwwLDAsMCwuMjkuNS41LDAsMCwwLC4xNi4yMi42Ni42NiwwLDAsMCwuNTEuMjEuNjcuNjcsMCwwLDAsXG4gICAgLjUxLS4yMWw5LjU3LTkuNTYsOS40Myw5LjQzYS43MS43MSwwLDAsMCwuNTEuMjEuNjguNjgsMCwwLDAsLjUxLS4yMS43Mi43MixcbiAgICAwLDAsMCwwLTFsLTkuOTQtMTBhLjc4Ljc4LDAsMCwwLS41MS0uMTkuNzYuNzYsMCwwLDAtLjUuMTlMLjU4LDE4LjQ2QS44NS44NSwwLDAsMCwuNDEsMTguNzFaXCJcbiAgICAvPlxuICAgIDxwYXRoIGQ9XCJNMjIuMzUsNC42MUguNjVhLjY1LjY1LDAsMCwxLDAtMS4zaDIxLjdhLjY1LjY1LDAsMSwxLDAsMS4zWlwiIC8+XG4gICAgPHJlY3QgZmlsbE9wYWNpdHk9XCIwXCIgd2lkdGg9XCIyM1wiIGhlaWdodD1cIjIzXCIgLz5cblxuICA8L3N2Zz5cblxuKTtcblxuXG5leHBvcnQgZGVmYXVsdCBSZXR1cm5Ub3BJY29uO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRkE7QUFJQTtBQUFBO0FBSUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFNQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/Icons/ReturnTopIcon.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Icons/ShareLinkIcon.jsx":
- /*!**********************************************************!*\
- !*** ./src/client/js/components/Icons/ShareLinkIcon.jsx ***!
- \**********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n\nconst ShareLink = () => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"20\",\n height: \"20\",\n viewBox: \"0 0 20 20\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n transform: \"translate(-142 -502)\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"rect\", {\n width: \"20\",\n height: \"20\",\n transform: \"translate(142 502)\",\n fill: \"none\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n transform: \"translate(16 286.938)\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M-1.813-3.563a2.711,2.711,0,0,0-1.274.308,2.8,2.8,0,0,0-.976.835L-11.48-6.2a2.676,2.676, 0,0,0,.105-.738,2.555,2.555,0,0,0-.044-.466,3.34,3.34,0,0,0-.114-.448l7.453-3.621a2.71,2.71, 0,0,0,.984.853,2.764,2.764,0,0,0,1.283.308,2.708,2.708,0,0,0,1.986-.826A2.708,2.708,0,0, 0,1-13.125a2.751,2.751,0,0,0-.378-1.406A2.793,2.793,0,0,0-.406-15.56a2.751,2.751,0,0, 0-1.406-.378,2.751,2.751,0,0,0-1.406.378,2.793,2.793,0,0,0-1.028,1.028,2.751,2.751,0,0,0-.378, 1.406v.105a.64.64,0,0,0,.009.105.641.641,0,0,1,.009.105A.641.641,0,0,0-4.6-12.7a.694.694,0,0,0, .026.105.332.332,0,0,1,.018.105l-7.559,3.674a2.735,2.735,0,0,0-.923-.686,2.727,2.727,0,0, 0-1.151-.246,2.708,2.708,0,0,0-1.986.826A2.708,2.708,0,0,0-17-6.937a2.708,2.708,0,0,0, .826,1.986,2.708,2.708,0,0,0,1.986.826A2.666,2.666,0,0,0-11.99-5.2l7.453,3.8a1.388,1.388,0,0, 0-.053.211q-.018.105-.026.22t-.009.22A2.751,2.751,0,0,0-4.247.656,2.792,2.792,0,0,0-3.219, 1.685a2.751,2.751,0,0,0,1.406.378A2.708,2.708,0,0,0,.174,1.236,2.708,2.708,0,0,0,1-.75,2.708, 2.708,0,0,0,.174-2.736,2.708,2.708,0,0,0-1.813-3.563Zm-1.2-10.758a1.627,1.627,0,0,1,1.2-.492, 1.627,1.627,0,0,1,1.2.492,1.627,1.627,0,0,1,.492,1.2,1.627,1.627,0,0,1-.492,1.2,1.627,1.627, 0,0,1-1.2.492,1.627,1.627,0,0,1-1.2-.492,1.627,1.627,0,0,1-.492-1.2A1.627,1.627,0,0, 1-3.008-14.32Zm-9.984,8.578a1.627,1.627,0,0,1-1.2.492,1.627,1.627,0,0,1-1.2-.492,1.627, 1.627,0,0,1-.492-1.2,1.627,1.627,0,0,1,.492-1.2,1.627,1.627,0,0,1,1.2-.492,1.627,1.627, 0,0,1,1.2.492,1.627,1.627,0,0,1,.492,1.2A1.627,1.627,0,0,1-12.992-5.742ZM-.617.445a1.627, 1.627,0,0,1-1.2.492,1.627,1.627,0,0,1-1.2-.492A1.627,1.627,0,0,1-3.5-.75a1.627,1.627,0,0, 1,.492-1.2,1.627,1.627,0,0,1,1.2-.492,1.627,1.627,0,0,1,1.2.492A1.627,1.627,0,0,1-.125-.75,1.627,1.627,0,0,1-.617.445Z\",\n transform: \"translate(144 232)\"\n}))));\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ShareLink);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvSWNvbnMvU2hhcmVMaW5rSWNvbi5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvSWNvbnMvU2hhcmVMaW5rSWNvbi5qc3g/NjRhMyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5jb25zdCBTaGFyZUxpbmsgPSAoKSA9PiAoXG4gIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIj5cbiAgICA8ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTE0MiAtNTAyKVwiPlxuICAgICAgPHJlY3Qgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDE0MiA1MDIpXCIgZmlsbD1cIm5vbmVcIiAvPlxuICAgICAgPGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDE2IDI4Ni45MzgpXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk0tMS44MTMtMy41NjNhMi43MTEsMi43MTEsMCwwLDAtMS4yNzQuMzA4LDIuOCwyLjgsMCwwLDAtLjk3Ni44MzVMLTExLjQ4LTYuMmEyLjY3NiwyLjY3NixcbiAgICAgICAgICAwLDAsMCwuMTA1LS43MzgsMi41NTUsMi41NTUsMCwwLDAtLjA0NC0uNDY2LDMuMzQsMy4zNCwwLDAsMC0uMTE0LS40NDhsNy40NTMtMy42MjFhMi43MSwyLjcxLFxuICAgICAgICAgIDAsMCwwLC45ODQuODUzLDIuNzY0LDIuNzY0LDAsMCwwLDEuMjgzLjMwOCwyLjcwOCwyLjcwOCwwLDAsMCwxLjk4Ni0uODI2QTIuNzA4LDIuNzA4LDAsMCxcbiAgICAgICAgICAwLDEtMTMuMTI1YTIuNzUxLDIuNzUxLDAsMCwwLS4zNzgtMS40MDZBMi43OTMsMi43OTMsMCwwLDAtLjQwNi0xNS41NmEyLjc1MSwyLjc1MSwwLDAsXG4gICAgICAgICAgMC0xLjQwNi0uMzc4LDIuNzUxLDIuNzUxLDAsMCwwLTEuNDA2LjM3OCwyLjc5MywyLjc5MywwLDAsMC0xLjAyOCwxLjAyOCwyLjc1MSwyLjc1MSwwLDAsMC0uMzc4LFxuICAgICAgICAgIDEuNDA2di4xMDVhLjY0LjY0LDAsMCwwLC4wMDkuMTA1LjY0MS42NDEsMCwwLDEsLjAwOS4xMDVBLjY0MS42NDEsMCwwLDAtNC42LTEyLjdhLjY5NC42OTQsMCwwLDAsXG4gICAgICAgICAgLjAyNi4xMDUuMzMyLjMzMiwwLDAsMSwuMDE4LjEwNWwtNy41NTksMy42NzRhMi43MzUsMi43MzUsMCwwLDAtLjkyMy0uNjg2LDIuNzI3LDIuNzI3LDAsMCxcbiAgICAgICAgICAwLTEuMTUxLS4yNDYsMi43MDgsMi43MDgsMCwwLDAtMS45ODYuODI2QTIuNzA4LDIuNzA4LDAsMCwwLTE3LTYuOTM3YTIuNzA4LDIuNzA4LDAsMCwwLFxuICAgICAgICAgIC44MjYsMS45ODYsMi43MDgsMi43MDgsMCwwLDAsMS45ODYuODI2QTIuNjY2LDIuNjY2LDAsMCwwLTExLjk5LTUuMmw3LjQ1MywzLjhhMS4zODgsMS4zODgsMCwwLFxuICAgICAgICAgIDAtLjA1My4yMTFxLS4wMTguMTA1LS4wMjYuMjJ0LS4wMDkuMjJBMi43NTEsMi43NTEsMCwwLDAtNC4yNDcuNjU2LDIuNzkyLDIuNzkyLDAsMCwwLTMuMjE5LFxuICAgICAgICAgIDEuNjg1YTIuNzUxLDIuNzUxLDAsMCwwLDEuNDA2LjM3OEEyLjcwOCwyLjcwOCwwLDAsMCwuMTc0LDEuMjM2LDIuNzA4LDIuNzA4LDAsMCwwLDEtLjc1LDIuNzA4LFxuICAgICAgICAgIDIuNzA4LDAsMCwwLC4xNzQtMi43MzYsMi43MDgsMi43MDgsMCwwLDAtMS44MTMtMy41NjNabS0xLjItMTAuNzU4YTEuNjI3LDEuNjI3LDAsMCwxLDEuMi0uNDkyLFxuICAgICAgICAgIDEuNjI3LDEuNjI3LDAsMCwxLDEuMi40OTIsMS42MjcsMS42MjcsMCwwLDEsLjQ5MiwxLjIsMS42MjcsMS42MjcsMCwwLDEtLjQ5MiwxLjIsMS42MjcsMS42MjcsXG4gICAgICAgICAgMCwwLDEtMS4yLjQ5MiwxLjYyNywxLjYyNywwLDAsMS0xLjItLjQ5MiwxLjYyNywxLjYyNywwLDAsMS0uNDkyLTEuMkExLjYyNywxLjYyNywwLDAsXG4gICAgICAgICAgMS0zLjAwOC0xNC4zMlptLTkuOTg0LDguNTc4YTEuNjI3LDEuNjI3LDAsMCwxLTEuMi40OTIsMS42MjcsMS42MjcsMCwwLDEtMS4yLS40OTIsMS42MjcsXG4gICAgICAgICAgMS42MjcsMCwwLDEtLjQ5Mi0xLjIsMS42MjcsMS42MjcsMCwwLDEsLjQ5Mi0xLjIsMS42MjcsMS42MjcsMCwwLDEsMS4yLS40OTIsMS42MjcsMS42MjcsXG4gICAgICAgICAgMCwwLDEsMS4yLjQ5MiwxLjYyNywxLjYyNywwLDAsMSwuNDkyLDEuMkExLjYyNywxLjYyNywwLDAsMS0xMi45OTItNS43NDJaTS0uNjE3LjQ0NWExLjYyNyxcbiAgICAgICAgICAxLjYyNywwLDAsMS0xLjIuNDkyLDEuNjI3LDEuNjI3LDAsMCwxLTEuMi0uNDkyQTEuNjI3LDEuNjI3LDAsMCwxLTMuNS0uNzVhMS42MjcsMS42MjcsMCwwLFxuICAgICAgICAgIDEsLjQ5Mi0xLjIsMS42MjcsMS42MjcsMCwwLDEsMS4yLS40OTIsMS42MjcsMS42MjcsMCwwLDEsMS4yLjQ5MkExLjYyNywxLjYyNywwLDAsMS0uMTI1LS43NSwxLjYyNywxLjYyNywwLDAsMS0uNjE3LjQ0NVpcIlxuICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxNDQgMjMyKVwiXG4gICAgICAgIC8+XG4gICAgICA8L2c+XG4gICAgPC9nPlxuICA8L3N2Zz5cbik7XG5cbmV4cG9ydCBkZWZhdWx0IFNoYXJlTGluaztcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBbUJBO0FBcEJBO0FBQ0E7QUEwQkEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/Icons/ShareLinkIcon.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Icons/TimeLineIcon.jsx":
- /*!*********************************************************!*\
- !*** ./src/client/js/components/Icons/TimeLineIcon.jsx ***!
- \*********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n\nconst TimeLine = () => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 14 14\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"rect\", {\n width: \"14\",\n height: \"14\",\n fillOpacity: \"0\"\n}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M13.6,4.6a1.2,1.2,0,0,1-1.2,1.2,1,1,0,0,1-.3,0L10,7.89a1.1,1.1,0,0,1,0,.31,1.2,1.2,0,1,1-2.4,0,1.1,1.1,0,0,1, 0-.31L6.11,6.36a1.3,1.3,0,0,1-.62,0L2.75,9.1a1,1,0,0,1,0,.3A1.2,1.2,0,1,1,1.6,8.2a1,1,0,0,1,.3,0L4.64, 5.51a1.1,1.1,0,0,1,0-.31A1.2,1.2,0,0,1,7,5.2a1.1,1.1,0,0,1,0,.31L8.49,7a1.3,1.3,0,0,1,.62,0L11.25,4.9a1, 1,0,0,1-.05-.3,1.2,1.2,0,1,1,2.4,0Z\"\n}));\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (TimeLine);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvSWNvbnMvVGltZUxpbmVJY29uLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9JY29ucy9UaW1lTGluZUljb24uanN4P2Y5Y2EiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuY29uc3QgVGltZUxpbmUgPSAoKSA9PiAoXG4gIDxzdmdcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICB2aWV3Qm94PVwiMCAwIDE0IDE0XCJcblxuICA+XG4gICAgPHJlY3Qgd2lkdGg9XCIxNFwiIGhlaWdodD1cIjE0XCIgZmlsbE9wYWNpdHk9XCIwXCIgLz5cbiAgICA8cGF0aFxuICAgICAgZD1cIk0xMy42LDQuNmExLjIsMS4yLDAsMCwxLTEuMiwxLjIsMSwxLDAsMCwxLS4zLDBMMTAsNy44OWExLjEsMS4xLDAsMCwxLDAsLjMxLDEuMiwxLjIsMCwxLDEtMi40LDAsMS4xLDEuMSwwLDAsMSxcbiAgICAgIDAtLjMxTDYuMTEsNi4zNmExLjMsMS4zLDAsMCwxLS42MiwwTDIuNzUsOS4xYTEsMSwwLDAsMSwwLC4zQTEuMiwxLjIsMCwxLDEsMS42LDguMmExLDEsMCwwLDEsLjMsMEw0LjY0LFxuICAgICAgNS41MWExLjEsMS4xLDAsMCwxLDAtLjMxQTEuMiwxLjIsMCwwLDEsNyw1LjJhMS4xLDEuMSwwLDAsMSwwLC4zMUw4LjQ5LDdhMS4zLDEuMywwLDAsMSwuNjIsMEwxMS4yNSw0LjlhMSxcbiAgICAgIDEsMCwwLDEtLjA1LS4zLDEuMiwxLjIsMCwxLDEsMi40LDBaXCJcbiAgICAvPlxuICA8L3N2Zz5cbik7XG5cbmV4cG9ydCBkZWZhdWx0IFRpbWVMaW5lO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRkE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBREE7QUFDQTtBQVFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/Icons/TimeLineIcon.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/LikeButton.jsx":
- /*!*************************************************!*\
- !*** ./src/client/js/components/LikeButton.jsx ***!
- \*************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var reactstrap_es_UncontrolledTooltip__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! reactstrap/es/UncontrolledTooltip */ \"./node_modules/reactstrap/es/UncontrolledTooltip.js\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _util_apiNotification__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util/apiNotification */ \"./src/client/js/util/apiNotification.js\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n\n\n\n\n\n\n\n\n\nclass LikeButton extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n this.handleClick = this.handleClick.bind(this);\n }\n\n async handleClick() {\n const {\n appContainer,\n pageContainer\n } = this.props;\n const {\n isGuestUser\n } = appContainer;\n\n if (isGuestUser) {\n return;\n }\n\n try {\n pageContainer.toggleLike();\n } catch (err) {\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_5__[\"toastError\"])(err);\n }\n }\n\n render() {\n const {\n appContainer,\n pageContainer,\n t\n } = this.props;\n const {\n isGuestUser\n } = appContainer;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n id: \"like-button\",\n onClick: this.handleClick,\n className: `btn btn-like border-0\n ${pageContainer.state.isLiked ? 'active' : ''} ${isGuestUser ? 'disabled' : ''}`\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-like mr-3\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"total-likes\"\n }, pageContainer.state.sumOfLikers)), isGuestUser && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_UncontrolledTooltip__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n placement: \"top\",\n target: \"like-button\",\n fade: false\n }, t('Not available for guest')));\n }\n\n}\n/**\n * Wrapper component for using unstated\n */\n\n\nconst LikeButtonWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_4__[\"withUnstatedContainers\"])(LikeButton, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"], _services_PageContainer__WEBPACK_IMPORTED_MODULE_7__[\"default\"]]);\nLikeButton.propTypes = {\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"]).isRequired,\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_7__[\"default\"]).isRequired,\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n size: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_3__[\"withTranslation\"])()(LikeButtonWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvTGlrZUJ1dHRvbi5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvTGlrZUJ1dHRvbi5qc3g/ZTliZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuaW1wb3J0IHsgVW5jb250cm9sbGVkVG9vbHRpcCB9IGZyb20gJ3JlYWN0c3RyYXAnO1xuaW1wb3J0IHsgd2l0aFRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5pbXBvcnQgeyB3aXRoVW5zdGF0ZWRDb250YWluZXJzIH0gZnJvbSAnLi9VbnN0YXRlZFV0aWxzJztcblxuaW1wb3J0IHsgdG9hc3RFcnJvciB9IGZyb20gJy4uL3V0aWwvYXBpTm90aWZpY2F0aW9uJztcbmltcG9ydCBBcHBDb250YWluZXIgZnJvbSAnLi4vc2VydmljZXMvQXBwQ29udGFpbmVyJztcbmltcG9ydCBQYWdlQ29udGFpbmVyIGZyb20gJy4uL3NlcnZpY2VzL1BhZ2VDb250YWluZXInO1xuXG5jbGFzcyBMaWtlQnV0dG9uIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcblxuICAgIHRoaXMuaGFuZGxlQ2xpY2sgPSB0aGlzLmhhbmRsZUNsaWNrLmJpbmQodGhpcyk7XG4gIH1cblxuICBhc3luYyBoYW5kbGVDbGljaygpIHtcbiAgICBjb25zdCB7IGFwcENvbnRhaW5lciwgcGFnZUNvbnRhaW5lciB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGlzR3Vlc3RVc2VyIH0gPSBhcHBDb250YWluZXI7XG5cbiAgICBpZiAoaXNHdWVzdFVzZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgcGFnZUNvbnRhaW5lci50b2dnbGVMaWtlKCk7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgIHRvYXN0RXJyb3IoZXJyKTtcbiAgICB9XG4gIH1cblxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IGFwcENvbnRhaW5lciwgcGFnZUNvbnRhaW5lciwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGlzR3Vlc3RVc2VyIH0gPSBhcHBDb250YWluZXI7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGlkPVwibGlrZS1idXR0b25cIlxuICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuaGFuZGxlQ2xpY2t9XG4gICAgICAgICAgY2xhc3NOYW1lPXtgYnRuIGJ0bi1saWtlIGJvcmRlci0wXG4gICAgICAgICAgJHtwYWdlQ29udGFpbmVyLnN0YXRlLmlzTGlrZWQgPyAnYWN0aXZlJyA6ICcnfSAke2lzR3Vlc3RVc2VyID8gJ2Rpc2FibGVkJyA6ICcnfWB9XG4gICAgICAgID5cbiAgICAgICAgICA8aSBjbGFzc05hbWU9XCJpY29uLWxpa2UgbXItM1wiPjwvaT5cbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0b3RhbC1saWtlc1wiPlxuICAgICAgICAgICAge3BhZ2VDb250YWluZXIuc3RhdGUuc3VtT2ZMaWtlcnN9XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICB7aXNHdWVzdFVzZXIgJiYgKFxuICAgICAgICA8VW5jb250cm9sbGVkVG9vbHRpcCBwbGFjZW1lbnQ9XCJ0b3BcIiB0YXJnZXQ9XCJsaWtlLWJ1dHRvblwiIGZhZGU9e2ZhbHNlfT5cbiAgICAgICAgICB7dCgnTm90IGF2YWlsYWJsZSBmb3IgZ3Vlc3QnKX1cbiAgICAgICAgPC9VbmNvbnRyb2xsZWRUb29sdGlwPlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuXG59XG5cbi8qKlxuICogV3JhcHBlciBjb21wb25lbnQgZm9yIHVzaW5nIHVuc3RhdGVkXG4gKi9cbmNvbnN0IExpa2VCdXR0b25XcmFwcGVyID0gd2l0aFVuc3RhdGVkQ29udGFpbmVycyhMaWtlQnV0dG9uLCBbQXBwQ29udGFpbmVyLCBQYWdlQ29udGFpbmVyXSk7XG5cbkxpa2VCdXR0b24ucHJvcFR5cGVzID0ge1xuICBhcHBDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKEFwcENvbnRhaW5lcikuaXNSZXF1aXJlZCxcbiAgcGFnZUNvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoUGFnZUNvbnRhaW5lcikuaXNSZXF1aXJlZCxcblxuICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBzaXplOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFRyYW5zbGF0aW9uKCkoTGlrZUJ1dHRvbldyYXBwZXIpO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTs7QUFHQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFPQTtBQUFBO0FBQ0E7QUFBQTtBQU1BO0FBQUE7QUFBQTtBQUFBO0FBTUE7QUFDQTtBQXBEQTtBQXVEQTs7Ozs7QUFHQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFMQTtBQVFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/LikeButton.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Me/ApiSettings.jsx":
- /*!*****************************************************!*\
- !*** ./src/client/js/components/Me/ApiSettings.jsx ***!
- \*****************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _util_apiNotification__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/apiNotification */ \"./src/client/js/util/apiNotification.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_PersonalContainer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../services/PersonalContainer */ \"./src/client/js/services/PersonalContainer.js\");\n\n\n\n\n\n\n\n\nclass ApiSettings extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(appContainer) {\n super();\n this.onClickSubmit = this.onClickSubmit.bind(this);\n }\n\n async onClickSubmit() {\n const {\n t,\n appContainer,\n personalContainer\n } = this.props;\n\n try {\n await appContainer.apiv3Put('/personal-setting/api-token');\n await personalContainer.retrievePersonalData();\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_3__[\"toastSuccess\"])(t('toaster.update_successed', {\n target: t('page_me_apitoken.api_token')\n }));\n } catch (err) {\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_3__[\"toastError\"])(err);\n }\n }\n\n render() {\n const {\n t,\n personalContainer\n } = this.props;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h2\", {\n className: \"border-bottom my-4\"\n }, t('API Token Settings')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"row mb-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n htmlFor: \"apiToken\",\n className: \"col-md-3 text-md-right\"\n }, t('Current API Token')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-md-6\"\n }, personalContainer.state.apiToken != null ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n className: \"form-control\",\n type: \"text\",\n name: \"apiToken\",\n value: personalContainer.state.apiToken,\n readOnly: true\n }) : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", null, t('page_me_apitoken.notice.apitoken_issued')))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"row\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"offset-lg-2 col-lg-7\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"alert alert-warning\"\n }, t('page_me_apitoken.notice.update_token1'), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"br\", null), t('page_me_apitoken.notice.update_token2')))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"row my-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"offset-4 col-5\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-primary text-nowrap\",\n onClick: this.onClickSubmit\n }, t('Update API Token')))));\n }\n\n}\n\nconst ApiSettingsWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_4__[\"withUnstatedContainers\"])(ApiSettings, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _services_PersonalContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"]]);\nApiSettings.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]).isRequired,\n personalContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PersonalContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"]).isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(ApiSettingsWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvTWUvQXBpU2V0dGluZ3MuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL01lL0FwaVNldHRpbmdzLmpzeD9kMjg1Il0sInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyB3aXRoVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcblxuaW1wb3J0IHsgdG9hc3RTdWNjZXNzLCB0b2FzdEVycm9yIH0gZnJvbSAnLi4vLi4vdXRpbC9hcGlOb3RpZmljYXRpb24nO1xuaW1wb3J0IHsgd2l0aFVuc3RhdGVkQ29udGFpbmVycyB9IGZyb20gJy4uL1Vuc3RhdGVkVXRpbHMnO1xuXG5pbXBvcnQgQXBwQ29udGFpbmVyIGZyb20gJy4uLy4uL3NlcnZpY2VzL0FwcENvbnRhaW5lcic7XG5pbXBvcnQgUGVyc29uYWxDb250YWluZXIgZnJvbSAnLi4vLi4vc2VydmljZXMvUGVyc29uYWxDb250YWluZXInO1xuXG5cbmNsYXNzIEFwaVNldHRpbmdzIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3RvcihhcHBDb250YWluZXIpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5vbkNsaWNrU3VibWl0ID0gdGhpcy5vbkNsaWNrU3VibWl0LmJpbmQodGhpcyk7XG4gIH1cblxuICBhc3luYyBvbkNsaWNrU3VibWl0KCkge1xuICAgIGNvbnN0IHsgdCwgYXBwQ29udGFpbmVyLCBwZXJzb25hbENvbnRhaW5lciB9ID0gdGhpcy5wcm9wcztcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBhcHBDb250YWluZXIuYXBpdjNQdXQoJy9wZXJzb25hbC1zZXR0aW5nL2FwaS10b2tlbicpO1xuXG4gICAgICBhd2FpdCBwZXJzb25hbENvbnRhaW5lci5yZXRyaWV2ZVBlcnNvbmFsRGF0YSgpO1xuICAgICAgdG9hc3RTdWNjZXNzKHQoJ3RvYXN0ZXIudXBkYXRlX3N1Y2Nlc3NlZCcsIHsgdGFyZ2V0OiB0KCdwYWdlX21lX2FwaXRva2VuLmFwaV90b2tlbicpIH0pKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgdG9hc3RFcnJvcihlcnIpO1xuICAgIH1cblxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgdCwgcGVyc29uYWxDb250YWluZXIgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIChcbiAgICAgIDxSZWFjdC5GcmFnbWVudD5cblxuICAgICAgICA8aDIgY2xhc3NOYW1lPVwiYm9yZGVyLWJvdHRvbSBteS00XCI+eyB0KCdBUEkgVG9rZW4gU2V0dGluZ3MnKSB9PC9oMj5cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBtYi0zXCI+XG4gICAgICAgICAgPGxhYmVsIGh0bWxGb3I9XCJhcGlUb2tlblwiIGNsYXNzTmFtZT1cImNvbC1tZC0zIHRleHQtbWQtcmlnaHRcIj57dCgnQ3VycmVudCBBUEkgVG9rZW4nKX08L2xhYmVsPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLW1kLTZcIj5cbiAgICAgICAgICAgIHtwZXJzb25hbENvbnRhaW5lci5zdGF0ZS5hcGlUb2tlbiAhPSBudWxsXG4gICAgICAgICAgICA/IChcbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgbmFtZT1cImFwaVRva2VuXCJcbiAgICAgICAgICAgICAgICB2YWx1ZT17cGVyc29uYWxDb250YWluZXIuc3RhdGUuYXBpVG9rZW59XG4gICAgICAgICAgICAgICAgcmVhZE9ubHlcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIDogKFxuICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICB7IHQoJ3BhZ2VfbWVfYXBpdG9rZW4ubm90aWNlLmFwaXRva2VuX2lzc3VlZCcpIH1cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwib2Zmc2V0LWxnLTIgY29sLWxnLTdcIj5cblxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiYWxlcnQgYWxlcnQtd2FybmluZ1wiPlxuICAgICAgICAgICAgICB7IHQoJ3BhZ2VfbWVfYXBpdG9rZW4ubm90aWNlLnVwZGF0ZV90b2tlbjEnKSB9PGJyIC8+XG4gICAgICAgICAgICAgIHsgdCgncGFnZV9tZV9hcGl0b2tlbi5ub3RpY2UudXBkYXRlX3Rva2VuMicpIH1cbiAgICAgICAgICAgIDwvcD5cblxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBteS0zXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJvZmZzZXQtNCBjb2wtNVwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYnRuIGJ0bi1wcmltYXJ5IHRleHQtbm93cmFwXCJcbiAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5vbkNsaWNrU3VibWl0fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7dCgnVXBkYXRlIEFQSSBUb2tlbicpfVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICA8L1JlYWN0LkZyYWdtZW50PlxuXG4gICAgKTtcbiAgfVxuXG59XG5cbmNvbnN0IEFwaVNldHRpbmdzV3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoQXBpU2V0dGluZ3MsIFtBcHBDb250YWluZXIsIFBlcnNvbmFsQ29udGFpbmVyXSk7XG5cbkFwaVNldHRpbmdzLnByb3BUeXBlcyA9IHtcbiAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCwgLy8gaTE4bmV4dFxuICBhcHBDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKEFwcENvbnRhaW5lcikuaXNSZXF1aXJlZCxcbiAgcGVyc29uYWxDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKFBlcnNvbmFsQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFRyYW5zbGF0aW9uKCkoQXBpU2V0dGluZ3NXcmFwcGVyKTtcbiJdLCJtYXBwaW5ncyI6IkFBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBR0E7QUFBQTtBQUVBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBaUJBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFBQTtBQVFBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBSEE7QUFhQTtBQUNBO0FBL0VBO0FBQ0E7QUFpRkE7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBSEE7QUFNQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/Me/ApiSettings.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Me/AssociateModal.jsx":
- /*!********************************************************!*\
- !*** ./src/client/js/components/Me/AssociateModal.jsx ***!
- \********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! reactstrap/es/Modal */ \"./node_modules/reactstrap/es/Modal.js\");\n/* harmony import */ var reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! reactstrap/es/ModalHeader */ \"./node_modules/reactstrap/es/ModalHeader.js\");\n/* harmony import */ var reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! reactstrap/es/ModalBody */ \"./node_modules/reactstrap/es/ModalBody.js\");\n/* harmony import */ var reactstrap_es_ModalFooter__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! reactstrap/es/ModalFooter */ \"./node_modules/reactstrap/es/ModalFooter.js\");\n/* harmony import */ var _util_apiNotification__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../util/apiNotification */ \"./src/client/js/util/apiNotification.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_PersonalContainer__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../services/PersonalContainer */ \"./src/client/js/services/PersonalContainer.js\");\n/* harmony import */ var _Admin_Security_LdapAuthTest__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../Admin/Security/LdapAuthTest */ \"./src/client/js/components/Admin/Security/LdapAuthTest.jsx\");\n\n\n\n\n\n\n\n\n\n\n\n\n\nclass AssociateModal extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n this.state = {\n username: '',\n password: ''\n };\n this.onChangeUsername = this.onChangeUsername.bind(this);\n this.onChangePassword = this.onChangePassword.bind(this);\n this.onClickAddBtn = this.onClickAddBtn.bind(this);\n }\n /**\n * Change username\n */\n\n\n onChangeUsername(username) {\n this.setState({\n username\n });\n }\n /**\n * Change password\n */\n\n\n onChangePassword(password) {\n this.setState({\n password\n });\n }\n\n async onClickAddBtn() {\n const {\n t,\n personalContainer\n } = this.props;\n const {\n username,\n password\n } = this.state;\n\n try {\n await personalContainer.associateLdapAccount({\n username,\n password\n });\n this.props.onClose();\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_7__[\"toastSuccess\"])(t('security_setting.updated_general_security_setting'));\n } catch (err) {\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_7__[\"toastError\"])(err);\n }\n\n try {\n await personalContainer.retrieveExternalAccounts();\n } catch (err) {\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_7__[\"toastError\"])(err);\n }\n }\n\n render() {\n const {\n t\n } = this.props;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n isOpen: this.props.isOpen,\n toggle: this.props.onClose,\n size: \"lg\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"bg-primary text-light\",\n toggle: this.props.onClose\n }, t('admin:user_management.create_external_account')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"ul\", {\n className: \"nav nav-tabs passport-settings mb-2\",\n role: \"tablist\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", {\n className: \"nav-item active\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: \"#passport-ldap\",\n className: \"nav-link active\",\n \"data-toggle\": \"tab\",\n role: \"tab\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"fa fa-sitemap\"\n }), \" LDAP\")), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", {\n className: \"nav-item\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: \"#github-tbd\",\n className: \"nav-link\",\n \"data-toggle\": \"tab\",\n role: \"tab\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"fa fa-github\"\n }), \" (TBD) GitHub\")), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", {\n className: \"nav-item\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: \"#google-tbd\",\n className: \"nav-link\",\n \"data-toggle\": \"tab\",\n role: \"tab\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"fa fa-google\"\n }), \" (TBD) Google OAuth\")), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", {\n className: \"nav-item\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: \"#facebook-tbd\",\n className: \"nav-link\",\n \"data-toggle\": \"tab\",\n role: \"tab\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"fa fa-facebook\"\n }), \" (TBD) Facebook\")), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", {\n className: \"nav-item\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: \"#twitter-tbd\",\n className: \"nav-link\",\n \"data-toggle\": \"tab\",\n role: \"tab\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"fa fa-twitter\"\n }), \" (TBD) Twitter\"))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"tab-content\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n id: \"passport-ldap\",\n className: \"tab-pane active\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Admin_Security_LdapAuthTest__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n username: this.state.username,\n password: this.state.password,\n onChangeUsername: this.onChangeUsername,\n onChangePassword: this.onChangePassword\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n id: \"github-tbd\",\n className: \"tab-pane\",\n role: \"tabpanel\"\n }, \"TBD\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n id: \"google-tbd\",\n className: \"tab-pane\",\n role: \"tabpanel\"\n }, \"TBD\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n id: \"facebook-tbd\",\n className: \"tab-pane\",\n role: \"tabpanel\"\n }, \"TBD\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n id: \"twitter-tbd\",\n className: \"tab-pane\",\n role: \"tabpanel\"\n }, \"TBD\"))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalFooter__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"border-top-0\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-primary mt-3\",\n onClick: this.onClickAddBtn\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"fa fa-plus-circle\",\n \"aria-hidden\": \"true\"\n }), t('add'))));\n }\n\n}\n\nconst AssociateModalWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_8__[\"withUnstatedContainers\"])(AssociateModal, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_9__[\"default\"], _services_PersonalContainer__WEBPACK_IMPORTED_MODULE_10__[\"default\"]]);\nAssociateModal.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_9__[\"default\"]).isRequired,\n personalContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PersonalContainer__WEBPACK_IMPORTED_MODULE_10__[\"default\"]).isRequired,\n isOpen: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,\n onClose: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(AssociateModalWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvTWUvQXNzb2NpYXRlTW9kYWwuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL01lL0Fzc29jaWF0ZU1vZGFsLmpzeD8zMWNhIl0sInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyB3aXRoVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcblxuaW1wb3J0IHtcbiAgTW9kYWwsXG4gIE1vZGFsSGVhZGVyLFxuICBNb2RhbEJvZHksXG4gIE1vZGFsRm9vdGVyLFxufSBmcm9tICdyZWFjdHN0cmFwJztcbmltcG9ydCB7IHRvYXN0U3VjY2VzcywgdG9hc3RFcnJvciB9IGZyb20gJy4uLy4uL3V0aWwvYXBpTm90aWZpY2F0aW9uJztcbmltcG9ydCB7IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMgfSBmcm9tICcuLi9VbnN0YXRlZFV0aWxzJztcblxuaW1wb3J0IEFwcENvbnRhaW5lciBmcm9tICcuLi8uLi9zZXJ2aWNlcy9BcHBDb250YWluZXInO1xuaW1wb3J0IFBlcnNvbmFsQ29udGFpbmVyIGZyb20gJy4uLy4uL3NlcnZpY2VzL1BlcnNvbmFsQ29udGFpbmVyJztcblxuaW1wb3J0IExkYXBBdXRoVGVzdCBmcm9tICcuLi9BZG1pbi9TZWN1cml0eS9MZGFwQXV0aFRlc3QnO1xuXG5jbGFzcyBBc3NvY2lhdGVNb2RhbCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgdXNlcm5hbWU6ICcnLFxuICAgICAgcGFzc3dvcmQ6ICcnLFxuICAgIH07XG5cbiAgICB0aGlzLm9uQ2hhbmdlVXNlcm5hbWUgPSB0aGlzLm9uQ2hhbmdlVXNlcm5hbWUuYmluZCh0aGlzKTtcbiAgICB0aGlzLm9uQ2hhbmdlUGFzc3dvcmQgPSB0aGlzLm9uQ2hhbmdlUGFzc3dvcmQuYmluZCh0aGlzKTtcbiAgICB0aGlzLm9uQ2xpY2tBZGRCdG4gPSB0aGlzLm9uQ2xpY2tBZGRCdG4uYmluZCh0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGFuZ2UgdXNlcm5hbWVcbiAgICovXG4gIG9uQ2hhbmdlVXNlcm5hbWUodXNlcm5hbWUpIHtcbiAgICB0aGlzLnNldFN0YXRlKHsgdXNlcm5hbWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hhbmdlIHBhc3N3b3JkXG4gICAqL1xuICBvbkNoYW5nZVBhc3N3b3JkKHBhc3N3b3JkKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IHBhc3N3b3JkIH0pO1xuICB9XG5cbiAgYXN5bmMgb25DbGlja0FkZEJ0bigpIHtcbiAgICBjb25zdCB7IHQsIHBlcnNvbmFsQ29udGFpbmVyIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgdXNlcm5hbWUsIHBhc3N3b3JkIH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHBlcnNvbmFsQ29udGFpbmVyLmFzc29jaWF0ZUxkYXBBY2NvdW50KHsgdXNlcm5hbWUsIHBhc3N3b3JkIH0pO1xuICAgICAgdGhpcy5wcm9wcy5vbkNsb3NlKCk7XG4gICAgICB0b2FzdFN1Y2Nlc3ModCgnc2VjdXJpdHlfc2V0dGluZy51cGRhdGVkX2dlbmVyYWxfc2VjdXJpdHlfc2V0dGluZycpKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgdG9hc3RFcnJvcihlcnIpO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgYXdhaXQgcGVyc29uYWxDb250YWluZXIucmV0cmlldmVFeHRlcm5hbEFjY291bnRzKCk7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgIHRvYXN0RXJyb3IoZXJyKTtcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxNb2RhbCBpc09wZW49e3RoaXMucHJvcHMuaXNPcGVufSB0b2dnbGU9e3RoaXMucHJvcHMub25DbG9zZX0gc2l6ZT1cImxnXCI+XG4gICAgICAgIDxNb2RhbEhlYWRlciBjbGFzc05hbWU9XCJiZy1wcmltYXJ5IHRleHQtbGlnaHRcIiB0b2dnbGU9e3RoaXMucHJvcHMub25DbG9zZX0+XG4gICAgICAgICAgeyB0KCdhZG1pbjp1c2VyX21hbmFnZW1lbnQuY3JlYXRlX2V4dGVybmFsX2FjY291bnQnKSB9XG4gICAgICAgIDwvTW9kYWxIZWFkZXI+XG4gICAgICAgIDxNb2RhbEJvZHk+XG4gICAgICAgICAgPHVsIGNsYXNzTmFtZT1cIm5hdiBuYXYtdGFicyBwYXNzcG9ydC1zZXR0aW5ncyBtYi0yXCIgcm9sZT1cInRhYmxpc3RcIj5cbiAgICAgICAgICAgIDxsaSBjbGFzc05hbWU9XCJuYXYtaXRlbSBhY3RpdmVcIj5cbiAgICAgICAgICAgICAgPGEgaHJlZj1cIiNwYXNzcG9ydC1sZGFwXCIgY2xhc3NOYW1lPVwibmF2LWxpbmsgYWN0aXZlXCIgZGF0YS10b2dnbGU9XCJ0YWJcIiByb2xlPVwidGFiXCI+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3NOYW1lPVwiZmEgZmEtc2l0ZW1hcFwiPjwvaT4gTERBUFxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPGxpIGNsYXNzTmFtZT1cIm5hdi1pdGVtXCI+XG4gICAgICAgICAgICAgIDxhIGhyZWY9XCIjZ2l0aHViLXRiZFwiIGNsYXNzTmFtZT1cIm5hdi1saW5rXCIgZGF0YS10b2dnbGU9XCJ0YWJcIiByb2xlPVwidGFiXCI+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3NOYW1lPVwiZmEgZmEtZ2l0aHViXCI+PC9pPiAoVEJEKSBHaXRIdWJcbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDxsaSBjbGFzc05hbWU9XCJuYXYtaXRlbVwiPlxuICAgICAgICAgICAgICA8YSBocmVmPVwiI2dvb2dsZS10YmRcIiBjbGFzc05hbWU9XCJuYXYtbGlua1wiIGRhdGEtdG9nZ2xlPVwidGFiXCIgcm9sZT1cInRhYlwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzTmFtZT1cImZhIGZhLWdvb2dsZVwiPjwvaT4gKFRCRCkgR29vZ2xlIE9BdXRoXG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8bGkgY2xhc3NOYW1lPVwibmF2LWl0ZW1cIj5cbiAgICAgICAgICAgICAgPGEgaHJlZj1cIiNmYWNlYm9vay10YmRcIiBjbGFzc05hbWU9XCJuYXYtbGlua1wiIGRhdGEtdG9nZ2xlPVwidGFiXCIgcm9sZT1cInRhYlwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzTmFtZT1cImZhIGZhLWZhY2Vib29rXCI+PC9pPiAoVEJEKSBGYWNlYm9va1xuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPGxpIGNsYXNzTmFtZT1cIm5hdi1pdGVtXCI+XG4gICAgICAgICAgICAgIDxhIGhyZWY9XCIjdHdpdHRlci10YmRcIiBjbGFzc05hbWU9XCJuYXYtbGlua1wiIGRhdGEtdG9nZ2xlPVwidGFiXCIgcm9sZT1cInRhYlwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzTmFtZT1cImZhIGZhLXR3aXR0ZXJcIj48L2k+IChUQkQpIFR3aXR0ZXJcbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGFiLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxkaXYgaWQ9XCJwYXNzcG9ydC1sZGFwXCIgY2xhc3NOYW1lPVwidGFiLXBhbmUgYWN0aXZlXCI+XG4gICAgICAgICAgICAgIDxMZGFwQXV0aFRlc3RcbiAgICAgICAgICAgICAgICB1c2VybmFtZT17dGhpcy5zdGF0ZS51c2VybmFtZX1cbiAgICAgICAgICAgICAgICBwYXNzd29yZD17dGhpcy5zdGF0ZS5wYXNzd29yZH1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZVVzZXJuYW1lPXt0aGlzLm9uQ2hhbmdlVXNlcm5hbWV9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2VQYXNzd29yZD17dGhpcy5vbkNoYW5nZVBhc3N3b3JkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGlkPVwiZ2l0aHViLXRiZFwiIGNsYXNzTmFtZT1cInRhYi1wYW5lXCIgcm9sZT1cInRhYnBhbmVsXCI+VEJEPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGlkPVwiZ29vZ2xlLXRiZFwiIGNsYXNzTmFtZT1cInRhYi1wYW5lXCIgcm9sZT1cInRhYnBhbmVsXCI+VEJEPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGlkPVwiZmFjZWJvb2stdGJkXCIgY2xhc3NOYW1lPVwidGFiLXBhbmVcIiByb2xlPVwidGFicGFuZWxcIj5UQkQ8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgaWQ9XCJ0d2l0dGVyLXRiZFwiIGNsYXNzTmFtZT1cInRhYi1wYW5lXCIgcm9sZT1cInRhYnBhbmVsXCI+VEJEPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvTW9kYWxCb2R5PlxuICAgICAgICA8TW9kYWxGb290ZXIgY2xhc3NOYW1lPVwiYm9yZGVyLXRvcC0wXCI+XG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3NOYW1lPVwiYnRuIGJ0bi1wcmltYXJ5IG10LTNcIiBvbkNsaWNrPXt0aGlzLm9uQ2xpY2tBZGRCdG59PlxuICAgICAgICAgICAgPGkgY2xhc3NOYW1lPVwiZmEgZmEtcGx1cy1jaXJjbGVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgICAgICB7dCgnYWRkJyl9XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvTW9kYWxGb290ZXI+XG4gICAgICA8L01vZGFsPlxuICAgICk7XG4gIH1cblxufVxuXG5jb25zdCBBc3NvY2lhdGVNb2RhbFdyYXBwZXIgPSB3aXRoVW5zdGF0ZWRDb250YWluZXJzKEFzc29jaWF0ZU1vZGFsLCBbQXBwQ29udGFpbmVyLCBQZXJzb25hbENvbnRhaW5lcl0pO1xuXG5Bc3NvY2lhdGVNb2RhbC5wcm9wVHlwZXMgPSB7XG4gIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsIC8vIGkxOG5leHRcbiAgYXBwQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihBcHBDb250YWluZXIpLmlzUmVxdWlyZWQsXG4gIHBlcnNvbmFsQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihQZXJzb25hbENvbnRhaW5lcikuaXNSZXF1aXJlZCxcblxuICBpc09wZW46IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gIG9uQ2xvc2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG59O1xuXG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhUcmFuc2xhdGlvbigpKEFzc29jaWF0ZU1vZGFsV3JhcHBlcik7XG4iXSwibWFwcGluZ3MiOiJBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTs7Ozs7QUFRQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFGQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBR0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBR0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBR0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBR0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBSUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFPQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQU1BO0FBQ0E7QUE3R0E7QUFDQTtBQStHQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBTkE7QUFVQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/Me/AssociateModal.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Me/BasicInfoSettings.jsx":
- /*!***********************************************************!*\
- !*** ./src/client/js/components/Me/BasicInfoSettings.jsx ***!
- \***********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _util_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/i18n */ \"./src/client/js/util/i18n.js\");\n/* harmony import */ var _util_apiNotification__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/apiNotification */ \"./src/client/js/util/apiNotification.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_PersonalContainer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../services/PersonalContainer */ \"./src/client/js/services/PersonalContainer.js\");\n\n\n\n\n\n\n\n\nclass BasicInfoSettings extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor() {\n super();\n this.onClickSubmit = this.onClickSubmit.bind(this);\n }\n\n async componentDidMount() {\n try {\n await this.props.personalContainer.retrievePersonalData();\n } catch (err) {\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_4__[\"toastError\"])(err);\n }\n }\n\n async onClickSubmit() {\n const {\n t,\n personalContainer\n } = this.props;\n\n try {\n await personalContainer.updateBasicInfo();\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_4__[\"toastSuccess\"])(t('toaster.update_successed', {\n target: t('Basic Info')\n }));\n } catch (err) {\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_4__[\"toastError\"])(err);\n }\n }\n\n render() {\n const {\n t,\n personalContainer\n } = this.props;\n const {\n registrationWhiteList\n } = personalContainer.state;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0__[\"Fragment\"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"form-group row\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n htmlFor: \"userForm[name]\",\n className: \"text-left text-md-right col-md-3 col-form-label\"\n }, t('Name')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-md-6\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n className: \"form-control\",\n type: \"text\",\n name: \"userForm[name]\",\n defaultValue: personalContainer.state.name,\n onChange: e => {\n personalContainer.changeName(e.target.value);\n }\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"form-group row\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n htmlFor: \"userForm[email]\",\n className: \"text-left text-md-right col-md-3 col-form-label\"\n }, t('Email')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-md-6\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n className: \"form-control\",\n type: \"text\",\n name: \"userForm[email]\",\n defaultValue: personalContainer.state.email,\n onChange: e => {\n personalContainer.changeEmail(e.target.value);\n }\n }), registrationWhiteList.length !== 0 && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"form-text text-muted\"\n }, t('page_register.form_help.email'), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"ul\", null, registrationWhiteList.map(data => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", {\n key: data\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"code\", null, data))))))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"form-group row\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"text-left text-md-right col-md-3 col-form-label\"\n }, t('Disclose E-mail')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-md-6\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"custom-control custom-radio custom-control-inline\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"radio\",\n id: \"radioEmailShow\",\n className: \"custom-control-input\",\n name: \"userForm[isEmailPublished]\",\n checked: personalContainer.state.isEmailPublished,\n onChange: () => {\n personalContainer.changeIsEmailPublished(true);\n }\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"custom-control-label\",\n htmlFor: \"radioEmailShow\"\n }, t('Show'))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"custom-control custom-radio custom-control-inline\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"radio\",\n id: \"radioEmailHide\",\n className: \"custom-control-input\",\n name: \"userForm[isEmailPublished]\",\n checked: !personalContainer.state.isEmailPublished,\n onChange: () => {\n personalContainer.changeIsEmailPublished(false);\n }\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"custom-control-label\",\n htmlFor: \"radioEmailHide\"\n }, t('Hide'))))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"form-group row\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"text-left text-md-right col-md-3 col-form-label\"\n }, t('Language')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-md-6\"\n }, _util_i18n__WEBPACK_IMPORTED_MODULE_3__[\"localeMetadatas\"].map(meta => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n key: meta.id,\n className: \"custom-control custom-radio custom-control-inline\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"radio\",\n id: `radioLang${meta.id}`,\n className: \"custom-control-input\",\n name: \"userForm[lang]\",\n checked: personalContainer.state.lang === meta.id,\n onChange: () => {\n personalContainer.changeLang(meta.id);\n }\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"custom-control-label\",\n htmlFor: `radioLang${meta.id}`\n }, meta.displayName))))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"row my-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"offset-4 col-5\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-primary\",\n onClick: this.onClickSubmit,\n disabled: personalContainer.state.retrieveError != null\n }, t('Update')))));\n }\n\n}\n\nconst BasicInfoSettingsWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_5__[\"withUnstatedContainers\"])(BasicInfoSettings, [_services_PersonalContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"]]);\nBasicInfoSettings.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n personalContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PersonalContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"]).isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(BasicInfoSettingsWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvTWUvQmFzaWNJbmZvU2V0dGluZ3MuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL01lL0Jhc2ljSW5mb1NldHRpbmdzLmpzeD8zYjQ1Il0sInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IHdpdGhUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuXG5pbXBvcnQgeyBsb2NhbGVNZXRhZGF0YXMgfSBmcm9tICcuLi8uLi91dGlsL2kxOG4nO1xuXG5pbXBvcnQgeyB0b2FzdFN1Y2Nlc3MsIHRvYXN0RXJyb3IgfSBmcm9tICcuLi8uLi91dGlsL2FwaU5vdGlmaWNhdGlvbic7XG5pbXBvcnQgeyB3aXRoVW5zdGF0ZWRDb250YWluZXJzIH0gZnJvbSAnLi4vVW5zdGF0ZWRVdGlscyc7XG5cbmltcG9ydCBQZXJzb25hbENvbnRhaW5lciBmcm9tICcuLi8uLi9zZXJ2aWNlcy9QZXJzb25hbENvbnRhaW5lcic7XG5cbmNsYXNzIEJhc2ljSW5mb1NldHRpbmdzIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5vbkNsaWNrU3VibWl0ID0gdGhpcy5vbkNsaWNrU3VibWl0LmJpbmQodGhpcyk7XG4gIH1cblxuICBhc3luYyBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5wcm9wcy5wZXJzb25hbENvbnRhaW5lci5yZXRyaWV2ZVBlcnNvbmFsRGF0YSgpO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICB0b2FzdEVycm9yKGVycik7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgb25DbGlja1N1Ym1pdCgpIHtcbiAgICBjb25zdCB7IHQsIHBlcnNvbmFsQ29udGFpbmVyIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHBlcnNvbmFsQ29udGFpbmVyLnVwZGF0ZUJhc2ljSW5mbygpO1xuICAgICAgdG9hc3RTdWNjZXNzKHQoJ3RvYXN0ZXIudXBkYXRlX3N1Y2Nlc3NlZCcsIHsgdGFyZ2V0OiB0KCdCYXNpYyBJbmZvJykgfSkpO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICB0b2FzdEVycm9yKGVycik7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgdCwgcGVyc29uYWxDb250YWluZXIgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyByZWdpc3RyYXRpb25XaGl0ZUxpc3QgfSA9IHBlcnNvbmFsQ29udGFpbmVyLnN0YXRlO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxGcmFnbWVudD5cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZvcm0tZ3JvdXAgcm93XCI+XG4gICAgICAgICAgPGxhYmVsIGh0bWxGb3I9XCJ1c2VyRm9ybVtuYW1lXVwiIGNsYXNzTmFtZT1cInRleHQtbGVmdCB0ZXh0LW1kLXJpZ2h0IGNvbC1tZC0zIGNvbC1mb3JtLWxhYmVsXCI+e3QoJ05hbWUnKX08L2xhYmVsPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLW1kLTZcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIG5hbWU9XCJ1c2VyRm9ybVtuYW1lXVwiXG4gICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17cGVyc29uYWxDb250YWluZXIuc3RhdGUubmFtZX1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiB7IHBlcnNvbmFsQ29udGFpbmVyLmNoYW5nZU5hbWUoZS50YXJnZXQudmFsdWUpIH19XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZvcm0tZ3JvdXAgcm93XCI+XG4gICAgICAgICAgPGxhYmVsIGh0bWxGb3I9XCJ1c2VyRm9ybVtlbWFpbF1cIiBjbGFzc05hbWU9XCJ0ZXh0LWxlZnQgdGV4dC1tZC1yaWdodCBjb2wtbWQtMyBjb2wtZm9ybS1sYWJlbFwiPnt0KCdFbWFpbCcpfTwvbGFiZWw+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtbWQtNlwiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgbmFtZT1cInVzZXJGb3JtW2VtYWlsXVwiXG4gICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17cGVyc29uYWxDb250YWluZXIuc3RhdGUuZW1haWx9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4geyBwZXJzb25hbENvbnRhaW5lci5jaGFuZ2VFbWFpbChlLnRhcmdldC52YWx1ZSkgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB7cmVnaXN0cmF0aW9uV2hpdGVMaXN0Lmxlbmd0aCAhPT0gMCAmJiAoXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZm9ybS10ZXh0IHRleHQtbXV0ZWRcIj5cbiAgICAgICAgICAgICAgICB7dCgncGFnZV9yZWdpc3Rlci5mb3JtX2hlbHAuZW1haWwnKX1cbiAgICAgICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgICAgICB7cmVnaXN0cmF0aW9uV2hpdGVMaXN0Lm1hcChkYXRhID0+IDxsaSBrZXk9e2RhdGF9Pjxjb2RlPntkYXRhfTwvY29kZT48L2xpPil9XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZvcm0tZ3JvdXAgcm93XCI+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cInRleHQtbGVmdCB0ZXh0LW1kLXJpZ2h0IGNvbC1tZC0zIGNvbC1mb3JtLWxhYmVsXCI+e3QoJ0Rpc2Nsb3NlIEUtbWFpbCcpfTwvbGFiZWw+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtbWQtNlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjdXN0b20tY29udHJvbCBjdXN0b20tcmFkaW8gY3VzdG9tLWNvbnRyb2wtaW5saW5lXCI+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgICAgaWQ9XCJyYWRpb0VtYWlsU2hvd1wiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiY3VzdG9tLWNvbnRyb2wtaW5wdXRcIlxuICAgICAgICAgICAgICAgIG5hbWU9XCJ1c2VyRm9ybVtpc0VtYWlsUHVibGlzaGVkXVwiXG4gICAgICAgICAgICAgICAgY2hlY2tlZD17cGVyc29uYWxDb250YWluZXIuc3RhdGUuaXNFbWFpbFB1Ymxpc2hlZH1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KCkgPT4geyBwZXJzb25hbENvbnRhaW5lci5jaGFuZ2VJc0VtYWlsUHVibGlzaGVkKHRydWUpIH19XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9XCJjdXN0b20tY29udHJvbC1sYWJlbFwiIGh0bWxGb3I9XCJyYWRpb0VtYWlsU2hvd1wiPnt0KCdTaG93Jyl9PC9sYWJlbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjdXN0b20tY29udHJvbCBjdXN0b20tcmFkaW8gY3VzdG9tLWNvbnRyb2wtaW5saW5lXCI+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgICAgaWQ9XCJyYWRpb0VtYWlsSGlkZVwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiY3VzdG9tLWNvbnRyb2wtaW5wdXRcIlxuICAgICAgICAgICAgICAgIG5hbWU9XCJ1c2VyRm9ybVtpc0VtYWlsUHVibGlzaGVkXVwiXG4gICAgICAgICAgICAgICAgY2hlY2tlZD17IXBlcnNvbmFsQ29udGFpbmVyLnN0YXRlLmlzRW1haWxQdWJsaXNoZWR9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eygpID0+IHsgcGVyc29uYWxDb250YWluZXIuY2hhbmdlSXNFbWFpbFB1Ymxpc2hlZChmYWxzZSkgfX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sLWxhYmVsXCIgaHRtbEZvcj1cInJhZGlvRW1haWxIaWRlXCI+e3QoJ0hpZGUnKX08L2xhYmVsPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZm9ybS1ncm91cCByb3dcIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPVwidGV4dC1sZWZ0IHRleHQtbWQtcmlnaHQgY29sLW1kLTMgY29sLWZvcm0tbGFiZWxcIj57dCgnTGFuZ3VhZ2UnKX08L2xhYmVsPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLW1kLTZcIj5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbG9jYWxlTWV0YWRhdGFzLm1hcChtZXRhID0+IChcbiAgICAgICAgICAgICAgICA8ZGl2IGtleT17bWV0YS5pZH0gY2xhc3NOYW1lPVwiY3VzdG9tLWNvbnRyb2wgY3VzdG9tLXJhZGlvIGN1c3RvbS1jb250cm9sLWlubGluZVwiPlxuICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgICAgICAgIGlkPXtgcmFkaW9MYW5nJHttZXRhLmlkfWB9XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sLWlucHV0XCJcbiAgICAgICAgICAgICAgICAgICAgbmFtZT1cInVzZXJGb3JtW2xhbmddXCJcbiAgICAgICAgICAgICAgICAgICAgY2hlY2tlZD17cGVyc29uYWxDb250YWluZXIuc3RhdGUubGFuZyA9PT0gbWV0YS5pZH1cbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eygpID0+IHsgcGVyc29uYWxDb250YWluZXIuY2hhbmdlTGFuZyhtZXRhLmlkKSB9fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9XCJjdXN0b20tY29udHJvbC1sYWJlbFwiIGh0bWxGb3I9e2ByYWRpb0xhbmcke21ldGEuaWR9YH0+e21ldGEuZGlzcGxheU5hbWV9PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgKSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgbXktM1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwib2Zmc2V0LTQgY29sLTVcIj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzTmFtZT1cImJ0biBidG4tcHJpbWFyeVwiIG9uQ2xpY2s9e3RoaXMub25DbGlja1N1Ym1pdH0gZGlzYWJsZWQ9e3BlcnNvbmFsQ29udGFpbmVyLnN0YXRlLnJldHJpZXZlRXJyb3IgIT0gbnVsbH0+XG4gICAgICAgICAgICAgIHt0KCdVcGRhdGUnKX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgPC9GcmFnbWVudD5cbiAgICApO1xuICB9XG5cbn1cblxuY29uc3QgQmFzaWNJbmZvU2V0dGluZ3NXcmFwcGVyID0gd2l0aFVuc3RhdGVkQ29udGFpbmVycyhCYXNpY0luZm9TZXR0aW5ncywgW1BlcnNvbmFsQ29udGFpbmVyXSk7XG5cbkJhc2ljSW5mb1NldHRpbmdzLnByb3BUeXBlcyA9IHtcbiAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCwgLy8gaTE4bmV4dFxuICBwZXJzb25hbENvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoUGVyc29uYWxDb250YWluZXIpLmlzUmVxdWlyZWQsXG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoVHJhbnNsYXRpb24oKShCYXNpY0luZm9TZXR0aW5nc1dyYXBwZXIpO1xuIl0sIm1hcHBpbmdzIjoiQUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFHQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBTEE7QUFVQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBTEE7QUFRQTtBQUFBO0FBR0E7QUFBQTtBQU9BO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBTkE7QUFRQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQU5BO0FBUUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQU5BO0FBUUE7QUFBQTtBQUFBO0FBT0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUE7QUFDQTtBQWxJQTtBQUNBO0FBb0lBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFGQTtBQUtBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/Me/BasicInfoSettings.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Me/DisassociateModal.jsx":
- /*!***********************************************************!*\
- !*** ./src/client/js/components/Me/DisassociateModal.jsx ***!
- \***********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! reactstrap/es/Modal */ \"./node_modules/reactstrap/es/Modal.js\");\n/* harmony import */ var reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! reactstrap/es/ModalHeader */ \"./node_modules/reactstrap/es/ModalHeader.js\");\n/* harmony import */ var reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! reactstrap/es/ModalBody */ \"./node_modules/reactstrap/es/ModalBody.js\");\n/* harmony import */ var reactstrap_es_ModalFooter__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! reactstrap/es/ModalFooter */ \"./node_modules/reactstrap/es/ModalFooter.js\");\n/* harmony import */ var _util_apiNotification__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../util/apiNotification */ \"./src/client/js/util/apiNotification.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_PersonalContainer__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../services/PersonalContainer */ \"./src/client/js/services/PersonalContainer.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nclass DisassociateModal extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n this.onClickDisassociateBtn = this.onClickDisassociateBtn.bind(this);\n }\n\n async onClickDisassociateBtn() {\n const {\n t,\n personalContainer\n } = this.props;\n const {\n providerType,\n accountId\n } = this.props.accountForDisassociate;\n\n try {\n await personalContainer.disassociateLdapAccount({\n providerType,\n accountId\n });\n this.props.onClose();\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_7__[\"toastSuccess\"])(t('security_setting.updated_general_security_setting'));\n } catch (err) {\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_7__[\"toastError\"])(err);\n }\n\n try {\n await personalContainer.retrieveExternalAccounts();\n } catch (err) {\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_7__[\"toastError\"])(err);\n }\n }\n\n render() {\n const {\n t,\n accountForDisassociate\n } = this.props;\n const {\n providerType,\n accountId\n } = accountForDisassociate;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n isOpen: this.props.isOpen,\n toggle: this.props.onClose\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"bg-info text-light\",\n toggle: this.props.onClose\n }, t('personal_settings.disassociate_external_account')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n dangerouslySetInnerHTML: {\n __html: t('personal_settings.disassociate_external_account_desc', {\n providerType,\n accountId\n })\n }\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalFooter__WEBPACK_IMPORTED_MODULE_6__[\"default\"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-sm btn-outline-secondary\",\n onClick: this.props.onClose\n }, t('Cancel')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-sm btn-danger\",\n onClick: this.onClickDisassociateBtn\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"ti-unlink\"\n }), t('Disassociate'))));\n }\n\n}\n\nconst DisassociateModalWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_8__[\"withUnstatedContainers\"])(DisassociateModal, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_9__[\"default\"], _services_PersonalContainer__WEBPACK_IMPORTED_MODULE_10__[\"default\"]]);\nDisassociateModal.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_9__[\"default\"]).isRequired,\n personalContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PersonalContainer__WEBPACK_IMPORTED_MODULE_10__[\"default\"]).isRequired,\n isOpen: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,\n onClose: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n accountForDisassociate: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object.isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(DisassociateModalWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvTWUvRGlzYXNzb2NpYXRlTW9kYWwuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL01lL0Rpc2Fzc29jaWF0ZU1vZGFsLmpzeD8yMmNiIl0sInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyB3aXRoVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcblxuaW1wb3J0IHtcbiAgTW9kYWwsXG4gIE1vZGFsSGVhZGVyLFxuICBNb2RhbEJvZHksXG4gIE1vZGFsRm9vdGVyLFxufSBmcm9tICdyZWFjdHN0cmFwJztcbmltcG9ydCB7IHRvYXN0U3VjY2VzcywgdG9hc3RFcnJvciB9IGZyb20gJy4uLy4uL3V0aWwvYXBpTm90aWZpY2F0aW9uJztcbmltcG9ydCB7IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMgfSBmcm9tICcuLi9VbnN0YXRlZFV0aWxzJztcblxuaW1wb3J0IEFwcENvbnRhaW5lciBmcm9tICcuLi8uLi9zZXJ2aWNlcy9BcHBDb250YWluZXInO1xuaW1wb3J0IFBlcnNvbmFsQ29udGFpbmVyIGZyb20gJy4uLy4uL3NlcnZpY2VzL1BlcnNvbmFsQ29udGFpbmVyJztcblxuY2xhc3MgRGlzYXNzb2NpYXRlTW9kYWwgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuXG4gICAgdGhpcy5vbkNsaWNrRGlzYXNzb2NpYXRlQnRuID0gdGhpcy5vbkNsaWNrRGlzYXNzb2NpYXRlQnRuLmJpbmQodGhpcyk7XG4gIH1cblxuICBhc3luYyBvbkNsaWNrRGlzYXNzb2NpYXRlQnRuKCkge1xuICAgIGNvbnN0IHsgdCwgcGVyc29uYWxDb250YWluZXIgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBwcm92aWRlclR5cGUsIGFjY291bnRJZCB9ID0gdGhpcy5wcm9wcy5hY2NvdW50Rm9yRGlzYXNzb2NpYXRlO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHBlcnNvbmFsQ29udGFpbmVyLmRpc2Fzc29jaWF0ZUxkYXBBY2NvdW50KHsgcHJvdmlkZXJUeXBlLCBhY2NvdW50SWQgfSk7XG4gICAgICB0aGlzLnByb3BzLm9uQ2xvc2UoKTtcbiAgICAgIHRvYXN0U3VjY2Vzcyh0KCdzZWN1cml0eV9zZXR0aW5nLnVwZGF0ZWRfZ2VuZXJhbF9zZWN1cml0eV9zZXR0aW5nJykpO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICB0b2FzdEVycm9yKGVycik7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBwZXJzb25hbENvbnRhaW5lci5yZXRyaWV2ZUV4dGVybmFsQWNjb3VudHMoKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgdG9hc3RFcnJvcihlcnIpO1xuICAgIH1cbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IHQsIGFjY291bnRGb3JEaXNhc3NvY2lhdGUgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBwcm92aWRlclR5cGUsIGFjY291bnRJZCB9ID0gYWNjb3VudEZvckRpc2Fzc29jaWF0ZTtcblxuICAgIHJldHVybiAoXG4gICAgICA8TW9kYWwgaXNPcGVuPXt0aGlzLnByb3BzLmlzT3Blbn0gdG9nZ2xlPXt0aGlzLnByb3BzLm9uQ2xvc2V9PlxuICAgICAgICA8TW9kYWxIZWFkZXIgY2xhc3NOYW1lPVwiYmctaW5mbyB0ZXh0LWxpZ2h0XCIgdG9nZ2xlPXt0aGlzLnByb3BzLm9uQ2xvc2V9PlxuICAgICAgICAgIHt0KCdwZXJzb25hbF9zZXR0aW5ncy5kaXNhc3NvY2lhdGVfZXh0ZXJuYWxfYWNjb3VudCcpfVxuICAgICAgICA8L01vZGFsSGVhZGVyPlxuICAgICAgICA8TW9kYWxCb2R5PlxuICAgICAgICAgIHsvKiBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tZGFuZ2VyICovfVxuICAgICAgICAgIDxwIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7IF9faHRtbDogdCgncGVyc29uYWxfc2V0dGluZ3MuZGlzYXNzb2NpYXRlX2V4dGVybmFsX2FjY291bnRfZGVzYycsIHsgcHJvdmlkZXJUeXBlLCBhY2NvdW50SWQgfSkgfX0gLz5cbiAgICAgICAgPC9Nb2RhbEJvZHk+XG4gICAgICAgIDxNb2RhbEZvb3Rlcj5cbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzc05hbWU9XCJidG4gYnRuLXNtIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiIG9uQ2xpY2s9e3RoaXMucHJvcHMub25DbG9zZX0+XG4gICAgICAgICAgICB7IHQoJ0NhbmNlbCcpIH1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzc05hbWU9XCJidG4gYnRuLXNtIGJ0bi1kYW5nZXJcIiBvbkNsaWNrPXt0aGlzLm9uQ2xpY2tEaXNhc3NvY2lhdGVCdG59PlxuICAgICAgICAgICAgPGkgY2xhc3NOYW1lPVwidGktdW5saW5rXCI+PC9pPlxuICAgICAgICAgICAgeyB0KCdEaXNhc3NvY2lhdGUnKSB9XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvTW9kYWxGb290ZXI+XG4gICAgICA8L01vZGFsPlxuICAgICk7XG4gIH1cblxufVxuXG5jb25zdCBEaXNhc3NvY2lhdGVNb2RhbFdyYXBwZXIgPSB3aXRoVW5zdGF0ZWRDb250YWluZXJzKERpc2Fzc29jaWF0ZU1vZGFsLCBbQXBwQ29udGFpbmVyLCBQZXJzb25hbENvbnRhaW5lcl0pO1xuXG5EaXNhc3NvY2lhdGVNb2RhbC5wcm9wVHlwZXMgPSB7XG4gIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsIC8vIGkxOG5leHRcbiAgYXBwQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihBcHBDb250YWluZXIpLmlzUmVxdWlyZWQsXG4gIHBlcnNvbmFsQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihQZXJzb25hbENvbnRhaW5lcikuaXNSZXF1aXJlZCxcblxuICBpc09wZW46IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gIG9uQ2xvc2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIGFjY291bnRGb3JEaXNhc3NvY2lhdGU6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcblxufTtcblxuXG5leHBvcnQgZGVmYXVsdCB3aXRoVHJhbnNsYXRpb24oKShEaXNhc3NvY2lhdGVNb2RhbFdyYXBwZXIpO1xuIl0sIm1hcHBpbmdzIjoiQUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBOzs7OztBQVFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQU1BO0FBQ0E7QUFyREE7QUFDQTtBQXVEQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFQQTtBQVlBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/Me/DisassociateModal.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Me/ExternalAccountLinkedMe.jsx":
- /*!*****************************************************************!*\
- !*** ./src/client/js/components/Me/ExternalAccountLinkedMe.jsx ***!
- \*****************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _util_apiNotification__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/apiNotification */ \"./src/client/js/util/apiNotification.js\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_PersonalContainer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../services/PersonalContainer */ \"./src/client/js/services/PersonalContainer.js\");\n/* harmony import */ var _ExternalAccountRow__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./ExternalAccountRow */ \"./src/client/js/components/Me/ExternalAccountRow.jsx\");\n/* harmony import */ var _AssociateModal__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./AssociateModal */ \"./src/client/js/components/Me/AssociateModal.jsx\");\n/* harmony import */ var _DisassociateModal__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./DisassociateModal */ \"./src/client/js/components/Me/DisassociateModal.jsx\");\n\n\n\n\n\n\n\n\n\n\n\nclass ExternalAccountLinkedMe extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n this.state = {\n isAssociateModalOpen: false,\n isDisassociateModalOpen: false,\n accountForDisassociate: null\n };\n this.openAssociateModal = this.openAssociateModal.bind(this);\n this.closeAssociateModal = this.closeAssociateModal.bind(this);\n this.openDisassociateModal = this.openDisassociateModal.bind(this);\n this.closeDisassociateModal = this.closeDisassociateModal.bind(this);\n }\n\n async componentDidMount() {\n try {\n await this.props.personalContainer.retrieveExternalAccounts();\n } catch (err) {\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_4__[\"toastError\"])(err);\n }\n }\n\n openAssociateModal() {\n this.setState({\n isAssociateModalOpen: true\n });\n }\n\n closeAssociateModal() {\n this.setState({\n isAssociateModalOpen: false\n });\n }\n /**\n * open disassociate modal, and props account\n * @param {object} account\n */\n\n\n openDisassociateModal(account) {\n this.setState({\n isDisassociateModalOpen: true,\n accountForDisassociate: account\n });\n }\n\n closeDisassociateModal() {\n this.setState({\n isDisassociateModalOpen: false\n });\n }\n\n render() {\n const {\n t,\n personalContainer\n } = this.props;\n const {\n externalAccounts\n } = personalContainer.state;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0__[\"Fragment\"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h2\", {\n className: \"border-bottom my-4\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-outline-secondary btn-sm pull-right\",\n onClick: this.openAssociateModal\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-plus\",\n \"aria-hidden\": \"true\"\n }), \"Add\"), t('admin:user_management.external_accounts')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"table\", {\n className: \"table table-bordered table-user-list\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"thead\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"tr\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"th\", {\n width: \"120px\"\n }, t('admin:user_management.authentication_provider')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"th\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"code\", null, \"accountId\")), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"th\", {\n width: \"200px\"\n }, t('Created')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"th\", {\n width: \"150px\"\n }, t('Admin')))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"tbody\", null, externalAccounts !== 0 && externalAccounts.map(account => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ExternalAccountRow__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n account: account,\n key: account._id,\n openDisassociateModal: this.openDisassociateModal\n })))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AssociateModal__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n isOpen: this.state.isAssociateModalOpen,\n onClose: this.closeAssociateModal\n }), this.state.accountForDisassociate != null && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_DisassociateModal__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n isOpen: this.state.isDisassociateModalOpen,\n onClose: this.closeDisassociateModal,\n accountForDisassociate: this.state.accountForDisassociate\n }));\n }\n\n}\n\nconst ExternalAccountLinkedMeWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__[\"withUnstatedContainers\"])(ExternalAccountLinkedMe, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _services_PersonalContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"]]);\nExternalAccountLinkedMe.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]).isRequired,\n personalContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PersonalContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"]).isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(ExternalAccountLinkedMeWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvTWUvRXh0ZXJuYWxBY2NvdW50TGlua2VkTWUuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL01lL0V4dGVybmFsQWNjb3VudExpbmtlZE1lLmpzeD83ZmEyIl0sInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IHdpdGhUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuXG5pbXBvcnQgeyB3aXRoVW5zdGF0ZWRDb250YWluZXJzIH0gZnJvbSAnLi4vVW5zdGF0ZWRVdGlscyc7XG5pbXBvcnQgeyB0b2FzdEVycm9yIH0gZnJvbSAnLi4vLi4vdXRpbC9hcGlOb3RpZmljYXRpb24nO1xuXG5pbXBvcnQgQXBwQ29udGFpbmVyIGZyb20gJy4uLy4uL3NlcnZpY2VzL0FwcENvbnRhaW5lcic7XG5pbXBvcnQgUGVyc29uYWxDb250YWluZXIgZnJvbSAnLi4vLi4vc2VydmljZXMvUGVyc29uYWxDb250YWluZXInO1xuaW1wb3J0IEV4dGVybmFsQWNjb3VudFJvdyBmcm9tICcuL0V4dGVybmFsQWNjb3VudFJvdyc7XG5pbXBvcnQgQXNzb2NpYXRlTW9kYWwgZnJvbSAnLi9Bc3NvY2lhdGVNb2RhbCc7XG5pbXBvcnQgRGlzYXNzb2NpYXRlTW9kYWwgZnJvbSAnLi9EaXNhc3NvY2lhdGVNb2RhbCc7XG5cbmNsYXNzIEV4dGVybmFsQWNjb3VudExpbmtlZE1lIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcblxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBpc0Fzc29jaWF0ZU1vZGFsT3BlbjogZmFsc2UsXG4gICAgICBpc0Rpc2Fzc29jaWF0ZU1vZGFsT3BlbjogZmFsc2UsXG4gICAgICBhY2NvdW50Rm9yRGlzYXNzb2NpYXRlOiBudWxsLFxuICAgIH07XG5cbiAgICB0aGlzLm9wZW5Bc3NvY2lhdGVNb2RhbCA9IHRoaXMub3BlbkFzc29jaWF0ZU1vZGFsLmJpbmQodGhpcyk7XG4gICAgdGhpcy5jbG9zZUFzc29jaWF0ZU1vZGFsID0gdGhpcy5jbG9zZUFzc29jaWF0ZU1vZGFsLmJpbmQodGhpcyk7XG4gICAgdGhpcy5vcGVuRGlzYXNzb2NpYXRlTW9kYWwgPSB0aGlzLm9wZW5EaXNhc3NvY2lhdGVNb2RhbC5iaW5kKHRoaXMpO1xuICAgIHRoaXMuY2xvc2VEaXNhc3NvY2lhdGVNb2RhbCA9IHRoaXMuY2xvc2VEaXNhc3NvY2lhdGVNb2RhbC5iaW5kKHRoaXMpO1xuICB9XG5cbiAgYXN5bmMgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMucHJvcHMucGVyc29uYWxDb250YWluZXIucmV0cmlldmVFeHRlcm5hbEFjY291bnRzKCk7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgIHRvYXN0RXJyb3IoZXJyKTtcbiAgICB9XG4gIH1cblxuICBvcGVuQXNzb2NpYXRlTW9kYWwoKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IGlzQXNzb2NpYXRlTW9kYWxPcGVuOiB0cnVlIH0pO1xuICB9XG5cbiAgY2xvc2VBc3NvY2lhdGVNb2RhbCgpIHtcbiAgICB0aGlzLnNldFN0YXRlKHsgaXNBc3NvY2lhdGVNb2RhbE9wZW46IGZhbHNlIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIG9wZW4gZGlzYXNzb2NpYXRlIG1vZGFsLCBhbmQgcHJvcHMgYWNjb3VudFxuICAgKiBAcGFyYW0ge29iamVjdH0gYWNjb3VudFxuICAgKi9cbiAgb3BlbkRpc2Fzc29jaWF0ZU1vZGFsKGFjY291bnQpIHtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIGlzRGlzYXNzb2NpYXRlTW9kYWxPcGVuOiB0cnVlLFxuICAgICAgYWNjb3VudEZvckRpc2Fzc29jaWF0ZTogYWNjb3VudCxcbiAgICB9KTtcbiAgfVxuXG4gIGNsb3NlRGlzYXNzb2NpYXRlTW9kYWwoKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IGlzRGlzYXNzb2NpYXRlTW9kYWxPcGVuOiBmYWxzZSB9KTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IHQsIHBlcnNvbmFsQ29udGFpbmVyIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgZXh0ZXJuYWxBY2NvdW50cyB9ID0gcGVyc29uYWxDb250YWluZXIuc3RhdGU7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPEZyYWdtZW50PlxuICAgICAgICA8aDIgY2xhc3NOYW1lPVwiYm9yZGVyLWJvdHRvbSBteS00XCI+XG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3NOYW1lPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeSBidG4tc20gcHVsbC1yaWdodFwiIG9uQ2xpY2s9e3RoaXMub3BlbkFzc29jaWF0ZU1vZGFsfT5cbiAgICAgICAgICAgIDxpIGNsYXNzTmFtZT1cImljb24tcGx1c1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIC8+XG4gICAgICAgICAgQWRkXG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgeyB0KCdhZG1pbjp1c2VyX21hbmFnZW1lbnQuZXh0ZXJuYWxfYWNjb3VudHMnKSB9XG4gICAgICAgIDwvaDI+XG5cbiAgICAgICAgPHRhYmxlIGNsYXNzTmFtZT1cInRhYmxlIHRhYmxlLWJvcmRlcmVkIHRhYmxlLXVzZXItbGlzdFwiPlxuICAgICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgPHRoIHdpZHRoPVwiMTIwcHhcIj57IHQoJ2FkbWluOnVzZXJfbWFuYWdlbWVudC5hdXRoZW50aWNhdGlvbl9wcm92aWRlcicpIH08L3RoPlxuICAgICAgICAgICAgICA8dGg+XG4gICAgICAgICAgICAgICAgPGNvZGU+YWNjb3VudElkPC9jb2RlPlxuICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgICA8dGggd2lkdGg9XCIyMDBweFwiPnsgdCgnQ3JlYXRlZCcpIH08L3RoPlxuICAgICAgICAgICAgICA8dGggd2lkdGg9XCIxNTBweFwiPnsgdCgnQWRtaW4nKSB9PC90aD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPC90aGVhZD5cbiAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICB7ZXh0ZXJuYWxBY2NvdW50cyAhPT0gMCAmJiBleHRlcm5hbEFjY291bnRzLm1hcChhY2NvdW50ID0+IChcbiAgICAgICAgICAgICAgPEV4dGVybmFsQWNjb3VudFJvd1xuICAgICAgICAgICAgICAgIGFjY291bnQ9e2FjY291bnR9XG4gICAgICAgICAgICAgICAga2V5PXthY2NvdW50Ll9pZH1cbiAgICAgICAgICAgICAgICBvcGVuRGlzYXNzb2NpYXRlTW9kYWw9e3RoaXMub3BlbkRpc2Fzc29jaWF0ZU1vZGFsfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgIDwvdGFibGU+XG5cbiAgICAgICAgPEFzc29jaWF0ZU1vZGFsXG4gICAgICAgICAgaXNPcGVuPXt0aGlzLnN0YXRlLmlzQXNzb2NpYXRlTW9kYWxPcGVufVxuICAgICAgICAgIG9uQ2xvc2U9e3RoaXMuY2xvc2VBc3NvY2lhdGVNb2RhbH1cbiAgICAgICAgLz5cblxuICAgICAgICB7dGhpcy5zdGF0ZS5hY2NvdW50Rm9yRGlzYXNzb2NpYXRlICE9IG51bGxcbiAgICAgICAgJiYgKFxuICAgICAgICA8RGlzYXNzb2NpYXRlTW9kYWxcbiAgICAgICAgICBpc09wZW49e3RoaXMuc3RhdGUuaXNEaXNhc3NvY2lhdGVNb2RhbE9wZW59XG4gICAgICAgICAgb25DbG9zZT17dGhpcy5jbG9zZURpc2Fzc29jaWF0ZU1vZGFsfVxuICAgICAgICAgIGFjY291bnRGb3JEaXNhc3NvY2lhdGU9e3RoaXMuc3RhdGUuYWNjb3VudEZvckRpc2Fzc29jaWF0ZX1cbiAgICAgICAgLz5cbiAgICAgICAgKX1cblxuICAgICAgPC9GcmFnbWVudD5cbiAgICApO1xuICB9XG5cbn1cblxuY29uc3QgRXh0ZXJuYWxBY2NvdW50TGlua2VkTWVXcmFwcGVyID0gd2l0aFVuc3RhdGVkQ29udGFpbmVycyhFeHRlcm5hbEFjY291bnRMaW5rZWRNZSwgW0FwcENvbnRhaW5lciwgUGVyc29uYWxDb250YWluZXJdKTtcblxuRXh0ZXJuYWxBY2NvdW50TGlua2VkTWUucHJvcFR5cGVzID0ge1xuICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLCAvLyBpMThuZXh0XG4gIGFwcENvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoQXBwQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuICBwZXJzb25hbENvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoUGVyc29uYWxDb250YWluZXIpLmlzUmVxdWlyZWQsXG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoVHJhbnNsYXRpb24oKShFeHRlcm5hbEFjY291bnRMaW5rZWRNZVdyYXBwZXIpO1xuIl0sIm1hcHBpbmdzIjoiQUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFFQTs7Ozs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFGQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBR0E7QUFBQTtBQUlBO0FBQUE7QUFDQTtBQUFBO0FBTUE7QUFDQTtBQUNBO0FBSEE7QUFVQTtBQUNBO0FBRkE7QUFRQTtBQUNBO0FBQ0E7QUFIQTtBQVNBO0FBQ0E7QUF0R0E7QUFDQTtBQXdHQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFIQTtBQU1BIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/Me/ExternalAccountLinkedMe.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Me/ExternalAccountRow.jsx":
- /*!************************************************************!*\
- !*** ./src/client/js/components/Me/ExternalAccountRow.jsx ***!
- \************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var date_fns_format__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! date-fns/format */ \"./node_modules/date-fns/esm/format/index.js\");\n\n\n\n\n\nconst ExternalAccountRow = props => {\n const {\n t,\n account\n } = props;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"tr\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"td\", null, account.providerType), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"td\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"strong\", null, account.accountId)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"td\", null, Object(date_fns_format__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(new Date(account.createdAt), 'yyyy-MM-dd')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"td\", {\n className: \"text-center\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-sm btn-danger\",\n onClick: () => props.openDisassociateModal(account)\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"ti-unlink\"\n }), t('Disassociate'))));\n};\n\nExternalAccountRow.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n account: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object.isRequired,\n openDisassociateModal: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(ExternalAccountRow));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvTWUvRXh0ZXJuYWxBY2NvdW50Um93LmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9NZS9FeHRlcm5hbEFjY291bnRSb3cuanN4PzYxYWIiXSwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuaW1wb3J0IHsgd2l0aFRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5pbXBvcnQgZGF0ZUZuc0Zvcm1hdCBmcm9tICdkYXRlLWZucy9mb3JtYXQnO1xuXG5jb25zdCBFeHRlcm5hbEFjY291bnRSb3cgPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyB0LCBhY2NvdW50IH0gPSBwcm9wcztcblxuICByZXR1cm4gKFxuICAgIDx0cj5cbiAgICAgIDx0ZD57IGFjY291bnQucHJvdmlkZXJUeXBlIH08L3RkPlxuICAgICAgPHRkPlxuICAgICAgICA8c3Ryb25nPnsgYWNjb3VudC5hY2NvdW50SWQgfTwvc3Ryb25nPlxuICAgICAgPC90ZD5cbiAgICAgIDx0ZD57ZGF0ZUZuc0Zvcm1hdChuZXcgRGF0ZShhY2NvdW50LmNyZWF0ZWRBdCksICd5eXl5LU1NLWRkJyl9PC90ZD5cbiAgICAgIDx0ZCBjbGFzc05hbWU9XCJ0ZXh0LWNlbnRlclwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3NOYW1lPVwiYnRuIGJ0bi1zbSBidG4tZGFuZ2VyXCJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBwcm9wcy5vcGVuRGlzYXNzb2NpYXRlTW9kYWwoYWNjb3VudCl9XG4gICAgICAgID5cbiAgICAgICAgICA8aSBjbGFzc05hbWU9XCJ0aS11bmxpbmtcIj48L2k+XG4gICAgICAgICAgeyB0KCdEaXNhc3NvY2lhdGUnKSB9XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICApO1xufTtcblxuXG5FeHRlcm5hbEFjY291bnRSb3cucHJvcFR5cGVzID0ge1xuICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLCAvLyBpMThuZXh0XG5cbiAgYWNjb3VudDogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICBvcGVuRGlzYXNzb2NpYXRlTW9kYWw6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoVHJhbnNsYXRpb24oKShFeHRlcm5hbEFjY291bnRSb3cpO1xuIl0sIm1hcHBpbmdzIjoiQUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFPQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBSEE7QUFLQTtBQUFBO0FBTUE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFKQTtBQU9BIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/Me/ExternalAccountRow.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Me/ImageCropModal.jsx":
- /*!********************************************************!*\
- !*** ./src/client/js/components/Me/ImageCropModal.jsx ***!
- \********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @alias/logger */ \"./src/lib/service/logger/index.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_alias_logger__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var async_canvas_to_blob__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! async-canvas-to-blob */ \"./node_modules/async-canvas-to-blob/index.js\");\n/* harmony import */ var async_canvas_to_blob__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(async_canvas_to_blob__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! reactstrap/es/Modal */ \"./node_modules/reactstrap/es/Modal.js\");\n/* harmony import */ var reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! reactstrap/es/ModalHeader */ \"./node_modules/reactstrap/es/ModalHeader.js\");\n/* harmony import */ var reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! reactstrap/es/ModalBody */ \"./node_modules/reactstrap/es/ModalBody.js\");\n/* harmony import */ var reactstrap_es_ModalFooter__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! reactstrap/es/ModalFooter */ \"./node_modules/reactstrap/es/ModalFooter.js\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var react_image_crop__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react-image-crop */ \"./node_modules/react-image-crop/dist/ReactCrop.min.js\");\n/* harmony import */ var react_image_crop__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(react_image_crop__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var react_image_crop_dist_ReactCrop_css__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! react-image-crop/dist/ReactCrop.css */ \"./node_modules/react-image-crop/dist/ReactCrop.css\");\n/* harmony import */ var react_image_crop_dist_ReactCrop_css__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(react_image_crop_dist_ReactCrop_css__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var _util_apiNotification__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../util/apiNotification */ \"./src/client/js/util/apiNotification.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst logger = _alias_logger__WEBPACK_IMPORTED_MODULE_2___default()('growi:ImageCropModal');\n\nclass ImageCropModal extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n // demo: https://codesandbox.io/s/72py4jlll6\n constructor(props) {\n super();\n this.state = {\n crop: null,\n imageRef: null\n };\n this.onImageLoaded = this.onImageLoaded.bind(this);\n this.onCropChange = this.onCropChange.bind(this);\n this.getCroppedImg = this.getCroppedImg.bind(this);\n this.crop = this.crop.bind(this);\n this.reset = this.reset.bind(this);\n this.imageRef = null;\n }\n\n onImageLoaded(image) {\n this.setState({\n imageRef: image\n }, () => this.reset());\n return false; // Return false when setting crop state in here.\n }\n\n onCropChange(crop) {\n this.setState({\n crop\n });\n }\n\n async getCroppedImg(image, crop, fileName) {\n const canvas = document.createElement('canvas');\n const scaleX = image.naturalWidth / image.width;\n const scaleY = image.naturalHeight / image.height;\n canvas.width = crop.width;\n canvas.height = crop.height;\n const ctx = canvas.getContext('2d');\n ctx.drawImage(image, crop.x * scaleX, crop.y * scaleY, crop.width * scaleX, crop.height * scaleY, 0, 0, crop.width, crop.height);\n\n try {\n const blob = await async_canvas_to_blob__WEBPACK_IMPORTED_MODULE_3___default()(canvas);\n return blob;\n } catch (err) {\n logger.error(err);\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_13__[\"toastError\"])(new Error('Failed to draw image'));\n }\n }\n\n async crop() {\n // crop immages\n if (this.state.imageRef && this.state.crop.width && this.state.crop.height) {\n const croppedImage = await this.getCroppedImg(this.state.imageRef, this.state.crop, '/images/icons/user');\n this.props.onCropCompleted(croppedImage);\n }\n }\n\n reset() {\n const size = Math.min(this.state.imageRef.width, this.state.imageRef.height);\n this.setState({\n crop: {\n aspect: 1,\n unit: 'px',\n x: this.state.imageRef.width / 2 - size / 2,\n y: this.state.imageRef.height / 2 - size / 2,\n width: size,\n height: size\n }\n });\n }\n\n render() {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n isOpen: this.props.show,\n toggle: this.props.onModalClose\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n tag: \"h4\",\n toggle: this.props.onModalClose,\n className: \"bg-info text-light\"\n }, \"Image Crop\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"my-4\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_image_crop__WEBPACK_IMPORTED_MODULE_9___default.a, {\n circularCrop: true,\n src: this.props.src,\n crop: this.state.crop,\n onImageLoaded: this.onImageLoaded,\n onChange: this.onCropChange\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalFooter__WEBPACK_IMPORTED_MODULE_7__[\"default\"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-outline-danger rounded-pill mr-auto\",\n onClick: this.reset\n }, \"Reset\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-outline-secondary rounded-pill mr-2\",\n onClick: this.props.onModalClose\n }, \"Cancel\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-outline-primary rounded-pill\",\n onClick: this.crop\n }, \"Crop\")));\n }\n\n}\n/**\n * Wrapper component for using unstated\n */\n\n\nconst ProfileImageFormWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_11__[\"withUnstatedContainers\"])(ImageCropModal, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_10__[\"default\"]]);\nImageCropModal.propTypes = {\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_10__[\"default\"]).isRequired,\n show: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,\n src: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n onModalClose: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n onCropCompleted: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_8__[\"withTranslation\"])()(ProfileImageFormWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvTWUvSW1hZ2VDcm9wTW9kYWwuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL01lL0ltYWdlQ3JvcE1vZGFsLmpzeD8zZTlkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IGxvZ2dlckZhY3RvcnkgZnJvbSAnQGFsaWFzL2xvZ2dlcic7XG5pbXBvcnQgY2FudmFzVG9CbG9iIGZyb20gJ2FzeW5jLWNhbnZhcy10by1ibG9iJztcblxuaW1wb3J0IHtcbiAgTW9kYWwsXG4gIE1vZGFsSGVhZGVyLFxuICBNb2RhbEJvZHksXG4gIE1vZGFsRm9vdGVyLFxufSBmcm9tICdyZWFjdHN0cmFwJztcbmltcG9ydCB7IHdpdGhUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuaW1wb3J0IFJlYWN0Q3JvcCBmcm9tICdyZWFjdC1pbWFnZS1jcm9wJztcbmltcG9ydCBBcHBDb250YWluZXIgZnJvbSAnLi4vLi4vc2VydmljZXMvQXBwQ29udGFpbmVyJztcbmltcG9ydCB7IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMgfSBmcm9tICcuLi9VbnN0YXRlZFV0aWxzJztcbmltcG9ydCAncmVhY3QtaW1hZ2UtY3JvcC9kaXN0L1JlYWN0Q3JvcC5jc3MnO1xuaW1wb3J0IHsgdG9hc3RFcnJvciB9IGZyb20gJy4uLy4uL3V0aWwvYXBpTm90aWZpY2F0aW9uJztcblxuY29uc3QgbG9nZ2VyID0gbG9nZ2VyRmFjdG9yeSgnZ3Jvd2k6SW1hZ2VDcm9wTW9kYWwnKTtcblxuY2xhc3MgSW1hZ2VDcm9wTW9kYWwgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuXG4gIC8vIGRlbW86IGh0dHBzOi8vY29kZXNhbmRib3guaW8vcy83MnB5NGpsbGw2XG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgY3JvcDogbnVsbCxcbiAgICAgIGltYWdlUmVmOiBudWxsLFxuICAgIH07XG4gICAgdGhpcy5vbkltYWdlTG9hZGVkID0gdGhpcy5vbkltYWdlTG9hZGVkLmJpbmQodGhpcyk7XG4gICAgdGhpcy5vbkNyb3BDaGFuZ2UgPSB0aGlzLm9uQ3JvcENoYW5nZS5iaW5kKHRoaXMpO1xuICAgIHRoaXMuZ2V0Q3JvcHBlZEltZyA9IHRoaXMuZ2V0Q3JvcHBlZEltZy5iaW5kKHRoaXMpO1xuICAgIHRoaXMuY3JvcCA9IHRoaXMuY3JvcC5iaW5kKHRoaXMpO1xuICAgIHRoaXMucmVzZXQgPSB0aGlzLnJlc2V0LmJpbmQodGhpcyk7XG4gICAgdGhpcy5pbWFnZVJlZiA9IG51bGw7XG4gIH1cblxuICBvbkltYWdlTG9hZGVkKGltYWdlKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IGltYWdlUmVmOiBpbWFnZSB9LCAoKSA9PiB0aGlzLnJlc2V0KCkpO1xuICAgIHJldHVybiBmYWxzZTsgLy8gUmV0dXJuIGZhbHNlIHdoZW4gc2V0dGluZyBjcm9wIHN0YXRlIGluIGhlcmUuXG4gIH1cblxuICBvbkNyb3BDaGFuZ2UoY3JvcCkge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBjcm9wIH0pO1xuICB9XG5cbiAgYXN5bmMgZ2V0Q3JvcHBlZEltZyhpbWFnZSwgY3JvcCwgZmlsZU5hbWUpIHtcbiAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgICBjb25zdCBzY2FsZVggPSBpbWFnZS5uYXR1cmFsV2lkdGggLyBpbWFnZS53aWR0aDtcbiAgICBjb25zdCBzY2FsZVkgPSBpbWFnZS5uYXR1cmFsSGVpZ2h0IC8gaW1hZ2UuaGVpZ2h0O1xuICAgIGNhbnZhcy53aWR0aCA9IGNyb3Aud2lkdGg7XG4gICAgY2FudmFzLmhlaWdodCA9IGNyb3AuaGVpZ2h0O1xuICAgIGNvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuICAgIGN0eC5kcmF3SW1hZ2UoaW1hZ2UsIGNyb3AueCAqIHNjYWxlWCwgY3JvcC55ICogc2NhbGVZLCBjcm9wLndpZHRoICogc2NhbGVYLCBjcm9wLmhlaWdodCAqIHNjYWxlWSwgMCwgMCwgY3JvcC53aWR0aCwgY3JvcC5oZWlnaHQpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBibG9iID0gYXdhaXQgY2FudmFzVG9CbG9iKGNhbnZhcyk7XG4gICAgICByZXR1cm4gYmxvYjtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgbG9nZ2VyLmVycm9yKGVycik7XG4gICAgICB0b2FzdEVycm9yKG5ldyBFcnJvcignRmFpbGVkIHRvIGRyYXcgaW1hZ2UnKSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgY3JvcCgpIHtcbiAgICAvLyBjcm9wIGltbWFnZXNcbiAgICBpZiAodGhpcy5zdGF0ZS5pbWFnZVJlZiAmJiB0aGlzLnN0YXRlLmNyb3Aud2lkdGggJiYgdGhpcy5zdGF0ZS5jcm9wLmhlaWdodCkge1xuICAgICAgY29uc3QgY3JvcHBlZEltYWdlID0gYXdhaXQgdGhpcy5nZXRDcm9wcGVkSW1nKHRoaXMuc3RhdGUuaW1hZ2VSZWYsIHRoaXMuc3RhdGUuY3JvcCwgJy9pbWFnZXMvaWNvbnMvdXNlcicpO1xuICAgICAgdGhpcy5wcm9wcy5vbkNyb3BDb21wbGV0ZWQoY3JvcHBlZEltYWdlKTtcbiAgICB9XG4gIH1cblxuICByZXNldCgpIHtcbiAgICBjb25zdCBzaXplID0gTWF0aC5taW4odGhpcy5zdGF0ZS5pbWFnZVJlZi53aWR0aCwgdGhpcy5zdGF0ZS5pbWFnZVJlZi5oZWlnaHQpO1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgY3JvcDoge1xuICAgICAgICBhc3BlY3Q6IDEsXG4gICAgICAgIHVuaXQ6ICdweCcsXG4gICAgICAgIHg6IHRoaXMuc3RhdGUuaW1hZ2VSZWYud2lkdGggLyAyIC0gc2l6ZSAvIDIsXG4gICAgICAgIHk6IHRoaXMuc3RhdGUuaW1hZ2VSZWYuaGVpZ2h0IC8gMiAtIHNpemUgLyAyLFxuICAgICAgICB3aWR0aDogc2l6ZSxcbiAgICAgICAgaGVpZ2h0OiBzaXplLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPE1vZGFsIGlzT3Blbj17dGhpcy5wcm9wcy5zaG93fSB0b2dnbGU9e3RoaXMucHJvcHMub25Nb2RhbENsb3NlfT5cbiAgICAgICAgPE1vZGFsSGVhZGVyIHRhZz1cImg0XCIgdG9nZ2xlPXt0aGlzLnByb3BzLm9uTW9kYWxDbG9zZX0gY2xhc3NOYW1lPVwiYmctaW5mbyB0ZXh0LWxpZ2h0XCI+XG4gICAgICAgICAgSW1hZ2UgQ3JvcFxuICAgICAgICA8L01vZGFsSGVhZGVyPlxuICAgICAgICA8TW9kYWxCb2R5IGNsYXNzTmFtZT1cIm15LTRcIj5cbiAgICAgICAgICA8UmVhY3RDcm9wIGNpcmN1bGFyQ3JvcCBzcmM9e3RoaXMucHJvcHMuc3JjfSBjcm9wPXt0aGlzLnN0YXRlLmNyb3B9IG9uSW1hZ2VMb2FkZWQ9e3RoaXMub25JbWFnZUxvYWRlZH0gb25DaGFuZ2U9e3RoaXMub25Dcm9wQ2hhbmdlfSAvPlxuICAgICAgICA8L01vZGFsQm9keT5cbiAgICAgICAgPE1vZGFsRm9vdGVyPlxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzTmFtZT1cImJ0biBidG4tb3V0bGluZS1kYW5nZXIgcm91bmRlZC1waWxsIG1yLWF1dG9cIiBvbkNsaWNrPXt0aGlzLnJlc2V0fT5cbiAgICAgICAgICAgICAgUmVzZXRcbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzc05hbWU9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5IHJvdW5kZWQtcGlsbCBtci0yXCIgb25DbGljaz17dGhpcy5wcm9wcy5vbk1vZGFsQ2xvc2V9PlxuICAgICAgICAgICAgICAgICAgQ2FuY2VsXG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3NOYW1lPVwiYnRuIGJ0bi1vdXRsaW5lLXByaW1hcnkgcm91bmRlZC1waWxsXCIgb25DbGljaz17dGhpcy5jcm9wfT5cbiAgICAgICAgICAgICAgICAgIENyb3BcbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9Nb2RhbEZvb3Rlcj5cbiAgICAgIDwvTW9kYWw+XG4gICAgKTtcbiAgfVxuXG59XG5cbi8qKlxuICogV3JhcHBlciBjb21wb25lbnQgZm9yIHVzaW5nIHVuc3RhdGVkXG4gKi9cbmNvbnN0IFByb2ZpbGVJbWFnZUZvcm1XcmFwcGVyID0gd2l0aFVuc3RhdGVkQ29udGFpbmVycyhJbWFnZUNyb3BNb2RhbCwgW0FwcENvbnRhaW5lcl0pO1xuSW1hZ2VDcm9wTW9kYWwucHJvcFR5cGVzID0ge1xuICBhcHBDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKEFwcENvbnRhaW5lcikuaXNSZXF1aXJlZCxcbiAgc2hvdzogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgc3JjOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBvbk1vZGFsQ2xvc2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIG9uQ3JvcENvbXBsZXRlZDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbn07XG5leHBvcnQgZGVmYXVsdCB3aXRoVHJhbnNsYXRpb24oKShQcm9maWxlSW1hZ2VGb3JtV3JhcHBlcik7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBOzs7OztBQVFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTkE7QUFEQTtBQVVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBTUE7QUFDQTtBQXpGQTtBQTRGQTs7Ozs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBT0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/Me/ImageCropModal.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Me/PasswordSettings.jsx":
- /*!**********************************************************!*\
- !*** ./src/client/js/components/Me/PasswordSettings.jsx ***!
- \**********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _util_apiNotification__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/apiNotification */ \"./src/client/js/util/apiNotification.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_PersonalContainer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../services/PersonalContainer */ \"./src/client/js/services/PersonalContainer.js\");\n\n\n\n\n\n\n\n\nclass PasswordSettings extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(appContainer) {\n super();\n this.appContainer = appContainer;\n this.state = {\n retrieveError: null,\n oldPassword: '',\n newPassword: '',\n newPasswordConfirm: '',\n isPasswordSet: false\n };\n this.onClickSubmit = this.onClickSubmit.bind(this);\n this.onChangeOldPassword = this.onChangeOldPassword.bind(this);\n }\n\n async componentDidMount() {\n const {\n appContainer\n } = this.props;\n\n try {\n const res = await appContainer.apiv3Get('/personal-setting/is-password-set');\n const {\n isPasswordSet\n } = res.data;\n this.setState({\n isPasswordSet\n });\n } catch (err) {\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_3__[\"toastError\"])(err);\n this.setState({\n retrieveError: err\n });\n }\n }\n\n async onClickSubmit() {\n const {\n t,\n appContainer,\n personalContainer\n } = this.props;\n const {\n oldPassword,\n newPassword,\n newPasswordConfirm\n } = this.state;\n\n try {\n await appContainer.apiv3Put('/personal-setting/password', {\n oldPassword,\n newPassword,\n newPasswordConfirm\n });\n this.setState({\n oldPassword: '',\n newPassword: '',\n newPasswordConfirm: ''\n });\n await personalContainer.retrievePersonalData();\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_3__[\"toastSuccess\"])(t('toaster.update_successed', {\n target: t('Password')\n }));\n } catch (err) {\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_3__[\"toastError\"])(err);\n }\n }\n\n onChangeOldPassword(oldPassword) {\n this.setState({\n oldPassword\n });\n }\n\n onChangeNewPassword(newPassword) {\n this.setState({\n newPassword\n });\n }\n\n onChangeNewPasswordConfirm(newPasswordConfirm) {\n this.setState({\n newPasswordConfirm\n });\n }\n\n render() {\n const {\n t\n } = this.props;\n const {\n newPassword,\n newPasswordConfirm\n } = this.state;\n const isIncorrectConfirmPassword = newPassword !== newPasswordConfirm;\n\n if (this.state.retrieveError != null) {\n throw new Error(this.state.retrieveError.message);\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, !this.state.isPasswordSet && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"alert alert-warning\"\n }, t('personal_settings.password_is_not_set')), this.state.isPasswordSet ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h2\", {\n className: \"border-bottom my-4\"\n }, t('personal_settings.update_password')) : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h2\", {\n className: \"border-bottom my-4\"\n }, t('personal_settings.set_new_password')), this.state.isPasswordSet && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"row mb-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n htmlFor: \"oldPassword\",\n className: \"col-md-3 text-md-right\"\n }, t('personal_settings.current_password')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-md-5\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n className: \"form-control\",\n type: \"password\",\n name: \"oldPassword\",\n value: this.state.oldPassword,\n onChange: e => {\n this.onChangeOldPassword(e.target.value);\n }\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"row mb-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n htmlFor: \"newPassword\",\n className: \"col-md-3 text-md-right\"\n }, t('personal_settings.new_password')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-md-5\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n className: \"form-control\",\n type: \"password\",\n name: \"newPassword\",\n value: this.state.newPassword,\n onChange: e => {\n this.onChangeNewPassword(e.target.value);\n }\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: `row mb-3 ${isIncorrectConfirmPassword && 'has-error'}`\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n htmlFor: \"newPasswordConfirm\",\n className: \"col-md-3 text-md-right\"\n }, t('personal_settings.new_password_confirm')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-md-5\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n className: \"form-control\",\n type: \"password\",\n name: \"newPasswordConfirm\",\n value: this.state.newPasswordConfirm,\n onChange: e => {\n this.onChangeNewPasswordConfirm(e.target.value);\n }\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"form-text text-muted\"\n }, t('page_register.form_help.password')))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"row my-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"offset-5\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-primary\",\n onClick: this.onClickSubmit,\n disabled: isIncorrectConfirmPassword\n }, t('Update')))));\n }\n\n}\n\nconst PasswordSettingsWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_4__[\"withUnstatedContainers\"])(PasswordSettings, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _services_PersonalContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"]]);\nPasswordSettings.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]).isRequired,\n personalContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PersonalContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"]).isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(PasswordSettingsWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvTWUvUGFzc3dvcmRTZXR0aW5ncy5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvTWUvUGFzc3dvcmRTZXR0aW5ncy5qc3g/N2Q4NyJdLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgd2l0aFRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5cbmltcG9ydCB7IHRvYXN0U3VjY2VzcywgdG9hc3RFcnJvciB9IGZyb20gJy4uLy4uL3V0aWwvYXBpTm90aWZpY2F0aW9uJztcbmltcG9ydCB7IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMgfSBmcm9tICcuLi9VbnN0YXRlZFV0aWxzJztcblxuaW1wb3J0IEFwcENvbnRhaW5lciBmcm9tICcuLi8uLi9zZXJ2aWNlcy9BcHBDb250YWluZXInO1xuaW1wb3J0IFBlcnNvbmFsQ29udGFpbmVyIGZyb20gJy4uLy4uL3NlcnZpY2VzL1BlcnNvbmFsQ29udGFpbmVyJztcblxuXG5jbGFzcyBQYXNzd29yZFNldHRpbmdzIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3RvcihhcHBDb250YWluZXIpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5hcHBDb250YWluZXIgPSBhcHBDb250YWluZXI7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgcmV0cmlldmVFcnJvcjogbnVsbCxcbiAgICAgIG9sZFBhc3N3b3JkOiAnJyxcbiAgICAgIG5ld1Bhc3N3b3JkOiAnJyxcbiAgICAgIG5ld1Bhc3N3b3JkQ29uZmlybTogJycsXG4gICAgICBpc1Bhc3N3b3JkU2V0OiBmYWxzZSxcbiAgICB9O1xuXG4gICAgdGhpcy5vbkNsaWNrU3VibWl0ID0gdGhpcy5vbkNsaWNrU3VibWl0LmJpbmQodGhpcyk7XG4gICAgdGhpcy5vbkNoYW5nZU9sZFBhc3N3b3JkID0gdGhpcy5vbkNoYW5nZU9sZFBhc3N3b3JkLmJpbmQodGhpcyk7XG5cbiAgfVxuXG4gIGFzeW5jIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IHsgYXBwQ29udGFpbmVyIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGFwcENvbnRhaW5lci5hcGl2M0dldCgnL3BlcnNvbmFsLXNldHRpbmcvaXMtcGFzc3dvcmQtc2V0Jyk7XG4gICAgICBjb25zdCB7IGlzUGFzc3dvcmRTZXQgfSA9IHJlcy5kYXRhO1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGlzUGFzc3dvcmRTZXQgfSk7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgIHRvYXN0RXJyb3IoZXJyKTtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyByZXRyaWV2ZUVycm9yOiBlcnIgfSk7XG4gICAgfVxuXG4gIH1cblxuICBhc3luYyBvbkNsaWNrU3VibWl0KCkge1xuICAgIGNvbnN0IHsgdCwgYXBwQ29udGFpbmVyLCBwZXJzb25hbENvbnRhaW5lciB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IG9sZFBhc3N3b3JkLCBuZXdQYXNzd29yZCwgbmV3UGFzc3dvcmRDb25maXJtIH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGFwcENvbnRhaW5lci5hcGl2M1B1dCgnL3BlcnNvbmFsLXNldHRpbmcvcGFzc3dvcmQnLCB7XG4gICAgICAgIG9sZFBhc3N3b3JkLCBuZXdQYXNzd29yZCwgbmV3UGFzc3dvcmRDb25maXJtLFxuICAgICAgfSk7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgb2xkUGFzc3dvcmQ6ICcnLCBuZXdQYXNzd29yZDogJycsIG5ld1Bhc3N3b3JkQ29uZmlybTogJycgfSk7XG4gICAgICBhd2FpdCBwZXJzb25hbENvbnRhaW5lci5yZXRyaWV2ZVBlcnNvbmFsRGF0YSgpO1xuICAgICAgdG9hc3RTdWNjZXNzKHQoJ3RvYXN0ZXIudXBkYXRlX3N1Y2Nlc3NlZCcsIHsgdGFyZ2V0OiB0KCdQYXNzd29yZCcpIH0pKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgdG9hc3RFcnJvcihlcnIpO1xuICAgIH1cblxuICB9XG5cbiAgb25DaGFuZ2VPbGRQYXNzd29yZChvbGRQYXNzd29yZCkge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBvbGRQYXNzd29yZCB9KTtcbiAgfVxuXG4gIG9uQ2hhbmdlTmV3UGFzc3dvcmQobmV3UGFzc3dvcmQpIHtcbiAgICB0aGlzLnNldFN0YXRlKHsgbmV3UGFzc3dvcmQgfSk7XG4gIH1cblxuICBvbkNoYW5nZU5ld1Bhc3N3b3JkQ29uZmlybShuZXdQYXNzd29yZENvbmZpcm0pIHtcbiAgICB0aGlzLnNldFN0YXRlKHsgbmV3UGFzc3dvcmRDb25maXJtIH0pO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IG5ld1Bhc3N3b3JkLCBuZXdQYXNzd29yZENvbmZpcm0gfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgaXNJbmNvcnJlY3RDb25maXJtUGFzc3dvcmQgPSAobmV3UGFzc3dvcmQgIT09IG5ld1Bhc3N3b3JkQ29uZmlybSk7XG5cbiAgICBpZiAodGhpcy5zdGF0ZS5yZXRyaWV2ZUVycm9yICE9IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcih0aGlzLnN0YXRlLnJldHJpZXZlRXJyb3IubWVzc2FnZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgeyAoIXRoaXMuc3RhdGUuaXNQYXNzd29yZFNldCkgJiYgKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWxlcnQgYWxlcnQtd2FybmluZ1wiPnsgdCgncGVyc29uYWxfc2V0dGluZ3MucGFzc3dvcmRfaXNfbm90X3NldCcpIH08L2Rpdj5cbiAgICAgICAgKSB9XG5cbiAgICAgICAgeyh0aGlzLnN0YXRlLmlzUGFzc3dvcmRTZXQpXG4gICAgICAgICAgPyA8aDIgY2xhc3NOYW1lPVwiYm9yZGVyLWJvdHRvbSBteS00XCI+e3QoJ3BlcnNvbmFsX3NldHRpbmdzLnVwZGF0ZV9wYXNzd29yZCcpfTwvaDI+XG4gICAgICAgIDogPGgyIGNsYXNzTmFtZT1cImJvcmRlci1ib3R0b20gbXktNFwiPnt0KCdwZXJzb25hbF9zZXR0aW5ncy5zZXRfbmV3X3Bhc3N3b3JkJyl9PC9oMj59XG4gICAgICAgIHsodGhpcy5zdGF0ZS5pc1Bhc3N3b3JkU2V0KVxuICAgICAgICAmJiAoXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgbWItM1wiPlxuICAgICAgICAgICAgPGxhYmVsIGh0bWxGb3I9XCJvbGRQYXNzd29yZFwiIGNsYXNzTmFtZT1cImNvbC1tZC0zIHRleHQtbWQtcmlnaHRcIj57IHQoJ3BlcnNvbmFsX3NldHRpbmdzLmN1cnJlbnRfcGFzc3dvcmQnKSB9PC9sYWJlbD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLW1kLTVcIj5cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwicGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgIG5hbWU9XCJvbGRQYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgdmFsdWU9e3RoaXMuc3RhdGUub2xkUGFzc3dvcmR9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiB7IHRoaXMub25DaGFuZ2VPbGRQYXNzd29yZChlLnRhcmdldC52YWx1ZSkgfX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBtYi0zXCI+XG4gICAgICAgICAgPGxhYmVsIGh0bWxGb3I9XCJuZXdQYXNzd29yZFwiIGNsYXNzTmFtZT1cImNvbC1tZC0zIHRleHQtbWQtcmlnaHRcIj57dCgncGVyc29uYWxfc2V0dGluZ3MubmV3X3Bhc3N3b3JkJykgfTwvbGFiZWw+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtbWQtNVwiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICAgIG5hbWU9XCJuZXdQYXNzd29yZFwiXG4gICAgICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLm5ld1Bhc3N3b3JkfVxuICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHsgdGhpcy5vbkNoYW5nZU5ld1Bhc3N3b3JkKGUudGFyZ2V0LnZhbHVlKSB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgcm93IG1iLTMgJHtpc0luY29ycmVjdENvbmZpcm1QYXNzd29yZCAmJiAnaGFzLWVycm9yJ31gfT5cbiAgICAgICAgICA8bGFiZWwgaHRtbEZvcj1cIm5ld1Bhc3N3b3JkQ29uZmlybVwiIGNsYXNzTmFtZT1cImNvbC1tZC0zIHRleHQtbWQtcmlnaHRcIj57dCgncGVyc29uYWxfc2V0dGluZ3MubmV3X3Bhc3N3b3JkX2NvbmZpcm0nKSB9PC9sYWJlbD5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC1tZC01XCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgdHlwZT1cInBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgbmFtZT1cIm5ld1Bhc3N3b3JkQ29uZmlybVwiXG4gICAgICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLm5ld1Bhc3N3b3JkQ29uZmlybX1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiB7IHRoaXMub25DaGFuZ2VOZXdQYXNzd29yZENvbmZpcm0oZS50YXJnZXQudmFsdWUpIH19XG4gICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJmb3JtLXRleHQgdGV4dC1tdXRlZFwiPnt0KCdwYWdlX3JlZ2lzdGVyLmZvcm1faGVscC5wYXNzd29yZCcpIH08L3A+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IG15LTNcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm9mZnNldC01XCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJidG4gYnRuLXByaW1hcnlcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLm9uQ2xpY2tTdWJtaXR9XG4gICAgICAgICAgICAgIGRpc2FibGVkPXtpc0luY29ycmVjdENvbmZpcm1QYXNzd29yZH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3QoJ1VwZGF0ZScpfVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICApO1xuICB9XG5cbn1cblxuXG5jb25zdCBQYXNzd29yZFNldHRpbmdzV3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoUGFzc3dvcmRTZXR0aW5ncywgW0FwcENvbnRhaW5lciwgUGVyc29uYWxDb250YWluZXJdKTtcblxuUGFzc3dvcmRTZXR0aW5ncy5wcm9wVHlwZXMgPSB7XG4gIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsIC8vIGkxOG5leHRcbiAgYXBwQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihBcHBDb250YWluZXIpLmlzUmVxdWlyZWQsXG4gIHBlcnNvbmFsQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihQZXJzb25hbENvbnRhaW5lcikuaXNSZXF1aXJlZCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhUcmFuc2xhdGlvbigpKFBhc3N3b3JkU2V0dGluZ3NXcmFwcGVyKTtcbiJdLCJtYXBwaW5ncyI6IkFBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQVFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQURBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQUE7QUFJQTtBQUFBO0FBQ0E7QUFBQTtBQUdBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFMQTtBQVVBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFMQTtBQVNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFMQTtBQVFBO0FBQUE7QUFJQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFZQTtBQUNBO0FBNUlBO0FBQ0E7QUErSUE7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBSEE7QUFNQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/Me/PasswordSettings.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Me/PersonalSettings.jsx":
- /*!**********************************************************!*\
- !*** ./src/client/js/components/Me/PersonalSettings.jsx ***!
- \**********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _CustomNavigation_CustomNavAndContents__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../CustomNavigation/CustomNavAndContents */ \"./src/client/js/components/CustomNavigation/CustomNavAndContents.jsx\");\n/* harmony import */ var _UserSettings__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./UserSettings */ \"./src/client/js/components/Me/UserSettings.jsx\");\n/* harmony import */ var _PasswordSettings__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./PasswordSettings */ \"./src/client/js/components/Me/PasswordSettings.jsx\");\n/* harmony import */ var _ExternalAccountLinkedMe__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ExternalAccountLinkedMe */ \"./src/client/js/components/Me/ExternalAccountLinkedMe.jsx\");\n/* harmony import */ var _ApiSettings__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./ApiSettings */ \"./src/client/js/components/Me/ApiSettings.jsx\");\n\n\n\n\n\n\n\n\n\nconst PersonalSettings = props => {\n const {\n t\n } = props;\n const navTabMapping = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useMemo\"])(() => {\n return {\n user_infomation: {\n Icon: () => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-user\"\n }),\n Content: _UserSettings__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n i18n: t('User Information'),\n index: 0\n },\n external_accounts: {\n Icon: () => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-share-alt\"\n }),\n Content: _ExternalAccountLinkedMe__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n i18n: t('admin:user_management.external_accounts'),\n index: 1\n },\n password_settings: {\n Icon: () => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-lock\"\n }),\n Content: _PasswordSettings__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n i18n: t('Password Settings'),\n index: 2\n },\n api_settings: {\n Icon: () => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-paper-plane\"\n }),\n Content: _ApiSettings__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n i18n: t('API Settings'),\n index: 3\n }\n };\n }, [t]);\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_CustomNavigation_CustomNavAndContents__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n navTabMapping: navTabMapping,\n navigationMode: \"both\",\n tabContentClasses: ['px-0']\n });\n};\n\nPersonalSettings.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired // i18next\n\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(PersonalSettings));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvTWUvUGVyc29uYWxTZXR0aW5ncy5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvTWUvUGVyc29uYWxTZXR0aW5ncy5qc3g/NGEwNSJdLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCBSZWFjdCwgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IHdpdGhUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuXG5pbXBvcnQgQ3VzdG9tTmF2QW5kQ29udGVudHMgZnJvbSAnLi4vQ3VzdG9tTmF2aWdhdGlvbi9DdXN0b21OYXZBbmRDb250ZW50cyc7XG5pbXBvcnQgVXNlclNldHRpbmdzIGZyb20gJy4vVXNlclNldHRpbmdzJztcbmltcG9ydCBQYXNzd29yZFNldHRpbmdzIGZyb20gJy4vUGFzc3dvcmRTZXR0aW5ncyc7XG5pbXBvcnQgRXh0ZXJuYWxBY2NvdW50TGlua2VkTWUgZnJvbSAnLi9FeHRlcm5hbEFjY291bnRMaW5rZWRNZSc7XG5pbXBvcnQgQXBpU2V0dGluZ3MgZnJvbSAnLi9BcGlTZXR0aW5ncyc7XG5cbmNvbnN0IFBlcnNvbmFsU2V0dGluZ3MgPSAocHJvcHMpID0+IHtcblxuICBjb25zdCB7IHQgfSA9IHByb3BzO1xuXG4gIGNvbnN0IG5hdlRhYk1hcHBpbmcgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgdXNlcl9pbmZvbWF0aW9uOiB7XG4gICAgICAgIEljb246ICgpID0+IDxpIGNsYXNzTmFtZT1cImljb24tZncgaWNvbi11c2VyXCI+PC9pPixcbiAgICAgICAgQ29udGVudDogVXNlclNldHRpbmdzLFxuICAgICAgICBpMThuOiB0KCdVc2VyIEluZm9ybWF0aW9uJyksXG4gICAgICAgIGluZGV4OiAwLFxuICAgICAgfSxcbiAgICAgIGV4dGVybmFsX2FjY291bnRzOiB7XG4gICAgICAgIEljb246ICgpID0+IDxpIGNsYXNzTmFtZT1cImljb24tZncgaWNvbi1zaGFyZS1hbHRcIj48L2k+LFxuICAgICAgICBDb250ZW50OiBFeHRlcm5hbEFjY291bnRMaW5rZWRNZSxcbiAgICAgICAgaTE4bjogdCgnYWRtaW46dXNlcl9tYW5hZ2VtZW50LmV4dGVybmFsX2FjY291bnRzJyksXG4gICAgICAgIGluZGV4OiAxLFxuICAgICAgfSxcbiAgICAgIHBhc3N3b3JkX3NldHRpbmdzOiB7XG4gICAgICAgIEljb246ICgpID0+IDxpIGNsYXNzTmFtZT1cImljb24tZncgaWNvbi1sb2NrXCI+PC9pPixcbiAgICAgICAgQ29udGVudDogUGFzc3dvcmRTZXR0aW5ncyxcbiAgICAgICAgaTE4bjogdCgnUGFzc3dvcmQgU2V0dGluZ3MnKSxcbiAgICAgICAgaW5kZXg6IDIsXG4gICAgICB9LFxuICAgICAgYXBpX3NldHRpbmdzOiB7XG4gICAgICAgIEljb246ICgpID0+IDxpIGNsYXNzTmFtZT1cImljb24tZncgaWNvbi1wYXBlci1wbGFuZVwiPjwvaT4sXG4gICAgICAgIENvbnRlbnQ6IEFwaVNldHRpbmdzLFxuICAgICAgICBpMThuOiB0KCdBUEkgU2V0dGluZ3MnKSxcbiAgICAgICAgaW5kZXg6IDMsXG4gICAgICB9LFxuICAgIH07XG4gIH0sIFt0XSk7XG5cblxuICByZXR1cm4gKFxuICAgIDxDdXN0b21OYXZBbmRDb250ZW50cyBuYXZUYWJNYXBwaW5nPXtuYXZUYWJNYXBwaW5nfSBuYXZpZ2F0aW9uTW9kZT1cImJvdGhcIiB0YWJDb250ZW50Q2xhc3Nlcz17WydweC0wJ119IC8+XG4gICk7XG5cbn07XG5cblBlcnNvbmFsU2V0dGluZ3MucHJvcFR5cGVzID0ge1xuICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLCAvLyBpMThuZXh0XG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoVHJhbnNsYXRpb24oKShQZXJzb25hbFNldHRpbmdzKTtcbiJdLCJtYXBwaW5ncyI6IkFBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFNQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FBTUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU1BO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFuQkE7QUEwQkE7QUFHQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBSUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/Me/PersonalSettings.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Me/ProfileImageSettings.jsx":
- /*!**************************************************************!*\
- !*** ./src/client/js/components/Me/ProfileImageSettings.jsx ***!
- \**************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var md5__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! md5 */ \"./node_modules/md5/md5.js\");\n/* harmony import */ var md5__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(md5__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _util_apiNotification__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/apiNotification */ \"./src/client/js/util/apiNotification.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_PersonalContainer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../services/PersonalContainer */ \"./src/client/js/services/PersonalContainer.js\");\n/* harmony import */ var _ImageCropModal__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./ImageCropModal */ \"./src/client/js/components/Me/ImageCropModal.jsx\");\n\n\n\n\n\n\n\n\n\n\nclass ProfileImageSettings extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(appContainer) {\n super();\n this.state = {\n show: false,\n src: null\n };\n this.imageRef = null;\n this.onSelectFile = this.onSelectFile.bind(this);\n this.onClickDeleteBtn = this.onClickDeleteBtn.bind(this);\n this.hideModal = this.hideModal.bind(this);\n this.cancelModal = this.cancelModal.bind(this);\n this.onCropCompleted = this.onCropCompleted.bind(this);\n this.onClickSubmit = this.onClickSubmit.bind(this);\n }\n\n async onClickSubmit() {\n const {\n t,\n personalContainer\n } = this.props;\n\n try {\n await personalContainer.updateProfileImage();\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_4__[\"toastSuccess\"])(t('toaster.update_successed', {\n target: t('Set Profile Image')\n }));\n } catch (err) {\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_4__[\"toastError\"])(err);\n }\n }\n\n generateGravatarSrc() {\n const email = this.props.personalContainer.state.email || '';\n const hash = md5__WEBPACK_IMPORTED_MODULE_3___default()(email.trim().toLowerCase());\n return `https://gravatar.com/avatar/${hash}`;\n }\n\n onSelectFile(e) {\n if (e.target.files && e.target.files.length > 0) {\n const reader = new FileReader();\n reader.addEventListener('load', () => this.setState({\n src: reader.result\n }));\n reader.readAsDataURL(e.target.files[0]);\n this.setState({\n show: true\n });\n }\n }\n /**\n * @param {object} croppedImage cropped profile image for upload\n */\n\n\n async onCropCompleted(croppedImage) {\n const {\n t,\n personalContainer\n } = this.props;\n\n try {\n await personalContainer.uploadAttachment(croppedImage);\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_4__[\"toastSuccess\"])(t('toaster.update_successed', {\n target: t('Current Image')\n }));\n } catch (err) {\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_4__[\"toastError\"])(err);\n }\n\n this.hideModal();\n }\n\n async onClickDeleteBtn() {\n const {\n t,\n personalContainer\n } = this.props;\n\n try {\n await personalContainer.deleteProfileImage();\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_4__[\"toastSuccess\"])(t('toaster.update_successed', {\n target: t('Current Image')\n }));\n } catch (err) {\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_4__[\"toastError\"])(err);\n }\n }\n\n showModal() {\n this.setState({\n show: true\n });\n }\n\n hideModal() {\n this.setState({\n show: false\n });\n }\n\n cancelModal() {\n this.hideModal();\n }\n\n render() {\n const {\n t,\n personalContainer\n } = this.props;\n const {\n uploadedPictureSrc,\n isGravatarEnabled,\n isUploadedPicture\n } = personalContainer.state;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"row\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-md-6 col-12 mb-3 mb-md-0\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h4\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"custom-control custom-radio radio-primary\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"radio\",\n id: \"radioGravatar\",\n className: \"custom-control-input\",\n form: \"formImageType\",\n name: \"imagetypeForm[isGravatarEnabled]\",\n checked: isGravatarEnabled,\n onChange: () => {\n personalContainer.changeIsGravatarEnabled(true);\n }\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"custom-control-label\",\n htmlFor: \"radioGravatar\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"img\", {\n src: \"https://gravatar.com/avatar/00000000000000000000000000000000?s=24\"\n }), \" Gravatar\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: \"https://gravatar.com/\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"small\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-arrow-right-circle\",\n \"aria-hidden\": \"true\"\n }))))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"img\", {\n src: this.generateGravatarSrc(),\n width: \"64\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-md-6 col-12\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h4\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"custom-control custom-radio radio-primary\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"radio\",\n id: \"radioUploadPicture\",\n className: \"custom-control-input\",\n form: \"formImageType\",\n name: \"imagetypeForm[isGravatarEnabled]\",\n checked: !isGravatarEnabled,\n onChange: () => {\n personalContainer.changeIsGravatarEnabled(false);\n }\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"custom-control-label\",\n htmlFor: \"radioUploadPicture\"\n }, t('Upload Image')))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"row mb-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"col-sm-4 col-12 col-form-label text-left\"\n }, t('Current Image')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-sm-8 col-12\"\n }, uploadedPictureSrc && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"img\", {\n src: uploadedPictureSrc,\n className: \"picture picture-lg rounded-circle\",\n id: \"settingUserPicture\"\n })), isUploadedPicture && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-danger\",\n onClick: this.onClickDeleteBtn\n }, t('Delete Image')))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"row\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"col-sm-4 col-12 col-form-label text-left\"\n }, t('Upload new image')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-sm-8 col-12\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"file\",\n onChange: this.onSelectFile,\n name: \"profileImage\",\n accept: \"image/*\"\n }))))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ImageCropModal__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n show: this.state.show,\n src: this.state.src,\n onModalClose: this.cancelModal,\n onCropCompleted: this.onCropCompleted\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"row my-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"offset-4 col-5\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-primary\",\n onClick: this.onClickSubmit,\n disabled: personalContainer.state.retrieveError != null\n }, t('Update')))));\n }\n\n}\n\nconst ProfileImageSettingsWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_5__[\"withUnstatedContainers\"])(ProfileImageSettings, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"], _services_PersonalContainer__WEBPACK_IMPORTED_MODULE_7__[\"default\"]]);\nProfileImageSettings.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"]).isRequired,\n personalContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PersonalContainer__WEBPACK_IMPORTED_MODULE_7__[\"default\"]).isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(ProfileImageSettingsWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvTWUvUHJvZmlsZUltYWdlU2V0dGluZ3MuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL01lL1Byb2ZpbGVJbWFnZVNldHRpbmdzLmpzeD8wNTc3Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgd2l0aFRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5pbXBvcnQgbWQ1IGZyb20gJ21kNSc7XG5cbmltcG9ydCB7IHRvYXN0U3VjY2VzcywgdG9hc3RFcnJvciB9IGZyb20gJy4uLy4uL3V0aWwvYXBpTm90aWZpY2F0aW9uJztcbmltcG9ydCB7IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMgfSBmcm9tICcuLi9VbnN0YXRlZFV0aWxzJztcblxuaW1wb3J0IEFwcENvbnRhaW5lciBmcm9tICcuLi8uLi9zZXJ2aWNlcy9BcHBDb250YWluZXInO1xuaW1wb3J0IFBlcnNvbmFsQ29udGFpbmVyIGZyb20gJy4uLy4uL3NlcnZpY2VzL1BlcnNvbmFsQ29udGFpbmVyJztcblxuaW1wb3J0IEltYWdlQ3JvcE1vZGFsIGZyb20gJy4vSW1hZ2VDcm9wTW9kYWwnO1xuXG5jbGFzcyBQcm9maWxlSW1hZ2VTZXR0aW5ncyBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IoYXBwQ29udGFpbmVyKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBzaG93OiBmYWxzZSxcbiAgICAgIHNyYzogbnVsbCxcbiAgICB9O1xuXG4gICAgdGhpcy5pbWFnZVJlZiA9IG51bGw7XG4gICAgdGhpcy5vblNlbGVjdEZpbGUgPSB0aGlzLm9uU2VsZWN0RmlsZS5iaW5kKHRoaXMpO1xuICAgIHRoaXMub25DbGlja0RlbGV0ZUJ0biA9IHRoaXMub25DbGlja0RlbGV0ZUJ0bi5iaW5kKHRoaXMpO1xuICAgIHRoaXMuaGlkZU1vZGFsID0gdGhpcy5oaWRlTW9kYWwuYmluZCh0aGlzKTtcbiAgICB0aGlzLmNhbmNlbE1vZGFsID0gdGhpcy5jYW5jZWxNb2RhbC5iaW5kKHRoaXMpO1xuICAgIHRoaXMub25Dcm9wQ29tcGxldGVkID0gdGhpcy5vbkNyb3BDb21wbGV0ZWQuYmluZCh0aGlzKTtcbiAgICB0aGlzLm9uQ2xpY2tTdWJtaXQgPSB0aGlzLm9uQ2xpY2tTdWJtaXQuYmluZCh0aGlzKTtcbiAgfVxuXG4gIGFzeW5jIG9uQ2xpY2tTdWJtaXQoKSB7XG4gICAgY29uc3QgeyB0LCBwZXJzb25hbENvbnRhaW5lciB9ID0gdGhpcy5wcm9wcztcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBwZXJzb25hbENvbnRhaW5lci51cGRhdGVQcm9maWxlSW1hZ2UoKTtcbiAgICAgIHRvYXN0U3VjY2Vzcyh0KCd0b2FzdGVyLnVwZGF0ZV9zdWNjZXNzZWQnLCB7IHRhcmdldDogdCgnU2V0IFByb2ZpbGUgSW1hZ2UnKSB9KSk7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgIHRvYXN0RXJyb3IoZXJyKTtcbiAgICB9XG4gIH1cblxuICBnZW5lcmF0ZUdyYXZhdGFyU3JjKCkge1xuICAgIGNvbnN0IGVtYWlsID0gdGhpcy5wcm9wcy5wZXJzb25hbENvbnRhaW5lci5zdGF0ZS5lbWFpbCB8fCAnJztcbiAgICBjb25zdCBoYXNoID0gbWQ1KGVtYWlsLnRyaW0oKS50b0xvd2VyQ2FzZSgpKTtcbiAgICByZXR1cm4gYGh0dHBzOi8vZ3JhdmF0YXIuY29tL2F2YXRhci8ke2hhc2h9YDtcbiAgfVxuXG4gIG9uU2VsZWN0RmlsZShlKSB7XG4gICAgaWYgKGUudGFyZ2V0LmZpbGVzICYmIGUudGFyZ2V0LmZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICByZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsICgpID0+IHRoaXMuc2V0U3RhdGUoeyBzcmM6IHJlYWRlci5yZXN1bHQgfSkpO1xuICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZS50YXJnZXQuZmlsZXNbMF0pO1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IHNob3c6IHRydWUgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBjcm9wcGVkSW1hZ2UgY3JvcHBlZCBwcm9maWxlIGltYWdlIGZvciB1cGxvYWRcbiAgICovXG4gIGFzeW5jIG9uQ3JvcENvbXBsZXRlZChjcm9wcGVkSW1hZ2UpIHtcbiAgICBjb25zdCB7IHQsIHBlcnNvbmFsQ29udGFpbmVyIH0gPSB0aGlzLnByb3BzO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBwZXJzb25hbENvbnRhaW5lci51cGxvYWRBdHRhY2htZW50KGNyb3BwZWRJbWFnZSk7XG4gICAgICB0b2FzdFN1Y2Nlc3ModCgndG9hc3Rlci51cGRhdGVfc3VjY2Vzc2VkJywgeyB0YXJnZXQ6IHQoJ0N1cnJlbnQgSW1hZ2UnKSB9KSk7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgIHRvYXN0RXJyb3IoZXJyKTtcbiAgICB9XG4gICAgdGhpcy5oaWRlTW9kYWwoKTtcbiAgfVxuXG4gIGFzeW5jIG9uQ2xpY2tEZWxldGVCdG4oKSB7XG4gICAgY29uc3QgeyB0LCBwZXJzb25hbENvbnRhaW5lciB9ID0gdGhpcy5wcm9wcztcbiAgICB0cnkge1xuICAgICAgYXdhaXQgcGVyc29uYWxDb250YWluZXIuZGVsZXRlUHJvZmlsZUltYWdlKCk7XG4gICAgICB0b2FzdFN1Y2Nlc3ModCgndG9hc3Rlci51cGRhdGVfc3VjY2Vzc2VkJywgeyB0YXJnZXQ6IHQoJ0N1cnJlbnQgSW1hZ2UnKSB9KSk7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgIHRvYXN0RXJyb3IoZXJyKTtcbiAgICB9XG4gIH1cblxuICBzaG93TW9kYWwoKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IHNob3c6IHRydWUgfSk7XG4gIH1cblxuICBoaWRlTW9kYWwoKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IHNob3c6IGZhbHNlIH0pO1xuICB9XG5cbiAgY2FuY2VsTW9kYWwoKSB7XG4gICAgdGhpcy5oaWRlTW9kYWwoKTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IHQsIHBlcnNvbmFsQ29udGFpbmVyIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgdXBsb2FkZWRQaWN0dXJlU3JjLCBpc0dyYXZhdGFyRW5hYmxlZCwgaXNVcGxvYWRlZFBpY3R1cmUgfSA9IHBlcnNvbmFsQ29udGFpbmVyLnN0YXRlO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC1tZC02IGNvbC0xMiBtYi0zIG1iLW1kLTBcIj5cbiAgICAgICAgICAgIDxoND5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjdXN0b20tY29udHJvbCBjdXN0b20tcmFkaW8gcmFkaW8tcHJpbWFyeVwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgICAgICAgIGlkPVwicmFkaW9HcmF2YXRhclwiXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJjdXN0b20tY29udHJvbC1pbnB1dFwiXG4gICAgICAgICAgICAgICAgICBmb3JtPVwiZm9ybUltYWdlVHlwZVwiXG4gICAgICAgICAgICAgICAgICBuYW1lPVwiaW1hZ2V0eXBlRm9ybVtpc0dyYXZhdGFyRW5hYmxlZF1cIlxuICAgICAgICAgICAgICAgICAgY2hlY2tlZD17aXNHcmF2YXRhckVuYWJsZWR9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KCkgPT4geyBwZXJzb25hbENvbnRhaW5lci5jaGFuZ2VJc0dyYXZhdGFyRW5hYmxlZCh0cnVlKSB9fVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sLWxhYmVsXCIgaHRtbEZvcj1cInJhZGlvR3JhdmF0YXJcIj5cbiAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9ncmF2YXRhci5jb20vYXZhdGFyLzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwP3M9MjRcIiAvPiBHcmF2YXRhclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cImh0dHBzOi8vZ3JhdmF0YXIuY29tL1wiPlxuICAgICAgICAgICAgICAgICAgPHNtYWxsPjxpIGNsYXNzTmFtZT1cImljb24tYXJyb3ctcmlnaHQtY2lyY2xlXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPjwvc21hbGw+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvaDQ+XG4gICAgICAgICAgICA8aW1nIHNyYz17dGhpcy5nZW5lcmF0ZUdyYXZhdGFyU3JjKCl9IHdpZHRoPVwiNjRcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtbWQtNiBjb2wtMTJcIj5cbiAgICAgICAgICAgIDxoND5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjdXN0b20tY29udHJvbCBjdXN0b20tcmFkaW8gcmFkaW8tcHJpbWFyeVwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgICAgICAgIGlkPVwicmFkaW9VcGxvYWRQaWN0dXJlXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sLWlucHV0XCJcbiAgICAgICAgICAgICAgICAgIGZvcm09XCJmb3JtSW1hZ2VUeXBlXCJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJpbWFnZXR5cGVGb3JtW2lzR3JhdmF0YXJFbmFibGVkXVwiXG4gICAgICAgICAgICAgICAgICBjaGVja2VkPXshaXNHcmF2YXRhckVuYWJsZWR9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KCkgPT4geyBwZXJzb25hbENvbnRhaW5lci5jaGFuZ2VJc0dyYXZhdGFyRW5hYmxlZChmYWxzZSkgfX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9XCJjdXN0b20tY29udHJvbC1sYWJlbFwiIGh0bWxGb3I9XCJyYWRpb1VwbG9hZFBpY3R1cmVcIj5cbiAgICAgICAgICAgICAgICAgIHsgdCgnVXBsb2FkIEltYWdlJykgfVxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9oND5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IG1iLTNcIj5cbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImNvbC1zbS00IGNvbC0xMiBjb2wtZm9ybS1sYWJlbCB0ZXh0LWxlZnRcIj5cbiAgICAgICAgICAgICAgICB7IHQoJ0N1cnJlbnQgSW1hZ2UnKSB9XG4gICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLXNtLTggY29sLTEyXCI+XG4gICAgICAgICAgICAgICAge3VwbG9hZGVkUGljdHVyZVNyYyAmJiAoPHA+PGltZyBzcmM9e3VwbG9hZGVkUGljdHVyZVNyY30gY2xhc3NOYW1lPVwicGljdHVyZSBwaWN0dXJlLWxnIHJvdW5kZWQtY2lyY2xlXCIgaWQ9XCJzZXR0aW5nVXNlclBpY3R1cmVcIiAvPjwvcD4pfVxuICAgICAgICAgICAgICAgIHtpc1VwbG9hZGVkUGljdHVyZSAmJiA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzc05hbWU9XCJidG4gYnRuLWRhbmdlclwiIG9uQ2xpY2s9e3RoaXMub25DbGlja0RlbGV0ZUJ0bn0+eyB0KCdEZWxldGUgSW1hZ2UnKSB9PC9idXR0b24+fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImNvbC1zbS00IGNvbC0xMiBjb2wtZm9ybS1sYWJlbCB0ZXh0LWxlZnRcIj5cbiAgICAgICAgICAgICAgICB7dCgnVXBsb2FkIG5ldyBpbWFnZScpfVxuICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC1zbS04IGNvbC0xMlwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiZmlsZVwiIG9uQ2hhbmdlPXt0aGlzLm9uU2VsZWN0RmlsZX0gbmFtZT1cInByb2ZpbGVJbWFnZVwiIGFjY2VwdD1cImltYWdlLypcIiAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8SW1hZ2VDcm9wTW9kYWxcbiAgICAgICAgICBzaG93PXt0aGlzLnN0YXRlLnNob3d9XG4gICAgICAgICAgc3JjPXt0aGlzLnN0YXRlLnNyY31cbiAgICAgICAgICBvbk1vZGFsQ2xvc2U9e3RoaXMuY2FuY2VsTW9kYWx9XG4gICAgICAgICAgb25Dcm9wQ29tcGxldGVkPXt0aGlzLm9uQ3JvcENvbXBsZXRlZH1cbiAgICAgICAgLz5cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBteS0zXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJvZmZzZXQtNCBjb2wtNVwiPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3NOYW1lPVwiYnRuIGJ0bi1wcmltYXJ5XCIgb25DbGljaz17dGhpcy5vbkNsaWNrU3VibWl0fSBkaXNhYmxlZD17cGVyc29uYWxDb250YWluZXIuc3RhdGUucmV0cmlldmVFcnJvciAhPSBudWxsfT5cbiAgICAgICAgICAgICAge3QoJ1VwZGF0ZScpfVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICk7XG4gIH1cblxufVxuXG5cbmNvbnN0IFByb2ZpbGVJbWFnZVNldHRpbmdzV3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoUHJvZmlsZUltYWdlU2V0dGluZ3MsIFtBcHBDb250YWluZXIsIFBlcnNvbmFsQ29udGFpbmVyXSk7XG5cblByb2ZpbGVJbWFnZVNldHRpbmdzLnByb3BUeXBlcyA9IHtcbiAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCwgLy8gaTE4bmV4dFxuICBhcHBDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKEFwcENvbnRhaW5lcikuaXNSZXF1aXJlZCxcbiAgcGVyc29uYWxDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKFBlcnNvbmFsQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFRyYW5zbGF0aW9uKCkoUHJvZmlsZUltYWdlU2V0dGluZ3NXcmFwcGVyKTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUZBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUVBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQVBBO0FBU0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBRUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQVBBO0FBU0E7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUNBO0FBQUE7QUFHQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFDQTtBQUFBO0FBR0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FBT0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUE7QUFDQTtBQXpLQTtBQUNBO0FBNEtBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUhBO0FBTUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/Me/ProfileImageSettings.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Me/UserSettings.jsx":
- /*!******************************************************!*\
- !*** ./src/client/js/components/Me/UserSettings.jsx ***!
- \******************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _BasicInfoSettings__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./BasicInfoSettings */ \"./src/client/js/components/Me/BasicInfoSettings.jsx\");\n/* harmony import */ var _ProfileImageSettings__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ProfileImageSettings */ \"./src/client/js/components/Me/ProfileImageSettings.jsx\");\n\n\n\n\n\n\nclass UserSettings extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n render() {\n const {\n t\n } = this.props;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0__[\"Fragment\"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"mb-5\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h2\", {\n className: \"border-bottom my-4\"\n }, t('Basic Info')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_BasicInfoSettings__WEBPACK_IMPORTED_MODULE_3__[\"default\"], null)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"mb-5\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h2\", {\n className: \"border-bottom my-4\"\n }, t('Set Profile Image')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ProfileImageSettings__WEBPACK_IMPORTED_MODULE_4__[\"default\"], null)));\n }\n\n}\n\nUserSettings.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired // i18next\n\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(UserSettings));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvTWUvVXNlclNldHRpbmdzLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9NZS9Vc2VyU2V0dGluZ3MuanN4P2ZjYzciXSwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgUmVhY3QsIHsgRnJhZ21lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgd2l0aFRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5cbmltcG9ydCBCYXNpY0luZm9TZXR0aW5ncyBmcm9tICcuL0Jhc2ljSW5mb1NldHRpbmdzJztcbmltcG9ydCBQcm9maWxlSW1hZ2VTZXR0aW5ncyBmcm9tICcuL1Byb2ZpbGVJbWFnZVNldHRpbmdzJztcblxuY2xhc3MgVXNlclNldHRpbmdzIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxGcmFnbWVudD5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYi01XCI+XG4gICAgICAgICAgPGgyIGNsYXNzTmFtZT1cImJvcmRlci1ib3R0b20gbXktNFwiPnt0KCdCYXNpYyBJbmZvJyl9PC9oMj5cbiAgICAgICAgICA8QmFzaWNJbmZvU2V0dGluZ3MgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWItNVwiPlxuICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJib3JkZXItYm90dG9tIG15LTRcIj57dCgnU2V0IFByb2ZpbGUgSW1hZ2UnKX08L2gyPlxuICAgICAgICAgIDxQcm9maWxlSW1hZ2VTZXR0aW5ncyAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvRnJhZ21lbnQ+XG4gICAgKTtcbiAgfVxuXG59XG5cblxuVXNlclNldHRpbmdzLnByb3BUeXBlcyA9IHtcbiAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCwgLy8gaTE4bmV4dFxufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFRyYW5zbGF0aW9uKCkoVXNlclNldHRpbmdzKTtcbiJdLCJtYXBwaW5ncyI6IkFBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUVBO0FBQUE7QUFDQTtBQUFBO0FBR0E7QUFBQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBbEJBO0FBQ0E7QUFxQkE7QUFDQTtBQUNBO0FBRkE7QUFJQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/Me/UserSettings.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/MyDraftList/Draft.jsx":
- /*!********************************************************!*\
- !*** ./src/client/js/components/MyDraftList/Draft.jsx ***!
- \********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var react_copy_to_clipboard__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-copy-to-clipboard */ \"./node_modules/react-copy-to-clipboard/lib/index.js\");\n/* harmony import */ var react_copy_to_clipboard__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_copy_to_clipboard__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var reactstrap_es_Collapse__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! reactstrap/es/Collapse */ \"./node_modules/reactstrap/es/Collapse.js\");\n/* harmony import */ var reactstrap_es_UncontrolledTooltip__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! reactstrap/es/UncontrolledTooltip */ \"./node_modules/reactstrap/es/UncontrolledTooltip.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _Page_RevisionBody__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Page/RevisionBody */ \"./src/client/js/components/Page/RevisionBody.jsx\");\n\n\n\n\n\n\n\n\n\n\nclass Draft extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n this.state = {\n html: '',\n isRendered: false,\n isPanelExpanded: false,\n showCopiedMessage: false\n };\n this.growiRenderer = this.props.appContainer.getRenderer('draft');\n this.changeToolTipLabel = this.changeToolTipLabel.bind(this);\n this.expandPanelHandler = this.expandPanelHandler.bind(this);\n this.collapsePanelHandler = this.collapsePanelHandler.bind(this);\n this.renderHtml = this.renderHtml.bind(this);\n this.renderAccordionTitle = this.renderAccordionTitle.bind(this);\n }\n\n changeToolTipLabel() {\n this.setState({\n showCopiedMessage: true\n });\n setTimeout(() => {\n this.setState({\n showCopiedMessage: false\n });\n }, 1000);\n }\n\n expandPanelHandler() {\n this.setState({\n isPanelExpanded: true\n });\n\n if (!this.state.isRendered) {\n this.renderHtml();\n }\n }\n\n collapsePanelHandler() {\n this.setState({\n isPanelExpanded: false\n });\n }\n\n async renderHtml() {\n const context = {\n markdown: this.props.markdown\n };\n const growiRenderer = this.growiRenderer;\n const interceptorManager = this.props.appContainer.interceptorManager;\n await interceptorManager.process('prePreProcess', context).then(() => {\n context.markdown = growiRenderer.preProcess(context.markdown);\n }).then(() => {\n return interceptorManager.process('postPreProcess', context);\n }).then(() => {\n const parsedHTML = growiRenderer.process(context.markdown);\n context.parsedHTML = parsedHTML;\n }).then(() => {\n return interceptorManager.process('prePostProcess', context);\n }).then(() => {\n context.parsedHTML = growiRenderer.postProcess(context.parsedHTML);\n }).then(() => {\n return interceptorManager.process('postPostProcess', context);\n }).then(() => {\n this.setState({\n html: context.parsedHTML,\n isRendered: true\n });\n });\n }\n\n renderAccordionTitle(isExist) {\n const {\n isPanelExpanded\n } = this.state;\n const {\n t\n } = this.props;\n const iconClass = isPanelExpanded ? 'fa-rotate-90' : '';\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"mr-2 draft-path\",\n onClick: () => this.setState({\n isPanelExpanded: !isPanelExpanded\n })\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: `fa fa-fw fa-angle-right mr-2 ${iconClass}`\n }), this.props.path), isExist && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"badge badge-warning\"\n }, t('page exists')), !isExist && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"badge badge-info\"\n }, \"draft\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n className: \"ml-2\",\n href: this.props.path\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon icon-login\"\n })));\n }\n\n renderControls() {\n const {\n t,\n path,\n index\n } = this.props;\n const tooltipTargetId = `draft-copied-tooltip_${index}`;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"icon-container\"\n }, this.props.isExist ? null : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: `${path}#edit`,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n \"data-toggle\": \"tooltip\",\n title: this.props.t('Edit')\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"mx-2 icon-note\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n id: tooltipTargetId\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_copy_to_clipboard__WEBPACK_IMPORTED_MODULE_3__[\"CopyToClipboard\"], {\n text: this.props.markdown,\n onCopy: this.changeToolTipLabel\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n className: \"text-center draft-copy\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"mx-2 ti-clipboard\"\n })))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_UncontrolledTooltip__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n placement: \"top\",\n target: tooltipTargetId,\n fade: false,\n trigger: \"hover\"\n }, this.state.showCopiedMessage && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"strong\", null, \"copied!\"), !this.state.showCopiedMessage && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", null, this.props.t('Copy'))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n className: \"text-danger text-center\",\n \"data-toggle\": \"tooltip\",\n \"data-placement\": \"top\",\n title: t('Delete'),\n onClick: () => {\n return this.props.clearDraft(this.props.path);\n }\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"mx-2 icon-trash\"\n })));\n }\n\n render() {\n const {\n isPanelExpanded\n } = this.state;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"accordion draft-list-item\",\n role: \"tablist\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"card\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"card-header d-flex\",\n role: \"tab\"\n }, this.renderAccordionTitle(this.props.isExist), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"flex-grow-1\"\n }), this.renderControls()), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Collapse__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n isOpen: isPanelExpanded,\n onEntering: this.expandPanelHandler,\n onExiting: this.collapsePanelHandler\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"card-body\"\n }, this.state.isPanelExpanded && !this.state.isRendered && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"text-center\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"fa fa-lg fa-spinner fa-pulse mx-auto text-muted\"\n })), this.state.isPanelExpanded && this.state.isRendered && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Page_RevisionBody__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n html: this.state.html\n })))));\n }\n\n}\n/**\n * Wrapper component for using unstated\n */\n\n\nconst DraftWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_6__[\"withUnstatedContainers\"])(Draft, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_7__[\"default\"]]);\nDraft.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_7__[\"default\"]).isRequired,\n index: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number.isRequired,\n path: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired,\n markdown: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired,\n isExist: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,\n clearDraft: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(DraftWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvTXlEcmFmdExpc3QvRHJhZnQuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL015RHJhZnRMaXN0L0RyYWZ0LmpzeD9kYTkxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQgeyB3aXRoVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcbmltcG9ydCB7IENvcHlUb0NsaXBib2FyZCB9IGZyb20gJ3JlYWN0LWNvcHktdG8tY2xpcGJvYXJkJztcblxuaW1wb3J0IHtcbiAgQ29sbGFwc2UsXG4gIFVuY29udHJvbGxlZFRvb2x0aXAsXG59IGZyb20gJ3JlYWN0c3RyYXAnO1xuXG5pbXBvcnQgeyB3aXRoVW5zdGF0ZWRDb250YWluZXJzIH0gZnJvbSAnLi4vVW5zdGF0ZWRVdGlscyc7XG5pbXBvcnQgQXBwQ29udGFpbmVyIGZyb20gJy4uLy4uL3NlcnZpY2VzL0FwcENvbnRhaW5lcic7XG5cbmltcG9ydCBSZXZpc2lvbkJvZHkgZnJvbSAnLi4vUGFnZS9SZXZpc2lvbkJvZHknO1xuXG5jbGFzcyBEcmFmdCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgaHRtbDogJycsXG4gICAgICBpc1JlbmRlcmVkOiBmYWxzZSxcbiAgICAgIGlzUGFuZWxFeHBhbmRlZDogZmFsc2UsXG4gICAgICBzaG93Q29waWVkTWVzc2FnZTogZmFsc2UsXG4gICAgfTtcblxuICAgIHRoaXMuZ3Jvd2lSZW5kZXJlciA9IHRoaXMucHJvcHMuYXBwQ29udGFpbmVyLmdldFJlbmRlcmVyKCdkcmFmdCcpO1xuXG4gICAgdGhpcy5jaGFuZ2VUb29sVGlwTGFiZWwgPSB0aGlzLmNoYW5nZVRvb2xUaXBMYWJlbC5iaW5kKHRoaXMpO1xuICAgIHRoaXMuZXhwYW5kUGFuZWxIYW5kbGVyID0gdGhpcy5leHBhbmRQYW5lbEhhbmRsZXIuYmluZCh0aGlzKTtcbiAgICB0aGlzLmNvbGxhcHNlUGFuZWxIYW5kbGVyID0gdGhpcy5jb2xsYXBzZVBhbmVsSGFuZGxlci5iaW5kKHRoaXMpO1xuICAgIHRoaXMucmVuZGVySHRtbCA9IHRoaXMucmVuZGVySHRtbC5iaW5kKHRoaXMpO1xuICAgIHRoaXMucmVuZGVyQWNjb3JkaW9uVGl0bGUgPSB0aGlzLnJlbmRlckFjY29yZGlvblRpdGxlLmJpbmQodGhpcyk7XG4gIH1cblxuICBjaGFuZ2VUb29sVGlwTGFiZWwoKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IHNob3dDb3BpZWRNZXNzYWdlOiB0cnVlIH0pO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IHNob3dDb3BpZWRNZXNzYWdlOiBmYWxzZSB9KTtcbiAgICB9LCAxMDAwKTtcbiAgfVxuXG4gIGV4cGFuZFBhbmVsSGFuZGxlcigpIHtcbiAgICB0aGlzLnNldFN0YXRlKHsgaXNQYW5lbEV4cGFuZGVkOiB0cnVlIH0pO1xuXG4gICAgaWYgKCF0aGlzLnN0YXRlLmlzUmVuZGVyZWQpIHtcbiAgICAgIHRoaXMucmVuZGVySHRtbCgpO1xuICAgIH1cbiAgfVxuXG4gIGNvbGxhcHNlUGFuZWxIYW5kbGVyKCkge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBpc1BhbmVsRXhwYW5kZWQ6IGZhbHNlIH0pO1xuICB9XG5cbiAgYXN5bmMgcmVuZGVySHRtbCgpIHtcbiAgICBjb25zdCBjb250ZXh0ID0ge1xuICAgICAgbWFya2Rvd246IHRoaXMucHJvcHMubWFya2Rvd24sXG4gICAgfTtcblxuICAgIGNvbnN0IGdyb3dpUmVuZGVyZXIgPSB0aGlzLmdyb3dpUmVuZGVyZXI7XG4gICAgY29uc3QgaW50ZXJjZXB0b3JNYW5hZ2VyID0gdGhpcy5wcm9wcy5hcHBDb250YWluZXIuaW50ZXJjZXB0b3JNYW5hZ2VyO1xuICAgIGF3YWl0IGludGVyY2VwdG9yTWFuYWdlci5wcm9jZXNzKCdwcmVQcmVQcm9jZXNzJywgY29udGV4dClcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgY29udGV4dC5tYXJrZG93biA9IGdyb3dpUmVuZGVyZXIucHJlUHJvY2Vzcyhjb250ZXh0Lm1hcmtkb3duKTtcbiAgICAgIH0pXG4gICAgICAudGhlbigoKSA9PiB7IHJldHVybiBpbnRlcmNlcHRvck1hbmFnZXIucHJvY2VzcygncG9zdFByZVByb2Nlc3MnLCBjb250ZXh0KSB9KVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICBjb25zdCBwYXJzZWRIVE1MID0gZ3Jvd2lSZW5kZXJlci5wcm9jZXNzKGNvbnRleHQubWFya2Rvd24pO1xuICAgICAgICBjb250ZXh0LnBhcnNlZEhUTUwgPSBwYXJzZWRIVE1MO1xuICAgICAgfSlcbiAgICAgIC50aGVuKCgpID0+IHsgcmV0dXJuIGludGVyY2VwdG9yTWFuYWdlci5wcm9jZXNzKCdwcmVQb3N0UHJvY2VzcycsIGNvbnRleHQpIH0pXG4gICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgIGNvbnRleHQucGFyc2VkSFRNTCA9IGdyb3dpUmVuZGVyZXIucG9zdFByb2Nlc3MoY29udGV4dC5wYXJzZWRIVE1MKTtcbiAgICAgIH0pXG4gICAgICAudGhlbigoKSA9PiB7IHJldHVybiBpbnRlcmNlcHRvck1hbmFnZXIucHJvY2VzcygncG9zdFBvc3RQcm9jZXNzJywgY29udGV4dCkgfSlcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGh0bWw6IGNvbnRleHQucGFyc2VkSFRNTCwgaXNSZW5kZXJlZDogdHJ1ZSB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcmVuZGVyQWNjb3JkaW9uVGl0bGUoaXNFeGlzdCkge1xuICAgIGNvbnN0IHsgaXNQYW5lbEV4cGFuZGVkIH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IHsgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBpY29uQ2xhc3MgPSBpc1BhbmVsRXhwYW5kZWQgPyAnZmEtcm90YXRlLTkwJyA6ICcnO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxzcGFuPlxuXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIm1yLTIgZHJhZnQtcGF0aFwiIG9uQ2xpY2s9eygpID0+IHRoaXMuc2V0U3RhdGUoeyBpc1BhbmVsRXhwYW5kZWQ6ICFpc1BhbmVsRXhwYW5kZWQgfSl9PlxuICAgICAgICAgIDxpIGNsYXNzTmFtZT17YGZhIGZhLWZ3IGZhLWFuZ2xlLXJpZ2h0IG1yLTIgJHtpY29uQ2xhc3N9YH0+PC9pPlxuICAgICAgICAgIHt0aGlzLnByb3BzLnBhdGh9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgeyBpc0V4aXN0ICYmIChcbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJiYWRnZSBiYWRnZS13YXJuaW5nXCI+e3QoJ3BhZ2UgZXhpc3RzJyl9PC9zcGFuPlxuICAgICAgICApIH1cbiAgICAgICAgeyAhaXNFeGlzdCAmJiAoXG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiYmFkZ2UgYmFkZ2UtaW5mb1wiPmRyYWZ0PC9zcGFuPlxuICAgICAgICApIH1cblxuICAgICAgICA8YSBjbGFzc05hbWU9XCJtbC0yXCIgaHJlZj17dGhpcy5wcm9wcy5wYXRofT48aSBjbGFzc05hbWU9XCJpY29uIGljb24tbG9naW5cIj48L2k+PC9hPlxuICAgICAgPC9zcGFuPlxuICAgICk7XG4gIH1cblxuICByZW5kZXJDb250cm9scygpIHtcbiAgICBjb25zdCB7IHQsIHBhdGgsIGluZGV4IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3QgdG9vbHRpcFRhcmdldElkID0gYGRyYWZ0LWNvcGllZC10b29sdGlwXyR7aW5kZXh9YDtcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImljb24tY29udGFpbmVyXCI+XG4gICAgICAgIHt0aGlzLnByb3BzLmlzRXhpc3RcbiAgICAgICAgICA/IG51bGxcbiAgICAgICAgICA6IChcbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgIGhyZWY9e2Ake3BhdGh9I2VkaXRgfVxuICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICAgICAgZGF0YS10b2dnbGU9XCJ0b29sdGlwXCJcbiAgICAgICAgICAgICAgdGl0bGU9e3RoaXMucHJvcHMudCgnRWRpdCcpfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aSBjbGFzc05hbWU9XCJteC0yIGljb24tbm90ZVwiIC8+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICAgIDxzcGFuIGlkPXt0b29sdGlwVGFyZ2V0SWR9PlxuICAgICAgICAgIDxDb3B5VG9DbGlwYm9hcmQgdGV4dD17dGhpcy5wcm9wcy5tYXJrZG93bn0gb25Db3B5PXt0aGlzLmNoYW5nZVRvb2xUaXBMYWJlbH0+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LWNlbnRlciBkcmFmdC1jb3B5XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGkgY2xhc3NOYW1lPVwibXgtMiB0aS1jbGlwYm9hcmRcIiAvPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvQ29weVRvQ2xpcGJvYXJkPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxVbmNvbnRyb2xsZWRUb29sdGlwIHBsYWNlbWVudD1cInRvcFwiIHRhcmdldD17dG9vbHRpcFRhcmdldElkfSBmYWRlPXtmYWxzZX0gdHJpZ2dlcj1cImhvdmVyXCI+XG4gICAgICAgICAgeyB0aGlzLnN0YXRlLnNob3dDb3BpZWRNZXNzYWdlICYmIChcbiAgICAgICAgICAgIDxzdHJvbmc+Y29waWVkITwvc3Ryb25nPlxuICAgICAgICAgICkgfVxuICAgICAgICAgIHsgIXRoaXMuc3RhdGUuc2hvd0NvcGllZE1lc3NhZ2UgJiYgKFxuICAgICAgICAgICAgPHNwYW4+e3RoaXMucHJvcHMudCgnQ29weScpfTwvc3Bhbj5cbiAgICAgICAgICApIH1cbiAgICAgICAgPC9VbmNvbnRyb2xsZWRUb29sdGlwPlxuICAgICAgICA8YVxuICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQtZGFuZ2VyIHRleHQtY2VudGVyXCJcbiAgICAgICAgICBkYXRhLXRvZ2dsZT1cInRvb2x0aXBcIlxuICAgICAgICAgIGRhdGEtcGxhY2VtZW50PVwidG9wXCJcbiAgICAgICAgICB0aXRsZT17dCgnRGVsZXRlJyl9XG4gICAgICAgICAgb25DbGljaz17KCkgPT4geyByZXR1cm4gdGhpcy5wcm9wcy5jbGVhckRyYWZ0KHRoaXMucHJvcHMucGF0aCkgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxpIGNsYXNzTmFtZT1cIm14LTIgaWNvbi10cmFzaFwiIC8+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBpc1BhbmVsRXhwYW5kZWQgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJhY2NvcmRpb24gZHJhZnQtbGlzdC1pdGVtXCIgcm9sZT1cInRhYmxpc3RcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjYXJkXCI+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNhcmQtaGVhZGVyIGQtZmxleFwiIHJvbGU9XCJ0YWJcIj5cbiAgICAgICAgICAgIHt0aGlzLnJlbmRlckFjY29yZGlvblRpdGxlKHRoaXMucHJvcHMuaXNFeGlzdCl9XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleC1ncm93LTFcIj48L2Rpdj5cblxuICAgICAgICAgICAge3RoaXMucmVuZGVyQ29udHJvbHMoKX1cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxDb2xsYXBzZSBpc09wZW49e2lzUGFuZWxFeHBhbmRlZH0gb25FbnRlcmluZz17dGhpcy5leHBhbmRQYW5lbEhhbmRsZXJ9IG9uRXhpdGluZz17dGhpcy5jb2xsYXBzZVBhbmVsSGFuZGxlcn0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNhcmQtYm9keVwiPlxuICAgICAgICAgICAgICB7LyogbG9hZGluZyBzcGlubmVyICovfVxuICAgICAgICAgICAgICB7IHRoaXMuc3RhdGUuaXNQYW5lbEV4cGFuZGVkICYmICF0aGlzLnN0YXRlLmlzUmVuZGVyZWQgJiYgKFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzTmFtZT1cImZhIGZhLWxnIGZhLXNwaW5uZXIgZmEtcHVsc2UgbXgtYXV0byB0ZXh0LW11dGVkXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICApIH1cbiAgICAgICAgICAgICAgey8qIGNvbnRlbnRzICovfVxuICAgICAgICAgICAgICB7IHRoaXMuc3RhdGUuaXNQYW5lbEV4cGFuZGVkICYmIHRoaXMuc3RhdGUuaXNSZW5kZXJlZCAmJiAoXG4gICAgICAgICAgICAgICAgPFJldmlzaW9uQm9keSBodG1sPXt0aGlzLnN0YXRlLmh0bWx9IC8+XG4gICAgICAgICAgICAgICkgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9Db2xsYXBzZT5cblxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cblxufVxuXG4vKipcbiAqIFdyYXBwZXIgY29tcG9uZW50IGZvciB1c2luZyB1bnN0YXRlZFxuICovXG5jb25zdCBEcmFmdFdyYXBwZXIgPSB3aXRoVW5zdGF0ZWRDb250YWluZXJzKERyYWZ0LCBbQXBwQ29udGFpbmVyXSk7XG5cblxuRHJhZnQucHJvcFR5cGVzID0ge1xuICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBhcHBDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKEFwcENvbnRhaW5lcikuaXNSZXF1aXJlZCxcblxuICBpbmRleDogUHJvcFR5cGVzLm51bWJlci5pc1JlcXVpcmVkLFxuICBwYXRoOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIG1hcmtkb3duOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIGlzRXhpc3Q6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gIGNsZWFyRHJhZnQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoVHJhbnNsYXRpb24oKShEcmFmdFdyYXBwZXIpO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBOzs7QUFPQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU9BO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFEQTtBQUlBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUlBO0FBQUE7QUFHQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUVBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQU9BO0FBQUE7QUFJQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFEQTtBQUdBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBU0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFMQTtBQU9BO0FBQUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBR0E7QUFBQTtBQUNBO0FBQUE7QUFLQTtBQUFBO0FBUUE7QUFDQTtBQS9LQTtBQWtMQTs7Ozs7QUFHQTtBQUdBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFSQTtBQVdBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/MyDraftList/Draft.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/MyDraftList/MyDraftList.jsx":
- /*!**************************************************************!*\
- !*** ./src/client/js/components/MyDraftList/MyDraftList.jsx ***!
- \**************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n/* harmony import */ var _services_EditorContainer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../services/EditorContainer */ \"./src/client/js/services/EditorContainer.js\");\n/* harmony import */ var _PaginationWrapper__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../PaginationWrapper */ \"./src/client/js/components/PaginationWrapper.jsx\");\n/* harmony import */ var _Draft__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Draft */ \"./src/client/js/components/MyDraftList/Draft.jsx\");\n\n\n\n\n\n\n\n\n\n\nclass MyDraftList extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n this.state = {\n drafts: [],\n currentDrafts: [],\n activePage: 1,\n totalDrafts: 0,\n pagingLimit: Infinity\n };\n this.handlePage = this.handlePage.bind(this);\n this.getDraftsFromLocalStorage = this.getDraftsFromLocalStorage.bind(this);\n this.getCurrentDrafts = this.getCurrentDrafts.bind(this);\n this.clearDraft = this.clearDraft.bind(this);\n this.clearAllDrafts = this.clearAllDrafts.bind(this);\n }\n\n async componentWillMount() {\n await this.getDraftsFromLocalStorage();\n this.getCurrentDrafts(1);\n }\n\n async handlePage(selectedPage) {\n await this.getDraftsFromLocalStorage();\n await this.getCurrentDrafts(selectedPage);\n }\n\n async getDraftsFromLocalStorage() {\n const draftsAsObj = this.props.editorContainer.drafts;\n\n if (draftsAsObj == null) {\n return;\n }\n\n const res = await this.props.appContainer.apiGet('/pages.exist', {\n pagePaths: JSON.stringify(Object.keys(draftsAsObj))\n }); // {'/a': '#a', '/b': '#b'} => [{path: '/a', markdown: '#a'}, {path: '/b', markdown: '#b'}]\n\n const drafts = Object.entries(draftsAsObj).map(d => {\n const path = d[0];\n return {\n path,\n markdown: d[1],\n isExist: res.pages[path]\n };\n });\n this.setState({\n drafts,\n totalDrafts: drafts.length\n });\n }\n\n getCurrentDrafts(selectPageNumber) {\n const limit = 50; // implement only this component.(this default value is 50 (pageLimitationL))\n\n const totalDrafts = this.state.drafts.length;\n const activePage = selectPageNumber;\n const currentDrafts = this.state.drafts.slice((activePage - 1) * limit, activePage * limit);\n this.setState({\n currentDrafts,\n activePage,\n totalDrafts,\n pagingLimit: limit\n });\n }\n /**\n * generate Elements of Draft\n *\n * @param {any} drafts Array of pages Model Obj\n *\n */\n\n\n generateDraftList(drafts) {\n return drafts.map((draft, index) => {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Draft__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n index: index,\n key: draft.path,\n path: draft.path,\n markdown: draft.markdown,\n isExist: draft.isExist,\n clearDraft: this.clearDraft\n });\n });\n }\n\n clearDraft(path) {\n this.props.editorContainer.clearDraft(path);\n this.setState(prevState => {\n return {\n drafts: prevState.drafts.filter(draft => {\n return draft.path !== path;\n }),\n currentDrafts: prevState.drafts.filter(draft => {\n return draft.path !== path;\n })\n };\n });\n }\n\n clearAllDrafts() {\n this.props.editorContainer.clearAllDrafts();\n this.setState({\n drafts: [],\n currentDrafts: [],\n activePage: 1,\n totalDrafts: 0,\n pagingLimit: Infinity\n });\n }\n\n render() {\n const {\n t\n } = this.props;\n const draftList = this.generateDraftList(this.state.currentDrafts);\n const totalCount = this.state.totalDrafts;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"page-list-container-create \"\n }, totalCount === 0 && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"mt-2\"\n }, \"No drafts yet.\"), totalCount > 0 && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"d-flex justify-content-between mt-2\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h4\", null, \"Total: \", totalCount, \" drafts\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"align-self-center\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-sm btn-outline-danger\",\n onClick: this.clearAllDrafts\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-fire\"\n }), t('delete_all')))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"tab-pane mt-2 accordion\",\n id: \"draft-list\"\n }, draftList), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PaginationWrapper__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n activePage: this.state.activePage,\n changePage: this.handlePage,\n totalItemsCount: this.state.totalDrafts,\n pagingLimit: this.state.pagingLimit,\n align: \"center\",\n size: \"sm\"\n })));\n }\n\n}\n/**\n * Wrapper component for using unstated\n */\n\n\nconst MyDraftListWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__[\"withUnstatedContainers\"])(MyDraftList, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"], _services_PageContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _services_EditorContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"]]);\nMyDraftList.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // react-i18next\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]).isRequired,\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]).isRequired,\n editorContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_EditorContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"]).isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(MyDraftListWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvTXlEcmFmdExpc3QvTXlEcmFmdExpc3QuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL015RHJhZnRMaXN0L015RHJhZnRMaXN0LmpzeD8yNTQ0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQgeyB3aXRoVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcblxuaW1wb3J0IHsgd2l0aFVuc3RhdGVkQ29udGFpbmVycyB9IGZyb20gJy4uL1Vuc3RhdGVkVXRpbHMnO1xuaW1wb3J0IEFwcENvbnRhaW5lciBmcm9tICcuLi8uLi9zZXJ2aWNlcy9BcHBDb250YWluZXInO1xuaW1wb3J0IFBhZ2VDb250YWluZXIgZnJvbSAnLi4vLi4vc2VydmljZXMvUGFnZUNvbnRhaW5lcic7XG5pbXBvcnQgRWRpdG9yQ29udGFpbmVyIGZyb20gJy4uLy4uL3NlcnZpY2VzL0VkaXRvckNvbnRhaW5lcic7XG5cbmltcG9ydCBQYWdpbmF0aW9uV3JhcHBlciBmcm9tICcuLi9QYWdpbmF0aW9uV3JhcHBlcic7XG5cbmltcG9ydCBEcmFmdCBmcm9tICcuL0RyYWZ0JztcblxuY2xhc3MgTXlEcmFmdExpc3QgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGRyYWZ0czogW10sXG4gICAgICBjdXJyZW50RHJhZnRzOiBbXSxcbiAgICAgIGFjdGl2ZVBhZ2U6IDEsXG4gICAgICB0b3RhbERyYWZ0czogMCxcbiAgICAgIHBhZ2luZ0xpbWl0OiBJbmZpbml0eSxcbiAgICB9O1xuXG4gICAgdGhpcy5oYW5kbGVQYWdlID0gdGhpcy5oYW5kbGVQYWdlLmJpbmQodGhpcyk7XG4gICAgdGhpcy5nZXREcmFmdHNGcm9tTG9jYWxTdG9yYWdlID0gdGhpcy5nZXREcmFmdHNGcm9tTG9jYWxTdG9yYWdlLmJpbmQodGhpcyk7XG4gICAgdGhpcy5nZXRDdXJyZW50RHJhZnRzID0gdGhpcy5nZXRDdXJyZW50RHJhZnRzLmJpbmQodGhpcyk7XG4gICAgdGhpcy5jbGVhckRyYWZ0ID0gdGhpcy5jbGVhckRyYWZ0LmJpbmQodGhpcyk7XG4gICAgdGhpcy5jbGVhckFsbERyYWZ0cyA9IHRoaXMuY2xlYXJBbGxEcmFmdHMuYmluZCh0aGlzKTtcbiAgfVxuXG4gIGFzeW5jIGNvbXBvbmVudFdpbGxNb3VudCgpIHtcbiAgICBhd2FpdCB0aGlzLmdldERyYWZ0c0Zyb21Mb2NhbFN0b3JhZ2UoKTtcbiAgICB0aGlzLmdldEN1cnJlbnREcmFmdHMoMSk7XG4gIH1cblxuICBhc3luYyBoYW5kbGVQYWdlKHNlbGVjdGVkUGFnZSkge1xuICAgIGF3YWl0IHRoaXMuZ2V0RHJhZnRzRnJvbUxvY2FsU3RvcmFnZSgpO1xuICAgIGF3YWl0IHRoaXMuZ2V0Q3VycmVudERyYWZ0cyhzZWxlY3RlZFBhZ2UpO1xuICB9XG5cbiAgYXN5bmMgZ2V0RHJhZnRzRnJvbUxvY2FsU3RvcmFnZSgpIHtcbiAgICBjb25zdCBkcmFmdHNBc09iaiA9IHRoaXMucHJvcHMuZWRpdG9yQ29udGFpbmVyLmRyYWZ0cztcblxuICAgIGlmIChkcmFmdHNBc09iaiA9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5wcm9wcy5hcHBDb250YWluZXIuYXBpR2V0KCcvcGFnZXMuZXhpc3QnLCB7XG4gICAgICBwYWdlUGF0aHM6IEpTT04uc3RyaW5naWZ5KE9iamVjdC5rZXlzKGRyYWZ0c0FzT2JqKSksXG4gICAgfSk7XG5cbiAgICAvLyB7Jy9hJzogJyNhJywgJy9iJzogJyNiJ30gPT4gW3twYXRoOiAnL2EnLCBtYXJrZG93bjogJyNhJ30sIHtwYXRoOiAnL2InLCBtYXJrZG93bjogJyNiJ31dXG4gICAgY29uc3QgZHJhZnRzID0gT2JqZWN0LmVudHJpZXMoZHJhZnRzQXNPYmopLm1hcCgoZCkgPT4ge1xuICAgICAgY29uc3QgcGF0aCA9IGRbMF07XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwYXRoLFxuICAgICAgICBtYXJrZG93bjogZFsxXSxcbiAgICAgICAgaXNFeGlzdDogcmVzLnBhZ2VzW3BhdGhdLFxuICAgICAgfTtcbiAgICB9KTtcblxuICAgIHRoaXMuc2V0U3RhdGUoeyBkcmFmdHMsIHRvdGFsRHJhZnRzOiBkcmFmdHMubGVuZ3RoIH0pO1xuICB9XG5cbiAgZ2V0Q3VycmVudERyYWZ0cyhzZWxlY3RQYWdlTnVtYmVyKSB7XG5cbiAgICBjb25zdCBsaW1pdCA9IDUwOyAvLyBpbXBsZW1lbnQgb25seSB0aGlzIGNvbXBvbmVudC4odGhpcyBkZWZhdWx0IHZhbHVlIGlzIDUwIChwYWdlTGltaXRhdGlvbkwpKVxuXG4gICAgY29uc3QgdG90YWxEcmFmdHMgPSB0aGlzLnN0YXRlLmRyYWZ0cy5sZW5ndGg7XG4gICAgY29uc3QgYWN0aXZlUGFnZSA9IHNlbGVjdFBhZ2VOdW1iZXI7XG5cbiAgICBjb25zdCBjdXJyZW50RHJhZnRzID0gdGhpcy5zdGF0ZS5kcmFmdHMuc2xpY2UoKGFjdGl2ZVBhZ2UgLSAxKSAqIGxpbWl0LCBhY3RpdmVQYWdlICogbGltaXQpO1xuXG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBjdXJyZW50RHJhZnRzLFxuICAgICAgYWN0aXZlUGFnZSxcbiAgICAgIHRvdGFsRHJhZnRzLFxuICAgICAgcGFnaW5nTGltaXQ6IGxpbWl0LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIGdlbmVyYXRlIEVsZW1lbnRzIG9mIERyYWZ0XG4gICAqXG4gICAqIEBwYXJhbSB7YW55fSBkcmFmdHMgQXJyYXkgb2YgcGFnZXMgTW9kZWwgT2JqXG4gICAqXG4gICAqL1xuICBnZW5lcmF0ZURyYWZ0TGlzdChkcmFmdHMpIHtcbiAgICByZXR1cm4gZHJhZnRzLm1hcCgoZHJhZnQsIGluZGV4KSA9PiB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8RHJhZnRcbiAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAga2V5PXtkcmFmdC5wYXRofVxuICAgICAgICAgIHBhdGg9e2RyYWZ0LnBhdGh9XG4gICAgICAgICAgbWFya2Rvd249e2RyYWZ0Lm1hcmtkb3dufVxuICAgICAgICAgIGlzRXhpc3Q9e2RyYWZ0LmlzRXhpc3R9XG4gICAgICAgICAgY2xlYXJEcmFmdD17dGhpcy5jbGVhckRyYWZ0fVxuICAgICAgICAvPlxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIGNsZWFyRHJhZnQocGF0aCkge1xuICAgIHRoaXMucHJvcHMuZWRpdG9yQ29udGFpbmVyLmNsZWFyRHJhZnQocGF0aCk7XG5cbiAgICB0aGlzLnNldFN0YXRlKChwcmV2U3RhdGUpID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGRyYWZ0czogcHJldlN0YXRlLmRyYWZ0cy5maWx0ZXIoKGRyYWZ0KSA9PiB7IHJldHVybiBkcmFmdC5wYXRoICE9PSBwYXRoIH0pLFxuICAgICAgICBjdXJyZW50RHJhZnRzOiBwcmV2U3RhdGUuZHJhZnRzLmZpbHRlcigoZHJhZnQpID0+IHsgcmV0dXJuIGRyYWZ0LnBhdGggIT09IHBhdGggfSksXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgY2xlYXJBbGxEcmFmdHMoKSB7XG4gICAgdGhpcy5wcm9wcy5lZGl0b3JDb250YWluZXIuY2xlYXJBbGxEcmFmdHMoKTtcblxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgZHJhZnRzOiBbXSxcbiAgICAgIGN1cnJlbnREcmFmdHM6IFtdLFxuICAgICAgYWN0aXZlUGFnZTogMSxcbiAgICAgIHRvdGFsRHJhZnRzOiAwLFxuICAgICAgcGFnaW5nTGltaXQ6IEluZmluaXR5LFxuICAgIH0pO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGRyYWZ0TGlzdCA9IHRoaXMuZ2VuZXJhdGVEcmFmdExpc3QodGhpcy5zdGF0ZS5jdXJyZW50RHJhZnRzKTtcbiAgICBjb25zdCB0b3RhbENvdW50ID0gdGhpcy5zdGF0ZS50b3RhbERyYWZ0cztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInBhZ2UtbGlzdC1jb250YWluZXItY3JlYXRlIFwiPlxuICAgICAgICB7IHRvdGFsQ291bnQgPT09IDBcbiAgICAgICAgICAmJiA8c3BhbiBjbGFzc05hbWU9XCJtdC0yXCI+Tm8gZHJhZnRzIHlldC48L3NwYW4+XG4gICAgICAgIH1cblxuICAgICAgICB7IHRvdGFsQ291bnQgPiAwICYmIChcbiAgICAgICAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtdC0yXCI+XG4gICAgICAgICAgICAgIDxoND5Ub3RhbDoge3RvdGFsQ291bnR9IGRyYWZ0czwvaDQ+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWxpZ24tc2VsZi1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzc05hbWU9XCJidG4gYnRuLXNtIGJ0bi1vdXRsaW5lLWRhbmdlclwiIG9uQ2xpY2s9e3RoaXMuY2xlYXJBbGxEcmFmdHN9PlxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3NOYW1lPVwiaWNvbi1mdyBpY29uLWZpcmVcIj48L2k+XG4gICAgICAgICAgICAgICAgICB7dCgnZGVsZXRlX2FsbCcpfVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRhYi1wYW5lIG10LTIgYWNjb3JkaW9uXCIgaWQ9XCJkcmFmdC1saXN0XCI+XG4gICAgICAgICAgICAgIHtkcmFmdExpc3R9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxQYWdpbmF0aW9uV3JhcHBlclxuICAgICAgICAgICAgICBhY3RpdmVQYWdlPXt0aGlzLnN0YXRlLmFjdGl2ZVBhZ2V9XG4gICAgICAgICAgICAgIGNoYW5nZVBhZ2U9e3RoaXMuaGFuZGxlUGFnZX1cbiAgICAgICAgICAgICAgdG90YWxJdGVtc0NvdW50PXt0aGlzLnN0YXRlLnRvdGFsRHJhZnRzfVxuICAgICAgICAgICAgICBwYWdpbmdMaW1pdD17dGhpcy5zdGF0ZS5wYWdpbmdMaW1pdH1cbiAgICAgICAgICAgICAgYWxpZ249XCJjZW50ZXJcIlxuICAgICAgICAgICAgICBzaXplPVwic21cIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICAgICApIH1cblxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuXG59XG5cbi8qKlxuICogV3JhcHBlciBjb21wb25lbnQgZm9yIHVzaW5nIHVuc3RhdGVkXG4gKi9cbmNvbnN0IE15RHJhZnRMaXN0V3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoTXlEcmFmdExpc3QsIFtBcHBDb250YWluZXIsIFBhZ2VDb250YWluZXIsIEVkaXRvckNvbnRhaW5lcl0pO1xuXG5cbk15RHJhZnRMaXN0LnByb3BUeXBlcyA9IHtcbiAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCwgLy8gcmVhY3QtaTE4bmV4dFxuXG4gIGFwcENvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoQXBwQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuICBwYWdlQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihQYWdlQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuICBlZGl0b3JDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKEVkaXRvckNvbnRhaW5lcikuaXNSZXF1aXJlZCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhUcmFuc2xhdGlvbigpKE15RHJhZnRMaXN0V3JhcHBlcik7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBS0E7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFNQTtBQUVBOzs7Ozs7OztBQU1BO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU5BO0FBU0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFGQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFFQTtBQUFBO0FBS0E7QUFBQTtBQUVBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQWFBO0FBQ0E7QUE1SkE7QUErSkE7Ozs7O0FBR0E7QUFHQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFMQTtBQVFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/MyDraftList/MyDraftList.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Navbar/AuthorInfo.jsx":
- /*!********************************************************!*\
- !*** ./src/client/js/components/Navbar/AuthorInfo.jsx ***!
- \********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _commons_util_path_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @commons/util/path-utils */ \"./src/lib/util/path-utils.js\");\n/* harmony import */ var _commons_util_path_utils__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_commons_util_path_utils__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var date_fns__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! date-fns */ \"./node_modules/date-fns/esm/index.js\");\n/* harmony import */ var _User_UserPicture__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../User/UserPicture */ \"./src/client/js/components/User/UserPicture.jsx\");\n\n\n\n\n\nconst formatType = 'yyyy/MM/dd HH:mm';\n\nconst AuthorInfo = props => {\n const {\n mode,\n user,\n date,\n locate\n } = props;\n const infoLabelForSubNav = mode === 'create' ? 'Created by' : 'Updated by';\n const infoLabelForFooter = mode === 'create' ? 'Created at' : 'Last revision posted at';\n const userLabel = user != null ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: Object(_commons_util_path_utils__WEBPACK_IMPORTED_MODULE_2__[\"userPageRoot\"])(user)\n }, user.name) : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", null, \"Unknown\");\n\n if (locate === 'footer') {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", null, infoLabelForFooter, \" \", Object(date_fns__WEBPACK_IMPORTED_MODULE_3__[\"format\"])(new Date(date), formatType), \" by \", react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_User_UserPicture__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n user: user,\n size: \"sm\"\n }), \" \", userLabel);\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"d-flex align-items-center\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"mr-2\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_User_UserPicture__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n user: user,\n size: \"sm\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", null, infoLabelForSubNav, \" \", userLabel), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"text-muted text-date\"\n }, Object(date_fns__WEBPACK_IMPORTED_MODULE_3__[\"format\"])(new Date(date), formatType))));\n};\n\nAuthorInfo.propTypes = {\n date: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired,\n user: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n mode: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['create', 'update']),\n locate: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOf(['subnav', 'footer'])\n};\nAuthorInfo.defaultProps = {\n mode: 'create',\n locate: 'subnav'\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (AuthorInfo);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvTmF2YmFyL0F1dGhvckluZm8uanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL05hdmJhci9BdXRob3JJbmZvLmpzeD9jMmQwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgdXNlclBhZ2VSb290IH0gZnJvbSAnQGNvbW1vbnMvdXRpbC9wYXRoLXV0aWxzJztcbmltcG9ydCB7IGZvcm1hdCB9IGZyb20gJ2RhdGUtZm5zJztcblxuaW1wb3J0IFVzZXJQaWN0dXJlIGZyb20gJy4uL1VzZXIvVXNlclBpY3R1cmUnO1xuXG5jb25zdCBmb3JtYXRUeXBlID0gJ3l5eXkvTU0vZGQgSEg6bW0nO1xuY29uc3QgQXV0aG9ySW5mbyA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgbW9kZSwgdXNlciwgZGF0ZSwgbG9jYXRlLFxuICB9ID0gcHJvcHM7XG5cbiAgY29uc3QgaW5mb0xhYmVsRm9yU3ViTmF2ID0gbW9kZSA9PT0gJ2NyZWF0ZSdcbiAgICA/ICdDcmVhdGVkIGJ5J1xuICAgIDogJ1VwZGF0ZWQgYnknO1xuICBjb25zdCBpbmZvTGFiZWxGb3JGb290ZXIgPSBtb2RlID09PSAnY3JlYXRlJ1xuICAgID8gJ0NyZWF0ZWQgYXQnXG4gICAgOiAnTGFzdCByZXZpc2lvbiBwb3N0ZWQgYXQnO1xuICBjb25zdCB1c2VyTGFiZWwgPSB1c2VyICE9IG51bGxcbiAgICA/IDxhIGhyZWY9e3VzZXJQYWdlUm9vdCh1c2VyKX0+e3VzZXIubmFtZX08L2E+XG4gICAgOiA8aT5Vbmtub3duPC9pPjtcblxuICBpZiAobG9jYXRlID09PSAnZm9vdGVyJykge1xuICAgIHJldHVybiA8cD57aW5mb0xhYmVsRm9yRm9vdGVyfSB7Zm9ybWF0KG5ldyBEYXRlKGRhdGUpLCBmb3JtYXRUeXBlKX0gYnkgPFVzZXJQaWN0dXJlIHVzZXI9e3VzZXJ9IHNpemU9XCJzbVwiIC8+IHt1c2VyTGFiZWx9PC9wPjtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1yLTJcIj5cbiAgICAgICAgPFVzZXJQaWN0dXJlIHVzZXI9e3VzZXJ9IHNpemU9XCJzbVwiIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXY+e2luZm9MYWJlbEZvclN1Yk5hdn0ge3VzZXJMYWJlbH08L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LW11dGVkIHRleHQtZGF0ZVwiPntmb3JtYXQobmV3IERhdGUoZGF0ZSksIGZvcm1hdFR5cGUpfTwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5BdXRob3JJbmZvLnByb3BUeXBlcyA9IHtcbiAgZGF0ZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB1c2VyOiBQcm9wVHlwZXMub2JqZWN0LFxuICBtb2RlOiBQcm9wVHlwZXMub25lT2YoWydjcmVhdGUnLCAndXBkYXRlJ10pLFxuICBsb2NhdGU6IFByb3BUeXBlcy5vbmVPZihbJ3N1Ym5hdicsICdmb290ZXInXSksXG59O1xuXG5BdXRob3JJbmZvLmRlZmF1bHRQcm9wcyA9IHtcbiAgbW9kZTogJ2NyZWF0ZScsXG4gIGxvY2F0ZTogJ3N1Ym5hdicsXG59O1xuXG5cbmV4cG9ydCBkZWZhdWx0IEF1dGhvckluZm87XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBREE7QUFJQTtBQUdBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU9BO0FBQ0E7QUFDQTtBQUZBO0FBTUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/Navbar/AuthorInfo.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Navbar/DrawerToggler.jsx":
- /*!***********************************************************!*\
- !*** ./src/client/js/components/Navbar/DrawerToggler.jsx ***!
- \***********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_NavigationContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../services/NavigationContainer */ \"./src/client/js/services/NavigationContainer.js\");\n\n\n\n\n\n\nconst DrawerToggler = props => {\n const {\n navigationContainer\n } = props;\n const clickHandler = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useCallback\"])(() => {\n navigationContainer.toggleDrawer();\n }, [navigationContainer]);\n const iconClass = props.iconClass || 'icon-menu';\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n className: \"grw-drawer-toggler btn btn-secondary\",\n type: \"button\",\n \"aria-expanded\": \"false\",\n \"aria-label\": \"Toggle navigation\",\n onClick: clickHandler\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: iconClass\n }));\n};\n/**\n * Wrapper component for using unstated\n */\n\n\nconst DrawerTogglerWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__[\"withUnstatedContainers\"])(DrawerToggler, [_services_NavigationContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]]);\nDrawerToggler.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n navigationContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_NavigationContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]).isRequired,\n iconClass: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(DrawerTogglerWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvTmF2YmFyL0RyYXdlclRvZ2dsZXIuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL05hdmJhci9EcmF3ZXJUb2dnbGVyLmpzeD9iYWZkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCB7IHdpdGhUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuXG5pbXBvcnQgeyB3aXRoVW5zdGF0ZWRDb250YWluZXJzIH0gZnJvbSAnLi4vVW5zdGF0ZWRVdGlscyc7XG5pbXBvcnQgTmF2aWdhdGlvbkNvbnRhaW5lciBmcm9tICcuLi8uLi9zZXJ2aWNlcy9OYXZpZ2F0aW9uQ29udGFpbmVyJztcblxuY29uc3QgRHJhd2VyVG9nZ2xlciA9IChwcm9wcykgPT4ge1xuXG4gIGNvbnN0IHsgbmF2aWdhdGlvbkNvbnRhaW5lciB9ID0gcHJvcHM7XG5cbiAgY29uc3QgY2xpY2tIYW5kbGVyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIG5hdmlnYXRpb25Db250YWluZXIudG9nZ2xlRHJhd2VyKCk7XG4gIH0sIFtuYXZpZ2F0aW9uQ29udGFpbmVyXSk7XG5cbiAgY29uc3QgaWNvbkNsYXNzID0gcHJvcHMuaWNvbkNsYXNzIHx8ICdpY29uLW1lbnUnO1xuXG4gIHJldHVybiAoXG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3NOYW1lPVwiZ3J3LWRyYXdlci10b2dnbGVyIGJ0biBidG4tc2Vjb25kYXJ5XCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgYXJpYS1leHBhbmRlZD1cImZhbHNlXCJcbiAgICAgIGFyaWEtbGFiZWw9XCJUb2dnbGUgbmF2aWdhdGlvblwiXG4gICAgICBvbkNsaWNrPXtjbGlja0hhbmRsZXJ9XG4gICAgPlxuICAgICAgPGkgY2xhc3NOYW1lPXtpY29uQ2xhc3N9PjwvaT5cbiAgICA8L2J1dHRvbj5cbiAgKTtcblxufTtcblxuLyoqXG4gKiBXcmFwcGVyIGNvbXBvbmVudCBmb3IgdXNpbmcgdW5zdGF0ZWRcbiAqL1xuY29uc3QgRHJhd2VyVG9nZ2xlcldyYXBwZXIgPSB3aXRoVW5zdGF0ZWRDb250YWluZXJzKERyYXdlclRvZ2dsZXIsIFtOYXZpZ2F0aW9uQ29udGFpbmVyXSk7XG5cblxuRHJhd2VyVG9nZ2xlci5wcm9wVHlwZXMgPSB7XG4gIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsIC8vICBpMThuZXh0XG4gIG5hdmlnYXRpb25Db250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKE5hdmlnYXRpb25Db250YWluZXIpLmlzUmVxdWlyZWQsXG5cbiAgaWNvbkNsYXNzOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFRyYW5zbGF0aW9uKCkoRHJhd2VyVG9nZ2xlcldyYXBwZXIpO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBT0E7QUFBQTtBQUlBO0FBRUE7Ozs7O0FBR0E7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBSkE7QUFPQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/Navbar/DrawerToggler.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Navbar/GrowiSubNavigation.jsx":
- /*!****************************************************************!*\
- !*** ./src/client/js/components/Navbar/GrowiSubNavigation.jsx ***!
- \****************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _commons_models_devided_page_path__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @commons/models/devided-page-path */ \"./src/lib/models/devided-page-path.js\");\n/* harmony import */ var _commons_models_devided_page_path__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_commons_models_devided_page_path__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _commons_models_linked_page_path__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @commons/models/linked-page-path */ \"./src/lib/models/linked-page-path.js\");\n/* harmony import */ var _commons_models_linked_page_path__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_commons_models_linked_page_path__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _commons_components_PagePathHierarchicalLink__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @commons/components/PagePathHierarchicalLink */ \"./src/lib/components/PagePathHierarchicalLink.jsx\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_NavigationContainer__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../services/NavigationContainer */ \"./src/client/js/services/NavigationContainer.js\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n/* harmony import */ var _Page_CopyDropdown__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../Page/CopyDropdown */ \"./src/client/js/components/Page/CopyDropdown.jsx\");\n/* harmony import */ var _Page_TagLabels__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../Page/TagLabels */ \"./src/client/js/components/Page/TagLabels.jsx\");\n/* harmony import */ var _SubNavButtons__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./SubNavButtons */ \"./src/client/js/components/Navbar/SubNavButtons.jsx\");\n/* harmony import */ var _PageEditorModeManager__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./PageEditorModeManager */ \"./src/client/js/components/Navbar/PageEditorModeManager.jsx\");\n/* harmony import */ var _AuthorInfo__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./AuthorInfo */ \"./src/client/js/components/Navbar/AuthorInfo.jsx\");\n/* harmony import */ var _DrawerToggler__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./DrawerToggler */ \"./src/client/js/components/Navbar/DrawerToggler.jsx\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst PagePathNav = ({\n // eslint-disable-next-line react/prop-types\n pageId,\n pagePath,\n isEditorMode,\n isCompactMode\n}) => {\n const dPagePath = new _commons_models_devided_page_path__WEBPACK_IMPORTED_MODULE_3___default.a(pagePath, false, true);\n let formerLink;\n let latterLink; // one line\n\n if (dPagePath.isRoot || dPagePath.isFormerRoot || isEditorMode) {\n const linkedPagePath = new _commons_models_linked_page_path__WEBPACK_IMPORTED_MODULE_4___default.a(pagePath);\n latterLink = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_commons_components_PagePathHierarchicalLink__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n linkedPagePath: linkedPagePath\n });\n } // two line\n else {\n const linkedPagePathFormer = new _commons_models_linked_page_path__WEBPACK_IMPORTED_MODULE_4___default.a(dPagePath.former);\n const linkedPagePathLatter = new _commons_models_linked_page_path__WEBPACK_IMPORTED_MODULE_4___default.a(dPagePath.latter);\n formerLink = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_commons_components_PagePathHierarchicalLink__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n linkedPagePath: linkedPagePathFormer\n });\n latterLink = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_commons_components_PagePathHierarchicalLink__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n linkedPagePath: linkedPagePathLatter,\n basePath: dPagePath.former\n });\n }\n\n const copyDropdownId = `copydropdown${isCompactMode ? '-subnav-compact' : ''}-${pageId}`;\n const copyDropdownToggleClassName = 'd-block text-muted bg-transparent btn-copy border-0 py-0';\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"grw-page-path-nav\"\n }, formerLink, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"d-flex align-items-center\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h1\", {\n className: \"m-0\"\n }, latterLink), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"mx-2\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Page_CopyDropdown__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n pageId: pageId,\n pagePath: pagePath,\n dropdownToggleId: copyDropdownId,\n dropdownToggleClassName: copyDropdownToggleClassName\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"ti-clipboard\"\n })))));\n};\n\nconst GrowiSubNavigation = props => {\n const {\n appContainer,\n navigationContainer,\n pageContainer,\n isCompactMode\n } = props;\n const {\n isDrawerMode,\n editorMode,\n isDeviceSmallerThanMd\n } = navigationContainer.state;\n const {\n pageId,\n path,\n createdAt,\n creator,\n updatedAt,\n revisionAuthor,\n isPageExist\n } = pageContainer.state;\n const {\n isGuestUser\n } = appContainer;\n const isEditorMode = editorMode !== 'view'; // Tags cannot be edited while the new page and editorMode is view\n\n const isTagLabelHidden = editorMode !== 'edit' && !isPageExist;\n\n function onPageEditorModeButtonClicked(viewType) {\n navigationContainer.setEditorMode(viewType);\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: `grw-subnav container-fluid d-flex align-items-center justify-content-between ${isCompactMode ? 'grw-subnav-compact d-print-none' : ''}`\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"d-flex grw-subnav-left-side\"\n }, isDrawerMode && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: `d-none d-md-flex align-items-center ${isEditorMode ? 'mr-2 pr-2' : 'border-right mr-4 pr-4'}`\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_DrawerToggler__WEBPACK_IMPORTED_MODULE_15__[\"default\"], null)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"grw-path-nav-container\"\n }, pageContainer.isAbleToShowTagLabel && !isCompactMode && !isTagLabelHidden && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"grw-taglabels-container\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Page_TagLabels__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n editorMode: editorMode\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PagePathNav, {\n pageId: pageId,\n pagePath: path,\n isEditorMode: isEditorMode,\n isCompactMode: isCompactMode\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"d-flex\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"d-flex flex-column align-items-end\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"d-flex\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SubNavButtons__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n isCompactMode: isCompactMode\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"mt-2\"\n }, pageContainer.isAbleToShowPageEditorModeManager && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageEditorModeManager__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n onPageEditorModeButtonClicked: onPageEditorModeButtonClicked,\n isBtnDisabled: isGuestUser,\n editorMode: editorMode,\n isDeviceSmallerThanMd: isDeviceSmallerThanMd\n }))), pageContainer.isAbleToShowPageAuthors && !isCompactMode && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"ul\", {\n className: \"authors text-nowrap border-left d-none d-lg-block d-edit-none py-2 pl-4 mb-0 ml-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", {\n className: \"pb-1\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AuthorInfo__WEBPACK_IMPORTED_MODULE_14__[\"default\"], {\n user: creator,\n date: createdAt,\n locate: \"subnav\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", {\n className: \"mt-1 pt-1 border-top\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AuthorInfo__WEBPACK_IMPORTED_MODULE_14__[\"default\"], {\n user: revisionAuthor,\n date: updatedAt,\n mode: \"update\",\n locate: \"subnav\"\n })))));\n};\n/**\n * Wrapper component for using unstated\n */\n\n\nconst GrowiSubNavigationWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_6__[\"withUnstatedContainers\"])(GrowiSubNavigation, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_7__[\"default\"], _services_NavigationContainer__WEBPACK_IMPORTED_MODULE_8__[\"default\"], _services_PageContainer__WEBPACK_IMPORTED_MODULE_9__[\"default\"]]);\nGrowiSubNavigation.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_7__[\"default\"]).isRequired,\n navigationContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_NavigationContainer__WEBPACK_IMPORTED_MODULE_8__[\"default\"]).isRequired,\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_9__[\"default\"]).isRequired,\n isCompactMode: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(GrowiSubNavigationWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvTmF2YmFyL0dyb3dpU3ViTmF2aWdhdGlvbi5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvTmF2YmFyL0dyb3dpU3ViTmF2aWdhdGlvbi5qc3g/M2FjOSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuaW1wb3J0IHsgd2l0aFRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5cbmltcG9ydCBEZXZpZGVkUGFnZVBhdGggZnJvbSAnQGNvbW1vbnMvbW9kZWxzL2RldmlkZWQtcGFnZS1wYXRoJztcbmltcG9ydCBMaW5rZWRQYWdlUGF0aCBmcm9tICdAY29tbW9ucy9tb2RlbHMvbGlua2VkLXBhZ2UtcGF0aCc7XG5pbXBvcnQgUGFnZVBhdGhIaWVyYXJjaGljYWxMaW5rIGZyb20gJ0Bjb21tb25zL2NvbXBvbmVudHMvUGFnZVBhdGhIaWVyYXJjaGljYWxMaW5rJztcblxuaW1wb3J0IHsgd2l0aFVuc3RhdGVkQ29udGFpbmVycyB9IGZyb20gJy4uL1Vuc3RhdGVkVXRpbHMnO1xuaW1wb3J0IEFwcENvbnRhaW5lciBmcm9tICcuLi8uLi9zZXJ2aWNlcy9BcHBDb250YWluZXInO1xuaW1wb3J0IE5hdmlnYXRpb25Db250YWluZXIgZnJvbSAnLi4vLi4vc2VydmljZXMvTmF2aWdhdGlvbkNvbnRhaW5lcic7XG5pbXBvcnQgUGFnZUNvbnRhaW5lciBmcm9tICcuLi8uLi9zZXJ2aWNlcy9QYWdlQ29udGFpbmVyJztcblxuaW1wb3J0IENvcHlEcm9wZG93biBmcm9tICcuLi9QYWdlL0NvcHlEcm9wZG93bic7XG5pbXBvcnQgVGFnTGFiZWxzIGZyb20gJy4uL1BhZ2UvVGFnTGFiZWxzJztcbmltcG9ydCBTdWJuYXZCdXR0b25zIGZyb20gJy4vU3ViTmF2QnV0dG9ucyc7XG5pbXBvcnQgUGFnZUVkaXRvck1vZGVNYW5hZ2VyIGZyb20gJy4vUGFnZUVkaXRvck1vZGVNYW5hZ2VyJztcblxuaW1wb3J0IEF1dGhvckluZm8gZnJvbSAnLi9BdXRob3JJbmZvJztcbmltcG9ydCBEcmF3ZXJUb2dnbGVyIGZyb20gJy4vRHJhd2VyVG9nZ2xlcic7XG5cbmNvbnN0IFBhZ2VQYXRoTmF2ID0gKHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L3Byb3AtdHlwZXNcbiAgcGFnZUlkLCBwYWdlUGF0aCwgaXNFZGl0b3JNb2RlLCBpc0NvbXBhY3RNb2RlLFxufSkgPT4ge1xuXG4gIGNvbnN0IGRQYWdlUGF0aCA9IG5ldyBEZXZpZGVkUGFnZVBhdGgocGFnZVBhdGgsIGZhbHNlLCB0cnVlKTtcblxuICBsZXQgZm9ybWVyTGluaztcbiAgbGV0IGxhdHRlckxpbms7XG5cbiAgLy8gb25lIGxpbmVcbiAgaWYgKGRQYWdlUGF0aC5pc1Jvb3QgfHwgZFBhZ2VQYXRoLmlzRm9ybWVyUm9vdCB8fCBpc0VkaXRvck1vZGUpIHtcbiAgICBjb25zdCBsaW5rZWRQYWdlUGF0aCA9IG5ldyBMaW5rZWRQYWdlUGF0aChwYWdlUGF0aCk7XG4gICAgbGF0dGVyTGluayA9IDxQYWdlUGF0aEhpZXJhcmNoaWNhbExpbmsgbGlua2VkUGFnZVBhdGg9e2xpbmtlZFBhZ2VQYXRofSAvPjtcbiAgfVxuICAvLyB0d28gbGluZVxuICBlbHNlIHtcbiAgICBjb25zdCBsaW5rZWRQYWdlUGF0aEZvcm1lciA9IG5ldyBMaW5rZWRQYWdlUGF0aChkUGFnZVBhdGguZm9ybWVyKTtcbiAgICBjb25zdCBsaW5rZWRQYWdlUGF0aExhdHRlciA9IG5ldyBMaW5rZWRQYWdlUGF0aChkUGFnZVBhdGgubGF0dGVyKTtcbiAgICBmb3JtZXJMaW5rID0gPFBhZ2VQYXRoSGllcmFyY2hpY2FsTGluayBsaW5rZWRQYWdlUGF0aD17bGlua2VkUGFnZVBhdGhGb3JtZXJ9IC8+O1xuICAgIGxhdHRlckxpbmsgPSA8UGFnZVBhdGhIaWVyYXJjaGljYWxMaW5rIGxpbmtlZFBhZ2VQYXRoPXtsaW5rZWRQYWdlUGF0aExhdHRlcn0gYmFzZVBhdGg9e2RQYWdlUGF0aC5mb3JtZXJ9IC8+O1xuICB9XG5cbiAgY29uc3QgY29weURyb3Bkb3duSWQgPSBgY29weWRyb3Bkb3duJHtpc0NvbXBhY3RNb2RlID8gJy1zdWJuYXYtY29tcGFjdCcgOiAnJ30tJHtwYWdlSWR9YDtcbiAgY29uc3QgY29weURyb3Bkb3duVG9nZ2xlQ2xhc3NOYW1lID0gJ2QtYmxvY2sgdGV4dC1tdXRlZCBiZy10cmFuc3BhcmVudCBidG4tY29weSBib3JkZXItMCBweS0wJztcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3J3LXBhZ2UtcGF0aC1uYXZcIj5cbiAgICAgIHtmb3JtZXJMaW5rfVxuICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8aDEgY2xhc3NOYW1lPVwibS0wXCI+e2xhdHRlckxpbmt9PC9oMT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC0yXCI+XG4gICAgICAgICAgPENvcHlEcm9wZG93blxuICAgICAgICAgICAgcGFnZUlkPXtwYWdlSWR9XG4gICAgICAgICAgICBwYWdlUGF0aD17cGFnZVBhdGh9XG4gICAgICAgICAgICBkcm9wZG93blRvZ2dsZUlkPXtjb3B5RHJvcGRvd25JZH1cbiAgICAgICAgICAgIGRyb3Bkb3duVG9nZ2xlQ2xhc3NOYW1lPXtjb3B5RHJvcGRvd25Ub2dnbGVDbGFzc05hbWV9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGkgY2xhc3NOYW1lPVwidGktY2xpcGJvYXJkXCI+PC9pPlxuICAgICAgICAgIDwvQ29weURyb3Bkb3duPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmNvbnN0IEdyb3dpU3ViTmF2aWdhdGlvbiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgYXBwQ29udGFpbmVyLCBuYXZpZ2F0aW9uQ29udGFpbmVyLCBwYWdlQ29udGFpbmVyLCBpc0NvbXBhY3RNb2RlLFxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IHsgaXNEcmF3ZXJNb2RlLCBlZGl0b3JNb2RlLCBpc0RldmljZVNtYWxsZXJUaGFuTWQgfSA9IG5hdmlnYXRpb25Db250YWluZXIuc3RhdGU7XG4gIGNvbnN0IHtcbiAgICBwYWdlSWQsIHBhdGgsIGNyZWF0ZWRBdCwgY3JlYXRvciwgdXBkYXRlZEF0LCByZXZpc2lvbkF1dGhvciwgaXNQYWdlRXhpc3QsXG4gIH0gPSBwYWdlQ29udGFpbmVyLnN0YXRlO1xuXG4gIGNvbnN0IHsgaXNHdWVzdFVzZXIgfSA9IGFwcENvbnRhaW5lcjtcbiAgY29uc3QgaXNFZGl0b3JNb2RlID0gZWRpdG9yTW9kZSAhPT0gJ3ZpZXcnO1xuICAvLyBUYWdzIGNhbm5vdCBiZSBlZGl0ZWQgd2hpbGUgdGhlIG5ldyBwYWdlIGFuZCBlZGl0b3JNb2RlIGlzIHZpZXdcbiAgY29uc3QgaXNUYWdMYWJlbEhpZGRlbiA9IChlZGl0b3JNb2RlICE9PSAnZWRpdCcgJiYgIWlzUGFnZUV4aXN0KTtcblxuICBmdW5jdGlvbiBvblBhZ2VFZGl0b3JNb2RlQnV0dG9uQ2xpY2tlZCh2aWV3VHlwZSkge1xuICAgIG5hdmlnYXRpb25Db250YWluZXIuc2V0RWRpdG9yTW9kZSh2aWV3VHlwZSk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtgZ3J3LXN1Ym5hdiBjb250YWluZXItZmx1aWQgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiAke2lzQ29tcGFjdE1vZGUgPyAnZ3J3LXN1Ym5hdi1jb21wYWN0IGQtcHJpbnQtbm9uZScgOiAnJ31gfT5cblxuICAgICAgey8qIExlZnQgc2lkZSAqL31cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZC1mbGV4IGdydy1zdWJuYXYtbGVmdC1zaWRlXCI+XG4gICAgICAgIHsgaXNEcmF3ZXJNb2RlICYmIChcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YGQtbm9uZSBkLW1kLWZsZXggYWxpZ24taXRlbXMtY2VudGVyICR7aXNFZGl0b3JNb2RlID8gJ21yLTIgcHItMicgOiAnYm9yZGVyLXJpZ2h0IG1yLTQgcHItNCd9YH0+XG4gICAgICAgICAgICA8RHJhd2VyVG9nZ2xlciAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApIH1cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdydy1wYXRoLW5hdi1jb250YWluZXJcIj5cbiAgICAgICAgICB7IHBhZ2VDb250YWluZXIuaXNBYmxlVG9TaG93VGFnTGFiZWwgJiYgIWlzQ29tcGFjdE1vZGUgJiYgIWlzVGFnTGFiZWxIaWRkZW4gJiYgKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncnctdGFnbGFiZWxzLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICA8VGFnTGFiZWxzIGVkaXRvck1vZGU9e2VkaXRvck1vZGV9IC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApIH1cbiAgICAgICAgICA8UGFnZVBhdGhOYXYgcGFnZUlkPXtwYWdlSWR9IHBhZ2VQYXRoPXtwYXRofSBpc0VkaXRvck1vZGU9e2lzRWRpdG9yTW9kZX0gaXNDb21wYWN0TW9kZT17aXNDb21wYWN0TW9kZX0gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgey8qIFJpZ2h0IHNpZGUgKi99XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImQtZmxleFwiPlxuXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZC1mbGV4IGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWVuZFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZC1mbGV4XCI+XG4gICAgICAgICAgICA8U3VibmF2QnV0dG9ucyBpc0NvbXBhY3RNb2RlPXtpc0NvbXBhY3RNb2RlfSAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXQtMlwiPlxuICAgICAgICAgICAge3BhZ2VDb250YWluZXIuaXNBYmxlVG9TaG93UGFnZUVkaXRvck1vZGVNYW5hZ2VyICYmIChcbiAgICAgICAgICAgICAgPFBhZ2VFZGl0b3JNb2RlTWFuYWdlclxuICAgICAgICAgICAgICAgIG9uUGFnZUVkaXRvck1vZGVCdXR0b25DbGlja2VkPXtvblBhZ2VFZGl0b3JNb2RlQnV0dG9uQ2xpY2tlZH1cbiAgICAgICAgICAgICAgICBpc0J0bkRpc2FibGVkPXtpc0d1ZXN0VXNlcn1cbiAgICAgICAgICAgICAgICBlZGl0b3JNb2RlPXtlZGl0b3JNb2RlfVxuICAgICAgICAgICAgICAgIGlzRGV2aWNlU21hbGxlclRoYW5NZD17aXNEZXZpY2VTbWFsbGVyVGhhbk1kfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgey8qIFBhZ2UgQXV0aG9ycyAqL31cbiAgICAgICAgeyAocGFnZUNvbnRhaW5lci5pc0FibGVUb1Nob3dQYWdlQXV0aG9ycyAmJiAhaXNDb21wYWN0TW9kZSkgJiYgKFxuICAgICAgICAgIDx1bCBjbGFzc05hbWU9XCJhdXRob3JzIHRleHQtbm93cmFwIGJvcmRlci1sZWZ0IGQtbm9uZSBkLWxnLWJsb2NrIGQtZWRpdC1ub25lIHB5LTIgcGwtNCBtYi0wIG1sLTNcIj5cbiAgICAgICAgICAgIDxsaSBjbGFzc05hbWU9XCJwYi0xXCI+XG4gICAgICAgICAgICAgIDxBdXRob3JJbmZvIHVzZXI9e2NyZWF0b3J9IGRhdGU9e2NyZWF0ZWRBdH0gbG9jYXRlPVwic3VibmF2XCIgLz5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8bGkgY2xhc3NOYW1lPVwibXQtMSBwdC0xIGJvcmRlci10b3BcIj5cbiAgICAgICAgICAgICAgPEF1dGhvckluZm8gdXNlcj17cmV2aXNpb25BdXRob3J9IGRhdGU9e3VwZGF0ZWRBdH0gbW9kZT1cInVwZGF0ZVwiIGxvY2F0ZT1cInN1Ym5hdlwiIC8+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgIDwvdWw+XG4gICAgICAgICkgfVxuICAgICAgPC9kaXY+XG5cbiAgICA8L2Rpdj5cbiAgKTtcblxufTtcblxuLyoqXG4gKiBXcmFwcGVyIGNvbXBvbmVudCBmb3IgdXNpbmcgdW5zdGF0ZWRcbiAqL1xuY29uc3QgR3Jvd2lTdWJOYXZpZ2F0aW9uV3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoR3Jvd2lTdWJOYXZpZ2F0aW9uLCBbQXBwQ29udGFpbmVyLCBOYXZpZ2F0aW9uQ29udGFpbmVyLCBQYWdlQ29udGFpbmVyXSk7XG5cblxuR3Jvd2lTdWJOYXZpZ2F0aW9uLnByb3BUeXBlcyA9IHtcbiAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCwgLy8gIGkxOG5leHRcbiAgYXBwQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihBcHBDb250YWluZXIpLmlzUmVxdWlyZWQsXG4gIG5hdmlnYXRpb25Db250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKE5hdmlnYXRpb25Db250YWluZXIpLmlzUmVxdWlyZWQsXG4gIHBhZ2VDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKFBhZ2VDb250YWluZXIpLmlzUmVxdWlyZWQsXG5cbiAgaXNDb21wYWN0TW9kZTogUHJvcFR5cGVzLmJvb2wsXG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoVHJhbnNsYXRpb24oKShHcm93aVN1Yk5hdmlnYXRpb25XcmFwcGVyKTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUZBO0FBS0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFIQTtBQU1BO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU1BO0FBQUE7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBREE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQURBO0FBSUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdBO0FBQUE7QUFFQTtBQUFBO0FBS0E7QUFBQTtBQUVBO0FBQUE7QUFDQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQVlBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVNBO0FBRUE7Ozs7O0FBR0E7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQU5BO0FBU0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/Navbar/GrowiSubNavigation.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Navbar/GrowiSubNavigationSwitcher.jsx":
- /*!************************************************************************!*\
- !*** ./src/client/js/components/Navbar/GrowiSubNavigationSwitcher.jsx ***!
- \************************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @alias/logger */ \"./src/lib/service/logger/index.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_alias_logger__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var sticky_events__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! sticky-events */ \"./node_modules/sticky-events/dist/sticky-events.umd.js\");\n/* harmony import */ var sticky_events__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(sticky_events__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var throttle_debounce__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! throttle-debounce */ \"./node_modules/throttle-debounce/index.esm.js\");\n/* harmony import */ var _GrowiSubNavigation__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./GrowiSubNavigation */ \"./src/client/js/components/Navbar/GrowiSubNavigation.jsx\");\n // import PropTypes from 'prop-types';\n\n\n\n\n\nconst logger = _alias_logger__WEBPACK_IMPORTED_MODULE_1___default()('growi:cli:GrowiSubNavigationSticky');\n/**\n * Subnavigation\n *\n * needs:\n * #grw-subnav-fixed-container element\n * #grw-subnav-sticky-trigger element\n *\n * @param {object} props\n */\n\nconst GrowiSubNavigationSwitcher = props => {\n const [isVisible, setVisible] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(false);\n const resetWidth = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useCallback\"])(() => {\n const elem = document.getElementById('grw-subnav-fixed-container');\n\n if (elem == null || elem.parentNode == null) {\n return;\n } // get parent width\n\n\n const {\n clientWidth: width\n } = elem.parentNode; // update style\n\n elem.style.width = `${width}px`;\n }, []); // setup effect by resizing event\n\n Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useEffect\"])(() => {\n const resizeHandler = Object(throttle_debounce__WEBPACK_IMPORTED_MODULE_3__[\"debounce\"])(100, resetWidth);\n window.addEventListener('resize', resizeHandler); // return clean up handler\n\n return () => {\n window.removeEventListener('resize', resizeHandler);\n };\n }, [resetWidth]);\n const stickyChangeHandler = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useCallback\"])(event => {\n logger.debug('StickyEvents.CHANGE detected');\n setVisible(event.detail.isSticky);\n }, []); // setup effect by sticky event\n\n Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useEffect\"])(() => {\n // sticky\n // See: https://github.com/ryanwalters/sticky-events\n const stickyEvents = new sticky_events__WEBPACK_IMPORTED_MODULE_2___default.a({\n stickySelector: '#grw-subnav-sticky-trigger'\n });\n const {\n stickySelector\n } = stickyEvents;\n const elem = document.querySelector(stickySelector);\n elem.addEventListener(sticky_events__WEBPACK_IMPORTED_MODULE_2___default.a.CHANGE, stickyChangeHandler); // return clean up handler\n\n return () => {\n elem.removeEventListener(sticky_events__WEBPACK_IMPORTED_MODULE_2___default.a.CHANGE, stickyChangeHandler);\n };\n }, [stickyChangeHandler]); // update width\n\n Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useEffect\"])(() => {\n resetWidth();\n });\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: `grw-subnav-switcher ${isVisible ? '' : 'grw-subnav-switcher-hidden'}`\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n id: \"grw-subnav-fixed-container\",\n className: \"grw-subnav-fixed-container position-fixed\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_GrowiSubNavigation__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n isCompactMode: true\n })));\n};\n\nGrowiSubNavigationSwitcher.propTypes = {};\n/* harmony default export */ __webpack_exports__[\"default\"] = (GrowiSubNavigationSwitcher);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvTmF2YmFyL0dyb3dpU3ViTmF2aWdhdGlvblN3aXRjaGVyLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9OYXZiYXIvR3Jvd2lTdWJOYXZpZ2F0aW9uU3dpdGNoZXIuanN4P2U2NTUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QsIHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnO1xuLy8gaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBsb2dnZXJGYWN0b3J5IGZyb20gJ0BhbGlhcy9sb2dnZXInO1xuXG5pbXBvcnQgU3RpY2t5RXZlbnRzIGZyb20gJ3N0aWNreS1ldmVudHMnO1xuaW1wb3J0IHsgZGVib3VuY2UgfSBmcm9tICd0aHJvdHRsZS1kZWJvdW5jZSc7XG5cbmltcG9ydCBHcm93aVN1Yk5hdmlnYXRpb24gZnJvbSAnLi9Hcm93aVN1Yk5hdmlnYXRpb24nO1xuXG5jb25zdCBsb2dnZXIgPSBsb2dnZXJGYWN0b3J5KCdncm93aTpjbGk6R3Jvd2lTdWJOYXZpZ2F0aW9uU3RpY2t5Jyk7XG5cblxuLyoqXG4gKiBTdWJuYXZpZ2F0aW9uXG4gKlxuICogbmVlZHM6XG4gKiAgICNncnctc3VibmF2LWZpeGVkLWNvbnRhaW5lciBlbGVtZW50XG4gKiAgICNncnctc3VibmF2LXN0aWNreS10cmlnZ2VyIGVsZW1lbnRcbiAqXG4gKiBAcGFyYW0ge29iamVjdH0gcHJvcHNcbiAqL1xuY29uc3QgR3Jvd2lTdWJOYXZpZ2F0aW9uU3dpdGNoZXIgPSAocHJvcHMpID0+IHtcblxuICBjb25zdCBbaXNWaXNpYmxlLCBzZXRWaXNpYmxlXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICBjb25zdCByZXNldFdpZHRoID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IGVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ3J3LXN1Ym5hdi1maXhlZC1jb250YWluZXInKTtcblxuICAgIGlmIChlbGVtID09IG51bGwgfHwgZWxlbS5wYXJlbnROb2RlID09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBnZXQgcGFyZW50IHdpZHRoXG4gICAgY29uc3QgeyBjbGllbnRXaWR0aDogd2lkdGggfSA9IGVsZW0ucGFyZW50Tm9kZTtcbiAgICAvLyB1cGRhdGUgc3R5bGVcbiAgICBlbGVtLnN0eWxlLndpZHRoID0gYCR7d2lkdGh9cHhgO1xuICB9LCBbXSk7XG5cbiAgLy8gc2V0dXAgZWZmZWN0IGJ5IHJlc2l6aW5nIGV2ZW50XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgcmVzaXplSGFuZGxlciA9IGRlYm91bmNlKDEwMCwgcmVzZXRXaWR0aCk7XG5cbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgcmVzaXplSGFuZGxlcik7XG5cbiAgICAvLyByZXR1cm4gY2xlYW4gdXAgaGFuZGxlclxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgcmVzaXplSGFuZGxlcik7XG4gICAgfTtcbiAgfSwgW3Jlc2V0V2lkdGhdKTtcblxuICBjb25zdCBzdGlja3lDaGFuZ2VIYW5kbGVyID0gdXNlQ2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgbG9nZ2VyLmRlYnVnKCdTdGlja3lFdmVudHMuQ0hBTkdFIGRldGVjdGVkJyk7XG4gICAgc2V0VmlzaWJsZShldmVudC5kZXRhaWwuaXNTdGlja3kpO1xuICB9LCBbXSk7XG5cbiAgLy8gc2V0dXAgZWZmZWN0IGJ5IHN0aWNreSBldmVudFxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIHN0aWNreVxuICAgIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL3J5YW53YWx0ZXJzL3N0aWNreS1ldmVudHNcbiAgICBjb25zdCBzdGlja3lFdmVudHMgPSBuZXcgU3RpY2t5RXZlbnRzKHsgc3RpY2t5U2VsZWN0b3I6ICcjZ3J3LXN1Ym5hdi1zdGlja3ktdHJpZ2dlcicgfSk7XG4gICAgY29uc3QgeyBzdGlja3lTZWxlY3RvciB9ID0gc3RpY2t5RXZlbnRzO1xuICAgIGNvbnN0IGVsZW0gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHN0aWNreVNlbGVjdG9yKTtcbiAgICBlbGVtLmFkZEV2ZW50TGlzdGVuZXIoU3RpY2t5RXZlbnRzLkNIQU5HRSwgc3RpY2t5Q2hhbmdlSGFuZGxlcik7XG5cbiAgICAvLyByZXR1cm4gY2xlYW4gdXAgaGFuZGxlclxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBlbGVtLnJlbW92ZUV2ZW50TGlzdGVuZXIoU3RpY2t5RXZlbnRzLkNIQU5HRSwgc3RpY2t5Q2hhbmdlSGFuZGxlcik7XG4gICAgfTtcbiAgfSwgW3N0aWNreUNoYW5nZUhhbmRsZXJdKTtcblxuICAvLyB1cGRhdGUgd2lkdGhcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXNldFdpZHRoKCk7XG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e2Bncnctc3VibmF2LXN3aXRjaGVyICR7aXNWaXNpYmxlID8gJycgOiAnZ3J3LXN1Ym5hdi1zd2l0Y2hlci1oaWRkZW4nfWB9PlxuICAgICAgPGRpdiBpZD1cImdydy1zdWJuYXYtZml4ZWQtY29udGFpbmVyXCIgY2xhc3NOYW1lPVwiZ3J3LXN1Ym5hdi1maXhlZC1jb250YWluZXIgcG9zaXRpb24tZml4ZWRcIj5cbiAgICAgICAgPEdyb3dpU3ViTmF2aWdhdGlvbiBpc0NvbXBhY3RNb2RlIC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkdyb3dpU3ViTmF2aWdhdGlvblN3aXRjaGVyLnByb3BUeXBlcyA9IHtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEdyb3dpU3ViTmF2aWdhdGlvblN3aXRjaGVyO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFFQTtBQUdBOzs7Ozs7Ozs7O0FBU0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFJQTtBQUNBO0FBQ0E7QUFHQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/Navbar/GrowiSubNavigationSwitcher.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Navbar/PageEditorModeManager.jsx":
- /*!*******************************************************************!*\
- !*** ./src/client/js/components/Navbar/PageEditorModeManager.jsx ***!
- \*******************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var reactstrap_es_UncontrolledTooltip__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! reactstrap/es/UncontrolledTooltip */ \"./node_modules/reactstrap/es/UncontrolledTooltip.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n\n\n\n\n\n\n/* eslint-disable react/prop-types */\n\nconst PageEditorModeButtonWrapper = react__WEBPACK_IMPORTED_MODULE_0___default.a.memo(({\n editorMode,\n isBtnDisabled,\n onClick,\n targetMode,\n icon,\n label,\n id\n}) => {\n const classNames = [`btn btn-outline-primary ${targetMode}-button px-1`];\n\n if (editorMode === targetMode) {\n classNames.push('active');\n }\n\n if (isBtnDisabled) {\n classNames.push('disabled');\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: classNames.join(' '),\n onClick: () => {\n onClick(targetMode);\n },\n id: id\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"d-flex flex-column flex-md-row justify-content-center\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"grw-page-editor-mode-manager-icon mr-md-1\"\n }, icon), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"grw-page-editor-mode-manager-label\"\n }, label)));\n});\n/* eslint-enable react/prop-types */\n\nfunction PageEditorModeManager(props) {\n const {\n t,\n appContainer,\n editorMode,\n onPageEditorModeButtonClicked,\n isBtnDisabled,\n isDeviceSmallerThanMd\n } = props;\n const isAdmin = appContainer.isAdmin;\n const isHackmdEnabled = appContainer.config.env.HACKMD_URI != null;\n const showHackmdBtn = isHackmdEnabled || isAdmin;\n const showHackmdDisabledTooltip = isAdmin && !isHackmdEnabled && editorMode !== 'hackmd';\n const pageEditorModeButtonClickedHandler = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useCallback\"])(viewType => {\n if (isBtnDisabled) {\n return;\n }\n\n if (onPageEditorModeButtonClicked != null) {\n onPageEditorModeButtonClicked(viewType);\n }\n }, [isBtnDisabled, onPageEditorModeButtonClicked]);\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"btn-group grw-page-editor-mode-manager\",\n role: \"group\",\n \"aria-label\": \"page-editor-mode-manager\",\n id: \"grw-page-editor-mode-manager\"\n }, (!isDeviceSmallerThanMd || editorMode !== 'view') && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PageEditorModeButtonWrapper, {\n editorMode: editorMode,\n isBtnDisabled: isBtnDisabled,\n onClick: pageEditorModeButtonClickedHandler,\n targetMode: \"view\",\n icon: react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-control-play\"\n }),\n label: t('view')\n }), (!isDeviceSmallerThanMd || editorMode === 'view') && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PageEditorModeButtonWrapper, {\n editorMode: editorMode,\n isBtnDisabled: isBtnDisabled,\n onClick: pageEditorModeButtonClickedHandler,\n targetMode: \"edit\",\n icon: react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-note\"\n }),\n label: t('Edit')\n }), (!isDeviceSmallerThanMd || editorMode === 'view') && showHackmdBtn && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PageEditorModeButtonWrapper, {\n editorMode: editorMode,\n isBtnDisabled: isBtnDisabled,\n onClick: pageEditorModeButtonClickedHandler,\n targetMode: \"hackmd\",\n icon: react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"fa fa-file-text-o\"\n }),\n label: t('hackmd.hack_md'),\n id: \"grw-page-editor-mode-manager-hackmd-button\"\n })), isBtnDisabled && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_UncontrolledTooltip__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n placement: \"top\",\n target: \"grw-page-editor-mode-manager\",\n fade: false\n }, t('Not available for guest')), !isBtnDisabled && showHackmdDisabledTooltip && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_UncontrolledTooltip__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n placement: \"top\",\n target: \"grw-page-editor-mode-manager-hackmd-button\",\n fade: false\n }, t('hackmd.not_set_up')));\n}\n\nPageEditorModeManager.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]).isRequired,\n onPageEditorModeButtonClicked: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n isBtnDisabled: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n editorMode: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n isDeviceSmallerThanMd: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool\n};\nPageEditorModeManager.defaultProps = {\n isBtnDisabled: false,\n isDeviceSmallerThanMd: false\n};\n/**\n * Wrapper component for using unstated\n */\n\nconst PageEditorModeManagerWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_4__[\"withUnstatedContainers\"])(PageEditorModeManager, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(PageEditorModeManagerWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvTmF2YmFyL1BhZ2VFZGl0b3JNb2RlTWFuYWdlci5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvTmF2YmFyL1BhZ2VFZGl0b3JNb2RlTWFuYWdlci5qc3g/MjJhOCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgd2l0aFRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5pbXBvcnQgeyBVbmNvbnRyb2xsZWRUb29sdGlwIH0gZnJvbSAncmVhY3RzdHJhcCc7XG5cbmltcG9ydCB7IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMgfSBmcm9tICcuLi9VbnN0YXRlZFV0aWxzJztcbmltcG9ydCBBcHBDb250YWluZXIgZnJvbSAnLi4vLi4vc2VydmljZXMvQXBwQ29udGFpbmVyJztcblxuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvcHJvcC10eXBlcyAqL1xuY29uc3QgUGFnZUVkaXRvck1vZGVCdXR0b25XcmFwcGVyID0gUmVhY3QubWVtbygoe1xuICBlZGl0b3JNb2RlLCBpc0J0bkRpc2FibGVkLCBvbkNsaWNrLCB0YXJnZXRNb2RlLCBpY29uLCBsYWJlbCwgaWQsXG59KSA9PiB7XG4gIGNvbnN0IGNsYXNzTmFtZXMgPSBbYGJ0biBidG4tb3V0bGluZS1wcmltYXJ5ICR7dGFyZ2V0TW9kZX0tYnV0dG9uIHB4LTFgXTtcbiAgaWYgKGVkaXRvck1vZGUgPT09IHRhcmdldE1vZGUpIHtcbiAgICBjbGFzc05hbWVzLnB1c2goJ2FjdGl2ZScpO1xuICB9XG4gIGlmIChpc0J0bkRpc2FibGVkKSB7XG4gICAgY2xhc3NOYW1lcy5wdXNoKCdkaXNhYmxlZCcpO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcy5qb2luKCcgJyl9XG4gICAgICBvbkNsaWNrPXsoKSA9PiB7IG9uQ2xpY2sodGFyZ2V0TW9kZSkgfX1cbiAgICAgIGlkPXtpZH1cbiAgICA+XG4gICAgICA8c3BhbiBjbGFzc05hbWU9XCJkLWZsZXggZmxleC1jb2x1bW4gZmxleC1tZC1yb3cganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJncnctcGFnZS1lZGl0b3ItbW9kZS1tYW5hZ2VyLWljb24gbXItbWQtMVwiPntpY29ufTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZ3J3LXBhZ2UtZWRpdG9yLW1vZGUtbWFuYWdlci1sYWJlbFwiPntsYWJlbH08L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICk7XG59KTtcbi8qIGVzbGludC1lbmFibGUgcmVhY3QvcHJvcC10eXBlcyAqL1xuXG5mdW5jdGlvbiBQYWdlRWRpdG9yTW9kZU1hbmFnZXIocHJvcHMpIHtcbiAgY29uc3Qge1xuICAgIHQsIGFwcENvbnRhaW5lcixcbiAgICBlZGl0b3JNb2RlLCBvblBhZ2VFZGl0b3JNb2RlQnV0dG9uQ2xpY2tlZCwgaXNCdG5EaXNhYmxlZCwgaXNEZXZpY2VTbWFsbGVyVGhhbk1kLFxuICB9ID0gcHJvcHM7XG5cbiAgY29uc3QgaXNBZG1pbiA9IGFwcENvbnRhaW5lci5pc0FkbWluO1xuICBjb25zdCBpc0hhY2ttZEVuYWJsZWQgPSBhcHBDb250YWluZXIuY29uZmlnLmVudi5IQUNLTURfVVJJICE9IG51bGw7XG4gIGNvbnN0IHNob3dIYWNrbWRCdG4gPSBpc0hhY2ttZEVuYWJsZWQgfHwgaXNBZG1pbjtcbiAgY29uc3Qgc2hvd0hhY2ttZERpc2FibGVkVG9vbHRpcCA9IGlzQWRtaW4gJiYgIWlzSGFja21kRW5hYmxlZCAmJiBlZGl0b3JNb2RlICE9PSAnaGFja21kJztcblxuICBjb25zdCBwYWdlRWRpdG9yTW9kZUJ1dHRvbkNsaWNrZWRIYW5kbGVyID0gdXNlQ2FsbGJhY2soKHZpZXdUeXBlKSA9PiB7XG4gICAgaWYgKGlzQnRuRGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKG9uUGFnZUVkaXRvck1vZGVCdXR0b25DbGlja2VkICE9IG51bGwpIHtcbiAgICAgIG9uUGFnZUVkaXRvck1vZGVCdXR0b25DbGlja2VkKHZpZXdUeXBlKTtcbiAgICB9XG4gIH0sIFtpc0J0bkRpc2FibGVkLCBvblBhZ2VFZGl0b3JNb2RlQnV0dG9uQ2xpY2tlZF0pO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPVwiYnRuLWdyb3VwIGdydy1wYWdlLWVkaXRvci1tb2RlLW1hbmFnZXJcIlxuICAgICAgICByb2xlPVwiZ3JvdXBcIlxuICAgICAgICBhcmlhLWxhYmVsPVwicGFnZS1lZGl0b3ItbW9kZS1tYW5hZ2VyXCJcbiAgICAgICAgaWQ9XCJncnctcGFnZS1lZGl0b3ItbW9kZS1tYW5hZ2VyXCJcbiAgICAgID5cbiAgICAgICAgeyghaXNEZXZpY2VTbWFsbGVyVGhhbk1kIHx8IGVkaXRvck1vZGUgIT09ICd2aWV3JykgJiYgKFxuICAgICAgICAgIDxQYWdlRWRpdG9yTW9kZUJ1dHRvbldyYXBwZXJcbiAgICAgICAgICAgIGVkaXRvck1vZGU9e2VkaXRvck1vZGV9XG4gICAgICAgICAgICBpc0J0bkRpc2FibGVkPXtpc0J0bkRpc2FibGVkfVxuICAgICAgICAgICAgb25DbGljaz17cGFnZUVkaXRvck1vZGVCdXR0b25DbGlja2VkSGFuZGxlcn1cbiAgICAgICAgICAgIHRhcmdldE1vZGU9XCJ2aWV3XCJcbiAgICAgICAgICAgIGljb249ezxpIGNsYXNzTmFtZT1cImljb24tY29udHJvbC1wbGF5XCIgLz59XG4gICAgICAgICAgICBsYWJlbD17dCgndmlldycpfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHsoIWlzRGV2aWNlU21hbGxlclRoYW5NZCB8fCBlZGl0b3JNb2RlID09PSAndmlldycpICYmIChcbiAgICAgICAgICA8UGFnZUVkaXRvck1vZGVCdXR0b25XcmFwcGVyXG4gICAgICAgICAgICBlZGl0b3JNb2RlPXtlZGl0b3JNb2RlfVxuICAgICAgICAgICAgaXNCdG5EaXNhYmxlZD17aXNCdG5EaXNhYmxlZH1cbiAgICAgICAgICAgIG9uQ2xpY2s9e3BhZ2VFZGl0b3JNb2RlQnV0dG9uQ2xpY2tlZEhhbmRsZXJ9XG4gICAgICAgICAgICB0YXJnZXRNb2RlPVwiZWRpdFwiXG4gICAgICAgICAgICBpY29uPXs8aSBjbGFzc05hbWU9XCJpY29uLW5vdGVcIiAvPn1cbiAgICAgICAgICAgIGxhYmVsPXt0KCdFZGl0Jyl9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgICAgeyghaXNEZXZpY2VTbWFsbGVyVGhhbk1kIHx8IGVkaXRvck1vZGUgPT09ICd2aWV3JykgJiYgc2hvd0hhY2ttZEJ0biAmJiAoXG4gICAgICAgICAgPFBhZ2VFZGl0b3JNb2RlQnV0dG9uV3JhcHBlclxuICAgICAgICAgICAgZWRpdG9yTW9kZT17ZWRpdG9yTW9kZX1cbiAgICAgICAgICAgIGlzQnRuRGlzYWJsZWQ9e2lzQnRuRGlzYWJsZWR9XG4gICAgICAgICAgICBvbkNsaWNrPXtwYWdlRWRpdG9yTW9kZUJ1dHRvbkNsaWNrZWRIYW5kbGVyfVxuICAgICAgICAgICAgdGFyZ2V0TW9kZT1cImhhY2ttZFwiXG4gICAgICAgICAgICBpY29uPXs8aSBjbGFzc05hbWU9XCJmYSBmYS1maWxlLXRleHQtb1wiIC8+fVxuICAgICAgICAgICAgbGFiZWw9e3QoJ2hhY2ttZC5oYWNrX21kJyl9XG4gICAgICAgICAgICBpZD1cImdydy1wYWdlLWVkaXRvci1tb2RlLW1hbmFnZXItaGFja21kLWJ1dHRvblwiXG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgICAge2lzQnRuRGlzYWJsZWQgJiYgKFxuICAgICAgICA8VW5jb250cm9sbGVkVG9vbHRpcCBwbGFjZW1lbnQ9XCJ0b3BcIiB0YXJnZXQ9XCJncnctcGFnZS1lZGl0b3ItbW9kZS1tYW5hZ2VyXCIgZmFkZT17ZmFsc2V9PlxuICAgICAgICAgIHt0KCdOb3QgYXZhaWxhYmxlIGZvciBndWVzdCcpfVxuICAgICAgICA8L1VuY29udHJvbGxlZFRvb2x0aXA+XG4gICAgICApfVxuICAgICAgeyFpc0J0bkRpc2FibGVkICYmIHNob3dIYWNrbWREaXNhYmxlZFRvb2x0aXAgJiYgKFxuICAgICAgICA8VW5jb250cm9sbGVkVG9vbHRpcCBwbGFjZW1lbnQ9XCJ0b3BcIiB0YXJnZXQ9XCJncnctcGFnZS1lZGl0b3ItbW9kZS1tYW5hZ2VyLWhhY2ttZC1idXR0b25cIiBmYWRlPXtmYWxzZX0+XG4gICAgICAgICAge3QoJ2hhY2ttZC5ub3Rfc2V0X3VwJyl9XG4gICAgICAgIDwvVW5jb250cm9sbGVkVG9vbHRpcD5cbiAgICAgICl9XG4gICAgPC8+XG4gICk7XG5cbn1cblxuUGFnZUVkaXRvck1vZGVNYW5hZ2VyLnByb3BUeXBlcyA9IHtcbiAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCwgLy8gIGkxOG5leHRcbiAgYXBwQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihBcHBDb250YWluZXIpLmlzUmVxdWlyZWQsXG5cbiAgb25QYWdlRWRpdG9yTW9kZUJ1dHRvbkNsaWNrZWQ6IFByb3BUeXBlcy5mdW5jLFxuICBpc0J0bkRpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgZWRpdG9yTW9kZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgaXNEZXZpY2VTbWFsbGVyVGhhbk1kOiBQcm9wVHlwZXMuYm9vbCxcbn07XG5cblBhZ2VFZGl0b3JNb2RlTWFuYWdlci5kZWZhdWx0UHJvcHMgPSB7XG4gIGlzQnRuRGlzYWJsZWQ6IGZhbHNlLFxuICBpc0RldmljZVNtYWxsZXJUaGFuTWQ6IGZhbHNlLFxufTtcblxuLyoqXG4gKiBXcmFwcGVyIGNvbXBvbmVudCBmb3IgdXNpbmcgdW5zdGF0ZWRcbiAqL1xuY29uc3QgUGFnZUVkaXRvck1vZGVNYW5hZ2VyV3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoUGFnZUVkaXRvck1vZGVNYW5hZ2VyLCBbQXBwQ29udGFpbmVyXSk7XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhUcmFuc2xhdGlvbigpKFBhZ2VFZGl0b3JNb2RlTWFuYWdlcldyYXBwZXIpO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBREE7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBSkE7QUFNQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRkE7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQVFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFOQTtBQVdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFOQTtBQVdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQVBBO0FBWUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBUEE7QUFVQTtBQUNBO0FBQ0E7QUFGQTtBQUtBOzs7O0FBR0E7QUFFQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/Navbar/PageEditorModeManager.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Navbar/SubNavButtons.jsx":
- /*!***********************************************************!*\
- !*** ./src/client/js/components/Navbar/SubNavButtons.jsx ***!
- \***********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_NavigationContainer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../services/NavigationContainer */ \"./src/client/js/services/NavigationContainer.js\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _BookmarkButton__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../BookmarkButton */ \"./src/client/js/components/BookmarkButton.jsx\");\n/* harmony import */ var _LikeButton__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../LikeButton */ \"./src/client/js/components/LikeButton.jsx\");\n/* harmony import */ var _Page_PageManagement__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Page/PageManagement */ \"./src/client/js/components/Page/PageManagement.jsx\");\n\n\n\n\n\n\n\n\n\n\nconst SubnavButtons = props => {\n const {\n appContainer,\n navigationContainer,\n pageContainer,\n isCompactMode\n } = props;\n /* eslint-enable react/prop-types */\n\n /* eslint-disable react/prop-types */\n\n const PageReactionButtons = ({\n pageContainer\n }) => {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, pageContainer.isAbleToShowLikeButton && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_LikeButton__WEBPACK_IMPORTED_MODULE_7__[\"default\"], null)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_BookmarkButton__WEBPACK_IMPORTED_MODULE_6__[\"default\"], null)));\n };\n /* eslint-enable react/prop-types */\n\n\n const {\n editorMode\n } = navigationContainer.state;\n const isViewMode = editorMode === 'view';\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, isViewMode && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, pageContainer.isAbleToShowPageReactionButtons && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PageReactionButtons, {\n appContainer: appContainer,\n pageContainer: pageContainer\n }), pageContainer.isAbleToShowPageManagement && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Page_PageManagement__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n isCompactMode: isCompactMode\n })));\n};\n/**\n * Wrapper component for using unstated\n */\n\n\nconst SubnavButtonsWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_5__[\"withUnstatedContainers\"])(SubnavButtons, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _services_NavigationContainer__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _services_PageContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]]);\nSubnavButtons.propTypes = {\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_2__[\"default\"]).isRequired,\n navigationContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_NavigationContainer__WEBPACK_IMPORTED_MODULE_3__[\"default\"]).isRequired,\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]).isRequired,\n isCompactMode: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (SubnavButtonsWrapper);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvTmF2YmFyL1N1Yk5hdkJ1dHRvbnMuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL05hdmJhci9TdWJOYXZCdXR0b25zLmpzeD82NGE0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IEFwcENvbnRhaW5lciBmcm9tICcuLi8uLi9zZXJ2aWNlcy9BcHBDb250YWluZXInO1xuaW1wb3J0IE5hdmlnYXRpb25Db250YWluZXIgZnJvbSAnLi4vLi4vc2VydmljZXMvTmF2aWdhdGlvbkNvbnRhaW5lcic7XG5pbXBvcnQgUGFnZUNvbnRhaW5lciBmcm9tICcuLi8uLi9zZXJ2aWNlcy9QYWdlQ29udGFpbmVyJztcbmltcG9ydCB7IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMgfSBmcm9tICcuLi9VbnN0YXRlZFV0aWxzJztcblxuaW1wb3J0IEJvb2ttYXJrQnV0dG9uIGZyb20gJy4uL0Jvb2ttYXJrQnV0dG9uJztcbmltcG9ydCBMaWtlQnV0dG9uIGZyb20gJy4uL0xpa2VCdXR0b24nO1xuaW1wb3J0IFBhZ2VNYW5hZ2VtZW50IGZyb20gJy4uL1BhZ2UvUGFnZU1hbmFnZW1lbnQnO1xuXG5jb25zdCBTdWJuYXZCdXR0b25zID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBhcHBDb250YWluZXIsIG5hdmlnYXRpb25Db250YWluZXIsIHBhZ2VDb250YWluZXIsIGlzQ29tcGFjdE1vZGUsXG4gIH0gPSBwcm9wcztcblxuICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0L3Byb3AtdHlwZXMgKi9cblxuICAvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9wcm9wLXR5cGVzICovXG4gIGNvbnN0IFBhZ2VSZWFjdGlvbkJ1dHRvbnMgPSAoeyBwYWdlQ29udGFpbmVyIH0pID0+IHtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7cGFnZUNvbnRhaW5lci5pc0FibGVUb1Nob3dMaWtlQnV0dG9uICYmIChcbiAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgIDxMaWtlQnV0dG9uIC8+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICApfVxuICAgICAgICA8c3Bhbj5cbiAgICAgICAgICA8Qm9va21hcmtCdXR0b24gLz5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuICAvKiBlc2xpbnQtZW5hYmxlIHJlYWN0L3Byb3AtdHlwZXMgKi9cblxuICBjb25zdCB7IGVkaXRvck1vZGUgfSA9IG5hdmlnYXRpb25Db250YWluZXIuc3RhdGU7XG4gIGNvbnN0IGlzVmlld01vZGUgPSBlZGl0b3JNb2RlID09PSAndmlldyc7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAge2lzVmlld01vZGUgJiYgKFxuICAgICAgPD5cbiAgICAgICAgeyBwYWdlQ29udGFpbmVyLmlzQWJsZVRvU2hvd1BhZ2VSZWFjdGlvbkJ1dHRvbnMgJiYgPFBhZ2VSZWFjdGlvbkJ1dHRvbnMgYXBwQ29udGFpbmVyPXthcHBDb250YWluZXJ9IHBhZ2VDb250YWluZXI9e3BhZ2VDb250YWluZXJ9IC8+IH1cbiAgICAgICAgeyBwYWdlQ29udGFpbmVyLmlzQWJsZVRvU2hvd1BhZ2VNYW5hZ2VtZW50ICYmIDxQYWdlTWFuYWdlbWVudCBpc0NvbXBhY3RNb2RlPXtpc0NvbXBhY3RNb2RlfSAvPiB9XG4gICAgICA8Lz5cbiAgICAgICl9XG4gICAgPC8+XG4gICk7XG59O1xuXG4vKipcbiAqIFdyYXBwZXIgY29tcG9uZW50IGZvciB1c2luZyB1bnN0YXRlZFxuICovXG5jb25zdCBTdWJuYXZCdXR0b25zV3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoU3VibmF2QnV0dG9ucywgW0FwcENvbnRhaW5lciwgTmF2aWdhdGlvbkNvbnRhaW5lciwgUGFnZUNvbnRhaW5lcl0pO1xuXG5cblN1Ym5hdkJ1dHRvbnMucHJvcFR5cGVzID0ge1xuICBhcHBDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKEFwcENvbnRhaW5lcikuaXNSZXF1aXJlZCxcbiAgbmF2aWdhdGlvbkNvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoTmF2aWdhdGlvbkNvbnRhaW5lcikuaXNSZXF1aXJlZCxcbiAgcGFnZUNvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoUGFnZUNvbnRhaW5lcikuaXNSZXF1aXJlZCxcblxuICBpc0NvbXBhY3RNb2RlOiBQcm9wVHlwZXMuYm9vbCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFN1Ym5hdkJ1dHRvbnNXcmFwcGVyO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQURBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQWFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUlBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFLQTtBQUVBOzs7OztBQUdBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUxBO0FBUUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/Navbar/SubNavButtons.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/NotAvailableForGuest.jsx":
- /*!***********************************************************!*\
- !*** ./src/client/js/components/NotAvailableForGuest.jsx ***!
- \***********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var reactstrap_es_UncontrolledTooltip__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! reactstrap/es/UncontrolledTooltip */ \"./node_modules/reactstrap/es/UncontrolledTooltip.js\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n\n\n\n\n\n\nconst NotAvailableForGuest = props => {\n const {\n appContainer,\n children\n } = props;\n const isLoggedin = appContainer.currentUser != null;\n\n if (isLoggedin) {\n return props.children;\n }\n\n const id = children.props.id || `grw-not-available-for-guest-${Math.random().toString(32).substring(2)}`; // clone and add className\n\n const clonedChild = react__WEBPACK_IMPORTED_MODULE_0___default.a.cloneElement(children, {\n id,\n className: `${children.props.className} grw-not-available-for-guest`,\n onClick: () => {\n /* do nothing */\n }\n });\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, clonedChild, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_UncontrolledTooltip__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n placement: \"top\",\n target: id\n }, \"Not available for guest\"));\n};\n\nNotAvailableForGuest.propTypes = {\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_3__[\"default\"]).isRequired,\n children: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.node.isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_4__[\"withUnstatedContainers\"])(NotAvailableForGuest, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_3__[\"default\"]]));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvTm90QXZhaWxhYmxlRm9yR3Vlc3QuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL05vdEF2YWlsYWJsZUZvckd1ZXN0LmpzeD9kZmVjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQgeyBVbmNvbnRyb2xsZWRUb29sdGlwIH0gZnJvbSAncmVhY3RzdHJhcCc7XG5cbmltcG9ydCBBcHBDb250YWluZXIgZnJvbSAnLi4vc2VydmljZXMvQXBwQ29udGFpbmVyJztcblxuaW1wb3J0IHsgd2l0aFVuc3RhdGVkQ29udGFpbmVycyB9IGZyb20gJy4vVW5zdGF0ZWRVdGlscyc7XG5cbmNvbnN0IE5vdEF2YWlsYWJsZUZvckd1ZXN0ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgYXBwQ29udGFpbmVyLCBjaGlsZHJlbiB9ID0gcHJvcHM7XG4gIGNvbnN0IGlzTG9nZ2VkaW4gPSBhcHBDb250YWluZXIuY3VycmVudFVzZXIgIT0gbnVsbDtcblxuICBpZiAoaXNMb2dnZWRpbikge1xuICAgIHJldHVybiBwcm9wcy5jaGlsZHJlbjtcbiAgfVxuXG4gIGNvbnN0IGlkID0gY2hpbGRyZW4ucHJvcHMuaWQgfHwgYGdydy1ub3QtYXZhaWxhYmxlLWZvci1ndWVzdC0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzIpLnN1YnN0cmluZygyKX1gO1xuXG4gIC8vIGNsb25lIGFuZCBhZGQgY2xhc3NOYW1lXG4gIGNvbnN0IGNsb25lZENoaWxkID0gUmVhY3QuY2xvbmVFbGVtZW50KGNoaWxkcmVuLCB7XG4gICAgaWQsXG4gICAgY2xhc3NOYW1lOiBgJHtjaGlsZHJlbi5wcm9wcy5jbGFzc05hbWV9IGdydy1ub3QtYXZhaWxhYmxlLWZvci1ndWVzdGAsXG4gICAgb25DbGljazogKCkgPT4geyAvKiBkbyBub3RoaW5nICovIH0sXG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHsgY2xvbmVkQ2hpbGQgfVxuICAgICAgPFVuY29udHJvbGxlZFRvb2x0aXAgcGxhY2VtZW50PVwidG9wXCIgdGFyZ2V0PXtpZH0+Tm90IGF2YWlsYWJsZSBmb3IgZ3Vlc3Q8L1VuY29udHJvbGxlZFRvb2x0aXA+XG4gICAgPC8+XG4gICk7XG5cbn07XG5cbk5vdEF2YWlsYWJsZUZvckd1ZXN0LnByb3BUeXBlcyA9IHtcbiAgYXBwQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihBcHBDb250YWluZXIpLmlzUmVxdWlyZWQsXG4gIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZS5pc1JlcXVpcmVkLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFVuc3RhdGVkQ29udGFpbmVycyhOb3RBdmFpbGFibGVGb3JHdWVzdCwgW0FwcENvbnRhaW5lcl0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTs7QUFJQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUhBO0FBTUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRkE7QUFLQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/NotAvailableForGuest.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/NotFoundPage.jsx":
- /*!***************************************************!*\
- !*** ./src/client/js/components/NotFoundPage.jsx ***!
- \***************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _Icons_PageListIcon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Icons/PageListIcon */ \"./src/client/js/components/Icons/PageListIcon.jsx\");\n/* harmony import */ var _Icons_TimeLineIcon__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Icons/TimeLineIcon */ \"./src/client/js/components/Icons/TimeLineIcon.jsx\");\n/* harmony import */ var _CustomNavigation_CustomNavAndContents__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./CustomNavigation/CustomNavAndContents */ \"./src/client/js/components/CustomNavigation/CustomNavAndContents.jsx\");\n/* harmony import */ var _PageList__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./PageList */ \"./src/client/js/components/PageList.jsx\");\n/* harmony import */ var _PageTimeline__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./PageTimeline */ \"./src/client/js/components/PageTimeline.jsx\");\n\n\n\n\n\n\n\n\n\nconst NotFoundPage = props => {\n const {\n t\n } = props;\n const navTabMapping = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useMemo\"])(() => {\n return {\n pagelist: {\n Icon: _Icons_PageListIcon__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n Content: _PageList__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n i18n: t('page_list'),\n index: 0\n },\n timeLine: {\n Icon: _Icons_TimeLineIcon__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n Content: _PageTimeline__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n i18n: t('Timeline View'),\n index: 1\n }\n };\n }, [t]);\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"mt-5 d-edit-none\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_CustomNavigation_CustomNavAndContents__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n navTabMapping: navTabMapping\n }));\n};\n\nNotFoundPage.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired // i18next\n\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(NotFoundPage));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvTm90Rm91bmRQYWdlLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9Ob3RGb3VuZFBhZ2UuanN4P2ZlZGMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgd2l0aFRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5pbXBvcnQgUGFnZUxpc3RJY29uIGZyb20gJy4vSWNvbnMvUGFnZUxpc3RJY29uJztcbmltcG9ydCBUaW1lTGluZUljb24gZnJvbSAnLi9JY29ucy9UaW1lTGluZUljb24nO1xuaW1wb3J0IEN1c3RvbU5hdkFuZENvbnRlbnRzIGZyb20gJy4vQ3VzdG9tTmF2aWdhdGlvbi9DdXN0b21OYXZBbmRDb250ZW50cyc7XG5pbXBvcnQgUGFnZUxpc3QgZnJvbSAnLi9QYWdlTGlzdCc7XG5pbXBvcnQgUGFnZVRpbWVsaW5lIGZyb20gJy4vUGFnZVRpbWVsaW5lJztcblxuY29uc3QgTm90Rm91bmRQYWdlID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gcHJvcHM7XG5cbiAgY29uc3QgbmF2VGFiTWFwcGluZyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBwYWdlbGlzdDoge1xuICAgICAgICBJY29uOiBQYWdlTGlzdEljb24sXG4gICAgICAgIENvbnRlbnQ6IFBhZ2VMaXN0LFxuICAgICAgICBpMThuOiB0KCdwYWdlX2xpc3QnKSxcbiAgICAgICAgaW5kZXg6IDAsXG4gICAgICB9LFxuICAgICAgdGltZUxpbmU6IHtcbiAgICAgICAgSWNvbjogVGltZUxpbmVJY29uLFxuICAgICAgICBDb250ZW50OiBQYWdlVGltZWxpbmUsXG4gICAgICAgIGkxOG46IHQoJ1RpbWVsaW5lIFZpZXcnKSxcbiAgICAgICAgaW5kZXg6IDEsXG4gICAgICB9LFxuICAgIH07XG4gIH0sIFt0XSk7XG5cblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwibXQtNSBkLWVkaXQtbm9uZVwiPlxuICAgICAgPEN1c3RvbU5hdkFuZENvbnRlbnRzIG5hdlRhYk1hcHBpbmc9e25hdlRhYk1hcHBpbmd9IC8+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5Ob3RGb3VuZFBhZ2UucHJvcFR5cGVzID0ge1xuICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLCAvLyAgaTE4bmV4dFxufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFRyYW5zbGF0aW9uKCkoTm90Rm91bmRQYWdlKTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQVBBO0FBY0E7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBSUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/NotFoundPage.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Page.jsx":
- /*!*******************************************!*\
- !*** ./src/client/js/components/Page.jsx ***!
- \*******************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @alias/logger */ \"./src/lib/service/logger/index.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_alias_logger__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n/* harmony import */ var _services_EditorContainer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../services/EditorContainer */ \"./src/client/js/services/EditorContainer.js\");\n/* harmony import */ var _models_MarkdownTable__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../models/MarkdownTable */ \"./src/client/js/models/MarkdownTable.js\");\n/* harmony import */ var _PageEditor_LinkEditModal__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./PageEditor/LinkEditModal */ \"./src/client/js/components/PageEditor/LinkEditModal.jsx\");\n/* harmony import */ var _Page_RevisionRenderer__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Page/RevisionRenderer */ \"./src/client/js/components/Page/RevisionRenderer.jsx\");\n/* harmony import */ var _PageEditor_GridEditModal__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./PageEditor/GridEditModal */ \"./src/client/js/components/PageEditor/GridEditModal.jsx\");\n/* harmony import */ var _PageEditor_HandsontableModal__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./PageEditor/HandsontableModal */ \"./src/client/js/components/PageEditor/HandsontableModal.jsx\");\n/* harmony import */ var _PageEditor_DrawioModal__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./PageEditor/DrawioModal */ \"./src/client/js/components/PageEditor/DrawioModal.jsx\");\n/* harmony import */ var _PageEditor_MarkdownTableUtil__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./PageEditor/MarkdownTableUtil */ \"./src/client/js/components/PageEditor/MarkdownTableUtil.js\");\n/* harmony import */ var _PageEditor_MarkdownDrawioUtil__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./PageEditor/MarkdownDrawioUtil */ \"./src/client/js/components/PageEditor/MarkdownDrawioUtil.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst logger = _alias_logger__WEBPACK_IMPORTED_MODULE_2___default()('growi:Page');\n\nclass Page extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n this.state = {\n currentTargetTableArea: null,\n currentTargetDrawioArea: null\n };\n this.growiRenderer = this.props.appContainer.getRenderer('page');\n this.gridEditModal = react__WEBPACK_IMPORTED_MODULE_0___default.a.createRef();\n this.linkEditModal = react__WEBPACK_IMPORTED_MODULE_0___default.a.createRef();\n this.handsontableModal = react__WEBPACK_IMPORTED_MODULE_0___default.a.createRef();\n this.drawioModal = react__WEBPACK_IMPORTED_MODULE_0___default.a.createRef();\n this.saveHandlerForHandsontableModal = this.saveHandlerForHandsontableModal.bind(this);\n this.saveHandlerForDrawioModal = this.saveHandlerForDrawioModal.bind(this);\n }\n\n componentWillMount() {\n this.props.appContainer.registerComponentInstance('Page', this);\n }\n /**\n * launch HandsontableModal with data specified by arguments\n * @param beginLineNumber\n * @param endLineNumber\n */\n\n\n launchHandsontableModal(beginLineNumber, endLineNumber) {\n const markdown = this.props.pageContainer.state.markdown;\n const tableLines = markdown.split(/\\r\\n|\\r|\\n/).slice(beginLineNumber - 1, endLineNumber).join('\\n');\n this.setState({\n currentTargetTableArea: {\n beginLineNumber,\n endLineNumber\n }\n });\n this.handsontableModal.current.show(_models_MarkdownTable__WEBPACK_IMPORTED_MODULE_7__[\"default\"].fromMarkdownString(tableLines));\n }\n /**\n * launch DrawioModal with data specified by arguments\n * @param beginLineNumber\n * @param endLineNumber\n */\n\n\n launchDrawioModal(beginLineNumber, endLineNumber) {\n const markdown = this.props.pageContainer.state.markdown;\n const drawioMarkdownArray = markdown.split(/\\r\\n|\\r|\\n/).slice(beginLineNumber - 1, endLineNumber);\n const drawioData = drawioMarkdownArray.slice(1, drawioMarkdownArray.length - 1).join('\\n').trim();\n this.setState({\n currentTargetDrawioArea: {\n beginLineNumber,\n endLineNumber\n }\n });\n this.drawioModal.current.show(drawioData);\n }\n\n async saveHandlerForHandsontableModal(markdownTable) {\n const {\n pageContainer,\n editorContainer\n } = this.props;\n const optionsToSave = editorContainer.getCurrentOptionsToSave();\n const newMarkdown = _PageEditor_MarkdownTableUtil__WEBPACK_IMPORTED_MODULE_13__[\"default\"].replaceMarkdownTableInMarkdown(markdownTable, this.props.pageContainer.state.markdown, this.state.currentTargetTableArea.beginLineNumber, this.state.currentTargetTableArea.endLineNumber);\n\n try {\n // disable unsaved warning\n editorContainer.disableUnsavedWarning(); // eslint-disable-next-line no-unused-vars\n\n const {\n page,\n tags\n } = await pageContainer.save(newMarkdown, optionsToSave);\n logger.debug('success to save');\n pageContainer.showSuccessToastr();\n } catch (error) {\n logger.error('failed to save', error);\n pageContainer.showErrorToastr(error);\n } finally {\n this.setState({\n currentTargetTableArea: null\n });\n }\n }\n\n async saveHandlerForDrawioModal(drawioData) {\n const {\n pageContainer,\n editorContainer\n } = this.props;\n const optionsToSave = editorContainer.getCurrentOptionsToSave();\n const newMarkdown = _PageEditor_MarkdownDrawioUtil__WEBPACK_IMPORTED_MODULE_14__[\"default\"].replaceDrawioInMarkdown(drawioData, this.props.pageContainer.state.markdown, this.state.currentTargetDrawioArea.beginLineNumber, this.state.currentTargetDrawioArea.endLineNumber);\n\n try {\n // disable unsaved warning\n editorContainer.disableUnsavedWarning(); // eslint-disable-next-line no-unused-vars\n\n const {\n page,\n tags\n } = await pageContainer.save(newMarkdown, optionsToSave);\n logger.debug('success to save');\n pageContainer.showSuccessToastr();\n } catch (error) {\n logger.error('failed to save', error);\n pageContainer.showErrorToastr(error);\n } finally {\n this.setState({\n currentTargetDrawioArea: null\n });\n }\n }\n\n render() {\n const {\n appContainer,\n pageContainer\n } = this.props;\n const {\n isMobile\n } = appContainer;\n const isLoggedIn = appContainer.currentUser != null;\n const {\n markdown\n } = pageContainer.state;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: `mb-5 ${isMobile ? 'page-mobile' : ''}`\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Page_RevisionRenderer__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n growiRenderer: this.growiRenderer,\n markdown: markdown\n }), isLoggedIn && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageEditor_GridEditModal__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n ref: this.gridEditModal\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageEditor_LinkEditModal__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n ref: this.LinkEditModal\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageEditor_HandsontableModal__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n ref: this.handsontableModal,\n onSave: this.saveHandlerForHandsontableModal\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageEditor_DrawioModal__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n ref: this.drawioModal,\n onSave: this.saveHandlerForDrawioModal\n })));\n }\n\n}\n\nPage.propTypes = {\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]).isRequired,\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]).isRequired,\n editorContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_EditorContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"]).isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__[\"withUnstatedContainers\"])(Page, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"], _services_PageContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _services_EditorContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"]]));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZS5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZS5qc3g/ZWU3ZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBsb2dnZXJGYWN0b3J5IGZyb20gJ0BhbGlhcy9sb2dnZXInO1xuXG5pbXBvcnQgeyB3aXRoVW5zdGF0ZWRDb250YWluZXJzIH0gZnJvbSAnLi9VbnN0YXRlZFV0aWxzJztcbmltcG9ydCBBcHBDb250YWluZXIgZnJvbSAnLi4vc2VydmljZXMvQXBwQ29udGFpbmVyJztcbmltcG9ydCBQYWdlQ29udGFpbmVyIGZyb20gJy4uL3NlcnZpY2VzL1BhZ2VDb250YWluZXInO1xuaW1wb3J0IEVkaXRvckNvbnRhaW5lciBmcm9tICcuLi9zZXJ2aWNlcy9FZGl0b3JDb250YWluZXInO1xuXG5pbXBvcnQgTWFya2Rvd25UYWJsZSBmcm9tICcuLi9tb2RlbHMvTWFya2Rvd25UYWJsZSc7XG5cbmltcG9ydCBMaW5rRWRpdE1vZGFsIGZyb20gJy4vUGFnZUVkaXRvci9MaW5rRWRpdE1vZGFsJztcbmltcG9ydCBSZXZpc2lvblJlbmRlcmVyIGZyb20gJy4vUGFnZS9SZXZpc2lvblJlbmRlcmVyJztcbmltcG9ydCBHcmlkRWRpdE1vZGFsIGZyb20gJy4vUGFnZUVkaXRvci9HcmlkRWRpdE1vZGFsJztcbmltcG9ydCBIYW5kc29udGFibGVNb2RhbCBmcm9tICcuL1BhZ2VFZGl0b3IvSGFuZHNvbnRhYmxlTW9kYWwnO1xuaW1wb3J0IERyYXdpb01vZGFsIGZyb20gJy4vUGFnZUVkaXRvci9EcmF3aW9Nb2RhbCc7XG5pbXBvcnQgbXR1IGZyb20gJy4vUGFnZUVkaXRvci9NYXJrZG93blRhYmxlVXRpbCc7XG5pbXBvcnQgbWR1IGZyb20gJy4vUGFnZUVkaXRvci9NYXJrZG93bkRyYXdpb1V0aWwnO1xuXG5jb25zdCBsb2dnZXIgPSBsb2dnZXJGYWN0b3J5KCdncm93aTpQYWdlJyk7XG5cbmNsYXNzIFBhZ2UgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGN1cnJlbnRUYXJnZXRUYWJsZUFyZWE6IG51bGwsXG4gICAgICBjdXJyZW50VGFyZ2V0RHJhd2lvQXJlYTogbnVsbCxcbiAgICB9O1xuXG4gICAgdGhpcy5ncm93aVJlbmRlcmVyID0gdGhpcy5wcm9wcy5hcHBDb250YWluZXIuZ2V0UmVuZGVyZXIoJ3BhZ2UnKTtcblxuICAgIHRoaXMuZ3JpZEVkaXRNb2RhbCA9IFJlYWN0LmNyZWF0ZVJlZigpO1xuICAgIHRoaXMubGlua0VkaXRNb2RhbCA9IFJlYWN0LmNyZWF0ZVJlZigpO1xuICAgIHRoaXMuaGFuZHNvbnRhYmxlTW9kYWwgPSBSZWFjdC5jcmVhdGVSZWYoKTtcbiAgICB0aGlzLmRyYXdpb01vZGFsID0gUmVhY3QuY3JlYXRlUmVmKCk7XG5cbiAgICB0aGlzLnNhdmVIYW5kbGVyRm9ySGFuZHNvbnRhYmxlTW9kYWwgPSB0aGlzLnNhdmVIYW5kbGVyRm9ySGFuZHNvbnRhYmxlTW9kYWwuYmluZCh0aGlzKTtcbiAgICB0aGlzLnNhdmVIYW5kbGVyRm9yRHJhd2lvTW9kYWwgPSB0aGlzLnNhdmVIYW5kbGVyRm9yRHJhd2lvTW9kYWwuYmluZCh0aGlzKTtcbiAgfVxuXG4gIGNvbXBvbmVudFdpbGxNb3VudCgpIHtcbiAgICB0aGlzLnByb3BzLmFwcENvbnRhaW5lci5yZWdpc3RlckNvbXBvbmVudEluc3RhbmNlKCdQYWdlJywgdGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogbGF1bmNoIEhhbmRzb250YWJsZU1vZGFsIHdpdGggZGF0YSBzcGVjaWZpZWQgYnkgYXJndW1lbnRzXG4gICAqIEBwYXJhbSBiZWdpbkxpbmVOdW1iZXJcbiAgICogQHBhcmFtIGVuZExpbmVOdW1iZXJcbiAgICovXG4gIGxhdW5jaEhhbmRzb250YWJsZU1vZGFsKGJlZ2luTGluZU51bWJlciwgZW5kTGluZU51bWJlcikge1xuICAgIGNvbnN0IG1hcmtkb3duID0gdGhpcy5wcm9wcy5wYWdlQ29udGFpbmVyLnN0YXRlLm1hcmtkb3duO1xuICAgIGNvbnN0IHRhYmxlTGluZXMgPSBtYXJrZG93bi5zcGxpdCgvXFxyXFxufFxccnxcXG4vKS5zbGljZShiZWdpbkxpbmVOdW1iZXIgLSAxLCBlbmRMaW5lTnVtYmVyKS5qb2luKCdcXG4nKTtcbiAgICB0aGlzLnNldFN0YXRlKHsgY3VycmVudFRhcmdldFRhYmxlQXJlYTogeyBiZWdpbkxpbmVOdW1iZXIsIGVuZExpbmVOdW1iZXIgfSB9KTtcbiAgICB0aGlzLmhhbmRzb250YWJsZU1vZGFsLmN1cnJlbnQuc2hvdyhNYXJrZG93blRhYmxlLmZyb21NYXJrZG93blN0cmluZyh0YWJsZUxpbmVzKSk7XG4gIH1cblxuICAvKipcbiAgICogbGF1bmNoIERyYXdpb01vZGFsIHdpdGggZGF0YSBzcGVjaWZpZWQgYnkgYXJndW1lbnRzXG4gICAqIEBwYXJhbSBiZWdpbkxpbmVOdW1iZXJcbiAgICogQHBhcmFtIGVuZExpbmVOdW1iZXJcbiAgICovXG4gIGxhdW5jaERyYXdpb01vZGFsKGJlZ2luTGluZU51bWJlciwgZW5kTGluZU51bWJlcikge1xuICAgIGNvbnN0IG1hcmtkb3duID0gdGhpcy5wcm9wcy5wYWdlQ29udGFpbmVyLnN0YXRlLm1hcmtkb3duO1xuICAgIGNvbnN0IGRyYXdpb01hcmtkb3duQXJyYXkgPSBtYXJrZG93bi5zcGxpdCgvXFxyXFxufFxccnxcXG4vKS5zbGljZShiZWdpbkxpbmVOdW1iZXIgLSAxLCBlbmRMaW5lTnVtYmVyKTtcbiAgICBjb25zdCBkcmF3aW9EYXRhID0gZHJhd2lvTWFya2Rvd25BcnJheS5zbGljZSgxLCBkcmF3aW9NYXJrZG93bkFycmF5Lmxlbmd0aCAtIDEpLmpvaW4oJ1xcbicpLnRyaW0oKTtcbiAgICB0aGlzLnNldFN0YXRlKHsgY3VycmVudFRhcmdldERyYXdpb0FyZWE6IHsgYmVnaW5MaW5lTnVtYmVyLCBlbmRMaW5lTnVtYmVyIH0gfSk7XG4gICAgdGhpcy5kcmF3aW9Nb2RhbC5jdXJyZW50LnNob3coZHJhd2lvRGF0YSk7XG4gIH1cblxuICBhc3luYyBzYXZlSGFuZGxlckZvckhhbmRzb250YWJsZU1vZGFsKG1hcmtkb3duVGFibGUpIHtcbiAgICBjb25zdCB7IHBhZ2VDb250YWluZXIsIGVkaXRvckNvbnRhaW5lciB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBvcHRpb25zVG9TYXZlID0gZWRpdG9yQ29udGFpbmVyLmdldEN1cnJlbnRPcHRpb25zVG9TYXZlKCk7XG5cbiAgICBjb25zdCBuZXdNYXJrZG93biA9IG10dS5yZXBsYWNlTWFya2Rvd25UYWJsZUluTWFya2Rvd24oXG4gICAgICBtYXJrZG93blRhYmxlLFxuICAgICAgdGhpcy5wcm9wcy5wYWdlQ29udGFpbmVyLnN0YXRlLm1hcmtkb3duLFxuICAgICAgdGhpcy5zdGF0ZS5jdXJyZW50VGFyZ2V0VGFibGVBcmVhLmJlZ2luTGluZU51bWJlcixcbiAgICAgIHRoaXMuc3RhdGUuY3VycmVudFRhcmdldFRhYmxlQXJlYS5lbmRMaW5lTnVtYmVyLFxuICAgICk7XG5cbiAgICB0cnkge1xuICAgICAgLy8gZGlzYWJsZSB1bnNhdmVkIHdhcm5pbmdcbiAgICAgIGVkaXRvckNvbnRhaW5lci5kaXNhYmxlVW5zYXZlZFdhcm5pbmcoKTtcblxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXG4gICAgICBjb25zdCB7IHBhZ2UsIHRhZ3MgfSA9IGF3YWl0IHBhZ2VDb250YWluZXIuc2F2ZShuZXdNYXJrZG93biwgb3B0aW9uc1RvU2F2ZSk7XG4gICAgICBsb2dnZXIuZGVidWcoJ3N1Y2Nlc3MgdG8gc2F2ZScpO1xuXG4gICAgICBwYWdlQ29udGFpbmVyLnNob3dTdWNjZXNzVG9hc3RyKCk7XG4gICAgfVxuICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgbG9nZ2VyLmVycm9yKCdmYWlsZWQgdG8gc2F2ZScsIGVycm9yKTtcbiAgICAgIHBhZ2VDb250YWluZXIuc2hvd0Vycm9yVG9hc3RyKGVycm9yKTtcbiAgICB9XG4gICAgZmluYWxseSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgY3VycmVudFRhcmdldFRhYmxlQXJlYTogbnVsbCB9KTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBzYXZlSGFuZGxlckZvckRyYXdpb01vZGFsKGRyYXdpb0RhdGEpIHtcbiAgICBjb25zdCB7IHBhZ2VDb250YWluZXIsIGVkaXRvckNvbnRhaW5lciB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBvcHRpb25zVG9TYXZlID0gZWRpdG9yQ29udGFpbmVyLmdldEN1cnJlbnRPcHRpb25zVG9TYXZlKCk7XG5cbiAgICBjb25zdCBuZXdNYXJrZG93biA9IG1kdS5yZXBsYWNlRHJhd2lvSW5NYXJrZG93bihcbiAgICAgIGRyYXdpb0RhdGEsXG4gICAgICB0aGlzLnByb3BzLnBhZ2VDb250YWluZXIuc3RhdGUubWFya2Rvd24sXG4gICAgICB0aGlzLnN0YXRlLmN1cnJlbnRUYXJnZXREcmF3aW9BcmVhLmJlZ2luTGluZU51bWJlcixcbiAgICAgIHRoaXMuc3RhdGUuY3VycmVudFRhcmdldERyYXdpb0FyZWEuZW5kTGluZU51bWJlcixcbiAgICApO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIGRpc2FibGUgdW5zYXZlZCB3YXJuaW5nXG4gICAgICBlZGl0b3JDb250YWluZXIuZGlzYWJsZVVuc2F2ZWRXYXJuaW5nKCk7XG5cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xuICAgICAgY29uc3QgeyBwYWdlLCB0YWdzIH0gPSBhd2FpdCBwYWdlQ29udGFpbmVyLnNhdmUobmV3TWFya2Rvd24sIG9wdGlvbnNUb1NhdmUpO1xuICAgICAgbG9nZ2VyLmRlYnVnKCdzdWNjZXNzIHRvIHNhdmUnKTtcblxuICAgICAgcGFnZUNvbnRhaW5lci5zaG93U3VjY2Vzc1RvYXN0cigpO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGxvZ2dlci5lcnJvcignZmFpbGVkIHRvIHNhdmUnLCBlcnJvcik7XG4gICAgICBwYWdlQ29udGFpbmVyLnNob3dFcnJvclRvYXN0cihlcnJvcik7XG4gICAgfVxuICAgIGZpbmFsbHkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGN1cnJlbnRUYXJnZXREcmF3aW9BcmVhOiBudWxsIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IGFwcENvbnRhaW5lciwgcGFnZUNvbnRhaW5lciB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGlzTW9iaWxlIH0gPSBhcHBDb250YWluZXI7XG4gICAgY29uc3QgaXNMb2dnZWRJbiA9IGFwcENvbnRhaW5lci5jdXJyZW50VXNlciAhPSBudWxsO1xuICAgIGNvbnN0IHsgbWFya2Rvd24gfSA9IHBhZ2VDb250YWluZXIuc3RhdGU7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e2BtYi01ICR7aXNNb2JpbGUgPyAncGFnZS1tb2JpbGUnIDogJyd9YH0+XG4gICAgICAgIDxSZXZpc2lvblJlbmRlcmVyIGdyb3dpUmVuZGVyZXI9e3RoaXMuZ3Jvd2lSZW5kZXJlcn0gbWFya2Rvd249e21hcmtkb3dufSAvPlxuXG4gICAgICAgIHsgaXNMb2dnZWRJbiAmJiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxHcmlkRWRpdE1vZGFsIHJlZj17dGhpcy5ncmlkRWRpdE1vZGFsfSAvPlxuICAgICAgICAgICAgPExpbmtFZGl0TW9kYWwgcmVmPXt0aGlzLkxpbmtFZGl0TW9kYWx9IC8+XG4gICAgICAgICAgICA8SGFuZHNvbnRhYmxlTW9kYWwgcmVmPXt0aGlzLmhhbmRzb250YWJsZU1vZGFsfSBvblNhdmU9e3RoaXMuc2F2ZUhhbmRsZXJGb3JIYW5kc29udGFibGVNb2RhbH0gLz5cbiAgICAgICAgICAgIDxEcmF3aW9Nb2RhbCByZWY9e3RoaXMuZHJhd2lvTW9kYWx9IG9uU2F2ZT17dGhpcy5zYXZlSGFuZGxlckZvckRyYXdpb01vZGFsfSAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuXG59XG5cblBhZ2UucHJvcFR5cGVzID0ge1xuICBhcHBDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKEFwcENvbnRhaW5lcikuaXNSZXF1aXJlZCxcbiAgcGFnZUNvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoUGFnZUNvbnRhaW5lcikuaXNSZXF1aXJlZCxcbiAgZWRpdG9yQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihFZGl0b3JDb250YWluZXIpLmlzUmVxdWlyZWQsXG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoVW5zdGF0ZWRDb250YWluZXJzKFBhZ2UsIFtBcHBDb250YWluZXIsIFBhZ2VDb250YWluZXIsIEVkaXRvckNvbnRhaW5lcl0pO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFGQTtBQUtBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOzs7Ozs7O0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBOzs7Ozs7O0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBbklBO0FBQ0E7QUFxSUE7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQU1BIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/Page.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Page/DisplaySwitcher.jsx":
- /*!***********************************************************!*\
- !*** ./src/client/js/components/Page/DisplaySwitcher.jsx ***!
- \***********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var reactstrap_es_TabContent__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! reactstrap/es/TabContent */ \"./node_modules/reactstrap/es/TabContent.js\");\n/* harmony import */ var reactstrap_es_TabPane__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! reactstrap/es/TabPane */ \"./node_modules/reactstrap/es/TabPane.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_NavigationContainer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../services/NavigationContainer */ \"./src/client/js/services/NavigationContainer.js\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n/* harmony import */ var _PageEditor__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../PageEditor */ \"./src/client/js/components/PageEditor.jsx\");\n/* harmony import */ var _Page__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Page */ \"./src/client/js/components/Page.jsx\");\n/* harmony import */ var _User_UserInfo__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../User/UserInfo */ \"./src/client/js/components/User/UserInfo.jsx\");\n/* harmony import */ var _TableOfContents__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../TableOfContents */ \"./src/client/js/components/TableOfContents.jsx\");\n/* harmony import */ var _ContentLinkButtons__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../ContentLinkButtons */ \"./src/client/js/components/ContentLinkButtons.jsx\");\n/* harmony import */ var _PageAccessories__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../PageAccessories */ \"./src/client/js/components/PageAccessories.jsx\");\n/* harmony import */ var _PageEditorByHackmd__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../PageEditorByHackmd */ \"./src/client/js/components/PageEditorByHackmd.jsx\");\n/* harmony import */ var _PageEditor_EditorNavbarBottom__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../PageEditor/EditorNavbarBottom */ \"./src/client/js/components/PageEditor/EditorNavbarBottom.jsx\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst DisplaySwitcher = props => {\n const {\n navigationContainer,\n pageContainer\n } = props;\n const {\n editorMode\n } = navigationContainer.state;\n const {\n isPageExist,\n pageUser\n } = pageContainer.state;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_TabContent__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n activeTab: editorMode\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_TabPane__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n tabId: \"view\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"d-flex flex-column flex-lg-row-reverse\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"grw-side-contents-container\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"grw-side-contents-sticky-container\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"border-bottom pb-1\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageAccessories__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n isNotFoundPage: !isPageExist\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"d-none d-lg-block\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n id: \"revision-toc\",\n className: \"revision-toc\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TableOfContents__WEBPACK_IMPORTED_MODULE_10__[\"default\"], null)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ContentLinkButtons__WEBPACK_IMPORTED_MODULE_11__[\"default\"], null)))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"flex-grow-1 flex-basis-0 mw-0\"\n }, pageUser && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_User_UserInfo__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n pageUser: pageUser\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Page__WEBPACK_IMPORTED_MODULE_8__[\"default\"], null)))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_TabPane__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n tabId: \"edit\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n id: \"page-editor\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageEditor__WEBPACK_IMPORTED_MODULE_7__[\"default\"], null))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_TabPane__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n tabId: \"hackmd\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n id: \"page-editor-with-hackmd\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageEditorByHackmd__WEBPACK_IMPORTED_MODULE_13__[\"default\"], null)))), editorMode !== 'view' && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageEditor_EditorNavbarBottom__WEBPACK_IMPORTED_MODULE_14__[\"default\"], null));\n};\n\nDisplaySwitcher.propTypes = {\n navigationContainer: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.instanceOf(_services_NavigationContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]).isRequired,\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"]).isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_4__[\"withUnstatedContainers\"])(DisplaySwitcher, [_services_NavigationContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _services_PageContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"]]));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZS9EaXNwbGF5U3dpdGNoZXIuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1BhZ2UvRGlzcGxheVN3aXRjaGVyLmpzeD84YjFmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBUYWJDb250ZW50LCBUYWJQYW5lIH0gZnJvbSAncmVhY3RzdHJhcCc7XG5pbXBvcnQgcHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgd2l0aFVuc3RhdGVkQ29udGFpbmVycyB9IGZyb20gJy4uL1Vuc3RhdGVkVXRpbHMnO1xuaW1wb3J0IE5hdmlnYXRpb25Db250YWluZXIgZnJvbSAnLi4vLi4vc2VydmljZXMvTmF2aWdhdGlvbkNvbnRhaW5lcic7XG5pbXBvcnQgUGFnZUNvbnRhaW5lciBmcm9tICcuLi8uLi9zZXJ2aWNlcy9QYWdlQ29udGFpbmVyJztcbmltcG9ydCBFZGl0b3IgZnJvbSAnLi4vUGFnZUVkaXRvcic7XG5pbXBvcnQgUGFnZSBmcm9tICcuLi9QYWdlJztcbmltcG9ydCBVc2VySW5mbyBmcm9tICcuLi9Vc2VyL1VzZXJJbmZvJztcbmltcG9ydCBUYWJsZU9mQ29udGVudHMgZnJvbSAnLi4vVGFibGVPZkNvbnRlbnRzJztcbmltcG9ydCBDb250ZW50TGlua0J1dHRvbnMgZnJvbSAnLi4vQ29udGVudExpbmtCdXR0b25zJztcbmltcG9ydCBQYWdlQWNjZXNzb3JpZXMgZnJvbSAnLi4vUGFnZUFjY2Vzc29yaWVzJztcbmltcG9ydCBQYWdlRWRpdG9yQnlIYWNrbWQgZnJvbSAnLi4vUGFnZUVkaXRvckJ5SGFja21kJztcbmltcG9ydCBFZGl0b3JOYXZiYXJCb3R0b20gZnJvbSAnLi4vUGFnZUVkaXRvci9FZGl0b3JOYXZiYXJCb3R0b20nO1xuXG5cbmNvbnN0IERpc3BsYXlTd2l0Y2hlciA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgbmF2aWdhdGlvbkNvbnRhaW5lciwgcGFnZUNvbnRhaW5lcixcbiAgfSA9IHByb3BzO1xuICBjb25zdCB7IGVkaXRvck1vZGUgfSA9IG5hdmlnYXRpb25Db250YWluZXIuc3RhdGU7XG4gIGNvbnN0IHsgaXNQYWdlRXhpc3QsIHBhZ2VVc2VyIH0gPSBwYWdlQ29udGFpbmVyLnN0YXRlO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxUYWJDb250ZW50IGFjdGl2ZVRhYj17ZWRpdG9yTW9kZX0+XG4gICAgICAgIDxUYWJQYW5lIHRhYklkPVwidmlld1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtbGctcm93LXJldmVyc2VcIj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncnctc2lkZS1jb250ZW50cy1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncnctc2lkZS1jb250ZW50cy1zdGlja3ktY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3JkZXItYm90dG9tIHBiLTFcIj5cbiAgICAgICAgICAgICAgICAgIDxQYWdlQWNjZXNzb3JpZXMgaXNOb3RGb3VuZFBhZ2U9eyFpc1BhZ2VFeGlzdH0gLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZC1ub25lIGQtbGctYmxvY2tcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJyZXZpc2lvbi10b2NcIiBjbGFzc05hbWU9XCJyZXZpc2lvbi10b2NcIj5cbiAgICAgICAgICAgICAgICAgICAgPFRhYmxlT2ZDb250ZW50cyAvPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8Q29udGVudExpbmtCdXR0b25zIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleC1ncm93LTEgZmxleC1iYXNpcy0wIG13LTBcIj5cbiAgICAgICAgICAgICAge3BhZ2VVc2VyICYmIDxVc2VySW5mbyBwYWdlVXNlcj17cGFnZVVzZXJ9IC8+fVxuICAgICAgICAgICAgICA8UGFnZSAvPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9UYWJQYW5lPlxuICAgICAgICA8VGFiUGFuZSB0YWJJZD1cImVkaXRcIj5cbiAgICAgICAgICA8ZGl2IGlkPVwicGFnZS1lZGl0b3JcIj5cbiAgICAgICAgICAgIDxFZGl0b3IgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9UYWJQYW5lPlxuICAgICAgICA8VGFiUGFuZSB0YWJJZD1cImhhY2ttZFwiPlxuICAgICAgICAgIDxkaXYgaWQ9XCJwYWdlLWVkaXRvci13aXRoLWhhY2ttZFwiPlxuICAgICAgICAgICAgPFBhZ2VFZGl0b3JCeUhhY2ttZCAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1RhYlBhbmU+XG4gICAgICA8L1RhYkNvbnRlbnQ+XG4gICAgICB7ZWRpdG9yTW9kZSAhPT0gJ3ZpZXcnICYmIDxFZGl0b3JOYXZiYXJCb3R0b20gLz4gfVxuICAgIDwvPlxuICApO1xufTtcblxuRGlzcGxheVN3aXRjaGVyLnByb3BUeXBlcyA9IHtcbiAgbmF2aWdhdGlvbkNvbnRhaW5lcjogcHJvcFR5cGVzLmluc3RhbmNlT2YoTmF2aWdhdGlvbkNvbnRhaW5lcikuaXNSZXF1aXJlZCxcbiAgcGFnZUNvbnRhaW5lcjogcHJvcFR5cGVzLmluc3RhbmNlT2YoUGFnZUNvbnRhaW5lcikuaXNSZXF1aXJlZCxcbn07XG5cblxuZXhwb3J0IGRlZmF1bHQgd2l0aFVuc3RhdGVkQ29udGFpbmVycyhEaXNwbGF5U3dpdGNoZXIsIFtOYXZpZ2F0aW9uQ29udGFpbmVyLCBQYWdlQ29udGFpbmVyXSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBREE7QUFHQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUdBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFRQTtBQUFBO0FBQ0E7QUFBQTtBQU1BO0FBQUE7QUFDQTtBQUFBO0FBSUE7QUFBQTtBQUNBO0FBQUE7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRkE7QUFNQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/Page/DisplaySwitcher.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Page/DuplicatedAlert.jsx":
- /*!***********************************************************!*\
- !*** ./src/client/js/components/Page/DuplicatedAlert.jsx ***!
- \***********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n\n\n\n\nconst DuplicatedAlert = props => {\n const {\n t\n } = props;\n const urlParams = new URLSearchParams(window.location.search);\n const fromPath = urlParams.get('duplicated');\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"alert alert-success py-3 px-4\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"strong\", null, t('Duplicated'), \": \", t('page_page.notice.duplicated'), \" \", react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"code\", null, fromPath), \" \", t('page_page.notice.duplicated_period')));\n};\n\nDuplicatedAlert.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired // i18next\n\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(DuplicatedAlert));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZS9EdXBsaWNhdGVkQWxlcnQuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1BhZ2UvRHVwbGljYXRlZEFsZXJ0LmpzeD80MjlhIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgd2l0aFRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5cblxuY29uc3QgRHVwbGljYXRlZEFsZXJ0ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gcHJvcHM7XG4gIGNvbnN0IHVybFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7XG4gIGNvbnN0IGZyb21QYXRoID0gdXJsUGFyYW1zLmdldCgnZHVwbGljYXRlZCcpO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJhbGVydCBhbGVydC1zdWNjZXNzIHB5LTMgcHgtNFwiPlxuICAgICAgPHN0cm9uZz5cbiAgICAgICAgeyB0KCdEdXBsaWNhdGVkJykgfToge3QoJ3BhZ2VfcGFnZS5ub3RpY2UuZHVwbGljYXRlZCcpfSA8Y29kZT57ZnJvbVBhdGh9PC9jb2RlPiB7dCgncGFnZV9wYWdlLm5vdGljZS5kdXBsaWNhdGVkX3BlcmlvZCcpfVxuICAgICAgPC9zdHJvbmc+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5EdXBsaWNhdGVkQWxlcnQucHJvcFR5cGVzID0ge1xuICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLCAvLyBpMThuZXh0XG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoVHJhbnNsYXRpb24oKShEdXBsaWNhdGVkQWxlcnQpO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFGQTtBQUlBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/Page/DuplicatedAlert.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Page/NotFoundAlert.jsx":
- /*!*********************************************************!*\
- !*** ./src/client/js/components/Page/NotFoundAlert.jsx ***!
- \*********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var reactstrap_es_UncontrolledTooltip__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! reactstrap/es/UncontrolledTooltip */ \"./node_modules/reactstrap/es/UncontrolledTooltip.js\");\n\n\n\n\n\nconst NotFoundAlert = props => {\n const {\n t,\n isHidden,\n isGuestUserMode\n } = props;\n\n function clickHandler(viewType) {\n // check guest user,\n // disabled of button cannot be used for using tooltip.\n if (isGuestUserMode) {\n return;\n }\n\n if (props.onPageCreateClicked === null) {\n return;\n }\n\n props.onPageCreateClicked(viewType);\n }\n\n if (isHidden) {\n return null;\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"border border-info p-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-md-12 p-0\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h2\", {\n className: \"text-info lead\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-info pr-2 font-weight-bold\",\n \"aria-hidden\": \"true\"\n }), t('not_found_page.page_not_exist_alert')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n id: \"create-page-btn-wrapper-for-tooltip\",\n className: \"d-inline-block\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: `pl-3 pr-3 btn bg-info text-white ${isGuestUserMode ? 'disabled' : ''}`,\n onClick: () => {\n clickHandler('edit');\n }\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-note icon-fw\"\n }), t('not_found_page.Create Page'))), isGuestUserMode && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_UncontrolledTooltip__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n placement: \"bottom\",\n target: \"create-page-btn-wrapper-for-tooltip\",\n fade: false\n }, t('Not available for guest'))));\n};\n\nNotFoundAlert.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n onPageCreateClicked: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n isHidden: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,\n isGuestUserMode: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(NotFoundAlert));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZS9Ob3RGb3VuZEFsZXJ0LmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9QYWdlL05vdEZvdW5kQWxlcnQuanN4Pzk0MjciXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyB3aXRoVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcbmltcG9ydCB7IFVuY29udHJvbGxlZFRvb2x0aXAgfSBmcm9tICdyZWFjdHN0cmFwJztcblxuXG5jb25zdCBOb3RGb3VuZEFsZXJ0ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCwgaXNIaWRkZW4sIGlzR3Vlc3RVc2VyTW9kZSB9ID0gcHJvcHM7XG4gIGZ1bmN0aW9uIGNsaWNrSGFuZGxlcih2aWV3VHlwZSkge1xuXG4gICAgLy8gY2hlY2sgZ3Vlc3QgdXNlcixcbiAgICAvLyBkaXNhYmxlZCBvZiBidXR0b24gY2Fubm90IGJlIHVzZWQgZm9yIHVzaW5nIHRvb2x0aXAuXG4gICAgaWYgKGlzR3Vlc3RVc2VyTW9kZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5vblBhZ2VDcmVhdGVDbGlja2VkID09PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHByb3BzLm9uUGFnZUNyZWF0ZUNsaWNrZWQodmlld1R5cGUpO1xuICB9XG5cbiAgaWYgKGlzSGlkZGVuKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJib3JkZXIgYm9yZGVyLWluZm8gcC0zXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT1cImNvbC1tZC0xMiBwLTBcIlxuICAgICAgPlxuICAgICAgICA8aDIgY2xhc3NOYW1lPVwidGV4dC1pbmZvIGxlYWRcIj5cbiAgICAgICAgICA8aSBjbGFzc05hbWU9XCJpY29uLWluZm8gcHItMiBmb250LXdlaWdodC1ib2xkXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICAgIHt0KCdub3RfZm91bmRfcGFnZS5wYWdlX25vdF9leGlzdF9hbGVydCcpfVxuICAgICAgICA8L2gyPlxuICAgICAgICA8ZGl2IGlkPVwiY3JlYXRlLXBhZ2UtYnRuLXdyYXBwZXItZm9yLXRvb2x0aXBcIiBjbGFzc05hbWU9XCJkLWlubGluZS1ibG9ja1wiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtgcGwtMyBwci0zIGJ0biBiZy1pbmZvIHRleHQtd2hpdGUgJHtpc0d1ZXN0VXNlck1vZGUgPyAnZGlzYWJsZWQnIDogJyd9YH1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHsgY2xpY2tIYW5kbGVyKCdlZGl0JykgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8aSBjbGFzc05hbWU9XCJpY29uLW5vdGUgaWNvbi1md1wiIC8+XG4gICAgICAgICAgICB7dCgnbm90X2ZvdW5kX3BhZ2UuQ3JlYXRlIFBhZ2UnKX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG5cblxuICAgICAgICB7aXNHdWVzdFVzZXJNb2RlICYmIChcbiAgICAgICAgICA8VW5jb250cm9sbGVkVG9vbHRpcCBwbGFjZW1lbnQ9XCJib3R0b21cIiB0YXJnZXQ9XCJjcmVhdGUtcGFnZS1idG4td3JhcHBlci1mb3ItdG9vbHRpcFwiIGZhZGU9e2ZhbHNlfT5cbiAgICAgICAgICAgIHt0KCdOb3QgYXZhaWxhYmxlIGZvciBndWVzdCcpfVxuICAgICAgICAgIDwvVW5jb250cm9sbGVkVG9vbHRpcD5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuXG5Ob3RGb3VuZEFsZXJ0LnByb3BUeXBlcyA9IHtcbiAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCwgLy8gaTE4bmV4dFxuICBvblBhZ2VDcmVhdGVDbGlja2VkOiBQcm9wVHlwZXMuZnVuYyxcbiAgaXNIaWRkZW46IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gIGlzR3Vlc3RVc2VyTW9kZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhUcmFuc2xhdGlvbigpKE5vdEZvdW5kQWxlcnQpO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTs7O0FBSUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFFQTtBQURBO0FBR0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFIQTtBQUtBO0FBQUE7QUFPQTtBQUFBO0FBQUE7QUFBQTtBQU9BO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU9BIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/Page/NotFoundAlert.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Page/PageManagement.jsx":
- /*!**********************************************************!*\
- !*** ./src/client/js/components/Page/PageManagement.jsx ***!
- \**********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var reactstrap_es_UncontrolledTooltip__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! reactstrap/es/UncontrolledTooltip */ \"./node_modules/reactstrap/es/UncontrolledTooltip.js\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var url_join__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! url-join */ \"./node_modules/url-join/lib/url-join.js\");\n/* harmony import */ var url_join__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(url_join__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _commons_util_path_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @commons/util/path-utils */ \"./src/lib/util/path-utils.js\");\n/* harmony import */ var _commons_util_path_utils__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_commons_util_path_utils__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n/* harmony import */ var _PageDeleteModal__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../PageDeleteModal */ \"./src/client/js/components/PageDeleteModal.jsx\");\n/* harmony import */ var _PageRenameModal__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../PageRenameModal */ \"./src/client/js/components/PageRenameModal.jsx\");\n/* harmony import */ var _PageDuplicateModal__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../PageDuplicateModal */ \"./src/client/js/components/PageDuplicateModal.jsx\");\n/* harmony import */ var _CreateTemplateModal__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../CreateTemplateModal */ \"./src/client/js/components/CreateTemplateModal.jsx\");\n/* harmony import */ var _PagePresentationModal__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../PagePresentationModal */ \"./src/client/js/components/PagePresentationModal.jsx\");\n/* harmony import */ var _Icons_PresentationIcon__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../Icons/PresentationIcon */ \"./src/client/js/components/Icons/PresentationIcon.jsx\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst PageManagement = props => {\n const {\n t,\n appContainer,\n pageContainer,\n isCompactMode\n } = props;\n const {\n path,\n isDeletable,\n isAbleToDeleteCompletely\n } = pageContainer.state;\n const {\n currentUser\n } = appContainer;\n const isTopPagePath = Object(_commons_util_path_utils__WEBPACK_IMPORTED_MODULE_5__[\"isTopPage\"])(path);\n const [isPageRenameModalShown, setIsPageRenameModalShown] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(false);\n const [isPageDuplicateModalShown, setIsPageDuplicateModalShown] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(false);\n const [isPageTemplateModalShown, setIsPageTempleteModalShown] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(false);\n const [isPageDeleteModalShown, setIsPageDeleteModalShown] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(false);\n const [isPagePresentationModalShown, setIsPagePresentationModalShown] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(false);\n\n function openPageRenameModalHandler() {\n setIsPageRenameModalShown(true);\n }\n\n function closePageRenameModalHandler() {\n setIsPageRenameModalShown(false);\n }\n\n function openPageDuplicateModalHandler() {\n setIsPageDuplicateModalShown(true);\n }\n\n function closePageDuplicateModalHandler() {\n setIsPageDuplicateModalShown(false);\n }\n\n function openPageTemplateModalHandler() {\n setIsPageTempleteModalShown(true);\n }\n\n function closePageTemplateModalHandler() {\n setIsPageTempleteModalShown(false);\n }\n\n function openPageDeleteModalHandler() {\n setIsPageDeleteModalShown(true);\n }\n\n function closePageDeleteModalHandler() {\n setIsPageDeleteModalShown(false);\n }\n\n function openPagePresentationModalHandler() {\n setIsPagePresentationModalShown(true);\n }\n\n function closePagePresentationModalHandler() {\n setIsPagePresentationModalShown(false);\n } // TODO GW-2746 bulk export pages\n // async function getArchivePageData() {\n // try {\n // const res = await appContainer.apiv3Get('page/count-children-pages', { pageId });\n // setTotalPages(res.data.dummy);\n // }\n // catch (err) {\n // setErrorMessage(t('export_bulk.failed_to_count_pages'));\n // }\n // }\n\n\n async function exportPageHandler(format) {\n const {\n pageId,\n revisionId\n } = pageContainer.state;\n const url = new URL(url_join__WEBPACK_IMPORTED_MODULE_4___default()(window.location.origin, '_api/v3/page/export', pageId));\n url.searchParams.append('format', format);\n url.searchParams.append('revisionId', revisionId);\n window.location.href = url.href;\n } // TODO GW-2746 create api to bulk export pages\n // function openArchiveModalHandler() {\n // setIsArchiveCreateModalShown(true);\n // getArchivePageData();\n // }\n // TODO GW-2746 create api to bulk export pages\n // function closeArchiveCreateModalHandler() {\n // setIsArchiveCreateModalShown(false);\n // }\n\n\n function renderDropdownItemForTopPage() {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n className: \"dropdown-item\",\n type: \"button\",\n onClick: openPageDuplicateModalHandler\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-docs\"\n }), \" \", t('Duplicate')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"dropdown-item\",\n onClick: () => {\n exportPageHandler('md');\n }\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-cloud-download\"\n }), t('export_bulk.export_page_markdown')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"dropdown-divider\"\n }));\n }\n\n function renderDropdownItemForNotTopPage() {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n className: \"dropdown-item\",\n type: \"button\",\n onClick: openPageRenameModalHandler\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-action-redo\"\n }), \" \", t('Move/Rename')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n className: \"dropdown-item\",\n type: \"button\",\n onClick: openPageDuplicateModalHandler\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-docs\"\n }), \" \", t('Duplicate')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n className: \"dropdown-item\",\n type: \"button\",\n onClick: openPagePresentationModalHandler\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icons_PresentationIcon__WEBPACK_IMPORTED_MODULE_14__[\"default\"], null)), \" \", t('Presentation Mode')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n className: \"dropdown-item\",\n type: \"button\",\n onClick: () => {\n exportPageHandler('md');\n }\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-cloud-download\"\n }), t('export_bulk.export_page_markdown')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"dropdown-divider\"\n }));\n }\n\n function renderDropdownItemForDeletablePage() {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"dropdown-divider\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n className: \"dropdown-item text-danger\",\n type: \"button\",\n onClick: openPageDeleteModalHandler\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-fire\"\n }), \" \", t('Delete')));\n }\n\n function renderModals() {\n if (currentUser == null) {\n return null;\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageRenameModal__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n isOpen: isPageRenameModalShown,\n onClose: closePageRenameModalHandler,\n path: path\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageDuplicateModal__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n isOpen: isPageDuplicateModalShown,\n onClose: closePageDuplicateModalHandler\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_CreateTemplateModal__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n isOpen: isPageTemplateModalShown,\n onClose: closePageTemplateModalHandler\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageDeleteModal__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n isOpen: isPageDeleteModalShown,\n onClose: closePageDeleteModalHandler,\n path: path,\n isAbleToDeleteCompletely: isAbleToDeleteCompletely\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PagePresentationModal__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n isOpen: isPagePresentationModalShown,\n onClose: closePagePresentationModalHandler,\n href: \"?presentation=1\"\n }));\n }\n\n function renderDotsIconForCurrentUser() {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: `btn-link nav-link dropdown-toggle dropdown-toggle-no-caret border-0 rounded grw-btn-page-management ${isCompactMode && 'py-0'}`,\n \"data-toggle\": \"dropdown\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-options\"\n })));\n }\n\n function renderDotsIconForGuestUser() {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: `btn nav-link bg-transparent dropdown-toggle dropdown-toggle-no-caret disabled ${isCompactMode && 'py-0'}`,\n id: \"icon-options-guest-tltips\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-options\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_UncontrolledTooltip__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n placement: \"top\",\n target: \"icon-options-guest-tltips\",\n fade: false\n }, t('Not available for guest')));\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, currentUser == null ? renderDotsIconForGuestUser() : renderDotsIconForCurrentUser(), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"dropdown-menu dropdown-menu-right\"\n }, isTopPagePath ? renderDropdownItemForTopPage() : renderDropdownItemForNotTopPage(), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n className: \"dropdown-item\",\n type: \"button\",\n onClick: openPageTemplateModalHandler\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-magic-wand\"\n }), \" \", t('template.option_label.create/edit')), !isTopPagePath && isDeletable && renderDropdownItemForDeletablePage()), renderModals());\n};\n/**\n * Wrapper component for using unstated\n */\n\n\nconst PageManagementWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_6__[\"withUnstatedContainers\"])(PageManagement, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_7__[\"default\"], _services_PageContainer__WEBPACK_IMPORTED_MODULE_8__[\"default\"]]);\nPageManagement.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_7__[\"default\"]).isRequired,\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_8__[\"default\"]).isRequired,\n isCompactMode: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool\n};\nPageManagement.defaultProps = {\n isCompactMode: false\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_3__[\"withTranslation\"])()(PageManagementWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZS9QYWdlTWFuYWdlbWVudC5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZS9QYWdlTWFuYWdlbWVudC5qc3g/NDJhNyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgVW5jb250cm9sbGVkVG9vbHRpcCB9IGZyb20gJ3JlYWN0c3RyYXAnO1xuaW1wb3J0IHsgd2l0aFRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5pbXBvcnQgdXJsam9pbiBmcm9tICd1cmwtam9pbic7XG5cbmltcG9ydCB7IGlzVG9wUGFnZSB9IGZyb20gJ0Bjb21tb25zL3V0aWwvcGF0aC11dGlscyc7XG5pbXBvcnQgeyB3aXRoVW5zdGF0ZWRDb250YWluZXJzIH0gZnJvbSAnLi4vVW5zdGF0ZWRVdGlscyc7XG5pbXBvcnQgQXBwQ29udGFpbmVyIGZyb20gJy4uLy4uL3NlcnZpY2VzL0FwcENvbnRhaW5lcic7XG5pbXBvcnQgUGFnZUNvbnRhaW5lciBmcm9tICcuLi8uLi9zZXJ2aWNlcy9QYWdlQ29udGFpbmVyJztcbmltcG9ydCBQYWdlRGVsZXRlTW9kYWwgZnJvbSAnLi4vUGFnZURlbGV0ZU1vZGFsJztcbmltcG9ydCBQYWdlUmVuYW1lTW9kYWwgZnJvbSAnLi4vUGFnZVJlbmFtZU1vZGFsJztcbmltcG9ydCBQYWdlRHVwbGljYXRlTW9kYWwgZnJvbSAnLi4vUGFnZUR1cGxpY2F0ZU1vZGFsJztcbmltcG9ydCBDcmVhdGVUZW1wbGF0ZU1vZGFsIGZyb20gJy4uL0NyZWF0ZVRlbXBsYXRlTW9kYWwnO1xuaW1wb3J0IFBhZ2VQcmVzZW50YXRpb25Nb2RhbCBmcm9tICcuLi9QYWdlUHJlc2VudGF0aW9uTW9kYWwnO1xuaW1wb3J0IFByZXNlbnRhdGlvbkljb24gZnJvbSAnLi4vSWNvbnMvUHJlc2VudGF0aW9uSWNvbic7XG5cblxuY29uc3QgUGFnZU1hbmFnZW1lbnQgPSAocHJvcHMpID0+IHtcbiAgY29uc3Qge1xuICAgIHQsIGFwcENvbnRhaW5lciwgcGFnZUNvbnRhaW5lciwgaXNDb21wYWN0TW9kZSxcbiAgfSA9IHByb3BzO1xuICBjb25zdCB7IHBhdGgsIGlzRGVsZXRhYmxlLCBpc0FibGVUb0RlbGV0ZUNvbXBsZXRlbHkgfSA9IHBhZ2VDb250YWluZXIuc3RhdGU7XG5cbiAgY29uc3QgeyBjdXJyZW50VXNlciB9ID0gYXBwQ29udGFpbmVyO1xuICBjb25zdCBpc1RvcFBhZ2VQYXRoID0gaXNUb3BQYWdlKHBhdGgpO1xuICBjb25zdCBbaXNQYWdlUmVuYW1lTW9kYWxTaG93biwgc2V0SXNQYWdlUmVuYW1lTW9kYWxTaG93bl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtpc1BhZ2VEdXBsaWNhdGVNb2RhbFNob3duLCBzZXRJc1BhZ2VEdXBsaWNhdGVNb2RhbFNob3duXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2lzUGFnZVRlbXBsYXRlTW9kYWxTaG93biwgc2V0SXNQYWdlVGVtcGxldGVNb2RhbFNob3duXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2lzUGFnZURlbGV0ZU1vZGFsU2hvd24sIHNldElzUGFnZURlbGV0ZU1vZGFsU2hvd25dID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbaXNQYWdlUHJlc2VudGF0aW9uTW9kYWxTaG93biwgc2V0SXNQYWdlUHJlc2VudGF0aW9uTW9kYWxTaG93bl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgZnVuY3Rpb24gb3BlblBhZ2VSZW5hbWVNb2RhbEhhbmRsZXIoKSB7XG4gICAgc2V0SXNQYWdlUmVuYW1lTW9kYWxTaG93bih0cnVlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNsb3NlUGFnZVJlbmFtZU1vZGFsSGFuZGxlcigpIHtcbiAgICBzZXRJc1BhZ2VSZW5hbWVNb2RhbFNob3duKGZhbHNlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIG9wZW5QYWdlRHVwbGljYXRlTW9kYWxIYW5kbGVyKCkge1xuICAgIHNldElzUGFnZUR1cGxpY2F0ZU1vZGFsU2hvd24odHJ1ZSk7XG4gIH1cbiAgZnVuY3Rpb24gY2xvc2VQYWdlRHVwbGljYXRlTW9kYWxIYW5kbGVyKCkge1xuICAgIHNldElzUGFnZUR1cGxpY2F0ZU1vZGFsU2hvd24oZmFsc2UpO1xuICB9XG5cbiAgZnVuY3Rpb24gb3BlblBhZ2VUZW1wbGF0ZU1vZGFsSGFuZGxlcigpIHtcbiAgICBzZXRJc1BhZ2VUZW1wbGV0ZU1vZGFsU2hvd24odHJ1ZSk7XG4gIH1cblxuICBmdW5jdGlvbiBjbG9zZVBhZ2VUZW1wbGF0ZU1vZGFsSGFuZGxlcigpIHtcbiAgICBzZXRJc1BhZ2VUZW1wbGV0ZU1vZGFsU2hvd24oZmFsc2UpO1xuICB9XG5cbiAgZnVuY3Rpb24gb3BlblBhZ2VEZWxldGVNb2RhbEhhbmRsZXIoKSB7XG4gICAgc2V0SXNQYWdlRGVsZXRlTW9kYWxTaG93bih0cnVlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNsb3NlUGFnZURlbGV0ZU1vZGFsSGFuZGxlcigpIHtcbiAgICBzZXRJc1BhZ2VEZWxldGVNb2RhbFNob3duKGZhbHNlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIG9wZW5QYWdlUHJlc2VudGF0aW9uTW9kYWxIYW5kbGVyKCkge1xuICAgIHNldElzUGFnZVByZXNlbnRhdGlvbk1vZGFsU2hvd24odHJ1ZSk7XG4gIH1cblxuICBmdW5jdGlvbiBjbG9zZVBhZ2VQcmVzZW50YXRpb25Nb2RhbEhhbmRsZXIoKSB7XG4gICAgc2V0SXNQYWdlUHJlc2VudGF0aW9uTW9kYWxTaG93bihmYWxzZSk7XG4gIH1cblxuXG4gIC8vIFRPRE8gR1ctMjc0NiBidWxrIGV4cG9ydCBwYWdlc1xuICAvLyBhc3luYyBmdW5jdGlvbiBnZXRBcmNoaXZlUGFnZURhdGEoKSB7XG4gIC8vICAgdHJ5IHtcbiAgLy8gICAgIGNvbnN0IHJlcyA9IGF3YWl0IGFwcENvbnRhaW5lci5hcGl2M0dldCgncGFnZS9jb3VudC1jaGlsZHJlbi1wYWdlcycsIHsgcGFnZUlkIH0pO1xuICAvLyAgICAgc2V0VG90YWxQYWdlcyhyZXMuZGF0YS5kdW1teSk7XG4gIC8vICAgfVxuICAvLyAgIGNhdGNoIChlcnIpIHtcbiAgLy8gICAgIHNldEVycm9yTWVzc2FnZSh0KCdleHBvcnRfYnVsay5mYWlsZWRfdG9fY291bnRfcGFnZXMnKSk7XG4gIC8vICAgfVxuICAvLyB9XG5cbiAgYXN5bmMgZnVuY3Rpb24gZXhwb3J0UGFnZUhhbmRsZXIoZm9ybWF0KSB7XG4gICAgY29uc3QgeyBwYWdlSWQsIHJldmlzaW9uSWQgfSA9IHBhZ2VDb250YWluZXIuc3RhdGU7XG4gICAgY29uc3QgdXJsID0gbmV3IFVSTCh1cmxqb2luKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4sICdfYXBpL3YzL3BhZ2UvZXhwb3J0JywgcGFnZUlkKSk7XG4gICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2Zvcm1hdCcsIGZvcm1hdCk7XG4gICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3JldmlzaW9uSWQnLCByZXZpc2lvbklkKTtcbiAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHVybC5ocmVmO1xuICB9XG5cbiAgLy8gVE9ETyBHVy0yNzQ2IGNyZWF0ZSBhcGkgdG8gYnVsayBleHBvcnQgcGFnZXNcbiAgLy8gZnVuY3Rpb24gb3BlbkFyY2hpdmVNb2RhbEhhbmRsZXIoKSB7XG4gIC8vICAgc2V0SXNBcmNoaXZlQ3JlYXRlTW9kYWxTaG93bih0cnVlKTtcbiAgLy8gICBnZXRBcmNoaXZlUGFnZURhdGEoKTtcbiAgLy8gfVxuXG4gIC8vIFRPRE8gR1ctMjc0NiBjcmVhdGUgYXBpIHRvIGJ1bGsgZXhwb3J0IHBhZ2VzXG4gIC8vIGZ1bmN0aW9uIGNsb3NlQXJjaGl2ZUNyZWF0ZU1vZGFsSGFuZGxlcigpIHtcbiAgLy8gICBzZXRJc0FyY2hpdmVDcmVhdGVNb2RhbFNob3duKGZhbHNlKTtcbiAgLy8gfVxuXG4gIGZ1bmN0aW9uIHJlbmRlckRyb3Bkb3duSXRlbUZvclRvcFBhZ2UoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxidXR0b24gY2xhc3NOYW1lPVwiZHJvcGRvd24taXRlbVwiIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtvcGVuUGFnZUR1cGxpY2F0ZU1vZGFsSGFuZGxlcn0+XG4gICAgICAgICAgPGkgY2xhc3NOYW1lPVwiaWNvbi1mdyBpY29uLWRvY3NcIj48L2k+IHsgdCgnRHVwbGljYXRlJykgfVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgey8qIFRPRE8gUHJlc2VudGF0aW9uIE1vZGUgaXMgbm90IGZ1bmN0aW9uLiBTbyBpZiBpdCBpcyByZWFsbHkgbmVjZXNzYXJ5LCBzdXJ2ZXkgdGhpcyBjYXVzZSBhbmQgaW1wbGVtZW50IFByZXNlbnRhdGlvbiBNb2RlIGluIHRvcCBwYWdlICovfVxuICAgICAgICB7LyogPGJ1dHRvbiBjbGFzc05hbWU9XCJkcm9wZG93bi1pdGVtXCIgdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e29wZW5QYWdlUHJlc2VudGF0aW9uTW9kYWxIYW5kbGVyfT5cbiAgICAgICAgICA8aSBjbGFzc05hbWU9XCJpY29uLWZ3XCI+PFByZXNlbnRhdGlvbkljb24gLz48L2k+PHNwYW4gY2xhc3NOYW1lPVwiZC1ub25lIGQtc20taW5saW5lXCI+IHsgdCgnUHJlc2VudGF0aW9uIE1vZGUnKSB9PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj4gKi99XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzTmFtZT1cImRyb3Bkb3duLWl0ZW1cIiBvbkNsaWNrPXsoKSA9PiB7IGV4cG9ydFBhZ2VIYW5kbGVyKCdtZCcpIH19PlxuICAgICAgICAgIDxpIGNsYXNzTmFtZT1cImljb24tZncgaWNvbi1jbG91ZC1kb3dubG9hZFwiPjwvaT57dCgnZXhwb3J0X2J1bGsuZXhwb3J0X3BhZ2VfbWFya2Rvd24nKX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZHJvcGRvd24tZGl2aWRlclwiPjwvZGl2PlxuICAgICAgPC8+XG4gICAgKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHJlbmRlckRyb3Bkb3duSXRlbUZvck5vdFRvcFBhZ2UoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxidXR0b24gY2xhc3NOYW1lPVwiZHJvcGRvd24taXRlbVwiIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtvcGVuUGFnZVJlbmFtZU1vZGFsSGFuZGxlcn0+XG4gICAgICAgICAgPGkgY2xhc3NOYW1lPVwiaWNvbi1mdyBpY29uLWFjdGlvbi1yZWRvXCI+PC9pPiB7IHQoJ01vdmUvUmVuYW1lJykgfVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzc05hbWU9XCJkcm9wZG93bi1pdGVtXCIgdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e29wZW5QYWdlRHVwbGljYXRlTW9kYWxIYW5kbGVyfT5cbiAgICAgICAgICA8aSBjbGFzc05hbWU9XCJpY29uLWZ3IGljb24tZG9jc1wiPjwvaT4geyB0KCdEdXBsaWNhdGUnKSB9XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIGNsYXNzTmFtZT1cImRyb3Bkb3duLWl0ZW1cIiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17b3BlblBhZ2VQcmVzZW50YXRpb25Nb2RhbEhhbmRsZXJ9PlxuICAgICAgICAgIDxpIGNsYXNzTmFtZT1cImljb24tZndcIj48UHJlc2VudGF0aW9uSWNvbiAvPjwvaT4geyB0KCdQcmVzZW50YXRpb24gTW9kZScpIH1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gY2xhc3NOYW1lPVwiZHJvcGRvd24taXRlbVwiIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXsoKSA9PiB7IGV4cG9ydFBhZ2VIYW5kbGVyKCdtZCcpIH19PlxuICAgICAgICAgIDxpIGNsYXNzTmFtZT1cImljb24tZncgaWNvbi1jbG91ZC1kb3dubG9hZFwiPjwvaT57dCgnZXhwb3J0X2J1bGsuZXhwb3J0X3BhZ2VfbWFya2Rvd24nKX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIHsvKiBUT0RPIEdXLTI3NDYgY3JlYXRlIGFwaSB0byBidWxrIGV4cG9ydCBwYWdlcyAqL31cbiAgICAgICAgey8qIDxidXR0b24gY2xhc3NOYW1lPVwiZHJvcGRvd24taXRlbVwiIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtvcGVuQXJjaGl2ZU1vZGFsSGFuZGxlcn0+XG4gICAgICAgICAgPGkgY2xhc3NOYW1lPVwiaWNvbi1md1wiPjwvaT57dCgnQ3JlYXRlIEFyY2hpdmUgUGFnZScpfVxuICAgICAgICA8L2J1dHRvbj4gKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZHJvcGRvd24tZGl2aWRlclwiPjwvZGl2PlxuICAgICAgPC8+XG4gICAgKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHJlbmRlckRyb3Bkb3duSXRlbUZvckRlbGV0YWJsZVBhZ2UoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZHJvcGRvd24tZGl2aWRlclwiPjwvZGl2PlxuICAgICAgICA8YnV0dG9uIGNsYXNzTmFtZT1cImRyb3Bkb3duLWl0ZW0gdGV4dC1kYW5nZXJcIiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17b3BlblBhZ2VEZWxldGVNb2RhbEhhbmRsZXJ9PlxuICAgICAgICAgIDxpIGNsYXNzTmFtZT1cImljb24tZncgaWNvbi1maXJlXCI+PC9pPiB7IHQoJ0RlbGV0ZScpIH1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG5cbiAgZnVuY3Rpb24gcmVuZGVyTW9kYWxzKCkge1xuICAgIGlmIChjdXJyZW50VXNlciA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPFBhZ2VSZW5hbWVNb2RhbFxuICAgICAgICAgIGlzT3Blbj17aXNQYWdlUmVuYW1lTW9kYWxTaG93bn1cbiAgICAgICAgICBvbkNsb3NlPXtjbG9zZVBhZ2VSZW5hbWVNb2RhbEhhbmRsZXJ9XG4gICAgICAgICAgcGF0aD17cGF0aH1cbiAgICAgICAgLz5cbiAgICAgICAgPFBhZ2VEdXBsaWNhdGVNb2RhbFxuICAgICAgICAgIGlzT3Blbj17aXNQYWdlRHVwbGljYXRlTW9kYWxTaG93bn1cbiAgICAgICAgICBvbkNsb3NlPXtjbG9zZVBhZ2VEdXBsaWNhdGVNb2RhbEhhbmRsZXJ9XG4gICAgICAgIC8+XG4gICAgICAgIDxDcmVhdGVUZW1wbGF0ZU1vZGFsXG4gICAgICAgICAgaXNPcGVuPXtpc1BhZ2VUZW1wbGF0ZU1vZGFsU2hvd259XG4gICAgICAgICAgb25DbG9zZT17Y2xvc2VQYWdlVGVtcGxhdGVNb2RhbEhhbmRsZXJ9XG4gICAgICAgIC8+XG4gICAgICAgIDxQYWdlRGVsZXRlTW9kYWxcbiAgICAgICAgICBpc09wZW49e2lzUGFnZURlbGV0ZU1vZGFsU2hvd259XG4gICAgICAgICAgb25DbG9zZT17Y2xvc2VQYWdlRGVsZXRlTW9kYWxIYW5kbGVyfVxuICAgICAgICAgIHBhdGg9e3BhdGh9XG4gICAgICAgICAgaXNBYmxlVG9EZWxldGVDb21wbGV0ZWx5PXtpc0FibGVUb0RlbGV0ZUNvbXBsZXRlbHl9XG4gICAgICAgIC8+XG4gICAgICAgIDxQYWdlUHJlc2VudGF0aW9uTW9kYWxcbiAgICAgICAgICBpc09wZW49e2lzUGFnZVByZXNlbnRhdGlvbk1vZGFsU2hvd259XG4gICAgICAgICAgb25DbG9zZT17Y2xvc2VQYWdlUHJlc2VudGF0aW9uTW9kYWxIYW5kbGVyfVxuICAgICAgICAgIGhyZWY9XCI/cHJlc2VudGF0aW9uPTFcIlxuICAgICAgICAvPlxuICAgICAgPC8+XG4gICAgKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHJlbmRlckRvdHNJY29uRm9yQ3VycmVudFVzZXIoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzc05hbWU9e2BidG4tbGluayBuYXYtbGluayBkcm9wZG93bi10b2dnbGUgZHJvcGRvd24tdG9nZ2xlLW5vLWNhcmV0IGJvcmRlci0wIHJvdW5kZWQgZ3J3LWJ0bi1wYWdlLW1hbmFnZW1lbnQgJHtpc0NvbXBhY3RNb2RlICYmICdweS0wJ31gfVxuICAgICAgICAgIGRhdGEtdG9nZ2xlPVwiZHJvcGRvd25cIlxuICAgICAgICA+XG4gICAgICAgICAgPGkgY2xhc3NOYW1lPVwiaWNvbi1vcHRpb25zXCI+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH1cblxuICBmdW5jdGlvbiByZW5kZXJEb3RzSWNvbkZvckd1ZXN0VXNlcigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzTmFtZT17YGJ0biBuYXYtbGluayBiZy10cmFuc3BhcmVudCBkcm9wZG93bi10b2dnbGUgZHJvcGRvd24tdG9nZ2xlLW5vLWNhcmV0IGRpc2FibGVkICR7aXNDb21wYWN0TW9kZSAmJiAncHktMCd9YH1cbiAgICAgICAgICBpZD1cImljb24tb3B0aW9ucy1ndWVzdC10bHRpcHNcIlxuICAgICAgICA+XG4gICAgICAgICAgPGkgY2xhc3NOYW1lPVwiaWNvbi1vcHRpb25zXCI+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPFVuY29udHJvbGxlZFRvb2x0aXAgcGxhY2VtZW50PVwidG9wXCIgdGFyZ2V0PVwiaWNvbi1vcHRpb25zLWd1ZXN0LXRsdGlwc1wiIGZhZGU9e2ZhbHNlfT5cbiAgICAgICAgICB7dCgnTm90IGF2YWlsYWJsZSBmb3IgZ3Vlc3QnKX1cbiAgICAgICAgPC9VbmNvbnRyb2xsZWRUb29sdGlwPlxuICAgICAgPC8+XG4gICAgKTtcbiAgfVxuXG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAge2N1cnJlbnRVc2VyID09IG51bGwgPyByZW5kZXJEb3RzSWNvbkZvckd1ZXN0VXNlcigpIDogcmVuZGVyRG90c0ljb25Gb3JDdXJyZW50VXNlcigpfVxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJkcm9wZG93bi1tZW51IGRyb3Bkb3duLW1lbnUtcmlnaHRcIj5cbiAgICAgICAge2lzVG9wUGFnZVBhdGggPyByZW5kZXJEcm9wZG93bkl0ZW1Gb3JUb3BQYWdlKCkgOiByZW5kZXJEcm9wZG93bkl0ZW1Gb3JOb3RUb3BQYWdlKCl9XG4gICAgICAgIDxidXR0b24gY2xhc3NOYW1lPVwiZHJvcGRvd24taXRlbVwiIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtvcGVuUGFnZVRlbXBsYXRlTW9kYWxIYW5kbGVyfT5cbiAgICAgICAgICA8aSBjbGFzc05hbWU9XCJpY29uLWZ3IGljb24tbWFnaWMtd2FuZFwiPjwvaT4geyB0KCd0ZW1wbGF0ZS5vcHRpb25fbGFiZWwuY3JlYXRlL2VkaXQnKSB9XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB7KCFpc1RvcFBhZ2VQYXRoICYmIGlzRGVsZXRhYmxlKSAmJiByZW5kZXJEcm9wZG93bkl0ZW1Gb3JEZWxldGFibGVQYWdlKCl9XG4gICAgICA8L2Rpdj5cbiAgICAgIHtyZW5kZXJNb2RhbHMoKX1cbiAgICA8Lz5cbiAgKTtcbn07XG5cbi8qKlxuICogV3JhcHBlciBjb21wb25lbnQgZm9yIHVzaW5nIHVuc3RhdGVkXG4gKi9cbmNvbnN0IFBhZ2VNYW5hZ2VtZW50V3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoUGFnZU1hbmFnZW1lbnQsIFtBcHBDb250YWluZXIsIFBhZ2VDb250YWluZXJdKTtcblxuXG5QYWdlTWFuYWdlbWVudC5wcm9wVHlwZXMgPSB7XG4gIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsIC8vIGkxOG5leHRcbiAgYXBwQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihBcHBDb250YWluZXIpLmlzUmVxdWlyZWQsXG4gIHBhZ2VDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKFBhZ2VDb250YWluZXIpLmlzUmVxdWlyZWQsXG5cbiAgaXNDb21wYWN0TW9kZTogUHJvcFR5cGVzLmJvb2wsXG59O1xuXG5QYWdlTWFuYWdlbWVudC5kZWZhdWx0UHJvcHMgPSB7XG4gIGlzQ29tcGFjdE1vZGU6IGZhbHNlLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFRyYW5zbGF0aW9uKCkoUGFnZU1hbmFnZW1lbnRXcmFwcGVyKTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFEQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQU1BO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBTUE7QUFBQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFIQTtBQU1BO0FBQ0E7QUFGQTtBQUtBO0FBQ0E7QUFGQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFPQTtBQUNBO0FBQ0E7QUFIQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBSEE7QUFLQTtBQUFBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFIQTtBQUtBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFFQTtBQUdBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFPQTtBQUVBOzs7OztBQUdBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBTEE7QUFRQTtBQUNBO0FBREE7QUFJQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/Page/PageManagement.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Page/RedirectedAlert.jsx":
- /*!***********************************************************!*\
- !*** ./src/client/js/components/Page/RedirectedAlert.jsx ***!
- \***********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n\n\n\n\nconst RedirectedAlert = props => {\n const {\n t\n } = props;\n const urlParams = new URLSearchParams(window.location.search);\n const fromPath = urlParams.get('redirectFrom');\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"strong\", null, t('Redirected'), \":\"), \" \", t('page_page.notice.redirected'), \" \", react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"code\", null, fromPath), \" \", t('page_page.notice.redirected_period'));\n};\n\nRedirectedAlert.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired // i18next\n\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(RedirectedAlert));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZS9SZWRpcmVjdGVkQWxlcnQuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1BhZ2UvUmVkaXJlY3RlZEFsZXJ0LmpzeD8yNzcyIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgd2l0aFRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5cblxuY29uc3QgUmVkaXJlY3RlZEFsZXJ0ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gcHJvcHM7XG4gIGNvbnN0IHVybFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7XG4gIGNvbnN0IGZyb21QYXRoID0gdXJsUGFyYW1zLmdldCgncmVkaXJlY3RGcm9tJyk7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPHN0cm9uZz57IHQoJ1JlZGlyZWN0ZWQnKSB9Ojwvc3Ryb25nPiB7IHQoJ3BhZ2VfcGFnZS5ub3RpY2UucmVkaXJlY3RlZCcpfSA8Y29kZT57ZnJvbVBhdGh9PC9jb2RlPiB7dCgncGFnZV9wYWdlLm5vdGljZS5yZWRpcmVjdGVkX3BlcmlvZCcpfVxuICAgIDwvPlxuICApO1xufTtcblxuUmVkaXJlY3RlZEFsZXJ0LnByb3BUeXBlcyA9IHtcbiAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCwgLy8gaTE4bmV4dFxufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFRyYW5zbGF0aW9uKCkoUmVkaXJlY3RlZEFsZXJ0KTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFGQTtBQUlBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/Page/RedirectedAlert.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Page/RenamedAlert.jsx":
- /*!********************************************************!*\
- !*** ./src/client/js/components/Page/RenamedAlert.jsx ***!
- \********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n\n\n\n\nconst RenamedAlert = props => {\n const {\n t\n } = props;\n const urlParams = new URLSearchParams(window.location.search);\n const fromPath = urlParams.get('renamedFrom');\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"strong\", null, t('Moved'), \":\"), \" \", t('page_page.notice.moved'), \" \", react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"code\", null, fromPath), \" \", t('page_page.notice.moved_period'));\n};\n\nRenamedAlert.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired // i18next\n\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(RenamedAlert));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZS9SZW5hbWVkQWxlcnQuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1BhZ2UvUmVuYW1lZEFsZXJ0LmpzeD8zZGJlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgd2l0aFRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5cblxuY29uc3QgUmVuYW1lZEFsZXJ0ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gcHJvcHM7XG4gIGNvbnN0IHVybFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7XG4gIGNvbnN0IGZyb21QYXRoID0gdXJsUGFyYW1zLmdldCgncmVuYW1lZEZyb20nKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8c3Ryb25nPnsgdCgnTW92ZWQnKSB9Ojwvc3Ryb25nPiB7dCgncGFnZV9wYWdlLm5vdGljZS5tb3ZlZCcpfSA8Y29kZT57ZnJvbVBhdGh9PC9jb2RlPiB7dCgncGFnZV9wYWdlLm5vdGljZS5tb3ZlZF9wZXJpb2QnKX1cbiAgICA8Lz5cbiAgKTtcbn07XG5cblJlbmFtZWRBbGVydC5wcm9wVHlwZXMgPSB7XG4gIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsIC8vIGkxOG5leHRcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhUcmFuc2xhdGlvbigpKFJlbmFtZWRBbGVydCk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRkE7QUFJQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/Page/RenamedAlert.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Page/RenderTagLabels.jsx":
- /*!***********************************************************!*\
- !*** ./src/client/js/components/Page/RenderTagLabels.jsx ***!
- \***********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var reactstrap_es_UncontrolledTooltip__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! reactstrap/es/UncontrolledTooltip */ \"./node_modules/reactstrap/es/UncontrolledTooltip.js\");\n\n\n\n\nconst RenderTagLabels = react__WEBPACK_IMPORTED_MODULE_0___default.a.memo(props => {\n const {\n t,\n tags,\n isGuestUser\n } = props;\n\n function openEditorHandler() {\n if (props.openEditorModal == null) {\n return;\n }\n\n props.openEditorModal();\n } // activate suspense\n\n\n if (tags == null) {\n throw new Promise(() => {});\n }\n\n const isTagsEmpty = tags.length === 0;\n const tagElements = tags.map(tag => {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n key: tag,\n href: `/_search?q=tag:${tag}`,\n className: \"grw-tag-label badge badge-secondary mr-2\"\n }, tag);\n });\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, tagElements, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n id: \"edit-tags-btn-wrapper-for-tooltip\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n className: `btn btn-link btn-edit-tags p-0 text-muted ${isTagsEmpty ? 'no-tags' : ''} ${isGuestUser ? 'disabled' : ''}`,\n onClick: openEditorHandler\n }, isTagsEmpty && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, t('Add tags for this page')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"ml-1 icon-plus\"\n }))), isGuestUser && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_UncontrolledTooltip__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n placement: \"top\",\n target: \"edit-tags-btn-wrapper-for-tooltip\",\n fade: false\n }, t('Not available for guest')));\n});\nRenderTagLabels.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n tags: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.array,\n openEditorModal: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n isGuestUser: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(RenderTagLabels));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZS9SZW5kZXJUYWdMYWJlbHMuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1BhZ2UvUmVuZGVyVGFnTGFiZWxzLmpzeD83ZGUxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgd2l0aFRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5cbmltcG9ydCB7IFVuY29udHJvbGxlZFRvb2x0aXAgfSBmcm9tICdyZWFjdHN0cmFwJztcblxuY29uc3QgUmVuZGVyVGFnTGFiZWxzID0gUmVhY3QubWVtbygocHJvcHMpID0+IHtcbiAgY29uc3Qge1xuICAgIHQsIHRhZ3MsIGlzR3Vlc3RVc2VyLFxuICB9ID0gcHJvcHM7XG5cbiAgZnVuY3Rpb24gb3BlbkVkaXRvckhhbmRsZXIoKSB7XG4gICAgaWYgKHByb3BzLm9wZW5FZGl0b3JNb2RhbCA9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHByb3BzLm9wZW5FZGl0b3JNb2RhbCgpO1xuICB9XG5cbiAgLy8gYWN0aXZhdGUgc3VzcGVuc2VcbiAgaWYgKHRhZ3MgPT0gbnVsbCkge1xuICAgIHRocm93IG5ldyBQcm9taXNlKCgpID0+IHt9KTtcbiAgfVxuXG4gIGNvbnN0IGlzVGFnc0VtcHR5ID0gdGFncy5sZW5ndGggPT09IDA7XG5cbiAgY29uc3QgdGFnRWxlbWVudHMgPSB0YWdzLm1hcCgodGFnKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxhIGtleT17dGFnfSBocmVmPXtgL19zZWFyY2g/cT10YWc6JHt0YWd9YH0gY2xhc3NOYW1lPVwiZ3J3LXRhZy1sYWJlbCBiYWRnZSBiYWRnZS1zZWNvbmRhcnkgbXItMlwiPlxuICAgICAgICB7dGFnfVxuICAgICAgPC9hPlxuICAgICk7XG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHt0YWdFbGVtZW50c31cblxuICAgICAgPGRpdiBpZD1cImVkaXQtdGFncy1idG4td3JhcHBlci1mb3ItdG9vbHRpcFwiPlxuICAgICAgICA8YVxuICAgICAgICAgIGNsYXNzTmFtZT17YGJ0biBidG4tbGluayBidG4tZWRpdC10YWdzIHAtMCB0ZXh0LW11dGVkICR7aXNUYWdzRW1wdHkgPyAnbm8tdGFncycgOiAnJ30gJHtpc0d1ZXN0VXNlciA/ICdkaXNhYmxlZCcgOiAnJ31gfVxuICAgICAgICAgIG9uQ2xpY2s9e29wZW5FZGl0b3JIYW5kbGVyfVxuICAgICAgICA+XG4gICAgICAgICAgeyBpc1RhZ3NFbXB0eSAmJiA8PnsgdCgnQWRkIHRhZ3MgZm9yIHRoaXMgcGFnZScpIH08Lz59XG4gICAgICAgICAgPGkgY2xhc3NOYW1lPVwibWwtMSBpY29uLXBsdXNcIj48L2k+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuICAgICAge2lzR3Vlc3RVc2VyICYmIChcbiAgICAgICAgPFVuY29udHJvbGxlZFRvb2x0aXAgcGxhY2VtZW50PVwidG9wXCIgdGFyZ2V0PVwiZWRpdC10YWdzLWJ0bi13cmFwcGVyLWZvci10b29sdGlwXCIgZmFkZT17ZmFsc2V9PlxuICAgICAgICAgIHt0KCdOb3QgYXZhaWxhYmxlIGZvciBndWVzdCcpfVxuICAgICAgICA8L1VuY29udHJvbGxlZFRvb2x0aXA+XG4gICAgICApfVxuICAgIDwvPlxuICApO1xuXG59KTtcblxuUmVuZGVyVGFnTGFiZWxzLnByb3BUeXBlcyA9IHtcbiAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCwgLy8gaTE4bmV4dFxuXG4gIHRhZ3M6IFByb3BUeXBlcy5hcnJheSxcbiAgb3BlbkVkaXRvck1vZGFsOiBQcm9wVHlwZXMuZnVuYyxcbiAgaXNHdWVzdFVzZXI6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoVHJhbnNsYXRpb24oKShSZW5kZXJUYWdMYWJlbHMpO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTs7QUFJQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBREE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUVBO0FBSUE7QUFBQTtBQUVBO0FBQ0E7QUFGQTtBQUtBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQU9BO0FBRUE7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBTEE7QUFRQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/Page/RenderTagLabels.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Page/RevisionBody.jsx":
- /*!********************************************************!*\
- !*** ./src/client/js/components/Page/RevisionBody.jsx ***!
- \********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return RevisionBody; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var throttle_debounce__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! throttle-debounce */ \"./node_modules/throttle-debounce/index.esm.js\");\n\n\n\nclass RevisionBody extends react__WEBPACK_IMPORTED_MODULE_0___default.a.PureComponent {\n constructor(props) {\n super(props); // create debounced method for rendering MathJax\n\n this.renderMathJaxWithDebounce = Object(throttle_debounce__WEBPACK_IMPORTED_MODULE_2__[\"debounce\"])(200, this.renderMathJax);\n }\n\n componentDidMount() {\n const MathJax = window.MathJax;\n\n if (MathJax != null && this.props.isMathJaxEnabled && this.props.renderMathJaxOnInit) {\n this.renderMathJaxWithDebounce();\n }\n }\n\n componentDidUpdate() {\n const MathJax = window.MathJax;\n\n if (MathJax != null && this.props.isMathJaxEnabled && this.props.renderMathJaxInRealtime) {\n this.renderMathJaxWithDebounce();\n }\n }\n\n componentWillReceiveProps(nextProps) {\n const MathJax = window.MathJax;\n\n if (MathJax != null && this.props.isMathJaxEnabled && this.props.renderMathJaxOnInit) {\n this.renderMathJaxWithDebounce();\n }\n }\n\n renderMathJax() {\n const MathJax = window.MathJax; // Workaround MathJax Rendering (Errors still occur, but MathJax can be rendered)\n //\n // Reason:\n // Addition of draw.io Integration causes initialization conflict between MathJax of draw.io and MathJax of GROWI.\n // So, before MathJax is initialized, execute renderMathJaxWithDebounce again.\n // Avoiding initialization of MathJax of draw.io solves the problem.\n // refs: https://github.com/jgraph/drawio/pull/831\n\n if (MathJax != null) {\n MathJax.typesetPromise([this.element]);\n } else {\n this.renderMathJaxWithDebounce();\n }\n }\n\n generateInnerHtml(html) {\n return {\n __html: html\n };\n }\n\n render() {\n const additionalClassName = this.props.additionalClassName || '';\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n ref: elm => {\n this.element = elm;\n\n if (this.props.inputRef != null) {\n this.props.inputRef(elm);\n }\n },\n className: `wiki ${additionalClassName}` // eslint-disable-next-line react/no-danger\n ,\n dangerouslySetInnerHTML: this.generateInnerHtml(this.props.html)\n });\n }\n\n}\nRevisionBody.propTypes = {\n html: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n inputRef: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n // for getting div element\n isMathJaxEnabled: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n renderMathJaxOnInit: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n renderMathJaxInRealtime: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n additionalClassName: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZS9SZXZpc2lvbkJvZHkuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1BhZ2UvUmV2aXNpb25Cb2R5LmpzeD81ZTFjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQgeyBkZWJvdW5jZSB9IGZyb20gJ3Rocm90dGxlLWRlYm91bmNlJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmV2aXNpb25Cb2R5IGV4dGVuZHMgUmVhY3QuUHVyZUNvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICAvLyBjcmVhdGUgZGVib3VuY2VkIG1ldGhvZCBmb3IgcmVuZGVyaW5nIE1hdGhKYXhcbiAgICB0aGlzLnJlbmRlck1hdGhKYXhXaXRoRGVib3VuY2UgPSBkZWJvdW5jZSgyMDAsIHRoaXMucmVuZGVyTWF0aEpheCk7XG4gIH1cblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCBNYXRoSmF4ID0gd2luZG93Lk1hdGhKYXg7XG4gICAgaWYgKE1hdGhKYXggIT0gbnVsbCAmJiB0aGlzLnByb3BzLmlzTWF0aEpheEVuYWJsZWQgJiYgdGhpcy5wcm9wcy5yZW5kZXJNYXRoSmF4T25Jbml0KSB7XG4gICAgICB0aGlzLnJlbmRlck1hdGhKYXhXaXRoRGVib3VuY2UoKTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgY29uc3QgTWF0aEpheCA9IHdpbmRvdy5NYXRoSmF4O1xuICAgIGlmIChNYXRoSmF4ICE9IG51bGwgJiYgdGhpcy5wcm9wcy5pc01hdGhKYXhFbmFibGVkICYmIHRoaXMucHJvcHMucmVuZGVyTWF0aEpheEluUmVhbHRpbWUpIHtcbiAgICAgIHRoaXMucmVuZGVyTWF0aEpheFdpdGhEZWJvdW5jZSgpO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMobmV4dFByb3BzKSB7XG4gICAgY29uc3QgTWF0aEpheCA9IHdpbmRvdy5NYXRoSmF4O1xuICAgIGlmIChNYXRoSmF4ICE9IG51bGwgJiYgdGhpcy5wcm9wcy5pc01hdGhKYXhFbmFibGVkICYmIHRoaXMucHJvcHMucmVuZGVyTWF0aEpheE9uSW5pdCkge1xuICAgICAgdGhpcy5yZW5kZXJNYXRoSmF4V2l0aERlYm91bmNlKCk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyTWF0aEpheCgpIHtcbiAgICBjb25zdCBNYXRoSmF4ID0gd2luZG93Lk1hdGhKYXg7XG4gICAgLy8gV29ya2Fyb3VuZCBNYXRoSmF4IFJlbmRlcmluZyAoRXJyb3JzIHN0aWxsIG9jY3VyLCBidXQgTWF0aEpheCBjYW4gYmUgcmVuZGVyZWQpXG4gICAgLy9cbiAgICAvLyBSZWFzb246XG4gICAgLy8gICBBZGRpdGlvbiBvZiBkcmF3LmlvIEludGVncmF0aW9uIGNhdXNlcyBpbml0aWFsaXphdGlvbiBjb25mbGljdCBiZXR3ZWVuIE1hdGhKYXggb2YgZHJhdy5pbyBhbmQgTWF0aEpheCBvZiBHUk9XSS5cbiAgICAvLyAgIFNvLCBiZWZvcmUgTWF0aEpheCBpcyBpbml0aWFsaXplZCwgZXhlY3V0ZSByZW5kZXJNYXRoSmF4V2l0aERlYm91bmNlIGFnYWluLlxuICAgIC8vICAgQXZvaWRpbmcgaW5pdGlhbGl6YXRpb24gb2YgTWF0aEpheCBvZiBkcmF3LmlvIHNvbHZlcyB0aGUgcHJvYmxlbS5cbiAgICAvLyAgIHJlZnM6IGh0dHBzOi8vZ2l0aHViLmNvbS9qZ3JhcGgvZHJhd2lvL3B1bGwvODMxXG4gICAgaWYgKE1hdGhKYXggIT0gbnVsbCkge1xuICAgICAgTWF0aEpheC50eXBlc2V0UHJvbWlzZShbdGhpcy5lbGVtZW50XSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5yZW5kZXJNYXRoSmF4V2l0aERlYm91bmNlKCk7XG4gICAgfVxuICB9XG5cbiAgZ2VuZXJhdGVJbm5lckh0bWwoaHRtbCkge1xuICAgIHJldHVybiB7IF9faHRtbDogaHRtbCB9O1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IGFkZGl0aW9uYWxDbGFzc05hbWUgPSB0aGlzLnByb3BzLmFkZGl0aW9uYWxDbGFzc05hbWUgfHwgJyc7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXZcbiAgICAgICAgcmVmPXsoZWxtKSA9PiB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50ID0gZWxtO1xuICAgICAgICAgIGlmICh0aGlzLnByb3BzLmlucHV0UmVmICE9IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMucHJvcHMuaW5wdXRSZWYoZWxtKTtcbiAgICAgICAgICB9XG4gICAgICAgIH19XG4gICAgICAgIGNsYXNzTmFtZT17YHdpa2kgJHthZGRpdGlvbmFsQ2xhc3NOYW1lfWB9XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9uby1kYW5nZXJcbiAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3RoaXMuZ2VuZXJhdGVJbm5lckh0bWwodGhpcy5wcm9wcy5odG1sKX1cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxuXG59XG5cblJldmlzaW9uQm9keS5wcm9wVHlwZXMgPSB7XG4gIGh0bWw6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGlucHV0UmVmOiBQcm9wVHlwZXMuZnVuYywgLy8gZm9yIGdldHRpbmcgZGl2IGVsZW1lbnRcbiAgaXNNYXRoSmF4RW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gIHJlbmRlck1hdGhKYXhPbkluaXQ6IFByb3BUeXBlcy5ib29sLFxuICByZW5kZXJNYXRoSmF4SW5SZWFsdGltZTogUHJvcFR5cGVzLmJvb2wsXG4gIGFkZGl0aW9uYWxDbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUEE7QUFTQTtBQVRBO0FBWUE7QUFDQTtBQW5FQTtBQXNFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTkEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/Page/RevisionBody.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Page/RevisionLoader.jsx":
- /*!**********************************************************!*\
- !*** ./src/client/js/components/Page/RevisionLoader.jsx ***!
- \**********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_waypoint__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-waypoint */ \"./node_modules/react-waypoint/es/index.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _util_GrowiRenderer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../util/GrowiRenderer */ \"./src/client/js/util/GrowiRenderer.js\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _RevisionRenderer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./RevisionRenderer */ \"./src/client/js/components/Page/RevisionRenderer.jsx\");\n\n\n\n\n\n\n\n/**\n * Load data from server and render RevisionBody component\n */\n\nclass RevisionLoader extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n this.logger = __webpack_require__(/*! @alias/logger */ \"./src/lib/service/logger/index.js\")('growi:Page:RevisionLoader');\n this.state = {\n markdown: '',\n isLoading: false,\n isLoaded: false,\n errors: null\n };\n this.loadData = this.loadData.bind(this);\n this.onWaypointChange = this.onWaypointChange.bind(this);\n }\n\n componentWillMount() {\n if (!this.props.lazy) {\n this.loadData();\n }\n }\n\n async loadData() {\n if (!this.state.isLoaded && !this.state.isLoading) {\n this.setState({\n isLoading: true\n });\n }\n\n const {\n pageId,\n revisionId\n } = this.props; // load data with REST API\n\n try {\n const res = await this.props.appContainer.apiv3Get(`/revisions/${revisionId}`, {\n pageId\n });\n this.setState({\n markdown: res.data.revision.body,\n errors: null\n });\n\n if (this.props.onRevisionLoaded != null) {\n this.props.onRevisionLoaded(res.data.revision);\n }\n } catch (errors) {\n this.setState({\n errors\n });\n } finally {\n this.setState({\n isLoaded: true,\n isLoading: false\n });\n }\n }\n\n onWaypointChange(event) {\n if (event.currentPosition === react_waypoint__WEBPACK_IMPORTED_MODULE_2__[\"Waypoint\"].above || event.currentPosition === react_waypoint__WEBPACK_IMPORTED_MODULE_2__[\"Waypoint\"].inside) {\n this.loadData();\n }\n }\n\n render() {\n // ----- before load -----\n if (this.props.lazy && !this.state.isLoaded) {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_waypoint__WEBPACK_IMPORTED_MODULE_2__[\"Waypoint\"], {\n onPositionChange: this.onWaypointChange,\n bottomOffset: \"-100px\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"wiki\"\n }));\n } // ----- loading -----\n\n\n if (this.state.isLoading) {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"wiki\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"text-muted text-center\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"fa fa-2x fa-spinner fa-pulse mr-1\"\n })));\n } // ----- after load -----\n\n\n let markdown = this.state.markdown;\n\n if (this.state.errors != null) {\n const errorMessages = this.state.errors.map(error => {\n return `<span class=\"text-muted\"><em>${error.message}</em></span>`;\n });\n markdown = errorMessages.join('');\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RevisionRenderer__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n growiRenderer: this.props.growiRenderer,\n markdown: markdown,\n highlightKeywords: this.props.highlightKeywords\n });\n }\n\n}\n/**\n * Wrapper component for using unstated\n */\n\n\nconst RevisionLoaderWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__[\"withUnstatedContainers\"])(RevisionLoader, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]]);\nRevisionLoader.propTypes = {\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]).isRequired,\n growiRenderer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_util_GrowiRenderer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]).isRequired,\n pageId: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired,\n revisionId: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired,\n lazy: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n onRevisionLoaded: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n highlightKeywords: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (RevisionLoaderWrapper);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZS9SZXZpc2lvbkxvYWRlci5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZS9SZXZpc2lvbkxvYWRlci5qc3g/MzQzNyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuaW1wb3J0IHsgV2F5cG9pbnQgfSBmcm9tICdyZWFjdC13YXlwb2ludCc7XG5cbmltcG9ydCB7IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMgfSBmcm9tICcuLi9VbnN0YXRlZFV0aWxzJztcbmltcG9ydCBHcm93aVJlbmRlcmVyIGZyb20gJy4uLy4uL3V0aWwvR3Jvd2lSZW5kZXJlcic7XG5pbXBvcnQgQXBwQ29udGFpbmVyIGZyb20gJy4uLy4uL3NlcnZpY2VzL0FwcENvbnRhaW5lcic7XG5cbmltcG9ydCBSZXZpc2lvblJlbmRlcmVyIGZyb20gJy4vUmV2aXNpb25SZW5kZXJlcic7XG5cbi8qKlxuICogTG9hZCBkYXRhIGZyb20gc2VydmVyIGFuZCByZW5kZXIgUmV2aXNpb25Cb2R5IGNvbXBvbmVudFxuICovXG5jbGFzcyBSZXZpc2lvbkxvYWRlciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5sb2dnZXIgPSByZXF1aXJlKCdAYWxpYXMvbG9nZ2VyJykoJ2dyb3dpOlBhZ2U6UmV2aXNpb25Mb2FkZXInKTtcblxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBtYXJrZG93bjogJycsXG4gICAgICBpc0xvYWRpbmc6IGZhbHNlLFxuICAgICAgaXNMb2FkZWQ6IGZhbHNlLFxuICAgICAgZXJyb3JzOiBudWxsLFxuICAgIH07XG5cbiAgICB0aGlzLmxvYWREYXRhID0gdGhpcy5sb2FkRGF0YS5iaW5kKHRoaXMpO1xuICAgIHRoaXMub25XYXlwb2ludENoYW5nZSA9IHRoaXMub25XYXlwb2ludENoYW5nZS5iaW5kKHRoaXMpO1xuICB9XG5cbiAgY29tcG9uZW50V2lsbE1vdW50KCkge1xuICAgIGlmICghdGhpcy5wcm9wcy5sYXp5KSB7XG4gICAgICB0aGlzLmxvYWREYXRhKCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbG9hZERhdGEoKSB7XG4gICAgaWYgKCF0aGlzLnN0YXRlLmlzTG9hZGVkICYmICF0aGlzLnN0YXRlLmlzTG9hZGluZykge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGlzTG9hZGluZzogdHJ1ZSB9KTtcbiAgICB9XG5cbiAgICBjb25zdCB7IHBhZ2VJZCwgcmV2aXNpb25JZCB9ID0gdGhpcy5wcm9wcztcblxuXG4gICAgLy8gbG9hZCBkYXRhIHdpdGggUkVTVCBBUElcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5wcm9wcy5hcHBDb250YWluZXIuYXBpdjNHZXQoYC9yZXZpc2lvbnMvJHtyZXZpc2lvbklkfWAsIHsgcGFnZUlkIH0pO1xuXG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgbWFya2Rvd246IHJlcy5kYXRhLnJldmlzaW9uLmJvZHksXG4gICAgICAgIGVycm9yczogbnVsbCxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAodGhpcy5wcm9wcy5vblJldmlzaW9uTG9hZGVkICE9IG51bGwpIHtcbiAgICAgICAgdGhpcy5wcm9wcy5vblJldmlzaW9uTG9hZGVkKHJlcy5kYXRhLnJldmlzaW9uKTtcbiAgICAgIH1cbiAgICB9XG4gICAgY2F0Y2ggKGVycm9ycykge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGVycm9ycyB9KTtcbiAgICB9XG4gICAgZmluYWxseSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgaXNMb2FkZWQ6IHRydWUsIGlzTG9hZGluZzogZmFsc2UgfSk7XG4gICAgfVxuXG4gIH1cblxuICBvbldheXBvaW50Q2hhbmdlKGV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LmN1cnJlbnRQb3NpdGlvbiA9PT0gV2F5cG9pbnQuYWJvdmUgfHwgZXZlbnQuY3VycmVudFBvc2l0aW9uID09PSBXYXlwb2ludC5pbnNpZGUpIHtcbiAgICAgIHRoaXMubG9hZERhdGEoKTtcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgLy8gLS0tLS0gYmVmb3JlIGxvYWQgLS0tLS1cbiAgICBpZiAodGhpcy5wcm9wcy5sYXp5ICYmICF0aGlzLnN0YXRlLmlzTG9hZGVkKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8V2F5cG9pbnQgb25Qb3NpdGlvbkNoYW5nZT17dGhpcy5vbldheXBvaW50Q2hhbmdlfSBib3R0b21PZmZzZXQ9XCItMTAwcHhcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIndpa2lcIj48L2Rpdj5cbiAgICAgICAgPC9XYXlwb2ludD5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0gbG9hZGluZyAtLS0tLVxuICAgIGlmICh0aGlzLnN0YXRlLmlzTG9hZGluZykge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3aWtpXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LW11dGVkIHRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICA8aSBjbGFzc05hbWU9XCJmYSBmYS0yeCBmYS1zcGlubmVyIGZhLXB1bHNlIG1yLTFcIj48L2k+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLSBhZnRlciBsb2FkIC0tLS0tXG4gICAgbGV0IG1hcmtkb3duID0gdGhpcy5zdGF0ZS5tYXJrZG93bjtcbiAgICBpZiAodGhpcy5zdGF0ZS5lcnJvcnMgIT0gbnVsbCkge1xuICAgICAgY29uc3QgZXJyb3JNZXNzYWdlcyA9IHRoaXMuc3RhdGUuZXJyb3JzLm1hcCgoZXJyb3IpID0+IHtcbiAgICAgICAgcmV0dXJuIGA8c3BhbiBjbGFzcz1cInRleHQtbXV0ZWRcIj48ZW0+JHtlcnJvci5tZXNzYWdlfTwvZW0+PC9zcGFuPmA7XG4gICAgICB9KTtcbiAgICAgIG1hcmtkb3duID0gZXJyb3JNZXNzYWdlcy5qb2luKCcnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFJldmlzaW9uUmVuZGVyZXJcbiAgICAgICAgZ3Jvd2lSZW5kZXJlcj17dGhpcy5wcm9wcy5ncm93aVJlbmRlcmVyfVxuICAgICAgICBtYXJrZG93bj17bWFya2Rvd259XG4gICAgICAgIGhpZ2hsaWdodEtleXdvcmRzPXt0aGlzLnByb3BzLmhpZ2hsaWdodEtleXdvcmRzfVxuICAgICAgLz5cbiAgICApO1xuICB9XG5cbn1cblxuLyoqXG4gKiBXcmFwcGVyIGNvbXBvbmVudCBmb3IgdXNpbmcgdW5zdGF0ZWRcbiAqL1xuY29uc3QgUmV2aXNpb25Mb2FkZXJXcmFwcGVyID0gd2l0aFVuc3RhdGVkQ29udGFpbmVycyhSZXZpc2lvbkxvYWRlciwgW0FwcENvbnRhaW5lcl0pO1xuXG5SZXZpc2lvbkxvYWRlci5wcm9wVHlwZXMgPSB7XG4gIGFwcENvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoQXBwQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuXG4gIGdyb3dpUmVuZGVyZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKEdyb3dpUmVuZGVyZXIpLmlzUmVxdWlyZWQsXG4gIHBhZ2VJZDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICByZXZpc2lvbklkOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIGxhenk6IFByb3BUeXBlcy5ib29sLFxuICBvblJldmlzaW9uTG9hZGVkOiBQcm9wVHlwZXMuZnVuYyxcbiAgaGlnaGxpZ2h0S2V5d29yZHM6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBSZXZpc2lvbkxvYWRlcldyYXBwZXI7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFFQTs7OztBQUdBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFHQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUZBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFIQTtBQU1BO0FBQ0E7QUFqR0E7QUFvR0E7Ozs7O0FBR0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUkE7QUFXQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/Page/RevisionLoader.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Page/RevisionRenderer.jsx":
- /*!************************************************************!*\
- !*** ./src/client/js/components/Page/RevisionRenderer.jsx ***!
- \************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_NavigationContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../services/NavigationContainer */ \"./src/client/js/services/NavigationContainer.js\");\n/* harmony import */ var _util_GrowiRenderer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../util/GrowiRenderer */ \"./src/client/js/util/GrowiRenderer.js\");\n/* harmony import */ var _RevisionBody__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./RevisionBody */ \"./src/client/js/components/Page/RevisionBody.jsx\");\n\n\n\n\n\n\n\n\nclass RevisionRenderer extends react__WEBPACK_IMPORTED_MODULE_0___default.a.PureComponent {\n constructor(props) {\n super(props);\n this.state = {\n html: ''\n };\n this.renderHtml = this.renderHtml.bind(this);\n this.getHighlightedBody = this.getHighlightedBody.bind(this);\n }\n\n initCurrentRenderingContext() {\n this.currentRenderingContext = {\n markdown: this.props.markdown,\n currentPagePath: decodeURIComponent(window.location.pathname)\n };\n }\n\n componentDidMount() {\n this.initCurrentRenderingContext();\n this.renderHtml();\n }\n\n componentDidUpdate(prevProps) {\n const {\n markdown: prevMarkdown,\n highlightKeywords: prevHighlightKeywords\n } = prevProps;\n const {\n markdown,\n highlightKeywords,\n navigationContainer\n } = this.props; // render only when props.markdown is updated\n\n if (markdown !== prevMarkdown || highlightKeywords !== prevHighlightKeywords) {\n this.initCurrentRenderingContext();\n this.renderHtml();\n return;\n }\n\n const HeaderLink = document.getElementsByClassName('revision-head-link');\n const HeaderLinkArray = Array.from(HeaderLink);\n navigationContainer.addSmoothScrollEvent(HeaderLinkArray);\n const {\n interceptorManager\n } = this.props.appContainer;\n interceptorManager.process('postRenderHtml', this.currentRenderingContext);\n }\n /**\n * transplanted from legacy code -- Yuki Takei\n * @param {string} body html strings\n * @param {string} keywords\n */\n\n\n getHighlightedBody(body, keywords) {\n let returnBody = body;\n keywords.replace(/\"/g, '').split(' ').forEach(keyword => {\n if (keyword === '') {\n return;\n }\n\n const k = keyword.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&').replace(/(^\"|\"$)/g, ''); // for phrase (quoted) keyword\n\n const keywordExp = new RegExp(`(${k}(?!(.*?\")))`, 'ig');\n returnBody = returnBody.replace(keywordExp, '<em class=\"highlighted\">$&</em>');\n });\n return returnBody;\n }\n\n async renderHtml() {\n const {\n appContainer,\n growiRenderer,\n highlightKeywords\n } = this.props;\n const {\n interceptorManager\n } = appContainer;\n const context = this.currentRenderingContext;\n await interceptorManager.process('preRender', context);\n await interceptorManager.process('prePreProcess', context);\n context.markdown = growiRenderer.preProcess(context.markdown);\n await interceptorManager.process('postPreProcess', context);\n context.parsedHTML = growiRenderer.process(context.markdown);\n await interceptorManager.process('prePostProcess', context);\n context.parsedHTML = growiRenderer.postProcess(context.parsedHTML);\n\n if (this.props.highlightKeywords != null) {\n context.parsedHTML = this.getHighlightedBody(context.parsedHTML, highlightKeywords);\n }\n\n await interceptorManager.process('postPostProcess', context);\n await interceptorManager.process('preRenderHtml', context);\n this.setState({\n html: context.parsedHTML\n });\n }\n\n render() {\n const config = this.props.appContainer.getConfig();\n const isMathJaxEnabled = !!config.env.MATHJAX;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RevisionBody__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n html: this.state.html,\n isMathJaxEnabled: isMathJaxEnabled,\n additionalClassName: this.props.additionalClassName,\n renderMathJaxOnInit: true\n });\n }\n\n}\n/**\n * Wrapper component for using unstated\n */\n\n\nconst RevisionRendererWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_2__[\"withUnstatedContainers\"])(RevisionRenderer, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _services_NavigationContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]]);\nRevisionRenderer.propTypes = {\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_3__[\"default\"]).isRequired,\n navigationContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_NavigationContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]).isRequired,\n growiRenderer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_util_GrowiRenderer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]).isRequired,\n markdown: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired,\n highlightKeywords: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n additionalClassName: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (RevisionRendererWrapper);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZS9SZXZpc2lvblJlbmRlcmVyLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9QYWdlL1JldmlzaW9uUmVuZGVyZXIuanN4P2U3ZWEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCB7IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMgfSBmcm9tICcuLi9VbnN0YXRlZFV0aWxzJztcbmltcG9ydCBBcHBDb250YWluZXIgZnJvbSAnLi4vLi4vc2VydmljZXMvQXBwQ29udGFpbmVyJztcbmltcG9ydCBOYXZpZ2F0aW9uQ29udGFpbmVyIGZyb20gJy4uLy4uL3NlcnZpY2VzL05hdmlnYXRpb25Db250YWluZXInO1xuaW1wb3J0IEdyb3dpUmVuZGVyZXIgZnJvbSAnLi4vLi4vdXRpbC9Hcm93aVJlbmRlcmVyJztcblxuaW1wb3J0IFJldmlzaW9uQm9keSBmcm9tICcuL1JldmlzaW9uQm9keSc7XG5cbmNsYXNzIFJldmlzaW9uUmVuZGVyZXIgZXh0ZW5kcyBSZWFjdC5QdXJlQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcblxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBodG1sOiAnJyxcbiAgICB9O1xuXG4gICAgdGhpcy5yZW5kZXJIdG1sID0gdGhpcy5yZW5kZXJIdG1sLmJpbmQodGhpcyk7XG4gICAgdGhpcy5nZXRIaWdobGlnaHRlZEJvZHkgPSB0aGlzLmdldEhpZ2hsaWdodGVkQm9keS5iaW5kKHRoaXMpO1xuICB9XG5cbiAgaW5pdEN1cnJlbnRSZW5kZXJpbmdDb250ZXh0KCkge1xuICAgIHRoaXMuY3VycmVudFJlbmRlcmluZ0NvbnRleHQgPSB7XG4gICAgICBtYXJrZG93bjogdGhpcy5wcm9wcy5tYXJrZG93bixcbiAgICAgIGN1cnJlbnRQYWdlUGF0aDogZGVjb2RlVVJJQ29tcG9uZW50KHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSksXG4gICAgfTtcbiAgfVxuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIHRoaXMuaW5pdEN1cnJlbnRSZW5kZXJpbmdDb250ZXh0KCk7XG4gICAgdGhpcy5yZW5kZXJIdG1sKCk7XG4gIH1cblxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzKSB7XG4gICAgY29uc3QgeyBtYXJrZG93bjogcHJldk1hcmtkb3duLCBoaWdobGlnaHRLZXl3b3JkczogcHJldkhpZ2hsaWdodEtleXdvcmRzIH0gPSBwcmV2UHJvcHM7XG4gICAgY29uc3QgeyBtYXJrZG93biwgaGlnaGxpZ2h0S2V5d29yZHMsIG5hdmlnYXRpb25Db250YWluZXIgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAvLyByZW5kZXIgb25seSB3aGVuIHByb3BzLm1hcmtkb3duIGlzIHVwZGF0ZWRcbiAgICBpZiAobWFya2Rvd24gIT09IHByZXZNYXJrZG93biB8fCBoaWdobGlnaHRLZXl3b3JkcyAhPT0gcHJldkhpZ2hsaWdodEtleXdvcmRzKSB7XG4gICAgICB0aGlzLmluaXRDdXJyZW50UmVuZGVyaW5nQ29udGV4dCgpO1xuICAgICAgdGhpcy5yZW5kZXJIdG1sKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgSGVhZGVyTGluayA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ3JldmlzaW9uLWhlYWQtbGluaycpO1xuICAgIGNvbnN0IEhlYWRlckxpbmtBcnJheSA9IEFycmF5LmZyb20oSGVhZGVyTGluayk7XG4gICAgbmF2aWdhdGlvbkNvbnRhaW5lci5hZGRTbW9vdGhTY3JvbGxFdmVudChIZWFkZXJMaW5rQXJyYXkpO1xuXG4gICAgY29uc3QgeyBpbnRlcmNlcHRvck1hbmFnZXIgfSA9IHRoaXMucHJvcHMuYXBwQ29udGFpbmVyO1xuXG4gICAgaW50ZXJjZXB0b3JNYW5hZ2VyLnByb2Nlc3MoJ3Bvc3RSZW5kZXJIdG1sJywgdGhpcy5jdXJyZW50UmVuZGVyaW5nQ29udGV4dCk7XG4gIH1cblxuICAvKipcbiAgICogdHJhbnNwbGFudGVkIGZyb20gbGVnYWN5IGNvZGUgLS0gWXVraSBUYWtlaVxuICAgKiBAcGFyYW0ge3N0cmluZ30gYm9keSBodG1sIHN0cmluZ3NcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleXdvcmRzXG4gICAqL1xuICBnZXRIaWdobGlnaHRlZEJvZHkoYm9keSwga2V5d29yZHMpIHtcbiAgICBsZXQgcmV0dXJuQm9keSA9IGJvZHk7XG5cbiAgICBrZXl3b3Jkcy5yZXBsYWNlKC9cIi9nLCAnJykuc3BsaXQoJyAnKS5mb3JFYWNoKChrZXl3b3JkKSA9PiB7XG4gICAgICBpZiAoa2V5d29yZCA9PT0gJycpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgayA9IGtleXdvcmRcbiAgICAgICAgLnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXF1cXFxcXS9nLCAnXFxcXCQmJylcbiAgICAgICAgLnJlcGxhY2UoLyheXCJ8XCIkKS9nLCAnJyk7IC8vIGZvciBwaHJhc2UgKHF1b3RlZCkga2V5d29yZFxuICAgICAgY29uc3Qga2V5d29yZEV4cCA9IG5ldyBSZWdFeHAoYCgke2t9KD8hKC4qP1wiKSkpYCwgJ2lnJyk7XG4gICAgICByZXR1cm5Cb2R5ID0gcmV0dXJuQm9keS5yZXBsYWNlKGtleXdvcmRFeHAsICc8ZW0gY2xhc3M9XCJoaWdobGlnaHRlZFwiPiQmPC9lbT4nKTtcbiAgICB9KTtcblxuICAgIHJldHVybiByZXR1cm5Cb2R5O1xuICB9XG5cbiAgYXN5bmMgcmVuZGVySHRtbCgpIHtcbiAgICBjb25zdCB7XG4gICAgICBhcHBDb250YWluZXIsIGdyb3dpUmVuZGVyZXIsXG4gICAgICBoaWdobGlnaHRLZXl3b3JkcyxcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHsgaW50ZXJjZXB0b3JNYW5hZ2VyIH0gPSBhcHBDb250YWluZXI7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuY3VycmVudFJlbmRlcmluZ0NvbnRleHQ7XG5cbiAgICBhd2FpdCBpbnRlcmNlcHRvck1hbmFnZXIucHJvY2VzcygncHJlUmVuZGVyJywgY29udGV4dCk7XG4gICAgYXdhaXQgaW50ZXJjZXB0b3JNYW5hZ2VyLnByb2Nlc3MoJ3ByZVByZVByb2Nlc3MnLCBjb250ZXh0KTtcbiAgICBjb250ZXh0Lm1hcmtkb3duID0gZ3Jvd2lSZW5kZXJlci5wcmVQcm9jZXNzKGNvbnRleHQubWFya2Rvd24pO1xuICAgIGF3YWl0IGludGVyY2VwdG9yTWFuYWdlci5wcm9jZXNzKCdwb3N0UHJlUHJvY2VzcycsIGNvbnRleHQpO1xuICAgIGNvbnRleHQucGFyc2VkSFRNTCA9IGdyb3dpUmVuZGVyZXIucHJvY2Vzcyhjb250ZXh0Lm1hcmtkb3duKTtcbiAgICBhd2FpdCBpbnRlcmNlcHRvck1hbmFnZXIucHJvY2VzcygncHJlUG9zdFByb2Nlc3MnLCBjb250ZXh0KTtcbiAgICBjb250ZXh0LnBhcnNlZEhUTUwgPSBncm93aVJlbmRlcmVyLnBvc3RQcm9jZXNzKGNvbnRleHQucGFyc2VkSFRNTCk7XG5cbiAgICBpZiAodGhpcy5wcm9wcy5oaWdobGlnaHRLZXl3b3JkcyAhPSBudWxsKSB7XG4gICAgICBjb250ZXh0LnBhcnNlZEhUTUwgPSB0aGlzLmdldEhpZ2hsaWdodGVkQm9keShjb250ZXh0LnBhcnNlZEhUTUwsIGhpZ2hsaWdodEtleXdvcmRzKTtcbiAgICB9XG4gICAgYXdhaXQgaW50ZXJjZXB0b3JNYW5hZ2VyLnByb2Nlc3MoJ3Bvc3RQb3N0UHJvY2VzcycsIGNvbnRleHQpO1xuICAgIGF3YWl0IGludGVyY2VwdG9yTWFuYWdlci5wcm9jZXNzKCdwcmVSZW5kZXJIdG1sJywgY29udGV4dCk7XG5cbiAgICB0aGlzLnNldFN0YXRlKHsgaHRtbDogY29udGV4dC5wYXJzZWRIVE1MIH0pO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMucHJvcHMuYXBwQ29udGFpbmVyLmdldENvbmZpZygpO1xuICAgIGNvbnN0IGlzTWF0aEpheEVuYWJsZWQgPSAhIWNvbmZpZy5lbnYuTUFUSEpBWDtcblxuICAgIHJldHVybiAoXG4gICAgICA8UmV2aXNpb25Cb2R5XG4gICAgICAgIGh0bWw9e3RoaXMuc3RhdGUuaHRtbH1cbiAgICAgICAgaXNNYXRoSmF4RW5hYmxlZD17aXNNYXRoSmF4RW5hYmxlZH1cbiAgICAgICAgYWRkaXRpb25hbENsYXNzTmFtZT17dGhpcy5wcm9wcy5hZGRpdGlvbmFsQ2xhc3NOYW1lfVxuICAgICAgICByZW5kZXJNYXRoSmF4T25Jbml0XG4gICAgICAvPlxuICAgICk7XG4gIH1cblxufVxuXG4vKipcbiAqIFdyYXBwZXIgY29tcG9uZW50IGZvciB1c2luZyB1bnN0YXRlZFxuICovXG5jb25zdCBSZXZpc2lvblJlbmRlcmVyV3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoUmV2aXNpb25SZW5kZXJlciwgW0FwcENvbnRhaW5lciwgTmF2aWdhdGlvbkNvbnRhaW5lcl0pO1xuXG5SZXZpc2lvblJlbmRlcmVyLnByb3BUeXBlcyA9IHtcbiAgYXBwQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihBcHBDb250YWluZXIpLmlzUmVxdWlyZWQsXG4gIG5hdmlnYXRpb25Db250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKE5hdmlnYXRpb25Db250YWluZXIpLmlzUmVxdWlyZWQsXG4gIGdyb3dpUmVuZGVyZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKEdyb3dpUmVuZGVyZXIpLmlzUmVxdWlyZWQsXG4gIG1hcmtkb3duOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIGhpZ2hsaWdodEtleXdvcmRzOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBhZGRpdGlvbmFsQ2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgUmV2aXNpb25SZW5kZXJlcldyYXBwZXI7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFEQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFGQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFFQTs7Ozs7OztBQUtBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFGQTtBQUtBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFPQTtBQUNBO0FBMUdBO0FBNkdBOzs7OztBQUdBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQVNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/Page/RevisionRenderer.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Page/ShareLinkAlert.jsx":
- /*!**********************************************************!*\
- !*** ./src/client/js/components/Page/ShareLinkAlert.jsx ***!
- \**********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n\n\n\n\nconst ShareLinkAlert = props => {\n const {\n t\n } = props;\n const shareContent = document.getElementById('is-shared-page');\n const expiredAt = shareContent.getAttribute('data-share-link-expired-at');\n const createdAt = shareContent.getAttribute('data-share-link-created-at');\n\n function generateRatio() {\n const wholeTime = new Date(expiredAt).getTime() - new Date(createdAt).getTime();\n const remainingTime = new Date(expiredAt).getTime() - new Date().getTime();\n return remainingTime / wholeTime;\n }\n\n let ratio = 1;\n\n if (expiredAt !== '') {\n ratio = generateRatio();\n }\n\n function specifyColor() {\n let color;\n\n if (ratio >= 0.75) {\n color = 'success';\n } else if (ratio < 0.75 && ratio >= 0.5) {\n color = 'info';\n } else if (ratio < 0.5 && ratio >= 0.25) {\n color = 'warning';\n } else {\n color = 'danger';\n }\n\n return color;\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: `alert alert-${specifyColor()} py-3 px-4 d-edit-none`\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-link\"\n }), expiredAt === '' ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", null, t('page_page.notice.no_deadline')) // eslint-disable-next-line react/no-danger\n : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n dangerouslySetInnerHTML: {\n __html: t('page_page.notice.expiration', {\n expiredAt\n })\n }\n }));\n};\n\nShareLinkAlert.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired // i18next\n\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(ShareLinkAlert));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZS9TaGFyZUxpbmtBbGVydC5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZS9TaGFyZUxpbmtBbGVydC5qc3g/OGU0MiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuaW1wb3J0IHsgd2l0aFRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5cbmNvbnN0IFNoYXJlTGlua0FsZXJ0ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gcHJvcHM7XG5cblxuICBjb25zdCBzaGFyZUNvbnRlbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaXMtc2hhcmVkLXBhZ2UnKTtcbiAgY29uc3QgZXhwaXJlZEF0ID0gc2hhcmVDb250ZW50LmdldEF0dHJpYnV0ZSgnZGF0YS1zaGFyZS1saW5rLWV4cGlyZWQtYXQnKTtcbiAgY29uc3QgY3JlYXRlZEF0ID0gc2hhcmVDb250ZW50LmdldEF0dHJpYnV0ZSgnZGF0YS1zaGFyZS1saW5rLWNyZWF0ZWQtYXQnKTtcblxuICBmdW5jdGlvbiBnZW5lcmF0ZVJhdGlvKCkge1xuICAgIGNvbnN0IHdob2xlVGltZSA9IG5ldyBEYXRlKGV4cGlyZWRBdCkuZ2V0VGltZSgpIC0gbmV3IERhdGUoY3JlYXRlZEF0KS5nZXRUaW1lKCk7XG4gICAgY29uc3QgcmVtYWluaW5nVGltZSA9IG5ldyBEYXRlKGV4cGlyZWRBdCkuZ2V0VGltZSgpIC0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgcmV0dXJuIHJlbWFpbmluZ1RpbWUgLyB3aG9sZVRpbWU7XG4gIH1cblxuICBsZXQgcmF0aW8gPSAxO1xuXG4gIGlmIChleHBpcmVkQXQgIT09ICcnKSB7XG4gICAgcmF0aW8gPSBnZW5lcmF0ZVJhdGlvKCk7XG4gIH1cblxuICBmdW5jdGlvbiBzcGVjaWZ5Q29sb3IoKSB7XG4gICAgbGV0IGNvbG9yO1xuICAgIGlmIChyYXRpbyA+PSAwLjc1KSB7XG4gICAgICBjb2xvciA9ICdzdWNjZXNzJztcbiAgICB9XG4gICAgZWxzZSBpZiAocmF0aW8gPCAwLjc1ICYmIHJhdGlvID49IDAuNSkge1xuICAgICAgY29sb3IgPSAnaW5mbyc7XG4gICAgfVxuICAgIGVsc2UgaWYgKHJhdGlvIDwgMC41ICYmIHJhdGlvID49IDAuMjUpIHtcbiAgICAgIGNvbG9yID0gJ3dhcm5pbmcnO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGNvbG9yID0gJ2Rhbmdlcic7XG4gICAgfVxuICAgIHJldHVybiBjb2xvcjtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPHAgY2xhc3NOYW1lPXtgYWxlcnQgYWxlcnQtJHtzcGVjaWZ5Q29sb3IoKX0gcHktMyBweC00IGQtZWRpdC1ub25lYH0+XG4gICAgICA8aSBjbGFzc05hbWU9XCJpY29uLWZ3IGljb24tbGlua1wiPjwvaT5cbiAgICAgIHsoZXhwaXJlZEF0ID09PSAnJyA/IDxzcGFuPnt0KCdwYWdlX3BhZ2Uubm90aWNlLm5vX2RlYWRsaW5lJyl9PC9zcGFuPlxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L25vLWRhbmdlclxuICAgICAgOiA8c3BhbiBkYW5nZXJvdXNseVNldElubmVySFRNTD17eyBfX2h0bWw6IHQoJ3BhZ2VfcGFnZS5ub3RpY2UuZXhwaXJhdGlvbicsIHsgZXhwaXJlZEF0IH0pIH19IC8+XG4gICAgICApfVxuICAgIDwvcD5cbiAgKTtcbn07XG5cblxuU2hhcmVMaW5rQWxlcnQucHJvcFR5cGVzID0ge1xuICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLCAvLyBpMThuZXh0XG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoVHJhbnNsYXRpb24oKShTaGFyZUxpbmtBbGVydCk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUZBO0FBSUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/Page/ShareLinkAlert.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Page/TagEditModal.jsx":
- /*!********************************************************!*\
- !*** ./src/client/js/components/Page/TagEditModal.jsx ***!
- \********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! reactstrap/es/Modal */ \"./node_modules/reactstrap/es/Modal.js\");\n/* harmony import */ var reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! reactstrap/es/ModalHeader */ \"./node_modules/reactstrap/es/ModalHeader.js\");\n/* harmony import */ var reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! reactstrap/es/ModalBody */ \"./node_modules/reactstrap/es/ModalBody.js\");\n/* harmony import */ var reactstrap_es_ModalFooter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! reactstrap/es/ModalFooter */ \"./node_modules/reactstrap/es/ModalFooter.js\");\n/* harmony import */ var _TagsInput__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./TagsInput */ \"./src/client/js/components/Page/TagsInput.jsx\");\n\n\n\n\n\n\n\n\nfunction TagEditModal(props) {\n const [tags, setTags] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])([]);\n\n function onTagsUpdatedByTagsInput(tags) {\n setTags(tags);\n }\n\n Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useEffect\"])(() => {\n setTags(props.tags);\n }, [props.tags]);\n\n function closeModalHandler() {\n if (props.onClose == null) {\n return;\n }\n\n props.onClose();\n }\n\n function handleSubmit() {\n if (props.onTagsUpdated == null) {\n return;\n }\n\n props.onTagsUpdated(tags);\n closeModalHandler();\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n isOpen: props.isOpen,\n toggle: closeModalHandler,\n id: \"edit-tag-modal\",\n autoFocus: false\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n tag: \"h4\",\n toggle: closeModalHandler,\n className: \"bg-primary text-light\"\n }, \"Edit Tags\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_4__[\"default\"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TagsInput__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n tags: tags,\n onTagsUpdated: onTagsUpdatedByTagsInput,\n autoFocus: true\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalFooter__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-primary\",\n onClick: handleSubmit\n }, \"Done\")));\n}\n\nTagEditModal.propTypes = {\n tags: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.array,\n isOpen: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,\n onClose: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n onTagsUpdated: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (TagEditModal);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZS9UYWdFZGl0TW9kYWwuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1BhZ2UvVGFnRWRpdE1vZGFsLmpzeD80Zjc2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuaW1wb3J0IHtcbiAgTW9kYWwsIE1vZGFsSGVhZGVyLCBNb2RhbEJvZHksIE1vZGFsRm9vdGVyLFxufSBmcm9tICdyZWFjdHN0cmFwJztcblxuaW1wb3J0IFRhZ3NJbnB1dCBmcm9tICcuL1RhZ3NJbnB1dCc7XG5cbmZ1bmN0aW9uIFRhZ0VkaXRNb2RhbChwcm9wcykge1xuICBjb25zdCBbdGFncywgc2V0VGFnc10gPSB1c2VTdGF0ZShbXSk7XG5cbiAgZnVuY3Rpb24gb25UYWdzVXBkYXRlZEJ5VGFnc0lucHV0KHRhZ3MpIHtcbiAgICBzZXRUYWdzKHRhZ3MpO1xuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRUYWdzKHByb3BzLnRhZ3MpO1xuICB9LCBbcHJvcHMudGFnc10pO1xuXG4gIGZ1bmN0aW9uIGNsb3NlTW9kYWxIYW5kbGVyKCkge1xuICAgIGlmIChwcm9wcy5vbkNsb3NlID09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgcHJvcHMub25DbG9zZSgpO1xuICB9XG5cbiAgZnVuY3Rpb24gaGFuZGxlU3VibWl0KCkge1xuICAgIGlmIChwcm9wcy5vblRhZ3NVcGRhdGVkID09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBwcm9wcy5vblRhZ3NVcGRhdGVkKHRhZ3MpO1xuICAgIGNsb3NlTW9kYWxIYW5kbGVyKCk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxNb2RhbCBpc09wZW49e3Byb3BzLmlzT3Blbn0gdG9nZ2xlPXtjbG9zZU1vZGFsSGFuZGxlcn0gaWQ9XCJlZGl0LXRhZy1tb2RhbFwiIGF1dG9Gb2N1cz17ZmFsc2V9PlxuICAgICAgPE1vZGFsSGVhZGVyIHRhZz1cImg0XCIgdG9nZ2xlPXtjbG9zZU1vZGFsSGFuZGxlcn0gY2xhc3NOYW1lPVwiYmctcHJpbWFyeSB0ZXh0LWxpZ2h0XCI+XG4gICAgICAgIEVkaXQgVGFnc1xuICAgICAgPC9Nb2RhbEhlYWRlcj5cbiAgICAgIDxNb2RhbEJvZHk+XG4gICAgICAgIDxUYWdzSW5wdXQgdGFncz17dGFnc30gb25UYWdzVXBkYXRlZD17b25UYWdzVXBkYXRlZEJ5VGFnc0lucHV0fSBhdXRvRm9jdXMgLz5cbiAgICAgIDwvTW9kYWxCb2R5PlxuICAgICAgPE1vZGFsRm9vdGVyPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzc05hbWU9XCJidG4gYnRuLXByaW1hcnlcIiBvbkNsaWNrPXtoYW5kbGVTdWJtaXR9PlxuICAgICAgICAgIERvbmVcbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L01vZGFsRm9vdGVyPlxuICAgIDwvTW9kYWw+XG4gICk7XG5cbn1cblxuVGFnRWRpdE1vZGFsLnByb3BUeXBlcyA9IHtcbiAgdGFnczogUHJvcFR5cGVzLmFycmF5LFxuICBpc09wZW46IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gIG9uQ2xvc2U6IFByb3BUeXBlcy5mdW5jLFxuICBvblRhZ3NVcGRhdGVkOiBQcm9wVHlwZXMuZnVuYyxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFRhZ0VkaXRNb2RhbDtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBOzs7OztBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFPQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/Page/TagEditModal.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Page/TagLabels.jsx":
- /*!*****************************************************!*\
- !*** ./src/client/js/components/Page/TagLabels.jsx ***!
- \*****************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _util_apiNotification__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../util/apiNotification */ \"./src/client/js/util/apiNotification.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n/* harmony import */ var _services_EditorContainer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../services/EditorContainer */ \"./src/client/js/services/EditorContainer.js\");\n/* harmony import */ var _RenderTagLabels__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./RenderTagLabels */ \"./src/client/js/components/Page/RenderTagLabels.jsx\");\n/* harmony import */ var _TagEditModal__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./TagEditModal */ \"./src/client/js/components/Page/TagEditModal.jsx\");\n\n\n\n\n\n\n\n\n\n\n\nclass TagLabels extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n this.state = {\n isTagEditModalShown: false\n };\n this.openEditorModal = this.openEditorModal.bind(this);\n this.closeEditorModal = this.closeEditorModal.bind(this);\n this.tagsUpdatedHandler = this.tagsUpdatedHandler.bind(this);\n }\n /**\n * @return tags data\n * 1. pageContainer.state.tags if editorMode is view\n * 2. editorContainer.state.tags if editorMode is edit\n */\n\n\n getTagData() {\n const {\n editorContainer,\n pageContainer,\n editorMode\n } = this.props;\n return editorMode === 'edit' ? editorContainer.state.tags : pageContainer.state.tags;\n }\n\n openEditorModal() {\n this.setState({\n isTagEditModalShown: true\n });\n }\n\n closeEditorModal() {\n this.setState({\n isTagEditModalShown: false\n });\n }\n\n async tagsUpdatedHandler(newTags) {\n const {\n appContainer,\n editorContainer,\n pageContainer,\n editorMode\n } = this.props;\n const {\n pageId\n } = pageContainer.state; // It will not be reflected in the DB until the page is refreshed\n\n if (editorMode === 'edit') {\n return editorContainer.setState({\n tags: newTags\n });\n }\n\n try {\n const {\n tags\n } = await appContainer.apiPost('/tags.update', {\n pageId,\n tags: newTags\n }); // update pageContainer.state\n\n pageContainer.setState({\n tags\n }); // update editorContainer.state\n\n editorContainer.setState({\n tags\n });\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_3__[\"toastSuccess\"])('updated tags successfully');\n } catch (err) {\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_3__[\"toastError\"])(err, 'fail to update tags');\n }\n }\n\n render() {\n const tags = this.getTagData();\n const {\n appContainer\n } = this.props;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"form\", {\n className: \"grw-tag-labels form-inline\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"tag-icon icon-tag mr-2\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0__[\"Suspense\"], {\n fallback: react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"grw-tag-label badge badge-secondary\"\n }, \"\\u2015\")\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RenderTagLabels__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n tags: tags,\n openEditorModal: this.openEditorModal,\n isGuestUser: appContainer.isGuestUser\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TagEditModal__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n tags: tags,\n isOpen: this.state.isTagEditModalShown,\n onClose: this.closeEditorModal,\n appContainer: this.props.appContainer,\n onTagsUpdated: this.tagsUpdatedHandler\n }));\n }\n\n}\n/**\n * Wrapper component for using unstated\n */\n\n\nconst TagLabelsWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_4__[\"withUnstatedContainers\"])(TagLabels, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _services_PageContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"], _services_EditorContainer__WEBPACK_IMPORTED_MODULE_7__[\"default\"]]);\nTagLabels.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]).isRequired,\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"]).isRequired,\n editorContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_EditorContainer__WEBPACK_IMPORTED_MODULE_7__[\"default\"]).isRequired,\n editorMode: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(TagLabelsWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZS9UYWdMYWJlbHMuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1BhZ2UvVGFnTGFiZWxzLmpzeD81NDA4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBTdXNwZW5zZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyB3aXRoVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcblxuaW1wb3J0IHsgdG9hc3RTdWNjZXNzLCB0b2FzdEVycm9yIH0gZnJvbSAnLi4vLi4vdXRpbC9hcGlOb3RpZmljYXRpb24nO1xuXG5pbXBvcnQgeyB3aXRoVW5zdGF0ZWRDb250YWluZXJzIH0gZnJvbSAnLi4vVW5zdGF0ZWRVdGlscyc7XG5pbXBvcnQgQXBwQ29udGFpbmVyIGZyb20gJy4uLy4uL3NlcnZpY2VzL0FwcENvbnRhaW5lcic7XG5pbXBvcnQgUGFnZUNvbnRhaW5lciBmcm9tICcuLi8uLi9zZXJ2aWNlcy9QYWdlQ29udGFpbmVyJztcbmltcG9ydCBFZGl0b3JDb250YWluZXIgZnJvbSAnLi4vLi4vc2VydmljZXMvRWRpdG9yQ29udGFpbmVyJztcblxuaW1wb3J0IFJlbmRlclRhZ0xhYmVscyBmcm9tICcuL1JlbmRlclRhZ0xhYmVscyc7XG5pbXBvcnQgVGFnRWRpdE1vZGFsIGZyb20gJy4vVGFnRWRpdE1vZGFsJztcblxuY2xhc3MgVGFnTGFiZWxzIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcblxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBpc1RhZ0VkaXRNb2RhbFNob3duOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgdGhpcy5vcGVuRWRpdG9yTW9kYWwgPSB0aGlzLm9wZW5FZGl0b3JNb2RhbC5iaW5kKHRoaXMpO1xuICAgIHRoaXMuY2xvc2VFZGl0b3JNb2RhbCA9IHRoaXMuY2xvc2VFZGl0b3JNb2RhbC5iaW5kKHRoaXMpO1xuICAgIHRoaXMudGFnc1VwZGF0ZWRIYW5kbGVyID0gdGhpcy50YWdzVXBkYXRlZEhhbmRsZXIuYmluZCh0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJuIHRhZ3MgZGF0YVxuICAgKiAgIDEuIHBhZ2VDb250YWluZXIuc3RhdGUudGFncyBpZiBlZGl0b3JNb2RlIGlzIHZpZXdcbiAgICogICAyLiBlZGl0b3JDb250YWluZXIuc3RhdGUudGFncyBpZiBlZGl0b3JNb2RlIGlzIGVkaXRcbiAgICovXG4gIGdldFRhZ0RhdGEoKSB7XG4gICAgY29uc3QgeyBlZGl0b3JDb250YWluZXIsIHBhZ2VDb250YWluZXIsIGVkaXRvck1vZGUgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIChlZGl0b3JNb2RlID09PSAnZWRpdCcpID8gZWRpdG9yQ29udGFpbmVyLnN0YXRlLnRhZ3MgOiBwYWdlQ29udGFpbmVyLnN0YXRlLnRhZ3M7XG4gIH1cblxuICBvcGVuRWRpdG9yTW9kYWwoKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IGlzVGFnRWRpdE1vZGFsU2hvd246IHRydWUgfSk7XG4gIH1cblxuICBjbG9zZUVkaXRvck1vZGFsKCkge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBpc1RhZ0VkaXRNb2RhbFNob3duOiBmYWxzZSB9KTtcbiAgfVxuXG4gIGFzeW5jIHRhZ3NVcGRhdGVkSGFuZGxlcihuZXdUYWdzKSB7XG4gICAgY29uc3Qge1xuICAgICAgYXBwQ29udGFpbmVyLCBlZGl0b3JDb250YWluZXIsIHBhZ2VDb250YWluZXIsIGVkaXRvck1vZGUsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCB7IHBhZ2VJZCB9ID0gcGFnZUNvbnRhaW5lci5zdGF0ZTtcblxuICAgIC8vIEl0IHdpbGwgbm90IGJlIHJlZmxlY3RlZCBpbiB0aGUgREIgdW50aWwgdGhlIHBhZ2UgaXMgcmVmcmVzaGVkXG4gICAgaWYgKGVkaXRvck1vZGUgPT09ICdlZGl0Jykge1xuICAgICAgcmV0dXJuIGVkaXRvckNvbnRhaW5lci5zZXRTdGF0ZSh7IHRhZ3M6IG5ld1RhZ3MgfSk7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHsgdGFncyB9ID0gYXdhaXQgYXBwQ29udGFpbmVyLmFwaVBvc3QoJy90YWdzLnVwZGF0ZScsIHsgcGFnZUlkLCB0YWdzOiBuZXdUYWdzIH0pO1xuXG4gICAgICAvLyB1cGRhdGUgcGFnZUNvbnRhaW5lci5zdGF0ZVxuICAgICAgcGFnZUNvbnRhaW5lci5zZXRTdGF0ZSh7IHRhZ3MgfSk7XG4gICAgICAvLyB1cGRhdGUgZWRpdG9yQ29udGFpbmVyLnN0YXRlXG4gICAgICBlZGl0b3JDb250YWluZXIuc2V0U3RhdGUoeyB0YWdzIH0pO1xuXG4gICAgICB0b2FzdFN1Y2Nlc3MoJ3VwZGF0ZWQgdGFncyBzdWNjZXNzZnVsbHknKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgdG9hc3RFcnJvcihlcnIsICdmYWlsIHRvIHVwZGF0ZSB0YWdzJyk7XG4gICAgfVxuICB9XG5cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgdGFncyA9IHRoaXMuZ2V0VGFnRGF0YSgpO1xuICAgIGNvbnN0IHsgYXBwQ29udGFpbmVyIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG5cbiAgICAgICAgPGZvcm0gY2xhc3NOYW1lPVwiZ3J3LXRhZy1sYWJlbHMgZm9ybS1pbmxpbmVcIj5cbiAgICAgICAgICA8aSBjbGFzc05hbWU9XCJ0YWctaWNvbiBpY29uLXRhZyBtci0yXCI+PC9pPlxuICAgICAgICAgIDxTdXNwZW5zZSBmYWxsYmFjaz17PHNwYW4gY2xhc3NOYW1lPVwiZ3J3LXRhZy1sYWJlbCBiYWRnZSBiYWRnZS1zZWNvbmRhcnlcIj7igJU8L3NwYW4+fT5cbiAgICAgICAgICAgIDxSZW5kZXJUYWdMYWJlbHNcbiAgICAgICAgICAgICAgdGFncz17dGFnc31cbiAgICAgICAgICAgICAgb3BlbkVkaXRvck1vZGFsPXt0aGlzLm9wZW5FZGl0b3JNb2RhbH1cbiAgICAgICAgICAgICAgaXNHdWVzdFVzZXI9e2FwcENvbnRhaW5lci5pc0d1ZXN0VXNlcn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9TdXNwZW5zZT5cbiAgICAgICAgPC9mb3JtPlxuXG4gICAgICAgIDxUYWdFZGl0TW9kYWxcbiAgICAgICAgICB0YWdzPXt0YWdzfVxuICAgICAgICAgIGlzT3Blbj17dGhpcy5zdGF0ZS5pc1RhZ0VkaXRNb2RhbFNob3dufVxuICAgICAgICAgIG9uQ2xvc2U9e3RoaXMuY2xvc2VFZGl0b3JNb2RhbH1cbiAgICAgICAgICBhcHBDb250YWluZXI9e3RoaXMucHJvcHMuYXBwQ29udGFpbmVyfVxuICAgICAgICAgIG9uVGFnc1VwZGF0ZWQ9e3RoaXMudGFnc1VwZGF0ZWRIYW5kbGVyfVxuICAgICAgICAvPlxuXG4gICAgICA8Lz5cbiAgICApO1xuICB9XG5cbn1cblxuLyoqXG4gKiBXcmFwcGVyIGNvbXBvbmVudCBmb3IgdXNpbmcgdW5zdGF0ZWRcbiAqL1xuY29uc3QgVGFnTGFiZWxzV3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoVGFnTGFiZWxzLCBbQXBwQ29udGFpbmVyLCBQYWdlQ29udGFpbmVyLCBFZGl0b3JDb250YWluZXJdKTtcblxuVGFnTGFiZWxzLnByb3BUeXBlcyA9IHtcbiAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCwgLy8gaTE4bmV4dFxuXG4gIGFwcENvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoQXBwQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuICBwYWdlQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihQYWdlQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuICBlZGl0b3JDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKEVkaXRvckNvbnRhaW5lcikuaXNSZXF1aXJlZCxcblxuICBlZGl0b3JNb2RlOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoVHJhbnNsYXRpb24oKShUYWdMYWJlbHNXcmFwcGVyKTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQURBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7OztBQUtBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQURBO0FBSUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFHQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBSEE7QUFTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFVQTtBQUNBO0FBekZBO0FBNEZBOzs7OztBQUdBO0FBRUE7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFQQTtBQVVBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/Page/TagLabels.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Page/TagsInput.jsx":
- /*!*****************************************************!*\
- !*** ./src/client/js/components/Page/TagsInput.jsx ***!
- \*****************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_bootstrap_typeahead__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-bootstrap-typeahead */ \"./node_modules/react-bootstrap-typeahead/lib/index.js\");\n/* harmony import */ var react_bootstrap_typeahead__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_bootstrap_typeahead__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n\n\n\n\n\n/**\n *\n * @author Yuki Takei <yuki@weseek.co.jp>\n *\n * @export\n * @class TagsInput\n * @extends {React.Component}\n */\n\nclass TagsInput extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n this.state = {\n resultTags: [],\n isLoading: false,\n selected: this.props.tags,\n defaultPageTags: this.props.tags\n };\n this.handleChange = this.handleChange.bind(this);\n this.handleSearch = this.handleSearch.bind(this);\n this.handleSelect = this.handleSelect.bind(this);\n }\n\n componentDidMount() {\n this.typeahead.getInstance().focus();\n }\n\n handleChange(selected) {\n // send tags to TagLabel Component when user add tag to form everytime\n this.setState({\n selected\n }, () => {\n this.props.onTagsUpdated(this.state.selected);\n });\n }\n\n async handleSearch(query) {\n this.setState({\n isLoading: true\n });\n const res = await this.props.appContainer.apiGet('/tags.search', {\n q: query\n });\n res.tags.unshift(query); // selectable new tag whose name equals query\n\n this.setState({\n resultTags: Array.from(new Set(res.tags)),\n // use Set for de-duplication\n isLoading: false\n });\n }\n\n handleSelect(e) {\n if (e.keyCode === 32) {\n // '32' means ASCII code of 'space'\n e.preventDefault();\n const instance = this.typeahead.getInstance();\n const {\n initialItem\n } = instance.state;\n\n if (initialItem) {\n instance._handleMenuItemSelect(initialItem, e);\n }\n }\n }\n\n render() {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"tag-typeahead\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_bootstrap_typeahead__WEBPACK_IMPORTED_MODULE_2__[\"AsyncTypeahead\"], {\n id: \"tag-typeahead-asynctypeahead\",\n ref: typeahead => {\n this.typeahead = typeahead;\n },\n caseSensitive: false,\n defaultSelected: this.state.defaultPageTags,\n isLoading: this.state.isLoading,\n minLength: 1,\n multiple: true,\n newSelectionPrefix: \"\",\n onChange: this.handleChange,\n onSearch: this.handleSearch,\n onKeyDown: this.handleSelect,\n options: this.state.resultTags // Search result (Some tag names)\n ,\n placeholder: \"tag name\",\n selectHintOnEnter: true,\n autoFocus: this.props.autoFocus\n }));\n }\n\n}\n/**\n * Wrapper component for using unstated\n */\n\n\nconst TagsInputWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__[\"withUnstatedContainers\"])(TagsInput, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]]);\nTagsInput.propTypes = {\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]).isRequired,\n tags: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.array.isRequired,\n onTagsUpdated: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n autoFocus: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool\n};\nTagsInput.defaultProps = {\n autoFocus: false\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (TagsInputWrapper);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZS9UYWdzSW5wdXQuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1BhZ2UvVGFnc0lucHV0LmpzeD80ZTIxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgQXN5bmNUeXBlYWhlYWQgfSBmcm9tICdyZWFjdC1ib290c3RyYXAtdHlwZWFoZWFkJztcblxuaW1wb3J0IHsgd2l0aFVuc3RhdGVkQ29udGFpbmVycyB9IGZyb20gJy4uL1Vuc3RhdGVkVXRpbHMnO1xuaW1wb3J0IEFwcENvbnRhaW5lciBmcm9tICcuLi8uLi9zZXJ2aWNlcy9BcHBDb250YWluZXInO1xuXG4vKipcbiAqXG4gKiBAYXV0aG9yIFl1a2kgVGFrZWkgPHl1a2lAd2VzZWVrLmNvLmpwPlxuICpcbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBUYWdzSW5wdXRcbiAqIEBleHRlbmRzIHtSZWFjdC5Db21wb25lbnR9XG4gKi9cblxuY2xhc3MgVGFnc0lucHV0IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcblxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICByZXN1bHRUYWdzOiBbXSxcbiAgICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgICBzZWxlY3RlZDogdGhpcy5wcm9wcy50YWdzLFxuICAgICAgZGVmYXVsdFBhZ2VUYWdzOiB0aGlzLnByb3BzLnRhZ3MsXG4gICAgfTtcblxuICAgIHRoaXMuaGFuZGxlQ2hhbmdlID0gdGhpcy5oYW5kbGVDaGFuZ2UuYmluZCh0aGlzKTtcbiAgICB0aGlzLmhhbmRsZVNlYXJjaCA9IHRoaXMuaGFuZGxlU2VhcmNoLmJpbmQodGhpcyk7XG4gICAgdGhpcy5oYW5kbGVTZWxlY3QgPSB0aGlzLmhhbmRsZVNlbGVjdC5iaW5kKHRoaXMpO1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgdGhpcy50eXBlYWhlYWQuZ2V0SW5zdGFuY2UoKS5mb2N1cygpO1xuICB9XG5cbiAgaGFuZGxlQ2hhbmdlKHNlbGVjdGVkKSB7XG4gICAgLy8gc2VuZCB0YWdzIHRvIFRhZ0xhYmVsIENvbXBvbmVudCB3aGVuIHVzZXIgYWRkIHRhZyB0byBmb3JtIGV2ZXJ5dGltZVxuICAgIHRoaXMuc2V0U3RhdGUoeyBzZWxlY3RlZCB9LCAoKSA9PiB7XG4gICAgICB0aGlzLnByb3BzLm9uVGFnc1VwZGF0ZWQodGhpcy5zdGF0ZS5zZWxlY3RlZCk7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBoYW5kbGVTZWFyY2gocXVlcnkpIHtcbiAgICB0aGlzLnNldFN0YXRlKHsgaXNMb2FkaW5nOiB0cnVlIH0pO1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMucHJvcHMuYXBwQ29udGFpbmVyLmFwaUdldCgnL3RhZ3Muc2VhcmNoJywgeyBxOiBxdWVyeSB9KTtcbiAgICByZXMudGFncy51bnNoaWZ0KHF1ZXJ5KTsgLy8gc2VsZWN0YWJsZSBuZXcgdGFnIHdob3NlIG5hbWUgZXF1YWxzIHF1ZXJ5XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICByZXN1bHRUYWdzOiBBcnJheS5mcm9tKG5ldyBTZXQocmVzLnRhZ3MpKSwgLy8gdXNlIFNldCBmb3IgZGUtZHVwbGljYXRpb25cbiAgICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgfSk7XG4gIH1cblxuICBoYW5kbGVTZWxlY3QoZSkge1xuICAgIGlmIChlLmtleUNvZGUgPT09IDMyKSB7IC8vICczMicgbWVhbnMgQVNDSUkgY29kZSBvZiAnc3BhY2UnXG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBjb25zdCBpbnN0YW5jZSA9IHRoaXMudHlwZWFoZWFkLmdldEluc3RhbmNlKCk7XG4gICAgICBjb25zdCB7IGluaXRpYWxJdGVtIH0gPSBpbnN0YW5jZS5zdGF0ZTtcblxuICAgICAgaWYgKGluaXRpYWxJdGVtKSB7XG4gICAgICAgIGluc3RhbmNlLl9oYW5kbGVNZW51SXRlbVNlbGVjdChpbml0aWFsSXRlbSwgZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInRhZy10eXBlYWhlYWRcIj5cbiAgICAgICAgPEFzeW5jVHlwZWFoZWFkXG4gICAgICAgICAgaWQ9XCJ0YWctdHlwZWFoZWFkLWFzeW5jdHlwZWFoZWFkXCJcbiAgICAgICAgICByZWY9eyh0eXBlYWhlYWQpID0+IHsgdGhpcy50eXBlYWhlYWQgPSB0eXBlYWhlYWQgfX1cbiAgICAgICAgICBjYXNlU2Vuc2l0aXZlPXtmYWxzZX1cbiAgICAgICAgICBkZWZhdWx0U2VsZWN0ZWQ9e3RoaXMuc3RhdGUuZGVmYXVsdFBhZ2VUYWdzfVxuICAgICAgICAgIGlzTG9hZGluZz17dGhpcy5zdGF0ZS5pc0xvYWRpbmd9XG4gICAgICAgICAgbWluTGVuZ3RoPXsxfVxuICAgICAgICAgIG11bHRpcGxlXG4gICAgICAgICAgbmV3U2VsZWN0aW9uUHJlZml4PVwiXCJcbiAgICAgICAgICBvbkNoYW5nZT17dGhpcy5oYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgb25TZWFyY2g9e3RoaXMuaGFuZGxlU2VhcmNofVxuICAgICAgICAgIG9uS2V5RG93bj17dGhpcy5oYW5kbGVTZWxlY3R9XG4gICAgICAgICAgb3B0aW9ucz17dGhpcy5zdGF0ZS5yZXN1bHRUYWdzfSAvLyBTZWFyY2ggcmVzdWx0IChTb21lIHRhZyBuYW1lcylcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cInRhZyBuYW1lXCJcbiAgICAgICAgICBzZWxlY3RIaW50T25FbnRlclxuICAgICAgICAgIGF1dG9Gb2N1cz17dGhpcy5wcm9wcy5hdXRvRm9jdXN9XG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG5cbn1cblxuLyoqXG4gKiBXcmFwcGVyIGNvbXBvbmVudCBmb3IgdXNpbmcgdW5zdGF0ZWRcbiAqL1xuY29uc3QgVGFnc0lucHV0V3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoVGFnc0lucHV0LCBbQXBwQ29udGFpbmVyXSk7XG5cblRhZ3NJbnB1dC5wcm9wVHlwZXMgPSB7XG4gIGFwcENvbnRhaW5lcjogIFByb3BUeXBlcy5pbnN0YW5jZU9mKEFwcENvbnRhaW5lcikuaXNSZXF1aXJlZCxcblxuICB0YWdzOiAgICAgICAgICBQcm9wVHlwZXMuYXJyYXkuaXNSZXF1aXJlZCxcbiAgb25UYWdzVXBkYXRlZDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgYXV0b0ZvY3VzOiAgICAgUHJvcFR5cGVzLmJvb2wsXG59O1xuXG5UYWdzSW5wdXQuZGVmYXVsdFByb3BzID0ge1xuICBhdXRvRm9jdXM6ICAgICBmYWxzZSxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFRhZ3NJbnB1dFdyYXBwZXI7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTs7Ozs7Ozs7O0FBU0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFGQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFaQTtBQWFBO0FBQ0E7QUFDQTtBQWZBO0FBbUJBO0FBQ0E7QUF6RUE7QUE0RUE7Ozs7O0FBR0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBTEE7QUFRQTtBQUNBO0FBREE7QUFJQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/Page/TagsInput.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Page/TrashPageAlert.jsx":
- /*!**********************************************************!*\
- !*** ./src/client/js/components/Page/TrashPageAlert.jsx ***!
- \**********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n/* harmony import */ var _User_UserPicture__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../User/UserPicture */ \"./src/client/js/components/User/UserPicture.jsx\");\n/* harmony import */ var _PutbackPageModal__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../PutbackPageModal */ \"./src/client/js/components/PutbackPageModal.jsx\");\n/* harmony import */ var _EmptyTrashModal__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../EmptyTrashModal */ \"./src/client/js/components/EmptyTrashModal.jsx\");\n/* harmony import */ var _PageDeleteModal__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../PageDeleteModal */ \"./src/client/js/components/PageDeleteModal.jsx\");\n\n\n\n\n\n\n\n\n\n\n\nconst TrashPageAlert = props => {\n const {\n t,\n pageContainer\n } = props;\n const {\n path,\n isDeleted,\n lastUpdateUsername,\n updatedAt,\n deletedUserName,\n deletedAt,\n isAbleToDeleteCompletely\n } = pageContainer.state;\n const [isEmptyTrashModalShown, setIsEmptyTrashModalShown] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(false);\n const [isPutbackPageModalShown, setIsPutbackPageModalShown] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(false);\n const [isPageDeleteModalShown, setIsPageDeleteModalShown] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(false);\n\n function openEmptyTrashModalHandler() {\n setIsEmptyTrashModalShown(true);\n }\n\n function closeEmptyTrashModalHandler() {\n setIsEmptyTrashModalShown(false);\n }\n\n function openPutbackPageModalHandler() {\n setIsPutbackPageModalShown(true);\n }\n\n function closePutbackPageModalHandler() {\n setIsPutbackPageModalShown(false);\n }\n\n function openPageDeleteModalHandler() {\n setIsPageDeleteModalShown(true);\n }\n\n function opclosePageDeleteModalHandler() {\n setIsPageDeleteModalShown(false);\n }\n\n function renderEmptyButton() {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n href: \"#\",\n type: \"button\",\n className: \"btn btn-danger rounded-pill btn-sm ml-auto\",\n \"data-target\": \"#emptyTrash\",\n onClick: openEmptyTrashModalHandler\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-trash\",\n \"aria-hidden\": \"true\"\n }), t('modal_empty.empty_the_trash'));\n }\n\n function renderTrashPageManagementButtons() {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-info rounded-pill btn-sm ml-auto mr-2\",\n onClick: openPutbackPageModalHandler,\n \"data-toggle\": \"modal\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-action-undo\",\n \"aria-hidden\": \"true\"\n }), \" \", t('Put Back')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-danger rounded-pill btn-sm\",\n disabled: !isAbleToDeleteCompletely,\n onClick: openPageDeleteModalHandler\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fire\",\n \"aria-hidden\": \"true\"\n }), \" \", t('Delete Completely')));\n }\n\n function renderModals() {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EmptyTrashModal__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n isOpen: isEmptyTrashModalShown,\n onClose: closeEmptyTrashModalHandler\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PutbackPageModal__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n isOpen: isPutbackPageModalShown,\n onClose: closePutbackPageModalHandler,\n path: path\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageDeleteModal__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n isOpen: isPageDeleteModalShown,\n onClose: opclosePageDeleteModalHandler,\n path: path,\n isDeleteCompletelyModal: true,\n isAbleToDeleteCompletely: isAbleToDeleteCompletely\n }));\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"alert alert-warning py-3 pl-4 d-flex flex-column flex-lg-row\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"flex-grow-1\"\n }, \"This page is in the trash \", react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-trash\",\n \"aria-hidden\": \"true\"\n }), \".\", isDeleted && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"br\", null), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_User_UserPicture__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n user: {\n username: deletedUserName || lastUpdateUsername\n }\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"ml-2\"\n }, \"Deleted by \", deletedUserName || lastUpdateUsername, \" at \", deletedAt || updatedAt))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"pt-1 d-flex align-items-end align-items-lg-center\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", null, pageContainer.isAbleToShowEmptyTrashButton && renderEmptyButton()), pageContainer.isAbleToShowTrashPageManagementButtons && renderTrashPageManagementButtons())), renderModals());\n};\n/**\n * Wrapper component for using unstated\n */\n\n\nconst TrashPageAlertWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__[\"withUnstatedContainers\"])(TrashPageAlert, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"], _services_PageContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]]);\nTrashPageAlert.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]).isRequired,\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]).isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(TrashPageAlertWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZS9UcmFzaFBhZ2VBbGVydC5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZS9UcmFzaFBhZ2VBbGVydC5qc3g/Y2ZmOSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQgeyB3aXRoVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcblxuaW1wb3J0IHsgd2l0aFVuc3RhdGVkQ29udGFpbmVycyB9IGZyb20gJy4uL1Vuc3RhdGVkVXRpbHMnO1xuaW1wb3J0IEFwcENvbnRhaW5lciBmcm9tICcuLi8uLi9zZXJ2aWNlcy9BcHBDb250YWluZXInO1xuaW1wb3J0IFBhZ2VDb250YWluZXIgZnJvbSAnLi4vLi4vc2VydmljZXMvUGFnZUNvbnRhaW5lcic7XG5pbXBvcnQgVXNlclBpY3R1cmUgZnJvbSAnLi4vVXNlci9Vc2VyUGljdHVyZSc7XG5pbXBvcnQgUHV0YmFja1BhZ2VNb2RhbCBmcm9tICcuLi9QdXRiYWNrUGFnZU1vZGFsJztcbmltcG9ydCBFbXB0eVRyYXNoTW9kYWwgZnJvbSAnLi4vRW1wdHlUcmFzaE1vZGFsJztcbmltcG9ydCBQYWdlRGVsZXRlTW9kYWwgZnJvbSAnLi4vUGFnZURlbGV0ZU1vZGFsJztcblxuXG5jb25zdCBUcmFzaFBhZ2VBbGVydCA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IHQsIHBhZ2VDb250YWluZXIgfSA9IHByb3BzO1xuICBjb25zdCB7XG4gICAgcGF0aCwgaXNEZWxldGVkLCBsYXN0VXBkYXRlVXNlcm5hbWUsIHVwZGF0ZWRBdCwgZGVsZXRlZFVzZXJOYW1lLCBkZWxldGVkQXQsIGlzQWJsZVRvRGVsZXRlQ29tcGxldGVseSxcbiAgfSA9IHBhZ2VDb250YWluZXIuc3RhdGU7XG4gIGNvbnN0IFtpc0VtcHR5VHJhc2hNb2RhbFNob3duLCBzZXRJc0VtcHR5VHJhc2hNb2RhbFNob3duXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2lzUHV0YmFja1BhZ2VNb2RhbFNob3duLCBzZXRJc1B1dGJhY2tQYWdlTW9kYWxTaG93bl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtpc1BhZ2VEZWxldGVNb2RhbFNob3duLCBzZXRJc1BhZ2VEZWxldGVNb2RhbFNob3duXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICBmdW5jdGlvbiBvcGVuRW1wdHlUcmFzaE1vZGFsSGFuZGxlcigpIHtcbiAgICBzZXRJc0VtcHR5VHJhc2hNb2RhbFNob3duKHRydWUpO1xuICB9XG5cbiAgZnVuY3Rpb24gY2xvc2VFbXB0eVRyYXNoTW9kYWxIYW5kbGVyKCkge1xuICAgIHNldElzRW1wdHlUcmFzaE1vZGFsU2hvd24oZmFsc2UpO1xuICB9XG5cbiAgZnVuY3Rpb24gb3BlblB1dGJhY2tQYWdlTW9kYWxIYW5kbGVyKCkge1xuICAgIHNldElzUHV0YmFja1BhZ2VNb2RhbFNob3duKHRydWUpO1xuICB9XG5cbiAgZnVuY3Rpb24gY2xvc2VQdXRiYWNrUGFnZU1vZGFsSGFuZGxlcigpIHtcbiAgICBzZXRJc1B1dGJhY2tQYWdlTW9kYWxTaG93bihmYWxzZSk7XG4gIH1cblxuICBmdW5jdGlvbiBvcGVuUGFnZURlbGV0ZU1vZGFsSGFuZGxlcigpIHtcbiAgICBzZXRJc1BhZ2VEZWxldGVNb2RhbFNob3duKHRydWUpO1xuICB9XG5cbiAgZnVuY3Rpb24gb3BjbG9zZVBhZ2VEZWxldGVNb2RhbEhhbmRsZXIoKSB7XG4gICAgc2V0SXNQYWdlRGVsZXRlTW9kYWxTaG93bihmYWxzZSk7XG4gIH1cblxuICBmdW5jdGlvbiByZW5kZXJFbXB0eUJ1dHRvbigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGJ1dHRvblxuICAgICAgICBocmVmPVwiI1wiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzc05hbWU9XCJidG4gYnRuLWRhbmdlciByb3VuZGVkLXBpbGwgYnRuLXNtIG1sLWF1dG9cIlxuICAgICAgICBkYXRhLXRhcmdldD1cIiNlbXB0eVRyYXNoXCJcbiAgICAgICAgb25DbGljaz17b3BlbkVtcHR5VHJhc2hNb2RhbEhhbmRsZXJ9XG4gICAgICA+XG4gICAgICAgIDxpIGNsYXNzTmFtZT1cImljb24tdHJhc2hcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+eyB0KCdtb2RhbF9lbXB0eS5lbXB0eV90aGVfdHJhc2gnKSB9XG4gICAgICA8L2J1dHRvbj5cbiAgICApO1xuICB9XG5cbiAgZnVuY3Rpb24gcmVuZGVyVHJhc2hQYWdlTWFuYWdlbWVudEJ1dHRvbnMoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzc05hbWU9XCJidG4gYnRuLWluZm8gcm91bmRlZC1waWxsIGJ0bi1zbSBtbC1hdXRvIG1yLTJcIlxuICAgICAgICAgIG9uQ2xpY2s9e29wZW5QdXRiYWNrUGFnZU1vZGFsSGFuZGxlcn1cbiAgICAgICAgICBkYXRhLXRvZ2dsZT1cIm1vZGFsXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpIGNsYXNzTmFtZT1cImljb24tYWN0aW9uLXVuZG9cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+IHsgdCgnUHV0IEJhY2snKSB9XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3NOYW1lPVwiYnRuIGJ0bi1kYW5nZXIgcm91bmRlZC1waWxsIGJ0bi1zbVwiXG4gICAgICAgICAgZGlzYWJsZWQ9eyFpc0FibGVUb0RlbGV0ZUNvbXBsZXRlbHl9XG4gICAgICAgICAgb25DbGljaz17b3BlblBhZ2VEZWxldGVNb2RhbEhhbmRsZXJ9XG4gICAgICAgID5cbiAgICAgICAgICA8aSBjbGFzc05hbWU9XCJpY29uLWZpcmVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+IHsgdCgnRGVsZXRlIENvbXBsZXRlbHknKSB9XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC8+XG4gICAgKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHJlbmRlck1vZGFscygpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPEVtcHR5VHJhc2hNb2RhbFxuICAgICAgICAgIGlzT3Blbj17aXNFbXB0eVRyYXNoTW9kYWxTaG93bn1cbiAgICAgICAgICBvbkNsb3NlPXtjbG9zZUVtcHR5VHJhc2hNb2RhbEhhbmRsZXJ9XG4gICAgICAgIC8+XG4gICAgICAgIDxQdXRiYWNrUGFnZU1vZGFsXG4gICAgICAgICAgaXNPcGVuPXtpc1B1dGJhY2tQYWdlTW9kYWxTaG93bn1cbiAgICAgICAgICBvbkNsb3NlPXtjbG9zZVB1dGJhY2tQYWdlTW9kYWxIYW5kbGVyfVxuICAgICAgICAgIHBhdGg9e3BhdGh9XG4gICAgICAgIC8+XG4gICAgICAgIDxQYWdlRGVsZXRlTW9kYWxcbiAgICAgICAgICBpc09wZW49e2lzUGFnZURlbGV0ZU1vZGFsU2hvd259XG4gICAgICAgICAgb25DbG9zZT17b3BjbG9zZVBhZ2VEZWxldGVNb2RhbEhhbmRsZXJ9XG4gICAgICAgICAgcGF0aD17cGF0aH1cbiAgICAgICAgICBpc0RlbGV0ZUNvbXBsZXRlbHlNb2RhbFxuICAgICAgICAgIGlzQWJsZVRvRGVsZXRlQ29tcGxldGVseT17aXNBYmxlVG9EZWxldGVDb21wbGV0ZWx5fVxuICAgICAgICAvPlxuICAgICAgPC8+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWxlcnQgYWxlcnQtd2FybmluZyBweS0zIHBsLTQgZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtbGctcm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleC1ncm93LTFcIj5cbiAgICAgICAgICBUaGlzIHBhZ2UgaXMgaW4gdGhlIHRyYXNoIDxpIGNsYXNzTmFtZT1cImljb24tdHJhc2hcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+LlxuICAgICAgICAgIHtpc0RlbGV0ZWQgJiYgKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPGJyIC8+XG4gICAgICAgICAgICAgIDxVc2VyUGljdHVyZSB1c2VyPXt7IHVzZXJuYW1lOiBkZWxldGVkVXNlck5hbWUgfHwgbGFzdFVwZGF0ZVVzZXJuYW1lIH19IC8+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIm1sLTJcIj5cbiAgICAgICAgICAgICAgICBEZWxldGVkIGJ5IHtkZWxldGVkVXNlck5hbWUgfHwgbGFzdFVwZGF0ZVVzZXJuYW1lfSBhdCB7ZGVsZXRlZEF0IHx8IHVwZGF0ZWRBdH1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicHQtMSBkLWZsZXggYWxpZ24taXRlbXMtZW5kIGFsaWduLWl0ZW1zLWxnLWNlbnRlclwiPlxuICAgICAgICAgIDxzcGFuPnsgcGFnZUNvbnRhaW5lci5pc0FibGVUb1Nob3dFbXB0eVRyYXNoQnV0dG9uICYmIHJlbmRlckVtcHR5QnV0dG9uKCl9PC9zcGFuPlxuICAgICAgICAgIHsgcGFnZUNvbnRhaW5lci5pc0FibGVUb1Nob3dUcmFzaFBhZ2VNYW5hZ2VtZW50QnV0dG9ucyAmJiByZW5kZXJUcmFzaFBhZ2VNYW5hZ2VtZW50QnV0dG9ucygpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAge3JlbmRlck1vZGFscygpfVxuICAgIDwvPlxuICApO1xufTtcblxuLyoqXG4gKiBXcmFwcGVyIGNvbXBvbmVudCBmb3IgdXNpbmcgdW5zdGF0ZWRcbiAqL1xuY29uc3QgVHJhc2hQYWdlQWxlcnRXcmFwcGVyID0gd2l0aFVuc3RhdGVkQ29udGFpbmVycyhUcmFzaFBhZ2VBbGVydCwgW0FwcENvbnRhaW5lciwgUGFnZUNvbnRhaW5lcl0pO1xuXG5cblRyYXNoUGFnZUFsZXJ0LnByb3BUeXBlcyA9IHtcbiAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCwgLy8gaTE4bmV4dFxuICBhcHBDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKEFwcENvbnRhaW5lcikuaXNSZXF1aXJlZCxcbiAgcGFnZUNvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoUGFnZUNvbnRhaW5lcikuaXNSZXF1aXJlZCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhUcmFuc2xhdGlvbigpKFRyYXNoUGFnZUFsZXJ0V3JhcHBlcik7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBREE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFPQTtBQUFBO0FBQUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFNQTtBQUFBO0FBQUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FBTUE7QUFBQTtBQUFBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBRkE7QUFLQTtBQUNBO0FBQ0E7QUFIQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQVNBO0FBQ0E7QUFDQTtBQUVBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBTUE7QUFBQTtBQVFBO0FBRUE7Ozs7O0FBR0E7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBSEE7QUFNQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/Page/TrashPageAlert.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageAccessories.jsx":
- /*!******************************************************!*\
- !*** ./src/client/js/components/PageAccessories.jsx ***!
- \******************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _PageAccessoriesModalControl__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PageAccessoriesModalControl */ \"./src/client/js/components/PageAccessoriesModalControl.jsx\");\n/* harmony import */ var _PageAccessoriesModal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PageAccessoriesModal */ \"./src/client/js/components/PageAccessoriesModal.jsx\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_PageAccessoriesContainer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../services/PageAccessoriesContainer */ \"./src/client/js/services/PageAccessoriesContainer.js\");\n\n\n\n\n\n\n\n\nconst PageAccessories = props => {\n const {\n appContainer,\n pageAccessoriesContainer,\n isNotFoundPage\n } = props;\n const {\n isGuestUser,\n isSharedUser\n } = appContainer;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageAccessoriesModalControl__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n isGuestUser: isGuestUser,\n isSharedUser: isSharedUser,\n isNotFoundPage: isNotFoundPage\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageAccessoriesModal__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n isGuestUser: isGuestUser,\n isSharedUser: isSharedUser,\n isNotFoundPage: isNotFoundPage,\n isOpen: pageAccessoriesContainer.state.isPageAccessoriesModalShown,\n onClose: pageAccessoriesContainer.closePageAccessoriesModal\n }));\n};\n/**\n * Wrapper component for using unstated\n */\n\n\nconst PageAccessoriesWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_4__[\"withUnstatedContainers\"])(PageAccessories, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _services_PageAccessoriesContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"]]);\nPageAccessories.propTypes = {\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]).isRequired,\n pageAccessoriesContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageAccessoriesContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"]).isRequired,\n isNotFoundPage: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (PageAccessoriesWrapper);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUFjY2Vzc29yaWVzLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9QYWdlQWNjZXNzb3JpZXMuanN4PzUwNjgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCBQYWdlQWNjZXNzb3JpZXNNb2RhbENvbnRyb2wgZnJvbSAnLi9QYWdlQWNjZXNzb3JpZXNNb2RhbENvbnRyb2wnO1xuaW1wb3J0IFBhZ2VBY2Nlc3Nvcmllc01vZGFsIGZyb20gJy4vUGFnZUFjY2Vzc29yaWVzTW9kYWwnO1xuXG5pbXBvcnQgeyB3aXRoVW5zdGF0ZWRDb250YWluZXJzIH0gZnJvbSAnLi9VbnN0YXRlZFV0aWxzJztcbmltcG9ydCBBcHBDb250YWluZXIgZnJvbSAnLi4vc2VydmljZXMvQXBwQ29udGFpbmVyJztcbmltcG9ydCBQYWdlQWNjZXNzb3JpZXNDb250YWluZXIgZnJvbSAnLi4vc2VydmljZXMvUGFnZUFjY2Vzc29yaWVzQ29udGFpbmVyJztcblxuY29uc3QgUGFnZUFjY2Vzc29yaWVzID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgYXBwQ29udGFpbmVyLCBwYWdlQWNjZXNzb3JpZXNDb250YWluZXIsIGlzTm90Rm91bmRQYWdlIH0gPSBwcm9wcztcbiAgY29uc3QgeyBpc0d1ZXN0VXNlciwgaXNTaGFyZWRVc2VyIH0gPSBhcHBDb250YWluZXI7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPFBhZ2VBY2Nlc3Nvcmllc01vZGFsQ29udHJvbFxuICAgICAgICBpc0d1ZXN0VXNlcj17aXNHdWVzdFVzZXJ9XG4gICAgICAgIGlzU2hhcmVkVXNlcj17aXNTaGFyZWRVc2VyfVxuICAgICAgICBpc05vdEZvdW5kUGFnZT17aXNOb3RGb3VuZFBhZ2V9XG4gICAgICAvPlxuICAgICAgPFBhZ2VBY2Nlc3Nvcmllc01vZGFsXG4gICAgICAgIGlzR3Vlc3RVc2VyPXtpc0d1ZXN0VXNlcn1cbiAgICAgICAgaXNTaGFyZWRVc2VyPXtpc1NoYXJlZFVzZXJ9XG4gICAgICAgIGlzTm90Rm91bmRQYWdlPXtpc05vdEZvdW5kUGFnZX1cbiAgICAgICAgaXNPcGVuPXtwYWdlQWNjZXNzb3JpZXNDb250YWluZXIuc3RhdGUuaXNQYWdlQWNjZXNzb3JpZXNNb2RhbFNob3dufVxuICAgICAgICBvbkNsb3NlPXtwYWdlQWNjZXNzb3JpZXNDb250YWluZXIuY2xvc2VQYWdlQWNjZXNzb3JpZXNNb2RhbH1cbiAgICAgIC8+XG4gICAgPC8+XG4gICk7XG59O1xuLyoqXG4gKiBXcmFwcGVyIGNvbXBvbmVudCBmb3IgdXNpbmcgdW5zdGF0ZWRcbiAqL1xuY29uc3QgUGFnZUFjY2Vzc29yaWVzV3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoUGFnZUFjY2Vzc29yaWVzLCBbQXBwQ29udGFpbmVyLCBQYWdlQWNjZXNzb3JpZXNDb250YWluZXJdKTtcblxuUGFnZUFjY2Vzc29yaWVzLnByb3BUeXBlcyA9IHtcbiAgYXBwQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihBcHBDb250YWluZXIpLmlzUmVxdWlyZWQsXG4gIHBhZ2VBY2Nlc3Nvcmllc0NvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoUGFnZUFjY2Vzc29yaWVzQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuXG4gIGlzTm90Rm91bmRQYWdlOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgUGFnZUFjY2Vzc29yaWVzV3JhcHBlcjtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUhBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBU0E7QUFDQTs7Ozs7QUFHQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBSkE7QUFPQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/PageAccessories.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageAccessoriesModal.jsx":
- /*!***********************************************************!*\
- !*** ./src/client/js/components/PageAccessoriesModal.jsx ***!
- \***********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! reactstrap/es/Modal */ \"./node_modules/reactstrap/es/Modal.js\");\n/* harmony import */ var reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! reactstrap/es/ModalBody */ \"./node_modules/reactstrap/es/ModalBody.js\");\n/* harmony import */ var reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! reactstrap/es/ModalHeader */ \"./node_modules/reactstrap/es/ModalHeader.js\");\n/* harmony import */ var reactstrap_es_TabContent__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! reactstrap/es/TabContent */ \"./node_modules/reactstrap/es/TabContent.js\");\n/* harmony import */ var reactstrap_es_TabPane__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! reactstrap/es/TabPane */ \"./node_modules/reactstrap/es/TabPane.js\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _Icons_PageListIcon__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Icons/PageListIcon */ \"./src/client/js/components/Icons/PageListIcon.jsx\");\n/* harmony import */ var _Icons_TimeLineIcon__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Icons/TimeLineIcon */ \"./src/client/js/components/Icons/TimeLineIcon.jsx\");\n/* harmony import */ var _Icons_HistoryIcon__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Icons/HistoryIcon */ \"./src/client/js/components/Icons/HistoryIcon.jsx\");\n/* harmony import */ var _Icons_AttachmentIcon__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Icons/AttachmentIcon */ \"./src/client/js/components/Icons/AttachmentIcon.jsx\");\n/* harmony import */ var _Icons_ShareLinkIcon__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Icons/ShareLinkIcon */ \"./src/client/js/components/Icons/ShareLinkIcon.jsx\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_PageAccessoriesContainer__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../services/PageAccessoriesContainer */ \"./src/client/js/services/PageAccessoriesContainer.js\");\n/* harmony import */ var _PageAttachment__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./PageAttachment */ \"./src/client/js/components/PageAttachment.jsx\");\n/* harmony import */ var _PageTimeline__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./PageTimeline */ \"./src/client/js/components/PageTimeline.jsx\");\n/* harmony import */ var _PageList__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./PageList */ \"./src/client/js/components/PageList.jsx\");\n/* harmony import */ var _PageHistory__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./PageHistory */ \"./src/client/js/components/PageHistory.jsx\");\n/* harmony import */ var _ShareLink_ShareLink__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./ShareLink/ShareLink */ \"./src/client/js/components/ShareLink/ShareLink.jsx\");\n/* harmony import */ var _CustomNavigation_CustomNav__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./CustomNavigation/CustomNav */ \"./src/client/js/components/CustomNavigation/CustomNav.jsx\");\n/* harmony import */ var _ExpandOrContractButton__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./ExpandOrContractButton */ \"./src/client/js/components/ExpandOrContractButton.jsx\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst PageAccessoriesModal = props => {\n const {\n t,\n pageAccessoriesContainer,\n onClose,\n isGuestUser,\n isSharedUser,\n isNotFoundPage\n } = props;\n const isLinkSharingDisabled = pageAccessoriesContainer.appContainer.config.disableLinkSharing;\n const {\n switchActiveTab\n } = pageAccessoriesContainer;\n const {\n activeTab,\n activeComponents\n } = pageAccessoriesContainer.state;\n const [isWindowExpanded, setIsWindowExpanded] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(false);\n const navTabMapping = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useMemo\"])(() => {\n return {\n pagelist: {\n Icon: _Icons_PageListIcon__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n i18n: t('page_list'),\n index: 0,\n isLinkEnabled: v => !isSharedUser\n },\n timeline: {\n Icon: _Icons_TimeLineIcon__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n i18n: t('Timeline View'),\n index: 1,\n isLinkEnabled: v => !isSharedUser\n },\n pageHistory: {\n Icon: _Icons_HistoryIcon__WEBPACK_IMPORTED_MODULE_10__[\"default\"],\n i18n: t('History'),\n index: 2,\n isLinkEnabled: v => !isGuestUser && !isSharedUser && !isNotFoundPage\n },\n attachment: {\n Icon: _Icons_AttachmentIcon__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n i18n: t('attachment_data'),\n index: 3,\n isLinkEnabled: v => !isNotFoundPage\n },\n shareLink: {\n Icon: _Icons_ShareLinkIcon__WEBPACK_IMPORTED_MODULE_12__[\"default\"],\n i18n: t('share_links.share_link_management'),\n index: 4,\n isLinkEnabled: v => !isGuestUser && !isSharedUser && !isNotFoundPage && !isLinkSharingDisabled\n }\n };\n }, [t, isGuestUser, isSharedUser, isNotFoundPage, isLinkSharingDisabled]);\n const closeModalHandler = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useCallback\"])(() => {\n if (onClose == null) {\n return;\n }\n\n onClose();\n }, [onClose]);\n\n const expandWindow = () => {\n setIsWindowExpanded(true);\n };\n\n const contractWindow = () => {\n setIsWindowExpanded(false);\n };\n\n const buttons = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"d-flex flex-nowrap\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ExpandOrContractButton__WEBPACK_IMPORTED_MODULE_21__[\"default\"], {\n isWindowExpanded: isWindowExpanded,\n expandWindow: expandWindow,\n contractWindow: contractWindow\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"close\",\n onClick: closeModalHandler,\n \"aria-label\": \"Close\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n \"aria-hidden\": \"true\"\n }, \"\\xD7\")));\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n size: \"xl\",\n isOpen: props.isOpen,\n toggle: closeModalHandler,\n className: `grw-page-accessories-modal ${isWindowExpanded ? 'grw-modal-expanded' : ''} `\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"p-0\",\n toggle: closeModalHandler,\n close: buttons\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_CustomNavigation_CustomNav__WEBPACK_IMPORTED_MODULE_20__[\"CustomNavTab\"], {\n activeTab: activeTab,\n navTabMapping: navTabMapping,\n onNavSelected: switchActiveTab,\n breakpointToHideInactiveTabsDown: \"md\",\n hideBorderBottom: true\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n className: \"overflow-auto grw-modal-body-style\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_TabContent__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n activeTab: activeTab\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_TabPane__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n tabId: \"pagelist\"\n }, activeComponents.has('pagelist') && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageList__WEBPACK_IMPORTED_MODULE_17__[\"default\"], null)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_TabPane__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n tabId: \"timeline\"\n }, activeComponents.has('timeline') && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageTimeline__WEBPACK_IMPORTED_MODULE_16__[\"default\"], null)), !isGuestUser && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_TabPane__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n tabId: \"pageHistory\"\n }, activeComponents.has('pageHistory') && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageHistory__WEBPACK_IMPORTED_MODULE_18__[\"default\"], null)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_TabPane__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n tabId: \"attachment\"\n }, activeComponents.has('attachment') && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageAttachment__WEBPACK_IMPORTED_MODULE_15__[\"default\"], null)), !isGuestUser && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_TabPane__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n tabId: \"shareLink\"\n }, activeComponents.has('shareLink') && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ShareLink_ShareLink__WEBPACK_IMPORTED_MODULE_19__[\"default\"], null))))));\n};\n/**\n * Wrapper component for using unstated\n */\n\n\nconst PageAccessoriesModalWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_13__[\"withUnstatedContainers\"])(PageAccessoriesModal, [_services_PageAccessoriesContainer__WEBPACK_IMPORTED_MODULE_14__[\"default\"]]);\nPageAccessoriesModal.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n pageAccessoriesContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageAccessoriesContainer__WEBPACK_IMPORTED_MODULE_14__[\"default\"]).isRequired,\n isGuestUser: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,\n isSharedUser: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,\n isNotFoundPage: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,\n isOpen: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,\n onClose: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_7__[\"withTranslation\"])()(PageAccessoriesModalWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUFjY2Vzc29yaWVzTW9kYWwuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1BhZ2VBY2Nlc3Nvcmllc01vZGFsLmpzeD9iYWQ1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQge1xuICBNb2RhbCwgTW9kYWxCb2R5LCBNb2RhbEhlYWRlciwgVGFiQ29udGVudCwgVGFiUGFuZSxcbn0gZnJvbSAncmVhY3RzdHJhcCc7XG5cbmltcG9ydCB7IHdpdGhUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuaW1wb3J0IFBhZ2VMaXN0SWNvbiBmcm9tICcuL0ljb25zL1BhZ2VMaXN0SWNvbic7XG5pbXBvcnQgVGltZUxpbmVJY29uIGZyb20gJy4vSWNvbnMvVGltZUxpbmVJY29uJztcbmltcG9ydCBIaXN0b3J5SWNvbiBmcm9tICcuL0ljb25zL0hpc3RvcnlJY29uJztcbmltcG9ydCBBdHRhY2htZW50SWNvbiBmcm9tICcuL0ljb25zL0F0dGFjaG1lbnRJY29uJztcbmltcG9ydCBTaGFyZUxpbmtJY29uIGZyb20gJy4vSWNvbnMvU2hhcmVMaW5rSWNvbic7XG5cbmltcG9ydCB7IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMgfSBmcm9tICcuL1Vuc3RhdGVkVXRpbHMnO1xuaW1wb3J0IFBhZ2VBY2Nlc3Nvcmllc0NvbnRhaW5lciBmcm9tICcuLi9zZXJ2aWNlcy9QYWdlQWNjZXNzb3JpZXNDb250YWluZXInO1xuaW1wb3J0IFBhZ2VBdHRhY2htZW50IGZyb20gJy4vUGFnZUF0dGFjaG1lbnQnO1xuaW1wb3J0IFBhZ2VUaW1lbGluZSBmcm9tICcuL1BhZ2VUaW1lbGluZSc7XG5pbXBvcnQgUGFnZUxpc3QgZnJvbSAnLi9QYWdlTGlzdCc7XG5pbXBvcnQgUGFnZUhpc3RvcnkgZnJvbSAnLi9QYWdlSGlzdG9yeSc7XG5pbXBvcnQgU2hhcmVMaW5rIGZyb20gJy4vU2hhcmVMaW5rL1NoYXJlTGluayc7XG5pbXBvcnQgeyBDdXN0b21OYXZUYWIgfSBmcm9tICcuL0N1c3RvbU5hdmlnYXRpb24vQ3VzdG9tTmF2JztcbmltcG9ydCBFeHBhbmRPckNvbnRyYWN0QnV0dG9uIGZyb20gJy4vRXhwYW5kT3JDb250cmFjdEJ1dHRvbic7XG5cbmNvbnN0IFBhZ2VBY2Nlc3Nvcmllc01vZGFsID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICB0LCBwYWdlQWNjZXNzb3JpZXNDb250YWluZXIsIG9uQ2xvc2UsIGlzR3Vlc3RVc2VyLCBpc1NoYXJlZFVzZXIsIGlzTm90Rm91bmRQYWdlLFxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IGlzTGlua1NoYXJpbmdEaXNhYmxlZCA9IHBhZ2VBY2Nlc3Nvcmllc0NvbnRhaW5lci5hcHBDb250YWluZXIuY29uZmlnLmRpc2FibGVMaW5rU2hhcmluZztcbiAgY29uc3QgeyBzd2l0Y2hBY3RpdmVUYWIgfSA9IHBhZ2VBY2Nlc3Nvcmllc0NvbnRhaW5lcjtcbiAgY29uc3QgeyBhY3RpdmVUYWIsIGFjdGl2ZUNvbXBvbmVudHMgfSA9IHBhZ2VBY2Nlc3Nvcmllc0NvbnRhaW5lci5zdGF0ZTtcbiAgY29uc3QgW2lzV2luZG93RXhwYW5kZWQsIHNldElzV2luZG93RXhwYW5kZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIGNvbnN0IG5hdlRhYk1hcHBpbmcgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgcGFnZWxpc3Q6IHtcbiAgICAgICAgSWNvbjogUGFnZUxpc3RJY29uLFxuICAgICAgICBpMThuOiB0KCdwYWdlX2xpc3QnKSxcbiAgICAgICAgaW5kZXg6IDAsXG4gICAgICAgIGlzTGlua0VuYWJsZWQ6IHYgPT4gIWlzU2hhcmVkVXNlcixcbiAgICAgIH0sXG4gICAgICB0aW1lbGluZToge1xuICAgICAgICBJY29uOiBUaW1lTGluZUljb24sXG4gICAgICAgIGkxOG46IHQoJ1RpbWVsaW5lIFZpZXcnKSxcbiAgICAgICAgaW5kZXg6IDEsXG4gICAgICAgIGlzTGlua0VuYWJsZWQ6IHYgPT4gIWlzU2hhcmVkVXNlcixcbiAgICAgIH0sXG4gICAgICBwYWdlSGlzdG9yeToge1xuICAgICAgICBJY29uOiBIaXN0b3J5SWNvbixcbiAgICAgICAgaTE4bjogdCgnSGlzdG9yeScpLFxuICAgICAgICBpbmRleDogMixcbiAgICAgICAgaXNMaW5rRW5hYmxlZDogdiA9PiAhaXNHdWVzdFVzZXIgJiYgIWlzU2hhcmVkVXNlciAmJiAhaXNOb3RGb3VuZFBhZ2UsXG4gICAgICB9LFxuICAgICAgYXR0YWNobWVudDoge1xuICAgICAgICBJY29uOiBBdHRhY2htZW50SWNvbixcbiAgICAgICAgaTE4bjogdCgnYXR0YWNobWVudF9kYXRhJyksXG4gICAgICAgIGluZGV4OiAzLFxuICAgICAgICBpc0xpbmtFbmFibGVkOiB2ID0+ICFpc05vdEZvdW5kUGFnZSxcbiAgICAgIH0sXG4gICAgICBzaGFyZUxpbms6IHtcbiAgICAgICAgSWNvbjogU2hhcmVMaW5rSWNvbixcbiAgICAgICAgaTE4bjogdCgnc2hhcmVfbGlua3Muc2hhcmVfbGlua19tYW5hZ2VtZW50JyksXG4gICAgICAgIGluZGV4OiA0LFxuICAgICAgICBpc0xpbmtFbmFibGVkOiB2ID0+ICFpc0d1ZXN0VXNlciAmJiAhaXNTaGFyZWRVc2VyICYmICFpc05vdEZvdW5kUGFnZSAmJiAhaXNMaW5rU2hhcmluZ0Rpc2FibGVkLFxuICAgICAgfSxcbiAgICB9O1xuICB9LCBbdCwgaXNHdWVzdFVzZXIsIGlzU2hhcmVkVXNlciwgaXNOb3RGb3VuZFBhZ2UsIGlzTGlua1NoYXJpbmdEaXNhYmxlZF0pO1xuXG4gIGNvbnN0IGNsb3NlTW9kYWxIYW5kbGVyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChvbkNsb3NlID09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgb25DbG9zZSgpO1xuICB9LCBbb25DbG9zZV0pO1xuXG4gIGNvbnN0IGV4cGFuZFdpbmRvdyA9ICgpID0+IHtcbiAgICBzZXRJc1dpbmRvd0V4cGFuZGVkKHRydWUpO1xuICB9O1xuXG4gIGNvbnN0IGNvbnRyYWN0V2luZG93ID0gKCkgPT4ge1xuICAgIHNldElzV2luZG93RXhwYW5kZWQoZmFsc2UpO1xuICB9O1xuXG4gIGNvbnN0IGJ1dHRvbnMgPSAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJkLWZsZXggZmxleC1ub3dyYXBcIj5cbiAgICAgIDxFeHBhbmRPckNvbnRyYWN0QnV0dG9uXG4gICAgICAgIGlzV2luZG93RXhwYW5kZWQ9e2lzV2luZG93RXhwYW5kZWR9XG4gICAgICAgIGV4cGFuZFdpbmRvdz17ZXhwYW5kV2luZG93fVxuICAgICAgICBjb250cmFjdFdpbmRvdz17Y29udHJhY3RXaW5kb3d9XG4gICAgICAvPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3NOYW1lPVwiY2xvc2VcIiBvbkNsaWNrPXtjbG9zZU1vZGFsSGFuZGxlcn0gYXJpYS1sYWJlbD1cIkNsb3NlXCI+XG4gICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZ0aW1lczs8L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgIDxNb2RhbFxuICAgICAgICBzaXplPVwieGxcIlxuICAgICAgICBpc09wZW49e3Byb3BzLmlzT3Blbn1cbiAgICAgICAgdG9nZ2xlPXtjbG9zZU1vZGFsSGFuZGxlcn1cbiAgICAgICAgY2xhc3NOYW1lPXtgZ3J3LXBhZ2UtYWNjZXNzb3JpZXMtbW9kYWwgJHtpc1dpbmRvd0V4cGFuZGVkID8gJ2dydy1tb2RhbC1leHBhbmRlZCcgOiAnJ30gYH1cbiAgICAgID5cbiAgICAgICAgPE1vZGFsSGVhZGVyIGNsYXNzTmFtZT1cInAtMFwiIHRvZ2dsZT17Y2xvc2VNb2RhbEhhbmRsZXJ9IGNsb3NlPXtidXR0b25zfT5cbiAgICAgICAgICA8Q3VzdG9tTmF2VGFiXG4gICAgICAgICAgICBhY3RpdmVUYWI9e2FjdGl2ZVRhYn1cbiAgICAgICAgICAgIG5hdlRhYk1hcHBpbmc9e25hdlRhYk1hcHBpbmd9XG4gICAgICAgICAgICBvbk5hdlNlbGVjdGVkPXtzd2l0Y2hBY3RpdmVUYWJ9XG4gICAgICAgICAgICBicmVha3BvaW50VG9IaWRlSW5hY3RpdmVUYWJzRG93bj1cIm1kXCJcbiAgICAgICAgICAgIGhpZGVCb3JkZXJCb3R0b21cbiAgICAgICAgICAvPlxuICAgICAgICA8L01vZGFsSGVhZGVyPlxuICAgICAgICA8TW9kYWxCb2R5IGNsYXNzTmFtZT1cIm92ZXJmbG93LWF1dG8gZ3J3LW1vZGFsLWJvZHktc3R5bGVcIj5cbiAgICAgICAgICB7LyogRG8gbm90IHVzZSBDdXN0b21UYWJDb250ZW50IGJlY2F1c2Ugb2YgcGVyZm9ybWFuY2UgcHJvYmxlbTpcbiAgICAgICAgICAgICAgdGhlICduYXZUYWJNYXBwaW5nW3RhYklkXS5Db250ZW50JyBmb3IgUGFnZUFjY2Vzc29yaWVzTW9kYWwgZGVwZW5kcyBvbiBhY3RpdmVDb21wb25lbnRzICovfVxuICAgICAgICAgIDxUYWJDb250ZW50IGFjdGl2ZVRhYj17YWN0aXZlVGFifT5cbiAgICAgICAgICAgIDxUYWJQYW5lIHRhYklkPVwicGFnZWxpc3RcIj5cbiAgICAgICAgICAgICAge2FjdGl2ZUNvbXBvbmVudHMuaGFzKCdwYWdlbGlzdCcpICYmIDxQYWdlTGlzdCAvPn1cbiAgICAgICAgICAgIDwvVGFiUGFuZT5cbiAgICAgICAgICAgIDxUYWJQYW5lIHRhYklkPVwidGltZWxpbmVcIj5cbiAgICAgICAgICAgICAge2FjdGl2ZUNvbXBvbmVudHMuaGFzKCd0aW1lbGluZScpICYmIDxQYWdlVGltZWxpbmUgLz4gfVxuICAgICAgICAgICAgPC9UYWJQYW5lPlxuICAgICAgICAgICAgeyFpc0d1ZXN0VXNlciAmJiAoXG4gICAgICAgICAgICAgIDxUYWJQYW5lIHRhYklkPVwicGFnZUhpc3RvcnlcIj5cbiAgICAgICAgICAgICAgICB7YWN0aXZlQ29tcG9uZW50cy5oYXMoJ3BhZ2VIaXN0b3J5JykgJiYgPFBhZ2VIaXN0b3J5IC8+IH1cbiAgICAgICAgICAgICAgPC9UYWJQYW5lPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDxUYWJQYW5lIHRhYklkPVwiYXR0YWNobWVudFwiPlxuICAgICAgICAgICAgICB7YWN0aXZlQ29tcG9uZW50cy5oYXMoJ2F0dGFjaG1lbnQnKSAmJiA8UGFnZUF0dGFjaG1lbnQgLz59XG4gICAgICAgICAgICA8L1RhYlBhbmU+XG4gICAgICAgICAgICB7IWlzR3Vlc3RVc2VyICYmIChcbiAgICAgICAgICAgICAgPFRhYlBhbmUgdGFiSWQ9XCJzaGFyZUxpbmtcIj5cbiAgICAgICAgICAgICAgICB7YWN0aXZlQ29tcG9uZW50cy5oYXMoJ3NoYXJlTGluaycpICYmIDxTaGFyZUxpbmsgLz59XG4gICAgICAgICAgICAgIDwvVGFiUGFuZT5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9UYWJDb250ZW50PlxuICAgICAgICA8L01vZGFsQm9keT5cbiAgICAgIDwvTW9kYWw+XG4gICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgKTtcbn07XG5cbi8qKlxuICogV3JhcHBlciBjb21wb25lbnQgZm9yIHVzaW5nIHVuc3RhdGVkXG4gKi9cbmNvbnN0IFBhZ2VBY2Nlc3Nvcmllc01vZGFsV3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoUGFnZUFjY2Vzc29yaWVzTW9kYWwsIFtQYWdlQWNjZXNzb3JpZXNDb250YWluZXJdKTtcblxuUGFnZUFjY2Vzc29yaWVzTW9kYWwucHJvcFR5cGVzID0ge1xuICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLCAvLyAgaTE4bmV4dFxuICBwYWdlQWNjZXNzb3JpZXNDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKFBhZ2VBY2Nlc3Nvcmllc0NvbnRhaW5lcikuaXNSZXF1aXJlZCxcbiAgaXNHdWVzdFVzZXI6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gIGlzU2hhcmVkVXNlcjogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgaXNOb3RGb3VuZFBhZ2U6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gIGlzT3BlbjogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgb25DbG9zZTogUHJvcFR5cGVzLmZ1bmMsXG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoVHJhbnNsYXRpb24oKShQYWdlQWNjZXNzb3JpZXNNb2RhbFdyYXBwZXIpO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7Ozs7OztBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQURBO0FBR0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQXpCQTtBQWdDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBSEE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUtBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU1BO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBUUE7QUFBQTtBQUdBO0FBQUE7QUFDQTtBQUFBO0FBR0E7QUFBQTtBQUlBO0FBQUE7QUFJQTtBQUFBO0FBSUE7QUFBQTtBQVNBO0FBRUE7Ozs7O0FBR0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFQQTtBQVVBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/PageAccessoriesModal.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageAccessoriesModalControl.jsx":
- /*!******************************************************************!*\
- !*** ./src/client/js/components/PageAccessoriesModalControl.jsx ***!
- \******************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var reactstrap_es_UncontrolledTooltip__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! reactstrap/es/UncontrolledTooltip */ \"./node_modules/reactstrap/es/UncontrolledTooltip.js\");\n/* harmony import */ var _services_PageAccessoriesContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../services/PageAccessoriesContainer */ \"./src/client/js/services/PageAccessoriesContainer.js\");\n/* harmony import */ var _Icons_PageListIcon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Icons/PageListIcon */ \"./src/client/js/components/Icons/PageListIcon.jsx\");\n/* harmony import */ var _Icons_TimeLineIcon__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Icons/TimeLineIcon */ \"./src/client/js/components/Icons/TimeLineIcon.jsx\");\n/* harmony import */ var _Icons_HistoryIcon__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Icons/HistoryIcon */ \"./src/client/js/components/Icons/HistoryIcon.jsx\");\n/* harmony import */ var _Icons_AttachmentIcon__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Icons/AttachmentIcon */ \"./src/client/js/components/Icons/AttachmentIcon.jsx\");\n/* harmony import */ var _Icons_ShareLinkIcon__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Icons/ShareLinkIcon */ \"./src/client/js/components/Icons/ShareLinkIcon.jsx\");\n/* harmony import */ var _User_SeenUserInfo__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./User/SeenUserInfo */ \"./src/client/js/components/User/SeenUserInfo.jsx\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst PageAccessoriesModalControl = props => {\n const {\n t,\n pageAccessoriesContainer,\n isGuestUser,\n isSharedUser,\n isNotFoundPage\n } = props;\n const isLinkSharingDisabled = pageAccessoriesContainer.appContainer.config.disableLinkSharing;\n const accessoriesBtnList = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useMemo\"])(() => {\n return [{\n name: 'pagelist',\n Icon: react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icons_PageListIcon__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null),\n disabled: isSharedUser,\n i18n: t('page_list')\n }, {\n name: 'timeline',\n Icon: react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icons_TimeLineIcon__WEBPACK_IMPORTED_MODULE_6__[\"default\"], null),\n disabled: isSharedUser,\n i18n: t('Timeline View')\n }, {\n name: 'pageHistory',\n Icon: react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icons_HistoryIcon__WEBPACK_IMPORTED_MODULE_7__[\"default\"], null),\n disabled: isGuestUser || isSharedUser || isNotFoundPage,\n i18n: t('History')\n }, {\n name: 'attachment',\n Icon: react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icons_AttachmentIcon__WEBPACK_IMPORTED_MODULE_8__[\"default\"], null),\n disabled: isNotFoundPage,\n i18n: t('attachment_data')\n }, {\n name: 'shareLink',\n Icon: react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icons_ShareLinkIcon__WEBPACK_IMPORTED_MODULE_9__[\"default\"], null),\n disabled: isGuestUser || isSharedUser || isNotFoundPage || isLinkSharingDisabled,\n i18n: t('share_links.share_link_management')\n }];\n }, [t, isGuestUser, isSharedUser, isNotFoundPage, isLinkSharingDisabled]);\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"grw-page-accessories-control d-flex flex-nowrap align-items-center justify-content-end justify-content-lg-between\"\n }, accessoriesBtnList.map(accessory => {\n let tooltipMessage;\n\n if (accessory.disabled) {\n tooltipMessage = isNotFoundPage ? t('not_found_page.page_not_exist') : t('Not available for guest');\n\n if (accessory.name === 'shareLink' && isLinkSharingDisabled) {\n tooltipMessage = t('Link sharing is disabled');\n }\n } else {\n tooltipMessage = accessory.i18n;\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0__[\"Fragment\"], {\n key: accessory.name\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n id: `shareLink-btn-wrapper-for-tooltip-for-${accessory.name}`\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: `btn btn-link grw-btn-page-accessories ${accessory.disabled ? 'disabled' : ''}`,\n onClick: () => pageAccessoriesContainer.openPageAccessoriesModal(accessory.name)\n }, accessory.Icon)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_UncontrolledTooltip__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n placement: \"top\",\n target: `shareLink-btn-wrapper-for-tooltip-for-${accessory.name}`,\n fade: false\n }, tooltipMessage));\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"d-flex align-items-center\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"border-left grw-border-vr\"\n }, \"\\xA0\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_User_SeenUserInfo__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n disabled: isSharedUser\n })));\n};\n/**\n * Wrapper component for using unstated\n */\n\n\nconst PageAccessoriesModalControlWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_11__[\"withUnstatedContainers\"])(PageAccessoriesModalControl, [_services_PageAccessoriesContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]]);\nPageAccessoriesModalControl.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n pageAccessoriesContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageAccessoriesContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]).isRequired,\n isGuestUser: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,\n isSharedUser: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,\n isNotFoundPage: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(PageAccessoriesModalControlWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUFjY2Vzc29yaWVzTW9kYWxDb250cm9sLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9QYWdlQWNjZXNzb3JpZXNNb2RhbENvbnRyb2wuanN4P2ViN2QiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuaW1wb3J0IHsgd2l0aFRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5cbmltcG9ydCB7IFVuY29udHJvbGxlZFRvb2x0aXAgfSBmcm9tICdyZWFjdHN0cmFwJztcbmltcG9ydCBQYWdlQWNjZXNzb3JpZXNDb250YWluZXIgZnJvbSAnLi4vc2VydmljZXMvUGFnZUFjY2Vzc29yaWVzQ29udGFpbmVyJztcblxuaW1wb3J0IFBhZ2VMaXN0SWNvbiBmcm9tICcuL0ljb25zL1BhZ2VMaXN0SWNvbic7XG5pbXBvcnQgVGltZUxpbmVJY29uIGZyb20gJy4vSWNvbnMvVGltZUxpbmVJY29uJztcbmltcG9ydCBIaXN0b3J5SWNvbiBmcm9tICcuL0ljb25zL0hpc3RvcnlJY29uJztcbmltcG9ydCBBdHRhY2htZW50SWNvbiBmcm9tICcuL0ljb25zL0F0dGFjaG1lbnRJY29uJztcbmltcG9ydCBTaGFyZUxpbmtJY29uIGZyb20gJy4vSWNvbnMvU2hhcmVMaW5rSWNvbic7XG5pbXBvcnQgU2VlblVzZXJJbmZvIGZyb20gJy4vVXNlci9TZWVuVXNlckluZm8nO1xuXG5pbXBvcnQgeyB3aXRoVW5zdGF0ZWRDb250YWluZXJzIH0gZnJvbSAnLi9VbnN0YXRlZFV0aWxzJztcblxuY29uc3QgUGFnZUFjY2Vzc29yaWVzTW9kYWxDb250cm9sID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICB0LCBwYWdlQWNjZXNzb3JpZXNDb250YWluZXIsIGlzR3Vlc3RVc2VyLCBpc1NoYXJlZFVzZXIsIGlzTm90Rm91bmRQYWdlLFxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IGlzTGlua1NoYXJpbmdEaXNhYmxlZCA9IHBhZ2VBY2Nlc3Nvcmllc0NvbnRhaW5lci5hcHBDb250YWluZXIuY29uZmlnLmRpc2FibGVMaW5rU2hhcmluZztcblxuICBjb25zdCBhY2Nlc3Nvcmllc0J0bkxpc3QgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBuYW1lOiAncGFnZWxpc3QnLFxuICAgICAgICBJY29uOiA8UGFnZUxpc3RJY29uIC8+LFxuICAgICAgICBkaXNhYmxlZDogaXNTaGFyZWRVc2VyLFxuICAgICAgICBpMThuOiB0KCdwYWdlX2xpc3QnKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICd0aW1lbGluZScsXG4gICAgICAgIEljb246IDxUaW1lTGluZUljb24gLz4sXG4gICAgICAgIGRpc2FibGVkOiBpc1NoYXJlZFVzZXIsXG4gICAgICAgIGkxOG46IHQoJ1RpbWVsaW5lIFZpZXcnKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdwYWdlSGlzdG9yeScsXG4gICAgICAgIEljb246IDxIaXN0b3J5SWNvbiAvPixcbiAgICAgICAgZGlzYWJsZWQ6IGlzR3Vlc3RVc2VyIHx8IGlzU2hhcmVkVXNlciB8fCBpc05vdEZvdW5kUGFnZSxcbiAgICAgICAgaTE4bjogdCgnSGlzdG9yeScpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2F0dGFjaG1lbnQnLFxuICAgICAgICBJY29uOiA8QXR0YWNobWVudEljb24gLz4sXG4gICAgICAgIGRpc2FibGVkOiBpc05vdEZvdW5kUGFnZSxcbiAgICAgICAgaTE4bjogdCgnYXR0YWNobWVudF9kYXRhJyksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnc2hhcmVMaW5rJyxcbiAgICAgICAgSWNvbjogPFNoYXJlTGlua0ljb24gLz4sXG4gICAgICAgIGRpc2FibGVkOiBpc0d1ZXN0VXNlciB8fCBpc1NoYXJlZFVzZXIgfHwgaXNOb3RGb3VuZFBhZ2UgfHwgaXNMaW5rU2hhcmluZ0Rpc2FibGVkLFxuICAgICAgICBpMThuOiB0KCdzaGFyZV9saW5rcy5zaGFyZV9saW5rX21hbmFnZW1lbnQnKSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfSwgW3QsIGlzR3Vlc3RVc2VyLCBpc1NoYXJlZFVzZXIsIGlzTm90Rm91bmRQYWdlLCBpc0xpbmtTaGFyaW5nRGlzYWJsZWRdKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3J3LXBhZ2UtYWNjZXNzb3JpZXMtY29udHJvbCBkLWZsZXggZmxleC1ub3dyYXAgYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1lbmQganVzdGlmeS1jb250ZW50LWxnLWJldHdlZW5cIj5cbiAgICAgIHthY2Nlc3Nvcmllc0J0bkxpc3QubWFwKChhY2Nlc3NvcnkpID0+IHtcblxuICAgICAgICBsZXQgdG9vbHRpcE1lc3NhZ2U7XG4gICAgICAgIGlmIChhY2Nlc3NvcnkuZGlzYWJsZWQpIHtcbiAgICAgICAgICB0b29sdGlwTWVzc2FnZSA9IGlzTm90Rm91bmRQYWdlID8gdCgnbm90X2ZvdW5kX3BhZ2UucGFnZV9ub3RfZXhpc3QnKSA6IHQoJ05vdCBhdmFpbGFibGUgZm9yIGd1ZXN0Jyk7XG4gICAgICAgICAgaWYgKGFjY2Vzc29yeS5uYW1lID09PSAnc2hhcmVMaW5rJyAmJiBpc0xpbmtTaGFyaW5nRGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRvb2x0aXBNZXNzYWdlID0gdCgnTGluayBzaGFyaW5nIGlzIGRpc2FibGVkJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIHRvb2x0aXBNZXNzYWdlID0gYWNjZXNzb3J5LmkxOG47XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxGcmFnbWVudCBrZXk9e2FjY2Vzc29yeS5uYW1lfT5cbiAgICAgICAgICAgIDxkaXYgaWQ9e2BzaGFyZUxpbmstYnRuLXdyYXBwZXItZm9yLXRvb2x0aXAtZm9yLSR7YWNjZXNzb3J5Lm5hbWV9YH0+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2BidG4gYnRuLWxpbmsgZ3J3LWJ0bi1wYWdlLWFjY2Vzc29yaWVzICR7YWNjZXNzb3J5LmRpc2FibGVkID8gJ2Rpc2FibGVkJyA6ICcnfWB9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gcGFnZUFjY2Vzc29yaWVzQ29udGFpbmVyLm9wZW5QYWdlQWNjZXNzb3JpZXNNb2RhbChhY2Nlc3NvcnkubmFtZSl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7YWNjZXNzb3J5Lkljb259XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8VW5jb250cm9sbGVkVG9vbHRpcCBwbGFjZW1lbnQ9XCJ0b3BcIiB0YXJnZXQ9e2BzaGFyZUxpbmstYnRuLXdyYXBwZXItZm9yLXRvb2x0aXAtZm9yLSR7YWNjZXNzb3J5Lm5hbWV9YH0gZmFkZT17ZmFsc2V9PlxuICAgICAgICAgICAgICB7dG9vbHRpcE1lc3NhZ2V9XG4gICAgICAgICAgICA8L1VuY29udHJvbGxlZFRvb2x0aXA+XG4gICAgICAgICAgPC9GcmFnbWVudD5cbiAgICAgICAgKTtcbiAgICAgIH0pfVxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImJvcmRlci1sZWZ0IGdydy1ib3JkZXItdnJcIj4mbmJzcDs8L3NwYW4+XG4gICAgICAgIDxTZWVuVXNlckluZm8gZGlzYWJsZWQ9e2lzU2hhcmVkVXNlcn0gLz5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcbi8qKlxuICogV3JhcHBlciBjb21wb25lbnQgZm9yIHVzaW5nIHVuc3RhdGVkXG4gKi9cbmNvbnN0IFBhZ2VBY2Nlc3Nvcmllc01vZGFsQ29udHJvbFdyYXBwZXIgPSB3aXRoVW5zdGF0ZWRDb250YWluZXJzKFBhZ2VBY2Nlc3Nvcmllc01vZGFsQ29udHJvbCwgW1BhZ2VBY2Nlc3Nvcmllc0NvbnRhaW5lcl0pO1xuXG5QYWdlQWNjZXNzb3JpZXNNb2RhbENvbnRyb2wucHJvcFR5cGVzID0ge1xuICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLCAvLyAgaTE4bmV4dFxuXG4gIHBhZ2VBY2Nlc3Nvcmllc0NvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoUGFnZUFjY2Vzc29yaWVzQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuXG4gIGlzR3Vlc3RVc2VyOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICBpc1NoYXJlZFVzZXI6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gIGlzTm90Rm91bmRQYWdlOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFRyYW5zbGF0aW9uKCkoUGFnZUFjY2Vzc29yaWVzTW9kYWxDb250cm9sV3JhcHBlcik7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTs7QUFHQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQURBO0FBR0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFPQTtBQUVBO0FBQ0E7QUFBQTtBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFIQTtBQVFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFJQTtBQUNBOzs7OztBQUdBO0FBRUE7QUFDQTtBQUFBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFQQTtBQVVBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/PageAccessoriesModalControl.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageAttachment.jsx":
- /*!*****************************************************!*\
- !*** ./src/client/js/components/PageAttachment.jsx ***!
- \*****************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _PageAttachment_PageAttachmentList__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PageAttachment/PageAttachmentList */ \"./src/client/js/components/PageAttachment/PageAttachmentList.jsx\");\n/* harmony import */ var _PageAttachment_DeleteAttachmentModal__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./PageAttachment/DeleteAttachmentModal */ \"./src/client/js/components/PageAttachment/DeleteAttachmentModal.jsx\");\n/* harmony import */ var _PaginationWrapper__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./PaginationWrapper */ \"./src/client/js/components/PaginationWrapper.jsx\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n/* eslint-disable react/no-access-state-in-setstate */\n\n\n\n\n\n\n\n\n\n\nclass PageAttachment extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n this.state = {\n activePage: 1,\n totalAttachments: 0,\n limit: Infinity,\n attachments: [],\n inUse: {},\n attachmentToDelete: null,\n deleting: false,\n deleteError: ''\n };\n this.handlePage = this.handlePage.bind(this);\n this.onAttachmentDeleteClicked = this.onAttachmentDeleteClicked.bind(this);\n this.onAttachmentDeleteClickedConfirm = this.onAttachmentDeleteClickedConfirm.bind(this);\n }\n\n async handlePage(selectedPage) {\n const {\n pageId\n } = this.props.pageContainer.state;\n const page = selectedPage;\n\n if (!pageId) {\n return;\n }\n\n const res = await this.props.appContainer.apiv3Get('/attachment/list', {\n pageId,\n page\n });\n const attachments = res.data.paginateResult.docs;\n const totalAttachments = res.data.paginateResult.totalDocs;\n const pagingLimit = res.data.paginateResult.limit;\n const inUse = {};\n\n for (const attachment of attachments) {\n inUse[attachment._id] = this.checkIfFileInUse(attachment);\n }\n\n this.setState({\n activePage: selectedPage,\n totalAttachments,\n limit: pagingLimit,\n attachments,\n inUse\n });\n }\n\n async componentDidMount() {\n await this.handlePage(1);\n this.setState({\n activePage: 1\n });\n }\n\n checkIfFileInUse(attachment) {\n const {\n markdown\n } = this.props.pageContainer.state;\n\n if (markdown.match(attachment._id)) {\n return true;\n }\n\n return false;\n }\n\n onAttachmentDeleteClicked(attachment) {\n this.setState({\n attachmentToDelete: attachment\n });\n }\n\n onAttachmentDeleteClickedConfirm(attachment) {\n const attachmentId = attachment._id;\n this.setState({\n deleting: true\n });\n this.props.appContainer.apiPost('/attachments.remove', {\n attachment_id: attachmentId\n }).then(res => {\n this.setState({\n attachments: this.state.attachments.filter(at => {\n // comparing ObjectId\n // eslint-disable-next-line eqeqeq\n return at._id != attachmentId;\n }),\n attachmentToDelete: null,\n deleting: false\n });\n }).catch(err => {\n this.setState({\n deleteError: 'Something went wrong.',\n deleting: false\n });\n });\n }\n\n isUserLoggedIn() {\n return this.props.appContainer.currentUser != null;\n }\n\n render() {\n const {\n t\n } = this.props;\n\n if (this.state.attachments.length === 0) {\n return t('No_attachments_yet');\n }\n\n let deleteAttachmentModal = '';\n\n if (this.isUserLoggedIn()) {\n const attachmentToDelete = this.state.attachmentToDelete;\n\n const deleteModalClose = () => {\n this.setState({\n attachmentToDelete: null,\n deleteError: ''\n });\n };\n\n const showModal = attachmentToDelete !== null;\n let deleteInUse = null;\n\n if (attachmentToDelete !== null) {\n deleteInUse = this.state.inUse[attachmentToDelete._id] || false;\n }\n\n deleteAttachmentModal = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageAttachment_DeleteAttachmentModal__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n isOpen: showModal,\n animation: \"false\",\n toggle: deleteModalClose,\n attachmentToDelete: attachmentToDelete,\n inUse: deleteInUse,\n deleting: this.state.deleting,\n deleteError: this.state.deleteError,\n onAttachmentDeleteClickedConfirm: this.onAttachmentDeleteClickedConfirm\n });\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageAttachment_PageAttachmentList__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n attachments: this.state.attachments,\n inUse: this.state.inUse,\n onAttachmentDeleteClicked: this.onAttachmentDeleteClicked,\n isUserLoggedIn: this.isUserLoggedIn()\n }), deleteAttachmentModal, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PaginationWrapper__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n activePage: this.state.activePage,\n changePage: this.handlePage,\n totalItemsCount: this.state.totalAttachments,\n pagingLimit: this.state.limit,\n align: \"center\"\n }));\n }\n\n}\n/**\n * Wrapper component for using unstated\n */\n\n\nconst PageAttachmentWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_6__[\"withUnstatedContainers\"])(PageAttachment, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_7__[\"default\"], _services_PageContainer__WEBPACK_IMPORTED_MODULE_8__[\"default\"]]);\nPageAttachment.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_7__[\"default\"]).isRequired,\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_8__[\"default\"]).isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(PageAttachmentWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUF0dGFjaG1lbnQuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1BhZ2VBdHRhY2htZW50LmpzeD83ZmVjIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L25vLWFjY2Vzcy1zdGF0ZS1pbi1zZXRzdGF0ZSAqL1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyB3aXRoVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcblxuaW1wb3J0IFBhZ2VBdHRhY2htZW50TGlzdCBmcm9tICcuL1BhZ2VBdHRhY2htZW50L1BhZ2VBdHRhY2htZW50TGlzdCc7XG5pbXBvcnQgRGVsZXRlQXR0YWNobWVudE1vZGFsIGZyb20gJy4vUGFnZUF0dGFjaG1lbnQvRGVsZXRlQXR0YWNobWVudE1vZGFsJztcbmltcG9ydCBQYWdpbmF0aW9uV3JhcHBlciBmcm9tICcuL1BhZ2luYXRpb25XcmFwcGVyJztcbmltcG9ydCB7IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMgfSBmcm9tICcuL1Vuc3RhdGVkVXRpbHMnO1xuaW1wb3J0IEFwcENvbnRhaW5lciBmcm9tICcuLi9zZXJ2aWNlcy9BcHBDb250YWluZXInO1xuaW1wb3J0IFBhZ2VDb250YWluZXIgZnJvbSAnLi4vc2VydmljZXMvUGFnZUNvbnRhaW5lcic7XG5cbmNsYXNzIFBhZ2VBdHRhY2htZW50IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcblxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBhY3RpdmVQYWdlOiAxLFxuICAgICAgdG90YWxBdHRhY2htZW50czogMCxcbiAgICAgIGxpbWl0OiBJbmZpbml0eSxcbiAgICAgIGF0dGFjaG1lbnRzOiBbXSxcbiAgICAgIGluVXNlOiB7fSxcbiAgICAgIGF0dGFjaG1lbnRUb0RlbGV0ZTogbnVsbCxcbiAgICAgIGRlbGV0aW5nOiBmYWxzZSxcbiAgICAgIGRlbGV0ZUVycm9yOiAnJyxcbiAgICB9O1xuXG4gICAgdGhpcy5oYW5kbGVQYWdlID0gdGhpcy5oYW5kbGVQYWdlLmJpbmQodGhpcyk7XG4gICAgdGhpcy5vbkF0dGFjaG1lbnREZWxldGVDbGlja2VkID0gdGhpcy5vbkF0dGFjaG1lbnREZWxldGVDbGlja2VkLmJpbmQodGhpcyk7XG4gICAgdGhpcy5vbkF0dGFjaG1lbnREZWxldGVDbGlja2VkQ29uZmlybSA9IHRoaXMub25BdHRhY2htZW50RGVsZXRlQ2xpY2tlZENvbmZpcm0uYmluZCh0aGlzKTtcbiAgfVxuXG5cbiAgYXN5bmMgaGFuZGxlUGFnZShzZWxlY3RlZFBhZ2UpIHtcbiAgICBjb25zdCB7IHBhZ2VJZCB9ID0gdGhpcy5wcm9wcy5wYWdlQ29udGFpbmVyLnN0YXRlO1xuICAgIGNvbnN0IHBhZ2UgPSBzZWxlY3RlZFBhZ2U7XG5cbiAgICBpZiAoIXBhZ2VJZCkgeyByZXR1cm4gfVxuXG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5wcm9wcy5hcHBDb250YWluZXIuYXBpdjNHZXQoJy9hdHRhY2htZW50L2xpc3QnLCB7IHBhZ2VJZCwgcGFnZSB9KTtcbiAgICBjb25zdCBhdHRhY2htZW50cyA9IHJlcy5kYXRhLnBhZ2luYXRlUmVzdWx0LmRvY3M7XG4gICAgY29uc3QgdG90YWxBdHRhY2htZW50cyA9IHJlcy5kYXRhLnBhZ2luYXRlUmVzdWx0LnRvdGFsRG9jcztcbiAgICBjb25zdCBwYWdpbmdMaW1pdCA9IHJlcy5kYXRhLnBhZ2luYXRlUmVzdWx0LmxpbWl0O1xuXG4gICAgY29uc3QgaW5Vc2UgPSB7fTtcblxuICAgIGZvciAoY29uc3QgYXR0YWNobWVudCBvZiBhdHRhY2htZW50cykge1xuICAgICAgaW5Vc2VbYXR0YWNobWVudC5faWRdID0gdGhpcy5jaGVja0lmRmlsZUluVXNlKGF0dGFjaG1lbnQpO1xuICAgIH1cbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIGFjdGl2ZVBhZ2U6IHNlbGVjdGVkUGFnZSxcbiAgICAgIHRvdGFsQXR0YWNobWVudHMsXG4gICAgICBsaW1pdDogcGFnaW5nTGltaXQsXG4gICAgICBhdHRhY2htZW50cyxcbiAgICAgIGluVXNlLFxuICAgIH0pO1xuICB9XG5cblxuICBhc3luYyBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBhd2FpdCB0aGlzLmhhbmRsZVBhZ2UoMSk7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBhY3RpdmVQYWdlOiAxLFxuICAgIH0pO1xuICB9XG5cbiAgY2hlY2tJZkZpbGVJblVzZShhdHRhY2htZW50KSB7XG4gICAgY29uc3QgeyBtYXJrZG93biB9ID0gdGhpcy5wcm9wcy5wYWdlQ29udGFpbmVyLnN0YXRlO1xuXG4gICAgaWYgKG1hcmtkb3duLm1hdGNoKGF0dGFjaG1lbnQuX2lkKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIG9uQXR0YWNobWVudERlbGV0ZUNsaWNrZWQoYXR0YWNobWVudCkge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgYXR0YWNobWVudFRvRGVsZXRlOiBhdHRhY2htZW50LFxuICAgIH0pO1xuICB9XG5cbiAgb25BdHRhY2htZW50RGVsZXRlQ2xpY2tlZENvbmZpcm0oYXR0YWNobWVudCkge1xuICAgIGNvbnN0IGF0dGFjaG1lbnRJZCA9IGF0dGFjaG1lbnQuX2lkO1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgZGVsZXRpbmc6IHRydWUsXG4gICAgfSk7XG5cbiAgICB0aGlzLnByb3BzLmFwcENvbnRhaW5lci5hcGlQb3N0KCcvYXR0YWNobWVudHMucmVtb3ZlJywgeyBhdHRhY2htZW50X2lkOiBhdHRhY2htZW50SWQgfSlcbiAgICAgIC50aGVuKChyZXMpID0+IHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgYXR0YWNobWVudHM6IHRoaXMuc3RhdGUuYXR0YWNobWVudHMuZmlsdGVyKChhdCkgPT4ge1xuICAgICAgICAgICAgLy8gY29tcGFyaW5nIE9iamVjdElkXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZXFlcWVxXG4gICAgICAgICAgICByZXR1cm4gYXQuX2lkICE9IGF0dGFjaG1lbnRJZDtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBhdHRhY2htZW50VG9EZWxldGU6IG51bGwsXG4gICAgICAgICAgZGVsZXRpbmc6IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICAgIH0pLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgZGVsZXRlRXJyb3I6ICdTb21ldGhpbmcgd2VudCB3cm9uZy4nLFxuICAgICAgICAgIGRlbGV0aW5nOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIGlzVXNlckxvZ2dlZEluKCkge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmFwcENvbnRhaW5lci5jdXJyZW50VXNlciAhPSBudWxsO1xuICB9XG5cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICh0aGlzLnN0YXRlLmF0dGFjaG1lbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHQoJ05vX2F0dGFjaG1lbnRzX3lldCcpO1xuICAgIH1cblxuICAgIGxldCBkZWxldGVBdHRhY2htZW50TW9kYWwgPSAnJztcbiAgICBpZiAodGhpcy5pc1VzZXJMb2dnZWRJbigpKSB7XG4gICAgICBjb25zdCBhdHRhY2htZW50VG9EZWxldGUgPSB0aGlzLnN0YXRlLmF0dGFjaG1lbnRUb0RlbGV0ZTtcbiAgICAgIGNvbnN0IGRlbGV0ZU1vZGFsQ2xvc2UgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBhdHRhY2htZW50VG9EZWxldGU6IG51bGwsIGRlbGV0ZUVycm9yOiAnJyB9KTtcbiAgICAgIH07XG4gICAgICBjb25zdCBzaG93TW9kYWwgPSBhdHRhY2htZW50VG9EZWxldGUgIT09IG51bGw7XG5cbiAgICAgIGxldCBkZWxldGVJblVzZSA9IG51bGw7XG4gICAgICBpZiAoYXR0YWNobWVudFRvRGVsZXRlICE9PSBudWxsKSB7XG4gICAgICAgIGRlbGV0ZUluVXNlID0gdGhpcy5zdGF0ZS5pblVzZVthdHRhY2htZW50VG9EZWxldGUuX2lkXSB8fCBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgZGVsZXRlQXR0YWNobWVudE1vZGFsID0gKFxuICAgICAgICA8RGVsZXRlQXR0YWNobWVudE1vZGFsXG4gICAgICAgICAgaXNPcGVuPXtzaG93TW9kYWx9XG4gICAgICAgICAgYW5pbWF0aW9uPVwiZmFsc2VcIlxuICAgICAgICAgIHRvZ2dsZT17ZGVsZXRlTW9kYWxDbG9zZX1cblxuICAgICAgICAgIGF0dGFjaG1lbnRUb0RlbGV0ZT17YXR0YWNobWVudFRvRGVsZXRlfVxuICAgICAgICAgIGluVXNlPXtkZWxldGVJblVzZX1cbiAgICAgICAgICBkZWxldGluZz17dGhpcy5zdGF0ZS5kZWxldGluZ31cbiAgICAgICAgICBkZWxldGVFcnJvcj17dGhpcy5zdGF0ZS5kZWxldGVFcnJvcn1cbiAgICAgICAgICBvbkF0dGFjaG1lbnREZWxldGVDbGlja2VkQ29uZmlybT17dGhpcy5vbkF0dGFjaG1lbnREZWxldGVDbGlja2VkQ29uZmlybX1cbiAgICAgICAgLz5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxQYWdlQXR0YWNobWVudExpc3RcbiAgICAgICAgICBhdHRhY2htZW50cz17dGhpcy5zdGF0ZS5hdHRhY2htZW50c31cbiAgICAgICAgICBpblVzZT17dGhpcy5zdGF0ZS5pblVzZX1cbiAgICAgICAgICBvbkF0dGFjaG1lbnREZWxldGVDbGlja2VkPXt0aGlzLm9uQXR0YWNobWVudERlbGV0ZUNsaWNrZWR9XG4gICAgICAgICAgaXNVc2VyTG9nZ2VkSW49e3RoaXMuaXNVc2VyTG9nZ2VkSW4oKX1cbiAgICAgICAgLz5cblxuICAgICAgICB7ZGVsZXRlQXR0YWNobWVudE1vZGFsfVxuXG4gICAgICAgIDxQYWdpbmF0aW9uV3JhcHBlclxuICAgICAgICAgIGFjdGl2ZVBhZ2U9e3RoaXMuc3RhdGUuYWN0aXZlUGFnZX1cbiAgICAgICAgICBjaGFuZ2VQYWdlPXt0aGlzLmhhbmRsZVBhZ2V9XG4gICAgICAgICAgdG90YWxJdGVtc0NvdW50PXt0aGlzLnN0YXRlLnRvdGFsQXR0YWNobWVudHN9XG4gICAgICAgICAgcGFnaW5nTGltaXQ9e3RoaXMuc3RhdGUubGltaXR9XG4gICAgICAgICAgYWxpZ249XCJjZW50ZXJcIlxuICAgICAgICAvPlxuICAgICAgPC8+XG4gICAgKTtcbiAgfVxuXG59XG5cbi8qKlxuICogV3JhcHBlciBjb21wb25lbnQgZm9yIHVzaW5nIHVuc3RhdGVkXG4gKi9cbmNvbnN0IFBhZ2VBdHRhY2htZW50V3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoUGFnZUF0dGFjaG1lbnQsIFtBcHBDb250YWluZXIsIFBhZ2VDb250YWluZXJdKTtcblxuXG5QYWdlQXR0YWNobWVudC5wcm9wVHlwZXMgPSB7XG4gIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIGFwcENvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoQXBwQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuICBwYWdlQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihQYWdlQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFRyYW5zbGF0aW9uKCkoUGFnZUF0dGFjaG1lbnRXcmFwcGVyKTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVJBO0FBV0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQU9BO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQURBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQURBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFJQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUEE7QUFTQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVRBO0FBWUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQVVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQVNBO0FBQ0E7QUEzSkE7QUE4SkE7Ozs7O0FBR0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBTUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/PageAttachment.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageAttachment/DeleteAttachmentModal.jsx":
- /*!***************************************************************************!*\
- !*** ./src/client/js/components/PageAttachment/DeleteAttachmentModal.jsx ***!
- \***************************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return DeleteAttachmentModal; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! reactstrap/es/Button */ \"./node_modules/reactstrap/es/Button.js\");\n/* harmony import */ var reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! reactstrap/es/Modal */ \"./node_modules/reactstrap/es/Modal.js\");\n/* harmony import */ var reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! reactstrap/es/ModalHeader */ \"./node_modules/reactstrap/es/ModalHeader.js\");\n/* harmony import */ var reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! reactstrap/es/ModalBody */ \"./node_modules/reactstrap/es/ModalBody.js\");\n/* harmony import */ var reactstrap_es_ModalFooter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! reactstrap/es/ModalFooter */ \"./node_modules/reactstrap/es/ModalFooter.js\");\n/* harmony import */ var _User_UserPicture__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../User/UserPicture */ \"./src/client/js/components/User/UserPicture.jsx\");\n/* harmony import */ var _User_Username__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../User/Username */ \"./src/client/js/components/User/Username.jsx\");\nfunction _extends() { _extends = Object.assign || 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); }\n\n/* eslint-disable react/prop-types */\n\n\n\n\n\n\n\n\nclass DeleteAttachmentModal extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n this._onDeleteConfirm = this._onDeleteConfirm.bind(this);\n }\n\n _onDeleteConfirm() {\n this.props.onAttachmentDeleteClickedConfirm(this.props.attachmentToDelete);\n }\n\n iconNameByFormat(format) {\n if (format.match(/image\\/.+/i)) {\n return 'icon-picture';\n }\n\n return 'icon-doc';\n }\n\n renderByFileFormat(attachment) {\n const content = attachment.fileFormat.match(/image\\/.+/i) ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"img\", {\n src: attachment.filePathProxied,\n alt: \"deleting image\"\n }) : '';\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"attachment-delete-image\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: this.iconNameByFormat(attachment.fileFormat)\n }), \" \", attachment.originalName), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", null, \"uploaded by \", react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_User_UserPicture__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n user: attachment.creator,\n size: \"sm\"\n }), \" \", react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_User_Username__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n user: attachment.creator\n })), content);\n }\n\n render() {\n const attachment = this.props.attachmentToDelete;\n\n if (attachment === null) {\n return null;\n }\n\n const props = Object.assign({}, this.props);\n delete props.onAttachmentDeleteClickedConfirm;\n delete props.attachmentToDelete;\n delete props.inUse;\n delete props.deleting;\n delete props.deleteError;\n let deletingIndicator = '';\n\n if (this.props.deleting) {\n deletingIndicator = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"speeding-wheel-sm\"\n });\n }\n\n if (this.props.deleteError) {\n deletingIndicator = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", null, this.props.deleteError);\n }\n\n const renderAttachment = this.renderByFileFormat(attachment);\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _extends({}, props, {\n className: \"attachment-delete-modal\",\n bssize: \"large\",\n \"aria-labelledby\": \"contained-modal-title-lg\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n tag: \"h4\",\n toggle: this.props.toggle,\n className: \"bg-danger text-light\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n id: \"contained-modal-title-lg\"\n }, \"Delete attachment?\")), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_4__[\"default\"], null, renderAttachment), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalFooter__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"mr-3 d-inline-block\"\n }, deletingIndicator), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n color: \"danger\",\n onClick: this._onDeleteConfirm,\n disabled: this.props.deleting\n }, \"Delete!\")));\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUF0dGFjaG1lbnQvRGVsZXRlQXR0YWNobWVudE1vZGFsLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9QYWdlQXR0YWNobWVudC9EZWxldGVBdHRhY2htZW50TW9kYWwuanN4PzAxNmIiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3QvcHJvcC10eXBlcyAqL1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHtcbiAgQnV0dG9uLFxuICBNb2RhbCwgTW9kYWxIZWFkZXIsIE1vZGFsQm9keSwgTW9kYWxGb290ZXIsXG59IGZyb20gJ3JlYWN0c3RyYXAnO1xuXG5pbXBvcnQgVXNlclBpY3R1cmUgZnJvbSAnLi4vVXNlci9Vc2VyUGljdHVyZSc7XG5pbXBvcnQgVXNlcm5hbWUgZnJvbSAnLi4vVXNlci9Vc2VybmFtZSc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERlbGV0ZUF0dGFjaG1lbnRNb2RhbCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLl9vbkRlbGV0ZUNvbmZpcm0gPSB0aGlzLl9vbkRlbGV0ZUNvbmZpcm0uYmluZCh0aGlzKTtcbiAgfVxuXG4gIF9vbkRlbGV0ZUNvbmZpcm0oKSB7XG4gICAgdGhpcy5wcm9wcy5vbkF0dGFjaG1lbnREZWxldGVDbGlja2VkQ29uZmlybSh0aGlzLnByb3BzLmF0dGFjaG1lbnRUb0RlbGV0ZSk7XG4gIH1cblxuICBpY29uTmFtZUJ5Rm9ybWF0KGZvcm1hdCkge1xuICAgIGlmIChmb3JtYXQubWF0Y2goL2ltYWdlXFwvLisvaSkpIHtcbiAgICAgIHJldHVybiAnaWNvbi1waWN0dXJlJztcbiAgICB9XG5cbiAgICByZXR1cm4gJ2ljb24tZG9jJztcbiAgfVxuXG4gIHJlbmRlckJ5RmlsZUZvcm1hdChhdHRhY2htZW50KSB7XG4gICAgY29uc3QgY29udGVudCA9IChhdHRhY2htZW50LmZpbGVGb3JtYXQubWF0Y2goL2ltYWdlXFwvLisvaSkpXG4gICAgICA/IDxpbWcgc3JjPXthdHRhY2htZW50LmZpbGVQYXRoUHJveGllZH0gYWx0PVwiZGVsZXRpbmcgaW1hZ2VcIiAvPlxuICAgICAgOiAnJztcblxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYXR0YWNobWVudC1kZWxldGUtaW1hZ2VcIj5cbiAgICAgICAgPHA+XG4gICAgICAgICAgPGkgY2xhc3NOYW1lPXt0aGlzLmljb25OYW1lQnlGb3JtYXQoYXR0YWNobWVudC5maWxlRm9ybWF0KX0+PC9pPiB7YXR0YWNobWVudC5vcmlnaW5hbE5hbWV9XG4gICAgICAgIDwvcD5cbiAgICAgICAgPHA+XG4gICAgICAgICAgdXBsb2FkZWQgYnkgPFVzZXJQaWN0dXJlIHVzZXI9e2F0dGFjaG1lbnQuY3JlYXRvcn0gc2l6ZT1cInNtXCI+PC9Vc2VyUGljdHVyZT4gPFVzZXJuYW1lIHVzZXI9e2F0dGFjaG1lbnQuY3JlYXRvcn0+PC9Vc2VybmFtZT5cbiAgICAgICAgPC9wPlxuICAgICAgICB7Y29udGVudH1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgYXR0YWNobWVudCA9IHRoaXMucHJvcHMuYXR0YWNobWVudFRvRGVsZXRlO1xuICAgIGlmIChhdHRhY2htZW50ID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBwcm9wcyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMucHJvcHMpO1xuICAgIGRlbGV0ZSBwcm9wcy5vbkF0dGFjaG1lbnREZWxldGVDbGlja2VkQ29uZmlybTtcbiAgICBkZWxldGUgcHJvcHMuYXR0YWNobWVudFRvRGVsZXRlO1xuICAgIGRlbGV0ZSBwcm9wcy5pblVzZTtcbiAgICBkZWxldGUgcHJvcHMuZGVsZXRpbmc7XG4gICAgZGVsZXRlIHByb3BzLmRlbGV0ZUVycm9yO1xuXG4gICAgbGV0IGRlbGV0aW5nSW5kaWNhdG9yID0gJyc7XG4gICAgaWYgKHRoaXMucHJvcHMuZGVsZXRpbmcpIHtcbiAgICAgIGRlbGV0aW5nSW5kaWNhdG9yID0gPGRpdiBjbGFzc05hbWU9XCJzcGVlZGluZy13aGVlbC1zbVwiPjwvZGl2PjtcbiAgICB9XG4gICAgaWYgKHRoaXMucHJvcHMuZGVsZXRlRXJyb3IpIHtcbiAgICAgIGRlbGV0aW5nSW5kaWNhdG9yID0gPHNwYW4+e3RoaXMucHJvcHMuZGVsZXRlRXJyb3J9PC9zcGFuPjtcbiAgICB9XG5cbiAgICBjb25zdCByZW5kZXJBdHRhY2htZW50ID0gdGhpcy5yZW5kZXJCeUZpbGVGb3JtYXQoYXR0YWNobWVudCk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPE1vZGFsIHsuLi5wcm9wc30gY2xhc3NOYW1lPVwiYXR0YWNobWVudC1kZWxldGUtbW9kYWxcIiBic3NpemU9XCJsYXJnZVwiIGFyaWEtbGFiZWxsZWRieT1cImNvbnRhaW5lZC1tb2RhbC10aXRsZS1sZ1wiPlxuICAgICAgICA8TW9kYWxIZWFkZXIgdGFnPVwiaDRcIiB0b2dnbGU9e3RoaXMucHJvcHMudG9nZ2xlfSBjbGFzc05hbWU9XCJiZy1kYW5nZXIgdGV4dC1saWdodFwiPlxuICAgICAgICAgIDxzcGFuIGlkPVwiY29udGFpbmVkLW1vZGFsLXRpdGxlLWxnXCI+RGVsZXRlIGF0dGFjaG1lbnQ/PC9zcGFuPlxuICAgICAgICA8L01vZGFsSGVhZGVyPlxuICAgICAgICA8TW9kYWxCb2R5PlxuICAgICAgICAgIHtyZW5kZXJBdHRhY2htZW50fVxuICAgICAgICA8L01vZGFsQm9keT5cbiAgICAgICAgPE1vZGFsRm9vdGVyPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXItMyBkLWlubGluZS1ibG9ja1wiPlxuICAgICAgICAgICAge2RlbGV0aW5nSW5kaWNhdG9yfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGNvbG9yPVwiZGFuZ2VyXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuX29uRGVsZXRlQ29uZmlybX1cbiAgICAgICAgICAgIGRpc2FibGVkPXt0aGlzLnByb3BzLmRlbGV0aW5nfVxuICAgICAgICAgID5EZWxldGUhXG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgIDwvTW9kYWxGb290ZXI+XG4gICAgICA8L01vZGFsPlxuICAgICk7XG4gIH1cblxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTs7Ozs7O0FBT0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFJQTtBQUNBO0FBQUE7QUFFQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQU1BO0FBQUE7QUFJQTtBQUNBO0FBQ0E7QUFIQTtBQVNBO0FBQ0E7QUFwRkEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/PageAttachment/DeleteAttachmentModal.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageAttachment/PageAttachmentList.jsx":
- /*!************************************************************************!*\
- !*** ./src/client/js/components/PageAttachment/PageAttachmentList.jsx ***!
- \************************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return PageAttachmentList; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _Attachment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Attachment */ \"./src/client/js/components/PageAttachment/Attachment.jsx\");\n\n\n\nclass PageAttachmentList extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n render() {\n if (this.props.attachments <= 0) {\n return null;\n }\n\n const attachmentList = this.props.attachments.map((attachment, idx) => {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Attachment__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n key: `page:attachment:${attachment._id}`,\n attachment: attachment,\n inUse: this.props.inUse[attachment._id] || false,\n onAttachmentDeleteClicked: this.props.onAttachmentDeleteClicked,\n isUserLoggedIn: this.props.isUserLoggedIn\n });\n });\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"ul\", {\n className: \"pl-2\"\n }, attachmentList));\n }\n\n}\nPageAttachmentList.propTypes = {\n attachments: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object),\n inUse: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.objectOf(prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool),\n onAttachmentDeleteClicked: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n isUserLoggedIn: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool\n};\nPageAttachmentList.defaultProps = {\n attachments: [],\n inUse: {}\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUF0dGFjaG1lbnQvUGFnZUF0dGFjaG1lbnRMaXN0LmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9QYWdlQXR0YWNobWVudC9QYWdlQXR0YWNobWVudExpc3QuanN4PzZlMWEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCBBdHRhY2htZW50IGZyb20gJy4vQXR0YWNobWVudCc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBhZ2VBdHRhY2htZW50TGlzdCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG5cbiAgcmVuZGVyKCkge1xuICAgIGlmICh0aGlzLnByb3BzLmF0dGFjaG1lbnRzIDw9IDApIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGF0dGFjaG1lbnRMaXN0ID0gdGhpcy5wcm9wcy5hdHRhY2htZW50cy5tYXAoKGF0dGFjaG1lbnQsIGlkeCkgPT4ge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPEF0dGFjaG1lbnRcbiAgICAgICAgICBrZXk9e2BwYWdlOmF0dGFjaG1lbnQ6JHthdHRhY2htZW50Ll9pZH1gfVxuICAgICAgICAgIGF0dGFjaG1lbnQ9e2F0dGFjaG1lbnR9XG4gICAgICAgICAgaW5Vc2U9e3RoaXMucHJvcHMuaW5Vc2VbYXR0YWNobWVudC5faWRdIHx8IGZhbHNlfVxuICAgICAgICAgIG9uQXR0YWNobWVudERlbGV0ZUNsaWNrZWQ9e3RoaXMucHJvcHMub25BdHRhY2htZW50RGVsZXRlQ2xpY2tlZH1cbiAgICAgICAgICBpc1VzZXJMb2dnZWRJbj17dGhpcy5wcm9wcy5pc1VzZXJMb2dnZWRJbn1cbiAgICAgICAgLz5cbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdj5cbiAgICAgICAgPHVsIGNsYXNzTmFtZT1cInBsLTJcIj5cbiAgICAgICAgICB7YXR0YWNobWVudExpc3R9XG4gICAgICAgIDwvdWw+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG5cbn1cblxuUGFnZUF0dGFjaG1lbnRMaXN0LnByb3BUeXBlcyA9IHtcbiAgYXR0YWNobWVudHM6IFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5vYmplY3QpLFxuICBpblVzZTogUHJvcFR5cGVzLm9iamVjdE9mKFByb3BUeXBlcy5ib29sKSxcbiAgb25BdHRhY2htZW50RGVsZXRlQ2xpY2tlZDogUHJvcFR5cGVzLmZ1bmMsXG4gIGlzVXNlckxvZ2dlZEluOiBQcm9wVHlwZXMuYm9vbCxcbn07XG5QYWdlQXR0YWNobWVudExpc3QuZGVmYXVsdFByb3BzID0ge1xuICBhdHRhY2htZW50czogW10sXG4gIGluVXNlOiB7fSxcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQVFBO0FBRUE7QUFFQTtBQUFBO0FBS0E7QUFDQTtBQTNCQTtBQThCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFNQTtBQUNBO0FBQ0E7QUFGQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/PageAttachment/PageAttachmentList.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageComment/Comment.jsx":
- /*!**********************************************************!*\
- !*** ./src/client/js/components/PageComment/Comment.jsx ***!
- \**********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var date_fns__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! date-fns */ \"./node_modules/date-fns/esm/index.js\");\n/* harmony import */ var reactstrap_es_UncontrolledTooltip__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! reactstrap/es/UncontrolledTooltip */ \"./node_modules/reactstrap/es/UncontrolledTooltip.js\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _FormattedDistanceDate__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../FormattedDistanceDate */ \"./src/client/js/components/FormattedDistanceDate.jsx\");\n/* harmony import */ var _Page_RevisionBody__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../Page/RevisionBody */ \"./src/client/js/components/Page/RevisionBody.jsx\");\n/* harmony import */ var _User_UserPicture__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../User/UserPicture */ \"./src/client/js/components/User/UserPicture.jsx\");\n/* harmony import */ var _User_Username__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../User/Username */ \"./src/client/js/components/User/Username.jsx\");\n/* harmony import */ var _CommentEditor__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./CommentEditor */ \"./src/client/js/components/PageComment/CommentEditor.jsx\");\n/* harmony import */ var _CommentControl__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./CommentControl */ \"./src/client/js/components/PageComment/CommentControl.jsx\");\n/* harmony import */ var _Icons_HistoryIcon__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../Icons/HistoryIcon */ \"./src/client/js/components/Icons/HistoryIcon.jsx\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n *\n * @author Yuki Takei <yuki@weseek.co.jp>\n *\n * @export\n * @class Comment\n * @extends {React.Component}\n */\n\nclass Comment extends react__WEBPACK_IMPORTED_MODULE_0___default.a.PureComponent {\n constructor(props) {\n super(props);\n this.state = {\n html: '',\n isReEdit: false\n };\n this.isCurrentUserIsAuthor = this.isCurrentUserEqualsToAuthor.bind(this);\n this.isCurrentRevision = this.isCurrentRevision.bind(this);\n this.getRootClassName = this.getRootClassName.bind(this);\n this.deleteBtnClickedHandler = this.deleteBtnClickedHandler.bind(this);\n this.renderText = this.renderText.bind(this);\n this.renderHtml = this.renderHtml.bind(this);\n }\n\n initCurrentRenderingContext() {\n this.currentRenderingContext = {\n markdown: this.props.comment.comment\n };\n }\n\n componentDidMount() {\n this.initCurrentRenderingContext();\n this.renderHtml();\n }\n\n componentDidUpdate(prevProps) {\n const {\n comment: prevComment\n } = prevProps;\n const {\n comment\n } = this.props; // render only when props.markdown is updated\n\n if (comment !== prevComment) {\n this.initCurrentRenderingContext();\n this.renderHtml();\n return;\n }\n\n const {\n interceptorManager\n } = this.props.appContainer;\n interceptorManager.process('postRenderCommentHtml', this.currentRenderingContext);\n }\n\n checkPermissionToControlComment() {\n return this.props.appContainer.isAdmin || this.isCurrentUserEqualsToAuthor();\n }\n\n isCurrentUserEqualsToAuthor() {\n const {\n creator\n } = this.props.comment;\n\n if (creator == null) {\n return false;\n }\n\n return creator.username === this.props.appContainer.currentUsername;\n }\n\n isCurrentRevision() {\n return this.props.comment.revision === this.props.pageContainer.state.revisionId;\n }\n\n getRootClassName(comment) {\n let className = 'page-comment flex-column';\n const {\n revisionId,\n revisionCreatedAt\n } = this.props.pageContainer.state;\n\n if (comment.revision === revisionId) {\n className += ' page-comment-current';\n } else if (Date.parse(comment.createdAt) / 1000 > revisionCreatedAt) {\n className += ' page-comment-newer';\n } else {\n className += ' page-comment-older';\n }\n\n if (this.isCurrentUserEqualsToAuthor()) {\n className += ' page-comment-me';\n }\n\n return className;\n }\n\n deleteBtnClickedHandler() {\n this.props.deleteBtnClicked(this.props.comment);\n }\n\n renderText(comment) {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n style: {\n whiteSpace: 'pre-wrap'\n }\n }, comment);\n }\n\n renderRevisionBody() {\n const config = this.props.appContainer.getConfig();\n const isMathJaxEnabled = !!config.env.MATHJAX;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Page_RevisionBody__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n html: this.state.html,\n isMathJaxEnabled: isMathJaxEnabled,\n renderMathJaxOnInit: true,\n additionalClassName: \"comment\"\n });\n }\n\n async renderHtml() {\n const {\n growiRenderer,\n appContainer\n } = this.props;\n const {\n interceptorManager\n } = appContainer;\n const context = this.currentRenderingContext;\n await interceptorManager.process('preRenderComment', context);\n await interceptorManager.process('prePreProcess', context);\n context.markdown = await growiRenderer.preProcess(context.markdown);\n await interceptorManager.process('postPreProcess', context);\n context.parsedHTML = await growiRenderer.process(context.markdown);\n await interceptorManager.process('prePostProcess', context);\n context.parsedHTML = await growiRenderer.postProcess(context.parsedHTML);\n await interceptorManager.process('postPostProcess', context);\n await interceptorManager.process('preRenderCommentHtml', context);\n this.setState({\n html: context.parsedHTML\n });\n await interceptorManager.process('postRenderCommentHtml', context);\n }\n\n render() {\n const {\n t\n } = this.props;\n const comment = this.props.comment;\n const commentId = comment._id;\n const creator = comment.creator;\n const isMarkdown = comment.isMarkdown;\n const createdAt = new Date(comment.createdAt);\n const updatedAt = new Date(comment.updatedAt);\n const isEdited = createdAt < updatedAt;\n const rootClassName = this.getRootClassName(comment);\n const commentBody = isMarkdown ? this.renderRevisionBody() : this.renderText(comment.comment);\n const revHref = `?revision=${comment.revision}`;\n const editedDateId = `editedDate-${comment._id}`;\n const editedDateFormatted = isEdited ? Object(date_fns__WEBPACK_IMPORTED_MODULE_3__[\"format\"])(updatedAt, 'yyyy/MM/dd HH:mm') : null;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, this.state.isReEdit ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_CommentEditor__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n growiRenderer: this.props.growiRenderer,\n currentCommentId: commentId,\n commentBody: comment.comment,\n replyTo: undefined,\n commentCreator: creator === null || creator === void 0 ? void 0 : creator.username,\n onCancelButtonClicked: () => this.setState({\n isReEdit: false\n }),\n onCommentButtonClicked: () => this.setState({\n isReEdit: false\n })\n }) : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n id: commentId,\n className: rootClassName\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"page-comment-writer\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_User_UserPicture__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n user: creator\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"page-comment-main\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"page-comment-creator\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_User_Username__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n user: creator\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"page-comment-body\"\n }, commentBody), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"page-comment-meta\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: `#${commentId}`\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_FormattedDistanceDate__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n id: commentId,\n date: comment.createdAt\n })), isEdited && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n id: editedDateId\n }, \"\\xA0(edited)\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_UncontrolledTooltip__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n placement: \"bottom\",\n fade: false,\n target: editedDateId\n }, editedDateFormatted)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"ml-2\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n id: `page-comment-revision-${commentId}`,\n className: \"page-comment-revision\",\n href: revHref\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icons_HistoryIcon__WEBPACK_IMPORTED_MODULE_14__[\"default\"], null)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_UncontrolledTooltip__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n placement: \"bottom\",\n fade: false,\n target: `page-comment-revision-${commentId}`\n }, t('page_comment.display_the_page_when_posting_this_comment')))), this.checkPermissionToControlComment() && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_CommentControl__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n onClickDeleteBtn: this.deleteBtnClickedHandler,\n onClickEditBtn: () => this.setState({\n isReEdit: true\n })\n }))));\n }\n\n}\n/**\n * Wrapper component for using unstated\n */\n\n\nconst CommentWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_7__[\"withUnstatedContainers\"])(Comment, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _services_PageContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"]]);\nComment.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]).isRequired,\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"]).isRequired,\n comment: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object.isRequired,\n growiRenderer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object.isRequired,\n deleteBtnClicked: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(CommentWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUNvbW1lbnQvQ29tbWVudC5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUNvbW1lbnQvQ29tbWVudC5qc3g/OGY1ZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuaW1wb3J0IHsgd2l0aFRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5pbXBvcnQgeyBmb3JtYXQgfSBmcm9tICdkYXRlLWZucyc7XG5cbmltcG9ydCB7IFVuY29udHJvbGxlZFRvb2x0aXAgfSBmcm9tICdyZWFjdHN0cmFwJztcblxuaW1wb3J0IEFwcENvbnRhaW5lciBmcm9tICcuLi8uLi9zZXJ2aWNlcy9BcHBDb250YWluZXInO1xuaW1wb3J0IFBhZ2VDb250YWluZXIgZnJvbSAnLi4vLi4vc2VydmljZXMvUGFnZUNvbnRhaW5lcic7XG5cbmltcG9ydCB7IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMgfSBmcm9tICcuLi9VbnN0YXRlZFV0aWxzJztcblxuaW1wb3J0IEZvcm1hdHRlZERpc3RhbmNlRGF0ZSBmcm9tICcuLi9Gb3JtYXR0ZWREaXN0YW5jZURhdGUnO1xuaW1wb3J0IFJldmlzaW9uQm9keSBmcm9tICcuLi9QYWdlL1JldmlzaW9uQm9keSc7XG5pbXBvcnQgVXNlclBpY3R1cmUgZnJvbSAnLi4vVXNlci9Vc2VyUGljdHVyZSc7XG5pbXBvcnQgVXNlcm5hbWUgZnJvbSAnLi4vVXNlci9Vc2VybmFtZSc7XG5pbXBvcnQgQ29tbWVudEVkaXRvciBmcm9tICcuL0NvbW1lbnRFZGl0b3InO1xuaW1wb3J0IENvbW1lbnRDb250cm9sIGZyb20gJy4vQ29tbWVudENvbnRyb2wnO1xuaW1wb3J0IEhpc3RvcnlJY29uIGZyb20gJy4uL0ljb25zL0hpc3RvcnlJY29uJztcblxuLyoqXG4gKlxuICogQGF1dGhvciBZdWtpIFRha2VpIDx5dWtpQHdlc2Vlay5jby5qcD5cbiAqXG4gKiBAZXhwb3J0XG4gKiBAY2xhc3MgQ29tbWVudFxuICogQGV4dGVuZHMge1JlYWN0LkNvbXBvbmVudH1cbiAqL1xuY2xhc3MgQ29tbWVudCBleHRlbmRzIFJlYWN0LlB1cmVDb21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGh0bWw6ICcnLFxuICAgICAgaXNSZUVkaXQ6IGZhbHNlLFxuICAgIH07XG5cbiAgICB0aGlzLmlzQ3VycmVudFVzZXJJc0F1dGhvciA9IHRoaXMuaXNDdXJyZW50VXNlckVxdWFsc1RvQXV0aG9yLmJpbmQodGhpcyk7XG4gICAgdGhpcy5pc0N1cnJlbnRSZXZpc2lvbiA9IHRoaXMuaXNDdXJyZW50UmV2aXNpb24uYmluZCh0aGlzKTtcbiAgICB0aGlzLmdldFJvb3RDbGFzc05hbWUgPSB0aGlzLmdldFJvb3RDbGFzc05hbWUuYmluZCh0aGlzKTtcbiAgICB0aGlzLmRlbGV0ZUJ0bkNsaWNrZWRIYW5kbGVyID0gdGhpcy5kZWxldGVCdG5DbGlja2VkSGFuZGxlci5iaW5kKHRoaXMpO1xuICAgIHRoaXMucmVuZGVyVGV4dCA9IHRoaXMucmVuZGVyVGV4dC5iaW5kKHRoaXMpO1xuICAgIHRoaXMucmVuZGVySHRtbCA9IHRoaXMucmVuZGVySHRtbC5iaW5kKHRoaXMpO1xuICB9XG5cblxuICBpbml0Q3VycmVudFJlbmRlcmluZ0NvbnRleHQoKSB7XG4gICAgdGhpcy5jdXJyZW50UmVuZGVyaW5nQ29udGV4dCA9IHtcbiAgICAgIG1hcmtkb3duOiB0aGlzLnByb3BzLmNvbW1lbnQuY29tbWVudCxcbiAgICB9O1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgdGhpcy5pbml0Q3VycmVudFJlbmRlcmluZ0NvbnRleHQoKTtcbiAgICB0aGlzLnJlbmRlckh0bWwoKTtcbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGNvbW1lbnQ6IHByZXZDb21tZW50IH0gPSBwcmV2UHJvcHM7XG4gICAgY29uc3QgeyBjb21tZW50IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgLy8gcmVuZGVyIG9ubHkgd2hlbiBwcm9wcy5tYXJrZG93biBpcyB1cGRhdGVkXG4gICAgaWYgKGNvbW1lbnQgIT09IHByZXZDb21tZW50KSB7XG4gICAgICB0aGlzLmluaXRDdXJyZW50UmVuZGVyaW5nQ29udGV4dCgpO1xuICAgICAgdGhpcy5yZW5kZXJIdG1sKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgeyBpbnRlcmNlcHRvck1hbmFnZXIgfSA9IHRoaXMucHJvcHMuYXBwQ29udGFpbmVyO1xuXG4gICAgaW50ZXJjZXB0b3JNYW5hZ2VyLnByb2Nlc3MoJ3Bvc3RSZW5kZXJDb21tZW50SHRtbCcsIHRoaXMuY3VycmVudFJlbmRlcmluZ0NvbnRleHQpO1xuICB9XG5cbiAgY2hlY2tQZXJtaXNzaW9uVG9Db250cm9sQ29tbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5hcHBDb250YWluZXIuaXNBZG1pbiB8fCB0aGlzLmlzQ3VycmVudFVzZXJFcXVhbHNUb0F1dGhvcigpO1xuICB9XG5cbiAgaXNDdXJyZW50VXNlckVxdWFsc1RvQXV0aG9yKCkge1xuICAgIGNvbnN0IHsgY3JlYXRvciB9ID0gdGhpcy5wcm9wcy5jb21tZW50O1xuICAgIGlmIChjcmVhdG9yID09IG51bGwpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIGNyZWF0b3IudXNlcm5hbWUgPT09IHRoaXMucHJvcHMuYXBwQ29udGFpbmVyLmN1cnJlbnRVc2VybmFtZTtcbiAgfVxuXG4gIGlzQ3VycmVudFJldmlzaW9uKCkge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmNvbW1lbnQucmV2aXNpb24gPT09IHRoaXMucHJvcHMucGFnZUNvbnRhaW5lci5zdGF0ZS5yZXZpc2lvbklkO1xuICB9XG5cbiAgZ2V0Um9vdENsYXNzTmFtZShjb21tZW50KSB7XG4gICAgbGV0IGNsYXNzTmFtZSA9ICdwYWdlLWNvbW1lbnQgZmxleC1jb2x1bW4nO1xuXG4gICAgY29uc3QgeyByZXZpc2lvbklkLCByZXZpc2lvbkNyZWF0ZWRBdCB9ID0gdGhpcy5wcm9wcy5wYWdlQ29udGFpbmVyLnN0YXRlO1xuICAgIGlmIChjb21tZW50LnJldmlzaW9uID09PSByZXZpc2lvbklkKSB7XG4gICAgICBjbGFzc05hbWUgKz0gJyBwYWdlLWNvbW1lbnQtY3VycmVudCc7XG4gICAgfVxuICAgIGVsc2UgaWYgKERhdGUucGFyc2UoY29tbWVudC5jcmVhdGVkQXQpIC8gMTAwMCA+IHJldmlzaW9uQ3JlYXRlZEF0KSB7XG4gICAgICBjbGFzc05hbWUgKz0gJyBwYWdlLWNvbW1lbnQtbmV3ZXInO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGNsYXNzTmFtZSArPSAnIHBhZ2UtY29tbWVudC1vbGRlcic7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNDdXJyZW50VXNlckVxdWFsc1RvQXV0aG9yKCkpIHtcbiAgICAgIGNsYXNzTmFtZSArPSAnIHBhZ2UtY29tbWVudC1tZSc7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNsYXNzTmFtZTtcbiAgfVxuXG4gIGRlbGV0ZUJ0bkNsaWNrZWRIYW5kbGVyKCkge1xuICAgIHRoaXMucHJvcHMuZGVsZXRlQnRuQ2xpY2tlZCh0aGlzLnByb3BzLmNvbW1lbnQpO1xuICB9XG5cbiAgcmVuZGVyVGV4dChjb21tZW50KSB7XG4gICAgcmV0dXJuIDxzcGFuIHN0eWxlPXt7IHdoaXRlU3BhY2U6ICdwcmUtd3JhcCcgfX0+e2NvbW1lbnR9PC9zcGFuPjtcbiAgfVxuXG4gIHJlbmRlclJldmlzaW9uQm9keSgpIHtcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLnByb3BzLmFwcENvbnRhaW5lci5nZXRDb25maWcoKTtcbiAgICBjb25zdCBpc01hdGhKYXhFbmFibGVkID0gISFjb25maWcuZW52Lk1BVEhKQVg7XG4gICAgcmV0dXJuIChcbiAgICAgIDxSZXZpc2lvbkJvZHlcbiAgICAgICAgaHRtbD17dGhpcy5zdGF0ZS5odG1sfVxuICAgICAgICBpc01hdGhKYXhFbmFibGVkPXtpc01hdGhKYXhFbmFibGVkfVxuICAgICAgICByZW5kZXJNYXRoSmF4T25Jbml0XG4gICAgICAgIGFkZGl0aW9uYWxDbGFzc05hbWU9XCJjb21tZW50XCJcbiAgICAgIC8+XG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIHJlbmRlckh0bWwoKSB7XG5cbiAgICBjb25zdCB7IGdyb3dpUmVuZGVyZXIsIGFwcENvbnRhaW5lciB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGludGVyY2VwdG9yTWFuYWdlciB9ID0gYXBwQ29udGFpbmVyO1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmN1cnJlbnRSZW5kZXJpbmdDb250ZXh0O1xuXG4gICAgYXdhaXQgaW50ZXJjZXB0b3JNYW5hZ2VyLnByb2Nlc3MoJ3ByZVJlbmRlckNvbW1lbnQnLCBjb250ZXh0KTtcbiAgICBhd2FpdCBpbnRlcmNlcHRvck1hbmFnZXIucHJvY2VzcygncHJlUHJlUHJvY2VzcycsIGNvbnRleHQpO1xuICAgIGNvbnRleHQubWFya2Rvd24gPSBhd2FpdCBncm93aVJlbmRlcmVyLnByZVByb2Nlc3MoY29udGV4dC5tYXJrZG93bik7XG4gICAgYXdhaXQgaW50ZXJjZXB0b3JNYW5hZ2VyLnByb2Nlc3MoJ3Bvc3RQcmVQcm9jZXNzJywgY29udGV4dCk7XG4gICAgY29udGV4dC5wYXJzZWRIVE1MID0gYXdhaXQgZ3Jvd2lSZW5kZXJlci5wcm9jZXNzKGNvbnRleHQubWFya2Rvd24pO1xuICAgIGF3YWl0IGludGVyY2VwdG9yTWFuYWdlci5wcm9jZXNzKCdwcmVQb3N0UHJvY2VzcycsIGNvbnRleHQpO1xuICAgIGNvbnRleHQucGFyc2VkSFRNTCA9IGF3YWl0IGdyb3dpUmVuZGVyZXIucG9zdFByb2Nlc3MoY29udGV4dC5wYXJzZWRIVE1MKTtcbiAgICBhd2FpdCBpbnRlcmNlcHRvck1hbmFnZXIucHJvY2VzcygncG9zdFBvc3RQcm9jZXNzJywgY29udGV4dCk7XG4gICAgYXdhaXQgaW50ZXJjZXB0b3JNYW5hZ2VyLnByb2Nlc3MoJ3ByZVJlbmRlckNvbW1lbnRIdG1sJywgY29udGV4dCk7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IGh0bWw6IGNvbnRleHQucGFyc2VkSFRNTCB9KTtcbiAgICBhd2FpdCBpbnRlcmNlcHRvck1hbmFnZXIucHJvY2VzcygncG9zdFJlbmRlckNvbW1lbnRIdG1sJywgY29udGV4dCk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGNvbW1lbnQgPSB0aGlzLnByb3BzLmNvbW1lbnQ7XG4gICAgY29uc3QgY29tbWVudElkID0gY29tbWVudC5faWQ7XG4gICAgY29uc3QgY3JlYXRvciA9IGNvbW1lbnQuY3JlYXRvcjtcbiAgICBjb25zdCBpc01hcmtkb3duID0gY29tbWVudC5pc01hcmtkb3duO1xuICAgIGNvbnN0IGNyZWF0ZWRBdCA9IG5ldyBEYXRlKGNvbW1lbnQuY3JlYXRlZEF0KTtcbiAgICBjb25zdCB1cGRhdGVkQXQgPSBuZXcgRGF0ZShjb21tZW50LnVwZGF0ZWRBdCk7XG4gICAgY29uc3QgaXNFZGl0ZWQgPSBjcmVhdGVkQXQgPCB1cGRhdGVkQXQ7XG5cbiAgICBjb25zdCByb290Q2xhc3NOYW1lID0gdGhpcy5nZXRSb290Q2xhc3NOYW1lKGNvbW1lbnQpO1xuICAgIGNvbnN0IGNvbW1lbnRCb2R5ID0gaXNNYXJrZG93biA/IHRoaXMucmVuZGVyUmV2aXNpb25Cb2R5KCkgOiB0aGlzLnJlbmRlclRleHQoY29tbWVudC5jb21tZW50KTtcbiAgICBjb25zdCByZXZIcmVmID0gYD9yZXZpc2lvbj0ke2NvbW1lbnQucmV2aXNpb259YDtcblxuICAgIGNvbnN0IGVkaXRlZERhdGVJZCA9IGBlZGl0ZWREYXRlLSR7Y29tbWVudC5faWR9YDtcbiAgICBjb25zdCBlZGl0ZWREYXRlRm9ybWF0dGVkID0gaXNFZGl0ZWRcbiAgICAgID8gZm9ybWF0KHVwZGF0ZWRBdCwgJ3l5eXkvTU0vZGQgSEg6bW0nKVxuICAgICAgOiBudWxsO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAge3RoaXMuc3RhdGUuaXNSZUVkaXQgPyAoXG4gICAgICAgICAgPENvbW1lbnRFZGl0b3JcbiAgICAgICAgICAgIGdyb3dpUmVuZGVyZXI9e3RoaXMucHJvcHMuZ3Jvd2lSZW5kZXJlcn1cbiAgICAgICAgICAgIGN1cnJlbnRDb21tZW50SWQ9e2NvbW1lbnRJZH1cbiAgICAgICAgICAgIGNvbW1lbnRCb2R5PXtjb21tZW50LmNvbW1lbnR9XG4gICAgICAgICAgICByZXBseVRvPXt1bmRlZmluZWR9XG4gICAgICAgICAgICBjb21tZW50Q3JlYXRvcj17Y3JlYXRvcj8udXNlcm5hbWV9XG4gICAgICAgICAgICBvbkNhbmNlbEJ1dHRvbkNsaWNrZWQ9eygpID0+IHRoaXMuc2V0U3RhdGUoeyBpc1JlRWRpdDogZmFsc2UgfSl9XG4gICAgICAgICAgICBvbkNvbW1lbnRCdXR0b25DbGlja2VkPXsoKSA9PiB0aGlzLnNldFN0YXRlKHsgaXNSZUVkaXQ6IGZhbHNlIH0pfVxuICAgICAgICAgIC8+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPGRpdiBpZD17Y29tbWVudElkfSBjbGFzc05hbWU9e3Jvb3RDbGFzc05hbWV9PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwYWdlLWNvbW1lbnQtd3JpdGVyXCI+XG4gICAgICAgICAgICAgIDxVc2VyUGljdHVyZSB1c2VyPXtjcmVhdG9yfSAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInBhZ2UtY29tbWVudC1tYWluXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicGFnZS1jb21tZW50LWNyZWF0b3JcIj5cbiAgICAgICAgICAgICAgICA8VXNlcm5hbWUgdXNlcj17Y3JlYXRvcn0gLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicGFnZS1jb21tZW50LWJvZHlcIj57Y29tbWVudEJvZHl9PC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicGFnZS1jb21tZW50LW1ldGFcIj5cbiAgICAgICAgICAgICAgICA8YSBocmVmPXtgIyR7Y29tbWVudElkfWB9PlxuICAgICAgICAgICAgICAgICAgPEZvcm1hdHRlZERpc3RhbmNlRGF0ZSBpZD17Y29tbWVudElkfSBkYXRlPXtjb21tZW50LmNyZWF0ZWRBdH0gLz5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgeyBpc0VkaXRlZCAmJiAoXG4gICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD17ZWRpdGVkRGF0ZUlkfT4mbmJzcDsoZWRpdGVkKTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPFVuY29udHJvbGxlZFRvb2x0aXAgcGxhY2VtZW50PVwiYm90dG9tXCIgZmFkZT17ZmFsc2V9IHRhcmdldD17ZWRpdGVkRGF0ZUlkfT57ZWRpdGVkRGF0ZUZvcm1hdHRlZH08L1VuY29udHJvbGxlZFRvb2x0aXA+XG4gICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIm1sLTJcIj5cbiAgICAgICAgICAgICAgICAgIDxhIGlkPXtgcGFnZS1jb21tZW50LXJldmlzaW9uLSR7Y29tbWVudElkfWB9IGNsYXNzTmFtZT1cInBhZ2UtY29tbWVudC1yZXZpc2lvblwiIGhyZWY9e3JldkhyZWZ9PlxuICAgICAgICAgICAgICAgICAgICA8SGlzdG9yeUljb24gLz5cbiAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgIDxVbmNvbnRyb2xsZWRUb29sdGlwIHBsYWNlbWVudD1cImJvdHRvbVwiIGZhZGU9e2ZhbHNlfSB0YXJnZXQ9e2BwYWdlLWNvbW1lbnQtcmV2aXNpb24tJHtjb21tZW50SWR9YH0+XG4gICAgICAgICAgICAgICAgICAgIHt0KCdwYWdlX2NvbW1lbnQuZGlzcGxheV90aGVfcGFnZV93aGVuX3Bvc3RpbmdfdGhpc19jb21tZW50Jyl9XG4gICAgICAgICAgICAgICAgICA8L1VuY29udHJvbGxlZFRvb2x0aXA+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAge3RoaXMuY2hlY2tQZXJtaXNzaW9uVG9Db250cm9sQ29tbWVudCgpICYmIChcbiAgICAgICAgICAgICAgICA8Q29tbWVudENvbnRyb2xcbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2tEZWxldGVCdG49e3RoaXMuZGVsZXRlQnRuQ2xpY2tlZEhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgICBvbkNsaWNrRWRpdEJ0bj17KCkgPT4gdGhpcy5zZXRTdGF0ZSh7IGlzUmVFZGl0OiB0cnVlIH0pfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICkgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgKTtcbiAgfVxuXG59XG5cbi8qKlxuICogV3JhcHBlciBjb21wb25lbnQgZm9yIHVzaW5nIHVuc3RhdGVkXG4gKi9cbmNvbnN0IENvbW1lbnRXcmFwcGVyID0gd2l0aFVuc3RhdGVkQ29udGFpbmVycyhDb21tZW50LCBbQXBwQ29udGFpbmVyLCBQYWdlQ29udGFpbmVyXSk7XG5cbkNvbW1lbnQucHJvcFR5cGVzID0ge1xuICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLCAvLyBpMThuZXh0XG4gIGFwcENvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoQXBwQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuICBwYWdlQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihQYWdlQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuXG4gIGNvbW1lbnQ6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgZ3Jvd2lSZW5kZXJlcjogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICBkZWxldGVCdG5DbGlja2VkOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFRyYW5zbGF0aW9uKCkoQ29tbWVudFdyYXBwZXIpO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTs7QUFJQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOzs7Ozs7Ozs7QUFRQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFGQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFEQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU9BO0FBQ0E7QUFDQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUlBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQVBBO0FBVUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQU9BO0FBQ0E7QUFBQTtBQUFBO0FBRkE7QUFXQTtBQUNBO0FBcE1BO0FBdU1BOzs7OztBQUdBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQVBBO0FBVUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/PageComment/Comment.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageComment/CommentControl.jsx":
- /*!*****************************************************************!*\
- !*** ./src/client/js/components/PageComment/CommentControl.jsx ***!
- \*****************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n\n\n\nconst CommentControl = props => {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"page-comment-control\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-link p-2\",\n onClick: props.onClickEditBtn\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"ti-pencil\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-link p-2 mr-2\",\n onClick: props.onClickDeleteBtn\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"ti-close\"\n })));\n};\n\nCommentControl.propTypes = {\n onClickEditBtn: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n onClickDeleteBtn: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (CommentControl);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUNvbW1lbnQvQ29tbWVudENvbnRyb2wuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1BhZ2VDb21tZW50L0NvbW1lbnRDb250cm9sLmpzeD8zMjMyIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5cbmNvbnN0IENvbW1lbnRDb250cm9sID0gKHByb3BzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJwYWdlLWNvbW1lbnQtY29udHJvbFwiPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3NOYW1lPVwiYnRuIGJ0bi1saW5rIHAtMlwiIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2tFZGl0QnRufT5cbiAgICAgICAgPGkgY2xhc3NOYW1lPVwidGktcGVuY2lsXCI+PC9pPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzc05hbWU9XCJidG4gYnRuLWxpbmsgcC0yIG1yLTJcIiBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrRGVsZXRlQnRufT5cbiAgICAgICAgPGkgY2xhc3NOYW1lPVwidGktY2xvc2VcIj48L2k+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkNvbW1lbnRDb250cm9sLnByb3BUeXBlcyA9IHtcblxuICBvbkNsaWNrRWRpdEJ0bjogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgb25DbGlja0RlbGV0ZUJ0bjogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENvbW1lbnRDb250cm9sO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFJQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBSEE7QUFNQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/PageComment/CommentControl.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageComment/CommentEditor.jsx":
- /*!****************************************************************!*\
- !*** ./src/client/js/components/PageComment/CommentEditor.jsx ***!
- \****************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! reactstrap/es/Button */ \"./node_modules/reactstrap/es/Button.js\");\n/* harmony import */ var reactstrap_es_TabContent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! reactstrap/es/TabContent */ \"./node_modules/reactstrap/es/TabContent.js\");\n/* harmony import */ var reactstrap_es_TabPane__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! reactstrap/es/TabPane */ \"./node_modules/reactstrap/es/TabPane.js\");\n/* harmony import */ var toastr__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! toastr */ \"./node_modules/toastr/toastr.js\");\n/* harmony import */ var toastr__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(toastr__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n/* harmony import */ var _services_CommentContainer__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../services/CommentContainer */ \"./src/client/js/services/CommentContainer.js\");\n/* harmony import */ var _services_EditorContainer__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../services/EditorContainer */ \"./src/client/js/services/EditorContainer.js\");\n/* harmony import */ var _util_GrowiRenderer__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../util/GrowiRenderer */ \"./src/client/js/util/GrowiRenderer.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _User_UserPicture__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../User/UserPicture */ \"./src/client/js/components/User/UserPicture.jsx\");\n/* harmony import */ var _PageEditor_Editor__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../PageEditor/Editor */ \"./src/client/js/components/PageEditor/Editor.jsx\");\n/* harmony import */ var _SlackNotification__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../SlackNotification */ \"./src/client/js/components/SlackNotification.jsx\");\n/* harmony import */ var _CommentPreview__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./CommentPreview */ \"./src/client/js/components/PageComment/CommentPreview.jsx\");\n/* harmony import */ var _NotAvailableForGuest__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../NotAvailableForGuest */ \"./src/client/js/components/NotAvailableForGuest.jsx\");\n/* harmony import */ var _CustomNavigation_CustomNav__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../CustomNavigation/CustomNav */ \"./src/client/js/components/CustomNavigation/CustomNav.jsx\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst navTabMapping = {\n comment_editor: {\n Icon: () => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-settings\"\n }),\n i18n: 'Write',\n index: 0\n },\n comment_preview: {\n Icon: () => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-settings\"\n }),\n i18n: 'Preview',\n index: 1\n }\n};\n/**\n *\n * @author Yuki Takei <yuki@weseek.co.jp>\n *\n * @extends {React.Component}\n */\n\nclass CommentEditor extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n const config = this.props.appContainer.getConfig();\n const isUploadable = config.upload.image || config.upload.file;\n const isUploadableFile = config.upload.file;\n this.state = {\n isReadyToUse: !this.props.isForNewComment,\n comment: this.props.commentBody || '',\n isMarkdown: true,\n html: '',\n activeTab: 'comment_editor',\n isUploadable,\n isUploadableFile,\n errorMessage: undefined,\n hasSlackConfig: config.hasSlackConfig\n };\n this.updateState = this.updateState.bind(this);\n this.updateStateCheckbox = this.updateStateCheckbox.bind(this);\n this.cancelButtonClickedHandler = this.cancelButtonClickedHandler.bind(this);\n this.commentButtonClickedHandler = this.commentButtonClickedHandler.bind(this);\n this.ctrlEnterHandler = this.ctrlEnterHandler.bind(this);\n this.postComment = this.postComment.bind(this);\n this.uploadHandler = this.uploadHandler.bind(this);\n this.renderHtml = this.renderHtml.bind(this);\n this.handleSelect = this.handleSelect.bind(this);\n this.onSlackEnabledFlagChange = this.onSlackEnabledFlagChange.bind(this);\n this.onSlackChannelsChange = this.onSlackChannelsChange.bind(this);\n }\n\n updateState(value) {\n this.setState({\n comment: value\n });\n }\n\n updateStateCheckbox(event) {\n const value = event.target.checked;\n this.setState({\n isMarkdown: value\n }); // changeMode\n\n this.editor.setGfmMode(value);\n }\n\n handleSelect(activeTab) {\n this.setState({\n activeTab\n });\n this.renderHtml(this.state.comment);\n }\n\n onSlackEnabledFlagChange(isSlackEnabled) {\n this.props.commentContainer.setState({\n isSlackEnabled\n });\n }\n\n onSlackChannelsChange(slackChannels) {\n this.props.commentContainer.setState({\n slackChannels\n });\n }\n\n initializeEditor() {\n this.setState({\n comment: '',\n isMarkdown: true,\n html: '',\n activeTab: 'comment_editor',\n errorMessage: undefined\n }); // reset value\n\n this.editor.setValue('');\n }\n\n cancelButtonClickedHandler() {\n const {\n isForNewComment,\n onCancelButtonClicked\n } = this.props; // change state to not ready\n // when this editor is for the new comment mode\n\n if (isForNewComment) {\n this.setState({\n isReadyToUse: false\n });\n }\n\n if (onCancelButtonClicked != null) {\n const {\n replyTo,\n currentCommentId\n } = this.props;\n onCancelButtonClicked(replyTo || currentCommentId);\n }\n }\n\n commentButtonClickedHandler() {\n this.postComment();\n }\n\n ctrlEnterHandler(event) {\n if (event != null) {\n event.preventDefault();\n }\n\n this.postComment();\n }\n /**\n * Post comment with CommentContainer and update state\n */\n\n\n async postComment() {\n const {\n commentContainer,\n replyTo,\n currentCommentId,\n commentCreator,\n onCommentButtonClicked\n } = this.props;\n\n try {\n if (currentCommentId != null) {\n await commentContainer.putComment(this.state.comment, this.state.isMarkdown, currentCommentId, commentCreator);\n } else {\n await this.props.commentContainer.postComment(this.state.comment, this.state.isMarkdown, replyTo, commentContainer.state.isSlackEnabled, commentContainer.state.slackChannels);\n }\n\n this.initializeEditor();\n\n if (onCommentButtonClicked != null) {\n onCommentButtonClicked(replyTo || currentCommentId);\n }\n } catch (err) {\n const errorMessage = err.message || 'An unknown error occured when posting comment';\n this.setState({\n errorMessage\n });\n }\n }\n\n uploadHandler(file) {\n this.props.commentContainer.uploadAttachment(file).then(res => {\n const attachment = res.attachment;\n const fileName = attachment.originalName;\n let insertText = `[${fileName}](${attachment.filePathProxied})`; // when image\n\n if (attachment.fileFormat.startsWith('image/')) {\n // modify to \"\" syntax\n insertText = `!${insertText}`;\n }\n\n this.editor.insertText(insertText);\n }).catch(this.apiErrorHandler) // finally\n .then(() => {\n this.editor.terminateUploadingState();\n });\n }\n\n apiErrorHandler(error) {\n toastr__WEBPACK_IMPORTED_MODULE_5__[\"error\"](error.message, 'Error occured', {\n closeButton: true,\n progressBar: true,\n newestOnTop: false,\n showDuration: '100',\n hideDuration: '100',\n timeOut: '3000'\n });\n }\n\n getCommentHtml() {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_CommentPreview__WEBPACK_IMPORTED_MODULE_15__[\"default\"], {\n inputRef: el => {\n this.previewElement = el;\n },\n html: this.state.html\n });\n }\n\n renderHtml(markdown) {\n const context = {\n markdown\n };\n const {\n growiRenderer\n } = this.props;\n const interceptorManager = this.props.appContainer.interceptorManager;\n interceptorManager.process('preRenderCommnetPreview', context).then(() => {\n return interceptorManager.process('prePreProcess', context);\n }).then(() => {\n context.markdown = growiRenderer.preProcess(context.markdown);\n }).then(() => {\n return interceptorManager.process('postPreProcess', context);\n }).then(() => {\n const parsedHTML = growiRenderer.process(context.markdown);\n context.parsedHTML = parsedHTML;\n }).then(() => {\n return interceptorManager.process('prePostProcess', context);\n }).then(() => {\n context.parsedHTML = growiRenderer.postProcess(context.parsedHTML);\n }).then(() => {\n return interceptorManager.process('postPostProcess', context);\n }).then(() => {\n return interceptorManager.process('preRenderCommentPreviewHtml', context);\n }).then(() => {\n this.setState({\n html: context.parsedHTML\n });\n }) // process interceptors for post rendering\n .then(() => {\n return interceptorManager.process('postRenderCommentPreviewHtml', context);\n });\n }\n\n generateInnerHtml(html) {\n return {\n __html: html\n };\n }\n\n renderBeforeReady() {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"text-center\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_NotAvailableForGuest__WEBPACK_IMPORTED_MODULE_16__[\"default\"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-lg btn-link\",\n onClick: () => this.setState({\n isReadyToUse: true\n })\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-bubble\"\n }), \" Add Comment\")));\n }\n\n renderReady() {\n const {\n appContainer,\n commentContainer\n } = this.props;\n const {\n activeTab\n } = this.state;\n const commentPreview = this.state.isMarkdown ? this.getCommentHtml() : null;\n const emojiStrategy = appContainer.getEmojiStrategy();\n const errorMessage = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"text-danger text-right mr-2\"\n }, this.state.errorMessage);\n const cancelButton = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n outline: true,\n color: \"danger\",\n size: \"xs\",\n className: \"btn btn-outline-danger rounded-pill\",\n onClick: this.cancelButtonClickedHandler\n }, \"Cancel\");\n const submitButton = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n outline: true,\n color: \"primary\",\n className: \"btn btn-outline-primary rounded-pill\",\n onClick: this.commentButtonClickedHandler\n }, \"Comment\");\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"comment-write\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_CustomNavigation_CustomNav__WEBPACK_IMPORTED_MODULE_17__[\"CustomNavTab\"], {\n activeTab: activeTab,\n navTabMapping: navTabMapping,\n onNavSelected: this.handleSelect,\n hideBorderBottom: true\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_TabContent__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n activeTab: activeTab\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_TabPane__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n tabId: \"comment_editor\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageEditor_Editor__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n ref: c => {\n this.editor = c;\n },\n value: this.state.comment,\n isGfmMode: this.state.isMarkdown,\n lineNumbers: false,\n isMobile: appContainer.isMobile,\n isUploadable: this.state.isUploadable,\n isUploadableFile: this.state.isUploadableFile,\n emojiStrategy: emojiStrategy,\n onChange: this.updateState,\n onUpload: this.uploadHandler,\n onCtrlEnter: this.ctrlEnterHandler\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_TabPane__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n tabId: \"comment_preview\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"comment-form-preview\"\n }, commentPreview)))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"comment-submit\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"d-flex\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"mr-2\"\n }, activeTab === 'comment_editor' && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"custom-control custom-checkbox\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"checkbox\",\n className: \"custom-control-input\",\n id: \"comment-form-is-markdown\",\n name: \"isMarkdown\",\n checked: this.state.isMarkdown,\n value: \"1\",\n onChange: this.updateStateCheckbox\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"ml-2 custom-control-label\",\n htmlFor: \"comment-form-is-markdown\"\n }, \"Markdown\"))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"flex-grow-1\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"d-none d-sm-inline\"\n }, this.state.errorMessage && errorMessage), this.state.hasSlackConfig && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"form-inline align-self-center mr-md-2\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SlackNotification__WEBPACK_IMPORTED_MODULE_14__[\"default\"], {\n isSlackEnabled: commentContainer.state.isSlackEnabled,\n slackChannels: commentContainer.state.slackChannels,\n onEnabledFlagChange: this.onSlackEnabledFlagChange,\n onChannelChange: this.onSlackChannelsChange,\n id: \"idForComment\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"d-none d-sm-block\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"mr-2\"\n }, cancelButton), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", null, submitButton))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"d-block d-sm-none mt-2\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"d-flex justify-content-end\"\n }, this.state.errorMessage && errorMessage, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"mr-2\"\n }, cancelButton), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", null, submitButton)))));\n }\n\n render() {\n const {\n appContainer\n } = this.props;\n const {\n isReadyToUse\n } = this.state;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"form page-comment-form\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"comment-form\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"comment-form-user\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_User_UserPicture__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n user: appContainer.currentUser,\n noLink: true,\n noTooltip: true\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"comment-form-main\"\n }, !isReadyToUse ? this.renderBeforeReady() : this.renderReady())));\n }\n\n}\n\nCommentEditor.propTypes = {\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"]).isRequired,\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_7__[\"default\"]).isRequired,\n editorContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_EditorContainer__WEBPACK_IMPORTED_MODULE_9__[\"default\"]).isRequired,\n commentContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_CommentContainer__WEBPACK_IMPORTED_MODULE_8__[\"default\"]).isRequired,\n growiRenderer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_util_GrowiRenderer__WEBPACK_IMPORTED_MODULE_10__[\"default\"]).isRequired,\n isForNewComment: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n replyTo: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n currentCommentId: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n commentBody: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n commentCreator: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n onCancelButtonClicked: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n onCommentButtonClicked: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func\n};\n/**\n * Wrapper component for using unstated\n */\n\nconst CommentEditorWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_11__[\"withUnstatedContainers\"])(CommentEditor, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"], _services_PageContainer__WEBPACK_IMPORTED_MODULE_7__[\"default\"], _services_EditorContainer__WEBPACK_IMPORTED_MODULE_9__[\"default\"], _services_CommentContainer__WEBPACK_IMPORTED_MODULE_8__[\"default\"]]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (CommentEditorWrapper);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUNvbW1lbnQvQ29tbWVudEVkaXRvci5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUNvbW1lbnQvQ29tbWVudEVkaXRvci5qc3g/YWExMCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuaW1wb3J0IHtcbiAgQnV0dG9uLFxuICBUYWJDb250ZW50LCBUYWJQYW5lLFxufSBmcm9tICdyZWFjdHN0cmFwJztcblxuaW1wb3J0ICogYXMgdG9hc3RyIGZyb20gJ3RvYXN0cic7XG5cbmltcG9ydCBBcHBDb250YWluZXIgZnJvbSAnLi4vLi4vc2VydmljZXMvQXBwQ29udGFpbmVyJztcbmltcG9ydCBQYWdlQ29udGFpbmVyIGZyb20gJy4uLy4uL3NlcnZpY2VzL1BhZ2VDb250YWluZXInO1xuaW1wb3J0IENvbW1lbnRDb250YWluZXIgZnJvbSAnLi4vLi4vc2VydmljZXMvQ29tbWVudENvbnRhaW5lcic7XG5pbXBvcnQgRWRpdG9yQ29udGFpbmVyIGZyb20gJy4uLy4uL3NlcnZpY2VzL0VkaXRvckNvbnRhaW5lcic7XG5pbXBvcnQgR3Jvd2lSZW5kZXJlciBmcm9tICcuLi8uLi91dGlsL0dyb3dpUmVuZGVyZXInO1xuXG5pbXBvcnQgeyB3aXRoVW5zdGF0ZWRDb250YWluZXJzIH0gZnJvbSAnLi4vVW5zdGF0ZWRVdGlscyc7XG5pbXBvcnQgVXNlclBpY3R1cmUgZnJvbSAnLi4vVXNlci9Vc2VyUGljdHVyZSc7XG5pbXBvcnQgRWRpdG9yIGZyb20gJy4uL1BhZ2VFZGl0b3IvRWRpdG9yJztcbmltcG9ydCBTbGFja05vdGlmaWNhdGlvbiBmcm9tICcuLi9TbGFja05vdGlmaWNhdGlvbic7XG5cbmltcG9ydCBDb21tZW50UHJldmlldyBmcm9tICcuL0NvbW1lbnRQcmV2aWV3JztcbmltcG9ydCBOb3RBdmFpbGFibGVGb3JHdWVzdCBmcm9tICcuLi9Ob3RBdmFpbGFibGVGb3JHdWVzdCc7XG5pbXBvcnQgeyBDdXN0b21OYXZUYWIgfSBmcm9tICcuLi9DdXN0b21OYXZpZ2F0aW9uL0N1c3RvbU5hdic7XG5cblxuY29uc3QgbmF2VGFiTWFwcGluZyA9IHtcbiAgY29tbWVudF9lZGl0b3I6IHtcbiAgICBJY29uOiAoKSA9PiA8aSBjbGFzc05hbWU9XCJpY29uLXNldHRpbmdzXCIgLz4sXG4gICAgaTE4bjogJ1dyaXRlJyxcbiAgICBpbmRleDogMCxcbiAgfSxcbiAgY29tbWVudF9wcmV2aWV3OiB7XG4gICAgSWNvbjogKCkgPT4gPGkgY2xhc3NOYW1lPVwiaWNvbi1zZXR0aW5nc1wiIC8+LFxuICAgIGkxOG46ICdQcmV2aWV3JyxcbiAgICBpbmRleDogMSxcbiAgfSxcbn07XG5cbi8qKlxuICpcbiAqIEBhdXRob3IgWXVraSBUYWtlaSA8eXVraUB3ZXNlZWsuY28uanA+XG4gKlxuICogQGV4dGVuZHMge1JlYWN0LkNvbXBvbmVudH1cbiAqL1xuXG5jbGFzcyBDb21tZW50RWRpdG9yIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcblxuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMucHJvcHMuYXBwQ29udGFpbmVyLmdldENvbmZpZygpO1xuICAgIGNvbnN0IGlzVXBsb2FkYWJsZSA9IGNvbmZpZy51cGxvYWQuaW1hZ2UgfHwgY29uZmlnLnVwbG9hZC5maWxlO1xuICAgIGNvbnN0IGlzVXBsb2FkYWJsZUZpbGUgPSBjb25maWcudXBsb2FkLmZpbGU7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgaXNSZWFkeVRvVXNlOiAhdGhpcy5wcm9wcy5pc0Zvck5ld0NvbW1lbnQsXG4gICAgICBjb21tZW50OiB0aGlzLnByb3BzLmNvbW1lbnRCb2R5IHx8ICcnLFxuICAgICAgaXNNYXJrZG93bjogdHJ1ZSxcbiAgICAgIGh0bWw6ICcnLFxuICAgICAgYWN0aXZlVGFiOiAnY29tbWVudF9lZGl0b3InLFxuICAgICAgaXNVcGxvYWRhYmxlLFxuICAgICAgaXNVcGxvYWRhYmxlRmlsZSxcbiAgICAgIGVycm9yTWVzc2FnZTogdW5kZWZpbmVkLFxuICAgICAgaGFzU2xhY2tDb25maWc6IGNvbmZpZy5oYXNTbGFja0NvbmZpZyxcbiAgICB9O1xuXG4gICAgdGhpcy51cGRhdGVTdGF0ZSA9IHRoaXMudXBkYXRlU3RhdGUuYmluZCh0aGlzKTtcbiAgICB0aGlzLnVwZGF0ZVN0YXRlQ2hlY2tib3ggPSB0aGlzLnVwZGF0ZVN0YXRlQ2hlY2tib3guYmluZCh0aGlzKTtcblxuICAgIHRoaXMuY2FuY2VsQnV0dG9uQ2xpY2tlZEhhbmRsZXIgPSB0aGlzLmNhbmNlbEJ1dHRvbkNsaWNrZWRIYW5kbGVyLmJpbmQodGhpcyk7XG4gICAgdGhpcy5jb21tZW50QnV0dG9uQ2xpY2tlZEhhbmRsZXIgPSB0aGlzLmNvbW1lbnRCdXR0b25DbGlja2VkSGFuZGxlci5iaW5kKHRoaXMpO1xuICAgIHRoaXMuY3RybEVudGVySGFuZGxlciA9IHRoaXMuY3RybEVudGVySGFuZGxlci5iaW5kKHRoaXMpO1xuICAgIHRoaXMucG9zdENvbW1lbnQgPSB0aGlzLnBvc3RDb21tZW50LmJpbmQodGhpcyk7XG4gICAgdGhpcy51cGxvYWRIYW5kbGVyID0gdGhpcy51cGxvYWRIYW5kbGVyLmJpbmQodGhpcyk7XG5cbiAgICB0aGlzLnJlbmRlckh0bWwgPSB0aGlzLnJlbmRlckh0bWwuYmluZCh0aGlzKTtcbiAgICB0aGlzLmhhbmRsZVNlbGVjdCA9IHRoaXMuaGFuZGxlU2VsZWN0LmJpbmQodGhpcyk7XG4gICAgdGhpcy5vblNsYWNrRW5hYmxlZEZsYWdDaGFuZ2UgPSB0aGlzLm9uU2xhY2tFbmFibGVkRmxhZ0NoYW5nZS5iaW5kKHRoaXMpO1xuICAgIHRoaXMub25TbGFja0NoYW5uZWxzQ2hhbmdlID0gdGhpcy5vblNsYWNrQ2hhbm5lbHNDaGFuZ2UuYmluZCh0aGlzKTtcbiAgfVxuXG4gIHVwZGF0ZVN0YXRlKHZhbHVlKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IGNvbW1lbnQ6IHZhbHVlIH0pO1xuICB9XG5cbiAgdXBkYXRlU3RhdGVDaGVja2JveChldmVudCkge1xuICAgIGNvbnN0IHZhbHVlID0gZXZlbnQudGFyZ2V0LmNoZWNrZWQ7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IGlzTWFya2Rvd246IHZhbHVlIH0pO1xuICAgIC8vIGNoYW5nZU1vZGVcbiAgICB0aGlzLmVkaXRvci5zZXRHZm1Nb2RlKHZhbHVlKTtcbiAgfVxuXG4gIGhhbmRsZVNlbGVjdChhY3RpdmVUYWIpIHtcbiAgICB0aGlzLnNldFN0YXRlKHsgYWN0aXZlVGFiIH0pO1xuICAgIHRoaXMucmVuZGVySHRtbCh0aGlzLnN0YXRlLmNvbW1lbnQpO1xuICB9XG5cbiAgb25TbGFja0VuYWJsZWRGbGFnQ2hhbmdlKGlzU2xhY2tFbmFibGVkKSB7XG4gICAgdGhpcy5wcm9wcy5jb21tZW50Q29udGFpbmVyLnNldFN0YXRlKHsgaXNTbGFja0VuYWJsZWQgfSk7XG4gIH1cblxuICBvblNsYWNrQ2hhbm5lbHNDaGFuZ2Uoc2xhY2tDaGFubmVscykge1xuICAgIHRoaXMucHJvcHMuY29tbWVudENvbnRhaW5lci5zZXRTdGF0ZSh7IHNsYWNrQ2hhbm5lbHMgfSk7XG4gIH1cblxuICBpbml0aWFsaXplRWRpdG9yKCkge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgY29tbWVudDogJycsXG4gICAgICBpc01hcmtkb3duOiB0cnVlLFxuICAgICAgaHRtbDogJycsXG4gICAgICBhY3RpdmVUYWI6ICdjb21tZW50X2VkaXRvcicsXG4gICAgICBlcnJvck1lc3NhZ2U6IHVuZGVmaW5lZCxcbiAgICB9KTtcbiAgICAvLyByZXNldCB2YWx1ZVxuICAgIHRoaXMuZWRpdG9yLnNldFZhbHVlKCcnKTtcbiAgfVxuXG4gIGNhbmNlbEJ1dHRvbkNsaWNrZWRIYW5kbGVyKCkge1xuICAgIGNvbnN0IHsgaXNGb3JOZXdDb21tZW50LCBvbkNhbmNlbEJ1dHRvbkNsaWNrZWQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAvLyBjaGFuZ2Ugc3RhdGUgdG8gbm90IHJlYWR5XG4gICAgLy8gd2hlbiB0aGlzIGVkaXRvciBpcyBmb3IgdGhlIG5ldyBjb21tZW50IG1vZGVcbiAgICBpZiAoaXNGb3JOZXdDb21tZW50KSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgaXNSZWFkeVRvVXNlOiBmYWxzZSB9KTtcbiAgICB9XG5cbiAgICBpZiAob25DYW5jZWxCdXR0b25DbGlja2VkICE9IG51bGwpIHtcbiAgICAgIGNvbnN0IHsgcmVwbHlUbywgY3VycmVudENvbW1lbnRJZCB9ID0gdGhpcy5wcm9wcztcbiAgICAgIG9uQ2FuY2VsQnV0dG9uQ2xpY2tlZChyZXBseVRvIHx8IGN1cnJlbnRDb21tZW50SWQpO1xuICAgIH1cbiAgfVxuXG4gIGNvbW1lbnRCdXR0b25DbGlja2VkSGFuZGxlcigpIHtcbiAgICB0aGlzLnBvc3RDb21tZW50KCk7XG4gIH1cblxuICBjdHJsRW50ZXJIYW5kbGVyKGV2ZW50KSB7XG4gICAgaWYgKGV2ZW50ICE9IG51bGwpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgdGhpcy5wb3N0Q29tbWVudCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFBvc3QgY29tbWVudCB3aXRoIENvbW1lbnRDb250YWluZXIgYW5kIHVwZGF0ZSBzdGF0ZVxuICAgKi9cbiAgYXN5bmMgcG9zdENvbW1lbnQoKSB7XG4gICAgY29uc3Qge1xuICAgICAgY29tbWVudENvbnRhaW5lciwgcmVwbHlUbywgY3VycmVudENvbW1lbnRJZCwgY29tbWVudENyZWF0b3IsIG9uQ29tbWVudEJ1dHRvbkNsaWNrZWQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChjdXJyZW50Q29tbWVudElkICE9IG51bGwpIHtcbiAgICAgICAgYXdhaXQgY29tbWVudENvbnRhaW5lci5wdXRDb21tZW50KFxuICAgICAgICAgIHRoaXMuc3RhdGUuY29tbWVudCxcbiAgICAgICAgICB0aGlzLnN0YXRlLmlzTWFya2Rvd24sXG4gICAgICAgICAgY3VycmVudENvbW1lbnRJZCxcbiAgICAgICAgICBjb21tZW50Q3JlYXRvcixcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICBhd2FpdCB0aGlzLnByb3BzLmNvbW1lbnRDb250YWluZXIucG9zdENvbW1lbnQoXG4gICAgICAgICAgdGhpcy5zdGF0ZS5jb21tZW50LFxuICAgICAgICAgIHRoaXMuc3RhdGUuaXNNYXJrZG93bixcbiAgICAgICAgICByZXBseVRvLFxuICAgICAgICAgIGNvbW1lbnRDb250YWluZXIuc3RhdGUuaXNTbGFja0VuYWJsZWQsXG4gICAgICAgICAgY29tbWVudENvbnRhaW5lci5zdGF0ZS5zbGFja0NoYW5uZWxzLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgdGhpcy5pbml0aWFsaXplRWRpdG9yKCk7XG5cbiAgICAgIGlmIChvbkNvbW1lbnRCdXR0b25DbGlja2VkICE9IG51bGwpIHtcbiAgICAgICAgb25Db21tZW50QnV0dG9uQ2xpY2tlZChyZXBseVRvIHx8IGN1cnJlbnRDb21tZW50SWQpO1xuICAgICAgfVxuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBlcnIubWVzc2FnZSB8fCAnQW4gdW5rbm93biBlcnJvciBvY2N1cmVkIHdoZW4gcG9zdGluZyBjb21tZW50JztcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBlcnJvck1lc3NhZ2UgfSk7XG4gICAgfVxuICB9XG5cbiAgdXBsb2FkSGFuZGxlcihmaWxlKSB7XG4gICAgdGhpcy5wcm9wcy5jb21tZW50Q29udGFpbmVyLnVwbG9hZEF0dGFjaG1lbnQoZmlsZSlcbiAgICAgIC50aGVuKChyZXMpID0+IHtcbiAgICAgICAgY29uc3QgYXR0YWNobWVudCA9IHJlcy5hdHRhY2htZW50O1xuICAgICAgICBjb25zdCBmaWxlTmFtZSA9IGF0dGFjaG1lbnQub3JpZ2luYWxOYW1lO1xuXG4gICAgICAgIGxldCBpbnNlcnRUZXh0ID0gYFske2ZpbGVOYW1lfV0oJHthdHRhY2htZW50LmZpbGVQYXRoUHJveGllZH0pYDtcbiAgICAgICAgLy8gd2hlbiBpbWFnZVxuICAgICAgICBpZiAoYXR0YWNobWVudC5maWxlRm9ybWF0LnN0YXJ0c1dpdGgoJ2ltYWdlLycpKSB7XG4gICAgICAgICAgLy8gbW9kaWZ5IHRvIFwiIVtmaWxlTmFtZV0odXJsKVwiIHN5bnRheFxuICAgICAgICAgIGluc2VydFRleHQgPSBgISR7aW5zZXJ0VGV4dH1gO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZWRpdG9yLmluc2VydFRleHQoaW5zZXJ0VGV4dCk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKHRoaXMuYXBpRXJyb3JIYW5kbGVyKVxuICAgICAgLy8gZmluYWxseVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLmVkaXRvci50ZXJtaW5hdGVVcGxvYWRpbmdTdGF0ZSgpO1xuICAgICAgfSk7XG4gIH1cblxuICBhcGlFcnJvckhhbmRsZXIoZXJyb3IpIHtcbiAgICB0b2FzdHIuZXJyb3IoZXJyb3IubWVzc2FnZSwgJ0Vycm9yIG9jY3VyZWQnLCB7XG4gICAgICBjbG9zZUJ1dHRvbjogdHJ1ZSxcbiAgICAgIHByb2dyZXNzQmFyOiB0cnVlLFxuICAgICAgbmV3ZXN0T25Ub3A6IGZhbHNlLFxuICAgICAgc2hvd0R1cmF0aW9uOiAnMTAwJyxcbiAgICAgIGhpZGVEdXJhdGlvbjogJzEwMCcsXG4gICAgICB0aW1lT3V0OiAnMzAwMCcsXG4gICAgfSk7XG4gIH1cblxuICBnZXRDb21tZW50SHRtbCgpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPENvbW1lbnRQcmV2aWV3XG4gICAgICAgIGlucHV0UmVmPXsoZWwpID0+IHsgdGhpcy5wcmV2aWV3RWxlbWVudCA9IGVsIH19XG4gICAgICAgIGh0bWw9e3RoaXMuc3RhdGUuaHRtbH1cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxuXG4gIHJlbmRlckh0bWwobWFya2Rvd24pIHtcbiAgICBjb25zdCBjb250ZXh0ID0ge1xuICAgICAgbWFya2Rvd24sXG4gICAgfTtcblxuICAgIGNvbnN0IHsgZ3Jvd2lSZW5kZXJlciB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBpbnRlcmNlcHRvck1hbmFnZXIgPSB0aGlzLnByb3BzLmFwcENvbnRhaW5lci5pbnRlcmNlcHRvck1hbmFnZXI7XG4gICAgaW50ZXJjZXB0b3JNYW5hZ2VyLnByb2Nlc3MoJ3ByZVJlbmRlckNvbW1uZXRQcmV2aWV3JywgY29udGV4dClcbiAgICAgIC50aGVuKCgpID0+IHsgcmV0dXJuIGludGVyY2VwdG9yTWFuYWdlci5wcm9jZXNzKCdwcmVQcmVQcm9jZXNzJywgY29udGV4dCkgfSlcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgY29udGV4dC5tYXJrZG93biA9IGdyb3dpUmVuZGVyZXIucHJlUHJvY2Vzcyhjb250ZXh0Lm1hcmtkb3duKTtcbiAgICAgIH0pXG4gICAgICAudGhlbigoKSA9PiB7IHJldHVybiBpbnRlcmNlcHRvck1hbmFnZXIucHJvY2VzcygncG9zdFByZVByb2Nlc3MnLCBjb250ZXh0KSB9KVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICBjb25zdCBwYXJzZWRIVE1MID0gZ3Jvd2lSZW5kZXJlci5wcm9jZXNzKGNvbnRleHQubWFya2Rvd24pO1xuICAgICAgICBjb250ZXh0LnBhcnNlZEhUTUwgPSBwYXJzZWRIVE1MO1xuICAgICAgfSlcbiAgICAgIC50aGVuKCgpID0+IHsgcmV0dXJuIGludGVyY2VwdG9yTWFuYWdlci5wcm9jZXNzKCdwcmVQb3N0UHJvY2VzcycsIGNvbnRleHQpIH0pXG4gICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgIGNvbnRleHQucGFyc2VkSFRNTCA9IGdyb3dpUmVuZGVyZXIucG9zdFByb2Nlc3MoY29udGV4dC5wYXJzZWRIVE1MKTtcbiAgICAgIH0pXG4gICAgICAudGhlbigoKSA9PiB7IHJldHVybiBpbnRlcmNlcHRvck1hbmFnZXIucHJvY2VzcygncG9zdFBvc3RQcm9jZXNzJywgY29udGV4dCkgfSlcbiAgICAgIC50aGVuKCgpID0+IHsgcmV0dXJuIGludGVyY2VwdG9yTWFuYWdlci5wcm9jZXNzKCdwcmVSZW5kZXJDb21tZW50UHJldmlld0h0bWwnLCBjb250ZXh0KSB9KVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHsgaHRtbDogY29udGV4dC5wYXJzZWRIVE1MIH0pO1xuICAgICAgfSlcbiAgICAgIC8vIHByb2Nlc3MgaW50ZXJjZXB0b3JzIGZvciBwb3N0IHJlbmRlcmluZ1xuICAgICAgLnRoZW4oKCkgPT4geyByZXR1cm4gaW50ZXJjZXB0b3JNYW5hZ2VyLnByb2Nlc3MoJ3Bvc3RSZW5kZXJDb21tZW50UHJldmlld0h0bWwnLCBjb250ZXh0KSB9KTtcbiAgfVxuXG4gIGdlbmVyYXRlSW5uZXJIdG1sKGh0bWwpIHtcbiAgICByZXR1cm4geyBfX2h0bWw6IGh0bWwgfTtcbiAgfVxuXG4gIHJlbmRlckJlZm9yZVJlYWR5KCkge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtY2VudGVyXCI+XG4gICAgICAgIDxOb3RBdmFpbGFibGVGb3JHdWVzdD5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImJ0biBidG4tbGcgYnRuLWxpbmtcIlxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gdGhpcy5zZXRTdGF0ZSh7IGlzUmVhZHlUb1VzZTogdHJ1ZSB9KX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8aSBjbGFzc05hbWU9XCJpY29uLWJ1YmJsZVwiPjwvaT4gQWRkIENvbW1lbnRcbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9Ob3RBdmFpbGFibGVGb3JHdWVzdD5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cblxuICByZW5kZXJSZWFkeSgpIHtcbiAgICBjb25zdCB7IGFwcENvbnRhaW5lciwgY29tbWVudENvbnRhaW5lciB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGFjdGl2ZVRhYiB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIGNvbnN0IGNvbW1lbnRQcmV2aWV3ID0gdGhpcy5zdGF0ZS5pc01hcmtkb3duID8gdGhpcy5nZXRDb21tZW50SHRtbCgpIDogbnVsbDtcbiAgICBjb25zdCBlbW9qaVN0cmF0ZWd5ID0gYXBwQ29udGFpbmVyLmdldEVtb2ppU3RyYXRlZ3koKTtcblxuICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IDxzcGFuIGNsYXNzTmFtZT1cInRleHQtZGFuZ2VyIHRleHQtcmlnaHQgbXItMlwiPnt0aGlzLnN0YXRlLmVycm9yTWVzc2FnZX08L3NwYW4+O1xuICAgIGNvbnN0IGNhbmNlbEJ1dHRvbiA9IChcbiAgICAgIDxCdXR0b24gb3V0bGluZSBjb2xvcj1cImRhbmdlclwiIHNpemU9XCJ4c1wiIGNsYXNzTmFtZT1cImJ0biBidG4tb3V0bGluZS1kYW5nZXIgcm91bmRlZC1waWxsXCIgb25DbGljaz17dGhpcy5jYW5jZWxCdXR0b25DbGlja2VkSGFuZGxlcn0+XG4gICAgICAgIENhbmNlbFxuICAgICAgPC9CdXR0b24+XG4gICAgKTtcbiAgICBjb25zdCBzdWJtaXRCdXR0b24gPSAoXG4gICAgICA8QnV0dG9uXG4gICAgICAgIG91dGxpbmVcbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgY2xhc3NOYW1lPVwiYnRuIGJ0bi1vdXRsaW5lLXByaW1hcnkgcm91bmRlZC1waWxsXCJcbiAgICAgICAgb25DbGljaz17dGhpcy5jb21tZW50QnV0dG9uQ2xpY2tlZEhhbmRsZXJ9XG4gICAgICA+XG4gICAgICAgIENvbW1lbnRcbiAgICAgIDwvQnV0dG9uPlxuICAgICk7XG5cblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbW1lbnQtd3JpdGVcIj5cbiAgICAgICAgICA8Q3VzdG9tTmF2VGFiIGFjdGl2ZVRhYj17YWN0aXZlVGFifSBuYXZUYWJNYXBwaW5nPXtuYXZUYWJNYXBwaW5nfSBvbk5hdlNlbGVjdGVkPXt0aGlzLmhhbmRsZVNlbGVjdH0gaGlkZUJvcmRlckJvdHRvbSAvPlxuICAgICAgICAgIDxUYWJDb250ZW50IGFjdGl2ZVRhYj17YWN0aXZlVGFifT5cbiAgICAgICAgICAgIDxUYWJQYW5lIHRhYklkPVwiY29tbWVudF9lZGl0b3JcIj5cbiAgICAgICAgICAgICAgPEVkaXRvclxuICAgICAgICAgICAgICAgIHJlZj17KGMpID0+IHsgdGhpcy5lZGl0b3IgPSBjIH19XG4gICAgICAgICAgICAgICAgdmFsdWU9e3RoaXMuc3RhdGUuY29tbWVudH1cbiAgICAgICAgICAgICAgICBpc0dmbU1vZGU9e3RoaXMuc3RhdGUuaXNNYXJrZG93bn1cbiAgICAgICAgICAgICAgICBsaW5lTnVtYmVycz17ZmFsc2V9XG4gICAgICAgICAgICAgICAgaXNNb2JpbGU9e2FwcENvbnRhaW5lci5pc01vYmlsZX1cbiAgICAgICAgICAgICAgICBpc1VwbG9hZGFibGU9e3RoaXMuc3RhdGUuaXNVcGxvYWRhYmxlfVxuICAgICAgICAgICAgICAgIGlzVXBsb2FkYWJsZUZpbGU9e3RoaXMuc3RhdGUuaXNVcGxvYWRhYmxlRmlsZX1cbiAgICAgICAgICAgICAgICBlbW9qaVN0cmF0ZWd5PXtlbW9qaVN0cmF0ZWd5fVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLnVwZGF0ZVN0YXRlfVxuICAgICAgICAgICAgICAgIG9uVXBsb2FkPXt0aGlzLnVwbG9hZEhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgb25DdHJsRW50ZXI9e3RoaXMuY3RybEVudGVySGFuZGxlcn1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgey8qXG4gICAgICAgICAgICAgICAgTm90ZTogPE9wdGlvbnNTZWxlY3RvciAvPiBpcyBub3Qgb3B0aW1pemVkIGZvciBDb21lbnRFZGl0b3IgaW4gdGVybXMgb2YgcmVzcG9uc2l2ZSBkZXNpZ24uXG4gICAgICAgICAgICAgICAgU2VlIGEgcmV2aWV3IGNvbW1lbnQgaW4gaHR0cHM6Ly9naXRodWIuY29tL3dlc2Vlay9ncm93aS9wdWxsLzM0NzNcbiAgICAgICAgICAgICAgKi99XG4gICAgICAgICAgICA8L1RhYlBhbmU+XG4gICAgICAgICAgICA8VGFiUGFuZSB0YWJJZD1cImNvbW1lbnRfcHJldmlld1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbW1lbnQtZm9ybS1wcmV2aWV3XCI+XG4gICAgICAgICAgICAgICAge2NvbW1lbnRQcmV2aWV3fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvVGFiUGFuZT5cbiAgICAgICAgICA8L1RhYkNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29tbWVudC1zdWJtaXRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImQtZmxleFwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cIm1yLTJcIj5cbiAgICAgICAgICAgICAge2FjdGl2ZVRhYiA9PT0gJ2NvbW1lbnRfZWRpdG9yJyAmJiAoXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sIGN1c3RvbS1jaGVja2JveFwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sLWlucHV0XCJcbiAgICAgICAgICAgICAgICAgIGlkPVwiY29tbWVudC1mb3JtLWlzLW1hcmtkb3duXCJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJpc01hcmtkb3duXCJcbiAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9e3RoaXMuc3RhdGUuaXNNYXJrZG93bn1cbiAgICAgICAgICAgICAgICAgIHZhbHVlPVwiMVwiXG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy51cGRhdGVTdGF0ZUNoZWNrYm94fVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJtbC0yIGN1c3RvbS1jb250cm9sLWxhYmVsXCJcbiAgICAgICAgICAgICAgICAgIGh0bWxGb3I9XCJjb21tZW50LWZvcm0taXMtbWFya2Rvd25cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIE1hcmtkb3duXG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgKSB9XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZmxleC1ncm93LTFcIiAvPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZC1ub25lIGQtc20taW5saW5lXCI+eyB0aGlzLnN0YXRlLmVycm9yTWVzc2FnZSAmJiBlcnJvck1lc3NhZ2UgfTwvc3Bhbj5cblxuICAgICAgICAgICAgeyB0aGlzLnN0YXRlLmhhc1NsYWNrQ29uZmlnXG4gICAgICAgICAgICAgICYmIChcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmb3JtLWlubGluZSBhbGlnbi1zZWxmLWNlbnRlciBtci1tZC0yXCI+XG4gICAgICAgICAgICAgICAgPFNsYWNrTm90aWZpY2F0aW9uXG4gICAgICAgICAgICAgICAgICBpc1NsYWNrRW5hYmxlZD17Y29tbWVudENvbnRhaW5lci5zdGF0ZS5pc1NsYWNrRW5hYmxlZH1cbiAgICAgICAgICAgICAgICAgIHNsYWNrQ2hhbm5lbHM9e2NvbW1lbnRDb250YWluZXIuc3RhdGUuc2xhY2tDaGFubmVsc31cbiAgICAgICAgICAgICAgICAgIG9uRW5hYmxlZEZsYWdDaGFuZ2U9e3RoaXMub25TbGFja0VuYWJsZWRGbGFnQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgb25DaGFubmVsQ2hhbmdlPXt0aGlzLm9uU2xhY2tDaGFubmVsc0NoYW5nZX1cbiAgICAgICAgICAgICAgICAgIGlkPVwiaWRGb3JDb21tZW50XCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkLW5vbmUgZC1zbS1ibG9ja1wiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJtci0yXCI+e2NhbmNlbEJ1dHRvbn08L3NwYW4+PHNwYW4+e3N1Ym1pdEJ1dHRvbn08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImQtYmxvY2sgZC1zbS1ub25lIG10LTJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cbiAgICAgICAgICAgICAgeyB0aGlzLnN0YXRlLmVycm9yTWVzc2FnZSAmJiBlcnJvck1lc3NhZ2UgfVxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJtci0yXCI+e2NhbmNlbEJ1dHRvbn08L3NwYW4+PHNwYW4+e3N1Ym1pdEJ1dHRvbn08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgYXBwQ29udGFpbmVyIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgaXNSZWFkeVRvVXNlIH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZm9ybSBwYWdlLWNvbW1lbnQtZm9ybVwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbW1lbnQtZm9ybVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29tbWVudC1mb3JtLXVzZXJcIj5cbiAgICAgICAgICAgIDxVc2VyUGljdHVyZSB1c2VyPXthcHBDb250YWluZXIuY3VycmVudFVzZXJ9IG5vTGluayBub1Rvb2x0aXAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbW1lbnQtZm9ybS1tYWluXCI+XG4gICAgICAgICAgICB7ICFpc1JlYWR5VG9Vc2VcbiAgICAgICAgICAgICAgPyB0aGlzLnJlbmRlckJlZm9yZVJlYWR5KClcbiAgICAgICAgICAgICAgOiB0aGlzLnJlbmRlclJlYWR5KClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG5cbn1cblxuQ29tbWVudEVkaXRvci5wcm9wVHlwZXMgPSB7XG4gIGFwcENvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoQXBwQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuICBwYWdlQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihQYWdlQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuICBlZGl0b3JDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKEVkaXRvckNvbnRhaW5lcikuaXNSZXF1aXJlZCxcbiAgY29tbWVudENvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoQ29tbWVudENvbnRhaW5lcikuaXNSZXF1aXJlZCxcblxuICBncm93aVJlbmRlcmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihHcm93aVJlbmRlcmVyKS5pc1JlcXVpcmVkLFxuICBpc0Zvck5ld0NvbW1lbnQ6IFByb3BUeXBlcy5ib29sLFxuICByZXBseVRvOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBjdXJyZW50Q29tbWVudElkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBjb21tZW50Qm9keTogUHJvcFR5cGVzLnN0cmluZyxcbiAgY29tbWVudENyZWF0b3I6IFByb3BUeXBlcy5zdHJpbmcsXG4gIG9uQ2FuY2VsQnV0dG9uQ2xpY2tlZDogUHJvcFR5cGVzLmZ1bmMsXG4gIG9uQ29tbWVudEJ1dHRvbkNsaWNrZWQ6IFByb3BUeXBlcy5mdW5jLFxufTtcblxuLyoqXG4gKiBXcmFwcGVyIGNvbXBvbmVudCBmb3IgdXNpbmcgdW5zdGF0ZWRcbiAqL1xuY29uc3QgQ29tbWVudEVkaXRvcldyYXBwZXIgPSB3aXRoVW5zdGF0ZWRDb250YWluZXJzKENvbW1lbnRFZGl0b3IsIFtBcHBDb250YWluZXIsIFBhZ2VDb250YWluZXIsIEVkaXRvckNvbnRhaW5lciwgQ29tbWVudENvbnRhaW5lcl0pO1xuXG5leHBvcnQgZGVmYXVsdCBDb21tZW50RWRpdG9yV3JhcHBlcjtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBOzs7O0FBT0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUhBO0FBS0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBSEE7QUFOQTtBQWFBOzs7Ozs7O0FBT0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFUQTtBQVlBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBQ0E7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFNQTtBQUVBO0FBT0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFaQTtBQWdCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQVFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFGQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFEQTtBQUlBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFsQkE7QUFvQkE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFIQTtBQUtBO0FBQUE7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFFQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQVdBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBWEE7QUFrQkE7QUFBQTtBQUNBO0FBQUE7QUFPQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFQQTtBQVVBO0FBQ0E7QUFGQTtBQVNBO0FBQUE7QUFDQTtBQUFBO0FBSUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQVVBO0FBQUE7QUFDQTtBQUFBO0FBR0E7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUFBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFTQTtBQUNBO0FBdFdBO0FBQ0E7QUF3V0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFiQTtBQWdCQTs7OztBQUdBO0FBRUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/PageComment/CommentEditor.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageComment/CommentEditorLazyRenderer.jsx":
- /*!****************************************************************************!*\
- !*** ./src/client/js/components/PageComment/CommentEditorLazyRenderer.jsx ***!
- \****************************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _CommentEditor__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./CommentEditor */ \"./src/client/js/components/PageComment/CommentEditor.jsx\");\n\n\n\n\n\n\nconst CommentEditorLazyRenderer = props => {\n const growiRenderer = props.appContainer.getRenderer('comment');\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_CommentEditor__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n growiRenderer: growiRenderer,\n replyTo: undefined,\n isForNewComment: true\n });\n};\n/**\n * Wrapper component for using unstated\n */\n\n\nconst CommentEditorLazyRendererWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_2__[\"withUnstatedContainers\"])(CommentEditorLazyRenderer, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_3__[\"default\"]]);\nCommentEditorLazyRenderer.propTypes = {\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_3__[\"default\"]).isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (CommentEditorLazyRendererWrapper);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUNvbW1lbnQvQ29tbWVudEVkaXRvckxhenlSZW5kZXJlci5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUNvbW1lbnQvQ29tbWVudEVkaXRvckxhenlSZW5kZXJlci5qc3g/OGQ5YyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuaW1wb3J0IHsgd2l0aFVuc3RhdGVkQ29udGFpbmVycyB9IGZyb20gJy4uL1Vuc3RhdGVkVXRpbHMnO1xuaW1wb3J0IEFwcENvbnRhaW5lciBmcm9tICcuLi8uLi9zZXJ2aWNlcy9BcHBDb250YWluZXInO1xuXG5pbXBvcnQgQ29tbWVudEVkaXRvciBmcm9tICcuL0NvbW1lbnRFZGl0b3InO1xuXG5jb25zdCBDb21tZW50RWRpdG9yTGF6eVJlbmRlcmVyID0gKHByb3BzKSA9PiB7XG5cbiAgY29uc3QgZ3Jvd2lSZW5kZXJlciA9IHByb3BzLmFwcENvbnRhaW5lci5nZXRSZW5kZXJlcignY29tbWVudCcpO1xuXG4gIHJldHVybiAoXG4gICAgPENvbW1lbnRFZGl0b3JcbiAgICAgIGdyb3dpUmVuZGVyZXI9e2dyb3dpUmVuZGVyZXJ9XG4gICAgICByZXBseVRvPXt1bmRlZmluZWR9XG4gICAgICBpc0Zvck5ld0NvbW1lbnRcbiAgICAvPlxuICApO1xufTtcblxuLyoqXG4gKiBXcmFwcGVyIGNvbXBvbmVudCBmb3IgdXNpbmcgdW5zdGF0ZWRcbiAqL1xuY29uc3QgQ29tbWVudEVkaXRvckxhenlSZW5kZXJlcldyYXBwZXIgPSB3aXRoVW5zdGF0ZWRDb250YWluZXJzKENvbW1lbnRFZGl0b3JMYXp5UmVuZGVyZXIsIFtBcHBDb250YWluZXJdKTtcblxuQ29tbWVudEVkaXRvckxhenlSZW5kZXJlci5wcm9wVHlwZXMgPSB7XG4gIGFwcENvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoQXBwQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgQ29tbWVudEVkaXRvckxhenlSZW5kZXJlcldyYXBwZXI7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFIQTtBQU1BO0FBRUE7Ozs7O0FBR0E7QUFFQTtBQUNBO0FBREE7QUFJQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/PageComment/CommentEditorLazyRenderer.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageComment/CommentPreview.jsx":
- /*!*****************************************************************!*\
- !*** ./src/client/js/components/PageComment/CommentPreview.jsx ***!
- \*****************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return CommentPreview; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _Page_RevisionBody__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Page/RevisionBody */ \"./src/client/js/components/Page/RevisionBody.jsx\");\nfunction _extends() { _extends = Object.assign || 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); }\n\n\n\n\n/**\n * Wrapper component for Page/RevisionBody\n */\n\nclass CommentPreview extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n render() {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"page-comment-preview-body\",\n ref: elm => {\n this.previewElement = elm;\n this.props.inputRef(elm);\n }\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Page_RevisionBody__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _extends({}, this.props, {\n additionalClassName: \"comment\"\n })));\n }\n\n}\nCommentPreview.propTypes = {\n html: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n inputRef: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired // for getting div element\n\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUNvbW1lbnQvQ29tbWVudFByZXZpZXcuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1BhZ2VDb21tZW50L0NvbW1lbnRQcmV2aWV3LmpzeD9kOTg5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQgUmV2aXNpb25Cb2R5IGZyb20gJy4uL1BhZ2UvUmV2aXNpb25Cb2R5JztcblxuLyoqXG4gKiBXcmFwcGVyIGNvbXBvbmVudCBmb3IgUGFnZS9SZXZpc2lvbkJvZHlcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29tbWVudFByZXZpZXcgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuXG4gIHJlbmRlcigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9XCJwYWdlLWNvbW1lbnQtcHJldmlldy1ib2R5XCJcbiAgICAgICAgcmVmPXsoZWxtKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnByZXZpZXdFbGVtZW50ID0gZWxtO1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5pbnB1dFJlZihlbG0pO1xuICAgICAgICAgIH19XG4gICAgICA+XG5cbiAgICAgICAgPFJldmlzaW9uQm9keVxuICAgICAgICAgIHsuLi50aGlzLnByb3BzfVxuICAgICAgICAgIGFkZGl0aW9uYWxDbGFzc05hbWU9XCJjb21tZW50XCJcbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cblxufVxuXG5Db21tZW50UHJldmlldy5wcm9wVHlwZXMgPSB7XG4gIGh0bWw6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGlucHV0UmVmOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLCAvLyBmb3IgZ2V0dGluZyBkaXYgZWxlbWVudFxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUVBO0FBRUE7Ozs7QUFHQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFVQTtBQUZBO0FBTUE7QUFDQTtBQW5CQTtBQXNCQTtBQUNBO0FBQ0E7QUFDQTtBQUhBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/PageComment/CommentPreview.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageComment/DeleteCommentModal.jsx":
- /*!*********************************************************************!*\
- !*** ./src/client/js/components/PageComment/DeleteCommentModal.jsx ***!
- \*********************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return DeleteCommentModal; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! reactstrap/es/Button */ \"./node_modules/reactstrap/es/Button.js\");\n/* harmony import */ var reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! reactstrap/es/Modal */ \"./node_modules/reactstrap/es/Modal.js\");\n/* harmony import */ var reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! reactstrap/es/ModalHeader */ \"./node_modules/reactstrap/es/ModalHeader.js\");\n/* harmony import */ var reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! reactstrap/es/ModalBody */ \"./node_modules/reactstrap/es/ModalBody.js\");\n/* harmony import */ var reactstrap_es_ModalFooter__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! reactstrap/es/ModalFooter */ \"./node_modules/reactstrap/es/ModalFooter.js\");\n/* harmony import */ var date_fns__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! date-fns */ \"./node_modules/date-fns/esm/index.js\");\n/* harmony import */ var _User_UserPicture__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../User/UserPicture */ \"./src/client/js/components/User/UserPicture.jsx\");\n/* harmony import */ var _User_Username__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../User/Username */ \"./src/client/js/components/User/Username.jsx\");\n\n\n\n\n\n\n\n\n\n\nclass DeleteCommentModal extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n /*\n * the threshold for omitting body\n */\n static get OMIT_BODY_THRES() {\n return 400;\n }\n\n componentWillMount() {}\n\n render() {\n if (this.props.comment === undefined) {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", null);\n }\n\n const comment = this.props.comment;\n const commentDate = Object(date_fns__WEBPACK_IMPORTED_MODULE_7__[\"format\"])(new Date(comment.createdAt), 'yyyy/MM/dd HH:mm'); // generate body\n\n let commentBody = comment.comment;\n\n if (commentBody.length > DeleteCommentModal.OMIT_BODY_THRES) {\n // omit\n commentBody = `${commentBody.substr(0, DeleteCommentModal.OMIT_BODY_THRES)}...`;\n }\n\n commentBody = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n style: {\n whiteSpace: 'pre-wrap'\n }\n }, commentBody);\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n isOpen: this.props.isShown,\n toggle: this.props.cancel,\n className: \"page-comment-delete-modal\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n tag: \"h4\",\n toggle: this.props.cancel,\n className: \"bg-danger text-light\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-fire\"\n }), \"Delete comment?\")), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_User_UserPicture__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n user: comment.creator,\n size: \"xs\"\n }), \" \", react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"strong\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_User_Username__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n user: comment.creator\n })), \" wrote on \", commentDate, \":\", react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"card well comment-body mt-2 p-2\"\n }, commentBody)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalFooter__WEBPACK_IMPORTED_MODULE_6__[\"default\"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"text-danger\"\n }, this.props.errorMessage), \"\\xA0\", react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n onClick: this.props.cancel\n }, \"Cancel\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n color: \"danger\",\n onClick: this.props.confirmedToDelete\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon icon-fire\"\n }), \"Delete\")));\n }\n\n}\nDeleteCommentModal.propTypes = {\n isShown: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,\n comment: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n errorMessage: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n cancel: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // for cancel evnet handling\n confirmedToDelete: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired // for confirmed event handling\n\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUNvbW1lbnQvRGVsZXRlQ29tbWVudE1vZGFsLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9QYWdlQ29tbWVudC9EZWxldGVDb21tZW50TW9kYWwuanN4PzQxMDUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCB7XG4gIEJ1dHRvbiwgTW9kYWwsIE1vZGFsSGVhZGVyLCBNb2RhbEJvZHksIE1vZGFsRm9vdGVyLFxufSBmcm9tICdyZWFjdHN0cmFwJztcblxuaW1wb3J0IHsgZm9ybWF0IH0gZnJvbSAnZGF0ZS1mbnMnO1xuXG5pbXBvcnQgVXNlclBpY3R1cmUgZnJvbSAnLi4vVXNlci9Vc2VyUGljdHVyZSc7XG5pbXBvcnQgVXNlcm5hbWUgZnJvbSAnLi4vVXNlci9Vc2VybmFtZSc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERlbGV0ZUNvbW1lbnRNb2RhbCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG5cbiAgLypcbiAgICogdGhlIHRocmVzaG9sZCBmb3Igb21pdHRpbmcgYm9keVxuICAgKi9cbiAgc3RhdGljIGdldCBPTUlUX0JPRFlfVEhSRVMoKSB7IHJldHVybiA0MDAgfVxuXG4gIGNvbXBvbmVudFdpbGxNb3VudCgpIHtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBpZiAodGhpcy5wcm9wcy5jb21tZW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiA8ZGl2PjwvZGl2PjtcbiAgICB9XG5cbiAgICBjb25zdCBjb21tZW50ID0gdGhpcy5wcm9wcy5jb21tZW50O1xuICAgIGNvbnN0IGNvbW1lbnREYXRlID0gZm9ybWF0KG5ldyBEYXRlKGNvbW1lbnQuY3JlYXRlZEF0KSwgJ3l5eXkvTU0vZGQgSEg6bW0nKTtcblxuICAgIC8vIGdlbmVyYXRlIGJvZHlcbiAgICBsZXQgY29tbWVudEJvZHkgPSBjb21tZW50LmNvbW1lbnQ7XG4gICAgaWYgKGNvbW1lbnRCb2R5Lmxlbmd0aCA+IERlbGV0ZUNvbW1lbnRNb2RhbC5PTUlUX0JPRFlfVEhSRVMpIHsgLy8gb21pdFxuICAgICAgY29tbWVudEJvZHkgPSBgJHtjb21tZW50Qm9keS5zdWJzdHIoMCwgRGVsZXRlQ29tbWVudE1vZGFsLk9NSVRfQk9EWV9USFJFUyl9Li4uYDtcbiAgICB9XG4gICAgY29tbWVudEJvZHkgPSA8c3BhbiBzdHlsZT17eyB3aGl0ZVNwYWNlOiAncHJlLXdyYXAnIH19Pntjb21tZW50Qm9keX08L3NwYW4+O1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxNb2RhbCBpc09wZW49e3RoaXMucHJvcHMuaXNTaG93bn0gdG9nZ2xlPXt0aGlzLnByb3BzLmNhbmNlbH0gY2xhc3NOYW1lPVwicGFnZS1jb21tZW50LWRlbGV0ZS1tb2RhbFwiPlxuICAgICAgICA8TW9kYWxIZWFkZXIgdGFnPVwiaDRcIiB0b2dnbGU9e3RoaXMucHJvcHMuY2FuY2VsfSBjbGFzc05hbWU9XCJiZy1kYW5nZXIgdGV4dC1saWdodFwiPlxuICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgPGkgY2xhc3NOYW1lPVwiaWNvbi1mdyBpY29uLWZpcmVcIj48L2k+XG4gICAgICAgICAgICBEZWxldGUgY29tbWVudD9cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvTW9kYWxIZWFkZXI+XG4gICAgICAgIDxNb2RhbEJvZHk+XG4gICAgICAgICAgPFVzZXJQaWN0dXJlIHVzZXI9e2NvbW1lbnQuY3JlYXRvcn0gc2l6ZT1cInhzXCIgLz4gPHN0cm9uZz48VXNlcm5hbWUgdXNlcj17Y29tbWVudC5jcmVhdG9yfT48L1VzZXJuYW1lPjwvc3Ryb25nPiB3cm90ZSBvbiB7Y29tbWVudERhdGV9OlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImNhcmQgd2VsbCBjb21tZW50LWJvZHkgbXQtMiBwLTJcIj57Y29tbWVudEJvZHl9PC9wPlxuICAgICAgICA8L01vZGFsQm9keT5cbiAgICAgICAgPE1vZGFsRm9vdGVyPlxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtZGFuZ2VyXCI+e3RoaXMucHJvcHMuZXJyb3JNZXNzYWdlfTwvc3Bhbj4mbmJzcDtcbiAgICAgICAgICA8QnV0dG9uIG9uQ2xpY2s9e3RoaXMucHJvcHMuY2FuY2VsfT5DYW5jZWw8L0J1dHRvbj5cbiAgICAgICAgICA8QnV0dG9uIGNvbG9yPVwiZGFuZ2VyXCIgb25DbGljaz17dGhpcy5wcm9wcy5jb25maXJtZWRUb0RlbGV0ZX0+XG4gICAgICAgICAgICA8aSBjbGFzc05hbWU9XCJpY29uIGljb24tZmlyZVwiPjwvaT5cbiAgICAgICAgICAgIERlbGV0ZVxuICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICA8L01vZGFsRm9vdGVyPlxuICAgICAgPC9Nb2RhbD5cbiAgICApO1xuICB9XG5cbn1cblxuRGVsZXRlQ29tbWVudE1vZGFsLnByb3BUeXBlcyA9IHtcbiAgaXNTaG93bjogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgY29tbWVudDogUHJvcFR5cGVzLm9iamVjdCxcbiAgZXJyb3JNZXNzYWdlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBjYW5jZWw6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsIC8vIGZvciBjYW5jZWwgZXZuZXQgaGFuZGxpbmdcbiAgY29uZmlybWVkVG9EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsIC8vIGZvciBjb25maXJtZWQgZXZlbnQgaGFuZGxpbmdcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBOzs7Ozs7QUFNQTtBQUVBO0FBQ0E7QUFFQTtBQUVBOzs7QUFHQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBR0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBTUE7QUFDQTtBQWhEQTtBQW1EQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBTkEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/PageComment/DeleteCommentModal.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageComment/ReplayComments.jsx":
- /*!*****************************************************************!*\
- !*** ./src/client/js/components/PageComment/ReplayComments.jsx ***!
- \*****************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var reactstrap_es_Collapse__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! reactstrap/es/Collapse */ \"./node_modules/reactstrap/es/Collapse.js\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n/* harmony import */ var _Comment__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Comment */ \"./src/client/js/components/PageComment/Comment.jsx\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n\n\n\n\n\n\n\n\nclass ReplayComments extends react__WEBPACK_IMPORTED_MODULE_0___default.a.PureComponent {\n constructor() {\n super();\n this.state = {\n isOlderRepliesShown: false\n };\n this.toggleOlderReplies = this.toggleOlderReplies.bind(this);\n }\n\n toggleOlderReplies() {\n this.setState({\n isOlderRepliesShown: !this.state.isOlderRepliesShown\n });\n }\n\n renderReply(reply) {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n key: reply._id,\n className: \"page-comment-reply ml-4 ml-sm-5 mr-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Comment__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n comment: reply,\n deleteBtnClicked: this.props.deleteBtnClicked,\n growiRenderer: this.props.growiRenderer\n }));\n }\n\n render() {\n const isAllReplyShown = this.props.appContainer.getConfig().isAllReplyShown || false;\n const replyList = this.props.replyList;\n\n if (isAllReplyShown) {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, replyList.map(reply => {\n return this.renderReply(reply);\n }));\n }\n\n const areThereHiddenReplies = replyList.length > 2;\n const {\n isOlderRepliesShown\n } = this.state;\n const toggleButtonIconName = isOlderRepliesShown ? 'icon-arrow-up' : 'icon-options-vertical';\n const toggleButtonIcon = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: `icon-fw ${toggleButtonIconName}`\n });\n const toggleButtonLabel = isOlderRepliesShown ? '' : 'more';\n const shownReplies = replyList.slice(replyList.length - 2, replyList.length);\n const hiddenReplies = replyList.slice(0, replyList.length - 2);\n const hiddenElements = hiddenReplies.map(reply => {\n return this.renderReply(reply);\n });\n const shownElements = shownReplies.map(reply => {\n return this.renderReply(reply);\n });\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, areThereHiddenReplies && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"page-comments-hidden-replies\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Collapse__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n isOpen: this.state.isOlderRepliesShown\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", null, hiddenElements)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"text-center\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-link\",\n onClick: this.toggleOlderReplies\n }, toggleButtonIcon, \" \", toggleButtonLabel))), shownElements);\n }\n\n}\n/**\n * Wrapper component for using unstated\n */\n\n\nconst ReplayCommentsWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_6__[\"withUnstatedContainers\"])(ReplayComments, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _services_PageContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]]);\nReplayComments.propTypes = {\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_3__[\"default\"]).isRequired,\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]).isRequired,\n growiRenderer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object.isRequired,\n deleteBtnClicked: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n replyList: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.array\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (ReplayCommentsWrapper);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUNvbW1lbnQvUmVwbGF5Q29tbWVudHMuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1BhZ2VDb21tZW50L1JlcGxheUNvbW1lbnRzLmpzeD9kNGU4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQgeyBDb2xsYXBzZSB9IGZyb20gJ3JlYWN0c3RyYXAnO1xuXG5pbXBvcnQgQXBwQ29udGFpbmVyIGZyb20gJy4uLy4uL3NlcnZpY2VzL0FwcENvbnRhaW5lcic7XG5pbXBvcnQgUGFnZUNvbnRhaW5lciBmcm9tICcuLi8uLi9zZXJ2aWNlcy9QYWdlQ29udGFpbmVyJztcblxuaW1wb3J0IENvbW1lbnQgZnJvbSAnLi9Db21tZW50JztcblxuaW1wb3J0IHsgd2l0aFVuc3RhdGVkQ29udGFpbmVycyB9IGZyb20gJy4uL1Vuc3RhdGVkVXRpbHMnO1xuXG5jbGFzcyBSZXBsYXlDb21tZW50cyBleHRlbmRzIFJlYWN0LlB1cmVDb21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgaXNPbGRlclJlcGxpZXNTaG93bjogZmFsc2UsXG4gICAgfTtcblxuICAgIHRoaXMudG9nZ2xlT2xkZXJSZXBsaWVzID0gdGhpcy50b2dnbGVPbGRlclJlcGxpZXMuYmluZCh0aGlzKTtcbiAgfVxuXG4gIHRvZ2dsZU9sZGVyUmVwbGllcygpIHtcbiAgICB0aGlzLnNldFN0YXRlKHsgaXNPbGRlclJlcGxpZXNTaG93bjogIXRoaXMuc3RhdGUuaXNPbGRlclJlcGxpZXNTaG93biB9KTtcbiAgfVxuXG4gIHJlbmRlclJlcGx5KHJlcGx5KSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYga2V5PXtyZXBseS5faWR9IGNsYXNzTmFtZT1cInBhZ2UtY29tbWVudC1yZXBseSBtbC00IG1sLXNtLTUgbXItM1wiPlxuICAgICAgICA8Q29tbWVudFxuICAgICAgICAgIGNvbW1lbnQ9e3JlcGx5fVxuICAgICAgICAgIGRlbGV0ZUJ0bkNsaWNrZWQ9e3RoaXMucHJvcHMuZGVsZXRlQnRuQ2xpY2tlZH1cbiAgICAgICAgICBncm93aVJlbmRlcmVyPXt0aGlzLnByb3BzLmdyb3dpUmVuZGVyZXJ9XG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuXG4gICAgY29uc3QgaXNBbGxSZXBseVNob3duID0gdGhpcy5wcm9wcy5hcHBDb250YWluZXIuZ2V0Q29uZmlnKCkuaXNBbGxSZXBseVNob3duIHx8IGZhbHNlO1xuICAgIGNvbnN0IHJlcGx5TGlzdCA9IHRoaXMucHJvcHMucmVwbHlMaXN0O1xuXG4gICAgaWYgKGlzQWxsUmVwbHlTaG93bikge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgICAgIHtyZXBseUxpc3QubWFwKChyZXBseSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVuZGVyUmVwbHkocmVwbHkpO1xuICAgICAgICAgIH0pfVxuICAgICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBhcmVUaGVyZUhpZGRlblJlcGxpZXMgPSAocmVwbHlMaXN0Lmxlbmd0aCA+IDIpO1xuXG4gICAgY29uc3QgeyBpc09sZGVyUmVwbGllc1Nob3duIH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IHRvZ2dsZUJ1dHRvbkljb25OYW1lID0gaXNPbGRlclJlcGxpZXNTaG93biA/ICdpY29uLWFycm93LXVwJyA6ICdpY29uLW9wdGlvbnMtdmVydGljYWwnO1xuICAgIGNvbnN0IHRvZ2dsZUJ1dHRvbkljb24gPSA8aSBjbGFzc05hbWU9e2BpY29uLWZ3ICR7dG9nZ2xlQnV0dG9uSWNvbk5hbWV9YH0+PC9pPjtcbiAgICBjb25zdCB0b2dnbGVCdXR0b25MYWJlbCA9IGlzT2xkZXJSZXBsaWVzU2hvd24gPyAnJyA6ICdtb3JlJztcblxuICAgIGNvbnN0IHNob3duUmVwbGllcyA9IHJlcGx5TGlzdC5zbGljZShyZXBseUxpc3QubGVuZ3RoIC0gMiwgcmVwbHlMaXN0Lmxlbmd0aCk7XG4gICAgY29uc3QgaGlkZGVuUmVwbGllcyA9IHJlcGx5TGlzdC5zbGljZSgwLCByZXBseUxpc3QubGVuZ3RoIC0gMik7XG5cbiAgICBjb25zdCBoaWRkZW5FbGVtZW50cyA9IGhpZGRlblJlcGxpZXMubWFwKChyZXBseSkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyUmVwbHkocmVwbHkpO1xuICAgIH0pO1xuXG4gICAgY29uc3Qgc2hvd25FbGVtZW50cyA9IHNob3duUmVwbGllcy5tYXAoKHJlcGx5KSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5yZW5kZXJSZXBseShyZXBseSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgICB7YXJlVGhlcmVIaWRkZW5SZXBsaWVzICYmIChcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInBhZ2UtY29tbWVudHMtaGlkZGVuLXJlcGxpZXNcIj5cbiAgICAgICAgICAgIDxDb2xsYXBzZSBpc09wZW49e3RoaXMuc3RhdGUuaXNPbGRlclJlcGxpZXNTaG93bn0+XG4gICAgICAgICAgICAgIDxkaXY+e2hpZGRlbkVsZW1lbnRzfTwvZGl2PlxuICAgICAgICAgICAgPC9Db2xsYXBzZT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImJ0biBidG4tbGlua1wiXG4gICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy50b2dnbGVPbGRlclJlcGxpZXN9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7dG9nZ2xlQnV0dG9uSWNvbn0ge3RvZ2dsZUJ1dHRvbkxhYmVsfVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgICB7c2hvd25FbGVtZW50c31cblxuICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICApO1xuICB9XG5cbn1cblxuLyoqXG4gKiBXcmFwcGVyIGNvbXBvbmVudCBmb3IgdXNpbmcgdW5zdGF0ZWRcbiAqL1xuY29uc3QgUmVwbGF5Q29tbWVudHNXcmFwcGVyID0gd2l0aFVuc3RhdGVkQ29udGFpbmVycyhSZXBsYXlDb21tZW50cywgW0FwcENvbnRhaW5lciwgUGFnZUNvbnRhaW5lcl0pO1xuXG5SZXBsYXlDb21tZW50cy5wcm9wVHlwZXMgPSB7XG4gIGFwcENvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoQXBwQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuICBwYWdlQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihQYWdlQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuXG4gIGdyb3dpUmVuZGVyZXI6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgZGVsZXRlQnRuQ2xpY2tlZDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgcmVwbHlMaXN0OiBQcm9wVHlwZXMuYXJyYXksXG59O1xuXG5leHBvcnQgZGVmYXVsdCBSZXBsYXlDb21tZW50c1dyYXBwZXI7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTs7QUFJQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQURBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUhBO0FBT0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFBQTtBQUNBO0FBQUE7QUFHQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBSEE7QUFjQTtBQUNBO0FBcEZBO0FBdUZBOzs7OztBQUdBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBTkE7QUFTQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/PageComment/ReplayComments.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageComments.jsx":
- /*!***************************************************!*\
- !*** ./src/client/js/components/PageComments.jsx ***!
- \***************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! reactstrap/es/Button */ \"./node_modules/reactstrap/es/Button.js\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_CommentContainer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../services/CommentContainer */ \"./src/client/js/services/CommentContainer.js\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _PageComment_CommentEditor__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./PageComment/CommentEditor */ \"./src/client/js/components/PageComment/CommentEditor.jsx\");\n/* harmony import */ var _PageComment_Comment__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./PageComment/Comment */ \"./src/client/js/components/PageComment/Comment.jsx\");\n/* harmony import */ var _PageComment_DeleteCommentModal__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./PageComment/DeleteCommentModal */ \"./src/client/js/components/PageComment/DeleteCommentModal.jsx\");\n/* harmony import */ var _PageComment_ReplayComments__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./PageComment/ReplayComments */ \"./src/client/js/components/PageComment/ReplayComments.jsx\");\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Load data of comments and render the list of <Comment />\n *\n * @author Yuki Takei <yuki@weseek.co.jp>\n *\n * @export\n * @class PageComments\n * @extends {React.Component}\n */\n\nclass PageComments extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n this.state = {\n // for deleting comment\n commentToDelete: undefined,\n isDeleteConfirmModalShown: false,\n errorMessageForDeleting: undefined,\n showEditorIds: new Set()\n };\n this.growiRenderer = this.props.appContainer.getRenderer('comment');\n this.init = this.init.bind(this);\n this.confirmToDeleteComment = this.confirmToDeleteComment.bind(this);\n this.deleteComment = this.deleteComment.bind(this);\n this.showDeleteConfirmModal = this.showDeleteConfirmModal.bind(this);\n this.closeDeleteConfirmModal = this.closeDeleteConfirmModal.bind(this);\n this.replyButtonClickedHandler = this.replyButtonClickedHandler.bind(this);\n this.editorCancelHandler = this.editorCancelHandler.bind(this);\n this.editorCommentHandler = this.editorCommentHandler.bind(this);\n this.resetEditor = this.resetEditor.bind(this);\n }\n\n componentWillMount() {\n this.init();\n }\n\n init() {\n if (!this.props.pageContainer.state.pageId) {\n return;\n }\n\n this.props.commentContainer.retrieveComments();\n }\n\n confirmToDeleteComment(comment) {\n this.setState({\n commentToDelete: comment\n });\n this.showDeleteConfirmModal();\n }\n\n deleteComment() {\n const comment = this.state.commentToDelete;\n this.props.commentContainer.deleteComment(comment).then(() => {\n this.closeDeleteConfirmModal();\n }).catch(err => {\n this.setState({\n errorMessageForDeleting: err.message\n });\n });\n }\n\n showDeleteConfirmModal() {\n this.setState({\n isDeleteConfirmModalShown: true\n });\n }\n\n closeDeleteConfirmModal() {\n this.setState({\n commentToDelete: undefined,\n isDeleteConfirmModalShown: false,\n errorMessageForDeleting: undefined\n });\n }\n\n replyButtonClickedHandler(commentId) {\n const ids = this.state.showEditorIds.add(commentId);\n this.setState({\n showEditorIds: ids\n });\n }\n\n editorCancelHandler(commentId) {\n this.resetEditor(commentId);\n }\n\n editorCommentHandler(commentId) {\n this.resetEditor(commentId);\n }\n\n resetEditor(commentId) {\n this.setState(prevState => {\n prevState.showEditorIds.delete(commentId);\n return {\n showEditorIds: prevState.showEditorIds\n };\n });\n } // get replies to specific comment object\n\n\n getRepliesFor(comment, allReplies) {\n const replyList = [];\n allReplies.forEach(reply => {\n if (reply.replyTo === comment._id) {\n replyList.push(reply);\n }\n });\n return replyList;\n }\n /**\n * render Elements of Comment Thread\n *\n * @param {any} comment Comment Model Obj\n * @param {any} replies List of Reply Comment Model Obj\n *\n * @memberOf PageComments\n */\n\n\n renderThread(comment, replies) {\n const commentId = comment._id;\n const showEditor = this.state.showEditorIds.has(commentId);\n const isLoggedIn = this.props.appContainer.currentUser != null;\n let rootClassNames = 'page-comment-thread';\n\n if (replies.length === 0) {\n rootClassNames += ' page-comment-thread-no-replies';\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n key: commentId,\n className: rootClassNames\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageComment_Comment__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n comment: comment,\n deleteBtnClicked: this.confirmToDeleteComment,\n growiRenderer: this.growiRenderer\n }), replies.length !== 0 && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageComment_ReplayComments__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n replyList: replies,\n deleteBtnClicked: this.confirmToDeleteComment,\n growiRenderer: this.growiRenderer\n }), !showEditor && isLoggedIn && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"text-right\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n outline: true,\n color: \"secondary\",\n size: \"sm\",\n className: \"btn-comment-reply\",\n onClick: () => {\n return this.replyButtonClickedHandler(commentId);\n }\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-action-undo\"\n }), \" Reply\")), showEditor && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"page-comment-reply-form ml-4 ml-sm-5 mr-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageComment_CommentEditor__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n growiRenderer: this.growiRenderer,\n replyTo: commentId,\n onCancelButtonClicked: this.editorCancelHandler,\n onCommentButtonClicked: this.editorCommentHandler\n })));\n }\n\n render() {\n const topLevelComments = [];\n const allReplies = [];\n const comments = this.props.commentContainer.state.comments.slice().reverse(); // create shallow copy and reverse\n\n comments.forEach(comment => {\n if (comment.replyTo === undefined) {\n // comment is not a reply\n topLevelComments.push(comment);\n } else {\n // comment is a reply\n allReplies.push(comment);\n }\n });\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", null, topLevelComments.map(topLevelComment => {\n // get related replies\n const replies = this.getRepliesFor(topLevelComment, allReplies);\n return this.renderThread(topLevelComment, replies);\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageComment_DeleteCommentModal__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n isShown: this.state.isDeleteConfirmModalShown,\n comment: this.state.commentToDelete,\n errorMessage: this.state.errorMessageForDeleting,\n cancel: this.closeDeleteConfirmModal,\n confirmedToDelete: this.deleteComment\n }));\n }\n\n}\n/**\n * Wrapper component for using unstated\n */\n\n\nconst PageCommentsWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_7__[\"withUnstatedContainers\"])(PageComments, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"], _services_PageContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"], _services_CommentContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]]);\nPageComments.propTypes = {\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]).isRequired,\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"]).isRequired,\n commentContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_CommentContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]).isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_3__[\"withTranslation\"])()(PageCommentsWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUNvbW1lbnRzLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9QYWdlQ29tbWVudHMuanN4P2QyMDAiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCB7XG4gIEJ1dHRvbixcbn0gZnJvbSAncmVhY3RzdHJhcCc7XG5cbmltcG9ydCB7IHdpdGhUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuXG5pbXBvcnQgQXBwQ29udGFpbmVyIGZyb20gJy4uL3NlcnZpY2VzL0FwcENvbnRhaW5lcic7XG5pbXBvcnQgQ29tbWVudENvbnRhaW5lciBmcm9tICcuLi9zZXJ2aWNlcy9Db21tZW50Q29udGFpbmVyJztcbmltcG9ydCBQYWdlQ29udGFpbmVyIGZyb20gJy4uL3NlcnZpY2VzL1BhZ2VDb250YWluZXInO1xuXG5pbXBvcnQgeyB3aXRoVW5zdGF0ZWRDb250YWluZXJzIH0gZnJvbSAnLi9VbnN0YXRlZFV0aWxzJztcblxuaW1wb3J0IENvbW1lbnRFZGl0b3IgZnJvbSAnLi9QYWdlQ29tbWVudC9Db21tZW50RWRpdG9yJztcbmltcG9ydCBDb21tZW50IGZyb20gJy4vUGFnZUNvbW1lbnQvQ29tbWVudCc7XG5pbXBvcnQgRGVsZXRlQ29tbWVudE1vZGFsIGZyb20gJy4vUGFnZUNvbW1lbnQvRGVsZXRlQ29tbWVudE1vZGFsJztcbmltcG9ydCBSZXBsYXlDb21tZW50cyBmcm9tICcuL1BhZ2VDb21tZW50L1JlcGxheUNvbW1lbnRzJztcblxuXG4vKipcbiAqIExvYWQgZGF0YSBvZiBjb21tZW50cyBhbmQgcmVuZGVyIHRoZSBsaXN0IG9mIDxDb21tZW50IC8+XG4gKlxuICogQGF1dGhvciBZdWtpIFRha2VpIDx5dWtpQHdlc2Vlay5jby5qcD5cbiAqXG4gKiBAZXhwb3J0XG4gKiBAY2xhc3MgUGFnZUNvbW1lbnRzXG4gKiBAZXh0ZW5kcyB7UmVhY3QuQ29tcG9uZW50fVxuICovXG5jbGFzcyBQYWdlQ29tbWVudHMgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIC8vIGZvciBkZWxldGluZyBjb21tZW50XG4gICAgICBjb21tZW50VG9EZWxldGU6IHVuZGVmaW5lZCxcbiAgICAgIGlzRGVsZXRlQ29uZmlybU1vZGFsU2hvd246IGZhbHNlLFxuICAgICAgZXJyb3JNZXNzYWdlRm9yRGVsZXRpbmc6IHVuZGVmaW5lZCxcblxuICAgICAgc2hvd0VkaXRvcklkczogbmV3IFNldCgpLFxuICAgIH07XG5cbiAgICB0aGlzLmdyb3dpUmVuZGVyZXIgPSB0aGlzLnByb3BzLmFwcENvbnRhaW5lci5nZXRSZW5kZXJlcignY29tbWVudCcpO1xuXG4gICAgdGhpcy5pbml0ID0gdGhpcy5pbml0LmJpbmQodGhpcyk7XG4gICAgdGhpcy5jb25maXJtVG9EZWxldGVDb21tZW50ID0gdGhpcy5jb25maXJtVG9EZWxldGVDb21tZW50LmJpbmQodGhpcyk7XG4gICAgdGhpcy5kZWxldGVDb21tZW50ID0gdGhpcy5kZWxldGVDb21tZW50LmJpbmQodGhpcyk7XG4gICAgdGhpcy5zaG93RGVsZXRlQ29uZmlybU1vZGFsID0gdGhpcy5zaG93RGVsZXRlQ29uZmlybU1vZGFsLmJpbmQodGhpcyk7XG4gICAgdGhpcy5jbG9zZURlbGV0ZUNvbmZpcm1Nb2RhbCA9IHRoaXMuY2xvc2VEZWxldGVDb25maXJtTW9kYWwuYmluZCh0aGlzKTtcbiAgICB0aGlzLnJlcGx5QnV0dG9uQ2xpY2tlZEhhbmRsZXIgPSB0aGlzLnJlcGx5QnV0dG9uQ2xpY2tlZEhhbmRsZXIuYmluZCh0aGlzKTtcbiAgICB0aGlzLmVkaXRvckNhbmNlbEhhbmRsZXIgPSB0aGlzLmVkaXRvckNhbmNlbEhhbmRsZXIuYmluZCh0aGlzKTtcbiAgICB0aGlzLmVkaXRvckNvbW1lbnRIYW5kbGVyID0gdGhpcy5lZGl0b3JDb21tZW50SGFuZGxlci5iaW5kKHRoaXMpO1xuICAgIHRoaXMucmVzZXRFZGl0b3IgPSB0aGlzLnJlc2V0RWRpdG9yLmJpbmQodGhpcyk7XG4gIH1cblxuICBjb21wb25lbnRXaWxsTW91bnQoKSB7XG4gICAgdGhpcy5pbml0KCk7XG4gIH1cblxuICBpbml0KCkge1xuICAgIGlmICghdGhpcy5wcm9wcy5wYWdlQ29udGFpbmVyLnN0YXRlLnBhZ2VJZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucHJvcHMuY29tbWVudENvbnRhaW5lci5yZXRyaWV2ZUNvbW1lbnRzKCk7XG4gIH1cblxuICBjb25maXJtVG9EZWxldGVDb21tZW50KGNvbW1lbnQpIHtcbiAgICB0aGlzLnNldFN0YXRlKHsgY29tbWVudFRvRGVsZXRlOiBjb21tZW50IH0pO1xuICAgIHRoaXMuc2hvd0RlbGV0ZUNvbmZpcm1Nb2RhbCgpO1xuICB9XG5cbiAgZGVsZXRlQ29tbWVudCgpIHtcbiAgICBjb25zdCBjb21tZW50ID0gdGhpcy5zdGF0ZS5jb21tZW50VG9EZWxldGU7XG5cbiAgICB0aGlzLnByb3BzLmNvbW1lbnRDb250YWluZXIuZGVsZXRlQ29tbWVudChjb21tZW50KVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLmNsb3NlRGVsZXRlQ29uZmlybU1vZGFsKCk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGVycm9yTWVzc2FnZUZvckRlbGV0aW5nOiBlcnIubWVzc2FnZSB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgc2hvd0RlbGV0ZUNvbmZpcm1Nb2RhbCgpIHtcbiAgICB0aGlzLnNldFN0YXRlKHsgaXNEZWxldGVDb25maXJtTW9kYWxTaG93bjogdHJ1ZSB9KTtcbiAgfVxuXG4gIGNsb3NlRGVsZXRlQ29uZmlybU1vZGFsKCkge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgY29tbWVudFRvRGVsZXRlOiB1bmRlZmluZWQsXG4gICAgICBpc0RlbGV0ZUNvbmZpcm1Nb2RhbFNob3duOiBmYWxzZSxcbiAgICAgIGVycm9yTWVzc2FnZUZvckRlbGV0aW5nOiB1bmRlZmluZWQsXG4gICAgfSk7XG4gIH1cblxuICByZXBseUJ1dHRvbkNsaWNrZWRIYW5kbGVyKGNvbW1lbnRJZCkge1xuICAgIGNvbnN0IGlkcyA9IHRoaXMuc3RhdGUuc2hvd0VkaXRvcklkcy5hZGQoY29tbWVudElkKTtcbiAgICB0aGlzLnNldFN0YXRlKHsgc2hvd0VkaXRvcklkczogaWRzIH0pO1xuICB9XG5cbiAgZWRpdG9yQ2FuY2VsSGFuZGxlcihjb21tZW50SWQpIHtcbiAgICB0aGlzLnJlc2V0RWRpdG9yKGNvbW1lbnRJZCk7XG4gIH1cblxuICBlZGl0b3JDb21tZW50SGFuZGxlcihjb21tZW50SWQpIHtcbiAgICB0aGlzLnJlc2V0RWRpdG9yKGNvbW1lbnRJZCk7XG4gIH1cblxuICByZXNldEVkaXRvcihjb21tZW50SWQpIHtcbiAgICB0aGlzLnNldFN0YXRlKChwcmV2U3RhdGUpID0+IHtcbiAgICAgIHByZXZTdGF0ZS5zaG93RWRpdG9ySWRzLmRlbGV0ZShjb21tZW50SWQpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc2hvd0VkaXRvcklkczogcHJldlN0YXRlLnNob3dFZGl0b3JJZHMsXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgLy8gZ2V0IHJlcGxpZXMgdG8gc3BlY2lmaWMgY29tbWVudCBvYmplY3RcbiAgZ2V0UmVwbGllc0Zvcihjb21tZW50LCBhbGxSZXBsaWVzKSB7XG4gICAgY29uc3QgcmVwbHlMaXN0ID0gW107XG4gICAgYWxsUmVwbGllcy5mb3JFYWNoKChyZXBseSkgPT4ge1xuICAgICAgaWYgKHJlcGx5LnJlcGx5VG8gPT09IGNvbW1lbnQuX2lkKSB7XG4gICAgICAgIHJlcGx5TGlzdC5wdXNoKHJlcGx5KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcmVwbHlMaXN0O1xuICB9XG5cbiAgLyoqXG4gICAqIHJlbmRlciBFbGVtZW50cyBvZiBDb21tZW50IFRocmVhZFxuICAgKlxuICAgKiBAcGFyYW0ge2FueX0gY29tbWVudCBDb21tZW50IE1vZGVsIE9ialxuICAgKiBAcGFyYW0ge2FueX0gcmVwbGllcyBMaXN0IG9mIFJlcGx5IENvbW1lbnQgTW9kZWwgT2JqXG4gICAqXG4gICAqIEBtZW1iZXJPZiBQYWdlQ29tbWVudHNcbiAgICovXG4gIHJlbmRlclRocmVhZChjb21tZW50LCByZXBsaWVzKSB7XG4gICAgY29uc3QgY29tbWVudElkID0gY29tbWVudC5faWQ7XG4gICAgY29uc3Qgc2hvd0VkaXRvciA9IHRoaXMuc3RhdGUuc2hvd0VkaXRvcklkcy5oYXMoY29tbWVudElkKTtcbiAgICBjb25zdCBpc0xvZ2dlZEluID0gdGhpcy5wcm9wcy5hcHBDb250YWluZXIuY3VycmVudFVzZXIgIT0gbnVsbDtcblxuICAgIGxldCByb290Q2xhc3NOYW1lcyA9ICdwYWdlLWNvbW1lbnQtdGhyZWFkJztcbiAgICBpZiAocmVwbGllcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJvb3RDbGFzc05hbWVzICs9ICcgcGFnZS1jb21tZW50LXRocmVhZC1uby1yZXBsaWVzJztcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBrZXk9e2NvbW1lbnRJZH0gY2xhc3NOYW1lPXtyb290Q2xhc3NOYW1lc30+XG4gICAgICAgIDxDb21tZW50XG4gICAgICAgICAgY29tbWVudD17Y29tbWVudH1cbiAgICAgICAgICBkZWxldGVCdG5DbGlja2VkPXt0aGlzLmNvbmZpcm1Ub0RlbGV0ZUNvbW1lbnR9XG4gICAgICAgICAgZ3Jvd2lSZW5kZXJlcj17dGhpcy5ncm93aVJlbmRlcmVyfVxuICAgICAgICAvPlxuICAgICAgICB7cmVwbGllcy5sZW5ndGggIT09IDAgJiYgKFxuICAgICAgICA8UmVwbGF5Q29tbWVudHNcbiAgICAgICAgICByZXBseUxpc3Q9e3JlcGxpZXN9XG4gICAgICAgICAgZGVsZXRlQnRuQ2xpY2tlZD17dGhpcy5jb25maXJtVG9EZWxldGVDb21tZW50fVxuICAgICAgICAgIGdyb3dpUmVuZGVyZXI9e3RoaXMuZ3Jvd2lSZW5kZXJlcn1cbiAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgICAgeyAhc2hvd0VkaXRvciAmJiBpc0xvZ2dlZEluICYmIChcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtcmlnaHRcIj5cbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgb3V0bGluZVxuICAgICAgICAgICAgICBjb2xvcj1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImJ0bi1jb21tZW50LXJlcGx5XCJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4geyByZXR1cm4gdGhpcy5yZXBseUJ1dHRvbkNsaWNrZWRIYW5kbGVyKGNvbW1lbnRJZCkgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGkgY2xhc3NOYW1lPVwiaWNvbi1mdyBpY29uLWFjdGlvbi11bmRvXCI+PC9pPiBSZXBseVxuICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICAgIHsgc2hvd0VkaXRvciAmJiAoXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwYWdlLWNvbW1lbnQtcmVwbHktZm9ybSBtbC00IG1sLXNtLTUgbXItM1wiPlxuICAgICAgICAgICAgPENvbW1lbnRFZGl0b3JcbiAgICAgICAgICAgICAgZ3Jvd2lSZW5kZXJlcj17dGhpcy5ncm93aVJlbmRlcmVyfVxuICAgICAgICAgICAgICByZXBseVRvPXtjb21tZW50SWR9XG4gICAgICAgICAgICAgIG9uQ2FuY2VsQnV0dG9uQ2xpY2tlZD17dGhpcy5lZGl0b3JDYW5jZWxIYW5kbGVyfVxuICAgICAgICAgICAgICBvbkNvbW1lbnRCdXR0b25DbGlja2VkPXt0aGlzLmVkaXRvckNvbW1lbnRIYW5kbGVyfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgdG9wTGV2ZWxDb21tZW50cyA9IFtdO1xuICAgIGNvbnN0IGFsbFJlcGxpZXMgPSBbXTtcbiAgICBjb25zdCBjb21tZW50cyA9IHRoaXMucHJvcHMuY29tbWVudENvbnRhaW5lci5zdGF0ZS5jb21tZW50c1xuICAgICAgLnNsaWNlKCkucmV2ZXJzZSgpOyAvLyBjcmVhdGUgc2hhbGxvdyBjb3B5IGFuZCByZXZlcnNlXG5cbiAgICBjb21tZW50cy5mb3JFYWNoKChjb21tZW50KSA9PiB7XG4gICAgICBpZiAoY29tbWVudC5yZXBseVRvID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgLy8gY29tbWVudCBpcyBub3QgYSByZXBseVxuICAgICAgICB0b3BMZXZlbENvbW1lbnRzLnB1c2goY29tbWVudCk7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgLy8gY29tbWVudCBpcyBhIHJlcGx5XG4gICAgICAgIGFsbFJlcGxpZXMucHVzaChjb21tZW50KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICB7IHRvcExldmVsQ29tbWVudHMubWFwKCh0b3BMZXZlbENvbW1lbnQpID0+IHtcbiAgICAgICAgICAvLyBnZXQgcmVsYXRlZCByZXBsaWVzXG4gICAgICAgICAgY29uc3QgcmVwbGllcyA9IHRoaXMuZ2V0UmVwbGllc0Zvcih0b3BMZXZlbENvbW1lbnQsIGFsbFJlcGxpZXMpO1xuXG4gICAgICAgICAgcmV0dXJuIHRoaXMucmVuZGVyVGhyZWFkKHRvcExldmVsQ29tbWVudCwgcmVwbGllcyk7XG4gICAgICAgIH0pIH1cblxuICAgICAgICA8RGVsZXRlQ29tbWVudE1vZGFsXG4gICAgICAgICAgaXNTaG93bj17dGhpcy5zdGF0ZS5pc0RlbGV0ZUNvbmZpcm1Nb2RhbFNob3dufVxuICAgICAgICAgIGNvbW1lbnQ9e3RoaXMuc3RhdGUuY29tbWVudFRvRGVsZXRlfVxuICAgICAgICAgIGVycm9yTWVzc2FnZT17dGhpcy5zdGF0ZS5lcnJvck1lc3NhZ2VGb3JEZWxldGluZ31cbiAgICAgICAgICBjYW5jZWw9e3RoaXMuY2xvc2VEZWxldGVDb25maXJtTW9kYWx9XG4gICAgICAgICAgY29uZmlybWVkVG9EZWxldGU9e3RoaXMuZGVsZXRlQ29tbWVudH1cbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cblxufVxuXG4vKipcbiAqIFdyYXBwZXIgY29tcG9uZW50IGZvciB1c2luZyB1bnN0YXRlZFxuICovXG5jb25zdCBQYWdlQ29tbWVudHNXcmFwcGVyID0gd2l0aFVuc3RhdGVkQ29udGFpbmVycyhQYWdlQ29tbWVudHMsIFtBcHBDb250YWluZXIsIFBhZ2VDb250YWluZXIsIENvbW1lbnRDb250YWluZXJdKTtcblxuUGFnZUNvbW1lbnRzLnByb3BUeXBlcyA9IHtcbiAgYXBwQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihBcHBDb250YWluZXIpLmlzUmVxdWlyZWQsXG4gIHBhZ2VDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKFBhZ2VDb250YWluZXIpLmlzUmVxdWlyZWQsXG4gIGNvbW1lbnRDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKENvbW1lbnRDb250YWluZXIpLmlzUmVxdWlyZWQsXG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoVHJhbnNsYXRpb24oKShQYWdlQ29tbWVudHNXcmFwcGVyKTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTs7QUFNQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTs7Ozs7Ozs7OztBQVNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQU5BO0FBU0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFEQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7Ozs7Ozs7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBSEE7QUFPQTtBQUNBO0FBQ0E7QUFIQTtBQU9BO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUxBO0FBT0E7QUFBQTtBQUtBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FBVUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBU0E7QUFDQTtBQXBNQTtBQXVNQTs7Ozs7QUFHQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBSEE7QUFNQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/PageComments.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageContentFooter.jsx":
- /*!********************************************************!*\
- !*** ./src/client/js/components/PageContentFooter.jsx ***!
- \********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _Navbar_AuthorInfo__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Navbar/AuthorInfo */ \"./src/client/js/components/Navbar/AuthorInfo.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n\n\n\n\n\n\n\nconst PageContentFooter = props => {\n const {\n pageContainer\n } = props;\n const {\n createdAt,\n creator,\n updatedAt,\n revisionAuthor\n } = pageContainer.state;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"page-content-footer py-4 d-edit-none d-print-none\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"grw-container-convertible\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"page-meta\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Navbar_AuthorInfo__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n user: creator,\n date: createdAt,\n mode: \"create\",\n locate: \"footer\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Navbar_AuthorInfo__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n user: revisionAuthor,\n date: updatedAt,\n mode: \"update\",\n locate: \"footer\"\n }))));\n};\n/**\n * Wrapper component for using unstated\n */\n\n\nconst PageContentFooterWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_5__[\"withUnstatedContainers\"])(PageContentFooter, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _services_PageContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]]);\nPageContentFooter.propTypes = {\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_3__[\"default\"]).isRequired,\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]).isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (PageContentFooterWrapper);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUNvbnRlbnRGb290ZXIuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1BhZ2VDb250ZW50Rm9vdGVyLmpzeD9iZWQwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQgQXV0aG9ySW5mbyBmcm9tICcuL05hdmJhci9BdXRob3JJbmZvJztcblxuaW1wb3J0IEFwcENvbnRhaW5lciBmcm9tICcuLi9zZXJ2aWNlcy9BcHBDb250YWluZXInO1xuaW1wb3J0IFBhZ2VDb250YWluZXIgZnJvbSAnLi4vc2VydmljZXMvUGFnZUNvbnRhaW5lcic7XG5pbXBvcnQgeyB3aXRoVW5zdGF0ZWRDb250YWluZXJzIH0gZnJvbSAnLi9VbnN0YXRlZFV0aWxzJztcblxuY29uc3QgUGFnZUNvbnRlbnRGb290ZXIgPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBwYWdlQ29udGFpbmVyIH0gPSBwcm9wcztcbiAgY29uc3Qge1xuICAgIGNyZWF0ZWRBdCwgY3JlYXRvciwgdXBkYXRlZEF0LCByZXZpc2lvbkF1dGhvcixcbiAgfSA9IHBhZ2VDb250YWluZXIuc3RhdGU7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInBhZ2UtY29udGVudC1mb290ZXIgcHktNCBkLWVkaXQtbm9uZSBkLXByaW50LW5vbmVcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3J3LWNvbnRhaW5lci1jb252ZXJ0aWJsZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInBhZ2UtbWV0YVwiPlxuICAgICAgICAgIDxBdXRob3JJbmZvIHVzZXI9e2NyZWF0b3J9IGRhdGU9e2NyZWF0ZWRBdH0gbW9kZT1cImNyZWF0ZVwiIGxvY2F0ZT1cImZvb3RlclwiIC8+XG4gICAgICAgICAgPEF1dGhvckluZm8gdXNlcj17cmV2aXNpb25BdXRob3J9IGRhdGU9e3VwZGF0ZWRBdH0gbW9kZT1cInVwZGF0ZVwiIGxvY2F0ZT1cImZvb3RlclwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG4vKipcbiAqIFdyYXBwZXIgY29tcG9uZW50IGZvciB1c2luZyB1bnN0YXRlZFxuICovXG5jb25zdCBQYWdlQ29udGVudEZvb3RlcldyYXBwZXIgPSB3aXRoVW5zdGF0ZWRDb250YWluZXJzKFBhZ2VDb250ZW50Rm9vdGVyLCBbQXBwQ29udGFpbmVyLCBQYWdlQ29udGFpbmVyXSk7XG5cblxuUGFnZUNvbnRlbnRGb290ZXIucHJvcFR5cGVzID0ge1xuICBhcHBDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKEFwcENvbnRhaW5lcikuaXNSZXF1aXJlZCxcbiAgcGFnZUNvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoUGFnZUNvbnRhaW5lcikuaXNSZXF1aXJlZCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFBhZ2VDb250ZW50Rm9vdGVyV3JhcHBlcjtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFEQTtBQUlBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUVBOzs7OztBQUdBO0FBR0E7QUFDQTtBQUNBO0FBRkE7QUFLQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/PageContentFooter.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageDeleteModal.jsx":
- /*!******************************************************!*\
- !*** ./src/client/js/components/PageDeleteModal.jsx ***!
- \******************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! reactstrap/es/Modal */ \"./node_modules/reactstrap/es/Modal.js\");\n/* harmony import */ var reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! reactstrap/es/ModalHeader */ \"./node_modules/reactstrap/es/ModalHeader.js\");\n/* harmony import */ var reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! reactstrap/es/ModalBody */ \"./node_modules/reactstrap/es/ModalBody.js\");\n/* harmony import */ var reactstrap_es_ModalFooter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! reactstrap/es/ModalFooter */ \"./node_modules/reactstrap/es/ModalFooter.js\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n/* harmony import */ var _PageManagement_ApiErrorMessageList__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./PageManagement/ApiErrorMessageList */ \"./src/client/js/components/PageManagement/ApiErrorMessageList.jsx\");\n\n\n\n\n\n\n\n\n\n\nconst deleteIconAndKey = {\n completely: {\n color: 'danger',\n icon: 'fire',\n translationKey: 'completely'\n },\n temporary: {\n color: 'primary',\n icon: 'trash',\n translationKey: 'page'\n }\n};\n\nconst PageDeleteModal = props => {\n const {\n t,\n pageContainer,\n isOpen,\n onClose,\n isDeleteCompletelyModal,\n path,\n isAbleToDeleteCompletely\n } = props;\n const [isDeleteRecursively, setIsDeleteRecursively] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(true);\n const [isDeleteCompletely, setIsDeleteCompletely] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(isDeleteCompletelyModal && isAbleToDeleteCompletely);\n const deleteMode = isDeleteCompletely ? 'completely' : 'temporary';\n const [errs, setErrs] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(null);\n\n function changeIsDeleteRecursivelyHandler() {\n setIsDeleteRecursively(!isDeleteRecursively);\n }\n\n function changeIsDeleteCompletelyHandler() {\n if (!isAbleToDeleteCompletely) {\n return;\n }\n\n setIsDeleteCompletely(!isDeleteCompletely);\n }\n\n async function deletePage() {\n setErrs(null);\n\n try {\n const response = await pageContainer.deletePage(isDeleteRecursively, isDeleteCompletely);\n const trashPagePath = response.page.path;\n window.location.href = encodeURI(trashPagePath);\n } catch (err) {\n setErrs(err);\n }\n }\n\n async function deleteButtonHandler() {\n deletePage();\n }\n\n function renderDeleteRecursivelyForm() {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"custom-control custom-checkbox custom-checkbox-warning\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n className: \"custom-control-input\",\n id: \"deleteRecursively\",\n type: \"checkbox\",\n checked: isDeleteRecursively,\n onChange: changeIsDeleteRecursivelyHandler\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"custom-control-label\",\n htmlFor: \"deleteRecursively\"\n }, t('modal_delete.delete_recursively'), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"form-text text-muted mt-0\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"code\", null, path), \" \", t('modal_delete.recursively'))));\n }\n\n function renderDeleteCompletelyForm() {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"custom-control custom-checkbox custom-checkbox-danger\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n className: \"custom-control-input\",\n name: \"completely\",\n id: \"deleteCompletely\",\n type: \"checkbox\",\n disabled: !isAbleToDeleteCompletely,\n checked: isDeleteCompletely,\n onChange: changeIsDeleteCompletelyHandler\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"custom-control-label text-danger\",\n htmlFor: \"deleteCompletely\"\n }, t('modal_delete.delete_completely'), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"form-text text-muted mt-0\"\n }, \" \", t('modal_delete.completely'))), !isAbleToDeleteCompletely && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"alert alert-warning p-2 my-0\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-ban icon-fw\"\n }), t('modal_delete.delete_completely_restriction')));\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n size: \"lg\",\n isOpen: isOpen,\n toggle: onClose,\n className: \"grw-create-page\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n tag: \"h4\",\n toggle: onClose,\n className: `bg-${deleteIconAndKey[deleteMode].color} text-light`\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: `icon-fw icon-${deleteIconAndKey[deleteMode].icon}`\n }), t(`modal_delete.delete_${deleteIconAndKey[deleteMode].translationKey}`)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_4__[\"default\"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"form-group\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", null, t('modal_delete.deleting_page'), \":\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"br\", null), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"code\", null, path)), renderDeleteRecursivelyForm(), !isDeleteCompletelyModal && renderDeleteCompletelyForm()), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalFooter__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageManagement_ApiErrorMessageList__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n errs: errs\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: `btn btn-${deleteIconAndKey[deleteMode].color}`,\n onClick: deleteButtonHandler\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: `icon-${deleteIconAndKey[deleteMode].icon}`,\n \"aria-hidden\": \"true\"\n }), t(`modal_delete.delete_${deleteIconAndKey[deleteMode].translationKey}`))));\n};\n/**\n * Wrapper component for using unstated\n */\n\n\nconst PageDeleteModalWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_7__[\"withUnstatedContainers\"])(PageDeleteModal, [_services_PageContainer__WEBPACK_IMPORTED_MODULE_8__[\"default\"]]);\nPageDeleteModal.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_8__[\"default\"]).isRequired,\n isOpen: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,\n onClose: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n path: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired,\n isDeleteCompletelyModal: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n isAbleToDeleteCompletely: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool\n};\nPageDeleteModal.defaultProps = {\n isDeleteCompletelyModal: false\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_6__[\"withTranslation\"])()(PageDeleteModalWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZURlbGV0ZU1vZGFsLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9QYWdlRGVsZXRlTW9kYWwuanN4P2ExNDMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuaW1wb3J0IHtcbiAgTW9kYWwsIE1vZGFsSGVhZGVyLCBNb2RhbEJvZHksIE1vZGFsRm9vdGVyLFxufSBmcm9tICdyZWFjdHN0cmFwJztcblxuaW1wb3J0IHsgd2l0aFRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5cbmltcG9ydCB7IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMgfSBmcm9tICcuL1Vuc3RhdGVkVXRpbHMnO1xuaW1wb3J0IFBhZ2VDb250YWluZXIgZnJvbSAnLi4vc2VydmljZXMvUGFnZUNvbnRhaW5lcic7XG5cbmltcG9ydCBBcGlFcnJvck1lc3NhZ2VMaXN0IGZyb20gJy4vUGFnZU1hbmFnZW1lbnQvQXBpRXJyb3JNZXNzYWdlTGlzdCc7XG5cbmNvbnN0IGRlbGV0ZUljb25BbmRLZXkgPSB7XG4gIGNvbXBsZXRlbHk6IHtcbiAgICBjb2xvcjogJ2RhbmdlcicsXG4gICAgaWNvbjogJ2ZpcmUnLFxuICAgIHRyYW5zbGF0aW9uS2V5OiAnY29tcGxldGVseScsXG4gIH0sXG4gIHRlbXBvcmFyeToge1xuICAgIGNvbG9yOiAncHJpbWFyeScsXG4gICAgaWNvbjogJ3RyYXNoJyxcbiAgICB0cmFuc2xhdGlvbktleTogJ3BhZ2UnLFxuICB9LFxufTtcblxuY29uc3QgUGFnZURlbGV0ZU1vZGFsID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICB0LCBwYWdlQ29udGFpbmVyLCBpc09wZW4sIG9uQ2xvc2UsIGlzRGVsZXRlQ29tcGxldGVseU1vZGFsLCBwYXRoLCBpc0FibGVUb0RlbGV0ZUNvbXBsZXRlbHksXG4gIH0gPSBwcm9wcztcbiAgY29uc3QgW2lzRGVsZXRlUmVjdXJzaXZlbHksIHNldElzRGVsZXRlUmVjdXJzaXZlbHldID0gdXNlU3RhdGUodHJ1ZSk7XG4gIGNvbnN0IFtpc0RlbGV0ZUNvbXBsZXRlbHksIHNldElzRGVsZXRlQ29tcGxldGVseV0gPSB1c2VTdGF0ZShpc0RlbGV0ZUNvbXBsZXRlbHlNb2RhbCAmJiBpc0FibGVUb0RlbGV0ZUNvbXBsZXRlbHkpO1xuICBjb25zdCBkZWxldGVNb2RlID0gaXNEZWxldGVDb21wbGV0ZWx5ID8gJ2NvbXBsZXRlbHknIDogJ3RlbXBvcmFyeSc7XG5cbiAgY29uc3QgW2VycnMsIHNldEVycnNdID0gdXNlU3RhdGUobnVsbCk7XG5cbiAgZnVuY3Rpb24gY2hhbmdlSXNEZWxldGVSZWN1cnNpdmVseUhhbmRsZXIoKSB7XG4gICAgc2V0SXNEZWxldGVSZWN1cnNpdmVseSghaXNEZWxldGVSZWN1cnNpdmVseSk7XG4gIH1cblxuICBmdW5jdGlvbiBjaGFuZ2VJc0RlbGV0ZUNvbXBsZXRlbHlIYW5kbGVyKCkge1xuICAgIGlmICghaXNBYmxlVG9EZWxldGVDb21wbGV0ZWx5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHNldElzRGVsZXRlQ29tcGxldGVseSghaXNEZWxldGVDb21wbGV0ZWx5KTtcbiAgfVxuXG4gIGFzeW5jIGZ1bmN0aW9uIGRlbGV0ZVBhZ2UoKSB7XG4gICAgc2V0RXJycyhudWxsKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHBhZ2VDb250YWluZXIuZGVsZXRlUGFnZShpc0RlbGV0ZVJlY3Vyc2l2ZWx5LCBpc0RlbGV0ZUNvbXBsZXRlbHkpO1xuICAgICAgY29uc3QgdHJhc2hQYWdlUGF0aCA9IHJlc3BvbnNlLnBhZ2UucGF0aDtcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gZW5jb2RlVVJJKHRyYXNoUGFnZVBhdGgpO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICBzZXRFcnJzKGVycik7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZnVuY3Rpb24gZGVsZXRlQnV0dG9uSGFuZGxlcigpIHtcbiAgICBkZWxldGVQYWdlKCk7XG4gIH1cblxuICBmdW5jdGlvbiByZW5kZXJEZWxldGVSZWN1cnNpdmVseUZvcm0oKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY3VzdG9tLWNvbnRyb2wgY3VzdG9tLWNoZWNrYm94IGN1c3RvbS1jaGVja2JveC13YXJuaW5nXCI+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sLWlucHV0XCJcbiAgICAgICAgICBpZD1cImRlbGV0ZVJlY3Vyc2l2ZWx5XCJcbiAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgIGNoZWNrZWQ9e2lzRGVsZXRlUmVjdXJzaXZlbHl9XG4gICAgICAgICAgb25DaGFuZ2U9e2NoYW5nZUlzRGVsZXRlUmVjdXJzaXZlbHlIYW5kbGVyfVxuICAgICAgICAvPlxuICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPVwiY3VzdG9tLWNvbnRyb2wtbGFiZWxcIiBodG1sRm9yPVwiZGVsZXRlUmVjdXJzaXZlbHlcIj5cbiAgICAgICAgICB7IHQoJ21vZGFsX2RlbGV0ZS5kZWxldGVfcmVjdXJzaXZlbHknKSB9XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZm9ybS10ZXh0IHRleHQtbXV0ZWQgbXQtMFwiPjxjb2RlPntwYXRofTwvY29kZT4geyB0KCdtb2RhbF9kZWxldGUucmVjdXJzaXZlbHknKSB9PC9wPlxuICAgICAgICA8L2xhYmVsPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHJlbmRlckRlbGV0ZUNvbXBsZXRlbHlGb3JtKCkge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sIGN1c3RvbS1jaGVja2JveCBjdXN0b20tY2hlY2tib3gtZGFuZ2VyXCI+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sLWlucHV0XCJcbiAgICAgICAgICBuYW1lPVwiY29tcGxldGVseVwiXG4gICAgICAgICAgaWQ9XCJkZWxldGVDb21wbGV0ZWx5XCJcbiAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgIGRpc2FibGVkPXshaXNBYmxlVG9EZWxldGVDb21wbGV0ZWx5fVxuICAgICAgICAgIGNoZWNrZWQ9e2lzRGVsZXRlQ29tcGxldGVseX1cbiAgICAgICAgICBvbkNoYW5nZT17Y2hhbmdlSXNEZWxldGVDb21wbGV0ZWx5SGFuZGxlcn1cbiAgICAgICAgLz5cbiAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sLWxhYmVsIHRleHQtZGFuZ2VyXCIgaHRtbEZvcj1cImRlbGV0ZUNvbXBsZXRlbHlcIj5cbiAgICAgICAgICB7IHQoJ21vZGFsX2RlbGV0ZS5kZWxldGVfY29tcGxldGVseScpIH1cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJmb3JtLXRleHQgdGV4dC1tdXRlZCBtdC0wXCI+IHsgdCgnbW9kYWxfZGVsZXRlLmNvbXBsZXRlbHknKSB9PC9wPlxuICAgICAgICA8L2xhYmVsPlxuICAgICAgICB7IWlzQWJsZVRvRGVsZXRlQ29tcGxldGVseVxuICAgICAgICAmJiAoXG4gICAgICAgIDxwIGNsYXNzTmFtZT1cImFsZXJ0IGFsZXJ0LXdhcm5pbmcgcC0yIG15LTBcIj5cbiAgICAgICAgICA8aSBjbGFzc05hbWU9XCJpY29uLWJhbiBpY29uLWZ3XCI+PC9pPnsgdCgnbW9kYWxfZGVsZXRlLmRlbGV0ZV9jb21wbGV0ZWx5X3Jlc3RyaWN0aW9uJykgfVxuICAgICAgICA8L3A+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8TW9kYWwgc2l6ZT1cImxnXCIgaXNPcGVuPXtpc09wZW59IHRvZ2dsZT17b25DbG9zZX0gY2xhc3NOYW1lPVwiZ3J3LWNyZWF0ZS1wYWdlXCI+XG4gICAgICA8TW9kYWxIZWFkZXIgdGFnPVwiaDRcIiB0b2dnbGU9e29uQ2xvc2V9IGNsYXNzTmFtZT17YGJnLSR7ZGVsZXRlSWNvbkFuZEtleVtkZWxldGVNb2RlXS5jb2xvcn0gdGV4dC1saWdodGB9PlxuICAgICAgICA8aSBjbGFzc05hbWU9e2BpY29uLWZ3IGljb24tJHtkZWxldGVJY29uQW5kS2V5W2RlbGV0ZU1vZGVdLmljb259YH0+PC9pPlxuICAgICAgICB7IHQoYG1vZGFsX2RlbGV0ZS5kZWxldGVfJHtkZWxldGVJY29uQW5kS2V5W2RlbGV0ZU1vZGVdLnRyYW5zbGF0aW9uS2V5fWApIH1cbiAgICAgIDwvTW9kYWxIZWFkZXI+XG4gICAgICA8TW9kYWxCb2R5PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICA8bGFiZWw+eyB0KCdtb2RhbF9kZWxldGUuZGVsZXRpbmdfcGFnZScpIH06PC9sYWJlbD48YnIgLz5cbiAgICAgICAgICA8Y29kZT57IHBhdGggfTwvY29kZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIHtyZW5kZXJEZWxldGVSZWN1cnNpdmVseUZvcm0oKX1cbiAgICAgICAgeyFpc0RlbGV0ZUNvbXBsZXRlbHlNb2RhbCAmJiByZW5kZXJEZWxldGVDb21wbGV0ZWx5Rm9ybSgpfVxuICAgICAgPC9Nb2RhbEJvZHk+XG4gICAgICA8TW9kYWxGb290ZXI+XG4gICAgICAgIDxBcGlFcnJvck1lc3NhZ2VMaXN0IGVycnM9e2VycnN9IC8+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzTmFtZT17YGJ0biBidG4tJHtkZWxldGVJY29uQW5kS2V5W2RlbGV0ZU1vZGVdLmNvbG9yfWB9IG9uQ2xpY2s9e2RlbGV0ZUJ1dHRvbkhhbmRsZXJ9PlxuICAgICAgICAgIDxpIGNsYXNzTmFtZT17YGljb24tJHtkZWxldGVJY29uQW5kS2V5W2RlbGV0ZU1vZGVdLmljb259YH0gYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICAgIHsgdChgbW9kYWxfZGVsZXRlLmRlbGV0ZV8ke2RlbGV0ZUljb25BbmRLZXlbZGVsZXRlTW9kZV0udHJhbnNsYXRpb25LZXl9YCkgfVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvTW9kYWxGb290ZXI+XG4gICAgPC9Nb2RhbD5cblxuICApO1xufTtcblxuLyoqXG4gKiBXcmFwcGVyIGNvbXBvbmVudCBmb3IgdXNpbmcgdW5zdGF0ZWRcbiAqL1xuY29uc3QgUGFnZURlbGV0ZU1vZGFsV3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoUGFnZURlbGV0ZU1vZGFsLCBbUGFnZUNvbnRhaW5lcl0pO1xuXG5QYWdlRGVsZXRlTW9kYWwucHJvcFR5cGVzID0ge1xuICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLCAvLyAgaTE4bmV4dFxuICBwYWdlQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihQYWdlQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuXG4gIGlzT3BlbjogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgb25DbG9zZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcblxuICBwYXRoOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIGlzRGVsZXRlQ29tcGxldGVseU1vZGFsOiBQcm9wVHlwZXMuYm9vbCxcbiAgaXNBYmxlVG9EZWxldGVDb21wbGV0ZWx5OiBQcm9wVHlwZXMuYm9vbCxcbn07XG5cblBhZ2VEZWxldGVNb2RhbC5kZWZhdWx0UHJvcHMgPSB7XG4gIGlzRGVsZXRlQ29tcGxldGVseU1vZGFsOiBmYWxzZSxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhUcmFuc2xhdGlvbigpKFBhZ2VEZWxldGVNb2RhbFdyYXBwZXIpO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7Ozs7O0FBTUE7QUFFQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSEE7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBTkE7QUFDQTtBQVlBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQURBO0FBR0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFPQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFQQTtBQVNBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFJQTtBQUFBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFJQTtBQUFBO0FBUUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBT0E7QUFFQTs7Ozs7QUFHQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQVRBO0FBWUE7QUFDQTtBQURBO0FBSUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/PageDeleteModal.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageDuplicateModal.jsx":
- /*!*********************************************************!*\
- !*** ./src/client/js/components/PageDuplicateModal.jsx ***!
- \*********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! reactstrap/es/Modal */ \"./node_modules/reactstrap/es/Modal.js\");\n/* harmony import */ var reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! reactstrap/es/ModalHeader */ \"./node_modules/reactstrap/es/ModalHeader.js\");\n/* harmony import */ var reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! reactstrap/es/ModalBody */ \"./node_modules/reactstrap/es/ModalBody.js\");\n/* harmony import */ var reactstrap_es_ModalFooter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! reactstrap/es/ModalFooter */ \"./node_modules/reactstrap/es/ModalFooter.js\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var throttle_debounce__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! throttle-debounce */ \"./node_modules/throttle-debounce/index.esm.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _util_apiNotification__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../util/apiNotification */ \"./src/client/js/util/apiNotification.js\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n/* harmony import */ var _PagePathAutoComplete__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./PagePathAutoComplete */ \"./src/client/js/components/PagePathAutoComplete.jsx\");\n/* harmony import */ var _PageManagement_ApiErrorMessageList__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./PageManagement/ApiErrorMessageList */ \"./src/client/js/components/PageManagement/ApiErrorMessageList.jsx\");\n/* harmony import */ var _ComparePathsTable__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./ComparePathsTable */ \"./src/client/js/components/ComparePathsTable.jsx\");\n/* harmony import */ var _DuplicatedPathsTable__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./DuplicatedPathsTable */ \"./src/client/js/components/DuplicatedPathsTable.jsx\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst LIMIT_FOR_LIST = 10;\n\nconst PageDuplicateModal = props => {\n const {\n t,\n appContainer,\n pageContainer\n } = props;\n const config = appContainer.getConfig();\n const isReachable = config.isSearchServiceReachable;\n const {\n pageId,\n path\n } = pageContainer.state;\n const {\n crowi\n } = appContainer.config;\n const [pageNameInput, setPageNameInput] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(path);\n const [errs, setErrs] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(null);\n const [subordinatedPages, setSubordinatedPages] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])([]);\n const [isDuplicateRecursively, setIsDuplicateRecursively] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(true);\n const [isDuplicateRecursivelyWithoutExistPath, setIsDuplicateRecursivelyWithoutExistPath] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(true);\n const [existingPaths, setExistingPaths] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])([]);\n\n const checkExistPaths = async newParentPath => {\n try {\n const res = await appContainer.apiv3Get('/page/exist-paths', {\n fromPath: path,\n toPath: newParentPath\n });\n const {\n existPaths\n } = res.data;\n setExistingPaths(existPaths);\n } catch (err) {\n setErrs(err);\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_9__[\"toastError\"])(t('modal_rename.label.Fail to get exist path'));\n }\n }; // eslint-disable-next-line react-hooks/exhaustive-deps\n\n\n const checkExistPathsDebounce = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useCallback\"])(Object(throttle_debounce__WEBPACK_IMPORTED_MODULE_7__[\"debounce\"])(1000, checkExistPaths), []);\n Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useEffect\"])(() => {\n if (pageNameInput !== path) {\n checkExistPathsDebounce(pageNameInput, subordinatedPages);\n }\n }, [pageNameInput, subordinatedPages, path, checkExistPathsDebounce]);\n /**\n * change pageNameInput for PagePathAutoComplete\n * @param {string} value\n */\n\n function ppacInputChangeHandler(value) {\n setErrs(null);\n setPageNameInput(value);\n }\n /**\n * change pageNameInput\n * @param {string} value\n */\n\n\n function inputChangeHandler(value) {\n setErrs(null);\n setPageNameInput(value);\n }\n\n function changeIsDuplicateRecursivelyHandler() {\n setIsDuplicateRecursively(!isDuplicateRecursively);\n }\n\n const getSubordinatedList = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useCallback\"])(async () => {\n try {\n const res = await appContainer.apiv3Get('/pages/subordinated-list', {\n path,\n limit: LIMIT_FOR_LIST\n });\n const {\n subordinatedPaths\n } = res.data;\n setSubordinatedPages(subordinatedPaths);\n } catch (err) {\n setErrs(err);\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_9__[\"toastError\"])(t('modal_duplicate.label.Fail to get subordinated pages'));\n }\n }, [appContainer, path, t]);\n Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useEffect\"])(() => {\n if (props.isOpen) {\n getSubordinatedList();\n }\n }, [props.isOpen, getSubordinatedList]);\n\n function changeIsDuplicateRecursivelyWithoutExistPathHandler() {\n setIsDuplicateRecursivelyWithoutExistPath(!isDuplicateRecursivelyWithoutExistPath);\n }\n\n async function duplicate() {\n setErrs(null);\n\n try {\n await appContainer.apiv3Post('/pages/duplicate', {\n pageId,\n pageNameInput,\n isRecursively: isDuplicateRecursively\n });\n window.location.href = encodeURI(`${pageNameInput}?duplicated=${path}`);\n } catch (err) {\n setErrs(err);\n }\n }\n\n function ppacSubmitHandler() {\n duplicate();\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n size: \"lg\",\n isOpen: props.isOpen,\n toggle: props.onClose,\n className: \"grw-duplicate-page\",\n autoFocus: false\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n tag: \"h4\",\n toggle: props.onClose,\n className: \"bg-primary text-light\"\n }, t('modal_duplicate.label.Duplicate page')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_4__[\"default\"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"form-group\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", null, t('modal_duplicate.label.Current page name')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"br\", null), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"code\", null, path)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"form-group\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n htmlFor: \"duplicatePageName\"\n }, t('modal_duplicate.label.New page name')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"br\", null), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group-prepend\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"input-group-text\"\n }, crowi.url)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"flex-fill\"\n }, isReachable ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PagePathAutoComplete__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n initializedPath: path,\n onSubmit: ppacSubmitHandler,\n onInputChange: ppacInputChangeHandler,\n autoFocus: true\n }) : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"text\",\n value: pageNameInput,\n className: \"form-control\",\n onChange: e => inputChangeHandler(e.target.value),\n required: true\n })))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"custom-control custom-checkbox custom-checkbox-warning mb-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n className: \"custom-control-input\",\n name: \"recursively\",\n id: \"cbDuplicateRecursively\",\n type: \"checkbox\",\n checked: isDuplicateRecursively,\n onChange: changeIsDuplicateRecursivelyHandler\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"custom-control-label\",\n htmlFor: \"cbDuplicateRecursively\"\n }, t('modal_duplicate.label.Recursively'), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"form-text text-muted mt-0\"\n }, t('modal_duplicate.help.recursive'))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", null, isDuplicateRecursively && existingPaths.length !== 0 && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"custom-control custom-checkbox custom-checkbox-warning\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n className: \"custom-control-input\",\n name: \"withoutExistRecursively\",\n id: \"cbDuplicatewithoutExistRecursively\",\n type: \"checkbox\",\n checked: isDuplicateRecursivelyWithoutExistPath,\n onChange: changeIsDuplicateRecursivelyWithoutExistPathHandler\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"custom-control-label\",\n htmlFor: \"cbDuplicatewithoutExistRecursively\"\n }, t('modal_duplicate.label.Duplicate without exist path')))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", null, isDuplicateRecursively && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ComparePathsTable__WEBPACK_IMPORTED_MODULE_14__[\"default\"], {\n subordinatedPages: subordinatedPages,\n newPagePath: pageNameInput\n }), isDuplicateRecursively && existingPaths.length !== 0 && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_DuplicatedPathsTable__WEBPACK_IMPORTED_MODULE_15__[\"default\"], {\n existingPaths: existingPaths,\n oldPagePath: pageNameInput\n })))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalFooter__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageManagement_ApiErrorMessageList__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n errs: errs,\n targetPath: pageNameInput\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-primary\",\n onClick: duplicate,\n disabled: isDuplicateRecursively && !isDuplicateRecursivelyWithoutExistPath && existingPaths.length !== 0\n }, t('modal_duplicate.label.Duplicate page'))));\n};\n/**\n * Wrapper component for using unstated\n */\n\n\nconst PageDuplicateModallWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_8__[\"withUnstatedContainers\"])(PageDuplicateModal, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_10__[\"default\"], _services_PageContainer__WEBPACK_IMPORTED_MODULE_11__[\"default\"]]);\nPageDuplicateModal.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_10__[\"default\"]).isRequired,\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_11__[\"default\"]).isRequired,\n isOpen: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,\n onClose: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_6__[\"withTranslation\"])()(PageDuplicateModallWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUR1cGxpY2F0ZU1vZGFsLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9QYWdlRHVwbGljYXRlTW9kYWwuanN4P2I4OWYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QsIHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuaW1wb3J0IHtcbiAgTW9kYWwsIE1vZGFsSGVhZGVyLCBNb2RhbEJvZHksIE1vZGFsRm9vdGVyLFxufSBmcm9tICdyZWFjdHN0cmFwJztcblxuaW1wb3J0IHsgd2l0aFRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5pbXBvcnQgeyBkZWJvdW5jZSB9IGZyb20gJ3Rocm90dGxlLWRlYm91bmNlJztcbmltcG9ydCB7IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMgfSBmcm9tICcuL1Vuc3RhdGVkVXRpbHMnO1xuaW1wb3J0IHsgdG9hc3RFcnJvciB9IGZyb20gJy4uL3V0aWwvYXBpTm90aWZpY2F0aW9uJztcblxuaW1wb3J0IEFwcENvbnRhaW5lciBmcm9tICcuLi9zZXJ2aWNlcy9BcHBDb250YWluZXInO1xuaW1wb3J0IFBhZ2VDb250YWluZXIgZnJvbSAnLi4vc2VydmljZXMvUGFnZUNvbnRhaW5lcic7XG5pbXBvcnQgUGFnZVBhdGhBdXRvQ29tcGxldGUgZnJvbSAnLi9QYWdlUGF0aEF1dG9Db21wbGV0ZSc7XG5pbXBvcnQgQXBpRXJyb3JNZXNzYWdlTGlzdCBmcm9tICcuL1BhZ2VNYW5hZ2VtZW50L0FwaUVycm9yTWVzc2FnZUxpc3QnO1xuaW1wb3J0IENvbXBhcmVQYXRoc1RhYmxlIGZyb20gJy4vQ29tcGFyZVBhdGhzVGFibGUnO1xuaW1wb3J0IER1cGxpY2F0ZVBhdGhzVGFibGUgZnJvbSAnLi9EdXBsaWNhdGVkUGF0aHNUYWJsZSc7XG5cbmNvbnN0IExJTUlUX0ZPUl9MSVNUID0gMTA7XG5cbmNvbnN0IFBhZ2VEdXBsaWNhdGVNb2RhbCA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IHQsIGFwcENvbnRhaW5lciwgcGFnZUNvbnRhaW5lciB9ID0gcHJvcHM7XG5cbiAgY29uc3QgY29uZmlnID0gYXBwQ29udGFpbmVyLmdldENvbmZpZygpO1xuICBjb25zdCBpc1JlYWNoYWJsZSA9IGNvbmZpZy5pc1NlYXJjaFNlcnZpY2VSZWFjaGFibGU7XG4gIGNvbnN0IHsgcGFnZUlkLCBwYXRoIH0gPSBwYWdlQ29udGFpbmVyLnN0YXRlO1xuICBjb25zdCB7IGNyb3dpIH0gPSBhcHBDb250YWluZXIuY29uZmlnO1xuXG4gIGNvbnN0IFtwYWdlTmFtZUlucHV0LCBzZXRQYWdlTmFtZUlucHV0XSA9IHVzZVN0YXRlKHBhdGgpO1xuXG4gIGNvbnN0IFtlcnJzLCBzZXRFcnJzXSA9IHVzZVN0YXRlKG51bGwpO1xuXG4gIGNvbnN0IFtzdWJvcmRpbmF0ZWRQYWdlcywgc2V0U3Vib3JkaW5hdGVkUGFnZXNdID0gdXNlU3RhdGUoW10pO1xuICBjb25zdCBbaXNEdXBsaWNhdGVSZWN1cnNpdmVseSwgc2V0SXNEdXBsaWNhdGVSZWN1cnNpdmVseV0gPSB1c2VTdGF0ZSh0cnVlKTtcbiAgY29uc3QgW2lzRHVwbGljYXRlUmVjdXJzaXZlbHlXaXRob3V0RXhpc3RQYXRoLCBzZXRJc0R1cGxpY2F0ZVJlY3Vyc2l2ZWx5V2l0aG91dEV4aXN0UGF0aF0gPSB1c2VTdGF0ZSh0cnVlKTtcbiAgY29uc3QgW2V4aXN0aW5nUGF0aHMsIHNldEV4aXN0aW5nUGF0aHNdID0gdXNlU3RhdGUoW10pO1xuXG4gIGNvbnN0IGNoZWNrRXhpc3RQYXRocyA9IGFzeW5jKG5ld1BhcmVudFBhdGgpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgYXBwQ29udGFpbmVyLmFwaXYzR2V0KCcvcGFnZS9leGlzdC1wYXRocycsIHsgZnJvbVBhdGg6IHBhdGgsIHRvUGF0aDogbmV3UGFyZW50UGF0aCB9KTtcbiAgICAgIGNvbnN0IHsgZXhpc3RQYXRocyB9ID0gcmVzLmRhdGE7XG4gICAgICBzZXRFeGlzdGluZ1BhdGhzKGV4aXN0UGF0aHMpO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICBzZXRFcnJzKGVycik7XG4gICAgICB0b2FzdEVycm9yKHQoJ21vZGFsX3JlbmFtZS5sYWJlbC5GYWlsIHRvIGdldCBleGlzdCBwYXRoJykpO1xuICAgIH1cbiAgfTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gIGNvbnN0IGNoZWNrRXhpc3RQYXRoc0RlYm91bmNlID0gdXNlQ2FsbGJhY2soXG4gICAgZGVib3VuY2UoMTAwMCwgY2hlY2tFeGlzdFBhdGhzKSwgW10sXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocGFnZU5hbWVJbnB1dCAhPT0gcGF0aCkge1xuICAgICAgY2hlY2tFeGlzdFBhdGhzRGVib3VuY2UocGFnZU5hbWVJbnB1dCwgc3Vib3JkaW5hdGVkUGFnZXMpO1xuICAgIH1cbiAgfSwgW3BhZ2VOYW1lSW5wdXQsIHN1Ym9yZGluYXRlZFBhZ2VzLCBwYXRoLCBjaGVja0V4aXN0UGF0aHNEZWJvdW5jZV0pO1xuXG4gIC8qKlxuICAgKiBjaGFuZ2UgcGFnZU5hbWVJbnB1dCBmb3IgUGFnZVBhdGhBdXRvQ29tcGxldGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gICAqL1xuICBmdW5jdGlvbiBwcGFjSW5wdXRDaGFuZ2VIYW5kbGVyKHZhbHVlKSB7XG4gICAgc2V0RXJycyhudWxsKTtcbiAgICBzZXRQYWdlTmFtZUlucHV0KHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjaGFuZ2UgcGFnZU5hbWVJbnB1dFxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAgICovXG4gIGZ1bmN0aW9uIGlucHV0Q2hhbmdlSGFuZGxlcih2YWx1ZSkge1xuICAgIHNldEVycnMobnVsbCk7XG4gICAgc2V0UGFnZU5hbWVJbnB1dCh2YWx1ZSk7XG4gIH1cblxuICBmdW5jdGlvbiBjaGFuZ2VJc0R1cGxpY2F0ZVJlY3Vyc2l2ZWx5SGFuZGxlcigpIHtcbiAgICBzZXRJc0R1cGxpY2F0ZVJlY3Vyc2l2ZWx5KCFpc0R1cGxpY2F0ZVJlY3Vyc2l2ZWx5KTtcbiAgfVxuXG4gIGNvbnN0IGdldFN1Ym9yZGluYXRlZExpc3QgPSB1c2VDYWxsYmFjayhhc3luYygpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgYXBwQ29udGFpbmVyLmFwaXYzR2V0KCcvcGFnZXMvc3Vib3JkaW5hdGVkLWxpc3QnLCB7IHBhdGgsIGxpbWl0OiBMSU1JVF9GT1JfTElTVCB9KTtcbiAgICAgIGNvbnN0IHsgc3Vib3JkaW5hdGVkUGF0aHMgfSA9IHJlcy5kYXRhO1xuICAgICAgc2V0U3Vib3JkaW5hdGVkUGFnZXMoc3Vib3JkaW5hdGVkUGF0aHMpO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICBzZXRFcnJzKGVycik7XG4gICAgICB0b2FzdEVycm9yKHQoJ21vZGFsX2R1cGxpY2F0ZS5sYWJlbC5GYWlsIHRvIGdldCBzdWJvcmRpbmF0ZWQgcGFnZXMnKSk7XG4gICAgfVxuICB9LCBbYXBwQ29udGFpbmVyLCBwYXRoLCB0XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocHJvcHMuaXNPcGVuKSB7XG4gICAgICBnZXRTdWJvcmRpbmF0ZWRMaXN0KCk7XG4gICAgfVxuICB9LCBbcHJvcHMuaXNPcGVuLCBnZXRTdWJvcmRpbmF0ZWRMaXN0XSk7XG5cbiAgZnVuY3Rpb24gY2hhbmdlSXNEdXBsaWNhdGVSZWN1cnNpdmVseVdpdGhvdXRFeGlzdFBhdGhIYW5kbGVyKCkge1xuICAgIHNldElzRHVwbGljYXRlUmVjdXJzaXZlbHlXaXRob3V0RXhpc3RQYXRoKCFpc0R1cGxpY2F0ZVJlY3Vyc2l2ZWx5V2l0aG91dEV4aXN0UGF0aCk7XG4gIH1cblxuICBhc3luYyBmdW5jdGlvbiBkdXBsaWNhdGUoKSB7XG4gICAgc2V0RXJycyhudWxsKTtcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBhcHBDb250YWluZXIuYXBpdjNQb3N0KCcvcGFnZXMvZHVwbGljYXRlJywgeyBwYWdlSWQsIHBhZ2VOYW1lSW5wdXQsIGlzUmVjdXJzaXZlbHk6IGlzRHVwbGljYXRlUmVjdXJzaXZlbHkgfSk7XG4gICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGVuY29kZVVSSShgJHtwYWdlTmFtZUlucHV0fT9kdXBsaWNhdGVkPSR7cGF0aH1gKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgc2V0RXJycyhlcnIpO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHBwYWNTdWJtaXRIYW5kbGVyKCkge1xuICAgIGR1cGxpY2F0ZSgpO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8TW9kYWwgc2l6ZT1cImxnXCIgaXNPcGVuPXtwcm9wcy5pc09wZW59IHRvZ2dsZT17cHJvcHMub25DbG9zZX0gY2xhc3NOYW1lPVwiZ3J3LWR1cGxpY2F0ZS1wYWdlXCIgYXV0b0ZvY3VzPXtmYWxzZX0+XG4gICAgICA8TW9kYWxIZWFkZXIgdGFnPVwiaDRcIiB0b2dnbGU9e3Byb3BzLm9uQ2xvc2V9IGNsYXNzTmFtZT1cImJnLXByaW1hcnkgdGV4dC1saWdodFwiPlxuICAgICAgICB7IHQoJ21vZGFsX2R1cGxpY2F0ZS5sYWJlbC5EdXBsaWNhdGUgcGFnZScpIH1cbiAgICAgIDwvTW9kYWxIZWFkZXI+XG4gICAgICA8TW9kYWxCb2R5PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZvcm0tZ3JvdXBcIj48bGFiZWw+e3QoJ21vZGFsX2R1cGxpY2F0ZS5sYWJlbC5DdXJyZW50IHBhZ2UgbmFtZScpfTwvbGFiZWw+PGJyIC8+XG4gICAgICAgICAgPGNvZGU+e3BhdGh9PC9jb2RlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgPGxhYmVsIGh0bWxGb3I9XCJkdXBsaWNhdGVQYWdlTmFtZVwiPnsgdCgnbW9kYWxfZHVwbGljYXRlLmxhYmVsLk5ldyBwYWdlIG5hbWUnKSB9PC9sYWJlbD48YnIgLz5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImlucHV0LWdyb3VwXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImlucHV0LWdyb3VwLXByZXBlbmRcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiaW5wdXQtZ3JvdXAtdGV4dFwiPntjcm93aS51cmx9PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXgtZmlsbFwiPlxuICAgICAgICAgICAgICB7aXNSZWFjaGFibGVcbiAgICAgICAgICAgICAgPyAoXG4gICAgICAgICAgICAgICAgPFBhZ2VQYXRoQXV0b0NvbXBsZXRlXG4gICAgICAgICAgICAgICAgICBpbml0aWFsaXplZFBhdGg9e3BhdGh9XG4gICAgICAgICAgICAgICAgICBvblN1Ym1pdD17cHBhY1N1Ym1pdEhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgICBvbklucHV0Q2hhbmdlPXtwcGFjSW5wdXRDaGFuZ2VIYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgYXV0b0ZvY3VzXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICA6IChcbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtwYWdlTmFtZUlucHV0fVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtlID0+IGlucHV0Q2hhbmdlSGFuZGxlcihlLnRhcmdldC52YWx1ZSl9XG4gICAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY3VzdG9tLWNvbnRyb2wgY3VzdG9tLWNoZWNrYm94IGN1c3RvbS1jaGVja2JveC13YXJuaW5nIG1iLTNcIj5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sLWlucHV0XCJcbiAgICAgICAgICAgIG5hbWU9XCJyZWN1cnNpdmVseVwiXG4gICAgICAgICAgICBpZD1cImNiRHVwbGljYXRlUmVjdXJzaXZlbHlcIlxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIGNoZWNrZWQ9e2lzRHVwbGljYXRlUmVjdXJzaXZlbHl9XG4gICAgICAgICAgICBvbkNoYW5nZT17Y2hhbmdlSXNEdXBsaWNhdGVSZWN1cnNpdmVseUhhbmRsZXJ9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPVwiY3VzdG9tLWNvbnRyb2wtbGFiZWxcIiBodG1sRm9yPVwiY2JEdXBsaWNhdGVSZWN1cnNpdmVseVwiPlxuICAgICAgICAgICAgeyB0KCdtb2RhbF9kdXBsaWNhdGUubGFiZWwuUmVjdXJzaXZlbHknKSB9XG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJmb3JtLXRleHQgdGV4dC1tdXRlZCBtdC0wXCI+eyB0KCdtb2RhbF9kdXBsaWNhdGUuaGVscC5yZWN1cnNpdmUnKSB9PC9wPlxuICAgICAgICAgIDwvbGFiZWw+XG5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAge2lzRHVwbGljYXRlUmVjdXJzaXZlbHkgJiYgZXhpc3RpbmdQYXRocy5sZW5ndGggIT09IDAgJiYgKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjdXN0b20tY29udHJvbCBjdXN0b20tY2hlY2tib3ggY3VzdG9tLWNoZWNrYm94LXdhcm5pbmdcIj5cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiY3VzdG9tLWNvbnRyb2wtaW5wdXRcIlxuICAgICAgICAgICAgICAgIG5hbWU9XCJ3aXRob3V0RXhpc3RSZWN1cnNpdmVseVwiXG4gICAgICAgICAgICAgICAgaWQ9XCJjYkR1cGxpY2F0ZXdpdGhvdXRFeGlzdFJlY3Vyc2l2ZWx5XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgIGNoZWNrZWQ9e2lzRHVwbGljYXRlUmVjdXJzaXZlbHlXaXRob3V0RXhpc3RQYXRofVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtjaGFuZ2VJc0R1cGxpY2F0ZVJlY3Vyc2l2ZWx5V2l0aG91dEV4aXN0UGF0aEhhbmRsZXJ9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9XCJjdXN0b20tY29udHJvbC1sYWJlbFwiIGh0bWxGb3I9XCJjYkR1cGxpY2F0ZXdpdGhvdXRFeGlzdFJlY3Vyc2l2ZWx5XCI+XG4gICAgICAgICAgICAgICAgeyB0KCdtb2RhbF9kdXBsaWNhdGUubGFiZWwuRHVwbGljYXRlIHdpdGhvdXQgZXhpc3QgcGF0aCcpIH1cbiAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAge2lzRHVwbGljYXRlUmVjdXJzaXZlbHkgJiYgPENvbXBhcmVQYXRoc1RhYmxlIHN1Ym9yZGluYXRlZFBhZ2VzPXtzdWJvcmRpbmF0ZWRQYWdlc30gbmV3UGFnZVBhdGg9e3BhZ2VOYW1lSW5wdXR9IC8+fVxuICAgICAgICAgICAge2lzRHVwbGljYXRlUmVjdXJzaXZlbHkgJiYgZXhpc3RpbmdQYXRocy5sZW5ndGggIT09IDAgJiYgPER1cGxpY2F0ZVBhdGhzVGFibGUgZXhpc3RpbmdQYXRocz17ZXhpc3RpbmdQYXRoc30gb2xkUGFnZVBhdGg9e3BhZ2VOYW1lSW5wdXR9IC8+fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgPC9Nb2RhbEJvZHk+XG4gICAgICA8TW9kYWxGb290ZXI+XG4gICAgICAgIDxBcGlFcnJvck1lc3NhZ2VMaXN0IGVycnM9e2VycnN9IHRhcmdldFBhdGg9e3BhZ2VOYW1lSW5wdXR9IC8+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzc05hbWU9XCJidG4gYnRuLXByaW1hcnlcIlxuICAgICAgICAgIG9uQ2xpY2s9e2R1cGxpY2F0ZX1cbiAgICAgICAgICBkaXNhYmxlZD17KGlzRHVwbGljYXRlUmVjdXJzaXZlbHkgJiYgIWlzRHVwbGljYXRlUmVjdXJzaXZlbHlXaXRob3V0RXhpc3RQYXRoICYmIGV4aXN0aW5nUGF0aHMubGVuZ3RoICE9PSAwKX1cbiAgICAgICAgPlxuICAgICAgICAgIHsgdCgnbW9kYWxfZHVwbGljYXRlLmxhYmVsLkR1cGxpY2F0ZSBwYWdlJykgfVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvTW9kYWxGb290ZXI+XG4gICAgPC9Nb2RhbD5cbiAgKTtcbn07XG5cblxuLyoqXG4gKiBXcmFwcGVyIGNvbXBvbmVudCBmb3IgdXNpbmcgdW5zdGF0ZWRcbiAqL1xuY29uc3QgUGFnZUR1cGxpY2F0ZU1vZGFsbFdyYXBwZXIgPSB3aXRoVW5zdGF0ZWRDb250YWluZXJzKFBhZ2VEdXBsaWNhdGVNb2RhbCwgW0FwcENvbnRhaW5lciwgUGFnZUNvbnRhaW5lcl0pO1xuXG5cblBhZ2VEdXBsaWNhdGVNb2RhbC5wcm9wVHlwZXMgPSB7XG4gIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsIC8vICBpMThuZXh0XG4gIGFwcENvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoQXBwQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuICBwYWdlQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihQYWdlQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuXG4gIGlzT3BlbjogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgb25DbG9zZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhUcmFuc2xhdGlvbigpKFBhZ2VEdXBsaWNhdGVNb2RhbGxXcmFwcGVyKTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBOzs7OztBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOzs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUdBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFBQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFXQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTkE7QUFRQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBS0E7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU5BO0FBUUE7QUFBQTtBQUFBO0FBT0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQVdBO0FBR0E7Ozs7O0FBR0E7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQU5BO0FBU0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/PageDuplicateModal.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageEditor.jsx":
- /*!*************************************************!*\
- !*** ./src/client/js/components/PageEditor.jsx ***!
- \*************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @alias/logger */ \"./src/lib/service/logger/index.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_alias_logger__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var detect_indent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! detect-indent */ \"./node_modules/detect-indent/index.js\");\n/* harmony import */ var detect_indent__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(detect_indent__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var throttle_debounce__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! throttle-debounce */ \"./node_modules/throttle-debounce/index.esm.js\");\n/* harmony import */ var growi_commons__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! growi-commons */ \"./node_modules/growi-commons/src/index.js\");\n/* harmony import */ var growi_commons__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(growi_commons__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _PageEditor_Editor__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./PageEditor/Editor */ \"./src/client/js/components/PageEditor/Editor.jsx\");\n/* harmony import */ var _PageEditor_Preview__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./PageEditor/Preview */ \"./src/client/js/components/PageEditor/Preview.jsx\");\n/* harmony import */ var _PageEditor_ScrollSyncHelper__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./PageEditor/ScrollSyncHelper */ \"./src/client/js/components/PageEditor/ScrollSyncHelper.js\");\n/* harmony import */ var _services_EditorContainer__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../services/EditorContainer */ \"./src/client/js/services/EditorContainer.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst logger = _alias_logger__WEBPACK_IMPORTED_MODULE_2___default()('growi:PageEditor');\n\nclass PageEditor extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n this.previewElement = react__WEBPACK_IMPORTED_MODULE_0___default.a.createRef();\n const config = this.props.appContainer.getConfig();\n const isUploadable = config.upload.image || config.upload.file;\n const isUploadableFile = config.upload.file;\n const isMathJaxEnabled = !!config.env.MATHJAX;\n this.state = {\n markdown: this.props.pageContainer.state.markdown,\n isUploadable,\n isUploadableFile,\n isMathJaxEnabled\n };\n this.setCaretLine = this.setCaretLine.bind(this);\n this.focusToEditor = this.focusToEditor.bind(this);\n this.onMarkdownChanged = this.onMarkdownChanged.bind(this);\n this.onSaveWithShortcut = this.onSaveWithShortcut.bind(this);\n this.onUpload = this.onUpload.bind(this);\n this.onEditorScroll = this.onEditorScroll.bind(this);\n this.onEditorScrollCursorIntoView = this.onEditorScrollCursorIntoView.bind(this);\n this.onPreviewScroll = this.onPreviewScroll.bind(this);\n this.saveDraft = this.saveDraft.bind(this);\n this.clearDraft = this.clearDraft.bind(this); // for scrolling\n\n this.lastScrolledDateWithCursor = null;\n this.isOriginOfScrollSyncEditor = false;\n this.isOriginOfScrollSyncEditor = false; // create throttled function\n\n this.scrollPreviewByEditorLineWithThrottle = Object(throttle_debounce__WEBPACK_IMPORTED_MODULE_4__[\"throttle\"])(20, this.scrollPreviewByEditorLine);\n this.scrollPreviewByCursorMovingWithThrottle = Object(throttle_debounce__WEBPACK_IMPORTED_MODULE_4__[\"throttle\"])(20, this.scrollPreviewByCursorMoving);\n this.scrollEditorByPreviewScrollWithThrottle = Object(throttle_debounce__WEBPACK_IMPORTED_MODULE_4__[\"throttle\"])(20, this.scrollEditorByPreviewScroll);\n this.setMarkdownStateWithDebounce = Object(throttle_debounce__WEBPACK_IMPORTED_MODULE_4__[\"debounce\"])(50, Object(throttle_debounce__WEBPACK_IMPORTED_MODULE_4__[\"throttle\"])(100, value => {\n this.setState({\n markdown: value\n });\n }));\n this.saveDraftWithDebounce = Object(throttle_debounce__WEBPACK_IMPORTED_MODULE_4__[\"debounce\"])(800, this.saveDraft); // Detect indent size from contents (only when users are allowed to change it)\n // TODO: https://youtrack.weseek.co.jp/issue/GW-5368\n\n if (!this.props.appContainer.config.isIndentSizeForced && this.state.markdown) {\n const detectedIndent = detect_indent__WEBPACK_IMPORTED_MODULE_3___default()(this.state.markdown);\n\n if (detectedIndent.type === 'space' && new Set([2, 4]).has(detectedIndent.amount)) {\n this.props.editorContainer.setState({\n indentSize: detectedIndent.amount\n });\n }\n }\n }\n\n componentWillMount() {\n this.props.appContainer.registerComponentInstance('PageEditor', this);\n }\n\n getMarkdown() {\n return this.state.markdown;\n }\n\n updateEditorValue(markdown) {\n this.editor.setValue(markdown);\n }\n\n focusToEditor() {\n this.editor.forceToFocus();\n }\n /**\n * set caret position of editor\n * @param {number} line\n */\n\n\n setCaretLine(line) {\n this.editor.setCaretLine(line);\n _PageEditor_ScrollSyncHelper__WEBPACK_IMPORTED_MODULE_11__[\"default\"].scrollPreview(this.previewElement, line);\n }\n /**\n * the change event handler for `markdown` state\n * @param {string} value\n */\n\n\n onMarkdownChanged(value) {\n const {\n pageContainer\n } = this.props;\n this.setMarkdownStateWithDebounce(value); // only when the first time to edit\n\n if (!pageContainer.state.revisionId) {\n this.saveDraftWithDebounce();\n }\n } // Displays an alert if there is a difference with pageContainer's markdown\n\n\n componentDidUpdate(prevProps, prevState) {\n const {\n pageContainer,\n editorContainer\n } = this.props;\n\n if (this.state.markdown !== prevState.markdown) {\n if (pageContainer.state.markdown !== this.state.markdown) {\n editorContainer.enableUnsavedWarning();\n }\n }\n }\n /**\n * save and update state of containers\n */\n\n\n async onSaveWithShortcut() {\n const {\n pageContainer,\n editorContainer\n } = this.props;\n const optionsToSave = editorContainer.getCurrentOptionsToSave();\n\n try {\n // disable unsaved warning\n editorContainer.disableUnsavedWarning(); // eslint-disable-next-line no-unused-vars\n\n const {\n page,\n tags\n } = await pageContainer.save(this.state.markdown, optionsToSave);\n logger.debug('success to save');\n pageContainer.showSuccessToastr(); // update state of EditorContainer\n\n editorContainer.setState({\n tags\n });\n } catch (error) {\n logger.error('failed to save', error);\n pageContainer.showErrorToastr(error);\n }\n }\n /**\n * the upload event handler\n * @param {any} file\n */\n\n\n async onUpload(file) {\n const {\n appContainer,\n pageContainer,\n editorContainer\n } = this.props;\n\n try {\n let res = await appContainer.apiGet('/attachments.limit', {\n fileSize: file.size\n });\n\n if (!res.isUploadable) {\n throw new Error(res.errorMessage);\n }\n\n const formData = new FormData();\n const {\n pageId,\n path\n } = pageContainer.state;\n formData.append('_csrf', appContainer.csrfToken);\n formData.append('file', file);\n formData.append('path', path);\n\n if (pageId != null) {\n formData.append('page_id', pageContainer.state.pageId);\n }\n\n res = await appContainer.apiPost('/attachments.add', formData);\n const attachment = res.attachment;\n const fileName = attachment.originalName;\n let insertText = `[${fileName}](${attachment.filePathProxied})`; // when image\n\n if (attachment.fileFormat.startsWith('image/')) {\n // modify to \"\" syntax\n insertText = `!${insertText}`;\n }\n\n this.editor.insertText(insertText); // when if created newly\n\n if (res.pageCreated) {\n logger.info('Page is created', res.page._id);\n pageContainer.updateStateAfterSave(res.page, res.tags, res.revision);\n editorContainer.setState({\n grant: res.page.grant\n });\n }\n } catch (e) {\n logger.error('failed to upload', e);\n pageContainer.showErrorToastr(e);\n } finally {\n this.editor.terminateUploadingState();\n }\n }\n /**\n * the scroll event handler from codemirror\n * @param {any} data {left, top, width, height, clientWidth, clientHeight} object that represents the current scroll position,\n * the size of the scrollable area, and the size of the visible area (minus scrollbars).\n * And data.line is also available that is added by Editor component\n * @see https://codemirror.net/doc/manual.html#events\n */\n\n\n onEditorScroll(data) {\n // prevent scrolling\n // if the elapsed time from last scroll with cursor is shorter than 40ms\n const now = new Date();\n\n if (now - this.lastScrolledDateWithCursor < 40) {\n return;\n }\n\n this.scrollPreviewByEditorLineWithThrottle(data.line);\n }\n /**\n * the scroll event handler from codemirror\n * @param {number} line\n * @see https://codemirror.net/doc/manual.html#events\n */\n\n\n onEditorScrollCursorIntoView(line) {\n // record date\n this.lastScrolledDateWithCursor = new Date();\n this.scrollPreviewByCursorMovingWithThrottle(line);\n }\n /**\n * scroll Preview element by scroll event\n * @param {number} line\n */\n\n\n scrollPreviewByEditorLine(line) {\n if (this.previewElement == null) {\n return;\n } // prevent circular invocation\n\n\n if (this.isOriginOfScrollSyncPreview) {\n this.isOriginOfScrollSyncPreview = false; // turn off the flag\n\n return;\n } // turn on the flag\n\n\n this.isOriginOfScrollSyncEditor = true;\n _PageEditor_ScrollSyncHelper__WEBPACK_IMPORTED_MODULE_11__[\"default\"].scrollPreview(this.previewElement, line);\n }\n /**\n * scroll Preview element by cursor moving\n * @param {number} line\n */\n\n\n scrollPreviewByCursorMoving(line) {\n if (this.previewElement == null) {\n return;\n } // prevent circular invocation\n\n\n if (this.isOriginOfScrollSyncPreview) {\n this.isOriginOfScrollSyncPreview = false; // turn off the flag\n\n return;\n } // turn on the flag\n\n\n this.isOriginOfScrollSyncEditor = true;\n _PageEditor_ScrollSyncHelper__WEBPACK_IMPORTED_MODULE_11__[\"default\"].scrollPreviewToRevealOverflowing(this.previewElement, line);\n }\n /**\n * the scroll event handler from Preview component\n * @param {number} offset\n */\n\n\n onPreviewScroll(offset) {\n this.scrollEditorByPreviewScrollWithThrottle(offset);\n }\n /**\n * scroll Editor component by scroll event of Preview component\n * @param {number} offset\n */\n\n\n scrollEditorByPreviewScroll(offset) {\n if (this.previewElement == null) {\n return;\n } // prevent circular invocation\n\n\n if (this.isOriginOfScrollSyncEditor) {\n this.isOriginOfScrollSyncEditor = false; // turn off the flag\n\n return;\n } // turn on the flag\n\n\n this.isOriginOfScrollSyncPreview = true;\n _PageEditor_ScrollSyncHelper__WEBPACK_IMPORTED_MODULE_11__[\"default\"].scrollEditor(this.editor, this.previewElement, offset);\n }\n\n saveDraft() {\n const {\n pageContainer,\n editorContainer\n } = this.props;\n editorContainer.saveDraft(pageContainer.state.path, this.state.markdown);\n }\n\n clearDraft() {\n this.props.editorContainer.clearDraft(this.props.pageContainer.state.path);\n }\n\n render() {\n const config = this.props.appContainer.getConfig();\n const noCdn = growi_commons__WEBPACK_IMPORTED_MODULE_5__[\"envUtils\"].toBoolean(config.env.NO_CDN);\n const emojiStrategy = this.props.appContainer.getEmojiStrategy();\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"d-flex flex-wrap\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"page-editor-editor-container flex-grow-1 flex-basis-0 mw-0\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageEditor_Editor__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n ref: c => {\n this.editor = c;\n },\n value: this.state.markdown,\n noCdn: noCdn,\n isMobile: this.props.appContainer.isMobile,\n isUploadable: this.state.isUploadable,\n isUploadableFile: this.state.isUploadableFile,\n emojiStrategy: emojiStrategy,\n onScroll: this.onEditorScroll,\n onScrollCursorIntoView: this.onEditorScrollCursorIntoView,\n onChange: this.onMarkdownChanged,\n onUpload: this.onUpload,\n onSave: this.onSaveWithShortcut\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"d-none d-lg-block page-editor-preview-container flex-grow-1 flex-basis-0 mw-0\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageEditor_Preview__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n markdown: this.state.markdown // eslint-disable-next-line no-return-assign\n ,\n inputRef: el => {\n return this.previewElement = el;\n },\n isMathJaxEnabled: this.state.isMathJaxEnabled,\n renderMathJaxOnInit: false,\n onScroll: this.onPreviewScroll\n })));\n }\n\n}\n/**\n * Wrapper component for using unstated\n */\n\n\nconst PageEditorWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_8__[\"withUnstatedContainers\"])(PageEditor, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"], _services_PageContainer__WEBPACK_IMPORTED_MODULE_7__[\"default\"], _services_EditorContainer__WEBPACK_IMPORTED_MODULE_12__[\"default\"]]);\nPageEditor.propTypes = {\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"]).isRequired,\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_7__[\"default\"]).isRequired,\n editorContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_EditorContainer__WEBPACK_IMPORTED_MODULE_12__[\"default\"]).isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (PageEditorWrapper);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci5qc3g/ZWI4YiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBsb2dnZXJGYWN0b3J5IGZyb20gJ0BhbGlhcy9sb2dnZXInO1xuaW1wb3J0IGRldGVjdEluZGVudCBmcm9tICdkZXRlY3QtaW5kZW50JztcblxuaW1wb3J0IHsgdGhyb3R0bGUsIGRlYm91bmNlIH0gZnJvbSAndGhyb3R0bGUtZGVib3VuY2UnO1xuaW1wb3J0IHsgZW52VXRpbHMgfSBmcm9tICdncm93aS1jb21tb25zJztcblxuaW1wb3J0IEFwcENvbnRhaW5lciBmcm9tICcuLi9zZXJ2aWNlcy9BcHBDb250YWluZXInO1xuaW1wb3J0IFBhZ2VDb250YWluZXIgZnJvbSAnLi4vc2VydmljZXMvUGFnZUNvbnRhaW5lcic7XG5cbmltcG9ydCB7IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMgfSBmcm9tICcuL1Vuc3RhdGVkVXRpbHMnO1xuaW1wb3J0IEVkaXRvciBmcm9tICcuL1BhZ2VFZGl0b3IvRWRpdG9yJztcbmltcG9ydCBQcmV2aWV3IGZyb20gJy4vUGFnZUVkaXRvci9QcmV2aWV3JztcbmltcG9ydCBzY3JvbGxTeW5jSGVscGVyIGZyb20gJy4vUGFnZUVkaXRvci9TY3JvbGxTeW5jSGVscGVyJztcbmltcG9ydCBFZGl0b3JDb250YWluZXIgZnJvbSAnLi4vc2VydmljZXMvRWRpdG9yQ29udGFpbmVyJztcblxuY29uc3QgbG9nZ2VyID0gbG9nZ2VyRmFjdG9yeSgnZ3Jvd2k6UGFnZUVkaXRvcicpO1xuXG5jbGFzcyBQYWdlRWRpdG9yIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcblxuICAgIHRoaXMucHJldmlld0VsZW1lbnQgPSBSZWFjdC5jcmVhdGVSZWYoKTtcblxuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMucHJvcHMuYXBwQ29udGFpbmVyLmdldENvbmZpZygpO1xuICAgIGNvbnN0IGlzVXBsb2FkYWJsZSA9IGNvbmZpZy51cGxvYWQuaW1hZ2UgfHwgY29uZmlnLnVwbG9hZC5maWxlO1xuICAgIGNvbnN0IGlzVXBsb2FkYWJsZUZpbGUgPSBjb25maWcudXBsb2FkLmZpbGU7XG4gICAgY29uc3QgaXNNYXRoSmF4RW5hYmxlZCA9ICEhY29uZmlnLmVudi5NQVRISkFYO1xuXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIG1hcmtkb3duOiB0aGlzLnByb3BzLnBhZ2VDb250YWluZXIuc3RhdGUubWFya2Rvd24sXG4gICAgICBpc1VwbG9hZGFibGUsXG4gICAgICBpc1VwbG9hZGFibGVGaWxlLFxuICAgICAgaXNNYXRoSmF4RW5hYmxlZCxcbiAgICB9O1xuXG4gICAgdGhpcy5zZXRDYXJldExpbmUgPSB0aGlzLnNldENhcmV0TGluZS5iaW5kKHRoaXMpO1xuICAgIHRoaXMuZm9jdXNUb0VkaXRvciA9IHRoaXMuZm9jdXNUb0VkaXRvci5iaW5kKHRoaXMpO1xuICAgIHRoaXMub25NYXJrZG93bkNoYW5nZWQgPSB0aGlzLm9uTWFya2Rvd25DaGFuZ2VkLmJpbmQodGhpcyk7XG4gICAgdGhpcy5vblNhdmVXaXRoU2hvcnRjdXQgPSB0aGlzLm9uU2F2ZVdpdGhTaG9ydGN1dC5iaW5kKHRoaXMpO1xuICAgIHRoaXMub25VcGxvYWQgPSB0aGlzLm9uVXBsb2FkLmJpbmQodGhpcyk7XG4gICAgdGhpcy5vbkVkaXRvclNjcm9sbCA9IHRoaXMub25FZGl0b3JTY3JvbGwuYmluZCh0aGlzKTtcbiAgICB0aGlzLm9uRWRpdG9yU2Nyb2xsQ3Vyc29ySW50b1ZpZXcgPSB0aGlzLm9uRWRpdG9yU2Nyb2xsQ3Vyc29ySW50b1ZpZXcuYmluZCh0aGlzKTtcbiAgICB0aGlzLm9uUHJldmlld1Njcm9sbCA9IHRoaXMub25QcmV2aWV3U2Nyb2xsLmJpbmQodGhpcyk7XG4gICAgdGhpcy5zYXZlRHJhZnQgPSB0aGlzLnNhdmVEcmFmdC5iaW5kKHRoaXMpO1xuICAgIHRoaXMuY2xlYXJEcmFmdCA9IHRoaXMuY2xlYXJEcmFmdC5iaW5kKHRoaXMpO1xuXG4gICAgLy8gZm9yIHNjcm9sbGluZ1xuICAgIHRoaXMubGFzdFNjcm9sbGVkRGF0ZVdpdGhDdXJzb3IgPSBudWxsO1xuICAgIHRoaXMuaXNPcmlnaW5PZlNjcm9sbFN5bmNFZGl0b3IgPSBmYWxzZTtcbiAgICB0aGlzLmlzT3JpZ2luT2ZTY3JvbGxTeW5jRWRpdG9yID0gZmFsc2U7XG5cbiAgICAvLyBjcmVhdGUgdGhyb3R0bGVkIGZ1bmN0aW9uXG4gICAgdGhpcy5zY3JvbGxQcmV2aWV3QnlFZGl0b3JMaW5lV2l0aFRocm90dGxlID0gdGhyb3R0bGUoMjAsIHRoaXMuc2Nyb2xsUHJldmlld0J5RWRpdG9yTGluZSk7XG4gICAgdGhpcy5zY3JvbGxQcmV2aWV3QnlDdXJzb3JNb3ZpbmdXaXRoVGhyb3R0bGUgPSB0aHJvdHRsZSgyMCwgdGhpcy5zY3JvbGxQcmV2aWV3QnlDdXJzb3JNb3ZpbmcpO1xuICAgIHRoaXMuc2Nyb2xsRWRpdG9yQnlQcmV2aWV3U2Nyb2xsV2l0aFRocm90dGxlID0gdGhyb3R0bGUoMjAsIHRoaXMuc2Nyb2xsRWRpdG9yQnlQcmV2aWV3U2Nyb2xsKTtcbiAgICB0aGlzLnNldE1hcmtkb3duU3RhdGVXaXRoRGVib3VuY2UgPSBkZWJvdW5jZSg1MCwgdGhyb3R0bGUoMTAwLCAodmFsdWUpID0+IHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBtYXJrZG93bjogdmFsdWUgfSk7XG4gICAgfSkpO1xuICAgIHRoaXMuc2F2ZURyYWZ0V2l0aERlYm91bmNlID0gZGVib3VuY2UoODAwLCB0aGlzLnNhdmVEcmFmdCk7XG5cbiAgICAvLyBEZXRlY3QgaW5kZW50IHNpemUgZnJvbSBjb250ZW50cyAob25seSB3aGVuIHVzZXJzIGFyZSBhbGxvd2VkIHRvIGNoYW5nZSBpdClcbiAgICAvLyBUT0RPOiBodHRwczovL3lvdXRyYWNrLndlc2Vlay5jby5qcC9pc3N1ZS9HVy01MzY4XG4gICAgaWYgKCF0aGlzLnByb3BzLmFwcENvbnRhaW5lci5jb25maWcuaXNJbmRlbnRTaXplRm9yY2VkICYmIHRoaXMuc3RhdGUubWFya2Rvd24pIHtcbiAgICAgIGNvbnN0IGRldGVjdGVkSW5kZW50ID0gZGV0ZWN0SW5kZW50KHRoaXMuc3RhdGUubWFya2Rvd24pO1xuICAgICAgaWYgKGRldGVjdGVkSW5kZW50LnR5cGUgPT09ICdzcGFjZScgJiYgbmV3IFNldChbMiwgNF0pLmhhcyhkZXRlY3RlZEluZGVudC5hbW91bnQpKSB7XG4gICAgICAgIHRoaXMucHJvcHMuZWRpdG9yQ29udGFpbmVyLnNldFN0YXRlKHsgaW5kZW50U2l6ZTogZGV0ZWN0ZWRJbmRlbnQuYW1vdW50IH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudFdpbGxNb3VudCgpIHtcbiAgICB0aGlzLnByb3BzLmFwcENvbnRhaW5lci5yZWdpc3RlckNvbXBvbmVudEluc3RhbmNlKCdQYWdlRWRpdG9yJywgdGhpcyk7XG4gIH1cblxuICBnZXRNYXJrZG93bigpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5tYXJrZG93bjtcbiAgfVxuXG4gIHVwZGF0ZUVkaXRvclZhbHVlKG1hcmtkb3duKSB7XG4gICAgdGhpcy5lZGl0b3Iuc2V0VmFsdWUobWFya2Rvd24pO1xuICB9XG5cbiAgZm9jdXNUb0VkaXRvcigpIHtcbiAgICB0aGlzLmVkaXRvci5mb3JjZVRvRm9jdXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBzZXQgY2FyZXQgcG9zaXRpb24gb2YgZWRpdG9yXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBsaW5lXG4gICAqL1xuICBzZXRDYXJldExpbmUobGluZSkge1xuICAgIHRoaXMuZWRpdG9yLnNldENhcmV0TGluZShsaW5lKTtcbiAgICBzY3JvbGxTeW5jSGVscGVyLnNjcm9sbFByZXZpZXcodGhpcy5wcmV2aWV3RWxlbWVudCwgbGluZSk7XG4gIH1cblxuICAvKipcbiAgICogdGhlIGNoYW5nZSBldmVudCBoYW5kbGVyIGZvciBgbWFya2Rvd25gIHN0YXRlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICAgKi9cbiAgb25NYXJrZG93bkNoYW5nZWQodmFsdWUpIHtcbiAgICBjb25zdCB7IHBhZ2VDb250YWluZXIgfSA9IHRoaXMucHJvcHM7XG4gICAgdGhpcy5zZXRNYXJrZG93blN0YXRlV2l0aERlYm91bmNlKHZhbHVlKTtcbiAgICAvLyBvbmx5IHdoZW4gdGhlIGZpcnN0IHRpbWUgdG8gZWRpdFxuICAgIGlmICghcGFnZUNvbnRhaW5lci5zdGF0ZS5yZXZpc2lvbklkKSB7XG4gICAgICB0aGlzLnNhdmVEcmFmdFdpdGhEZWJvdW5jZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc3BsYXlzIGFuIGFsZXJ0IGlmIHRoZXJlIGlzIGEgZGlmZmVyZW5jZSB3aXRoIHBhZ2VDb250YWluZXIncyBtYXJrZG93blxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzLCBwcmV2U3RhdGUpIHtcbiAgICBjb25zdCB7IHBhZ2VDb250YWluZXIsIGVkaXRvckNvbnRhaW5lciB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmICh0aGlzLnN0YXRlLm1hcmtkb3duICE9PSBwcmV2U3RhdGUubWFya2Rvd24pIHtcbiAgICAgIGlmIChwYWdlQ29udGFpbmVyLnN0YXRlLm1hcmtkb3duICE9PSB0aGlzLnN0YXRlLm1hcmtkb3duKSB7XG4gICAgICAgIGVkaXRvckNvbnRhaW5lci5lbmFibGVVbnNhdmVkV2FybmluZygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBzYXZlIGFuZCB1cGRhdGUgc3RhdGUgb2YgY29udGFpbmVyc1xuICAgKi9cbiAgYXN5bmMgb25TYXZlV2l0aFNob3J0Y3V0KCkge1xuICAgIGNvbnN0IHsgcGFnZUNvbnRhaW5lciwgZWRpdG9yQ29udGFpbmVyIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IG9wdGlvbnNUb1NhdmUgPSBlZGl0b3JDb250YWluZXIuZ2V0Q3VycmVudE9wdGlvbnNUb1NhdmUoKTtcblxuICAgIHRyeSB7XG4gICAgICAvLyBkaXNhYmxlIHVuc2F2ZWQgd2FybmluZ1xuICAgICAgZWRpdG9yQ29udGFpbmVyLmRpc2FibGVVbnNhdmVkV2FybmluZygpO1xuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICAgIGNvbnN0IHsgcGFnZSwgdGFncyB9ID0gYXdhaXQgcGFnZUNvbnRhaW5lci5zYXZlKHRoaXMuc3RhdGUubWFya2Rvd24sIG9wdGlvbnNUb1NhdmUpO1xuICAgICAgbG9nZ2VyLmRlYnVnKCdzdWNjZXNzIHRvIHNhdmUnKTtcblxuICAgICAgcGFnZUNvbnRhaW5lci5zaG93U3VjY2Vzc1RvYXN0cigpO1xuXG4gICAgICAvLyB1cGRhdGUgc3RhdGUgb2YgRWRpdG9yQ29udGFpbmVyXG4gICAgICBlZGl0b3JDb250YWluZXIuc2V0U3RhdGUoeyB0YWdzIH0pO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGxvZ2dlci5lcnJvcignZmFpbGVkIHRvIHNhdmUnLCBlcnJvcik7XG4gICAgICBwYWdlQ29udGFpbmVyLnNob3dFcnJvclRvYXN0cihlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIHRoZSB1cGxvYWQgZXZlbnQgaGFuZGxlclxuICAgKiBAcGFyYW0ge2FueX0gZmlsZVxuICAgKi9cbiAgYXN5bmMgb25VcGxvYWQoZmlsZSkge1xuICAgIGNvbnN0IHsgYXBwQ29udGFpbmVyLCBwYWdlQ29udGFpbmVyLCBlZGl0b3JDb250YWluZXIgfSA9IHRoaXMucHJvcHM7XG5cbiAgICB0cnkge1xuICAgICAgbGV0IHJlcyA9IGF3YWl0IGFwcENvbnRhaW5lci5hcGlHZXQoJy9hdHRhY2htZW50cy5saW1pdCcsIHtcbiAgICAgICAgZmlsZVNpemU6IGZpbGUuc2l6ZSxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoIXJlcy5pc1VwbG9hZGFibGUpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKHJlcy5lcnJvck1lc3NhZ2UpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgICAgY29uc3QgeyBwYWdlSWQsIHBhdGggfSA9IHBhZ2VDb250YWluZXIuc3RhdGU7XG4gICAgICBmb3JtRGF0YS5hcHBlbmQoJ19jc3JmJywgYXBwQ29udGFpbmVyLmNzcmZUb2tlbik7XG4gICAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBmaWxlKTtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgncGF0aCcsIHBhdGgpO1xuICAgICAgaWYgKHBhZ2VJZCAhPSBudWxsKSB7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgncGFnZV9pZCcsIHBhZ2VDb250YWluZXIuc3RhdGUucGFnZUlkKTtcbiAgICAgIH1cblxuICAgICAgcmVzID0gYXdhaXQgYXBwQ29udGFpbmVyLmFwaVBvc3QoJy9hdHRhY2htZW50cy5hZGQnLCBmb3JtRGF0YSk7XG4gICAgICBjb25zdCBhdHRhY2htZW50ID0gcmVzLmF0dGFjaG1lbnQ7XG4gICAgICBjb25zdCBmaWxlTmFtZSA9IGF0dGFjaG1lbnQub3JpZ2luYWxOYW1lO1xuXG4gICAgICBsZXQgaW5zZXJ0VGV4dCA9IGBbJHtmaWxlTmFtZX1dKCR7YXR0YWNobWVudC5maWxlUGF0aFByb3hpZWR9KWA7XG4gICAgICAvLyB3aGVuIGltYWdlXG4gICAgICBpZiAoYXR0YWNobWVudC5maWxlRm9ybWF0LnN0YXJ0c1dpdGgoJ2ltYWdlLycpKSB7XG4gICAgICAgIC8vIG1vZGlmeSB0byBcIiFbZmlsZU5hbWVdKHVybClcIiBzeW50YXhcbiAgICAgICAgaW5zZXJ0VGV4dCA9IGAhJHtpbnNlcnRUZXh0fWA7XG4gICAgICB9XG4gICAgICB0aGlzLmVkaXRvci5pbnNlcnRUZXh0KGluc2VydFRleHQpO1xuXG4gICAgICAvLyB3aGVuIGlmIGNyZWF0ZWQgbmV3bHlcbiAgICAgIGlmIChyZXMucGFnZUNyZWF0ZWQpIHtcbiAgICAgICAgbG9nZ2VyLmluZm8oJ1BhZ2UgaXMgY3JlYXRlZCcsIHJlcy5wYWdlLl9pZCk7XG4gICAgICAgIHBhZ2VDb250YWluZXIudXBkYXRlU3RhdGVBZnRlclNhdmUocmVzLnBhZ2UsIHJlcy50YWdzLCByZXMucmV2aXNpb24pO1xuICAgICAgICBlZGl0b3JDb250YWluZXIuc2V0U3RhdGUoeyBncmFudDogcmVzLnBhZ2UuZ3JhbnQgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIGNhdGNoIChlKSB7XG4gICAgICBsb2dnZXIuZXJyb3IoJ2ZhaWxlZCB0byB1cGxvYWQnLCBlKTtcbiAgICAgIHBhZ2VDb250YWluZXIuc2hvd0Vycm9yVG9hc3RyKGUpO1xuICAgIH1cbiAgICBmaW5hbGx5IHtcbiAgICAgIHRoaXMuZWRpdG9yLnRlcm1pbmF0ZVVwbG9hZGluZ1N0YXRlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIHRoZSBzY3JvbGwgZXZlbnQgaGFuZGxlciBmcm9tIGNvZGVtaXJyb3JcbiAgICogQHBhcmFtIHthbnl9IGRhdGEge2xlZnQsIHRvcCwgd2lkdGgsIGhlaWdodCwgY2xpZW50V2lkdGgsIGNsaWVudEhlaWdodH0gb2JqZWN0IHRoYXQgcmVwcmVzZW50cyB0aGUgY3VycmVudCBzY3JvbGwgcG9zaXRpb24sXG4gICAqICAgICAgICAgICAgICAgICAgICB0aGUgc2l6ZSBvZiB0aGUgc2Nyb2xsYWJsZSBhcmVhLCBhbmQgdGhlIHNpemUgb2YgdGhlIHZpc2libGUgYXJlYSAobWludXMgc2Nyb2xsYmFycykuXG4gICAqICAgICAgICAgICAgICAgICAgICBBbmQgZGF0YS5saW5lIGlzIGFsc28gYXZhaWxhYmxlIHRoYXQgaXMgYWRkZWQgYnkgRWRpdG9yIGNvbXBvbmVudFxuICAgKiBAc2VlIGh0dHBzOi8vY29kZW1pcnJvci5uZXQvZG9jL21hbnVhbC5odG1sI2V2ZW50c1xuICAgKi9cbiAgb25FZGl0b3JTY3JvbGwoZGF0YSkge1xuICAgIC8vIHByZXZlbnQgc2Nyb2xsaW5nXG4gICAgLy8gICBpZiB0aGUgZWxhcHNlZCB0aW1lIGZyb20gbGFzdCBzY3JvbGwgd2l0aCBjdXJzb3IgaXMgc2hvcnRlciB0aGFuIDQwbXNcbiAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xuICAgIGlmIChub3cgLSB0aGlzLmxhc3RTY3JvbGxlZERhdGVXaXRoQ3Vyc29yIDwgNDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNjcm9sbFByZXZpZXdCeUVkaXRvckxpbmVXaXRoVGhyb3R0bGUoZGF0YS5saW5lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB0aGUgc2Nyb2xsIGV2ZW50IGhhbmRsZXIgZnJvbSBjb2RlbWlycm9yXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBsaW5lXG4gICAqIEBzZWUgaHR0cHM6Ly9jb2RlbWlycm9yLm5ldC9kb2MvbWFudWFsLmh0bWwjZXZlbnRzXG4gICAqL1xuICBvbkVkaXRvclNjcm9sbEN1cnNvckludG9WaWV3KGxpbmUpIHtcbiAgICAvLyByZWNvcmQgZGF0ZVxuICAgIHRoaXMubGFzdFNjcm9sbGVkRGF0ZVdpdGhDdXJzb3IgPSBuZXcgRGF0ZSgpO1xuICAgIHRoaXMuc2Nyb2xsUHJldmlld0J5Q3Vyc29yTW92aW5nV2l0aFRocm90dGxlKGxpbmUpO1xuICB9XG5cbiAgLyoqXG4gICAqIHNjcm9sbCBQcmV2aWV3IGVsZW1lbnQgYnkgc2Nyb2xsIGV2ZW50XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBsaW5lXG4gICAqL1xuICBzY3JvbGxQcmV2aWV3QnlFZGl0b3JMaW5lKGxpbmUpIHtcbiAgICBpZiAodGhpcy5wcmV2aWV3RWxlbWVudCA9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gcHJldmVudCBjaXJjdWxhciBpbnZvY2F0aW9uXG4gICAgaWYgKHRoaXMuaXNPcmlnaW5PZlNjcm9sbFN5bmNQcmV2aWV3KSB7XG4gICAgICB0aGlzLmlzT3JpZ2luT2ZTY3JvbGxTeW5jUHJldmlldyA9IGZhbHNlOyAvLyB0dXJuIG9mZiB0aGUgZmxhZ1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIHR1cm4gb24gdGhlIGZsYWdcbiAgICB0aGlzLmlzT3JpZ2luT2ZTY3JvbGxTeW5jRWRpdG9yID0gdHJ1ZTtcbiAgICBzY3JvbGxTeW5jSGVscGVyLnNjcm9sbFByZXZpZXcodGhpcy5wcmV2aWV3RWxlbWVudCwgbGluZSk7XG4gIH1cblxuICAvKipcbiAgICogc2Nyb2xsIFByZXZpZXcgZWxlbWVudCBieSBjdXJzb3IgbW92aW5nXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBsaW5lXG4gICAqL1xuICBzY3JvbGxQcmV2aWV3QnlDdXJzb3JNb3ZpbmcobGluZSkge1xuICAgIGlmICh0aGlzLnByZXZpZXdFbGVtZW50ID09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBwcmV2ZW50IGNpcmN1bGFyIGludm9jYXRpb25cbiAgICBpZiAodGhpcy5pc09yaWdpbk9mU2Nyb2xsU3luY1ByZXZpZXcpIHtcbiAgICAgIHRoaXMuaXNPcmlnaW5PZlNjcm9sbFN5bmNQcmV2aWV3ID0gZmFsc2U7IC8vIHR1cm4gb2ZmIHRoZSBmbGFnXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gdHVybiBvbiB0aGUgZmxhZ1xuICAgIHRoaXMuaXNPcmlnaW5PZlNjcm9sbFN5bmNFZGl0b3IgPSB0cnVlO1xuICAgIHNjcm9sbFN5bmNIZWxwZXIuc2Nyb2xsUHJldmlld1RvUmV2ZWFsT3ZlcmZsb3dpbmcodGhpcy5wcmV2aWV3RWxlbWVudCwgbGluZSk7XG4gIH1cblxuICAvKipcbiAgICogdGhlIHNjcm9sbCBldmVudCBoYW5kbGVyIGZyb20gUHJldmlldyBjb21wb25lbnRcbiAgICogQHBhcmFtIHtudW1iZXJ9IG9mZnNldFxuICAgKi9cbiAgb25QcmV2aWV3U2Nyb2xsKG9mZnNldCkge1xuICAgIHRoaXMuc2Nyb2xsRWRpdG9yQnlQcmV2aWV3U2Nyb2xsV2l0aFRocm90dGxlKG9mZnNldCk7XG4gIH1cblxuICAvKipcbiAgICogc2Nyb2xsIEVkaXRvciBjb21wb25lbnQgYnkgc2Nyb2xsIGV2ZW50IG9mIFByZXZpZXcgY29tcG9uZW50XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvZmZzZXRcbiAgICovXG4gIHNjcm9sbEVkaXRvckJ5UHJldmlld1Njcm9sbChvZmZzZXQpIHtcbiAgICBpZiAodGhpcy5wcmV2aWV3RWxlbWVudCA9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gcHJldmVudCBjaXJjdWxhciBpbnZvY2F0aW9uXG4gICAgaWYgKHRoaXMuaXNPcmlnaW5PZlNjcm9sbFN5bmNFZGl0b3IpIHtcbiAgICAgIHRoaXMuaXNPcmlnaW5PZlNjcm9sbFN5bmNFZGl0b3IgPSBmYWxzZTsgLy8gdHVybiBvZmYgdGhlIGZsYWdcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyB0dXJuIG9uIHRoZSBmbGFnXG4gICAgdGhpcy5pc09yaWdpbk9mU2Nyb2xsU3luY1ByZXZpZXcgPSB0cnVlO1xuICAgIHNjcm9sbFN5bmNIZWxwZXIuc2Nyb2xsRWRpdG9yKHRoaXMuZWRpdG9yLCB0aGlzLnByZXZpZXdFbGVtZW50LCBvZmZzZXQpO1xuICB9XG5cbiAgc2F2ZURyYWZ0KCkge1xuICAgIGNvbnN0IHsgcGFnZUNvbnRhaW5lciwgZWRpdG9yQ29udGFpbmVyIH0gPSB0aGlzLnByb3BzO1xuICAgIGVkaXRvckNvbnRhaW5lci5zYXZlRHJhZnQocGFnZUNvbnRhaW5lci5zdGF0ZS5wYXRoLCB0aGlzLnN0YXRlLm1hcmtkb3duKTtcbiAgfVxuXG4gIGNsZWFyRHJhZnQoKSB7XG4gICAgdGhpcy5wcm9wcy5lZGl0b3JDb250YWluZXIuY2xlYXJEcmFmdCh0aGlzLnByb3BzLnBhZ2VDb250YWluZXIuc3RhdGUucGF0aCk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5wcm9wcy5hcHBDb250YWluZXIuZ2V0Q29uZmlnKCk7XG4gICAgY29uc3Qgbm9DZG4gPSBlbnZVdGlscy50b0Jvb2xlYW4oY29uZmlnLmVudi5OT19DRE4pO1xuICAgIGNvbnN0IGVtb2ppU3RyYXRlZ3kgPSB0aGlzLnByb3BzLmFwcENvbnRhaW5lci5nZXRFbW9qaVN0cmF0ZWd5KCk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJkLWZsZXggZmxleC13cmFwXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicGFnZS1lZGl0b3ItZWRpdG9yLWNvbnRhaW5lciBmbGV4LWdyb3ctMSBmbGV4LWJhc2lzLTAgbXctMFwiPlxuICAgICAgICAgIDxFZGl0b3JcbiAgICAgICAgICAgIHJlZj17KGMpID0+IHsgdGhpcy5lZGl0b3IgPSBjIH19XG4gICAgICAgICAgICB2YWx1ZT17dGhpcy5zdGF0ZS5tYXJrZG93bn1cbiAgICAgICAgICAgIG5vQ2RuPXtub0Nkbn1cbiAgICAgICAgICAgIGlzTW9iaWxlPXt0aGlzLnByb3BzLmFwcENvbnRhaW5lci5pc01vYmlsZX1cbiAgICAgICAgICAgIGlzVXBsb2FkYWJsZT17dGhpcy5zdGF0ZS5pc1VwbG9hZGFibGV9XG4gICAgICAgICAgICBpc1VwbG9hZGFibGVGaWxlPXt0aGlzLnN0YXRlLmlzVXBsb2FkYWJsZUZpbGV9XG4gICAgICAgICAgICBlbW9qaVN0cmF0ZWd5PXtlbW9qaVN0cmF0ZWd5fVxuICAgICAgICAgICAgb25TY3JvbGw9e3RoaXMub25FZGl0b3JTY3JvbGx9XG4gICAgICAgICAgICBvblNjcm9sbEN1cnNvckludG9WaWV3PXt0aGlzLm9uRWRpdG9yU2Nyb2xsQ3Vyc29ySW50b1ZpZXd9XG4gICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vbk1hcmtkb3duQ2hhbmdlZH1cbiAgICAgICAgICAgIG9uVXBsb2FkPXt0aGlzLm9uVXBsb2FkfVxuICAgICAgICAgICAgb25TYXZlPXt0aGlzLm9uU2F2ZVdpdGhTaG9ydGN1dH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkLW5vbmUgZC1sZy1ibG9jayBwYWdlLWVkaXRvci1wcmV2aWV3LWNvbnRhaW5lciBmbGV4LWdyb3ctMSBmbGV4LWJhc2lzLTAgbXctMFwiPlxuICAgICAgICAgIDxQcmV2aWV3XG4gICAgICAgICAgICBtYXJrZG93bj17dGhpcy5zdGF0ZS5tYXJrZG93bn1cbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXR1cm4tYXNzaWduXG4gICAgICAgICAgICBpbnB1dFJlZj17KGVsKSA9PiB7IHJldHVybiB0aGlzLnByZXZpZXdFbGVtZW50ID0gZWwgfX1cbiAgICAgICAgICAgIGlzTWF0aEpheEVuYWJsZWQ9e3RoaXMuc3RhdGUuaXNNYXRoSmF4RW5hYmxlZH1cbiAgICAgICAgICAgIHJlbmRlck1hdGhKYXhPbkluaXQ9e2ZhbHNlfVxuICAgICAgICAgICAgb25TY3JvbGw9e3RoaXMub25QcmV2aWV3U2Nyb2xsfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuXG59XG5cbi8qKlxuICogV3JhcHBlciBjb21wb25lbnQgZm9yIHVzaW5nIHVuc3RhdGVkXG4gKi9cbmNvbnN0IFBhZ2VFZGl0b3JXcmFwcGVyID0gd2l0aFVuc3RhdGVkQ29udGFpbmVycyhQYWdlRWRpdG9yLCBbQXBwQ29udGFpbmVyLCBQYWdlQ29udGFpbmVyLCBFZGl0b3JDb250YWluZXJdKTtcblxuUGFnZUVkaXRvci5wcm9wVHlwZXMgPSB7XG4gIGFwcENvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoQXBwQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuICBwYWdlQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihQYWdlQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuICBlZGl0b3JDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKEVkaXRvckNvbnRhaW5lcikuaXNSZXF1aXJlZCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFBhZ2VFZGl0b3JXcmFwcGVyO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOzs7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOzs7Ozs7QUFJQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7OztBQUlBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7Ozs7Ozs7OztBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7O0FBSUE7QUFDQTtBQUNBO0FBRUE7Ozs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBWkE7QUFlQTtBQUFBO0FBRUE7QUFEQTtBQUdBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQU5BO0FBV0E7QUFDQTtBQXBVQTtBQXVVQTs7Ozs7QUFHQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBSEE7QUFNQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/PageEditor.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageEditor/AbstractEditor.jsx":
- /*!****************************************************************!*\
- !*** ./src/client/js/components/PageEditor/AbstractEditor.jsx ***!
- \****************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return AbstractEditor; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* eslint-disable react/no-unused-prop-types */\n\n\nclass AbstractEditor extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n this.forceToFocus = this.forceToFocus.bind(this);\n this.setCaretLine = this.setCaretLine.bind(this);\n this.setScrollTopByLine = this.setScrollTopByLine.bind(this);\n this.getStrFromBol = this.getStrFromBol.bind(this);\n this.getStrToEol = this.getStrToEol.bind(this);\n this.insertText = this.insertText.bind(this);\n this.insertLinebreak = this.insertLinebreak.bind(this);\n this.dispatchSave = this.dispatchSave.bind(this);\n }\n\n forceToFocus() {}\n /**\n * set new value\n */\n\n\n setValue(newValue) {}\n /**\n * Enable/Disable GFM mode\n * @param {bool} bool\n */\n\n\n setGfmMode(bool) {}\n /**\n * set caret position of codemirror\n * @param {string} number\n */\n\n\n setCaretLine(line) {}\n /**\n * scroll\n * @param {number} line\n */\n\n\n setScrollTopByLine(line) {}\n /**\n * return strings from BOL(beginning of line) to current position\n */\n\n\n getStrFromBol() {\n throw new Error('this method should be impelemented in subclass');\n }\n /**\n * return strings from current position to EOL(end of line)\n */\n\n\n getStrToEol() {\n throw new Error('this method should be impelemented in subclass');\n }\n /**\n * return strings from BOL(beginning of line) to current position\n */\n\n\n getStrFromBolToSelectedUpperPos() {\n throw new Error('this method should be impelemented in subclass');\n }\n /**\n * replace Beggining Of Line to current position with param 'text'\n * @param {string} text\n */\n\n\n replaceBolToCurrentPos(text) {\n throw new Error('this method should be impelemented in subclass');\n }\n /**\n * replace the current line with param 'text'\n * @param {string} text\n */\n\n\n replaceLine(text) {\n throw new Error('this method should be impelemented in subclass');\n }\n /**\n * insert text\n * @param {string} text\n */\n\n\n insertText(text) {}\n /**\n * insert line break to the current position\n */\n\n\n insertLinebreak() {\n this.insertText('\\n');\n }\n /**\n * dispatch onSave event\n */\n\n\n dispatchSave() {\n if (this.props.onSave != null) {\n this.props.onSave();\n }\n }\n /**\n * dispatch onPasteFiles event\n * @param {object} event\n */\n\n\n dispatchPasteFiles(event) {\n if (this.props.onPasteFiles != null) {\n this.props.onPasteFiles(event);\n }\n }\n /**\n * returns items(an array of react elements) in navigation bar for editor\n */\n\n\n getNavbarItems() {\n return null;\n }\n\n}\nAbstractEditor.propTypes = {\n value: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n isGfmMode: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n onChange: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n onScroll: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n onScrollCursorIntoView: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n onSave: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n onPasteFiles: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n onDragEnter: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n onCtrlEnter: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func\n};\nAbstractEditor.defaultProps = {\n isGfmMode: true\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci9BYnN0cmFjdEVkaXRvci5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci9BYnN0cmFjdEVkaXRvci5qc3g/Nzk2ZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9uby11bnVzZWQtcHJvcC10eXBlcyAqL1xuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQWJzdHJhY3RFZGl0b3IgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuXG4gICAgdGhpcy5mb3JjZVRvRm9jdXMgPSB0aGlzLmZvcmNlVG9Gb2N1cy5iaW5kKHRoaXMpO1xuICAgIHRoaXMuc2V0Q2FyZXRMaW5lID0gdGhpcy5zZXRDYXJldExpbmUuYmluZCh0aGlzKTtcbiAgICB0aGlzLnNldFNjcm9sbFRvcEJ5TGluZSA9IHRoaXMuc2V0U2Nyb2xsVG9wQnlMaW5lLmJpbmQodGhpcyk7XG5cbiAgICB0aGlzLmdldFN0ckZyb21Cb2wgPSB0aGlzLmdldFN0ckZyb21Cb2wuYmluZCh0aGlzKTtcbiAgICB0aGlzLmdldFN0clRvRW9sID0gdGhpcy5nZXRTdHJUb0VvbC5iaW5kKHRoaXMpO1xuICAgIHRoaXMuaW5zZXJ0VGV4dCA9IHRoaXMuaW5zZXJ0VGV4dC5iaW5kKHRoaXMpO1xuICAgIHRoaXMuaW5zZXJ0TGluZWJyZWFrID0gdGhpcy5pbnNlcnRMaW5lYnJlYWsuYmluZCh0aGlzKTtcblxuICAgIHRoaXMuZGlzcGF0Y2hTYXZlID0gdGhpcy5kaXNwYXRjaFNhdmUuYmluZCh0aGlzKTtcbiAgfVxuXG4gIGZvcmNlVG9Gb2N1cygpIHtcbiAgfVxuXG4gIC8qKlxuICAgKiBzZXQgbmV3IHZhbHVlXG4gICAqL1xuICBzZXRWYWx1ZShuZXdWYWx1ZSkge1xuICB9XG5cbiAgLyoqXG4gICAqIEVuYWJsZS9EaXNhYmxlIEdGTSBtb2RlXG4gICAqIEBwYXJhbSB7Ym9vbH0gYm9vbFxuICAgKi9cbiAgc2V0R2ZtTW9kZShib29sKSB7XG4gIH1cblxuICAvKipcbiAgICogc2V0IGNhcmV0IHBvc2l0aW9uIG9mIGNvZGVtaXJyb3JcbiAgICogQHBhcmFtIHtzdHJpbmd9IG51bWJlclxuICAgKi9cbiAgc2V0Q2FyZXRMaW5lKGxpbmUpIHtcbiAgfVxuXG4gIC8qKlxuICAgKiBzY3JvbGxcbiAgICogQHBhcmFtIHtudW1iZXJ9IGxpbmVcbiAgICovXG4gIHNldFNjcm9sbFRvcEJ5TGluZShsaW5lKSB7XG4gIH1cblxuICAvKipcbiAgICogcmV0dXJuIHN0cmluZ3MgZnJvbSBCT0woYmVnaW5uaW5nIG9mIGxpbmUpIHRvIGN1cnJlbnQgcG9zaXRpb25cbiAgICovXG4gIGdldFN0ckZyb21Cb2woKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd0aGlzIG1ldGhvZCBzaG91bGQgYmUgaW1wZWxlbWVudGVkIGluIHN1YmNsYXNzJyk7XG4gIH1cblxuICAvKipcbiAgICogcmV0dXJuIHN0cmluZ3MgZnJvbSBjdXJyZW50IHBvc2l0aW9uIHRvIEVPTChlbmQgb2YgbGluZSlcbiAgICovXG4gIGdldFN0clRvRW9sKCkge1xuICAgIHRocm93IG5ldyBFcnJvcigndGhpcyBtZXRob2Qgc2hvdWxkIGJlIGltcGVsZW1lbnRlZCBpbiBzdWJjbGFzcycpO1xuICB9XG5cbiAgLyoqXG4gICAqIHJldHVybiBzdHJpbmdzIGZyb20gQk9MKGJlZ2lubmluZyBvZiBsaW5lKSB0byBjdXJyZW50IHBvc2l0aW9uXG4gICAqL1xuICBnZXRTdHJGcm9tQm9sVG9TZWxlY3RlZFVwcGVyUG9zKCkge1xuICAgIHRocm93IG5ldyBFcnJvcigndGhpcyBtZXRob2Qgc2hvdWxkIGJlIGltcGVsZW1lbnRlZCBpbiBzdWJjbGFzcycpO1xuICB9XG5cbiAgLyoqXG4gICAqIHJlcGxhY2UgQmVnZ2luaW5nIE9mIExpbmUgdG8gY3VycmVudCBwb3NpdGlvbiB3aXRoIHBhcmFtICd0ZXh0J1xuICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dFxuICAgKi9cbiAgcmVwbGFjZUJvbFRvQ3VycmVudFBvcyh0ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd0aGlzIG1ldGhvZCBzaG91bGQgYmUgaW1wZWxlbWVudGVkIGluIHN1YmNsYXNzJyk7XG4gIH1cblxuICAvKipcbiAgICogcmVwbGFjZSB0aGUgY3VycmVudCBsaW5lIHdpdGggcGFyYW0gJ3RleHQnXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0XG4gICAqL1xuICByZXBsYWNlTGluZSh0ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd0aGlzIG1ldGhvZCBzaG91bGQgYmUgaW1wZWxlbWVudGVkIGluIHN1YmNsYXNzJyk7XG4gIH1cblxuICAvKipcbiAgICogaW5zZXJ0IHRleHRcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRleHRcbiAgICovXG4gIGluc2VydFRleHQodGV4dCkge1xuICB9XG5cbiAgLyoqXG4gICAqIGluc2VydCBsaW5lIGJyZWFrIHRvIHRoZSBjdXJyZW50IHBvc2l0aW9uXG4gICAqL1xuICBpbnNlcnRMaW5lYnJlYWsoKSB7XG4gICAgdGhpcy5pbnNlcnRUZXh0KCdcXG4nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBkaXNwYXRjaCBvblNhdmUgZXZlbnRcbiAgICovXG4gIGRpc3BhdGNoU2F2ZSgpIHtcbiAgICBpZiAodGhpcy5wcm9wcy5vblNhdmUgIT0gbnVsbCkge1xuICAgICAgdGhpcy5wcm9wcy5vblNhdmUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogZGlzcGF0Y2ggb25QYXN0ZUZpbGVzIGV2ZW50XG4gICAqIEBwYXJhbSB7b2JqZWN0fSBldmVudFxuICAgKi9cbiAgZGlzcGF0Y2hQYXN0ZUZpbGVzKGV2ZW50KSB7XG4gICAgaWYgKHRoaXMucHJvcHMub25QYXN0ZUZpbGVzICE9IG51bGwpIHtcbiAgICAgIHRoaXMucHJvcHMub25QYXN0ZUZpbGVzKGV2ZW50KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogcmV0dXJucyBpdGVtcyhhbiBhcnJheSBvZiByZWFjdCBlbGVtZW50cykgaW4gbmF2aWdhdGlvbiBiYXIgZm9yIGVkaXRvclxuICAgKi9cbiAgZ2V0TmF2YmFySXRlbXMoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxufVxuXG5BYnN0cmFjdEVkaXRvci5wcm9wVHlwZXMgPSB7XG4gIHZhbHVlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBpc0dmbU1vZGU6IFByb3BUeXBlcy5ib29sLFxuICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gIG9uU2Nyb2xsOiBQcm9wVHlwZXMuZnVuYyxcbiAgb25TY3JvbGxDdXJzb3JJbnRvVmlldzogUHJvcFR5cGVzLmZ1bmMsXG4gIG9uU2F2ZTogUHJvcFR5cGVzLmZ1bmMsXG4gIG9uUGFzdGVGaWxlczogUHJvcFR5cGVzLmZ1bmMsXG4gIG9uRHJhZ0VudGVyOiBQcm9wVHlwZXMuZnVuYyxcbiAgb25DdHJsRW50ZXI6IFByb3BUeXBlcy5mdW5jLFxufTtcbkFic3RyYWN0RWRpdG9yLmRlZmF1bHRQcm9wcyA9IHtcbiAgaXNHZm1Nb2RlOiB0cnVlLFxufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUdBOzs7OztBQUdBO0FBR0E7Ozs7OztBQUlBO0FBR0E7Ozs7OztBQUlBO0FBR0E7Ozs7OztBQUlBO0FBR0E7Ozs7O0FBR0E7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUNBO0FBRUE7Ozs7OztBQUlBO0FBQ0E7QUFDQTtBQUVBOzs7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7O0FBSUE7QUFHQTs7Ozs7QUFHQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQTNIQTtBQThIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVRBO0FBV0E7QUFDQTtBQURBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/PageEditor/AbstractEditor.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageEditor/Cheatsheet.jsx":
- /*!************************************************************!*\
- !*** ./src/client/js/components/PageEditor/Cheatsheet.jsx ***!
- \************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* eslint-disable max-len */\n\n\n\n\nclass Cheatsheet extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n render() {\n const {\n t\n } = this.props;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"row small\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-sm-6\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h4\", null, t('sandbox.header')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"ul\", {\n className: \"hljs\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"code\", null, \"# \"), t('sandbox.header_x', {\n index: '1'\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"code\", null, \"## \"), t('sandbox.header_x', {\n index: '2'\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"code\", null, \"### \"), t('sandbox.header_x', {\n index: '3'\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h4\", null, t('sandbox.block')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"mb-1\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"code\", null, \"[\", t('sandbox.empty_line'), \"]\"), t('sandbox.block_detail')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"ul\", {\n className: \"hljs\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", null, \"text\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", null), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", null, \"text\")), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h4\", null, t('sandbox.line_break')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"mb-1\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"code\", null, \"[ ][ ]\"), \" \", t('sandbox.line_break_detail')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"ul\", {\n className: \"hljs\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", null, \"text\\xA0\\xA0\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", null, \"text\")), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h4\", null, t('sandbox.typography')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"ul\", {\n className: \"hljs\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", null, \"*\", t('sandbox.italics'), \"*\")), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"b\", null, \"**\", t('sandbox.bold'), \"**\")), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"b\", null, \"***\", t('sandbox.italic_bold'), \"***\"))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", null, \"~~\", t('sandbox.strikethrough'), \"~~ =< \", react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"s\", null, t('sandbox.strikethrough')))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h4\", null, t('sandbox.link')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"ul\", {\n className: \"hljs\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", null, \"[Google](https://www.google.co.jp/)\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", null, \"[/Page1/ChildPage1]\")), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h4\", null, t('sandbox.code_highlight')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"ul\", {\n className: \"hljs\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", null, \"```javascript:index.js\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", null, \"writeCode();\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", null, \"```\"))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-sm-6\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h4\", null, t('sandbox.list')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"ul\", {\n className: \"hljs\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", null, \"- \", t('sandbox.unordered_list_x', {\n index: '1'\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", null, \"\\xA0\\xA0- \", t('sandbox.unordered_list_x', {\n index: '1.1'\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", null, \"- \", t('sandbox.unordered_list_x', {\n index: '2'\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"ul\", {\n className: \"hljs\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", null, \"1. \", t('sandbox.ordered_list_x', {\n index: '1'\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", null, \"1. \", t('sandbox.ordered_list_x', {\n index: '2'\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"ul\", {\n className: \"hljs\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", null, \"- [ ] \", t('sandbox.task'), \"(\", t('sandbox.task_unchecked'), \")\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", null, \"- [x] \", t('sandbox.task'), \"(\", t('sandbox.task_checked'), \")\")), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h4\", null, t('sandbox.quote')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"ul\", {\n className: \"hljs\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", null, \"> \", t('sandbox.quote1')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", null, \"> \", t('sandbox.quote2'))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"ul\", {\n className: \"hljs\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", null, \">> \", t('sandbox.quote_nested')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", null, \">>> \", t('sandbox.quote_nested')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", null, \">>>> \", t('sandbox.quote_nested'))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h4\", null, t('sandbox.table')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"pre\", {\n className: \"border-0\"\n }, \"|Left\\xA0\\xA0\\xA0\\xA0\\xA0\\xA0\\xA0|\\xA0\\xA0\\xA0\\xA0Mid\\xA0\\xA0\\xA0\\xA0|\\xA0\\xA0\\xA0\\xA0\\xA0\\xA0Right|\", react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"br\", null), \"|:----------|:---------:|----------:|\", react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"br\", null), \"|col 1\\xA0\\xA0\\xA0\\xA0\\xA0\\xA0|\\xA0\\xA0\\xA0col 2\\xA0\\xA0\\xA0|\\xA0\\xA0\\xA0\\xA0\\xA0\\xA0col 3|\", react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"br\", null), \"|col 1\\xA0\\xA0\\xA0\\xA0\\xA0\\xA0|\\xA0\\xA0\\xA0col 2\\xA0\\xA0\\xA0|\\xA0\\xA0\\xA0\\xA0\\xA0\\xA0col 3|\", react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"br\", null)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h4\", null, t('sandbox.image')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"mb-1\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"code\", null, \" \"), \" \", t('sandbox.insert_image')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"ul\", {\n className: \"hljs\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", null, \"\")), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"hr\", null), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: \"/Sandbox\",\n className: \"btn btn-info btn-block\",\n target: \"_blank\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-share-alt\"\n }), \" \", t('sandbox.open_sandbox'))));\n }\n\n}\n\nCheatsheet.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired // i18next\n\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(Cheatsheet));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci9DaGVhdHNoZWV0LmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9QYWdlRWRpdG9yL0NoZWF0c2hlZXQuanN4PzA5OTIiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IHdpdGhUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuXG5jbGFzcyBDaGVhdHNoZWV0IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IHNtYWxsXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLXNtLTZcIj5cbiAgICAgICAgICA8aDQ+e3QoJ3NhbmRib3guaGVhZGVyJyl9PC9oND5cbiAgICAgICAgICA8dWwgY2xhc3NOYW1lPVwiaGxqc1wiPlxuICAgICAgICAgICAgPGxpPjxjb2RlPiMgPC9jb2RlPnt0KCdzYW5kYm94LmhlYWRlcl94JywgeyBpbmRleDogJzEnIH0pfTwvbGk+XG4gICAgICAgICAgICA8bGk+PGNvZGU+IyMgPC9jb2RlPnt0KCdzYW5kYm94LmhlYWRlcl94JywgeyBpbmRleDogJzInIH0pfTwvbGk+XG4gICAgICAgICAgICA8bGk+PGNvZGU+IyMjIDwvY29kZT57dCgnc2FuZGJveC5oZWFkZXJfeCcsIHsgaW5kZXg6ICczJyB9KX08L2xpPlxuICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgPGg0Pnt0KCdzYW5kYm94LmJsb2NrJyl9PC9oND5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtYi0xXCI+PGNvZGU+W3t0KCdzYW5kYm94LmVtcHR5X2xpbmUnKX1dPC9jb2RlPnt0KCdzYW5kYm94LmJsb2NrX2RldGFpbCcpfTwvcD5cbiAgICAgICAgICA8dWwgY2xhc3NOYW1lPVwiaGxqc1wiPlxuICAgICAgICAgICAgPGxpPnRleHQ8L2xpPlxuICAgICAgICAgICAgPGxpPjwvbGk+XG4gICAgICAgICAgICA8bGk+dGV4dDwvbGk+XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgICA8aDQ+e3QoJ3NhbmRib3gubGluZV9icmVhaycpfTwvaDQ+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwibWItMVwiPjxjb2RlPlsgXVsgXTwvY29kZT4ge3QoJ3NhbmRib3gubGluZV9icmVha19kZXRhaWwnKX08L3A+XG4gICAgICAgICAgPHVsIGNsYXNzTmFtZT1cImhsanNcIj5cbiAgICAgICAgICAgIDxsaT50ZXh0Jm5ic3A7Jm5ic3A7PC9saT5cbiAgICAgICAgICAgIDxsaT50ZXh0PC9saT5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICAgIDxoND57dCgnc2FuZGJveC50eXBvZ3JhcGh5Jyl9PC9oND5cbiAgICAgICAgICA8dWwgY2xhc3NOYW1lPVwiaGxqc1wiPlxuICAgICAgICAgICAgPGxpPjxpPip7dCgnc2FuZGJveC5pdGFsaWNzJyl9KjwvaT48L2xpPlxuICAgICAgICAgICAgPGxpPjxiPioqe3QoJ3NhbmRib3guYm9sZCcpfSoqPC9iPjwvbGk+XG4gICAgICAgICAgICA8bGk+PGk+PGI+Kioqe3QoJ3NhbmRib3guaXRhbGljX2JvbGQnKX0qKio8L2I+PC9pPjwvbGk+XG4gICAgICAgICAgICA8bGk+fn57dCgnc2FuZGJveC5zdHJpa2V0aHJvdWdoJyl9fn4gPSZsdDsgPHM+e3QoJ3NhbmRib3guc3RyaWtldGhyb3VnaCcpfTwvcz48L2xpPlxuICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgPGg0Pnt0KCdzYW5kYm94LmxpbmsnKX08L2g0PlxuICAgICAgICAgIDx1bCBjbGFzc05hbWU9XCJobGpzXCI+XG4gICAgICAgICAgICA8bGk+W0dvb2dsZV0oaHR0cHM6Ly93d3cuZ29vZ2xlLmNvLmpwLyk8L2xpPlxuICAgICAgICAgICAgPGxpPlsvUGFnZTEvQ2hpbGRQYWdlMV08L2xpPlxuICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgPGg0Pnt0KCdzYW5kYm94LmNvZGVfaGlnaGxpZ2h0Jyl9PC9oND5cbiAgICAgICAgICA8dWwgY2xhc3NOYW1lPVwiaGxqc1wiPlxuICAgICAgICAgICAgPGxpPmBgYGphdmFzY3JpcHQ6aW5kZXguanM8L2xpPlxuICAgICAgICAgICAgPGxpPndyaXRlQ29kZSgpOzwvbGk+XG4gICAgICAgICAgICA8bGk+YGBgPC9saT5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtc20tNlwiPlxuICAgICAgICAgIDxoND57dCgnc2FuZGJveC5saXN0Jyl9PC9oND5cbiAgICAgICAgICA8dWwgY2xhc3NOYW1lPVwiaGxqc1wiPlxuICAgICAgICAgICAgPGxpPi0ge3QoJ3NhbmRib3gudW5vcmRlcmVkX2xpc3RfeCcsIHsgaW5kZXg6ICcxJyB9KX08L2xpPlxuICAgICAgICAgICAgPGxpPiZuYnNwOyZuYnNwOy0ge3QoJ3NhbmRib3gudW5vcmRlcmVkX2xpc3RfeCcsIHsgaW5kZXg6ICcxLjEnIH0pfTwvbGk+XG4gICAgICAgICAgICA8bGk+LSB7dCgnc2FuZGJveC51bm9yZGVyZWRfbGlzdF94JywgeyBpbmRleDogJzInIH0pfTwvbGk+XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgICA8dWwgY2xhc3NOYW1lPVwiaGxqc1wiPlxuICAgICAgICAgICAgPGxpPjEuIHt0KCdzYW5kYm94Lm9yZGVyZWRfbGlzdF94JywgeyBpbmRleDogJzEnIH0pfTwvbGk+XG4gICAgICAgICAgICA8bGk+MS4ge3QoJ3NhbmRib3gub3JkZXJlZF9saXN0X3gnLCB7IGluZGV4OiAnMicgfSl9PC9saT5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICAgIDx1bCBjbGFzc05hbWU9XCJobGpzXCI+XG4gICAgICAgICAgICA8bGk+LSBbIF0ge3QoJ3NhbmRib3gudGFzaycpfSh7dCgnc2FuZGJveC50YXNrX3VuY2hlY2tlZCcpfSk8L2xpPlxuICAgICAgICAgICAgPGxpPi0gW3hdIHt0KCdzYW5kYm94LnRhc2snKX0oe3QoJ3NhbmRib3gudGFza19jaGVja2VkJyl9KTwvbGk+XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgICA8aDQ+e3QoJ3NhbmRib3gucXVvdGUnKX08L2g0PlxuICAgICAgICAgIDx1bCBjbGFzc05hbWU9XCJobGpzXCI+XG4gICAgICAgICAgICA8bGk+Jmd0OyB7dCgnc2FuZGJveC5xdW90ZTEnKX08L2xpPlxuICAgICAgICAgICAgPGxpPiZndDsge3QoJ3NhbmRib3gucXVvdGUyJyl9PC9saT5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICAgIDx1bCBjbGFzc05hbWU9XCJobGpzXCI+XG4gICAgICAgICAgICA8bGk+Jmd0OyZndDsge3QoJ3NhbmRib3gucXVvdGVfbmVzdGVkJyl9PC9saT5cbiAgICAgICAgICAgIDxsaT4mZ3Q7Jmd0OyZndDsge3QoJ3NhbmRib3gucXVvdGVfbmVzdGVkJyl9PC9saT5cbiAgICAgICAgICAgIDxsaT4mZ3Q7Jmd0OyZndDsmZ3Q7IHt0KCdzYW5kYm94LnF1b3RlX25lc3RlZCcpfTwvbGk+XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgICA8aDQ+e3QoJ3NhbmRib3gudGFibGUnKX08L2g0PlxuICAgICAgICAgIDxwcmUgY2xhc3NOYW1lPVwiYm9yZGVyLTBcIj5cbiAgICAgICAgICAgIHxMZWZ0Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO01pZCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3wmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtSaWdodHw8YnIgLz5cbiAgICAgICAgICAgIHw6LS0tLS0tLS0tLXw6LS0tLS0tLS0tOnwtLS0tLS0tLS0tOnw8YnIgLz5cbiAgICAgICAgICAgIHxjb2wgMSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3wmbmJzcDsmbmJzcDsmbmJzcDtjb2wgMiZuYnNwOyZuYnNwOyZuYnNwO3wmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtjb2wgM3w8YnIgLz5cbiAgICAgICAgICAgIHxjb2wgMSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3wmbmJzcDsmbmJzcDsmbmJzcDtjb2wgMiZuYnNwOyZuYnNwOyZuYnNwO3wmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtjb2wgM3w8YnIgLz5cbiAgICAgICAgICA8L3ByZT5cbiAgICAgICAgICA8aDQ+e3QoJ3NhbmRib3guaW1hZ2UnKX08L2g0PlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm1iLTFcIj48Y29kZT4gIVt7dCgnc2FuZGJveC5hbHRfdGV4dCcpfV0oVVJMKTwvY29kZT4ge3QoJ3NhbmRib3guaW5zZXJ0X2ltYWdlJyl9PC9wPlxuICAgICAgICAgIDx1bCBjbGFzc05hbWU9XCJobGpzXCI+XG4gICAgICAgICAgICA8bGk+IVtleF0oaHR0cHM6Ly9leGFtcGxlLmNvbS9pbWFnZS5wbmcpPC9saT5cbiAgICAgICAgICA8L3VsPlxuXG4gICAgICAgICAgPGhyIC8+XG4gICAgICAgICAgPGEgaHJlZj1cIi9TYW5kYm94XCIgY2xhc3NOYW1lPVwiYnRuIGJ0bi1pbmZvIGJ0bi1ibG9ja1wiIHRhcmdldD1cIl9ibGFua1wiPlxuICAgICAgICAgICAgPGkgY2xhc3NOYW1lPVwiaWNvbi1zaGFyZS1hbHRcIiAvPiB7dCgnc2FuZGJveC5vcGVuX3NhbmRib3gnKX1cbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuXG59XG5cbkNoZWF0c2hlZXQucHJvcFR5cGVzID0ge1xuICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLCAvLyBpMThuZXh0XG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoVHJhbnNsYXRpb24oKShDaGVhdHNoZWV0KTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUdBO0FBQUE7QUFDQTtBQUFBO0FBTUE7QUFBQTtBQUNBO0FBQUE7QUFLQTtBQUFBO0FBT0E7QUFBQTtBQUtBO0FBQUE7QUFNQTtBQUFBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBQUE7QUFLQTtBQUFBO0FBSUE7QUFBQTtBQU1BO0FBQUE7QUFPQTtBQUFBO0FBQ0E7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUE1RkE7QUFDQTtBQThGQTtBQUNBO0FBQ0E7QUFGQTtBQUlBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/PageEditor/Cheatsheet.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageEditor/CodeMirrorEditor.jsx":
- /*!******************************************************************!*\
- !*** ./src/client/js/components/PageEditor/CodeMirrorEditor.jsx ***!
- \******************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return CodeMirrorEditor; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var url_join__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! url-join */ \"./node_modules/url-join/lib/url-join.js\");\n/* harmony import */ var url_join__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(url_join__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var codemirror__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! codemirror */ \"./node_modules/codemirror/lib/codemirror.js\");\n/* harmony import */ var codemirror__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(codemirror__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! reactstrap/es/Button */ \"./node_modules/reactstrap/es/Button.js\");\n/* harmony import */ var react_codemirror2__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-codemirror2 */ \"./node_modules/react-codemirror2/index.js\");\n/* harmony import */ var react_codemirror2__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_codemirror2__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _commons_service_interceptor_manager__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @commons/service/interceptor-manager */ \"./src/lib/service/interceptor-manager.js\");\n/* harmony import */ var _commons_service_interceptor_manager__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_commons_service_interceptor_manager__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _AbstractEditor__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./AbstractEditor */ \"./src/client/js/components/PageEditor/AbstractEditor.jsx\");\n/* harmony import */ var _SimpleCheatsheet__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./SimpleCheatsheet */ \"./src/client/js/components/PageEditor/SimpleCheatsheet.jsx\");\n/* harmony import */ var _PasteHelper__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./PasteHelper */ \"./src/client/js/components/PageEditor/PasteHelper.js\");\n/* harmony import */ var _EmojiAutoCompleteHelper__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./EmojiAutoCompleteHelper */ \"./src/client/js/components/PageEditor/EmojiAutoCompleteHelper.js\");\n/* harmony import */ var _PreventMarkdownListInterceptor__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./PreventMarkdownListInterceptor */ \"./src/client/js/components/PageEditor/PreventMarkdownListInterceptor.js\");\n/* harmony import */ var _MarkdownTableInterceptor__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./MarkdownTableInterceptor */ \"./src/client/js/components/PageEditor/MarkdownTableInterceptor.js\");\n/* harmony import */ var _MarkdownLinkUtil__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./MarkdownLinkUtil */ \"./src/client/js/components/PageEditor/MarkdownLinkUtil.js\");\n/* harmony import */ var _MarkdownTableUtil__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./MarkdownTableUtil */ \"./src/client/js/components/PageEditor/MarkdownTableUtil.js\");\n/* harmony import */ var _MarkdownDrawioUtil__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./MarkdownDrawioUtil */ \"./src/client/js/components/PageEditor/MarkdownDrawioUtil.js\");\n/* harmony import */ var _GridEditorUtil__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./GridEditorUtil */ \"./src/client/js/components/PageEditor/GridEditorUtil.js\");\n/* harmony import */ var _GridEditModal__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./GridEditModal */ \"./src/client/js/components/PageEditor/GridEditModal.jsx\");\n/* harmony import */ var _LinkEditModal__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./LinkEditModal */ \"./src/client/js/components/PageEditor/LinkEditModal.jsx\");\n/* harmony import */ var _HandsontableModal__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./HandsontableModal */ \"./src/client/js/components/PageEditor/HandsontableModal.jsx\");\n/* harmony import */ var _EditorIcon__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./EditorIcon */ \"./src/client/js/components/PageEditor/EditorIcon.jsx\");\n/* harmony import */ var _DrawioModal__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./DrawioModal */ \"./src/client/js/components/PageEditor/DrawioModal.jsx\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst loadScript = __webpack_require__(/*! simple-load-script */ \"./node_modules/simple-load-script/simpleLoadScript.js\");\n\nconst loadCssSync = __webpack_require__(/*! load-css-file */ \"./node_modules/load-css-file/index.js\"); // set save handler\n\n\ncodemirror__WEBPACK_IMPORTED_MODULE_3__[\"commands\"].save = instance => {\n if (instance.codeMirrorEditor != null) {\n instance.codeMirrorEditor.dispatchSave();\n }\n}; // set CodeMirror instance as 'CodeMirror' so that CDN addons can reference\n\n\nwindow.CodeMirror = __webpack_require__(/*! codemirror */ \"./node_modules/codemirror/lib/codemirror.js\");\n\n__webpack_require__(/*! codemirror/addon/display/placeholder */ \"./node_modules/codemirror/addon/display/placeholder.js\");\n\n__webpack_require__(/*! codemirror/addon/edit/matchbrackets */ \"./node_modules/codemirror/addon/edit/matchbrackets.js\");\n\n__webpack_require__(/*! codemirror/addon/edit/matchtags */ \"./node_modules/codemirror/addon/edit/matchtags.js\");\n\n__webpack_require__(/*! codemirror/addon/edit/closetag */ \"./node_modules/codemirror/addon/edit/closetag.js\");\n\n__webpack_require__(/*! codemirror/addon/edit/continuelist */ \"./node_modules/codemirror/addon/edit/continuelist.js\");\n\n__webpack_require__(/*! codemirror/addon/hint/show-hint */ \"./node_modules/codemirror/addon/hint/show-hint.js\");\n\n__webpack_require__(/*! codemirror/addon/hint/show-hint.css */ \"./node_modules/codemirror/addon/hint/show-hint.css\");\n\n__webpack_require__(/*! codemirror/addon/search/searchcursor */ \"./node_modules/codemirror/addon/search/searchcursor.js\");\n\n__webpack_require__(/*! codemirror/addon/search/match-highlighter */ \"./node_modules/codemirror/addon/search/match-highlighter.js\");\n\n__webpack_require__(/*! codemirror/addon/selection/active-line */ \"./node_modules/codemirror/addon/selection/active-line.js\");\n\n__webpack_require__(/*! codemirror/addon/scroll/annotatescrollbar */ \"./node_modules/codemirror/addon/scroll/annotatescrollbar.js\");\n\n__webpack_require__(/*! codemirror/addon/scroll/scrollpastend */ \"./node_modules/codemirror/addon/scroll/scrollpastend.js\");\n\n__webpack_require__(/*! codemirror/addon/fold/foldcode */ \"./node_modules/codemirror/addon/fold/foldcode.js\");\n\n__webpack_require__(/*! codemirror/addon/fold/foldgutter */ \"./node_modules/codemirror/addon/fold/foldgutter.js\");\n\n__webpack_require__(/*! codemirror/addon/fold/foldgutter.css */ \"./node_modules/codemirror/addon/fold/foldgutter.css\");\n\n__webpack_require__(/*! codemirror/addon/fold/markdown-fold */ \"./node_modules/codemirror/addon/fold/markdown-fold.js\");\n\n__webpack_require__(/*! codemirror/addon/fold/brace-fold */ \"./node_modules/codemirror/addon/fold/brace-fold.js\");\n\n__webpack_require__(/*! codemirror/addon/display/placeholder */ \"./node_modules/codemirror/addon/display/placeholder.js\");\n\n__webpack_require__(/*! ../../util/codemirror/autorefresh.ext */ \"./src/client/js/util/codemirror/autorefresh.ext.js\");\n\n__webpack_require__(/*! ../../util/codemirror/gfm-growi.mode */ \"./src/client/js/util/codemirror/gfm-growi.mode.js\"); // import modes to highlight\n\n\n__webpack_require__(/*! codemirror/mode/clike/clike */ \"./node_modules/codemirror/mode/clike/clike.js\");\n\n__webpack_require__(/*! codemirror/mode/css/css */ \"./node_modules/codemirror/mode/css/css.js\");\n\n__webpack_require__(/*! codemirror/mode/django/django */ \"./node_modules/codemirror/mode/django/django.js\");\n\n__webpack_require__(/*! codemirror/mode/erlang/erlang */ \"./node_modules/codemirror/mode/erlang/erlang.js\");\n\n__webpack_require__(/*! codemirror/mode/gfm/gfm */ \"./node_modules/codemirror/mode/gfm/gfm.js\");\n\n__webpack_require__(/*! codemirror/mode/go/go */ \"./node_modules/codemirror/mode/go/go.js\");\n\n__webpack_require__(/*! codemirror/mode/javascript/javascript */ \"./node_modules/codemirror/mode/javascript/javascript.js\");\n\n__webpack_require__(/*! codemirror/mode/jsx/jsx */ \"./node_modules/codemirror/mode/jsx/jsx.js\");\n\n__webpack_require__(/*! codemirror/mode/mathematica/mathematica */ \"./node_modules/codemirror/mode/mathematica/mathematica.js\");\n\n__webpack_require__(/*! codemirror/mode/nginx/nginx */ \"./node_modules/codemirror/mode/nginx/nginx.js\");\n\n__webpack_require__(/*! codemirror/mode/perl/perl */ \"./node_modules/codemirror/mode/perl/perl.js\");\n\n__webpack_require__(/*! codemirror/mode/php/php */ \"./node_modules/codemirror/mode/php/php.js\");\n\n__webpack_require__(/*! codemirror/mode/python/python */ \"./node_modules/codemirror/mode/python/python.js\");\n\n__webpack_require__(/*! codemirror/mode/r/r */ \"./node_modules/codemirror/mode/r/r.js\");\n\n__webpack_require__(/*! codemirror/mode/ruby/ruby */ \"./node_modules/codemirror/mode/ruby/ruby.js\");\n\n__webpack_require__(/*! codemirror/mode/rust/rust */ \"./node_modules/codemirror/mode/rust/rust.js\");\n\n__webpack_require__(/*! codemirror/mode/sass/sass */ \"./node_modules/codemirror/mode/sass/sass.js\");\n\n__webpack_require__(/*! codemirror/mode/shell/shell */ \"./node_modules/codemirror/mode/shell/shell.js\");\n\n__webpack_require__(/*! codemirror/mode/sql/sql */ \"./node_modules/codemirror/mode/sql/sql.js\");\n\n__webpack_require__(/*! codemirror/mode/stex/stex */ \"./node_modules/codemirror/mode/stex/stex.js\");\n\n__webpack_require__(/*! codemirror/mode/stylus/stylus */ \"./node_modules/codemirror/mode/stylus/stylus.js\");\n\n__webpack_require__(/*! codemirror/mode/swift/swift */ \"./node_modules/codemirror/mode/swift/swift.js\");\n\n__webpack_require__(/*! codemirror/mode/toml/toml */ \"./node_modules/codemirror/mode/toml/toml.js\");\n\n__webpack_require__(/*! codemirror/mode/vb/vb */ \"./node_modules/codemirror/mode/vb/vb.js\");\n\n__webpack_require__(/*! codemirror/mode/vue/vue */ \"./node_modules/codemirror/mode/vue/vue.js\");\n\n__webpack_require__(/*! codemirror/mode/xml/xml */ \"./node_modules/codemirror/mode/xml/xml.js\");\n\n__webpack_require__(/*! codemirror/mode/yaml/yaml */ \"./node_modules/codemirror/mode/yaml/yaml.js\");\n\nconst MARKDOWN_TABLE_ACTIVATED_CLASS = 'markdown-table-activated';\nconst MARKDOWN_LINK_ACTIVATED_CLASS = 'markdown-link-activated';\nclass CodeMirrorEditor extends _AbstractEditor__WEBPACK_IMPORTED_MODULE_7__[\"default\"] {\n constructor(props) {\n super(props);\n this.logger = __webpack_require__(/*! @alias/logger */ \"./src/lib/service/logger/index.js\")('growi:PageEditor:CodeMirrorEditor');\n this.state = {\n value: this.props.value,\n isGfmMode: this.props.isGfmMode,\n isEnabledEmojiAutoComplete: false,\n isLoadingKeymap: false,\n isSimpleCheatsheetShown: this.props.isGfmMode && this.props.value.length === 0,\n isCheatsheetModalShown: false,\n additionalClassSet: new Set()\n };\n this.gridEditModal = react__WEBPACK_IMPORTED_MODULE_0___default.a.createRef();\n this.linkEditModal = react__WEBPACK_IMPORTED_MODULE_0___default.a.createRef();\n this.handsontableModal = react__WEBPACK_IMPORTED_MODULE_0___default.a.createRef();\n this.drawioModal = react__WEBPACK_IMPORTED_MODULE_0___default.a.createRef();\n this.init();\n this.getCodeMirror = this.getCodeMirror.bind(this);\n this.getBol = this.getBol.bind(this);\n this.getEol = this.getEol.bind(this);\n this.loadTheme = this.loadTheme.bind(this);\n this.loadKeymapMode = this.loadKeymapMode.bind(this);\n this.setKeymapMode = this.setKeymapMode.bind(this);\n this.handleEnterKey = this.handleEnterKey.bind(this);\n this.handleCtrlEnterKey = this.handleCtrlEnterKey.bind(this);\n this.scrollCursorIntoViewHandler = this.scrollCursorIntoViewHandler.bind(this);\n this.pasteHandler = this.pasteHandler.bind(this);\n this.cursorHandler = this.cursorHandler.bind(this);\n this.changeHandler = this.changeHandler.bind(this);\n this.updateCheatsheetStates = this.updateCheatsheetStates.bind(this);\n this.renderLoadingKeymapOverlay = this.renderLoadingKeymapOverlay.bind(this);\n this.renderCheatsheetModalButton = this.renderCheatsheetModalButton.bind(this);\n this.makeHeaderHandler = this.makeHeaderHandler.bind(this);\n this.showGridEditorHandler = this.showGridEditorHandler.bind(this);\n this.showLinkEditHandler = this.showLinkEditHandler.bind(this);\n this.showHandsonTableHandler = this.showHandsonTableHandler.bind(this);\n this.showDrawioHandler = this.showDrawioHandler.bind(this);\n }\n\n init() {\n this.cmCdnRoot = 'https://cdn.jsdelivr.net/npm/codemirror@5.42.0';\n this.cmNoCdnScriptRoot = '/js/cdn';\n this.cmNoCdnStyleRoot = '/styles/cdn';\n this.interceptorManager = new _commons_service_interceptor_manager__WEBPACK_IMPORTED_MODULE_6___default.a();\n this.interceptorManager.addInterceptors([new _PreventMarkdownListInterceptor__WEBPACK_IMPORTED_MODULE_11__[\"default\"](), new _MarkdownTableInterceptor__WEBPACK_IMPORTED_MODULE_12__[\"default\"]()]);\n this.loadedThemeSet = new Set(['eclipse', 'elegant']); // themes imported in _vendor.scss\n\n this.loadedKeymapSet = new Set();\n }\n\n componentWillMount() {\n if (this.props.emojiStrategy != null) {\n this.emojiAutoCompleteHelper = new _EmojiAutoCompleteHelper__WEBPACK_IMPORTED_MODULE_10__[\"default\"](this.props.emojiStrategy);\n this.setState({\n isEnabledEmojiAutoComplete: true\n });\n }\n }\n\n componentDidMount() {\n // ensure to be able to resolve 'this' to use 'codemirror.commands.save'\n this.getCodeMirror().codeMirrorEditor = this; // load theme\n\n const theme = this.props.editorOptions.theme;\n this.loadTheme(theme); // set keymap\n\n const keymapMode = this.props.editorOptions.keymapMode;\n this.setKeymapMode(keymapMode);\n }\n\n componentWillReceiveProps(nextProps) {\n // load theme\n const theme = nextProps.editorOptions.theme;\n this.loadTheme(theme); // set keymap\n\n const keymapMode = nextProps.editorOptions.keymapMode;\n this.setKeymapMode(keymapMode);\n }\n\n getCodeMirror() {\n return this.cm.editor;\n }\n /**\n * @inheritDoc\n */\n\n\n forceToFocus() {\n const editor = this.getCodeMirror(); // use setInterval with reluctance -- 2018.01.11 Yuki Takei\n\n const intervalId = setInterval(() => {\n this.getCodeMirror().focus();\n\n if (editor.hasFocus()) {\n clearInterval(intervalId); // refresh\n\n editor.refresh();\n }\n }, 100);\n }\n /**\n * @inheritDoc\n */\n\n\n setValue(newValue) {\n this.setState({\n value: newValue\n });\n this.getCodeMirror().getDoc().setValue(newValue);\n }\n /**\n * @inheritDoc\n */\n\n\n setGfmMode(bool) {\n // update state\n this.setState({\n isGfmMode: bool,\n isEnabledEmojiAutoComplete: bool\n });\n this.updateCheatsheetStates(bool, null); // update CodeMirror option\n\n const mode = bool ? 'gfm' : undefined;\n this.getCodeMirror().setOption('mode', mode);\n }\n /**\n * @inheritDoc\n */\n\n\n setCaretLine(line) {\n if (Number.isNaN(line)) {\n return;\n }\n\n const editor = this.getCodeMirror();\n const linePosition = Math.max(0, line);\n editor.setCursor({\n line: linePosition\n }); // leave 'ch' field as null/undefined to indicate the end of line\n\n this.setScrollTopByLine(linePosition);\n }\n /**\n * @inheritDoc\n */\n\n\n setScrollTopByLine(line) {\n if (Number.isNaN(line)) {\n return;\n }\n\n const editor = this.getCodeMirror(); // get top position of the line\n\n const top = editor.charCoords({\n line,\n ch: 0\n }, 'local').top;\n editor.scrollTo(null, top);\n }\n /**\n * @inheritDoc\n */\n\n\n getStrFromBol() {\n const editor = this.getCodeMirror();\n const curPos = editor.getCursor();\n return editor.getDoc().getRange(this.getBol(), curPos);\n }\n /**\n * @inheritDoc\n */\n\n\n getStrToEol() {\n const editor = this.getCodeMirror();\n const curPos = editor.getCursor();\n return editor.getDoc().getRange(curPos, this.getEol());\n }\n /**\n * @inheritDoc\n */\n\n\n getStrFromBolToSelectedUpperPos() {\n const editor = this.getCodeMirror();\n const pos = this.selectUpperPos(editor.getCursor('from'), editor.getCursor('to'));\n return editor.getDoc().getRange(this.getBol(), pos);\n }\n /**\n * @inheritDoc\n */\n\n\n replaceBolToCurrentPos(text) {\n const editor = this.getCodeMirror();\n const pos = this.selectLowerPos(editor.getCursor('from'), editor.getCursor('to'));\n editor.getDoc().replaceRange(text, this.getBol(), pos);\n }\n /**\n * @inheritDoc\n */\n\n\n replaceLine(text) {\n const editor = this.getCodeMirror();\n editor.getDoc().replaceRange(text, this.getBol(), this.getEol());\n }\n /**\n * @inheritDoc\n */\n\n\n insertText(text) {\n const editor = this.getCodeMirror();\n editor.getDoc().replaceSelection(text);\n }\n /**\n * return the postion of the BOL(beginning of line)\n */\n\n\n getBol() {\n const editor = this.getCodeMirror();\n const curPos = editor.getCursor();\n return {\n line: curPos.line,\n ch: 0\n };\n }\n /**\n * return the postion of the EOL(end of line)\n */\n\n\n getEol() {\n const editor = this.getCodeMirror();\n const curPos = editor.getCursor();\n const lineLength = editor.getDoc().getLine(curPos.line).length;\n return {\n line: curPos.line,\n ch: lineLength\n };\n }\n /**\n * select the upper position of pos1 and pos2\n * @param {{line: number, ch: number}} pos1\n * @param {{line: number, ch: number}} pos2\n */\n\n\n selectUpperPos(pos1, pos2) {\n // if both is in same line\n if (pos1.line === pos2.line) {\n return pos1.ch < pos2.ch ? pos1 : pos2;\n }\n\n return pos1.line < pos2.line ? pos1 : pos2;\n }\n /**\n * select the lower position of pos1 and pos2\n * @param {{line: number, ch: number}} pos1\n * @param {{line: number, ch: number}} pos2\n */\n\n\n selectLowerPos(pos1, pos2) {\n // if both is in same line\n if (pos1.line === pos2.line) {\n return pos1.ch < pos2.ch ? pos2 : pos1;\n }\n\n return pos1.line < pos2.line ? pos2 : pos1;\n }\n\n loadCss(source) {\n return new Promise(resolve => {\n loadCssSync(source);\n resolve();\n });\n }\n /**\n * load Theme\n * @see https://codemirror.net/doc/manual.html#config\n *\n * @param {string} theme\n */\n\n\n loadTheme(theme) {\n if (!this.loadedThemeSet.has(theme)) {\n const url = this.props.noCdn ? url_join__WEBPACK_IMPORTED_MODULE_2___default()(this.cmNoCdnStyleRoot, `codemirror-theme-${theme}.css`) : url_join__WEBPACK_IMPORTED_MODULE_2___default()(this.cmCdnRoot, `theme/${theme}.min.css`);\n this.loadCss(url); // update Set\n\n this.loadedThemeSet.add(theme);\n }\n }\n /**\n * load assets for Key Maps\n * @param {*} keymapMode 'default' or 'vim' or 'emacs' or 'sublime'\n */\n\n\n loadKeymapMode(keymapMode) {\n const loadCss = this.loadCss;\n const scriptList = [];\n const cssList = []; // add dependencies\n\n if (this.loadedKeymapSet.size === 0) {\n const dialogScriptUrl = this.props.noCdn ? url_join__WEBPACK_IMPORTED_MODULE_2___default()(this.cmNoCdnScriptRoot, 'codemirror-dialog.js') : url_join__WEBPACK_IMPORTED_MODULE_2___default()(this.cmCdnRoot, 'addon/dialog/dialog.min.js');\n const dialogStyleUrl = this.props.noCdn ? url_join__WEBPACK_IMPORTED_MODULE_2___default()(this.cmNoCdnStyleRoot, 'codemirror-dialog.css') : url_join__WEBPACK_IMPORTED_MODULE_2___default()(this.cmCdnRoot, 'addon/dialog/dialog.min.css');\n scriptList.push(loadScript(dialogScriptUrl));\n cssList.push(loadCss(dialogStyleUrl));\n } // load keymap\n\n\n if (!this.loadedKeymapSet.has(keymapMode)) {\n const keymapScriptUrl = this.props.noCdn ? url_join__WEBPACK_IMPORTED_MODULE_2___default()(this.cmNoCdnScriptRoot, `codemirror-keymap-${keymapMode}.js`) : url_join__WEBPACK_IMPORTED_MODULE_2___default()(this.cmCdnRoot, `keymap/${keymapMode}.min.js`);\n scriptList.push(loadScript(keymapScriptUrl)); // update Set\n\n this.loadedKeymapSet.add(keymapMode);\n } // set loading state\n\n\n this.setState({\n isLoadingKeymap: true\n });\n return Promise.all(scriptList.concat(cssList)).then(() => {\n this.setState({\n isLoadingKeymap: false\n });\n });\n }\n /**\n * set Key Maps\n * @see https://codemirror.net/doc/manual.html#keymaps\n *\n * @param {string} keymapMode 'default' or 'vim' or 'emacs' or 'sublime'\n */\n\n\n setKeymapMode(keymapMode) {\n if (!keymapMode.match(/^(vim|emacs|sublime)$/)) {\n // reset\n this.getCodeMirror().setOption('keyMap', 'default');\n return;\n }\n\n this.loadKeymapMode(keymapMode).then(() => {\n let errorCount = 0;\n const timer = setInterval(() => {\n if (errorCount > 10) {\n // cancel over 3000ms\n this.logger.error(`Timeout to load keyMap '${keymapMode}'`);\n clearInterval(timer);\n }\n\n try {\n this.getCodeMirror().setOption('keyMap', keymapMode);\n clearInterval(timer);\n } catch (e) {\n this.logger.info(`keyMap '${keymapMode}' has not been initialized. retry..`); // continue if error occured\n\n errorCount++;\n }\n }, 300);\n });\n }\n /**\n * handle ENTER key\n */\n\n\n handleEnterKey() {\n if (!this.state.isGfmMode) {\n codemirror__WEBPACK_IMPORTED_MODULE_3__[\"commands\"].newlineAndIndent(this.getCodeMirror());\n return;\n }\n\n const context = {\n handlers: [],\n // list of handlers which process enter key\n editor: this,\n editorOptions: this.props.editorOptions\n };\n const interceptorManager = this.interceptorManager;\n interceptorManager.process('preHandleEnter', context).then(() => {\n if (context.handlers.length === 0) {\n codemirror__WEBPACK_IMPORTED_MODULE_3__[\"commands\"].newlineAndIndentContinueMarkdownList(this.getCodeMirror());\n }\n });\n }\n /**\n * handle Ctrl+ENTER key\n */\n\n\n handleCtrlEnterKey() {\n if (this.props.onCtrlEnter != null) {\n this.props.onCtrlEnter();\n }\n }\n\n scrollCursorIntoViewHandler(editor, event) {\n if (this.props.onScrollCursorIntoView != null) {\n const line = editor.getCursor().line;\n this.props.onScrollCursorIntoView(line);\n }\n }\n\n cursorHandler(editor, event) {\n const {\n additionalClassSet\n } = this.state;\n const hasCustomClass = additionalClassSet.has(MARKDOWN_TABLE_ACTIVATED_CLASS);\n const hasLinkClass = additionalClassSet.has(MARKDOWN_LINK_ACTIVATED_CLASS);\n const isInTable = _MarkdownTableUtil__WEBPACK_IMPORTED_MODULE_14__[\"default\"].isInTable(editor);\n const isInLink = _MarkdownLinkUtil__WEBPACK_IMPORTED_MODULE_13__[\"default\"].isInLink(editor);\n\n if (!hasCustomClass && isInTable) {\n additionalClassSet.add(MARKDOWN_TABLE_ACTIVATED_CLASS);\n this.setState({\n additionalClassSet\n });\n }\n\n if (hasCustomClass && !isInTable) {\n additionalClassSet.delete(MARKDOWN_TABLE_ACTIVATED_CLASS);\n this.setState({\n additionalClassSet\n });\n }\n\n if (!hasLinkClass && isInLink) {\n additionalClassSet.add(MARKDOWN_LINK_ACTIVATED_CLASS);\n this.setState({\n additionalClassSet\n });\n }\n\n if (hasLinkClass && !isInLink) {\n additionalClassSet.delete(MARKDOWN_LINK_ACTIVATED_CLASS);\n this.setState({\n additionalClassSet\n });\n }\n }\n\n changeHandler(editor, data, value) {\n if (this.props.onChange != null) {\n this.props.onChange(value);\n }\n\n this.updateCheatsheetStates(null, value); // Emoji AutoComplete\n\n if (this.state.isEnabledEmojiAutoComplete) {\n this.emojiAutoCompleteHelper.showHint(editor);\n }\n }\n /**\n * CodeMirror paste event handler\n * see: https://codemirror.net/doc/manual.html#events\n * @param {any} editor An editor instance of CodeMirror\n * @param {any} event\n */\n\n\n pasteHandler(editor, event) {\n const types = event.clipboardData.types; // files\n\n if (types.includes('Files')) {\n event.preventDefault();\n this.dispatchPasteFiles(event);\n } // text\n else if (types.includes('text/plain')) {\n _PasteHelper__WEBPACK_IMPORTED_MODULE_9__[\"default\"].pasteText(this, event);\n }\n }\n /**\n * update states which related to cheatsheet\n * @param {boolean} isGfmModeTmp (use state.isGfmMode if null is set)\n * @param {string} valueTmp (get value from codemirror if null is set)\n */\n\n\n updateCheatsheetStates(isGfmModeTmp, valueTmp) {\n const isGfmMode = isGfmModeTmp || this.state.isGfmMode;\n const value = valueTmp || this.getCodeMirror().getDoc().getValue(); // update isSimpleCheatsheetShown\n\n const isSimpleCheatsheetShown = isGfmMode && value.length === 0;\n this.setState({\n isSimpleCheatsheetShown\n });\n }\n\n markdownHelpButtonClickedHandler() {\n if (this.props.onMarkdownHelpButtonClicked != null) {\n this.props.onMarkdownHelpButtonClicked();\n }\n }\n\n renderLoadingKeymapOverlay() {\n // centering\n const style = {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n return this.state.isLoadingKeymap ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"overlay overlay-loading-keymap\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n style: style,\n className: \"overlay-content\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"speeding-wheel d-inline-block\"\n }), \" Loading Keymap ...\")) : '';\n }\n\n renderCheatsheetModalButton() {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn-link gfm-cheatsheet-modal-link small\",\n onClick: () => {\n this.markdownHelpButtonClickedHandler();\n }\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-question\"\n }), \" Markdown\");\n }\n\n renderCheatsheetOverlay() {\n const cheatsheetModalButton = this.renderCheatsheetModalButton();\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"overlay overlay-gfm-cheatsheet mt-1 p-3\"\n }, this.state.isSimpleCheatsheetShown ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"text-right\"\n }, cheatsheetModalButton, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"mb-2 d-none d-md-block\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SimpleCheatsheet__WEBPACK_IMPORTED_MODULE_8__[\"default\"], null))) : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"mr-4 mb-2\"\n }, cheatsheetModalButton));\n }\n /**\n * return a function to replace a selected range with prefix + selection + suffix\n *\n * The cursor after replacing is inserted between the selection and the suffix.\n */\n\n\n createReplaceSelectionHandler(prefix, suffix) {\n return () => {\n const cm = this.getCodeMirror();\n const selection = cm.getDoc().getSelection();\n const curStartPos = cm.getCursor('from');\n const curEndPos = cm.getCursor('to');\n const curPosAfterReplacing = {};\n curPosAfterReplacing.line = curEndPos.line;\n\n if (curStartPos.line === curEndPos.line) {\n curPosAfterReplacing.ch = curEndPos.ch + prefix.length;\n } else {\n curPosAfterReplacing.ch = curEndPos.ch;\n }\n\n cm.getDoc().replaceSelection(prefix + selection + suffix);\n cm.setCursor(curPosAfterReplacing);\n cm.focus();\n };\n }\n /**\n * return a function to add prefix to selected each lines\n *\n * The cursor after editing is inserted between the end of the selection.\n */\n\n\n createAddPrefixToEachLinesHandler(prefix) {\n return () => {\n const cm = this.getCodeMirror();\n const startLineNum = cm.getCursor('from').line;\n const endLineNum = cm.getCursor('to').line;\n const lines = [];\n\n for (let i = startLineNum; i <= endLineNum; i++) {\n lines.push(prefix + cm.getDoc().getLine(i));\n }\n\n const replacement = `${lines.join('\\n')}\\n`;\n cm.getDoc().replaceRange(replacement, {\n line: startLineNum,\n ch: 0\n }, {\n line: endLineNum + 1,\n ch: 0\n });\n cm.setCursor(endLineNum, cm.getDoc().getLine(endLineNum).length);\n cm.focus();\n };\n }\n /**\n * make a selected line a header\n *\n * The cursor after editing is inserted between the end of the line.\n */\n\n\n makeHeaderHandler() {\n const cm = this.getCodeMirror();\n const lineNum = cm.getCursor('from').line;\n const line = cm.getDoc().getLine(lineNum);\n let prefix = '#';\n\n if (!line.startsWith('#')) {\n prefix += ' ';\n }\n\n cm.getDoc().replaceRange(prefix, {\n line: lineNum,\n ch: 0\n }, {\n line: lineNum,\n ch: 0\n });\n cm.focus();\n }\n\n showGridEditorHandler() {\n this.gridEditModal.current.show(_GridEditorUtil__WEBPACK_IMPORTED_MODULE_16__[\"default\"].getGridHtml(this.getCodeMirror()));\n }\n\n showLinkEditHandler() {\n this.linkEditModal.current.show(_MarkdownLinkUtil__WEBPACK_IMPORTED_MODULE_13__[\"default\"].getMarkdownLink(this.getCodeMirror()));\n }\n\n showHandsonTableHandler() {\n this.handsontableModal.current.show(_MarkdownTableUtil__WEBPACK_IMPORTED_MODULE_14__[\"default\"].getMarkdownTable(this.getCodeMirror()));\n }\n\n showDrawioHandler() {\n this.drawioModal.current.show(_MarkdownDrawioUtil__WEBPACK_IMPORTED_MODULE_15__[\"default\"].getMarkdownDrawioMxfile(this.getCodeMirror()));\n }\n\n getNavbarItems() {\n return [react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n key: \"nav-item-bold\",\n color: null,\n size: \"sm\",\n title: \"Bold\",\n onClick: this.createReplaceSelectionHandler('**', '**')\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EditorIcon__WEBPACK_IMPORTED_MODULE_20__[\"default\"], {\n icon: \"Bold\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n key: \"nav-item-italic\",\n color: null,\n size: \"sm\",\n title: \"Italic\",\n onClick: this.createReplaceSelectionHandler('*', '*')\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EditorIcon__WEBPACK_IMPORTED_MODULE_20__[\"default\"], {\n icon: \"Italic\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n key: \"nav-item-strikethrough\",\n color: null,\n size: \"sm\",\n title: \"Strikethrough\",\n onClick: this.createReplaceSelectionHandler('~~', '~~')\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EditorIcon__WEBPACK_IMPORTED_MODULE_20__[\"default\"], {\n icon: \"Strikethrough\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n key: \"nav-item-header\",\n color: null,\n size: \"sm\",\n title: \"Heading\",\n onClick: this.makeHeaderHandler\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EditorIcon__WEBPACK_IMPORTED_MODULE_20__[\"default\"], {\n icon: \"Heading\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n key: \"nav-item-code\",\n color: null,\n size: \"sm\",\n title: \"Inline Code\",\n onClick: this.createReplaceSelectionHandler('`', '`')\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EditorIcon__WEBPACK_IMPORTED_MODULE_20__[\"default\"], {\n icon: \"InlineCode\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n key: \"nav-item-quote\",\n color: null,\n size: \"sm\",\n title: \"Quote\",\n onClick: this.createAddPrefixToEachLinesHandler('> ')\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EditorIcon__WEBPACK_IMPORTED_MODULE_20__[\"default\"], {\n icon: \"Quote\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n key: \"nav-item-ul\",\n color: null,\n size: \"sm\",\n title: \"List\",\n onClick: this.createAddPrefixToEachLinesHandler('- ')\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EditorIcon__WEBPACK_IMPORTED_MODULE_20__[\"default\"], {\n icon: \"List\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n key: \"nav-item-ol\",\n color: null,\n size: \"sm\",\n title: \"Numbered List\",\n onClick: this.createAddPrefixToEachLinesHandler('1. ')\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EditorIcon__WEBPACK_IMPORTED_MODULE_20__[\"default\"], {\n icon: \"NumberedList\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n key: \"nav-item-checkbox\",\n color: null,\n size: \"sm\",\n title: \"Check List\",\n onClick: this.createAddPrefixToEachLinesHandler('- [ ] ')\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EditorIcon__WEBPACK_IMPORTED_MODULE_20__[\"default\"], {\n icon: \"CheckList\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n key: \"nav-item-link\",\n color: null,\n size: \"sm\",\n title: \"Link\",\n onClick: this.showLinkEditHandler\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EditorIcon__WEBPACK_IMPORTED_MODULE_20__[\"default\"], {\n icon: \"Link\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n key: \"nav-item-image\",\n color: null,\n size: \"sm\",\n title: \"Image\",\n onClick: this.createReplaceSelectionHandler('![', ']()')\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EditorIcon__WEBPACK_IMPORTED_MODULE_20__[\"default\"], {\n icon: \"Image\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n key: \"nav-item-grid\",\n color: null,\n size: \"sm\",\n title: \"Grid\",\n onClick: this.showGridEditorHandler\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EditorIcon__WEBPACK_IMPORTED_MODULE_20__[\"default\"], {\n icon: \"Grid\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n key: \"nav-item-table\",\n color: null,\n size: \"sm\",\n title: \"Table\",\n onClick: this.showHandsonTableHandler\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EditorIcon__WEBPACK_IMPORTED_MODULE_20__[\"default\"], {\n icon: \"Table\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n key: \"nav-item-drawio\",\n color: null,\n bssize: \"small\",\n title: \"draw.io\",\n onClick: this.showDrawioHandler\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_EditorIcon__WEBPACK_IMPORTED_MODULE_20__[\"default\"], {\n icon: \"Drawio\"\n }))];\n }\n\n render() {\n const mode = this.state.isGfmMode ? 'gfm-growi' : undefined;\n const additionalClasses = Array.from(this.state.additionalClassSet).join(' ');\n const placeholder = this.state.isGfmMode ? 'Input with Markdown..' : 'Input with Plane Text..';\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_codemirror2__WEBPACK_IMPORTED_MODULE_5__[\"UnControlled\"], {\n ref: c => {\n this.cm = c;\n },\n className: additionalClasses,\n placeholder: \"search\",\n editorDidMount: editor => {\n // add event handlers\n editor.on('paste', this.pasteHandler);\n editor.on('scrollCursorIntoView', this.scrollCursorIntoViewHandler);\n },\n value: this.state.value,\n options: {\n mode,\n theme: this.props.editorOptions.theme,\n styleActiveLine: this.props.editorOptions.styleActiveLine,\n lineNumbers: this.props.lineNumbers,\n tabSize: 4,\n indentUnit: this.props.indentSize,\n lineWrapping: true,\n scrollPastEnd: true,\n autoRefresh: {\n force: true\n },\n // force option is enabled by autorefresh.ext.js -- Yuki Takei\n autoCloseTags: true,\n placeholder,\n matchBrackets: true,\n matchTags: {\n bothTags: true\n },\n // folding\n foldGutter: this.props.lineNumbers,\n gutters: this.props.lineNumbers ? ['CodeMirror-linenumbers', 'CodeMirror-foldgutter'] : [],\n // match-highlighter, matchesonscrollbar, annotatescrollbar options\n highlightSelectionMatches: {\n annotateScrollbar: true\n },\n // continuelist, indentlist\n extraKeys: {\n Enter: this.handleEnterKey,\n 'Ctrl-Enter': this.handleCtrlEnterKey,\n 'Cmd-Enter': this.handleCtrlEnterKey,\n Tab: 'indentMore',\n 'Shift-Tab': 'indentLess',\n 'Ctrl-Q': cm => {\n cm.foldCode(cm.getCursor());\n }\n }\n },\n onCursor: this.cursorHandler,\n onScroll: (editor, data) => {\n if (this.props.onScroll != null) {\n // add line data\n const line = editor.lineAtHeight(data.top, 'local');\n data.line = line;\n this.props.onScroll(data);\n }\n },\n onChange: this.changeHandler,\n onDragEnter: (editor, event) => {\n if (this.props.onDragEnter != null) {\n this.props.onDragEnter(event);\n }\n }\n }), this.renderLoadingKeymapOverlay(), this.renderCheatsheetOverlay(), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_GridEditModal__WEBPACK_IMPORTED_MODULE_17__[\"default\"], {\n ref: this.gridEditModal,\n onSave: grid => {\n return _GridEditorUtil__WEBPACK_IMPORTED_MODULE_16__[\"default\"].replaceGridWithHtmlWithEditor(this.getCodeMirror(), grid);\n }\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_LinkEditModal__WEBPACK_IMPORTED_MODULE_18__[\"default\"], {\n ref: this.linkEditModal,\n onSave: linkText => {\n return _MarkdownLinkUtil__WEBPACK_IMPORTED_MODULE_13__[\"default\"].replaceFocusedMarkdownLinkWithEditor(this.getCodeMirror(), linkText);\n }\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_HandsontableModal__WEBPACK_IMPORTED_MODULE_19__[\"default\"], {\n ref: this.handsontableModal,\n onSave: table => {\n return _MarkdownTableUtil__WEBPACK_IMPORTED_MODULE_14__[\"default\"].replaceFocusedMarkdownTableWithEditor(this.getCodeMirror(), table);\n },\n ignoreAutoFormatting: this.props.editorOptions.ignoreMarkdownTableAutoFormatting\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_DrawioModal__WEBPACK_IMPORTED_MODULE_21__[\"default\"], {\n ref: this.drawioModal,\n onSave: drawioData => {\n return _MarkdownDrawioUtil__WEBPACK_IMPORTED_MODULE_15__[\"default\"].replaceFocusedDrawioWithEditor(this.getCodeMirror(), drawioData);\n }\n }));\n }\n\n}\nCodeMirrorEditor.propTypes = Object.assign({\n editorOptions: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object.isRequired,\n emojiStrategy: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n lineNumbers: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n onMarkdownHelpButtonClicked: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func\n}, _AbstractEditor__WEBPACK_IMPORTED_MODULE_7__[\"default\"].propTypes);\nCodeMirrorEditor.defaultProps = {\n lineNumbers: true\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci9Db2RlTWlycm9yRWRpdG9yLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9QYWdlRWRpdG9yL0NvZGVNaXJyb3JFZGl0b3IuanN4PzM3NzUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCB1cmxqb2luIGZyb20gJ3VybC1qb2luJztcbmltcG9ydCAqIGFzIGNvZGVtaXJyb3IgZnJvbSAnY29kZW1pcnJvcic7XG5cbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJ3JlYWN0c3RyYXAnO1xuaW1wb3J0IHsgVW5Db250cm9sbGVkIGFzIFJlYWN0Q29kZU1pcnJvciB9IGZyb20gJ3JlYWN0LWNvZGVtaXJyb3IyJztcblxuaW1wb3J0IEludGVyY2VwdG9yTWFuYWdlciBmcm9tICdAY29tbW9ucy9zZXJ2aWNlL2ludGVyY2VwdG9yLW1hbmFnZXInO1xuXG5pbXBvcnQgQWJzdHJhY3RFZGl0b3IgZnJvbSAnLi9BYnN0cmFjdEVkaXRvcic7XG5pbXBvcnQgU2ltcGxlQ2hlYXRzaGVldCBmcm9tICcuL1NpbXBsZUNoZWF0c2hlZXQnO1xuXG5pbXBvcnQgcGFzdGVIZWxwZXIgZnJvbSAnLi9QYXN0ZUhlbHBlcic7XG5pbXBvcnQgRW1vamlBdXRvQ29tcGxldGVIZWxwZXIgZnJvbSAnLi9FbW9qaUF1dG9Db21wbGV0ZUhlbHBlcic7XG5pbXBvcnQgUHJldmVudE1hcmtkb3duTGlzdEludGVyY2VwdG9yIGZyb20gJy4vUHJldmVudE1hcmtkb3duTGlzdEludGVyY2VwdG9yJztcbmltcG9ydCBNYXJrZG93blRhYmxlSW50ZXJjZXB0b3IgZnJvbSAnLi9NYXJrZG93blRhYmxlSW50ZXJjZXB0b3InO1xuaW1wb3J0IG1sdSBmcm9tICcuL01hcmtkb3duTGlua1V0aWwnO1xuaW1wb3J0IG10dSBmcm9tICcuL01hcmtkb3duVGFibGVVdGlsJztcbmltcG9ydCBtZHUgZnJvbSAnLi9NYXJrZG93bkRyYXdpb1V0aWwnO1xuaW1wb3J0IGdldSBmcm9tICcuL0dyaWRFZGl0b3JVdGlsJztcbmltcG9ydCBHcmlkRWRpdE1vZGFsIGZyb20gJy4vR3JpZEVkaXRNb2RhbCc7XG5pbXBvcnQgTGlua0VkaXRNb2RhbCBmcm9tICcuL0xpbmtFZGl0TW9kYWwnO1xuaW1wb3J0IEhhbmRzb250YWJsZU1vZGFsIGZyb20gJy4vSGFuZHNvbnRhYmxlTW9kYWwnO1xuaW1wb3J0IEVkaXRvckljb24gZnJvbSAnLi9FZGl0b3JJY29uJztcbmltcG9ydCBEcmF3aW9Nb2RhbCBmcm9tICcuL0RyYXdpb01vZGFsJztcblxuY29uc3QgbG9hZFNjcmlwdCA9IHJlcXVpcmUoJ3NpbXBsZS1sb2FkLXNjcmlwdCcpO1xuY29uc3QgbG9hZENzc1N5bmMgPSByZXF1aXJlKCdsb2FkLWNzcy1maWxlJyk7XG4vLyBzZXQgc2F2ZSBoYW5kbGVyXG5jb2RlbWlycm9yLmNvbW1hbmRzLnNhdmUgPSAoaW5zdGFuY2UpID0+IHtcbiAgaWYgKGluc3RhbmNlLmNvZGVNaXJyb3JFZGl0b3IgIT0gbnVsbCkge1xuICAgIGluc3RhbmNlLmNvZGVNaXJyb3JFZGl0b3IuZGlzcGF0Y2hTYXZlKCk7XG4gIH1cbn07XG4vLyBzZXQgQ29kZU1pcnJvciBpbnN0YW5jZSBhcyAnQ29kZU1pcnJvcicgc28gdGhhdCBDRE4gYWRkb25zIGNhbiByZWZlcmVuY2VcbndpbmRvdy5Db2RlTWlycm9yID0gcmVxdWlyZSgnY29kZW1pcnJvcicpO1xucmVxdWlyZSgnY29kZW1pcnJvci9hZGRvbi9kaXNwbGF5L3BsYWNlaG9sZGVyJyk7XG5yZXF1aXJlKCdjb2RlbWlycm9yL2FkZG9uL2VkaXQvbWF0Y2hicmFja2V0cycpO1xucmVxdWlyZSgnY29kZW1pcnJvci9hZGRvbi9lZGl0L21hdGNodGFncycpO1xucmVxdWlyZSgnY29kZW1pcnJvci9hZGRvbi9lZGl0L2Nsb3NldGFnJyk7XG5yZXF1aXJlKCdjb2RlbWlycm9yL2FkZG9uL2VkaXQvY29udGludWVsaXN0Jyk7XG5yZXF1aXJlKCdjb2RlbWlycm9yL2FkZG9uL2hpbnQvc2hvdy1oaW50Jyk7XG5yZXF1aXJlKCdjb2RlbWlycm9yL2FkZG9uL2hpbnQvc2hvdy1oaW50LmNzcycpO1xucmVxdWlyZSgnY29kZW1pcnJvci9hZGRvbi9zZWFyY2gvc2VhcmNoY3Vyc29yJyk7XG5yZXF1aXJlKCdjb2RlbWlycm9yL2FkZG9uL3NlYXJjaC9tYXRjaC1oaWdobGlnaHRlcicpO1xucmVxdWlyZSgnY29kZW1pcnJvci9hZGRvbi9zZWxlY3Rpb24vYWN0aXZlLWxpbmUnKTtcbnJlcXVpcmUoJ2NvZGVtaXJyb3IvYWRkb24vc2Nyb2xsL2Fubm90YXRlc2Nyb2xsYmFyJyk7XG5yZXF1aXJlKCdjb2RlbWlycm9yL2FkZG9uL3Njcm9sbC9zY3JvbGxwYXN0ZW5kJyk7XG5yZXF1aXJlKCdjb2RlbWlycm9yL2FkZG9uL2ZvbGQvZm9sZGNvZGUnKTtcbnJlcXVpcmUoJ2NvZGVtaXJyb3IvYWRkb24vZm9sZC9mb2xkZ3V0dGVyJyk7XG5yZXF1aXJlKCdjb2RlbWlycm9yL2FkZG9uL2ZvbGQvZm9sZGd1dHRlci5jc3MnKTtcbnJlcXVpcmUoJ2NvZGVtaXJyb3IvYWRkb24vZm9sZC9tYXJrZG93bi1mb2xkJyk7XG5yZXF1aXJlKCdjb2RlbWlycm9yL2FkZG9uL2ZvbGQvYnJhY2UtZm9sZCcpO1xucmVxdWlyZSgnY29kZW1pcnJvci9hZGRvbi9kaXNwbGF5L3BsYWNlaG9sZGVyJyk7XG5yZXF1aXJlKCcuLi8uLi91dGlsL2NvZGVtaXJyb3IvYXV0b3JlZnJlc2guZXh0Jyk7XG5yZXF1aXJlKCcuLi8uLi91dGlsL2NvZGVtaXJyb3IvZ2ZtLWdyb3dpLm1vZGUnKTtcbi8vIGltcG9ydCBtb2RlcyB0byBoaWdobGlnaHRcbnJlcXVpcmUoJ2NvZGVtaXJyb3IvbW9kZS9jbGlrZS9jbGlrZScpO1xucmVxdWlyZSgnY29kZW1pcnJvci9tb2RlL2Nzcy9jc3MnKTtcbnJlcXVpcmUoJ2NvZGVtaXJyb3IvbW9kZS9kamFuZ28vZGphbmdvJyk7XG5yZXF1aXJlKCdjb2RlbWlycm9yL21vZGUvZXJsYW5nL2VybGFuZycpO1xucmVxdWlyZSgnY29kZW1pcnJvci9tb2RlL2dmbS9nZm0nKTtcbnJlcXVpcmUoJ2NvZGVtaXJyb3IvbW9kZS9nby9nbycpO1xucmVxdWlyZSgnY29kZW1pcnJvci9tb2RlL2phdmFzY3JpcHQvamF2YXNjcmlwdCcpO1xucmVxdWlyZSgnY29kZW1pcnJvci9tb2RlL2pzeC9qc3gnKTtcbnJlcXVpcmUoJ2NvZGVtaXJyb3IvbW9kZS9tYXRoZW1hdGljYS9tYXRoZW1hdGljYScpO1xucmVxdWlyZSgnY29kZW1pcnJvci9tb2RlL25naW54L25naW54Jyk7XG5yZXF1aXJlKCdjb2RlbWlycm9yL21vZGUvcGVybC9wZXJsJyk7XG5yZXF1aXJlKCdjb2RlbWlycm9yL21vZGUvcGhwL3BocCcpO1xucmVxdWlyZSgnY29kZW1pcnJvci9tb2RlL3B5dGhvbi9weXRob24nKTtcbnJlcXVpcmUoJ2NvZGVtaXJyb3IvbW9kZS9yL3InKTtcbnJlcXVpcmUoJ2NvZGVtaXJyb3IvbW9kZS9ydWJ5L3J1YnknKTtcbnJlcXVpcmUoJ2NvZGVtaXJyb3IvbW9kZS9ydXN0L3J1c3QnKTtcbnJlcXVpcmUoJ2NvZGVtaXJyb3IvbW9kZS9zYXNzL3Nhc3MnKTtcbnJlcXVpcmUoJ2NvZGVtaXJyb3IvbW9kZS9zaGVsbC9zaGVsbCcpO1xucmVxdWlyZSgnY29kZW1pcnJvci9tb2RlL3NxbC9zcWwnKTtcbnJlcXVpcmUoJ2NvZGVtaXJyb3IvbW9kZS9zdGV4L3N0ZXgnKTtcbnJlcXVpcmUoJ2NvZGVtaXJyb3IvbW9kZS9zdHlsdXMvc3R5bHVzJyk7XG5yZXF1aXJlKCdjb2RlbWlycm9yL21vZGUvc3dpZnQvc3dpZnQnKTtcbnJlcXVpcmUoJ2NvZGVtaXJyb3IvbW9kZS90b21sL3RvbWwnKTtcbnJlcXVpcmUoJ2NvZGVtaXJyb3IvbW9kZS92Yi92YicpO1xucmVxdWlyZSgnY29kZW1pcnJvci9tb2RlL3Z1ZS92dWUnKTtcbnJlcXVpcmUoJ2NvZGVtaXJyb3IvbW9kZS94bWwveG1sJyk7XG5yZXF1aXJlKCdjb2RlbWlycm9yL21vZGUveWFtbC95YW1sJyk7XG5cblxuY29uc3QgTUFSS0RPV05fVEFCTEVfQUNUSVZBVEVEX0NMQVNTID0gJ21hcmtkb3duLXRhYmxlLWFjdGl2YXRlZCc7XG5jb25zdCBNQVJLRE9XTl9MSU5LX0FDVElWQVRFRF9DTEFTUyA9ICdtYXJrZG93bi1saW5rLWFjdGl2YXRlZCc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvZGVNaXJyb3JFZGl0b3IgZXh0ZW5kcyBBYnN0cmFjdEVkaXRvciB7XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5sb2dnZXIgPSByZXF1aXJlKCdAYWxpYXMvbG9nZ2VyJykoJ2dyb3dpOlBhZ2VFZGl0b3I6Q29kZU1pcnJvckVkaXRvcicpO1xuXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIHZhbHVlOiB0aGlzLnByb3BzLnZhbHVlLFxuICAgICAgaXNHZm1Nb2RlOiB0aGlzLnByb3BzLmlzR2ZtTW9kZSxcbiAgICAgIGlzRW5hYmxlZEVtb2ppQXV0b0NvbXBsZXRlOiBmYWxzZSxcbiAgICAgIGlzTG9hZGluZ0tleW1hcDogZmFsc2UsXG4gICAgICBpc1NpbXBsZUNoZWF0c2hlZXRTaG93bjogdGhpcy5wcm9wcy5pc0dmbU1vZGUgJiYgdGhpcy5wcm9wcy52YWx1ZS5sZW5ndGggPT09IDAsXG4gICAgICBpc0NoZWF0c2hlZXRNb2RhbFNob3duOiBmYWxzZSxcbiAgICAgIGFkZGl0aW9uYWxDbGFzc1NldDogbmV3IFNldCgpLFxuICAgIH07XG5cbiAgICB0aGlzLmdyaWRFZGl0TW9kYWwgPSBSZWFjdC5jcmVhdGVSZWYoKTtcbiAgICB0aGlzLmxpbmtFZGl0TW9kYWwgPSBSZWFjdC5jcmVhdGVSZWYoKTtcbiAgICB0aGlzLmhhbmRzb250YWJsZU1vZGFsID0gUmVhY3QuY3JlYXRlUmVmKCk7XG4gICAgdGhpcy5kcmF3aW9Nb2RhbCA9IFJlYWN0LmNyZWF0ZVJlZigpO1xuXG4gICAgdGhpcy5pbml0KCk7XG5cbiAgICB0aGlzLmdldENvZGVNaXJyb3IgPSB0aGlzLmdldENvZGVNaXJyb3IuYmluZCh0aGlzKTtcblxuICAgIHRoaXMuZ2V0Qm9sID0gdGhpcy5nZXRCb2wuYmluZCh0aGlzKTtcbiAgICB0aGlzLmdldEVvbCA9IHRoaXMuZ2V0RW9sLmJpbmQodGhpcyk7XG5cbiAgICB0aGlzLmxvYWRUaGVtZSA9IHRoaXMubG9hZFRoZW1lLmJpbmQodGhpcyk7XG4gICAgdGhpcy5sb2FkS2V5bWFwTW9kZSA9IHRoaXMubG9hZEtleW1hcE1vZGUuYmluZCh0aGlzKTtcbiAgICB0aGlzLnNldEtleW1hcE1vZGUgPSB0aGlzLnNldEtleW1hcE1vZGUuYmluZCh0aGlzKTtcbiAgICB0aGlzLmhhbmRsZUVudGVyS2V5ID0gdGhpcy5oYW5kbGVFbnRlcktleS5iaW5kKHRoaXMpO1xuICAgIHRoaXMuaGFuZGxlQ3RybEVudGVyS2V5ID0gdGhpcy5oYW5kbGVDdHJsRW50ZXJLZXkuYmluZCh0aGlzKTtcblxuICAgIHRoaXMuc2Nyb2xsQ3Vyc29ySW50b1ZpZXdIYW5kbGVyID0gdGhpcy5zY3JvbGxDdXJzb3JJbnRvVmlld0hhbmRsZXIuYmluZCh0aGlzKTtcbiAgICB0aGlzLnBhc3RlSGFuZGxlciA9IHRoaXMucGFzdGVIYW5kbGVyLmJpbmQodGhpcyk7XG4gICAgdGhpcy5jdXJzb3JIYW5kbGVyID0gdGhpcy5jdXJzb3JIYW5kbGVyLmJpbmQodGhpcyk7XG4gICAgdGhpcy5jaGFuZ2VIYW5kbGVyID0gdGhpcy5jaGFuZ2VIYW5kbGVyLmJpbmQodGhpcyk7XG5cbiAgICB0aGlzLnVwZGF0ZUNoZWF0c2hlZXRTdGF0ZXMgPSB0aGlzLnVwZGF0ZUNoZWF0c2hlZXRTdGF0ZXMuYmluZCh0aGlzKTtcblxuICAgIHRoaXMucmVuZGVyTG9hZGluZ0tleW1hcE92ZXJsYXkgPSB0aGlzLnJlbmRlckxvYWRpbmdLZXltYXBPdmVybGF5LmJpbmQodGhpcyk7XG4gICAgdGhpcy5yZW5kZXJDaGVhdHNoZWV0TW9kYWxCdXR0b24gPSB0aGlzLnJlbmRlckNoZWF0c2hlZXRNb2RhbEJ1dHRvbi5iaW5kKHRoaXMpO1xuXG4gICAgdGhpcy5tYWtlSGVhZGVySGFuZGxlciA9IHRoaXMubWFrZUhlYWRlckhhbmRsZXIuYmluZCh0aGlzKTtcbiAgICB0aGlzLnNob3dHcmlkRWRpdG9ySGFuZGxlciA9IHRoaXMuc2hvd0dyaWRFZGl0b3JIYW5kbGVyLmJpbmQodGhpcyk7XG4gICAgdGhpcy5zaG93TGlua0VkaXRIYW5kbGVyID0gdGhpcy5zaG93TGlua0VkaXRIYW5kbGVyLmJpbmQodGhpcyk7XG4gICAgdGhpcy5zaG93SGFuZHNvblRhYmxlSGFuZGxlciA9IHRoaXMuc2hvd0hhbmRzb25UYWJsZUhhbmRsZXIuYmluZCh0aGlzKTtcbiAgICB0aGlzLnNob3dEcmF3aW9IYW5kbGVyID0gdGhpcy5zaG93RHJhd2lvSGFuZGxlci5iaW5kKHRoaXMpO1xuICB9XG5cbiAgaW5pdCgpIHtcbiAgICB0aGlzLmNtQ2RuUm9vdCA9ICdodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2NvZGVtaXJyb3JANS40Mi4wJztcbiAgICB0aGlzLmNtTm9DZG5TY3JpcHRSb290ID0gJy9qcy9jZG4nO1xuICAgIHRoaXMuY21Ob0NkblN0eWxlUm9vdCA9ICcvc3R5bGVzL2Nkbic7XG5cbiAgICB0aGlzLmludGVyY2VwdG9yTWFuYWdlciA9IG5ldyBJbnRlcmNlcHRvck1hbmFnZXIoKTtcbiAgICB0aGlzLmludGVyY2VwdG9yTWFuYWdlci5hZGRJbnRlcmNlcHRvcnMoW1xuICAgICAgbmV3IFByZXZlbnRNYXJrZG93bkxpc3RJbnRlcmNlcHRvcigpLFxuICAgICAgbmV3IE1hcmtkb3duVGFibGVJbnRlcmNlcHRvcigpLFxuICAgIF0pO1xuXG4gICAgdGhpcy5sb2FkZWRUaGVtZVNldCA9IG5ldyBTZXQoWydlY2xpcHNlJywgJ2VsZWdhbnQnXSk7IC8vIHRoZW1lcyBpbXBvcnRlZCBpbiBfdmVuZG9yLnNjc3NcbiAgICB0aGlzLmxvYWRlZEtleW1hcFNldCA9IG5ldyBTZXQoKTtcbiAgfVxuXG4gIGNvbXBvbmVudFdpbGxNb3VudCgpIHtcbiAgICBpZiAodGhpcy5wcm9wcy5lbW9qaVN0cmF0ZWd5ICE9IG51bGwpIHtcbiAgICAgIHRoaXMuZW1vamlBdXRvQ29tcGxldGVIZWxwZXIgPSBuZXcgRW1vamlBdXRvQ29tcGxldGVIZWxwZXIodGhpcy5wcm9wcy5lbW9qaVN0cmF0ZWd5KTtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBpc0VuYWJsZWRFbW9qaUF1dG9Db21wbGV0ZTogdHJ1ZSB9KTtcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAvLyBlbnN1cmUgdG8gYmUgYWJsZSB0byByZXNvbHZlICd0aGlzJyB0byB1c2UgJ2NvZGVtaXJyb3IuY29tbWFuZHMuc2F2ZSdcbiAgICB0aGlzLmdldENvZGVNaXJyb3IoKS5jb2RlTWlycm9yRWRpdG9yID0gdGhpcztcblxuICAgIC8vIGxvYWQgdGhlbWVcbiAgICBjb25zdCB0aGVtZSA9IHRoaXMucHJvcHMuZWRpdG9yT3B0aW9ucy50aGVtZTtcbiAgICB0aGlzLmxvYWRUaGVtZSh0aGVtZSk7XG5cbiAgICAvLyBzZXQga2V5bWFwXG4gICAgY29uc3Qga2V5bWFwTW9kZSA9IHRoaXMucHJvcHMuZWRpdG9yT3B0aW9ucy5rZXltYXBNb2RlO1xuICAgIHRoaXMuc2V0S2V5bWFwTW9kZShrZXltYXBNb2RlKTtcbiAgfVxuXG4gIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMobmV4dFByb3BzKSB7XG4gICAgLy8gbG9hZCB0aGVtZVxuICAgIGNvbnN0IHRoZW1lID0gbmV4dFByb3BzLmVkaXRvck9wdGlvbnMudGhlbWU7XG4gICAgdGhpcy5sb2FkVGhlbWUodGhlbWUpO1xuXG4gICAgLy8gc2V0IGtleW1hcFxuICAgIGNvbnN0IGtleW1hcE1vZGUgPSBuZXh0UHJvcHMuZWRpdG9yT3B0aW9ucy5rZXltYXBNb2RlO1xuICAgIHRoaXMuc2V0S2V5bWFwTW9kZShrZXltYXBNb2RlKTtcbiAgfVxuXG4gIGdldENvZGVNaXJyb3IoKSB7XG4gICAgcmV0dXJuIHRoaXMuY20uZWRpdG9yO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0RG9jXG4gICAqL1xuICBmb3JjZVRvRm9jdXMoKSB7XG4gICAgY29uc3QgZWRpdG9yID0gdGhpcy5nZXRDb2RlTWlycm9yKCk7XG4gICAgLy8gdXNlIHNldEludGVydmFsIHdpdGggcmVsdWN0YW5jZSAtLSAyMDE4LjAxLjExIFl1a2kgVGFrZWlcbiAgICBjb25zdCBpbnRlcnZhbElkID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgdGhpcy5nZXRDb2RlTWlycm9yKCkuZm9jdXMoKTtcbiAgICAgIGlmIChlZGl0b3IuaGFzRm9jdXMoKSkge1xuICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsSWQpO1xuICAgICAgICAvLyByZWZyZXNoXG4gICAgICAgIGVkaXRvci5yZWZyZXNoKCk7XG4gICAgICB9XG4gICAgfSwgMTAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW5oZXJpdERvY1xuICAgKi9cbiAgc2V0VmFsdWUobmV3VmFsdWUpIHtcbiAgICB0aGlzLnNldFN0YXRlKHsgdmFsdWU6IG5ld1ZhbHVlIH0pO1xuICAgIHRoaXMuZ2V0Q29kZU1pcnJvcigpLmdldERvYygpLnNldFZhbHVlKG5ld1ZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW5oZXJpdERvY1xuICAgKi9cbiAgc2V0R2ZtTW9kZShib29sKSB7XG4gICAgLy8gdXBkYXRlIHN0YXRlXG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBpc0dmbU1vZGU6IGJvb2wsXG4gICAgICBpc0VuYWJsZWRFbW9qaUF1dG9Db21wbGV0ZTogYm9vbCxcbiAgICB9KTtcblxuICAgIHRoaXMudXBkYXRlQ2hlYXRzaGVldFN0YXRlcyhib29sLCBudWxsKTtcblxuICAgIC8vIHVwZGF0ZSBDb2RlTWlycm9yIG9wdGlvblxuICAgIGNvbnN0IG1vZGUgPSBib29sID8gJ2dmbScgOiB1bmRlZmluZWQ7XG4gICAgdGhpcy5nZXRDb2RlTWlycm9yKCkuc2V0T3B0aW9uKCdtb2RlJywgbW9kZSk7XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXREb2NcbiAgICovXG4gIHNldENhcmV0TGluZShsaW5lKSB7XG4gICAgaWYgKE51bWJlci5pc05hTihsaW5lKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGVkaXRvciA9IHRoaXMuZ2V0Q29kZU1pcnJvcigpO1xuICAgIGNvbnN0IGxpbmVQb3NpdGlvbiA9IE1hdGgubWF4KDAsIGxpbmUpO1xuXG4gICAgZWRpdG9yLnNldEN1cnNvcih7IGxpbmU6IGxpbmVQb3NpdGlvbiB9KTsgLy8gbGVhdmUgJ2NoJyBmaWVsZCBhcyBudWxsL3VuZGVmaW5lZCB0byBpbmRpY2F0ZSB0aGUgZW5kIG9mIGxpbmVcbiAgICB0aGlzLnNldFNjcm9sbFRvcEJ5TGluZShsaW5lUG9zaXRpb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0RG9jXG4gICAqL1xuICBzZXRTY3JvbGxUb3BCeUxpbmUobGluZSkge1xuICAgIGlmIChOdW1iZXIuaXNOYU4obGluZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBlZGl0b3IgPSB0aGlzLmdldENvZGVNaXJyb3IoKTtcbiAgICAvLyBnZXQgdG9wIHBvc2l0aW9uIG9mIHRoZSBsaW5lXG4gICAgY29uc3QgdG9wID0gZWRpdG9yLmNoYXJDb29yZHMoeyBsaW5lLCBjaDogMCB9LCAnbG9jYWwnKS50b3A7XG4gICAgZWRpdG9yLnNjcm9sbFRvKG51bGwsIHRvcCk7XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXREb2NcbiAgICovXG4gIGdldFN0ckZyb21Cb2woKSB7XG4gICAgY29uc3QgZWRpdG9yID0gdGhpcy5nZXRDb2RlTWlycm9yKCk7XG4gICAgY29uc3QgY3VyUG9zID0gZWRpdG9yLmdldEN1cnNvcigpO1xuICAgIHJldHVybiBlZGl0b3IuZ2V0RG9jKCkuZ2V0UmFuZ2UodGhpcy5nZXRCb2woKSwgY3VyUG9zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW5oZXJpdERvY1xuICAgKi9cbiAgZ2V0U3RyVG9Fb2woKSB7XG4gICAgY29uc3QgZWRpdG9yID0gdGhpcy5nZXRDb2RlTWlycm9yKCk7XG4gICAgY29uc3QgY3VyUG9zID0gZWRpdG9yLmdldEN1cnNvcigpO1xuICAgIHJldHVybiBlZGl0b3IuZ2V0RG9jKCkuZ2V0UmFuZ2UoY3VyUG9zLCB0aGlzLmdldEVvbCgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW5oZXJpdERvY1xuICAgKi9cbiAgZ2V0U3RyRnJvbUJvbFRvU2VsZWN0ZWRVcHBlclBvcygpIHtcbiAgICBjb25zdCBlZGl0b3IgPSB0aGlzLmdldENvZGVNaXJyb3IoKTtcbiAgICBjb25zdCBwb3MgPSB0aGlzLnNlbGVjdFVwcGVyUG9zKGVkaXRvci5nZXRDdXJzb3IoJ2Zyb20nKSwgZWRpdG9yLmdldEN1cnNvcigndG8nKSk7XG4gICAgcmV0dXJuIGVkaXRvci5nZXREb2MoKS5nZXRSYW5nZSh0aGlzLmdldEJvbCgpLCBwb3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0RG9jXG4gICAqL1xuICByZXBsYWNlQm9sVG9DdXJyZW50UG9zKHRleHQpIHtcbiAgICBjb25zdCBlZGl0b3IgPSB0aGlzLmdldENvZGVNaXJyb3IoKTtcbiAgICBjb25zdCBwb3MgPSB0aGlzLnNlbGVjdExvd2VyUG9zKGVkaXRvci5nZXRDdXJzb3IoJ2Zyb20nKSwgZWRpdG9yLmdldEN1cnNvcigndG8nKSk7XG4gICAgZWRpdG9yLmdldERvYygpLnJlcGxhY2VSYW5nZSh0ZXh0LCB0aGlzLmdldEJvbCgpLCBwb3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0RG9jXG4gICAqL1xuICByZXBsYWNlTGluZSh0ZXh0KSB7XG4gICAgY29uc3QgZWRpdG9yID0gdGhpcy5nZXRDb2RlTWlycm9yKCk7XG4gICAgZWRpdG9yLmdldERvYygpLnJlcGxhY2VSYW5nZSh0ZXh0LCB0aGlzLmdldEJvbCgpLCB0aGlzLmdldEVvbCgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW5oZXJpdERvY1xuICAgKi9cbiAgaW5zZXJ0VGV4dCh0ZXh0KSB7XG4gICAgY29uc3QgZWRpdG9yID0gdGhpcy5nZXRDb2RlTWlycm9yKCk7XG4gICAgZWRpdG9yLmdldERvYygpLnJlcGxhY2VTZWxlY3Rpb24odGV4dCk7XG4gIH1cblxuICAvKipcbiAgICogcmV0dXJuIHRoZSBwb3N0aW9uIG9mIHRoZSBCT0woYmVnaW5uaW5nIG9mIGxpbmUpXG4gICAqL1xuICBnZXRCb2woKSB7XG4gICAgY29uc3QgZWRpdG9yID0gdGhpcy5nZXRDb2RlTWlycm9yKCk7XG4gICAgY29uc3QgY3VyUG9zID0gZWRpdG9yLmdldEN1cnNvcigpO1xuICAgIHJldHVybiB7IGxpbmU6IGN1clBvcy5saW5lLCBjaDogMCB9O1xuICB9XG5cbiAgLyoqXG4gICAqIHJldHVybiB0aGUgcG9zdGlvbiBvZiB0aGUgRU9MKGVuZCBvZiBsaW5lKVxuICAgKi9cbiAgZ2V0RW9sKCkge1xuICAgIGNvbnN0IGVkaXRvciA9IHRoaXMuZ2V0Q29kZU1pcnJvcigpO1xuICAgIGNvbnN0IGN1clBvcyA9IGVkaXRvci5nZXRDdXJzb3IoKTtcbiAgICBjb25zdCBsaW5lTGVuZ3RoID0gZWRpdG9yLmdldERvYygpLmdldExpbmUoY3VyUG9zLmxpbmUpLmxlbmd0aDtcbiAgICByZXR1cm4geyBsaW5lOiBjdXJQb3MubGluZSwgY2g6IGxpbmVMZW5ndGggfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBzZWxlY3QgdGhlIHVwcGVyIHBvc2l0aW9uIG9mIHBvczEgYW5kIHBvczJcbiAgICogQHBhcmFtIHt7bGluZTogbnVtYmVyLCBjaDogbnVtYmVyfX0gcG9zMVxuICAgKiBAcGFyYW0ge3tsaW5lOiBudW1iZXIsIGNoOiBudW1iZXJ9fSBwb3MyXG4gICAqL1xuICBzZWxlY3RVcHBlclBvcyhwb3MxLCBwb3MyKSB7XG4gICAgLy8gaWYgYm90aCBpcyBpbiBzYW1lIGxpbmVcbiAgICBpZiAocG9zMS5saW5lID09PSBwb3MyLmxpbmUpIHtcbiAgICAgIHJldHVybiAocG9zMS5jaCA8IHBvczIuY2gpID8gcG9zMSA6IHBvczI7XG4gICAgfVxuICAgIHJldHVybiAocG9zMS5saW5lIDwgcG9zMi5saW5lKSA/IHBvczEgOiBwb3MyO1xuICB9XG5cbiAgLyoqXG4gICAqIHNlbGVjdCB0aGUgbG93ZXIgcG9zaXRpb24gb2YgcG9zMSBhbmQgcG9zMlxuICAgKiBAcGFyYW0ge3tsaW5lOiBudW1iZXIsIGNoOiBudW1iZXJ9fSBwb3MxXG4gICAqIEBwYXJhbSB7e2xpbmU6IG51bWJlciwgY2g6IG51bWJlcn19IHBvczJcbiAgICovXG4gIHNlbGVjdExvd2VyUG9zKHBvczEsIHBvczIpIHtcbiAgICAvLyBpZiBib3RoIGlzIGluIHNhbWUgbGluZVxuICAgIGlmIChwb3MxLmxpbmUgPT09IHBvczIubGluZSkge1xuICAgICAgcmV0dXJuIChwb3MxLmNoIDwgcG9zMi5jaCkgPyBwb3MyIDogcG9zMTtcbiAgICB9XG4gICAgcmV0dXJuIChwb3MxLmxpbmUgPCBwb3MyLmxpbmUpID8gcG9zMiA6IHBvczE7XG4gIH1cblxuICBsb2FkQ3NzKHNvdXJjZSkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgbG9hZENzc1N5bmMoc291cmNlKTtcbiAgICAgIHJlc29sdmUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBsb2FkIFRoZW1lXG4gICAqIEBzZWUgaHR0cHM6Ly9jb2RlbWlycm9yLm5ldC9kb2MvbWFudWFsLmh0bWwjY29uZmlnXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0aGVtZVxuICAgKi9cbiAgbG9hZFRoZW1lKHRoZW1lKSB7XG4gICAgaWYgKCF0aGlzLmxvYWRlZFRoZW1lU2V0Lmhhcyh0aGVtZSkpIHtcbiAgICAgIGNvbnN0IHVybCA9IHRoaXMucHJvcHMubm9DZG5cbiAgICAgICAgPyB1cmxqb2luKHRoaXMuY21Ob0NkblN0eWxlUm9vdCwgYGNvZGVtaXJyb3ItdGhlbWUtJHt0aGVtZX0uY3NzYClcbiAgICAgICAgOiB1cmxqb2luKHRoaXMuY21DZG5Sb290LCBgdGhlbWUvJHt0aGVtZX0ubWluLmNzc2ApO1xuXG4gICAgICB0aGlzLmxvYWRDc3ModXJsKTtcblxuICAgICAgLy8gdXBkYXRlIFNldFxuICAgICAgdGhpcy5sb2FkZWRUaGVtZVNldC5hZGQodGhlbWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBsb2FkIGFzc2V0cyBmb3IgS2V5IE1hcHNcbiAgICogQHBhcmFtIHsqfSBrZXltYXBNb2RlICdkZWZhdWx0JyBvciAndmltJyBvciAnZW1hY3MnIG9yICdzdWJsaW1lJ1xuICAgKi9cbiAgbG9hZEtleW1hcE1vZGUoa2V5bWFwTW9kZSkge1xuICAgIGNvbnN0IGxvYWRDc3MgPSB0aGlzLmxvYWRDc3M7XG4gICAgY29uc3Qgc2NyaXB0TGlzdCA9IFtdO1xuICAgIGNvbnN0IGNzc0xpc3QgPSBbXTtcblxuICAgIC8vIGFkZCBkZXBlbmRlbmNpZXNcbiAgICBpZiAodGhpcy5sb2FkZWRLZXltYXBTZXQuc2l6ZSA9PT0gMCkge1xuICAgICAgY29uc3QgZGlhbG9nU2NyaXB0VXJsID0gdGhpcy5wcm9wcy5ub0NkblxuICAgICAgICA/IHVybGpvaW4odGhpcy5jbU5vQ2RuU2NyaXB0Um9vdCwgJ2NvZGVtaXJyb3ItZGlhbG9nLmpzJylcbiAgICAgICAgOiB1cmxqb2luKHRoaXMuY21DZG5Sb290LCAnYWRkb24vZGlhbG9nL2RpYWxvZy5taW4uanMnKTtcbiAgICAgIGNvbnN0IGRpYWxvZ1N0eWxlVXJsID0gdGhpcy5wcm9wcy5ub0NkblxuICAgICAgICA/IHVybGpvaW4odGhpcy5jbU5vQ2RuU3R5bGVSb290LCAnY29kZW1pcnJvci1kaWFsb2cuY3NzJylcbiAgICAgICAgOiB1cmxqb2luKHRoaXMuY21DZG5Sb290LCAnYWRkb24vZGlhbG9nL2RpYWxvZy5taW4uY3NzJyk7XG5cbiAgICAgIHNjcmlwdExpc3QucHVzaChsb2FkU2NyaXB0KGRpYWxvZ1NjcmlwdFVybCkpO1xuICAgICAgY3NzTGlzdC5wdXNoKGxvYWRDc3MoZGlhbG9nU3R5bGVVcmwpKTtcbiAgICB9XG4gICAgLy8gbG9hZCBrZXltYXBcbiAgICBpZiAoIXRoaXMubG9hZGVkS2V5bWFwU2V0LmhhcyhrZXltYXBNb2RlKSkge1xuICAgICAgY29uc3Qga2V5bWFwU2NyaXB0VXJsID0gdGhpcy5wcm9wcy5ub0NkblxuICAgICAgICA/IHVybGpvaW4odGhpcy5jbU5vQ2RuU2NyaXB0Um9vdCwgYGNvZGVtaXJyb3Ita2V5bWFwLSR7a2V5bWFwTW9kZX0uanNgKVxuICAgICAgICA6IHVybGpvaW4odGhpcy5jbUNkblJvb3QsIGBrZXltYXAvJHtrZXltYXBNb2RlfS5taW4uanNgKTtcbiAgICAgIHNjcmlwdExpc3QucHVzaChsb2FkU2NyaXB0KGtleW1hcFNjcmlwdFVybCkpO1xuICAgICAgLy8gdXBkYXRlIFNldFxuICAgICAgdGhpcy5sb2FkZWRLZXltYXBTZXQuYWRkKGtleW1hcE1vZGUpO1xuICAgIH1cblxuICAgIC8vIHNldCBsb2FkaW5nIHN0YXRlXG4gICAgdGhpcy5zZXRTdGF0ZSh7IGlzTG9hZGluZ0tleW1hcDogdHJ1ZSB9KTtcblxuICAgIHJldHVybiBQcm9taXNlLmFsbChzY3JpcHRMaXN0LmNvbmNhdChjc3NMaXN0KSlcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGlzTG9hZGluZ0tleW1hcDogZmFsc2UgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBzZXQgS2V5IE1hcHNcbiAgICogQHNlZSBodHRwczovL2NvZGVtaXJyb3IubmV0L2RvYy9tYW51YWwuaHRtbCNrZXltYXBzXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXltYXBNb2RlICdkZWZhdWx0JyBvciAndmltJyBvciAnZW1hY3MnIG9yICdzdWJsaW1lJ1xuICAgKi9cbiAgc2V0S2V5bWFwTW9kZShrZXltYXBNb2RlKSB7XG4gICAgaWYgKCFrZXltYXBNb2RlLm1hdGNoKC9eKHZpbXxlbWFjc3xzdWJsaW1lKSQvKSkge1xuICAgICAgLy8gcmVzZXRcbiAgICAgIHRoaXMuZ2V0Q29kZU1pcnJvcigpLnNldE9wdGlvbigna2V5TWFwJywgJ2RlZmF1bHQnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmxvYWRLZXltYXBNb2RlKGtleW1hcE1vZGUpXG4gICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgIGxldCBlcnJvckNvdW50ID0gMDtcbiAgICAgICAgY29uc3QgdGltZXIgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgICAgaWYgKGVycm9yQ291bnQgPiAxMCkgeyAvLyBjYW5jZWwgb3ZlciAzMDAwbXNcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKGBUaW1lb3V0IHRvIGxvYWQga2V5TWFwICcke2tleW1hcE1vZGV9J2ApO1xuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aW1lcik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMuZ2V0Q29kZU1pcnJvcigpLnNldE9wdGlvbigna2V5TWFwJywga2V5bWFwTW9kZSk7XG4gICAgICAgICAgICBjbGVhckludGVydmFsKHRpbWVyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmluZm8oYGtleU1hcCAnJHtrZXltYXBNb2RlfScgaGFzIG5vdCBiZWVuIGluaXRpYWxpemVkLiByZXRyeS4uYCk7XG5cbiAgICAgICAgICAgIC8vIGNvbnRpbnVlIGlmIGVycm9yIG9jY3VyZWRcbiAgICAgICAgICAgIGVycm9yQ291bnQrKztcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDMwMCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBoYW5kbGUgRU5URVIga2V5XG4gICAqL1xuICBoYW5kbGVFbnRlcktleSgpIHtcbiAgICBpZiAoIXRoaXMuc3RhdGUuaXNHZm1Nb2RlKSB7XG4gICAgICBjb2RlbWlycm9yLmNvbW1hbmRzLm5ld2xpbmVBbmRJbmRlbnQodGhpcy5nZXRDb2RlTWlycm9yKCkpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnRleHQgPSB7XG4gICAgICBoYW5kbGVyczogW10sIC8vIGxpc3Qgb2YgaGFuZGxlcnMgd2hpY2ggcHJvY2VzcyBlbnRlciBrZXlcbiAgICAgIGVkaXRvcjogdGhpcyxcbiAgICAgIGVkaXRvck9wdGlvbnM6IHRoaXMucHJvcHMuZWRpdG9yT3B0aW9ucyxcbiAgICB9O1xuXG4gICAgY29uc3QgaW50ZXJjZXB0b3JNYW5hZ2VyID0gdGhpcy5pbnRlcmNlcHRvck1hbmFnZXI7XG4gICAgaW50ZXJjZXB0b3JNYW5hZ2VyLnByb2Nlc3MoJ3ByZUhhbmRsZUVudGVyJywgY29udGV4dClcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgaWYgKGNvbnRleHQuaGFuZGxlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgY29kZW1pcnJvci5jb21tYW5kcy5uZXdsaW5lQW5kSW5kZW50Q29udGludWVNYXJrZG93bkxpc3QodGhpcy5nZXRDb2RlTWlycm9yKCkpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBoYW5kbGUgQ3RybCtFTlRFUiBrZXlcbiAgICovXG4gIGhhbmRsZUN0cmxFbnRlcktleSgpIHtcbiAgICBpZiAodGhpcy5wcm9wcy5vbkN0cmxFbnRlciAhPSBudWxsKSB7XG4gICAgICB0aGlzLnByb3BzLm9uQ3RybEVudGVyKCk7XG4gICAgfVxuICB9XG5cbiAgc2Nyb2xsQ3Vyc29ySW50b1ZpZXdIYW5kbGVyKGVkaXRvciwgZXZlbnQpIHtcbiAgICBpZiAodGhpcy5wcm9wcy5vblNjcm9sbEN1cnNvckludG9WaWV3ICE9IG51bGwpIHtcbiAgICAgIGNvbnN0IGxpbmUgPSBlZGl0b3IuZ2V0Q3Vyc29yKCkubGluZTtcbiAgICAgIHRoaXMucHJvcHMub25TY3JvbGxDdXJzb3JJbnRvVmlldyhsaW5lKTtcbiAgICB9XG4gIH1cblxuICBjdXJzb3JIYW5kbGVyKGVkaXRvciwgZXZlbnQpIHtcbiAgICBjb25zdCB7IGFkZGl0aW9uYWxDbGFzc1NldCB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCBoYXNDdXN0b21DbGFzcyA9IGFkZGl0aW9uYWxDbGFzc1NldC5oYXMoTUFSS0RPV05fVEFCTEVfQUNUSVZBVEVEX0NMQVNTKTtcbiAgICBjb25zdCBoYXNMaW5rQ2xhc3MgPSBhZGRpdGlvbmFsQ2xhc3NTZXQuaGFzKE1BUktET1dOX0xJTktfQUNUSVZBVEVEX0NMQVNTKTtcblxuICAgIGNvbnN0IGlzSW5UYWJsZSA9IG10dS5pc0luVGFibGUoZWRpdG9yKTtcbiAgICBjb25zdCBpc0luTGluayA9IG1sdS5pc0luTGluayhlZGl0b3IpO1xuXG4gICAgaWYgKCFoYXNDdXN0b21DbGFzcyAmJiBpc0luVGFibGUpIHtcbiAgICAgIGFkZGl0aW9uYWxDbGFzc1NldC5hZGQoTUFSS0RPV05fVEFCTEVfQUNUSVZBVEVEX0NMQVNTKTtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBhZGRpdGlvbmFsQ2xhc3NTZXQgfSk7XG4gICAgfVxuXG4gICAgaWYgKGhhc0N1c3RvbUNsYXNzICYmICFpc0luVGFibGUpIHtcbiAgICAgIGFkZGl0aW9uYWxDbGFzc1NldC5kZWxldGUoTUFSS0RPV05fVEFCTEVfQUNUSVZBVEVEX0NMQVNTKTtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBhZGRpdGlvbmFsQ2xhc3NTZXQgfSk7XG4gICAgfVxuXG4gICAgaWYgKCFoYXNMaW5rQ2xhc3MgJiYgaXNJbkxpbmspIHtcbiAgICAgIGFkZGl0aW9uYWxDbGFzc1NldC5hZGQoTUFSS0RPV05fTElOS19BQ1RJVkFURURfQ0xBU1MpO1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGFkZGl0aW9uYWxDbGFzc1NldCB9KTtcbiAgICB9XG5cbiAgICBpZiAoaGFzTGlua0NsYXNzICYmICFpc0luTGluaykge1xuICAgICAgYWRkaXRpb25hbENsYXNzU2V0LmRlbGV0ZShNQVJLRE9XTl9MSU5LX0FDVElWQVRFRF9DTEFTUyk7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgYWRkaXRpb25hbENsYXNzU2V0IH0pO1xuICAgIH1cbiAgfVxuXG4gIGNoYW5nZUhhbmRsZXIoZWRpdG9yLCBkYXRhLCB2YWx1ZSkge1xuICAgIGlmICh0aGlzLnByb3BzLm9uQ2hhbmdlICE9IG51bGwpIHtcbiAgICAgIHRoaXMucHJvcHMub25DaGFuZ2UodmFsdWUpO1xuICAgIH1cblxuICAgIHRoaXMudXBkYXRlQ2hlYXRzaGVldFN0YXRlcyhudWxsLCB2YWx1ZSk7XG5cbiAgICAvLyBFbW9qaSBBdXRvQ29tcGxldGVcbiAgICBpZiAodGhpcy5zdGF0ZS5pc0VuYWJsZWRFbW9qaUF1dG9Db21wbGV0ZSkge1xuICAgICAgdGhpcy5lbW9qaUF1dG9Db21wbGV0ZUhlbHBlci5zaG93SGludChlZGl0b3IpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDb2RlTWlycm9yIHBhc3RlIGV2ZW50IGhhbmRsZXJcbiAgICogc2VlOiBodHRwczovL2NvZGVtaXJyb3IubmV0L2RvYy9tYW51YWwuaHRtbCNldmVudHNcbiAgICogQHBhcmFtIHthbnl9IGVkaXRvciBBbiBlZGl0b3IgaW5zdGFuY2Ugb2YgQ29kZU1pcnJvclxuICAgKiBAcGFyYW0ge2FueX0gZXZlbnRcbiAgICovXG4gIHBhc3RlSGFuZGxlcihlZGl0b3IsIGV2ZW50KSB7XG4gICAgY29uc3QgdHlwZXMgPSBldmVudC5jbGlwYm9hcmREYXRhLnR5cGVzO1xuXG4gICAgLy8gZmlsZXNcbiAgICBpZiAodHlwZXMuaW5jbHVkZXMoJ0ZpbGVzJykpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLmRpc3BhdGNoUGFzdGVGaWxlcyhldmVudCk7XG4gICAgfVxuICAgIC8vIHRleHRcbiAgICBlbHNlIGlmICh0eXBlcy5pbmNsdWRlcygndGV4dC9wbGFpbicpKSB7XG4gICAgICBwYXN0ZUhlbHBlci5wYXN0ZVRleHQodGhpcywgZXZlbnQpO1xuICAgIH1cblxuICB9XG5cbiAgLyoqXG4gICAqIHVwZGF0ZSBzdGF0ZXMgd2hpY2ggcmVsYXRlZCB0byBjaGVhdHNoZWV0XG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gaXNHZm1Nb2RlVG1wICh1c2Ugc3RhdGUuaXNHZm1Nb2RlIGlmIG51bGwgaXMgc2V0KVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVUbXAgKGdldCB2YWx1ZSBmcm9tIGNvZGVtaXJyb3IgaWYgbnVsbCBpcyBzZXQpXG4gICAqL1xuICB1cGRhdGVDaGVhdHNoZWV0U3RhdGVzKGlzR2ZtTW9kZVRtcCwgdmFsdWVUbXApIHtcbiAgICBjb25zdCBpc0dmbU1vZGUgPSBpc0dmbU1vZGVUbXAgfHwgdGhpcy5zdGF0ZS5pc0dmbU1vZGU7XG4gICAgY29uc3QgdmFsdWUgPSB2YWx1ZVRtcCB8fCB0aGlzLmdldENvZGVNaXJyb3IoKS5nZXREb2MoKS5nZXRWYWx1ZSgpO1xuXG4gICAgLy8gdXBkYXRlIGlzU2ltcGxlQ2hlYXRzaGVldFNob3duXG4gICAgY29uc3QgaXNTaW1wbGVDaGVhdHNoZWV0U2hvd24gPSBpc0dmbU1vZGUgJiYgdmFsdWUubGVuZ3RoID09PSAwO1xuICAgIHRoaXMuc2V0U3RhdGUoeyBpc1NpbXBsZUNoZWF0c2hlZXRTaG93biB9KTtcbiAgfVxuXG4gIG1hcmtkb3duSGVscEJ1dHRvbkNsaWNrZWRIYW5kbGVyKCkge1xuICAgIGlmICh0aGlzLnByb3BzLm9uTWFya2Rvd25IZWxwQnV0dG9uQ2xpY2tlZCAhPSBudWxsKSB7XG4gICAgICB0aGlzLnByb3BzLm9uTWFya2Rvd25IZWxwQnV0dG9uQ2xpY2tlZCgpO1xuICAgIH1cbiAgfVxuXG4gIHJlbmRlckxvYWRpbmdLZXltYXBPdmVybGF5KCkge1xuICAgIC8vIGNlbnRlcmluZ1xuICAgIGNvbnN0IHN0eWxlID0ge1xuICAgICAgdG9wOiAwLFxuICAgICAgcmlnaHQ6IDAsXG4gICAgICBib3R0b206IDAsXG4gICAgICBsZWZ0OiAwLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5pc0xvYWRpbmdLZXltYXBcbiAgICAgID8gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm92ZXJsYXkgb3ZlcmxheS1sb2FkaW5nLWtleW1hcFwiPlxuICAgICAgICAgIDxzcGFuIHN0eWxlPXtzdHlsZX0gY2xhc3NOYW1lPVwib3ZlcmxheS1jb250ZW50XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwZWVkaW5nLXdoZWVsIGQtaW5saW5lLWJsb2NrXCI+PC9kaXY+IExvYWRpbmcgS2V5bWFwIC4uLlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApXG4gICAgICA6ICcnO1xuICB9XG5cbiAgcmVuZGVyQ2hlYXRzaGVldE1vZGFsQnV0dG9uKCkge1xuICAgIHJldHVybiAoXG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzc05hbWU9XCJidG4tbGluayBnZm0tY2hlYXRzaGVldC1tb2RhbC1saW5rIHNtYWxsXCIgb25DbGljaz17KCkgPT4geyB0aGlzLm1hcmtkb3duSGVscEJ1dHRvbkNsaWNrZWRIYW5kbGVyKCkgfX0+XG4gICAgICAgIDxpIGNsYXNzTmFtZT1cImljb24tcXVlc3Rpb25cIiAvPiBNYXJrZG93blxuICAgICAgPC9idXR0b24+XG4gICAgKTtcbiAgfVxuXG4gIHJlbmRlckNoZWF0c2hlZXRPdmVybGF5KCkge1xuICAgIGNvbnN0IGNoZWF0c2hlZXRNb2RhbEJ1dHRvbiA9IHRoaXMucmVuZGVyQ2hlYXRzaGVldE1vZGFsQnV0dG9uKCk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJvdmVybGF5IG92ZXJsYXktZ2ZtLWNoZWF0c2hlZXQgbXQtMSBwLTNcIj5cbiAgICAgICAgeyB0aGlzLnN0YXRlLmlzU2ltcGxlQ2hlYXRzaGVldFNob3duXG4gICAgICAgICAgPyAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtcmlnaHRcIj5cbiAgICAgICAgICAgICAge2NoZWF0c2hlZXRNb2RhbEJ1dHRvbn1cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYi0yIGQtbm9uZSBkLW1kLWJsb2NrXCI+XG4gICAgICAgICAgICAgICAgPFNpbXBsZUNoZWF0c2hlZXQgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApXG4gICAgICAgICAgOiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1yLTQgbWItMlwiPlxuICAgICAgICAgICAgICB7Y2hlYXRzaGVldE1vZGFsQnV0dG9ufVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIHJldHVybiBhIGZ1bmN0aW9uIHRvIHJlcGxhY2UgYSBzZWxlY3RlZCByYW5nZSB3aXRoIHByZWZpeCArIHNlbGVjdGlvbiArIHN1ZmZpeFxuICAgKlxuICAgKiBUaGUgY3Vyc29yIGFmdGVyIHJlcGxhY2luZyBpcyBpbnNlcnRlZCBiZXR3ZWVuIHRoZSBzZWxlY3Rpb24gYW5kIHRoZSBzdWZmaXguXG4gICAqL1xuICBjcmVhdGVSZXBsYWNlU2VsZWN0aW9uSGFuZGxlcihwcmVmaXgsIHN1ZmZpeCkge1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjb25zdCBjbSA9IHRoaXMuZ2V0Q29kZU1pcnJvcigpO1xuICAgICAgY29uc3Qgc2VsZWN0aW9uID0gY20uZ2V0RG9jKCkuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICBjb25zdCBjdXJTdGFydFBvcyA9IGNtLmdldEN1cnNvcignZnJvbScpO1xuICAgICAgY29uc3QgY3VyRW5kUG9zID0gY20uZ2V0Q3Vyc29yKCd0bycpO1xuXG4gICAgICBjb25zdCBjdXJQb3NBZnRlclJlcGxhY2luZyA9IHt9O1xuICAgICAgY3VyUG9zQWZ0ZXJSZXBsYWNpbmcubGluZSA9IGN1ckVuZFBvcy5saW5lO1xuICAgICAgaWYgKGN1clN0YXJ0UG9zLmxpbmUgPT09IGN1ckVuZFBvcy5saW5lKSB7XG4gICAgICAgIGN1clBvc0FmdGVyUmVwbGFjaW5nLmNoID0gY3VyRW5kUG9zLmNoICsgcHJlZml4Lmxlbmd0aDtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICBjdXJQb3NBZnRlclJlcGxhY2luZy5jaCA9IGN1ckVuZFBvcy5jaDtcbiAgICAgIH1cblxuICAgICAgY20uZ2V0RG9jKCkucmVwbGFjZVNlbGVjdGlvbihwcmVmaXggKyBzZWxlY3Rpb24gKyBzdWZmaXgpO1xuICAgICAgY20uc2V0Q3Vyc29yKGN1clBvc0FmdGVyUmVwbGFjaW5nKTtcbiAgICAgIGNtLmZvY3VzKCk7XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiByZXR1cm4gYSBmdW5jdGlvbiB0byBhZGQgcHJlZml4IHRvIHNlbGVjdGVkIGVhY2ggbGluZXNcbiAgICpcbiAgICogVGhlIGN1cnNvciBhZnRlciBlZGl0aW5nIGlzIGluc2VydGVkIGJldHdlZW4gdGhlIGVuZCBvZiB0aGUgc2VsZWN0aW9uLlxuICAgKi9cbiAgY3JlYXRlQWRkUHJlZml4VG9FYWNoTGluZXNIYW5kbGVyKHByZWZpeCkge1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjb25zdCBjbSA9IHRoaXMuZ2V0Q29kZU1pcnJvcigpO1xuICAgICAgY29uc3Qgc3RhcnRMaW5lTnVtID0gY20uZ2V0Q3Vyc29yKCdmcm9tJykubGluZTtcbiAgICAgIGNvbnN0IGVuZExpbmVOdW0gPSBjbS5nZXRDdXJzb3IoJ3RvJykubGluZTtcblxuICAgICAgY29uc3QgbGluZXMgPSBbXTtcbiAgICAgIGZvciAobGV0IGkgPSBzdGFydExpbmVOdW07IGkgPD0gZW5kTGluZU51bTsgaSsrKSB7XG4gICAgICAgIGxpbmVzLnB1c2gocHJlZml4ICsgY20uZ2V0RG9jKCkuZ2V0TGluZShpKSk7XG4gICAgICB9XG4gICAgICBjb25zdCByZXBsYWNlbWVudCA9IGAke2xpbmVzLmpvaW4oJ1xcbicpfVxcbmA7XG4gICAgICBjbS5nZXREb2MoKS5yZXBsYWNlUmFuZ2UocmVwbGFjZW1lbnQsIHsgbGluZTogc3RhcnRMaW5lTnVtLCBjaDogMCB9LCB7IGxpbmU6IGVuZExpbmVOdW0gKyAxLCBjaDogMCB9KTtcblxuICAgICAgY20uc2V0Q3Vyc29yKGVuZExpbmVOdW0sIGNtLmdldERvYygpLmdldExpbmUoZW5kTGluZU51bSkubGVuZ3RoKTtcbiAgICAgIGNtLmZvY3VzKCk7XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBtYWtlIGEgc2VsZWN0ZWQgbGluZSBhIGhlYWRlclxuICAgKlxuICAgKiBUaGUgY3Vyc29yIGFmdGVyIGVkaXRpbmcgaXMgaW5zZXJ0ZWQgYmV0d2VlbiB0aGUgZW5kIG9mIHRoZSBsaW5lLlxuICAgKi9cbiAgbWFrZUhlYWRlckhhbmRsZXIoKSB7XG4gICAgY29uc3QgY20gPSB0aGlzLmdldENvZGVNaXJyb3IoKTtcbiAgICBjb25zdCBsaW5lTnVtID0gY20uZ2V0Q3Vyc29yKCdmcm9tJykubGluZTtcbiAgICBjb25zdCBsaW5lID0gY20uZ2V0RG9jKCkuZ2V0TGluZShsaW5lTnVtKTtcbiAgICBsZXQgcHJlZml4ID0gJyMnO1xuICAgIGlmICghbGluZS5zdGFydHNXaXRoKCcjJykpIHtcbiAgICAgIHByZWZpeCArPSAnICc7XG4gICAgfVxuICAgIGNtLmdldERvYygpLnJlcGxhY2VSYW5nZShwcmVmaXgsIHsgbGluZTogbGluZU51bSwgY2g6IDAgfSwgeyBsaW5lOiBsaW5lTnVtLCBjaDogMCB9KTtcbiAgICBjbS5mb2N1cygpO1xuICB9XG5cbiAgc2hvd0dyaWRFZGl0b3JIYW5kbGVyKCkge1xuICAgIHRoaXMuZ3JpZEVkaXRNb2RhbC5jdXJyZW50LnNob3coZ2V1LmdldEdyaWRIdG1sKHRoaXMuZ2V0Q29kZU1pcnJvcigpKSk7XG4gIH1cblxuICBzaG93TGlua0VkaXRIYW5kbGVyKCkge1xuICAgIHRoaXMubGlua0VkaXRNb2RhbC5jdXJyZW50LnNob3cobWx1LmdldE1hcmtkb3duTGluayh0aGlzLmdldENvZGVNaXJyb3IoKSkpO1xuICB9XG5cbiAgc2hvd0hhbmRzb25UYWJsZUhhbmRsZXIoKSB7XG4gICAgdGhpcy5oYW5kc29udGFibGVNb2RhbC5jdXJyZW50LnNob3cobXR1LmdldE1hcmtkb3duVGFibGUodGhpcy5nZXRDb2RlTWlycm9yKCkpKTtcbiAgfVxuXG4gIHNob3dEcmF3aW9IYW5kbGVyKCkge1xuICAgIHRoaXMuZHJhd2lvTW9kYWwuY3VycmVudC5zaG93KG1kdS5nZXRNYXJrZG93bkRyYXdpb014ZmlsZSh0aGlzLmdldENvZGVNaXJyb3IoKSkpO1xuICB9XG5cbiAgZ2V0TmF2YmFySXRlbXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIDxCdXR0b25cbiAgICAgICAga2V5PVwibmF2LWl0ZW0tYm9sZFwiXG4gICAgICAgIGNvbG9yPXtudWxsfVxuICAgICAgICBzaXplPVwic21cIlxuICAgICAgICB0aXRsZT1cIkJvbGRcIlxuICAgICAgICBvbkNsaWNrPXt0aGlzLmNyZWF0ZVJlcGxhY2VTZWxlY3Rpb25IYW5kbGVyKCcqKicsICcqKicpfVxuICAgICAgPlxuICAgICAgICA8RWRpdG9ySWNvbiBpY29uPVwiQm9sZFwiIC8+XG4gICAgICA8L0J1dHRvbj4sXG4gICAgICA8QnV0dG9uXG4gICAgICAgIGtleT1cIm5hdi1pdGVtLWl0YWxpY1wiXG4gICAgICAgIGNvbG9yPXtudWxsfVxuICAgICAgICBzaXplPVwic21cIlxuICAgICAgICB0aXRsZT1cIkl0YWxpY1wiXG4gICAgICAgIG9uQ2xpY2s9e3RoaXMuY3JlYXRlUmVwbGFjZVNlbGVjdGlvbkhhbmRsZXIoJyonLCAnKicpfVxuICAgICAgPlxuICAgICAgICA8RWRpdG9ySWNvbiBpY29uPVwiSXRhbGljXCIgLz5cbiAgICAgIDwvQnV0dG9uPixcbiAgICAgIDxCdXR0b25cbiAgICAgICAga2V5PVwibmF2LWl0ZW0tc3RyaWtldGhyb3VnaFwiXG4gICAgICAgIGNvbG9yPXtudWxsfVxuICAgICAgICBzaXplPVwic21cIlxuICAgICAgICB0aXRsZT1cIlN0cmlrZXRocm91Z2hcIlxuICAgICAgICBvbkNsaWNrPXt0aGlzLmNyZWF0ZVJlcGxhY2VTZWxlY3Rpb25IYW5kbGVyKCd+ficsICd+ficpfVxuICAgICAgPlxuICAgICAgICA8RWRpdG9ySWNvbiBpY29uPVwiU3RyaWtldGhyb3VnaFwiIC8+XG4gICAgICA8L0J1dHRvbj4sXG4gICAgICA8QnV0dG9uXG4gICAgICAgIGtleT1cIm5hdi1pdGVtLWhlYWRlclwiXG4gICAgICAgIGNvbG9yPXtudWxsfVxuICAgICAgICBzaXplPVwic21cIlxuICAgICAgICB0aXRsZT1cIkhlYWRpbmdcIlxuICAgICAgICBvbkNsaWNrPXt0aGlzLm1ha2VIZWFkZXJIYW5kbGVyfVxuICAgICAgPlxuICAgICAgICA8RWRpdG9ySWNvbiBpY29uPVwiSGVhZGluZ1wiIC8+XG4gICAgICA8L0J1dHRvbj4sXG4gICAgICA8QnV0dG9uXG4gICAgICAgIGtleT1cIm5hdi1pdGVtLWNvZGVcIlxuICAgICAgICBjb2xvcj17bnVsbH1cbiAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgdGl0bGU9XCJJbmxpbmUgQ29kZVwiXG4gICAgICAgIG9uQ2xpY2s9e3RoaXMuY3JlYXRlUmVwbGFjZVNlbGVjdGlvbkhhbmRsZXIoJ2AnLCAnYCcpfVxuICAgICAgPlxuICAgICAgICA8RWRpdG9ySWNvbiBpY29uPVwiSW5saW5lQ29kZVwiIC8+XG4gICAgICA8L0J1dHRvbj4sXG4gICAgICA8QnV0dG9uXG4gICAgICAgIGtleT1cIm5hdi1pdGVtLXF1b3RlXCJcbiAgICAgICAgY29sb3I9e251bGx9XG4gICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgIHRpdGxlPVwiUXVvdGVcIlxuICAgICAgICBvbkNsaWNrPXt0aGlzLmNyZWF0ZUFkZFByZWZpeFRvRWFjaExpbmVzSGFuZGxlcignPiAnKX1cbiAgICAgID5cbiAgICAgICAgPEVkaXRvckljb24gaWNvbj1cIlF1b3RlXCIgLz5cbiAgICAgIDwvQnV0dG9uPixcbiAgICAgIDxCdXR0b25cbiAgICAgICAga2V5PVwibmF2LWl0ZW0tdWxcIlxuICAgICAgICBjb2xvcj17bnVsbH1cbiAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgdGl0bGU9XCJMaXN0XCJcbiAgICAgICAgb25DbGljaz17dGhpcy5jcmVhdGVBZGRQcmVmaXhUb0VhY2hMaW5lc0hhbmRsZXIoJy0gJyl9XG4gICAgICA+XG4gICAgICAgIDxFZGl0b3JJY29uIGljb249XCJMaXN0XCIgLz5cbiAgICAgIDwvQnV0dG9uPixcbiAgICAgIDxCdXR0b25cbiAgICAgICAga2V5PVwibmF2LWl0ZW0tb2xcIlxuICAgICAgICBjb2xvcj17bnVsbH1cbiAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgdGl0bGU9XCJOdW1iZXJlZCBMaXN0XCJcbiAgICAgICAgb25DbGljaz17dGhpcy5jcmVhdGVBZGRQcmVmaXhUb0VhY2hMaW5lc0hhbmRsZXIoJzEuICcpfVxuICAgICAgPlxuICAgICAgICA8RWRpdG9ySWNvbiBpY29uPVwiTnVtYmVyZWRMaXN0XCIgLz5cbiAgICAgIDwvQnV0dG9uPixcbiAgICAgIDxCdXR0b25cbiAgICAgICAga2V5PVwibmF2LWl0ZW0tY2hlY2tib3hcIlxuICAgICAgICBjb2xvcj17bnVsbH1cbiAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgdGl0bGU9XCJDaGVjayBMaXN0XCJcbiAgICAgICAgb25DbGljaz17dGhpcy5jcmVhdGVBZGRQcmVmaXhUb0VhY2hMaW5lc0hhbmRsZXIoJy0gWyBdICcpfVxuICAgICAgPlxuICAgICAgICA8RWRpdG9ySWNvbiBpY29uPVwiQ2hlY2tMaXN0XCIgLz5cbiAgICAgIDwvQnV0dG9uPixcbiAgICAgIDxCdXR0b25cbiAgICAgICAga2V5PVwibmF2LWl0ZW0tbGlua1wiXG4gICAgICAgIGNvbG9yPXtudWxsfVxuICAgICAgICBzaXplPVwic21cIlxuICAgICAgICB0aXRsZT1cIkxpbmtcIlxuICAgICAgICBvbkNsaWNrPXt0aGlzLnNob3dMaW5rRWRpdEhhbmRsZXJ9XG4gICAgICA+XG4gICAgICAgIDxFZGl0b3JJY29uIGljb249XCJMaW5rXCIgLz5cbiAgICAgIDwvQnV0dG9uPixcbiAgICAgIDxCdXR0b25cbiAgICAgICAga2V5PVwibmF2LWl0ZW0taW1hZ2VcIlxuICAgICAgICBjb2xvcj17bnVsbH1cbiAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgdGl0bGU9XCJJbWFnZVwiXG4gICAgICAgIG9uQ2xpY2s9e3RoaXMuY3JlYXRlUmVwbGFjZVNlbGVjdGlvbkhhbmRsZXIoJyFbJywgJ10oKScpfVxuICAgICAgPlxuICAgICAgICA8RWRpdG9ySWNvbiBpY29uPVwiSW1hZ2VcIiAvPlxuICAgICAgPC9CdXR0b24+LFxuICAgICAgPEJ1dHRvblxuICAgICAgICBrZXk9XCJuYXYtaXRlbS1ncmlkXCJcbiAgICAgICAgY29sb3I9e251bGx9XG4gICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgIHRpdGxlPVwiR3JpZFwiXG4gICAgICAgIG9uQ2xpY2s9e3RoaXMuc2hvd0dyaWRFZGl0b3JIYW5kbGVyfVxuICAgICAgPlxuICAgICAgICA8RWRpdG9ySWNvbiBpY29uPVwiR3JpZFwiIC8+XG4gICAgICA8L0J1dHRvbj4sXG4gICAgICA8QnV0dG9uXG4gICAgICAgIGtleT1cIm5hdi1pdGVtLXRhYmxlXCJcbiAgICAgICAgY29sb3I9e251bGx9XG4gICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgIHRpdGxlPVwiVGFibGVcIlxuICAgICAgICBvbkNsaWNrPXt0aGlzLnNob3dIYW5kc29uVGFibGVIYW5kbGVyfVxuICAgICAgPlxuICAgICAgICA8RWRpdG9ySWNvbiBpY29uPVwiVGFibGVcIiAvPlxuICAgICAgPC9CdXR0b24+LFxuICAgICAgPEJ1dHRvblxuICAgICAgICBrZXk9XCJuYXYtaXRlbS1kcmF3aW9cIlxuICAgICAgICBjb2xvcj17bnVsbH1cbiAgICAgICAgYnNzaXplPVwic21hbGxcIlxuICAgICAgICB0aXRsZT1cImRyYXcuaW9cIlxuICAgICAgICBvbkNsaWNrPXt0aGlzLnNob3dEcmF3aW9IYW5kbGVyfVxuICAgICAgPlxuICAgICAgICA8RWRpdG9ySWNvbiBpY29uPVwiRHJhd2lvXCIgLz5cbiAgICAgIDwvQnV0dG9uPixcbiAgICBdO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IG1vZGUgPSB0aGlzLnN0YXRlLmlzR2ZtTW9kZSA/ICdnZm0tZ3Jvd2knIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGFkZGl0aW9uYWxDbGFzc2VzID0gQXJyYXkuZnJvbSh0aGlzLnN0YXRlLmFkZGl0aW9uYWxDbGFzc1NldCkuam9pbignICcpO1xuXG4gICAgY29uc3QgcGxhY2Vob2xkZXIgPSB0aGlzLnN0YXRlLmlzR2ZtTW9kZSA/ICdJbnB1dCB3aXRoIE1hcmtkb3duLi4nIDogJ0lucHV0IHdpdGggUGxhbmUgVGV4dC4uJztcblxuICAgIHJldHVybiAoXG4gICAgICA8UmVhY3QuRnJhZ21lbnQ+XG5cbiAgICAgICAgPFJlYWN0Q29kZU1pcnJvclxuICAgICAgICAgIHJlZj17KGMpID0+IHsgdGhpcy5jbSA9IGMgfX1cbiAgICAgICAgICBjbGFzc05hbWU9e2FkZGl0aW9uYWxDbGFzc2VzfVxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwic2VhcmNoXCJcbiAgICAgICAgICBlZGl0b3JEaWRNb3VudD17KGVkaXRvcikgPT4ge1xuICAgICAgICAgIC8vIGFkZCBldmVudCBoYW5kbGVyc1xuICAgICAgICAgIGVkaXRvci5vbigncGFzdGUnLCB0aGlzLnBhc3RlSGFuZGxlcik7XG4gICAgICAgICAgZWRpdG9yLm9uKCdzY3JvbGxDdXJzb3JJbnRvVmlldycsIHRoaXMuc2Nyb2xsQ3Vyc29ySW50b1ZpZXdIYW5kbGVyKTtcbiAgICAgICAgfX1cbiAgICAgICAgICB2YWx1ZT17dGhpcy5zdGF0ZS52YWx1ZX1cbiAgICAgICAgICBvcHRpb25zPXt7XG4gICAgICAgICAgICBtb2RlLFxuICAgICAgICAgICAgdGhlbWU6IHRoaXMucHJvcHMuZWRpdG9yT3B0aW9ucy50aGVtZSxcbiAgICAgICAgICAgIHN0eWxlQWN0aXZlTGluZTogdGhpcy5wcm9wcy5lZGl0b3JPcHRpb25zLnN0eWxlQWN0aXZlTGluZSxcbiAgICAgICAgICAgIGxpbmVOdW1iZXJzOiB0aGlzLnByb3BzLmxpbmVOdW1iZXJzLFxuICAgICAgICAgICAgdGFiU2l6ZTogNCxcbiAgICAgICAgICAgIGluZGVudFVuaXQ6IHRoaXMucHJvcHMuaW5kZW50U2l6ZSxcbiAgICAgICAgICAgIGxpbmVXcmFwcGluZzogdHJ1ZSxcbiAgICAgICAgICAgIHNjcm9sbFBhc3RFbmQ6IHRydWUsXG4gICAgICAgICAgICBhdXRvUmVmcmVzaDogeyBmb3JjZTogdHJ1ZSB9LCAvLyBmb3JjZSBvcHRpb24gaXMgZW5hYmxlZCBieSBhdXRvcmVmcmVzaC5leHQuanMgLS0gWXVraSBUYWtlaVxuICAgICAgICAgICAgYXV0b0Nsb3NlVGFnczogdHJ1ZSxcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyLFxuICAgICAgICAgICAgbWF0Y2hCcmFja2V0czogdHJ1ZSxcbiAgICAgICAgICAgIG1hdGNoVGFnczogeyBib3RoVGFnczogdHJ1ZSB9LFxuICAgICAgICAgICAgLy8gZm9sZGluZ1xuICAgICAgICAgICAgZm9sZEd1dHRlcjogdGhpcy5wcm9wcy5saW5lTnVtYmVycyxcbiAgICAgICAgICAgIGd1dHRlcnM6IHRoaXMucHJvcHMubGluZU51bWJlcnMgPyBbJ0NvZGVNaXJyb3ItbGluZW51bWJlcnMnLCAnQ29kZU1pcnJvci1mb2xkZ3V0dGVyJ10gOiBbXSxcbiAgICAgICAgICAgIC8vIG1hdGNoLWhpZ2hsaWdodGVyLCBtYXRjaGVzb25zY3JvbGxiYXIsIGFubm90YXRlc2Nyb2xsYmFyIG9wdGlvbnNcbiAgICAgICAgICAgIGhpZ2hsaWdodFNlbGVjdGlvbk1hdGNoZXM6IHsgYW5ub3RhdGVTY3JvbGxiYXI6IHRydWUgfSxcbiAgICAgICAgICAgIC8vIGNvbnRpbnVlbGlzdCwgaW5kZW50bGlzdFxuICAgICAgICAgICAgZXh0cmFLZXlzOiB7XG4gICAgICAgICAgICAgIEVudGVyOiB0aGlzLmhhbmRsZUVudGVyS2V5LFxuICAgICAgICAgICAgICAnQ3RybC1FbnRlcic6IHRoaXMuaGFuZGxlQ3RybEVudGVyS2V5LFxuICAgICAgICAgICAgICAnQ21kLUVudGVyJzogdGhpcy5oYW5kbGVDdHJsRW50ZXJLZXksXG4gICAgICAgICAgICAgIFRhYjogJ2luZGVudE1vcmUnLFxuICAgICAgICAgICAgICAnU2hpZnQtVGFiJzogJ2luZGVudExlc3MnLFxuICAgICAgICAgICAgICAnQ3RybC1RJzogKGNtKSA9PiB7IGNtLmZvbGRDb2RlKGNtLmdldEN1cnNvcigpKSB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9fVxuICAgICAgICAgIG9uQ3Vyc29yPXt0aGlzLmN1cnNvckhhbmRsZXJ9XG4gICAgICAgICAgb25TY3JvbGw9eyhlZGl0b3IsIGRhdGEpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vblNjcm9sbCAhPSBudWxsKSB7XG4gICAgICAgICAgICAvLyBhZGQgbGluZSBkYXRhXG4gICAgICAgICAgICBjb25zdCBsaW5lID0gZWRpdG9yLmxpbmVBdEhlaWdodChkYXRhLnRvcCwgJ2xvY2FsJyk7XG4gICAgICAgICAgICBkYXRhLmxpbmUgPSBsaW5lO1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5vblNjcm9sbChkYXRhKTtcbiAgICAgICAgICB9XG4gICAgICAgIH19XG4gICAgICAgICAgb25DaGFuZ2U9e3RoaXMuY2hhbmdlSGFuZGxlcn1cbiAgICAgICAgICBvbkRyYWdFbnRlcj17KGVkaXRvciwgZXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vbkRyYWdFbnRlciAhPSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLnByb3BzLm9uRHJhZ0VudGVyKGV2ZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgIH19XG4gICAgICAgIC8+XG5cbiAgICAgICAgeyB0aGlzLnJlbmRlckxvYWRpbmdLZXltYXBPdmVybGF5KCkgfVxuXG4gICAgICAgIHsgdGhpcy5yZW5kZXJDaGVhdHNoZWV0T3ZlcmxheSgpIH1cblxuICAgICAgICA8R3JpZEVkaXRNb2RhbFxuICAgICAgICAgIHJlZj17dGhpcy5ncmlkRWRpdE1vZGFsfVxuICAgICAgICAgIG9uU2F2ZT17KGdyaWQpID0+IHsgcmV0dXJuIGdldS5yZXBsYWNlR3JpZFdpdGhIdG1sV2l0aEVkaXRvcih0aGlzLmdldENvZGVNaXJyb3IoKSwgZ3JpZCkgfX1cbiAgICAgICAgLz5cbiAgICAgICAgPExpbmtFZGl0TW9kYWxcbiAgICAgICAgICByZWY9e3RoaXMubGlua0VkaXRNb2RhbH1cbiAgICAgICAgICBvblNhdmU9eyhsaW5rVGV4dCkgPT4geyByZXR1cm4gbWx1LnJlcGxhY2VGb2N1c2VkTWFya2Rvd25MaW5rV2l0aEVkaXRvcih0aGlzLmdldENvZGVNaXJyb3IoKSwgbGlua1RleHQpIH19XG4gICAgICAgIC8+XG4gICAgICAgIDxIYW5kc29udGFibGVNb2RhbFxuICAgICAgICAgIHJlZj17dGhpcy5oYW5kc29udGFibGVNb2RhbH1cbiAgICAgICAgICBvblNhdmU9eyh0YWJsZSkgPT4geyByZXR1cm4gbXR1LnJlcGxhY2VGb2N1c2VkTWFya2Rvd25UYWJsZVdpdGhFZGl0b3IodGhpcy5nZXRDb2RlTWlycm9yKCksIHRhYmxlKSB9fVxuICAgICAgICAgIGlnbm9yZUF1dG9Gb3JtYXR0aW5nPXt0aGlzLnByb3BzLmVkaXRvck9wdGlvbnMuaWdub3JlTWFya2Rvd25UYWJsZUF1dG9Gb3JtYXR0aW5nfVxuICAgICAgICAvPlxuICAgICAgICA8RHJhd2lvTW9kYWxcbiAgICAgICAgICByZWY9e3RoaXMuZHJhd2lvTW9kYWx9XG4gICAgICAgICAgb25TYXZlPXsoZHJhd2lvRGF0YSkgPT4geyByZXR1cm4gbWR1LnJlcGxhY2VGb2N1c2VkRHJhd2lvV2l0aEVkaXRvcih0aGlzLmdldENvZGVNaXJyb3IoKSwgZHJhd2lvRGF0YSkgfX1cbiAgICAgICAgLz5cblxuICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICApO1xuICB9XG5cbn1cblxuQ29kZU1pcnJvckVkaXRvci5wcm9wVHlwZXMgPSBPYmplY3QuYXNzaWduKHtcbiAgZWRpdG9yT3B0aW9uczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICBlbW9qaVN0cmF0ZWd5OiBQcm9wVHlwZXMub2JqZWN0LFxuICBsaW5lTnVtYmVyczogUHJvcFR5cGVzLmJvb2wsXG4gIG9uTWFya2Rvd25IZWxwQnV0dG9uQ2xpY2tlZDogUHJvcFR5cGVzLmZ1bmMsXG59LCBBYnN0cmFjdEVkaXRvci5wcm9wVHlwZXMpO1xuQ29kZU1pcnJvckVkaXRvci5kZWZhdWx0UHJvcHMgPSB7XG4gIGxpbmVOdW1iZXJzOiB0cnVlLFxufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7O0FBR0E7QUFFQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUEE7QUFVQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFLQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBS0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTs7Ozs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFFQTs7Ozs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOzs7Ozs7OztBQU1BO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFFQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7Ozs7Ozs7O0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUhBO0FBTUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7Ozs7O0FBTUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQU1BO0FBQ0E7QUFFQTtBQUVBOzs7Ozs7O0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FBT0E7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBR0E7QUFBQTtBQUVBO0FBQUE7QUFNQTtBQUFBO0FBT0E7QUFFQTs7Ozs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFPQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBT0E7QUFBQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQU9BO0FBQUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFPQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBT0E7QUFBQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQU9BO0FBQUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFPQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBT0E7QUFBQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQU9BO0FBQUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFPQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBT0E7QUFBQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQU9BO0FBQUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFPQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBT0E7QUFBQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBSUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQU5BO0FBcEJBO0FBNkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXJEQTtBQTZEQTtBQUNBO0FBQUE7QUFBQTtBQUZBO0FBS0E7QUFDQTtBQUFBO0FBQUE7QUFGQTtBQUtBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFIQTtBQU1BO0FBQ0E7QUFBQTtBQUFBO0FBRkE7QUFPQTtBQUNBO0FBaDFCQTtBQW0xQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FBTUE7QUFDQTtBQURBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/PageEditor/CodeMirrorEditor.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageEditor/DrawioModal.jsx":
- /*!*************************************************************!*\
- !*** ./src/client/js/components/PageEditor/DrawioModal.jsx ***!
- \*************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! i18next */ \"./node_modules/i18next/dist/esm/i18next.js\");\n/* harmony import */ var reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! reactstrap/es/Modal */ \"./node_modules/reactstrap/es/Modal.js\");\n/* harmony import */ var reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! reactstrap/es/ModalBody */ \"./node_modules/reactstrap/es/ModalBody.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_EditorContainer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../services/EditorContainer */ \"./src/client/js/services/EditorContainer.js\");\n/* harmony import */ var _util_locale_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../util/locale-utils */ \"./src/client/js/util/locale-utils.js\");\n/* harmony import */ var _util_locale_utils__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_util_locale_utils__WEBPACK_IMPORTED_MODULE_8__);\n\n\n\n\n\n\n\n\n\n\nclass DrawioModal extends react__WEBPACK_IMPORTED_MODULE_0___default.a.PureComponent {\n constructor(props) {\n super(props);\n this.state = {\n show: false,\n drawioMxFile: ''\n };\n this.headerColor = '#334455';\n this.fontFamily = \"Lato, -apple-system, BlinkMacSystemFont, 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif\";\n this.init = this.init.bind(this);\n this.cancel = this.cancel.bind(this);\n this.receiveFromDrawio = this.receiveFromDrawio.bind(this);\n }\n\n init(drawioMxFile) {\n const initDrawioMxFile = drawioMxFile;\n this.setState({\n drawioMxFile: initDrawioMxFile\n });\n }\n\n show(drawioMxFile) {\n this.init(drawioMxFile);\n window.addEventListener('message', this.receiveFromDrawio);\n this.setState({\n show: true\n });\n }\n\n hide() {\n this.setState({\n show: false\n });\n }\n\n cancel() {\n this.hide();\n }\n\n receiveFromDrawio(event) {\n if (event.data === 'ready') {\n event.source.postMessage(this.state.drawioMxFile, '*');\n return;\n }\n\n if (event.data === '{\"event\":\"configure\"}') {\n if (event.source == null) {\n return;\n } // refs:\n // * https://desk.draw.io/support/solutions/articles/16000103852-how-to-customise-the-draw-io-interface\n // * https://desk.draw.io/support/solutions/articles/16000042544-how-does-embed-mode-work-\n // * https://desk.draw.io/support/solutions/articles/16000058316-how-to-configure-draw-io-\n\n\n event.source.postMessage(JSON.stringify({\n action: 'configure',\n config: {\n css: `\n .geMenubarContainer { background-color: ${this.headerColor} !important; }\n .geMenubar { background-color: ${this.headerColor} !important; }\n .geEditor { font-family: ${this.fontFamily} !important; }\n html td.mxPopupMenuItem {\n font-family: ${this.fontFamily} !important;\n font-size: 8pt !important;\n }\n `,\n customFonts: ['Lato', 'Charter']\n }\n }), '*');\n return;\n }\n\n if (typeof event.data === 'string' && event.data.match(/mxfile/)) {\n if (event.data.length > 0) {\n const parser = new DOMParser();\n const dom = parser.parseFromString(event.data, 'text/xml');\n const value = dom.getElementsByTagName('diagram')[0].innerHTML;\n\n if (this.props.onSave != null) {\n this.props.onSave(value);\n }\n }\n\n window.removeEventListener('message', this.receiveFromDrawio);\n this.hide();\n return;\n }\n\n if (typeof event.data === 'string' && event.data.length === 0) {\n window.removeEventListener('message', this.receiveFromDrawio);\n this.hide();\n return;\n } // NOTHING DONE. (Receive unknown iframe message.)\n\n }\n\n get drawioURL() {\n const {\n config\n } = this.props.appContainer;\n const drawioUri = config.env.DRAWIO_URI || 'https://embed.diagrams.net/';\n const url = new URL(drawioUri); // refs: https://desk.draw.io/support/solutions/articles/16000042546-what-url-parameters-are-supported-\n\n url.searchParams.append('spin', 1);\n url.searchParams.append('embed', 1);\n url.searchParams.append('lang', Object(_util_locale_utils__WEBPACK_IMPORTED_MODULE_8__[\"getDiagramsNetLangCode\"])(i18next__WEBPACK_IMPORTED_MODULE_2__[\"default\"].language));\n url.searchParams.append('ui', 'atlas');\n url.searchParams.append('configure', 1);\n return url;\n }\n\n render() {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n isOpen: this.state.show,\n toggle: this.cancel,\n className: \"drawio-modal\",\n size: \"xl\",\n keyboard: false\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"p-0\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"w-100 h-100 position-absolute d-flex\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"mx-auto my-auto\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"fa fa-3x fa-spinner fa-pulse mx-auto text-muted\"\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"w-100 h-100 position-absolute d-flex\"\n }, this.state.show && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"iframe\", {\n src: this.drawioURL,\n className: \"border-0 flex-grow-1\"\n }))));\n }\n\n}\n\nDrawioModal.propTypes = {\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"]).isRequired,\n editorContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_EditorContainer__WEBPACK_IMPORTED_MODULE_7__[\"default\"]).isRequired,\n onSave: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_5__[\"withUnstatedContainers\"])(DrawioModal, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"], _services_EditorContainer__WEBPACK_IMPORTED_MODULE_7__[\"default\"]]));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci9EcmF3aW9Nb2RhbC5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci9EcmF3aW9Nb2RhbC5qc3g/Y2VhYyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBpMThuZXh0IGZyb20gJ2kxOG5leHQnO1xuXG5pbXBvcnQge1xuICBNb2RhbCxcbiAgTW9kYWxCb2R5LFxufSBmcm9tICdyZWFjdHN0cmFwJztcblxuaW1wb3J0IHsgd2l0aFVuc3RhdGVkQ29udGFpbmVycyB9IGZyb20gJy4uL1Vuc3RhdGVkVXRpbHMnO1xuaW1wb3J0IEFwcENvbnRhaW5lciBmcm9tICcuLi8uLi9zZXJ2aWNlcy9BcHBDb250YWluZXInO1xuaW1wb3J0IEVkaXRvckNvbnRhaW5lciBmcm9tICcuLi8uLi9zZXJ2aWNlcy9FZGl0b3JDb250YWluZXInO1xuaW1wb3J0IHsgZ2V0RGlhZ3JhbXNOZXRMYW5nQ29kZSB9IGZyb20gJy4uLy4uL3V0aWwvbG9jYWxlLXV0aWxzJztcblxuY2xhc3MgRHJhd2lvTW9kYWwgZXh0ZW5kcyBSZWFjdC5QdXJlQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcblxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBzaG93OiBmYWxzZSxcbiAgICAgIGRyYXdpb014RmlsZTogJycsXG4gICAgfTtcblxuICAgIHRoaXMuaGVhZGVyQ29sb3IgPSAnIzMzNDQ1NSc7XG4gICAgdGhpcy5mb250RmFtaWx5ID0gXCJMYXRvLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm9OJywgTWVpcnlvLCBzYW5zLXNlcmlmXCI7XG5cbiAgICB0aGlzLmluaXQgPSB0aGlzLmluaXQuYmluZCh0aGlzKTtcbiAgICB0aGlzLmNhbmNlbCA9IHRoaXMuY2FuY2VsLmJpbmQodGhpcyk7XG4gICAgdGhpcy5yZWNlaXZlRnJvbURyYXdpbyA9IHRoaXMucmVjZWl2ZUZyb21EcmF3aW8uYmluZCh0aGlzKTtcbiAgfVxuXG4gIGluaXQoZHJhd2lvTXhGaWxlKSB7XG4gICAgY29uc3QgaW5pdERyYXdpb014RmlsZSA9IGRyYXdpb014RmlsZTtcbiAgICB0aGlzLnNldFN0YXRlKFxuICAgICAge1xuICAgICAgICBkcmF3aW9NeEZpbGU6IGluaXREcmF3aW9NeEZpbGUsXG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICBzaG93KGRyYXdpb014RmlsZSkge1xuICAgIHRoaXMuaW5pdChkcmF3aW9NeEZpbGUpO1xuXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCB0aGlzLnJlY2VpdmVGcm9tRHJhd2lvKTtcbiAgICB0aGlzLnNldFN0YXRlKHsgc2hvdzogdHJ1ZSB9KTtcbiAgfVxuXG4gIGhpZGUoKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBzaG93OiBmYWxzZSxcbiAgICB9KTtcbiAgfVxuXG4gIGNhbmNlbCgpIHtcbiAgICB0aGlzLmhpZGUoKTtcbiAgfVxuXG4gIHJlY2VpdmVGcm9tRHJhd2lvKGV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LmRhdGEgPT09ICdyZWFkeScpIHtcbiAgICAgIGV2ZW50LnNvdXJjZS5wb3N0TWVzc2FnZSh0aGlzLnN0YXRlLmRyYXdpb014RmlsZSwgJyonKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQuZGF0YSA9PT0gJ3tcImV2ZW50XCI6XCJjb25maWd1cmVcIn0nKSB7XG4gICAgICBpZiAoZXZlbnQuc291cmNlID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyByZWZzOlxuICAgICAgLy8gICogaHR0cHM6Ly9kZXNrLmRyYXcuaW8vc3VwcG9ydC9zb2x1dGlvbnMvYXJ0aWNsZXMvMTYwMDAxMDM4NTItaG93LXRvLWN1c3RvbWlzZS10aGUtZHJhdy1pby1pbnRlcmZhY2VcbiAgICAgIC8vICAqIGh0dHBzOi8vZGVzay5kcmF3LmlvL3N1cHBvcnQvc29sdXRpb25zL2FydGljbGVzLzE2MDAwMDQyNTQ0LWhvdy1kb2VzLWVtYmVkLW1vZGUtd29yay1cbiAgICAgIC8vICAqIGh0dHBzOi8vZGVzay5kcmF3LmlvL3N1cHBvcnQvc29sdXRpb25zL2FydGljbGVzLzE2MDAwMDU4MzE2LWhvdy10by1jb25maWd1cmUtZHJhdy1pby1cbiAgICAgIGV2ZW50LnNvdXJjZS5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIGFjdGlvbjogJ2NvbmZpZ3VyZScsXG4gICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgIGNzczogYFxuICAgICAgICAgIC5nZU1lbnViYXJDb250YWluZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAke3RoaXMuaGVhZGVyQ29sb3J9ICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICAuZ2VNZW51YmFyIHsgYmFja2dyb3VuZC1jb2xvcjogJHt0aGlzLmhlYWRlckNvbG9yfSAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgLmdlRWRpdG9yIHsgZm9udC1mYW1pbHk6ICR7dGhpcy5mb250RmFtaWx5fSAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgaHRtbCB0ZC5teFBvcHVwTWVudUl0ZW0ge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICR7dGhpcy5mb250RmFtaWx5fSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZm9udC1zaXplOiA4cHQgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgYCxcbiAgICAgICAgICBjdXN0b21Gb250czogWydMYXRvJywgJ0NoYXJ0ZXInXSxcbiAgICAgICAgfSxcbiAgICAgIH0pLCAnKicpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBldmVudC5kYXRhID09PSAnc3RyaW5nJyAmJiBldmVudC5kYXRhLm1hdGNoKC9teGZpbGUvKSkge1xuICAgICAgaWYgKGV2ZW50LmRhdGEubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBwYXJzZXIgPSBuZXcgRE9NUGFyc2VyKCk7XG4gICAgICAgIGNvbnN0IGRvbSA9IHBhcnNlci5wYXJzZUZyb21TdHJpbmcoZXZlbnQuZGF0YSwgJ3RleHQveG1sJyk7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gZG9tLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdkaWFncmFtJylbMF0uaW5uZXJIVE1MO1xuXG4gICAgICAgIGlmICh0aGlzLnByb3BzLm9uU2F2ZSAhPSBudWxsKSB7XG4gICAgICAgICAgdGhpcy5wcm9wcy5vblNhdmUodmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgdGhpcy5yZWNlaXZlRnJvbURyYXdpbyk7XG4gICAgICB0aGlzLmhpZGUoKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgZXZlbnQuZGF0YSA9PT0gJ3N0cmluZycgJiYgZXZlbnQuZGF0YS5sZW5ndGggPT09IDApIHtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgdGhpcy5yZWNlaXZlRnJvbURyYXdpbyk7XG4gICAgICB0aGlzLmhpZGUoKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIE5PVEhJTkcgRE9ORS4gKFJlY2VpdmUgdW5rbm93biBpZnJhbWUgbWVzc2FnZS4pXG4gIH1cblxuICBnZXQgZHJhd2lvVVJMKCkge1xuICAgIGNvbnN0IHsgY29uZmlnIH0gPSB0aGlzLnByb3BzLmFwcENvbnRhaW5lcjtcblxuICAgIGNvbnN0IGRyYXdpb1VyaSA9IGNvbmZpZy5lbnYuRFJBV0lPX1VSSSB8fCAnaHR0cHM6Ly9lbWJlZC5kaWFncmFtcy5uZXQvJztcbiAgICBjb25zdCB1cmwgPSBuZXcgVVJMKGRyYXdpb1VyaSk7XG5cbiAgICAvLyByZWZzOiBodHRwczovL2Rlc2suZHJhdy5pby9zdXBwb3J0L3NvbHV0aW9ucy9hcnRpY2xlcy8xNjAwMDA0MjU0Ni13aGF0LXVybC1wYXJhbWV0ZXJzLWFyZS1zdXBwb3J0ZWQtXG4gICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3NwaW4nLCAxKTtcbiAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnZW1iZWQnLCAxKTtcbiAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnbGFuZycsIGdldERpYWdyYW1zTmV0TGFuZ0NvZGUoaTE4bmV4dC5sYW5ndWFnZSkpO1xuICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCd1aScsICdhdGxhcycpO1xuICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdjb25maWd1cmUnLCAxKTtcblxuICAgIHJldHVybiB1cmw7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxNb2RhbCBpc09wZW49e3RoaXMuc3RhdGUuc2hvd30gdG9nZ2xlPXt0aGlzLmNhbmNlbH0gY2xhc3NOYW1lPVwiZHJhd2lvLW1vZGFsXCIgc2l6ZT1cInhsXCIga2V5Ym9hcmQ9e2ZhbHNlfT5cbiAgICAgICAgPE1vZGFsQm9keSBjbGFzc05hbWU9XCJwLTBcIj5cbiAgICAgICAgICB7LyogTG9hZGluZyBzcGlubmVyICovfVxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy0xMDAgaC0xMDAgcG9zaXRpb24tYWJzb2x1dGUgZC1mbGV4XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gbXktYXV0b1wiPlxuICAgICAgICAgICAgICA8aSBjbGFzc05hbWU9XCJmYSBmYS0zeCBmYS1zcGlubmVyIGZhLXB1bHNlIG14LWF1dG8gdGV4dC1tdXRlZFwiPjwvaT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIHsvKiBpZnJhbWUgKi99XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LTEwMCBoLTEwMCBwb3NpdGlvbi1hYnNvbHV0ZSBkLWZsZXhcIj5cbiAgICAgICAgICAgIHsgdGhpcy5zdGF0ZS5zaG93ICYmIChcbiAgICAgICAgICAgICAgPGlmcmFtZVxuICAgICAgICAgICAgICAgIHNyYz17dGhpcy5kcmF3aW9VUkx9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYm9yZGVyLTAgZmxleC1ncm93LTFcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvaWZyYW1lPlxuICAgICAgICAgICAgKSB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvTW9kYWxCb2R5PlxuICAgICAgPC9Nb2RhbD5cbiAgICApO1xuICB9XG5cbn1cblxuRHJhd2lvTW9kYWwucHJvcFR5cGVzID0ge1xuICBhcHBDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKEFwcENvbnRhaW5lcikuaXNSZXF1aXJlZCxcbiAgZWRpdG9yQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihFZGl0b3JDb250YWluZXIpLmlzUmVxdWlyZWQsXG5cbiAgb25TYXZlOiBQcm9wVHlwZXMuZnVuYyxcbn07XG5cblxuZXhwb3J0IGRlZmF1bHQgd2l0aFVuc3RhdGVkQ29udGFpbmVycyhEcmF3aW9Nb2RhbCwgW0FwcENvbnRhaW5lciwgRWRpdG9yQ29udGFpbmVyXSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBOzs7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRkE7QUFLQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBREE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQURBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7OztBQU5BO0FBVUE7QUFWQTtBQUZBO0FBZ0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBSUE7QUFBQTtBQUdBO0FBQ0E7QUFGQTtBQVVBO0FBQ0E7QUFqSkE7QUFDQTtBQW1KQTtBQUNBO0FBQ0E7QUFFQTtBQUpBO0FBUUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/PageEditor/DrawioModal.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageEditor/Editor.jsx":
- /*!********************************************************!*\
- !*** ./src/client/js/components/PageEditor/Editor.jsx ***!
- \********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Editor; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var unstated__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! unstated */ \"./node_modules/unstated/lib/unstated.es.js\");\n/* harmony import */ var reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! reactstrap/es/Modal */ \"./node_modules/reactstrap/es/Modal.js\");\n/* harmony import */ var reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! reactstrap/es/ModalHeader */ \"./node_modules/reactstrap/es/ModalHeader.js\");\n/* harmony import */ var reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! reactstrap/es/ModalBody */ \"./node_modules/reactstrap/es/ModalBody.js\");\n/* harmony import */ var react_dropzone__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-dropzone */ \"./node_modules/react-dropzone/dist/es/index.js\");\n/* harmony import */ var _services_EditorContainer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../services/EditorContainer */ \"./src/client/js/services/EditorContainer.js\");\n/* harmony import */ var _Cheatsheet__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Cheatsheet */ \"./src/client/js/components/PageEditor/Cheatsheet.jsx\");\n/* harmony import */ var _AbstractEditor__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./AbstractEditor */ \"./src/client/js/components/PageEditor/AbstractEditor.jsx\");\n/* harmony import */ var _CodeMirrorEditor__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./CodeMirrorEditor */ \"./src/client/js/components/PageEditor/CodeMirrorEditor.jsx\");\n/* harmony import */ var _TextAreaEditor__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./TextAreaEditor */ \"./src/client/js/components/PageEditor/TextAreaEditor.jsx\");\n/* harmony import */ var _PasteHelper__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./PasteHelper */ \"./src/client/js/components/PageEditor/PasteHelper.js\");\nfunction _extends() { _extends = Object.assign || 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); }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nclass Editor extends _AbstractEditor__WEBPACK_IMPORTED_MODULE_9__[\"default\"] {\n constructor(props) {\n super(props);\n this.state = {\n isComponentDidMount: false,\n dropzoneActive: false,\n isUploading: false,\n isCheatsheetModalShown: false\n };\n this.getEditorSubstance = this.getEditorSubstance.bind(this);\n this.pasteFilesHandler = this.pasteFilesHandler.bind(this);\n this.dragEnterHandler = this.dragEnterHandler.bind(this);\n this.dragLeaveHandler = this.dragLeaveHandler.bind(this);\n this.dropHandler = this.dropHandler.bind(this);\n this.showMarkdownHelp = this.showMarkdownHelp.bind(this);\n this.getAcceptableType = this.getAcceptableType.bind(this);\n this.getDropzoneClassName = this.getDropzoneClassName.bind(this);\n this.renderDropzoneOverlay = this.renderDropzoneOverlay.bind(this);\n }\n\n componentDidMount() {\n this.setState({\n isComponentDidMount: true\n });\n }\n\n getEditorSubstance() {\n return this.props.isMobile ? this.taEditor : this.cmEditor;\n }\n /**\n * @inheritDoc\n */\n\n\n forceToFocus() {\n this.getEditorSubstance().forceToFocus();\n }\n /**\n * @inheritDoc\n */\n\n\n setValue(newValue) {\n this.getEditorSubstance().setValue(newValue);\n }\n /**\n * @inheritDoc\n */\n\n\n setGfmMode(bool) {\n this.getEditorSubstance().setGfmMode(bool);\n }\n /**\n * @inheritDoc\n */\n\n\n setCaretLine(line) {\n this.getEditorSubstance().setCaretLine(line);\n }\n /**\n * @inheritDoc\n */\n\n\n setScrollTopByLine(line) {\n this.getEditorSubstance().setScrollTopByLine(line);\n }\n /**\n * @inheritDoc\n */\n\n\n insertText(text) {\n this.getEditorSubstance().insertText(text);\n }\n /**\n * remove overlay and set isUploading to false\n */\n\n\n terminateUploadingState() {\n this.setState({\n dropzoneActive: false,\n isUploading: false\n });\n }\n /**\n * dispatch onUpload event\n */\n\n\n dispatchUpload(files) {\n if (this.props.onUpload != null) {\n this.props.onUpload(files);\n }\n }\n /**\n * get acceptable(uploadable) file type\n */\n\n\n getAcceptableType() {\n let accept = 'null'; // reject all\n\n if (this.props.isUploadable) {\n if (!this.props.isUploadableFile) {\n accept = 'image/*'; // image only\n } else {\n accept = ''; // allow all\n }\n }\n\n return accept;\n }\n\n pasteFilesHandler(event) {\n const items = event.clipboardData.items || event.clipboardData.files || []; // abort if length is not 1\n\n if (items.length < 1) {\n return;\n }\n\n for (let i = 0; i < items.length; i++) {\n try {\n const file = items[i].getAsFile(); // check file type (the same process as Dropzone)\n\n if (file != null && _PasteHelper__WEBPACK_IMPORTED_MODULE_12__[\"default\"].isAcceptableType(file, this.getAcceptableType())) {\n this.dispatchUpload(file);\n this.setState({\n isUploading: true\n });\n }\n } catch (e) {\n this.logger.error(e);\n }\n }\n }\n\n dragEnterHandler(event) {\n const dataTransfer = event.dataTransfer; // do nothing if contents is not files\n\n if (!dataTransfer.types.includes('Files')) {\n return;\n }\n\n this.setState({\n dropzoneActive: true\n });\n }\n\n dragLeaveHandler() {\n this.setState({\n dropzoneActive: false\n });\n }\n\n dropHandler(accepted, rejected) {\n // rejected\n if (accepted.length !== 1) {\n // length should be 0 or 1 because `multiple={false}` is set\n this.setState({\n dropzoneActive: false\n });\n return;\n }\n\n const file = accepted[0];\n this.dispatchUpload(file);\n this.setState({\n isUploading: true\n });\n }\n\n showMarkdownHelp() {\n this.setState({\n isCheatsheetModalShown: true\n });\n }\n\n getDropzoneClassName(isDragAccept, isDragReject) {\n let className = 'dropzone';\n\n if (!this.props.isUploadable) {\n className += ' dropzone-unuploadable';\n } else {\n className += ' dropzone-uploadable';\n\n if (this.props.isUploadableFile) {\n className += ' dropzone-uploadablefile';\n }\n } // uploading\n\n\n if (this.state.isUploading) {\n className += ' dropzone-uploading';\n }\n\n if (isDragAccept) {\n className += ' dropzone-accepted';\n }\n\n if (isDragReject) {\n className += ' dropzone-rejected';\n }\n\n return className;\n }\n\n renderDropzoneOverlay() {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"overlay overlay-dropzone-active\"\n }, this.state.isUploading && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"overlay-content\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"speeding-wheel d-inline-block\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"sr-only\"\n }, \"Uploading...\")), !this.state.isUploading && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"overlay-content\"\n }));\n }\n\n renderNavbar() {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"m-0 navbar navbar-default navbar-editor\",\n style: {\n minHeight: 'unset'\n }\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"ul\", {\n className: \"pl-2 nav nav-navbar\"\n }, this.getNavbarItems() != null && this.getNavbarItems().map((item, idx) => {\n // eslint-disable-next-line react/no-array-index-key\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", {\n key: `navbarItem-${idx}`\n }, item);\n })));\n }\n\n getNavbarItems() {\n // set navbar items(react elements) here that are common in CodeMirrorEditor or TextAreaEditor\n const navbarItems = []; // concat common items and items specific to CodeMirrorEditor or TextAreaEditor\n\n return navbarItems.concat(this.getEditorSubstance().getNavbarItems());\n }\n\n renderCheatsheetModal() {\n const hideCheatsheetModal = () => {\n this.setState({\n isCheatsheetModalShown: false\n });\n };\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n isOpen: this.state.isCheatsheetModalShown,\n toggle: hideCheatsheetModal,\n className: \"modal-gfm-cheatsheet\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n tag: \"h4\",\n toggle: hideCheatsheetModal,\n className: \"bg-primary text-light\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-question\"\n }), \"Markdown help\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Cheatsheet__WEBPACK_IMPORTED_MODULE_8__[\"default\"], null)));\n }\n\n render() {\n const flexContainer = {\n height: '100%',\n display: 'flex',\n flexDirection: 'column'\n };\n const isMobile = this.props.isMobile;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n style: flexContainer,\n className: \"editor-container\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_dropzone__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n ref: c => {\n this.dropzone = c;\n },\n accept: this.getAcceptableType(),\n noClick: true,\n noKeyboard: true,\n multiple: false,\n onDragLeave: this.dragLeaveHandler,\n onDrop: this.dropHandler\n }, ({\n getRootProps,\n getInputProps,\n isDragAccept,\n isDragReject\n }) => {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", _extends({\n className: this.getDropzoneClassName(isDragAccept, isDragReject)\n }, getRootProps()), this.state.dropzoneActive && this.renderDropzoneOverlay(), this.state.isComponentDidMount && this.renderNavbar(), !isMobile && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(unstated__WEBPACK_IMPORTED_MODULE_2__[\"Subscribe\"], {\n to: [_services_EditorContainer__WEBPACK_IMPORTED_MODULE_7__[\"default\"]]\n }, editorContainer => // eslint-disable-next-line arrow-body-style\n react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_CodeMirrorEditor__WEBPACK_IMPORTED_MODULE_10__[\"default\"], _extends({\n ref: c => {\n this.cmEditor = c;\n },\n indentSize: editorContainer.state.indentSize,\n editorOptions: editorContainer.state.editorOptions,\n onPasteFiles: this.pasteFilesHandler,\n onDragEnter: this.dragEnterHandler,\n onMarkdownHelpButtonClicked: this.showMarkdownHelp\n }, this.props))), isMobile && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_TextAreaEditor__WEBPACK_IMPORTED_MODULE_11__[\"default\"], _extends({\n ref: c => {\n this.taEditor = c;\n },\n onPasteFiles: this.pasteFilesHandler,\n onDragEnter: this.dragEnterHandler\n }, this.props)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", getInputProps()));\n }), this.props.isUploadable && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-outline-secondary btn-block btn-open-dropzone\",\n onClick: () => {\n this.dropzone.open();\n }\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-paper-clip\",\n \"aria-hidden\": \"true\"\n }), \"\\xA0 Attach files\", react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"d-none d-sm-inline\"\n }, \"\\xA0by dragging & dropping,\\xA0\", react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"btn-link\"\n }, \"selecting them\"), \",\\xA0 or pasting from the clipboard.\")), this.renderCheatsheetModal());\n }\n\n}\nEditor.propTypes = Object.assign({\n noCdn: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n isMobile: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n isUploadable: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n isUploadableFile: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n emojiStrategy: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n onChange: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n onUpload: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func\n}, _AbstractEditor__WEBPACK_IMPORTED_MODULE_9__[\"default\"].propTypes);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci9FZGl0b3IuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1BhZ2VFZGl0b3IvRWRpdG9yLmpzeD81OGVkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQgeyBTdWJzY3JpYmUgfSBmcm9tICd1bnN0YXRlZCc7XG5cbmltcG9ydCB7XG4gIE1vZGFsLCBNb2RhbEhlYWRlciwgTW9kYWxCb2R5LFxufSBmcm9tICdyZWFjdHN0cmFwJztcblxuaW1wb3J0IERyb3B6b25lIGZyb20gJ3JlYWN0LWRyb3B6b25lJztcblxuaW1wb3J0IEVkaXRvckNvbnRhaW5lciBmcm9tICcuLi8uLi9zZXJ2aWNlcy9FZGl0b3JDb250YWluZXInO1xuXG5pbXBvcnQgQ2hlYXRzaGVldCBmcm9tICcuL0NoZWF0c2hlZXQnO1xuaW1wb3J0IEFic3RyYWN0RWRpdG9yIGZyb20gJy4vQWJzdHJhY3RFZGl0b3InO1xuaW1wb3J0IENvZGVNaXJyb3JFZGl0b3IgZnJvbSAnLi9Db2RlTWlycm9yRWRpdG9yJztcbmltcG9ydCBUZXh0QXJlYUVkaXRvciBmcm9tICcuL1RleHRBcmVhRWRpdG9yJztcblxuaW1wb3J0IHBhc3RlSGVscGVyIGZyb20gJy4vUGFzdGVIZWxwZXInO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFZGl0b3IgZXh0ZW5kcyBBYnN0cmFjdEVkaXRvciB7XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgaXNDb21wb25lbnREaWRNb3VudDogZmFsc2UsXG4gICAgICBkcm9wem9uZUFjdGl2ZTogZmFsc2UsXG4gICAgICBpc1VwbG9hZGluZzogZmFsc2UsXG4gICAgICBpc0NoZWF0c2hlZXRNb2RhbFNob3duOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgdGhpcy5nZXRFZGl0b3JTdWJzdGFuY2UgPSB0aGlzLmdldEVkaXRvclN1YnN0YW5jZS5iaW5kKHRoaXMpO1xuXG4gICAgdGhpcy5wYXN0ZUZpbGVzSGFuZGxlciA9IHRoaXMucGFzdGVGaWxlc0hhbmRsZXIuYmluZCh0aGlzKTtcblxuICAgIHRoaXMuZHJhZ0VudGVySGFuZGxlciA9IHRoaXMuZHJhZ0VudGVySGFuZGxlci5iaW5kKHRoaXMpO1xuICAgIHRoaXMuZHJhZ0xlYXZlSGFuZGxlciA9IHRoaXMuZHJhZ0xlYXZlSGFuZGxlci5iaW5kKHRoaXMpO1xuICAgIHRoaXMuZHJvcEhhbmRsZXIgPSB0aGlzLmRyb3BIYW5kbGVyLmJpbmQodGhpcyk7XG5cbiAgICB0aGlzLnNob3dNYXJrZG93bkhlbHAgPSB0aGlzLnNob3dNYXJrZG93bkhlbHAuYmluZCh0aGlzKTtcblxuICAgIHRoaXMuZ2V0QWNjZXB0YWJsZVR5cGUgPSB0aGlzLmdldEFjY2VwdGFibGVUeXBlLmJpbmQodGhpcyk7XG4gICAgdGhpcy5nZXREcm9wem9uZUNsYXNzTmFtZSA9IHRoaXMuZ2V0RHJvcHpvbmVDbGFzc05hbWUuYmluZCh0aGlzKTtcbiAgICB0aGlzLnJlbmRlckRyb3B6b25lT3ZlcmxheSA9IHRoaXMucmVuZGVyRHJvcHpvbmVPdmVybGF5LmJpbmQodGhpcyk7XG4gIH1cblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICB0aGlzLnNldFN0YXRlKHsgaXNDb21wb25lbnREaWRNb3VudDogdHJ1ZSB9KTtcbiAgfVxuXG4gIGdldEVkaXRvclN1YnN0YW5jZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5pc01vYmlsZVxuICAgICAgPyB0aGlzLnRhRWRpdG9yXG4gICAgICA6IHRoaXMuY21FZGl0b3I7XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXREb2NcbiAgICovXG4gIGZvcmNlVG9Gb2N1cygpIHtcbiAgICB0aGlzLmdldEVkaXRvclN1YnN0YW5jZSgpLmZvcmNlVG9Gb2N1cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0RG9jXG4gICAqL1xuICBzZXRWYWx1ZShuZXdWYWx1ZSkge1xuICAgIHRoaXMuZ2V0RWRpdG9yU3Vic3RhbmNlKCkuc2V0VmFsdWUobmV3VmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0RG9jXG4gICAqL1xuICBzZXRHZm1Nb2RlKGJvb2wpIHtcbiAgICB0aGlzLmdldEVkaXRvclN1YnN0YW5jZSgpLnNldEdmbU1vZGUoYm9vbCk7XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXREb2NcbiAgICovXG4gIHNldENhcmV0TGluZShsaW5lKSB7XG4gICAgdGhpcy5nZXRFZGl0b3JTdWJzdGFuY2UoKS5zZXRDYXJldExpbmUobGluZSk7XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXREb2NcbiAgICovXG4gIHNldFNjcm9sbFRvcEJ5TGluZShsaW5lKSB7XG4gICAgdGhpcy5nZXRFZGl0b3JTdWJzdGFuY2UoKS5zZXRTY3JvbGxUb3BCeUxpbmUobGluZSk7XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXREb2NcbiAgICovXG4gIGluc2VydFRleHQodGV4dCkge1xuICAgIHRoaXMuZ2V0RWRpdG9yU3Vic3RhbmNlKCkuaW5zZXJ0VGV4dCh0ZXh0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiByZW1vdmUgb3ZlcmxheSBhbmQgc2V0IGlzVXBsb2FkaW5nIHRvIGZhbHNlXG4gICAqL1xuICB0ZXJtaW5hdGVVcGxvYWRpbmdTdGF0ZSgpIHtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIGRyb3B6b25lQWN0aXZlOiBmYWxzZSxcbiAgICAgIGlzVXBsb2FkaW5nOiBmYWxzZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBkaXNwYXRjaCBvblVwbG9hZCBldmVudFxuICAgKi9cbiAgZGlzcGF0Y2hVcGxvYWQoZmlsZXMpIHtcbiAgICBpZiAodGhpcy5wcm9wcy5vblVwbG9hZCAhPSBudWxsKSB7XG4gICAgICB0aGlzLnByb3BzLm9uVXBsb2FkKGZpbGVzKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGFjY2VwdGFibGUodXBsb2FkYWJsZSkgZmlsZSB0eXBlXG4gICAqL1xuICBnZXRBY2NlcHRhYmxlVHlwZSgpIHtcbiAgICBsZXQgYWNjZXB0ID0gJ251bGwnOyAvLyByZWplY3QgYWxsXG4gICAgaWYgKHRoaXMucHJvcHMuaXNVcGxvYWRhYmxlKSB7XG4gICAgICBpZiAoIXRoaXMucHJvcHMuaXNVcGxvYWRhYmxlRmlsZSkge1xuICAgICAgICBhY2NlcHQgPSAnaW1hZ2UvKic7IC8vIGltYWdlIG9ubHlcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICBhY2NlcHQgPSAnJzsgLy8gYWxsb3cgYWxsXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGFjY2VwdDtcbiAgfVxuXG4gIHBhc3RlRmlsZXNIYW5kbGVyKGV2ZW50KSB7XG4gICAgY29uc3QgaXRlbXMgPSBldmVudC5jbGlwYm9hcmREYXRhLml0ZW1zIHx8IGV2ZW50LmNsaXBib2FyZERhdGEuZmlsZXMgfHwgW107XG5cbiAgICAvLyBhYm9ydCBpZiBsZW5ndGggaXMgbm90IDFcbiAgICBpZiAoaXRlbXMubGVuZ3RoIDwgMSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGZpbGUgPSBpdGVtc1tpXS5nZXRBc0ZpbGUoKTtcbiAgICAgICAgLy8gY2hlY2sgZmlsZSB0eXBlICh0aGUgc2FtZSBwcm9jZXNzIGFzIERyb3B6b25lKVxuICAgICAgICBpZiAoZmlsZSAhPSBudWxsICYmIHBhc3RlSGVscGVyLmlzQWNjZXB0YWJsZVR5cGUoZmlsZSwgdGhpcy5nZXRBY2NlcHRhYmxlVHlwZSgpKSkge1xuICAgICAgICAgIHRoaXMuZGlzcGF0Y2hVcGxvYWQoZmlsZSk7XG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGlzVXBsb2FkaW5nOiB0cnVlIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjYXRjaCAoZSkge1xuICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBkcmFnRW50ZXJIYW5kbGVyKGV2ZW50KSB7XG4gICAgY29uc3QgZGF0YVRyYW5zZmVyID0gZXZlbnQuZGF0YVRyYW5zZmVyO1xuXG4gICAgLy8gZG8gbm90aGluZyBpZiBjb250ZW50cyBpcyBub3QgZmlsZXNcbiAgICBpZiAoIWRhdGFUcmFuc2Zlci50eXBlcy5pbmNsdWRlcygnRmlsZXMnKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2V0U3RhdGUoeyBkcm9wem9uZUFjdGl2ZTogdHJ1ZSB9KTtcbiAgfVxuXG4gIGRyYWdMZWF2ZUhhbmRsZXIoKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IGRyb3B6b25lQWN0aXZlOiBmYWxzZSB9KTtcbiAgfVxuXG4gIGRyb3BIYW5kbGVyKGFjY2VwdGVkLCByZWplY3RlZCkge1xuICAgIC8vIHJlamVjdGVkXG4gICAgaWYgKGFjY2VwdGVkLmxlbmd0aCAhPT0gMSkgeyAvLyBsZW5ndGggc2hvdWxkIGJlIDAgb3IgMSBiZWNhdXNlIGBtdWx0aXBsZT17ZmFsc2V9YCBpcyBzZXRcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBkcm9wem9uZUFjdGl2ZTogZmFsc2UgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZmlsZSA9IGFjY2VwdGVkWzBdO1xuICAgIHRoaXMuZGlzcGF0Y2hVcGxvYWQoZmlsZSk7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IGlzVXBsb2FkaW5nOiB0cnVlIH0pO1xuICB9XG5cbiAgc2hvd01hcmtkb3duSGVscCgpIHtcbiAgICB0aGlzLnNldFN0YXRlKHsgaXNDaGVhdHNoZWV0TW9kYWxTaG93bjogdHJ1ZSB9KTtcbiAgfVxuXG4gIGdldERyb3B6b25lQ2xhc3NOYW1lKGlzRHJhZ0FjY2VwdCwgaXNEcmFnUmVqZWN0KSB7XG4gICAgbGV0IGNsYXNzTmFtZSA9ICdkcm9wem9uZSc7XG4gICAgaWYgKCF0aGlzLnByb3BzLmlzVXBsb2FkYWJsZSkge1xuICAgICAgY2xhc3NOYW1lICs9ICcgZHJvcHpvbmUtdW51cGxvYWRhYmxlJztcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICBjbGFzc05hbWUgKz0gJyBkcm9wem9uZS11cGxvYWRhYmxlJztcblxuICAgICAgaWYgKHRoaXMucHJvcHMuaXNVcGxvYWRhYmxlRmlsZSkge1xuICAgICAgICBjbGFzc05hbWUgKz0gJyBkcm9wem9uZS11cGxvYWRhYmxlZmlsZSc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gdXBsb2FkaW5nXG4gICAgaWYgKHRoaXMuc3RhdGUuaXNVcGxvYWRpbmcpIHtcbiAgICAgIGNsYXNzTmFtZSArPSAnIGRyb3B6b25lLXVwbG9hZGluZyc7XG4gICAgfVxuXG4gICAgaWYgKGlzRHJhZ0FjY2VwdCkge1xuICAgICAgY2xhc3NOYW1lICs9ICcgZHJvcHpvbmUtYWNjZXB0ZWQnO1xuICAgIH1cblxuICAgIGlmIChpc0RyYWdSZWplY3QpIHtcbiAgICAgIGNsYXNzTmFtZSArPSAnIGRyb3B6b25lLXJlamVjdGVkJztcbiAgICB9XG5cbiAgICByZXR1cm4gY2xhc3NOYW1lO1xuICB9XG5cbiAgcmVuZGVyRHJvcHpvbmVPdmVybGF5KCkge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm92ZXJsYXkgb3ZlcmxheS1kcm9wem9uZS1hY3RpdmVcIj5cbiAgICAgICAge3RoaXMuc3RhdGUuaXNVcGxvYWRpbmdcbiAgICAgICAgICAmJiAoXG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwib3ZlcmxheS1jb250ZW50XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwZWVkaW5nLXdoZWVsIGQtaW5saW5lLWJsb2NrXCI+PC9kaXY+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJzci1vbmx5XCI+VXBsb2FkaW5nLi4uPC9zcGFuPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgICAgeyF0aGlzLnN0YXRlLmlzVXBsb2FkaW5nICYmIDxzcGFuIGNsYXNzTmFtZT1cIm92ZXJsYXktY29udGVudFwiPjwvc3Bhbj59XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG5cbiAgcmVuZGVyTmF2YmFyKCkge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm0tMCBuYXZiYXIgbmF2YmFyLWRlZmF1bHQgbmF2YmFyLWVkaXRvclwiIHN0eWxlPXt7IG1pbkhlaWdodDogJ3Vuc2V0JyB9fT5cbiAgICAgICAgPHVsIGNsYXNzTmFtZT1cInBsLTIgbmF2IG5hdi1uYXZiYXJcIj5cbiAgICAgICAgICB7IHRoaXMuZ2V0TmF2YmFySXRlbXMoKSAhPSBudWxsICYmIHRoaXMuZ2V0TmF2YmFySXRlbXMoKS5tYXAoKGl0ZW0sIGlkeCkgPT4ge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L25vLWFycmF5LWluZGV4LWtleVxuICAgICAgICAgICAgcmV0dXJuIDxsaSBrZXk9e2BuYXZiYXJJdGVtLSR7aWR4fWB9PntpdGVtfTwvbGk+O1xuICAgICAgICAgIH0pIH1cbiAgICAgICAgPC91bD5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cblxuICBnZXROYXZiYXJJdGVtcygpIHtcbiAgICAvLyBzZXQgbmF2YmFyIGl0ZW1zKHJlYWN0IGVsZW1lbnRzKSBoZXJlIHRoYXQgYXJlIGNvbW1vbiBpbiBDb2RlTWlycm9yRWRpdG9yIG9yIFRleHRBcmVhRWRpdG9yXG4gICAgY29uc3QgbmF2YmFySXRlbXMgPSBbXTtcblxuICAgIC8vIGNvbmNhdCBjb21tb24gaXRlbXMgYW5kIGl0ZW1zIHNwZWNpZmljIHRvIENvZGVNaXJyb3JFZGl0b3Igb3IgVGV4dEFyZWFFZGl0b3JcbiAgICByZXR1cm4gbmF2YmFySXRlbXMuY29uY2F0KHRoaXMuZ2V0RWRpdG9yU3Vic3RhbmNlKCkuZ2V0TmF2YmFySXRlbXMoKSk7XG4gIH1cblxuICByZW5kZXJDaGVhdHNoZWV0TW9kYWwoKSB7XG4gICAgY29uc3QgaGlkZUNoZWF0c2hlZXRNb2RhbCA9ICgpID0+IHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBpc0NoZWF0c2hlZXRNb2RhbFNob3duOiBmYWxzZSB9KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxNb2RhbCBpc09wZW49e3RoaXMuc3RhdGUuaXNDaGVhdHNoZWV0TW9kYWxTaG93bn0gdG9nZ2xlPXtoaWRlQ2hlYXRzaGVldE1vZGFsfSBjbGFzc05hbWU9XCJtb2RhbC1nZm0tY2hlYXRzaGVldFwiPlxuICAgICAgICA8TW9kYWxIZWFkZXIgdGFnPVwiaDRcIiB0b2dnbGU9e2hpZGVDaGVhdHNoZWV0TW9kYWx9IGNsYXNzTmFtZT1cImJnLXByaW1hcnkgdGV4dC1saWdodFwiPlxuICAgICAgICAgIDxpIGNsYXNzTmFtZT1cImljb24tZncgaWNvbi1xdWVzdGlvblwiIC8+TWFya2Rvd24gaGVscFxuICAgICAgICA8L01vZGFsSGVhZGVyPlxuICAgICAgICA8TW9kYWxCb2R5PlxuICAgICAgICAgIDxDaGVhdHNoZWV0IC8+XG4gICAgICAgIDwvTW9kYWxCb2R5PlxuICAgICAgPC9Nb2RhbD5cbiAgICApO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IGZsZXhDb250YWluZXIgPSB7XG4gICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgIH07XG5cbiAgICBjb25zdCBpc01vYmlsZSA9IHRoaXMucHJvcHMuaXNNb2JpbGU7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBzdHlsZT17ZmxleENvbnRhaW5lcn0gY2xhc3NOYW1lPVwiZWRpdG9yLWNvbnRhaW5lclwiPlxuICAgICAgICA8RHJvcHpvbmVcbiAgICAgICAgICByZWY9eyhjKSA9PiB7IHRoaXMuZHJvcHpvbmUgPSBjIH19XG4gICAgICAgICAgYWNjZXB0PXt0aGlzLmdldEFjY2VwdGFibGVUeXBlKCl9XG4gICAgICAgICAgbm9DbGlja1xuICAgICAgICAgIG5vS2V5Ym9hcmRcbiAgICAgICAgICBtdWx0aXBsZT17ZmFsc2V9XG4gICAgICAgICAgb25EcmFnTGVhdmU9e3RoaXMuZHJhZ0xlYXZlSGFuZGxlcn1cbiAgICAgICAgICBvbkRyb3A9e3RoaXMuZHJvcEhhbmRsZXJ9XG4gICAgICAgID5cbiAgICAgICAgICB7KHtcbiAgICAgICAgICAgIGdldFJvb3RQcm9wcyxcbiAgICAgICAgICAgIGdldElucHV0UHJvcHMsXG4gICAgICAgICAgICBpc0RyYWdBY2NlcHQsXG4gICAgICAgICAgICBpc0RyYWdSZWplY3QsXG4gICAgICAgICAgfSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3RoaXMuZ2V0RHJvcHpvbmVDbGFzc05hbWUoaXNEcmFnQWNjZXB0LCBpc0RyYWdSZWplY3QpfSB7Li4uZ2V0Um9vdFByb3BzKCl9PlxuICAgICAgICAgICAgICAgIHsgdGhpcy5zdGF0ZS5kcm9wem9uZUFjdGl2ZSAmJiB0aGlzLnJlbmRlckRyb3B6b25lT3ZlcmxheSgpIH1cblxuICAgICAgICAgICAgICAgIHsgdGhpcy5zdGF0ZS5pc0NvbXBvbmVudERpZE1vdW50ICYmIHRoaXMucmVuZGVyTmF2YmFyKCkgfVxuXG4gICAgICAgICAgICAgICAgey8qIGZvciBQQyAqL31cbiAgICAgICAgICAgICAgICB7ICFpc01vYmlsZSAmJiAoXG4gICAgICAgICAgICAgICAgICA8U3Vic2NyaWJlIHRvPXtbRWRpdG9yQ29udGFpbmVyXX0+XG4gICAgICAgICAgICAgICAgICAgIHsgZWRpdG9yQ29udGFpbmVyID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgYXJyb3ctYm9keS1zdHlsZVxuICAgICAgICAgICAgICAgICAgICAgIDxDb2RlTWlycm9yRWRpdG9yXG4gICAgICAgICAgICAgICAgICAgICAgICByZWY9eyhjKSA9PiB7IHRoaXMuY21FZGl0b3IgPSBjIH19XG4gICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnRTaXplPXtlZGl0b3JDb250YWluZXIuc3RhdGUuaW5kZW50U2l6ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVkaXRvck9wdGlvbnM9e2VkaXRvckNvbnRhaW5lci5zdGF0ZS5lZGl0b3JPcHRpb25zfVxuICAgICAgICAgICAgICAgICAgICAgICAgb25QYXN0ZUZpbGVzPXt0aGlzLnBhc3RlRmlsZXNIYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgb25EcmFnRW50ZXI9e3RoaXMuZHJhZ0VudGVySGFuZGxlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uTWFya2Rvd25IZWxwQnV0dG9uQ2xpY2tlZD17dGhpcy5zaG93TWFya2Rvd25IZWxwfVxuICAgICAgICAgICAgICAgICAgICAgICAgey4uLnRoaXMucHJvcHN9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgIDwvU3Vic2NyaWJlPlxuICAgICAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgICAgICB7LyogZm9yIG1vYmlsZSAqL31cbiAgICAgICAgICAgICAgICB7IGlzTW9iaWxlICYmIChcbiAgICAgICAgICAgICAgICAgIDxUZXh0QXJlYUVkaXRvclxuICAgICAgICAgICAgICAgICAgICByZWY9eyhjKSA9PiB7IHRoaXMudGFFZGl0b3IgPSBjIH19XG4gICAgICAgICAgICAgICAgICAgIG9uUGFzdGVGaWxlcz17dGhpcy5wYXN0ZUZpbGVzSGFuZGxlcn1cbiAgICAgICAgICAgICAgICAgICAgb25EcmFnRW50ZXI9e3RoaXMuZHJhZ0VudGVySGFuZGxlcn1cbiAgICAgICAgICAgICAgICAgICAgey4uLnRoaXMucHJvcHN9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgICAgICA8aW5wdXQgey4uLmdldElucHV0UHJvcHMoKX0gLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH19XG4gICAgICAgIDwvRHJvcHpvbmU+XG5cbiAgICAgICAgeyB0aGlzLnByb3BzLmlzVXBsb2FkYWJsZVxuICAgICAgICAgICYmIChcbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnkgYnRuLWJsb2NrIGJ0bi1vcGVuLWRyb3B6b25lXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHsgdGhpcy5kcm9wem9uZS5vcGVuKCkgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8aSBjbGFzc05hbWU9XCJpY29uLXBhcGVyLWNsaXBcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+Jm5ic3A7XG4gICAgICAgICAgICBBdHRhY2ggZmlsZXNcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImQtbm9uZSBkLXNtLWlubGluZVwiPlxuICAgICAgICAgICAgICAmbmJzcDtieSBkcmFnZ2luZyAmYW1wOyBkcm9wcGluZywmbmJzcDtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiYnRuLWxpbmtcIj5zZWxlY3RpbmcgdGhlbTwvc3Bhbj4sJm5ic3A7XG4gICAgICAgICAgICAgIG9yIHBhc3RpbmcgZnJvbSB0aGUgY2xpcGJvYXJkLlxuICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgKVxuICAgICAgICB9XG5cbiAgICAgICAgeyB0aGlzLnJlbmRlckNoZWF0c2hlZXRNb2RhbCgpIH1cblxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuXG59XG5cbkVkaXRvci5wcm9wVHlwZXMgPSBPYmplY3QuYXNzaWduKHtcbiAgbm9DZG46IFByb3BUeXBlcy5ib29sLFxuICBpc01vYmlsZTogUHJvcFR5cGVzLmJvb2wsXG4gIGlzVXBsb2FkYWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gIGlzVXBsb2FkYWJsZUZpbGU6IFByb3BUeXBlcy5ib29sLFxuICBlbW9qaVN0cmF0ZWd5OiBQcm9wVHlwZXMub2JqZWN0LFxuICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gIG9uVXBsb2FkOiBQcm9wVHlwZXMuZnVuYyxcbn0sIEFic3RyYWN0RWRpdG9yLnByb3BUeXBlcyk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBRUE7Ozs7QUFNQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU9BO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBSUE7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBSUE7QUFBQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQU1BO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFQQTtBQVVBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFNQTtBQUNBO0FBQUE7QUFPQTtBQUFBO0FBR0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTkE7QUFnQkE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUhBO0FBV0E7QUFNQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBSEE7QUFLQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBRUE7QUFBQTtBQVlBO0FBQ0E7QUF0VkE7QUF5VkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVBBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/PageEditor/Editor.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageEditor/EditorIcon.jsx":
- /*!************************************************************!*\
- !*** ./src/client/js/components/PageEditor/EditorIcon.jsx ***!
- \************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* eslint-disable max-len */\n\n\n\nconst EditorIcon = props => {\n switch (props.icon) {\n case 'Bold':\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n height: \"30\",\n viewBox: \"0 0 30 30\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"rect\", {\n fillOpacity: \"0\",\n width: \"30\",\n height: \"30\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M9.71,21.14V8.86A.84.84,0,0,1,10.59,8h4.46c2.41,0,4.05,1.41,4.05,3.52a3.17,3.17,0,0,1-2.44,3.08v.07a3.39,3.39,0,0,1,3.15,3.47c0,2.48-1.78,4-4.78,4H10.59A.84.84,0,0,1,9.71,21.14ZM14.11,14c2.08,0,3.21-.83,3.21-2.36s-1-2.16-2.67-2.16H11.47V14Zm.66,6.46c2.12,0,3.23-.86,3.23-2.49s-1.15-2.46-3.4-2.46H11.47v4.95Z\"\n }));\n\n case 'Italic':\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n height: \"30\",\n viewBox: \"0 0 30 30\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"rect\", {\n fillOpacity: \"0\",\n width: \"30\",\n height: \"30\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M18.55,8a.48.48,0,0,1,.45.5.45.45,0,0,1-.39.5H16.75L14.51,21h1.62a.45.45,0,0,1,.46.5.47.47,0,0,1-.54.5h-4.6a.53.53,0,0,1-.47-.5.47.47,0,0,1,.48-.5h2L15.83,9H14a.52.52,0,0,1-.5-.5A.51.51,0,0,1,14,8Z\"\n }));\n\n case 'Strikethrough':\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n height: \"30\",\n viewBox: \"0 0 30 30\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"rect\", {\n fillOpacity: \"0\",\n width: \"30\",\n height: \"30\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M22.5,14H7.5a.47.47,0,0,0-.5.5.46.46,0,0,0,.5.5h15a.5.5,0,0,0,0-1Z\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M18,17a2.21,2.21,0,0,1,.6,1.88c-.07.51-.53,2.18-3.31,2.18a5.35,5.35,0,0,1-4.21-1.76L11,18.5c-.05-.3-.21-.5-.5-.5s-.45.17-.5.5v1A5.79,5.79,0,0,0,15,22c3.75,0,4.41-2.11,4.53-2.53A3.12,3.12,0,0,0,19.28,17Z\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M12.21,13h1.91c-1.27-.44-2.37-1.52-2.1-2.5.18-.65,1-1.59,3.27-1.59a4.21,4.21,0,0,1,3.44,1.41l.07.37a.55.55,0,1,0,1.08-.19l-.09-.5-.08-.2A6.28,6.28,0,0,0,15,8c-3.11,0-3.95,1.74-4,2.33A2.32,2.32,0,0,0,12.21,13Z\"\n }));\n\n case 'Heading':\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n height: \"30\",\n viewBox: \"0 0 30 30\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"rect\", {\n fillOpacity: \"0\",\n width: \"30\",\n height: \"30\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M10,21V9.11a.61.61,0,1,1,1.22,0v5.24h7.55V9.11a.59.59,0,0,1,.62-.64.58.58,0,0,1,.61.64V21a.58.58,0,0,1-.61.63.59.59,0,0,1-.62-.63V15.46H11.22V21A.61.61,0,1,1,10,21Z\"\n }));\n\n case 'InlineCode':\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n height: \"30\",\n viewBox: \"0 0 30 30\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"rect\", {\n fillOpacity: \"0\",\n width: \"30\",\n height: \"30\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M11,19.57a.54.54,0,0,1-.36-.14L7.05,15.79a.49.49,0,0,1,0-.67l4.09-5a.5.5,0,0,1,.71-.07.5.5,0,0,1,.07.7L8.08,15.41l3.31,3.31a.5.5,0,0,1,0,.71A.54.54,0,0,1,11,19.57Z\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M18.5,20a.51.51,0,0,1-.32-.12.5.5,0,0,1-.07-.7l3.81-4.63-3.36-3.36a.5.5,0,0,1,0-.71.51.51,0,0,1,.71,0L23,14.21a.49.49,0,0,1,0,.67l-4.09,5A.52.52,0,0,1,18.5,20Z\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M13,21.5a.41.41,0,0,1-.16,0,.5.5,0,0,1-.32-.63l4-12a.5.5,0,0,1,.63-.31.49.49,0,0,1,.32.63l-4,12A.49.49,0,0,1,13,21.5Z\"\n }));\n\n case 'Quote':\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n height: \"30\",\n viewBox: \"0 0 30 30\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"rect\", {\n fillOpacity: \"0\",\n width: \"30\",\n height: \"30\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M11.5,14h9a.5.5,0,0,1,.5.5h0a.5.5,0,0,1-.5.5h-9a.5.5,0,0,1-.5-.5h0A.5.5,0,0,1,11.5,14Z\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M8.5,9h11a.5.5,0,0,1,.5.5h0a.5.5,0,0,1-.5.5H8.5A.5.5,0,0,1,8,9.5H8A.5.5,0,0,1,8.5,9Z\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M11.5,19h7a.5.5,0,0,1,.5.5h0a.5.5,0,0,1-.5.5h-7a.5.5,0,0,1-.5-.5h0A.5.5,0,0,1,11.5,19Z\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M8,20.5v-8a.5.5,0,0,1,.5-.5h0a.5.5,0,0,1,.5.5v8a.5.5,0,0,1-.5.5h0A.5.5,0,0,1,8,20.5Z\"\n }));\n\n case 'List':\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n height: \"30\",\n viewBox: \"0 0 30 30\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"rect\", {\n fillOpacity: \"0\",\n width: \"30\",\n height: \"30\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n cx: \"8.5\",\n cy: \"9.5\",\n r: \"1\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n cx: \"8.5\",\n cy: \"14.5\",\n r: \"1\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"circle\", {\n cx: \"8.5\",\n cy: \"19.5\",\n r: \"1\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M11.5,9h10a.5.5,0,0,1,.5.5h0a.5.5,0,0,1-.5.5h-10a.5.5,0,0,1-.5-.5h0A.5.5,0,0,1,11.5,9Z\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M11.5,14h10a.5.5,0,0,1,.5.5h0a.5.5,0,0,1-.5.5h-10a.5.5,0,0,1-.5-.5h0A.5.5,0,0,1,11.5,14Z\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M11.5,19h10a.5.5,0,0,1,.5.5h0a.5.5,0,0,1-.5.5h-10a.5.5,0,0,1-.5-.5h0A.5.5,0,0,1,11.5,19Z\"\n }));\n\n case 'NumberedList':\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n height: \"30\",\n viewBox: \"0 0 30 30\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"rect\", {\n fillOpacity: \"0\",\n width: \"30\",\n height: \"30\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M11.5,9h10a.5.5,0,0,1,.5.5h0a.5.5,0,0,1-.5.5h-10a.5.5,0,0,1-.5-.5h0A.5.5,0,0,1,11.5,9Z\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M11.5,19h10a.5.5,0,0,1,.5.5h0a.5.5,0,0,1-.5.5h-10a.5.5,0,0,1-.5-.5h0A.5.5,0,0,1,11.5,19Z\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M11.5,14h10a.5.5,0,0,1,.5.5h0a.5.5,0,0,1-.5.5h-10a.5.5,0,0,1-.5-.5h0A.5.5,0,0,1,11.5,14Z\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M7.44,12h.85V8.62L7.58,9h-.1a.24.24,0,0,1-.29-.19.25.25,0,0,1,.19-.3l.83-.41A.77.77,0,0,1,8.5,8h.08a.29.29,0,0,1,.29.27V12H9.6a.27.27,0,1,1,.1.53H7.44a.27.27,0,0,1,0-.53Z\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M7.61,17.13a.26.26,0,0,1-.26.26h0c-.14,0-.27-.09-.26-.32v-.4a.48.48,0,0,1,.27-.42,1.93,1.93,0,0,1,1-.25,1.3,1.3,0,0,1,1.42,1.15v.22a2.54,2.54,0,0,1-1,1.74l-1,.94H9.58a.27.27,0,0,1,0,.53H7.32A.32.32,0,0,1,7,20.26v0a.47.47,0,0,1,.2-.34l1.2-1.17a2.12,2.12,0,0,0,.79-1.36.8.8,0,0,0-.75-.85H8.35a1.32,1.32,0,0,0-.7.2Z\"\n }));\n\n case 'CheckList':\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n height: \"30\",\n viewBox: \"0 0 30 30\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"rect\", {\n fillOpacity: \"0\",\n width: \"30\",\n height: \"30\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M20.5,12.5a.57.57,0,0,1,.5.5v8a1.17,1.17,0,0,1-1,1H10a1.28,1.28,0,0,1-1-1V11a1.28,1.28,0,0,1,1-1h6a.57.57,0,0,1,.5.5.57.57,0,0,1-.5.5H10V21H20V13A.58.58,0,0,1,20.5,12.5ZM12,15.25a.41.41,0,0,0,0,.58L14,18a.78.78,0,0,0,1,0l5.9-9c.09-.16.09-.5-.16-.58a.41.41,0,0,0-.58.08L14.5,17.16l-1.91-1.91A.41.41,0,0,0,12,15.25Z\"\n }));\n\n case 'Link':\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n height: \"30\",\n viewBox: \"0 0 30 30\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"rect\", {\n fillOpacity: \"0\",\n width: \"30\",\n height: \"30\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M12.12,18a.29.29,0,0,0,.43,0l5.3-5.3c.07-.08.3-.25.06-.51a.32.32,0,0,0-.53,0l-5.22,5.28C12.09,17.57,11.85,17.73,12.12,18Zm2.34-.9a1.74,1.74,0,0,1,0,1,3.69,3.69,0,0,1-.43.78L12.2,20.5a1.69,1.69,0,0,1-1.31.61A1.77,1.77,0,0,1,9.5,20.5a1.65,1.65,0,0,1-.61-1.31A1.74,1.74,0,0,1,9.5,17.8L11.15,16a1.74,1.74,0,0,1,1.92-.43l.69-.7a2.67,2.67,0,0,0-1.21-.26,2.89,2.89,0,0,0-2,.78L8.89,17.19a2.8,2.8,0,0,0-.09,3.92l0,0a2.62,2.62,0,0,0,2.05.83,2.79,2.79,0,0,0,2-.87l1.74-1.66A3.93,3.93,0,0,0,15.42,18a2.56,2.56,0,0,0-.26-1.56Zm6.61-8.18a2.11,2.11,0,0,0-.87-.69,2.69,2.69,0,0,0-3,.69l-1.83,1.66a2.68,2.68,0,0,0-.78,1.56,2.72,2.72,0,0,0,.26,1.66l.69-.7a2,2,0,0,1,0-1,2,2,0,0,1,.44-1l1.83-1.66L18,9.27l.35-.17.34-.18h.44a1.67,1.67,0,0,1,1.3.61,1.74,1.74,0,0,1,.61,1.4,1.62,1.62,0,0,1-.61,1.3l-1.74,1.83-.6.35a1.37,1.37,0,0,1-.79.17H17l-.69.7a8.58,8.58,0,0,0,1,.22,2.9,2.9,0,0,0,1.21-.22l.87-.61,1.74-1.83a2.6,2.6,0,0,0,.23-3.69Z\"\n }));\n\n case 'Image':\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n height: \"30\",\n viewBox: \"0 0 30 30\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"rect\", {\n fillOpacity: \"0\",\n width: \"30\",\n height: \"30\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M22,8H8A1,1,0,0,0,7,9V21a1,1,0,0,0,1,1H22a1,1,0,0,0,1-1V9A1,1,0,0,0,22,8Zm0,13H8V18l4.07-4.06,4.07,4a.41.41,0,0,0,.33.18.4.4,0,0,0,.32-.18l1.7-1.55,3.17,3.25L22,20Zm0-2.25-3.1-3.34a.89.89,0,0,0-.33-.17.89.89,0,0,0-.28.14l-1.83,1.49-4-3.9a.49.49,0,0,0-.32-.16.5.5,0,0,0-.41.16L8,16.75V9H22ZM19.5,12.5a1,1,0,1,1-1-1A1,1,0,0,1,19.5,12.5Z\"\n }));\n\n case 'Grid':\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"30\",\n height: \"30\",\n viewBox: \"0 0 30 30\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"rect\", {\n width: \"30\",\n height: \"30\",\n fill: \"none\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n transform: \"translate(-375 -415)\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n transform: \"translate(382 422)\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M5,7H1A.945.945,0,0,1,0,6V1A.945.945,0,0,1,1,0H5A.945.945,0,0,1,6,1V6A.945.945,0,0,1,5,7ZM1,1V6H5V1ZM1,.5V1H1Z\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n transform: \"translate(390 422)\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M7,7H1A.945.945,0,0,1,0,6V1A.945.945,0,0,1,1,0H7A.945.945,0,0,1,8,1V6A.945.945,0,0,1,7,7ZM1,1V6H7V1ZM1,.5V1H1Z\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n transform: \"translate(382 431)\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M9,7H1A.945.945,0,0,1,0,6V1A.945.945,0,0,1,1,0H9a.945.945,0,0,1,1,1V6A.945.945,0,0,1,9,7ZM1,1V6H9V1ZM1,.5V1H1Z\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"g\", {\n transform: \"translate(394 431)\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M3,7H1A.945.945,0,0,1,0,6V1A.945.945,0,0,1,1,0H3A.945.945,0,0,1,4,1V6A.945.945,0,0,1,3,7ZM1,1V6H3V1ZM1,.5V1H1Z\"\n }))));\n\n case 'Table':\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n height: \"30\",\n viewBox: \"0 0 30 30\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"rect\", {\n fillOpacity: \"0\",\n width: \"30\",\n height: \"30\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M8,22a1,1,0,0,1-1-1V9A1,1,0,0,1,8,8H22c1,0,1,.47,1,1V21a1,1,0,0,1-1,1Zm10-4v3h4V18Zm-5,0v3h4V18ZM8,18v3h4V18Zm10-4v3h4V14Zm-5,0v3h4V14ZM8,14v3h4V14Zm10-4v3h4V10Zm-5,0v3h4V10ZM8,10v3h4V10Z\"\n }));\n\n case 'Drawio':\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n height: \"30\",\n viewBox: \"0 0 30 30\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"rect\", {\n fillOpacity: \"0\",\n width: \"30\",\n height: \"30\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M22.12,17H19.75l-3.12-4H18a1,1,0,0,0,1-1V8a1,1,0,0,0-1-1H12a1,1,0,0,0-1,1v4a1,1,0,0,0,1,1h1.38l-2.92,4H7.88A.94.94,0,0,0,7,18v4a.94.94,0,0,0,.88,1h5.24A.94.94,0,0,0,14,22V18a.94.94,0,0,0-.88-1H11.63l3.13-4h.47l3.13,4H16.88A.94.94,0,0,0,16,18v4a.94.94,0,0,0,.88,1h5.24A.94.94,0,0,0,23,22V18A.94.94,0,0,0,22.12,17ZM13,22H8V18h5ZM12,8h6v4H12ZM22,22H17V18h5Z\"\n }));\n // Unused icon\n // case 'attachment':\n // return (\n // <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"30\" viewBox=\"0 0 30 30\">\n // <rect fillOpacity=\"0\" width=\"30\" height=\"30\" />\n // <path d=\"M9.71,22.5a2.57,2.57,0,0,1-1.85-.79,2.79,2.79,0,0,1,0-4l9-9.23a3.21,3.21,0,0,1,1.59-.87,3.39,3.39,0,0,1,1.81.1,4.38,4.38,0,0,1,1.7,1.05,4.15,4.15,0,0,1,.46.56,3.73,3.73,0,0,1,.35.65,4.25,4.25,0,0,1,.2.72,3.91,3.91,0,0,1,.07.76,3.71,3.71,0,0,1-1.12,2.67l-6.79,7a.48.48,0,0,1-.34.16.51.51,0,0,1-.35-.13.48.48,0,0,1,0-.7l6.78-7a2.8,2.8,0,0,0,.84-2,2.58,2.58,0,0,0-.79-2,3.63,3.63,0,0,0-1.11-.75,2.41,2.41,0,0,0-1.31-.17,2.19,2.19,0,0,0-1.25.62l-9,9.22A1.8,1.8,0,0,0,8,19.69,1.78,1.78,0,0,0,8.58,21a1.81,1.81,0,0,0,.57.39,1.48,1.48,0,0,0,.66.1,2,2,0,0,0,1.28-.62l7.12-7.35.15-.16a1.15,1.15,0,0,0,.15-.2.9.9,0,0,0,.12-.24,1.17,1.17,0,0,0,.07-.25.52.52,0,0,0-.05-.27.75.75,0,0,0-.19-.26.73.73,0,0,0-.58-.27,1.29,1.29,0,0,0-.67.38l-5.36,5.53a.5.5,0,0,1-.22.13.46.46,0,0,1-.26,0,.48.48,0,0,1-.22-.12A.41.41,0,0,1,11,17.5a.5.5,0,0,1,.14-.35L16.5,11.6a2.19,2.19,0,0,1,1.29-.67,1.69,1.69,0,0,1,1.37.55,1.54,1.54,0,0,1,.53,1.31,2.26,2.26,0,0,1-.76,1.42L11.8,21.58a3.06,3.06,0,0,1-2,.91H9.71Z\" />\n // </svg>\n // );\n }\n};\n\nEditorIcon.propTypes = {\n icon: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (EditorIcon);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci9FZGl0b3JJY29uLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9QYWdlRWRpdG9yL0VkaXRvckljb24uanN4PzMxMjkiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmNvbnN0IEVkaXRvckljb24gPSAocHJvcHMpID0+IHtcblxuICBzd2l0Y2ggKHByb3BzLmljb24pIHtcbiAgICBjYXNlICdCb2xkJzpcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjMwXCIgdmlld0JveD1cIjAgMCAzMCAzMFwiPlxuICAgICAgICAgIDxyZWN0IGZpbGxPcGFjaXR5PVwiMFwiIHdpZHRoPVwiMzBcIiBoZWlnaHQ9XCIzMFwiIC8+XG4gICAgICAgICAgPHBhdGggZD1cIk05LjcxLDIxLjE0VjguODZBLjg0Ljg0LDAsMCwxLDEwLjU5LDhoNC40NmMyLjQxLDAsNC4wNSwxLjQxLDQuMDUsMy41MmEzLjE3LDMuMTcsMCwwLDEtMi40NCwzLjA4di4wN2EzLjM5LDMuMzksMCwwLDEsMy4xNSwzLjQ3YzAsMi40OC0xLjc4LDQtNC43OCw0SDEwLjU5QS44NC44NCwwLDAsMSw5LjcxLDIxLjE0Wk0xNC4xMSwxNGMyLjA4LDAsMy4yMS0uODMsMy4yMS0yLjM2cy0xLTIuMTYtMi42Ny0yLjE2SDExLjQ3VjE0Wm0uNjYsNi40NmMyLjEyLDAsMy4yMy0uODYsMy4yMy0yLjQ5cy0xLjE1LTIuNDYtMy40LTIuNDZIMTEuNDd2NC45NVpcIiAvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgICk7XG4gICAgY2FzZSAnSXRhbGljJzpcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjMwXCIgdmlld0JveD1cIjAgMCAzMCAzMFwiPlxuICAgICAgICAgIDxyZWN0IGZpbGxPcGFjaXR5PVwiMFwiIHdpZHRoPVwiMzBcIiBoZWlnaHQ9XCIzMFwiIC8+XG4gICAgICAgICAgPHBhdGggZD1cIk0xOC41NSw4YS40OC40OCwwLDAsMSwuNDUuNS40NS40NSwwLDAsMS0uMzkuNUgxNi43NUwxNC41MSwyMWgxLjYyYS40NS40NSwwLDAsMSwuNDYuNS40Ny40NywwLDAsMS0uNTQuNWgtNC42YS41My41MywwLDAsMS0uNDctLjUuNDcuNDcsMCwwLDEsLjQ4LS41aDJMMTUuODMsOUgxNGEuNTIuNTIsMCwwLDEtLjUtLjVBLjUxLjUxLDAsMCwxLDE0LDhaXCIgLz5cbiAgICAgICAgPC9zdmc+XG4gICAgICApO1xuICAgIGNhc2UgJ1N0cmlrZXRocm91Z2gnOlxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMzBcIiB2aWV3Qm94PVwiMCAwIDMwIDMwXCI+XG4gICAgICAgICAgPHJlY3QgZmlsbE9wYWNpdHk9XCIwXCIgd2lkdGg9XCIzMFwiIGhlaWdodD1cIjMwXCIgLz5cbiAgICAgICAgICA8cGF0aCBkPVwiTTIyLjUsMTRINy41YS40Ny40NywwLDAsMC0uNS41LjQ2LjQ2LDAsMCwwLC41LjVoMTVhLjUuNSwwLDAsMCwwLTFaXCIgLz5cbiAgICAgICAgICA8cGF0aCBkPVwiTTE4LDE3YTIuMjEsMi4yMSwwLDAsMSwuNiwxLjg4Yy0uMDcuNTEtLjUzLDIuMTgtMy4zMSwyLjE4YTUuMzUsNS4zNSwwLDAsMS00LjIxLTEuNzZMMTEsMTguNWMtLjA1LS4zLS4yMS0uNS0uNS0uNXMtLjQ1LjE3LS41LjV2MUE1Ljc5LDUuNzksMCwwLDAsMTUsMjJjMy43NSwwLDQuNDEtMi4xMSw0LjUzLTIuNTNBMy4xMiwzLjEyLDAsMCwwLDE5LjI4LDE3WlwiIC8+XG4gICAgICAgICAgPHBhdGggZD1cIk0xMi4yMSwxM2gxLjkxYy0xLjI3LS40NC0yLjM3LTEuNTItMi4xLTIuNS4xOC0uNjUsMS0xLjU5LDMuMjctMS41OWE0LjIxLDQuMjEsMCwwLDEsMy40NCwxLjQxbC4wNy4zN2EuNTUuNTUsMCwxLDAsMS4wOC0uMTlsLS4wOS0uNS0uMDgtLjJBNi4yOCw2LjI4LDAsMCwwLDE1LDhjLTMuMTEsMC0zLjk1LDEuNzQtNCwyLjMzQTIuMzIsMi4zMiwwLDAsMCwxMi4yMSwxM1pcIiAvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgICk7XG4gICAgY2FzZSAnSGVhZGluZyc6XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIzMFwiIHZpZXdCb3g9XCIwIDAgMzAgMzBcIj5cbiAgICAgICAgICA8cmVjdCBmaWxsT3BhY2l0eT1cIjBcIiB3aWR0aD1cIjMwXCIgaGVpZ2h0PVwiMzBcIiAvPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMTAsMjFWOS4xMWEuNjEuNjEsMCwxLDEsMS4yMiwwdjUuMjRoNy41NVY5LjExYS41OS41OSwwLDAsMSwuNjItLjY0LjU4LjU4LDAsMCwxLC42MS42NFYyMWEuNTguNTgsMCwwLDEtLjYxLjYzLjU5LjU5LDAsMCwxLS42Mi0uNjNWMTUuNDZIMTEuMjJWMjFBLjYxLjYxLDAsMSwxLDEwLDIxWlwiIC8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgKTtcbiAgICBjYXNlICdJbmxpbmVDb2RlJzpcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjMwXCIgdmlld0JveD1cIjAgMCAzMCAzMFwiPlxuICAgICAgICAgIDxyZWN0IGZpbGxPcGFjaXR5PVwiMFwiIHdpZHRoPVwiMzBcIiBoZWlnaHQ9XCIzMFwiIC8+XG4gICAgICAgICAgPHBhdGggZD1cIk0xMSwxOS41N2EuNTQuNTQsMCwwLDEtLjM2LS4xNEw3LjA1LDE1Ljc5YS40OS40OSwwLDAsMSwwLS42N2w0LjA5LTVhLjUuNSwwLDAsMSwuNzEtLjA3LjUuNSwwLDAsMSwuMDcuN0w4LjA4LDE1LjQxbDMuMzEsMy4zMWEuNS41LDAsMCwxLDAsLjcxQS41NC41NCwwLDAsMSwxMSwxOS41N1pcIiAvPjxwYXRoIGQ9XCJNMTguNSwyMGEuNTEuNTEsMCwwLDEtLjMyLS4xMi41LjUsMCwwLDEtLjA3LS43bDMuODEtNC42My0zLjM2LTMuMzZhLjUuNSwwLDAsMSwwLS43MS41MS41MSwwLDAsMSwuNzEsMEwyMywxNC4yMWEuNDkuNDksMCwwLDEsMCwuNjdsLTQuMDksNUEuNTIuNTIsMCwwLDEsMTguNSwyMFpcIiAvPjxwYXRoIGQ9XCJNMTMsMjEuNWEuNDEuNDEsMCwwLDEtLjE2LDAsLjUuNSwwLDAsMS0uMzItLjYzbDQtMTJhLjUuNSwwLDAsMSwuNjMtLjMxLjQ5LjQ5LDAsMCwxLC4zMi42M2wtNCwxMkEuNDkuNDksMCwwLDEsMTMsMjEuNVpcIiAvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgICk7XG4gICAgY2FzZSAnUXVvdGUnOlxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMzBcIiB2aWV3Qm94PVwiMCAwIDMwIDMwXCI+XG4gICAgICAgICAgPHJlY3QgZmlsbE9wYWNpdHk9XCIwXCIgd2lkdGg9XCIzMFwiIGhlaWdodD1cIjMwXCIgLz5cbiAgICAgICAgICA8cGF0aCBkPVwiTTExLjUsMTRoOWEuNS41LDAsMCwxLC41LjVoMGEuNS41LDAsMCwxLS41LjVoLTlhLjUuNSwwLDAsMS0uNS0uNWgwQS41LjUsMCwwLDEsMTEuNSwxNFpcIiAvPjxwYXRoIGQ9XCJNOC41LDloMTFhLjUuNSwwLDAsMSwuNS41aDBhLjUuNSwwLDAsMS0uNS41SDguNUEuNS41LDAsMCwxLDgsOS41SDhBLjUuNSwwLDAsMSw4LjUsOVpcIiAvPjxwYXRoIGQ9XCJNMTEuNSwxOWg3YS41LjUsMCwwLDEsLjUuNWgwYS41LjUsMCwwLDEtLjUuNWgtN2EuNS41LDAsMCwxLS41LS41aDBBLjUuNSwwLDAsMSwxMS41LDE5WlwiIC8+PHBhdGggZD1cIk04LDIwLjV2LThhLjUuNSwwLDAsMSwuNS0uNWgwYS41LjUsMCwwLDEsLjUuNXY4YS41LjUsMCwwLDEtLjUuNWgwQS41LjUsMCwwLDEsOCwyMC41WlwiIC8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgKTtcbiAgICBjYXNlICdMaXN0JzpcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjMwXCIgdmlld0JveD1cIjAgMCAzMCAzMFwiPlxuICAgICAgICAgIDxyZWN0IGZpbGxPcGFjaXR5PVwiMFwiIHdpZHRoPVwiMzBcIiBoZWlnaHQ9XCIzMFwiIC8+XG4gICAgICAgICAgPGNpcmNsZSBjeD1cIjguNVwiIGN5PVwiOS41XCIgcj1cIjFcIiAvPjxjaXJjbGUgY3g9XCI4LjVcIiBjeT1cIjE0LjVcIiByPVwiMVwiIC8+PGNpcmNsZSBjeD1cIjguNVwiIGN5PVwiMTkuNVwiIHI9XCIxXCIgLz48cGF0aCBkPVwiTTExLjUsOWgxMGEuNS41LDAsMCwxLC41LjVoMGEuNS41LDAsMCwxLS41LjVoLTEwYS41LjUsMCwwLDEtLjUtLjVoMEEuNS41LDAsMCwxLDExLjUsOVpcIiAvPjxwYXRoIGQ9XCJNMTEuNSwxNGgxMGEuNS41LDAsMCwxLC41LjVoMGEuNS41LDAsMCwxLS41LjVoLTEwYS41LjUsMCwwLDEtLjUtLjVoMEEuNS41LDAsMCwxLDExLjUsMTRaXCIgLz48cGF0aCBkPVwiTTExLjUsMTloMTBhLjUuNSwwLDAsMSwuNS41aDBhLjUuNSwwLDAsMS0uNS41aC0xMGEuNS41LDAsMCwxLS41LS41aDBBLjUuNSwwLDAsMSwxMS41LDE5WlwiIC8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgKTtcbiAgICBjYXNlICdOdW1iZXJlZExpc3QnOlxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMzBcIiB2aWV3Qm94PVwiMCAwIDMwIDMwXCI+XG4gICAgICAgICAgPHJlY3QgZmlsbE9wYWNpdHk9XCIwXCIgd2lkdGg9XCIzMFwiIGhlaWdodD1cIjMwXCIgLz5cbiAgICAgICAgICA8cGF0aCBkPVwiTTExLjUsOWgxMGEuNS41LDAsMCwxLC41LjVoMGEuNS41LDAsMCwxLS41LjVoLTEwYS41LjUsMCwwLDEtLjUtLjVoMEEuNS41LDAsMCwxLDExLjUsOVpcIiAvPjxwYXRoIGQ9XCJNMTEuNSwxOWgxMGEuNS41LDAsMCwxLC41LjVoMGEuNS41LDAsMCwxLS41LjVoLTEwYS41LjUsMCwwLDEtLjUtLjVoMEEuNS41LDAsMCwxLDExLjUsMTlaXCIgLz48cGF0aCBkPVwiTTExLjUsMTRoMTBhLjUuNSwwLDAsMSwuNS41aDBhLjUuNSwwLDAsMS0uNS41aC0xMGEuNS41LDAsMCwxLS41LS41aDBBLjUuNSwwLDAsMSwxMS41LDE0WlwiIC8+PHBhdGggZD1cIk03LjQ0LDEyaC44NVY4LjYyTDcuNTgsOWgtLjFhLjI0LjI0LDAsMCwxLS4yOS0uMTkuMjUuMjUsMCwwLDEsLjE5LS4zbC44My0uNDFBLjc3Ljc3LDAsMCwxLDguNSw4aC4wOGEuMjkuMjksMCwwLDEsLjI5LjI3VjEySDkuNmEuMjcuMjcsMCwxLDEsLjEuNTNINy40NGEuMjcuMjcsMCwwLDEsMC0uNTNaXCIgLz48cGF0aCBkPVwiTTcuNjEsMTcuMTNhLjI2LjI2LDAsMCwxLS4yNi4yNmgwYy0uMTQsMC0uMjctLjA5LS4yNi0uMzJ2LS40YS40OC40OCwwLDAsMSwuMjctLjQyLDEuOTMsMS45MywwLDAsMSwxLS4yNSwxLjMsMS4zLDAsMCwxLDEuNDIsMS4xNXYuMjJhMi41NCwyLjU0LDAsMCwxLTEsMS43NGwtMSwuOTRIOS41OGEuMjcuMjcsMCwwLDEsMCwuNTNINy4zMkEuMzIuMzIsMCwwLDEsNywyMC4yNnYwYS40Ny40NywwLDAsMSwuMi0uMzRsMS4yLTEuMTdhMi4xMiwyLjEyLDAsMCwwLC43OS0xLjM2LjguOCwwLDAsMC0uNzUtLjg1SDguMzVhMS4zMiwxLjMyLDAsMCwwLS43LjJaXCIgLz5cbiAgICAgICAgPC9zdmc+XG4gICAgICApO1xuICAgIGNhc2UgJ0NoZWNrTGlzdCc6XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIzMFwiIHZpZXdCb3g9XCIwIDAgMzAgMzBcIj5cbiAgICAgICAgICA8cmVjdCBmaWxsT3BhY2l0eT1cIjBcIiB3aWR0aD1cIjMwXCIgaGVpZ2h0PVwiMzBcIiAvPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMjAuNSwxMi41YS41Ny41NywwLDAsMSwuNS41djhhMS4xNywxLjE3LDAsMCwxLTEsMUgxMGExLjI4LDEuMjgsMCwwLDEtMS0xVjExYTEuMjgsMS4yOCwwLDAsMSwxLTFoNmEuNTcuNTcsMCwwLDEsLjUuNS41Ny41NywwLDAsMS0uNS41SDEwVjIxSDIwVjEzQS41OC41OCwwLDAsMSwyMC41LDEyLjVaTTEyLDE1LjI1YS40MS40MSwwLDAsMCwwLC41OEwxNCwxOGEuNzguNzgsMCwwLDAsMSwwbDUuOS05Yy4wOS0uMTYuMDktLjUtLjE2LS41OGEuNDEuNDEsMCwwLDAtLjU4LjA4TDE0LjUsMTcuMTZsLTEuOTEtMS45MUEuNDEuNDEsMCwwLDAsMTIsMTUuMjVaXCIgLz5cbiAgICAgICAgPC9zdmc+XG4gICAgICApO1xuICAgIGNhc2UgJ0xpbmsnOlxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMzBcIiB2aWV3Qm94PVwiMCAwIDMwIDMwXCI+XG4gICAgICAgICAgPHJlY3QgZmlsbE9wYWNpdHk9XCIwXCIgd2lkdGg9XCIzMFwiIGhlaWdodD1cIjMwXCIgLz5cbiAgICAgICAgICA8cGF0aCBkPVwiTTEyLjEyLDE4YS4yOS4yOSwwLDAsMCwuNDMsMGw1LjMtNS4zYy4wNy0uMDguMy0uMjUuMDYtLjUxYS4zMi4zMiwwLDAsMC0uNTMsMGwtNS4yMiw1LjI4QzEyLjA5LDE3LjU3LDExLjg1LDE3LjczLDEyLjEyLDE4Wm0yLjM0LS45YTEuNzQsMS43NCwwLDAsMSwwLDEsMy42OSwzLjY5LDAsMCwxLS40My43OEwxMi4yLDIwLjVhMS42OSwxLjY5LDAsMCwxLTEuMzEuNjFBMS43NywxLjc3LDAsMCwxLDkuNSwyMC41YTEuNjUsMS42NSwwLDAsMS0uNjEtMS4zMUExLjc0LDEuNzQsMCwwLDEsOS41LDE3LjhMMTEuMTUsMTZhMS43NCwxLjc0LDAsMCwxLDEuOTItLjQzbC42OS0uN2EyLjY3LDIuNjcsMCwwLDAtMS4yMS0uMjYsMi44OSwyLjg5LDAsMCwwLTIsLjc4TDguODksMTcuMTlhMi44LDIuOCwwLDAsMC0uMDksMy45MmwwLDBhMi42MiwyLjYyLDAsMCwwLDIuMDUuODMsMi43OSwyLjc5LDAsMCwwLDItLjg3bDEuNzQtMS42NkEzLjkzLDMuOTMsMCwwLDAsMTUuNDIsMThhMi41NiwyLjU2LDAsMCwwLS4yNi0xLjU2Wm02LjYxLTguMThhMi4xMSwyLjExLDAsMCwwLS44Ny0uNjksMi42OSwyLjY5LDAsMCwwLTMsLjY5bC0xLjgzLDEuNjZhMi42OCwyLjY4LDAsMCwwLS43OCwxLjU2LDIuNzIsMi43MiwwLDAsMCwuMjYsMS42NmwuNjktLjdhMiwyLDAsMCwxLDAtMSwyLDIsMCwwLDEsLjQ0LTFsMS44My0xLjY2TDE4LDkuMjdsLjM1LS4xNy4zNC0uMThoLjQ0YTEuNjcsMS42NywwLDAsMSwxLjMuNjEsMS43NCwxLjc0LDAsMCwxLC42MSwxLjQsMS42MiwxLjYyLDAsMCwxLS42MSwxLjNsLTEuNzQsMS44My0uNi4zNWExLjM3LDEuMzcsMCwwLDEtLjc5LjE3SDE3bC0uNjkuN2E4LjU4LDguNTgsMCwwLDAsMSwuMjIsMi45LDIuOSwwLDAsMCwxLjIxLS4yMmwuODctLjYxLDEuNzQtMS44M2EyLjYsMi42LDAsMCwwLC4yMy0zLjY5WlwiIC8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgKTtcbiAgICBjYXNlICdJbWFnZSc6XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIzMFwiIHZpZXdCb3g9XCIwIDAgMzAgMzBcIj5cbiAgICAgICAgICA8cmVjdCBmaWxsT3BhY2l0eT1cIjBcIiB3aWR0aD1cIjMwXCIgaGVpZ2h0PVwiMzBcIiAvPlxuICAgICAgICAgIDxwYXRoIGQ9XCJNMjIsOEg4QTEsMSwwLDAsMCw3LDlWMjFhMSwxLDAsMCwwLDEsMUgyMmExLDEsMCwwLDAsMS0xVjlBMSwxLDAsMCwwLDIyLDhabTAsMTNIOFYxOGw0LjA3LTQuMDYsNC4wNyw0YS40MS40MSwwLDAsMCwuMzMuMTguNC40LDAsMCwwLC4zMi0uMThsMS43LTEuNTUsMy4xNywzLjI1TDIyLDIwWm0wLTIuMjUtMy4xLTMuMzRhLjg5Ljg5LDAsMCwwLS4zMy0uMTcuODkuODksMCwwLDAtLjI4LjE0bC0xLjgzLDEuNDktNC0zLjlhLjQ5LjQ5LDAsMCwwLS4zMi0uMTYuNS41LDAsMCwwLS40MS4xNkw4LDE2Ljc1VjlIMjJaTTE5LjUsMTIuNWExLDEsMCwxLDEtMS0xQTEsMSwwLDAsMSwxOS41LDEyLjVaXCIgLz5cbiAgICAgICAgPC9zdmc+XG4gICAgICApO1xuICAgIGNhc2UgJ0dyaWQnOlxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzMFwiIGhlaWdodD1cIjMwXCIgdmlld0JveD1cIjAgMCAzMCAzMFwiPlxuICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMzBcIiBoZWlnaHQ9XCIzMFwiIGZpbGw9XCJub25lXCIgLz5cbiAgICAgICAgICA8ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTM3NSAtNDE1KVwiPlxuICAgICAgICAgICAgPGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDM4MiA0MjIpXCI+XG4gICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNSw3SDFBLjk0NS45NDUsMCwwLDEsMCw2VjFBLjk0NS45NDUsMCwwLDEsMSwwSDVBLjk0NS45NDUsMCwwLDEsNiwxVjZBLjk0NS45NDUsMCwwLDEsNSw3Wk0xLDFWNkg1VjFaTTEsLjVWMUgxWlwiIC8+XG4gICAgICAgICAgICA8L2c+XG4gICAgICAgICAgICA8ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMzkwIDQyMilcIj5cbiAgICAgICAgICAgICAgPHBhdGggZD1cIk03LDdIMUEuOTQ1Ljk0NSwwLDAsMSwwLDZWMUEuOTQ1Ljk0NSwwLDAsMSwxLDBIN0EuOTQ1Ljk0NSwwLDAsMSw4LDFWNkEuOTQ1Ljk0NSwwLDAsMSw3LDdaTTEsMVY2SDdWMVpNMSwuNVYxSDFaXCIgLz5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICAgIDxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgzODIgNDMxKVwiPlxuICAgICAgICAgICAgICA8cGF0aCBkPVwiTTksN0gxQS45NDUuOTQ1LDAsMCwxLDAsNlYxQS45NDUuOTQ1LDAsMCwxLDEsMEg5YS45NDUuOTQ1LDAsMCwxLDEsMVY2QS45NDUuOTQ1LDAsMCwxLDksN1pNMSwxVjZIOVYxWk0xLC41VjFIMVpcIiAvPlxuICAgICAgICAgICAgPC9nPlxuICAgICAgICAgICAgPGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDM5NCA0MzEpXCI+XG4gICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMyw3SDFBLjk0NS45NDUsMCwwLDEsMCw2VjFBLjk0NS45NDUsMCwwLDEsMSwwSDNBLjk0NS45NDUsMCwwLDEsNCwxVjZBLjk0NS45NDUsMCwwLDEsMyw3Wk0xLDFWNkgzVjFaTTEsLjVWMUgxWlwiIC8+XG4gICAgICAgICAgICA8L2c+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L3N2Zz5cbiAgICAgICk7XG4gICAgY2FzZSAnVGFibGUnOlxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMzBcIiB2aWV3Qm94PVwiMCAwIDMwIDMwXCI+XG4gICAgICAgICAgPHJlY3QgZmlsbE9wYWNpdHk9XCIwXCIgd2lkdGg9XCIzMFwiIGhlaWdodD1cIjMwXCIgLz5cbiAgICAgICAgICA8cGF0aCBkPVwiTTgsMjJhMSwxLDAsMCwxLTEtMVY5QTEsMSwwLDAsMSw4LDhIMjJjMSwwLDEsLjQ3LDEsMVYyMWExLDEsMCwwLDEtMSwxWm0xMC00djNoNFYxOFptLTUsMHYzaDRWMThaTTgsMTh2M2g0VjE4Wm0xMC00djNoNFYxNFptLTUsMHYzaDRWMTRaTTgsMTR2M2g0VjE0Wm0xMC00djNoNFYxMFptLTUsMHYzaDRWMTBaTTgsMTB2M2g0VjEwWlwiIC8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgKTtcbiAgICBjYXNlICdEcmF3aW8nOlxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMzBcIiB2aWV3Qm94PVwiMCAwIDMwIDMwXCI+XG4gICAgICAgICAgPHJlY3QgZmlsbE9wYWNpdHk9XCIwXCIgd2lkdGg9XCIzMFwiIGhlaWdodD1cIjMwXCIgLz5cbiAgICAgICAgICA8cGF0aCBkPVwiTTIyLjEyLDE3SDE5Ljc1bC0zLjEyLTRIMThhMSwxLDAsMCwwLDEtMVY4YTEsMSwwLDAsMC0xLTFIMTJhMSwxLDAsMCwwLTEsMXY0YTEsMSwwLDAsMCwxLDFoMS4zOGwtMi45Miw0SDcuODhBLjk0Ljk0LDAsMCwwLDcsMTh2NGEuOTQuOTQsMCwwLDAsLjg4LDFoNS4yNEEuOTQuOTQsMCwwLDAsMTQsMjJWMThhLjk0Ljk0LDAsMCwwLS44OC0xSDExLjYzbDMuMTMtNGguNDdsMy4xMyw0SDE2Ljg4QS45NC45NCwwLDAsMCwxNiwxOHY0YS45NC45NCwwLDAsMCwuODgsMWg1LjI0QS45NC45NCwwLDAsMCwyMywyMlYxOEEuOTQuOTQsMCwwLDAsMjIuMTIsMTdaTTEzLDIySDhWMThoNVpNMTIsOGg2djRIMTJaTTIyLDIySDE3VjE4aDVaXCIgLz5cbiAgICAgICAgPC9zdmc+XG4gICAgICApO1xuICAgIC8vIFVudXNlZCBpY29uXG4gICAgLy8gY2FzZSAnYXR0YWNobWVudCc6XG4gICAgLy8gICByZXR1cm4gKFxuICAgIC8vICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIzMFwiIHZpZXdCb3g9XCIwIDAgMzAgMzBcIj5cbiAgICAvLyAgICAgICA8cmVjdCBmaWxsT3BhY2l0eT1cIjBcIiB3aWR0aD1cIjMwXCIgaGVpZ2h0PVwiMzBcIiAvPlxuICAgIC8vICAgICAgIDxwYXRoIGQ9XCJNOS43MSwyMi41YTIuNTcsMi41NywwLDAsMS0xLjg1LS43OSwyLjc5LDIuNzksMCwwLDEsMC00bDktOS4yM2EzLjIxLDMuMjEsMCwwLDEsMS41OS0uODcsMy4zOSwzLjM5LDAsMCwxLDEuODEuMSw0LjM4LDQuMzgsMCwwLDEsMS43LDEuMDUsNC4xNSw0LjE1LDAsMCwxLC40Ni41NiwzLjczLDMuNzMsMCwwLDEsLjM1LjY1LDQuMjUsNC4yNSwwLDAsMSwuMi43MiwzLjkxLDMuOTEsMCwwLDEsLjA3Ljc2LDMuNzEsMy43MSwwLDAsMS0xLjEyLDIuNjdsLTYuNzksN2EuNDguNDgsMCwwLDEtLjM0LjE2LjUxLjUxLDAsMCwxLS4zNS0uMTMuNDguNDgsMCwwLDEsMC0uN2w2Ljc4LTdhMi44LDIuOCwwLDAsMCwuODQtMiwyLjU4LDIuNTgsMCwwLDAtLjc5LTIsMy42MywzLjYzLDAsMCwwLTEuMTEtLjc1LDIuNDEsMi40MSwwLDAsMC0xLjMxLS4xNywyLjE5LDIuMTksMCwwLDAtMS4yNS42MmwtOSw5LjIyQTEuOCwxLjgsMCwwLDAsOCwxOS42OSwxLjc4LDEuNzgsMCwwLDAsOC41OCwyMWExLjgxLDEuODEsMCwwLDAsLjU3LjM5LDEuNDgsMS40OCwwLDAsMCwuNjYuMSwyLDIsMCwwLDAsMS4yOC0uNjJsNy4xMi03LjM1LjE1LS4xNmExLjE1LDEuMTUsMCwwLDAsLjE1LS4yLjkuOSwwLDAsMCwuMTItLjI0LDEuMTcsMS4xNywwLDAsMCwuMDctLjI1LjUyLjUyLDAsMCwwLS4wNS0uMjcuNzUuNzUsMCwwLDAtLjE5LS4yNi43My43MywwLDAsMC0uNTgtLjI3LDEuMjksMS4yOSwwLDAsMC0uNjcuMzhsLTUuMzYsNS41M2EuNS41LDAsMCwxLS4yMi4xMy40Ni40NiwwLDAsMS0uMjYsMCwuNDguNDgsMCwwLDEtLjIyLS4xMkEuNDEuNDEsMCwwLDEsMTEsMTcuNWEuNS41LDAsMCwxLC4xNC0uMzVMMTYuNSwxMS42YTIuMTksMi4xOSwwLDAsMSwxLjI5LS42NywxLjY5LDEuNjksMCwwLDEsMS4zNy41NSwxLjU0LDEuNTQsMCwwLDEsLjUzLDEuMzEsMi4yNiwyLjI2LDAsMCwxLS43NiwxLjQyTDExLjgsMjEuNThhMy4wNiwzLjA2LDAsMCwxLTIsLjkxSDkuNzFaXCIgLz5cbiAgICAvLyAgICAgPC9zdmc+XG4gICAgLy8gKTtcblxuICB9XG5cblxufTtcblxuRWRpdG9ySWNvbi5wcm9wVHlwZXMgPSB7XG4gIGljb246IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEVkaXRvckljb247XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXpIQTtBQThIQTtBQUNBO0FBQ0E7QUFDQTtBQURBO0FBSUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/PageEditor/EditorIcon.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageEditor/EditorNavbarBottom.jsx":
- /*!********************************************************************!*\
- !*** ./src/client/js/components/PageEditor/EditorNavbarBottom.jsx ***!
- \********************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var reactstrap_es_Collapse__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! reactstrap/es/Collapse */ \"./node_modules/reactstrap/es/Collapse.js\");\n/* harmony import */ var reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! reactstrap/es/Button */ \"./node_modules/reactstrap/es/Button.js\");\n/* harmony import */ var _services_NavigationContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../services/NavigationContainer */ \"./src/client/js/services/NavigationContainer.js\");\n/* harmony import */ var _services_EditorContainer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../services/EditorContainer */ \"./src/client/js/services/EditorContainer.js\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _SlackNotification__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../SlackNotification */ \"./src/client/js/components/SlackNotification.jsx\");\n/* harmony import */ var _SlackLogo__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../SlackLogo */ \"./src/client/js/components/SlackLogo.jsx\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _SavePageControls__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../SavePageControls */ \"./src/client/js/components/SavePageControls.jsx\");\n/* harmony import */ var _OptionsSelector__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./OptionsSelector */ \"./src/client/js/components/PageEditor/OptionsSelector.jsx\");\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst EditorNavbarBottom = props => {\n const [isExpanded, setExpanded] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(false);\n const [isSlackExpanded, setSlackExpanded] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(false);\n const hasSlackConfig = props.appContainer.getConfig().hasSlackConfig;\n const {\n navigationContainer\n } = props;\n const {\n editorMode,\n isDeviceSmallerThanMd\n } = navigationContainer.state;\n const additionalClasses = ['grw-editor-navbar-bottom'];\n\n const renderDrawerButton = () => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-outline-secondary border-0\",\n onClick: () => navigationContainer.toggleDrawer()\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-menu\"\n }));\n\n const slackEnabledFlagChangedHandler = isSlackEnabled => {\n props.editorContainer.setState({\n isSlackEnabled\n });\n };\n\n const slackChannelsChangedHandler = slackChannels => {\n props.editorContainer.setState({\n slackChannels\n });\n }; // eslint-disable-next-line react/prop-types\n\n\n const renderExpandButton = () => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"d-md-none ml-2\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: `btn btn-outline-secondary btn-expand border-0 ${isExpanded ? 'expand' : ''}`,\n onClick: () => setExpanded(!isExpanded)\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-arrow-up\"\n })));\n\n const isOptionsSelectorEnabled = editorMode !== 'hackmd';\n const isCollapsedOptionsSelectorEnabled = isOptionsSelectorEnabled && isDeviceSmallerThanMd;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: `${isCollapsedOptionsSelectorEnabled ? 'fixed-bottom' : ''} `\n }, hasSlackConfig && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Collapse__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n isOpen: isSlackExpanded && isDeviceSmallerThanMd\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"nav\", {\n className: `navbar navbar-expand-lg border-top ${additionalClasses.join(' ')}`\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SlackNotification__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n isSlackEnabled: props.editorContainer.state.isSlackEnabled,\n slackChannels: props.editorContainer.state.slackChannels,\n onEnabledFlagChange: slackEnabledFlagChangedHandler,\n onChannelChange: slackChannelsChangedHandler,\n id: \"idForEditorNavbarBottomForMobile\",\n popUp: true\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: `navbar navbar-expand border-top px-2 px-md-3 ${additionalClasses.join(' ')}`\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"form\", {\n className: \"form-inline\"\n }, isDeviceSmallerThanMd && renderDrawerButton(), isOptionsSelectorEnabled && !isDeviceSmallerThanMd && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_OptionsSelector__WEBPACK_IMPORTED_MODULE_11__[\"default\"], null)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"form\", {\n className: \"form-inline flex-nowrap ml-auto\"\n }, hasSlackConfig && (isDeviceSmallerThanMd ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n className: \"grw-btn-slack border mr-2\",\n onClick: () => setSlackExpanded(!isSlackExpanded)\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"grw-slack-logo\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SlackLogo__WEBPACK_IMPORTED_MODULE_8__[\"default\"], null), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"grw-btn-slack-triangle fa fa-caret-up ml-2\"\n }))) : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"mr-2\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SlackNotification__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n isSlackEnabled: props.editorContainer.state.isSlackEnabled,\n slackChannels: props.editorContainer.state.slackChannels,\n onEnabledFlagChange: slackEnabledFlagChangedHandler,\n onChannelChange: slackChannelsChangedHandler,\n id: \"idForEditorNavbarBottom\",\n popUp: false\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SavePageControls__WEBPACK_IMPORTED_MODULE_10__[\"default\"], null), isCollapsedOptionsSelectorEnabled && renderExpandButton())), isCollapsedOptionsSelectorEnabled && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Collapse__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n isOpen: isExpanded\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"px-2\"\n }, \" \", react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: `navbar navbar-expand border-top px-0 ${additionalClasses.join(' ')}`\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"form\", {\n className: \"form-inline ml-auto\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_OptionsSelector__WEBPACK_IMPORTED_MODULE_11__[\"default\"], null))))));\n};\n\nEditorNavbarBottom.propTypes = {\n navigationContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_NavigationContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]).isRequired,\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"]).isRequired,\n editorContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_EditorContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]).isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_9__[\"withUnstatedContainers\"])(EditorNavbarBottom, [_services_NavigationContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"], _services_EditorContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _services_AppContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"]]));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci9FZGl0b3JOYXZiYXJCb3R0b20uanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1BhZ2VFZGl0b3IvRWRpdG9yTmF2YmFyQm90dG9tLmpzeD82YWYzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCB7IENvbGxhcHNlLCBCdXR0b24gfSBmcm9tICdyZWFjdHN0cmFwJztcblxuaW1wb3J0IE5hdmlnYXRpb25Db250YWluZXIgZnJvbSAnLi4vLi4vc2VydmljZXMvTmF2aWdhdGlvbkNvbnRhaW5lcic7XG5pbXBvcnQgRWRpdG9yQ29udGFpbmVyIGZyb20gJy4uLy4uL3NlcnZpY2VzL0VkaXRvckNvbnRhaW5lcic7XG5pbXBvcnQgQXBwQ29udGFpbmVyIGZyb20gJy4uLy4uL3NlcnZpY2VzL0FwcENvbnRhaW5lcic7XG5pbXBvcnQgU2xhY2tOb3RpZmljYXRpb24gZnJvbSAnLi4vU2xhY2tOb3RpZmljYXRpb24nO1xuaW1wb3J0IFNsYWNrTG9nbyBmcm9tICcuLi9TbGFja0xvZ28nO1xuaW1wb3J0IHsgd2l0aFVuc3RhdGVkQ29udGFpbmVycyB9IGZyb20gJy4uL1Vuc3RhdGVkVXRpbHMnO1xuXG5pbXBvcnQgU2F2ZVBhZ2VDb250cm9scyBmcm9tICcuLi9TYXZlUGFnZUNvbnRyb2xzJztcblxuaW1wb3J0IE9wdGlvbnNTZWxlY3RvciBmcm9tICcuL09wdGlvbnNTZWxlY3Rvcic7XG5cbmNvbnN0IEVkaXRvck5hdmJhckJvdHRvbSA9IChwcm9wcykgPT4ge1xuXG4gIGNvbnN0IFtpc0V4cGFuZGVkLCBzZXRFeHBhbmRlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgW2lzU2xhY2tFeHBhbmRlZCwgc2V0U2xhY2tFeHBhbmRlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGhhc1NsYWNrQ29uZmlnID0gcHJvcHMuYXBwQ29udGFpbmVyLmdldENvbmZpZygpLmhhc1NsYWNrQ29uZmlnO1xuXG4gIGNvbnN0IHtcbiAgICBuYXZpZ2F0aW9uQ29udGFpbmVyLFxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IHsgZWRpdG9yTW9kZSwgaXNEZXZpY2VTbWFsbGVyVGhhbk1kIH0gPSBuYXZpZ2F0aW9uQ29udGFpbmVyLnN0YXRlO1xuXG4gIGNvbnN0IGFkZGl0aW9uYWxDbGFzc2VzID0gWydncnctZWRpdG9yLW5hdmJhci1ib3R0b20nXTtcblxuICBjb25zdCByZW5kZXJEcmF3ZXJCdXR0b24gPSAoKSA9PiAoXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3NOYW1lPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeSBib3JkZXItMFwiIG9uQ2xpY2s9eygpID0+IG5hdmlnYXRpb25Db250YWluZXIudG9nZ2xlRHJhd2VyKCl9PlxuICAgICAgPGkgY2xhc3NOYW1lPVwiaWNvbi1tZW51XCI+PC9pPlxuICAgIDwvYnV0dG9uPlxuICApO1xuXG4gIGNvbnN0IHNsYWNrRW5hYmxlZEZsYWdDaGFuZ2VkSGFuZGxlciA9IChpc1NsYWNrRW5hYmxlZCkgPT4ge1xuICAgIHByb3BzLmVkaXRvckNvbnRhaW5lci5zZXRTdGF0ZSh7IGlzU2xhY2tFbmFibGVkIH0pO1xuICB9O1xuXG4gIGNvbnN0IHNsYWNrQ2hhbm5lbHNDaGFuZ2VkSGFuZGxlciA9IChzbGFja0NoYW5uZWxzKSA9PiB7XG4gICAgcHJvcHMuZWRpdG9yQ29udGFpbmVyLnNldFN0YXRlKHsgc2xhY2tDaGFubmVscyB9KTtcbiAgfTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QvcHJvcC10eXBlc1xuICBjb25zdCByZW5kZXJFeHBhbmRCdXR0b24gPSAoKSA9PiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJkLW1kLW5vbmUgbWwtMlwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3NOYW1lPXtgYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeSBidG4tZXhwYW5kIGJvcmRlci0wICR7aXNFeHBhbmRlZCA/ICdleHBhbmQnIDogJyd9YH1cbiAgICAgICAgb25DbGljaz17KCkgPT4gc2V0RXhwYW5kZWQoIWlzRXhwYW5kZWQpfVxuICAgICAgPlxuICAgICAgICA8aSBjbGFzc05hbWU9XCJpY29uLWFycm93LXVwXCI+PC9pPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICk7XG5cbiAgY29uc3QgaXNPcHRpb25zU2VsZWN0b3JFbmFibGVkID0gZWRpdG9yTW9kZSAhPT0gJ2hhY2ttZCc7XG4gIGNvbnN0IGlzQ29sbGFwc2VkT3B0aW9uc1NlbGVjdG9yRW5hYmxlZCA9IGlzT3B0aW9uc1NlbGVjdG9yRW5hYmxlZCAmJiBpc0RldmljZVNtYWxsZXJUaGFuTWQ7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17YCR7aXNDb2xsYXBzZWRPcHRpb25zU2VsZWN0b3JFbmFibGVkID8gJ2ZpeGVkLWJvdHRvbScgOiAnJ30gYH0+XG4gICAgICB7LyogQ29sbGFwc2VkIFNsYWNrTm90aWZpY2F0aW9uICovfVxuICAgICAge2hhc1NsYWNrQ29uZmlnICYmIChcbiAgICAgICAgPENvbGxhcHNlIGlzT3Blbj17aXNTbGFja0V4cGFuZGVkICYmIGlzRGV2aWNlU21hbGxlclRoYW5NZH0+XG4gICAgICAgICAgPG5hdiBjbGFzc05hbWU9e2BuYXZiYXIgbmF2YmFyLWV4cGFuZC1sZyBib3JkZXItdG9wICR7YWRkaXRpb25hbENsYXNzZXMuam9pbignICcpfWB9PlxuICAgICAgICAgICAgPFNsYWNrTm90aWZpY2F0aW9uXG4gICAgICAgICAgICAgIGlzU2xhY2tFbmFibGVkPXtwcm9wcy5lZGl0b3JDb250YWluZXIuc3RhdGUuaXNTbGFja0VuYWJsZWR9XG4gICAgICAgICAgICAgIHNsYWNrQ2hhbm5lbHM9e3Byb3BzLmVkaXRvckNvbnRhaW5lci5zdGF0ZS5zbGFja0NoYW5uZWxzfVxuICAgICAgICAgICAgICBvbkVuYWJsZWRGbGFnQ2hhbmdlPXtzbGFja0VuYWJsZWRGbGFnQ2hhbmdlZEhhbmRsZXJ9XG4gICAgICAgICAgICAgIG9uQ2hhbm5lbENoYW5nZT17c2xhY2tDaGFubmVsc0NoYW5nZWRIYW5kbGVyfVxuICAgICAgICAgICAgICBpZD1cImlkRm9yRWRpdG9yTmF2YmFyQm90dG9tRm9yTW9iaWxlXCJcbiAgICAgICAgICAgICAgcG9wVXBcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9uYXY+XG4gICAgICAgIDwvQ29sbGFwc2U+XG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtgbmF2YmFyIG5hdmJhci1leHBhbmQgYm9yZGVyLXRvcCBweC0yIHB4LW1kLTMgJHthZGRpdGlvbmFsQ2xhc3Nlcy5qb2luKCcgJyl9YH0+XG4gICAgICAgIDxmb3JtIGNsYXNzTmFtZT1cImZvcm0taW5saW5lXCI+XG4gICAgICAgICAgeyBpc0RldmljZVNtYWxsZXJUaGFuTWQgJiYgcmVuZGVyRHJhd2VyQnV0dG9uKCkgfVxuICAgICAgICAgIHsgaXNPcHRpb25zU2VsZWN0b3JFbmFibGVkICYmICFpc0RldmljZVNtYWxsZXJUaGFuTWQgJiYgPE9wdGlvbnNTZWxlY3RvciAvPiB9XG4gICAgICAgIDwvZm9ybT5cbiAgICAgICAgPGZvcm0gY2xhc3NOYW1lPVwiZm9ybS1pbmxpbmUgZmxleC1ub3dyYXAgbWwtYXV0b1wiPlxuICAgICAgICAgIHsvKiBSZXNwb25zaXZlIERlc2lnbiBmb3IgdGhlIFNsYWNrTm90aWZpY2F0aW9uICovfVxuICAgICAgICAgIHsvKiBCdXR0b24gb3IgdGhlIG5vcm1hbCBTbGFjayBiYW5uZXIgKi99XG4gICAgICAgICAge2hhc1NsYWNrQ29uZmlnICYmIChpc0RldmljZVNtYWxsZXJUaGFuTWQgPyAoXG4gICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImdydy1idG4tc2xhY2sgYm9yZGVyIG1yLTJcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiAoc2V0U2xhY2tFeHBhbmRlZCghaXNTbGFja0V4cGFuZGVkKSl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3J3LXNsYWNrLWxvZ29cIj5cbiAgICAgICAgICAgICAgICA8U2xhY2tMb2dvIC8+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZ3J3LWJ0bi1zbGFjay10cmlhbmdsZSBmYSBmYS1jYXJldC11cCBtbC0yXCI+PC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1yLTJcIj5cbiAgICAgICAgICAgICAgPFNsYWNrTm90aWZpY2F0aW9uXG4gICAgICAgICAgICAgICAgaXNTbGFja0VuYWJsZWQ9e3Byb3BzLmVkaXRvckNvbnRhaW5lci5zdGF0ZS5pc1NsYWNrRW5hYmxlZH1cbiAgICAgICAgICAgICAgICBzbGFja0NoYW5uZWxzPXtwcm9wcy5lZGl0b3JDb250YWluZXIuc3RhdGUuc2xhY2tDaGFubmVsc31cbiAgICAgICAgICAgICAgICBvbkVuYWJsZWRGbGFnQ2hhbmdlPXtzbGFja0VuYWJsZWRGbGFnQ2hhbmdlZEhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgb25DaGFubmVsQ2hhbmdlPXtzbGFja0NoYW5uZWxzQ2hhbmdlZEhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgaWQ9XCJpZEZvckVkaXRvck5hdmJhckJvdHRvbVwiXG4gICAgICAgICAgICAgICAgcG9wVXA9e2ZhbHNlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKSl9XG4gICAgICAgICAgPFNhdmVQYWdlQ29udHJvbHMgLz5cbiAgICAgICAgICB7IGlzQ29sbGFwc2VkT3B0aW9uc1NlbGVjdG9yRW5hYmxlZCAmJiByZW5kZXJFeHBhbmRCdXR0b24oKSB9XG4gICAgICAgIDwvZm9ybT5cbiAgICAgIDwvZGl2PlxuICAgICAgey8qIENvbGxhcHNlZCBPcHRpb25zU2VsZWN0b3IgKi99XG4gICAgICB7IGlzQ29sbGFwc2VkT3B0aW9uc1NlbGVjdG9yRW5hYmxlZCAmJiAoXG4gICAgICAgIDxDb2xsYXBzZSBpc09wZW49e2lzRXhwYW5kZWR9PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicHgtMlwiPiB7Lyogc2V0IHBhZGRpbmcgZm9yIGJvcmRlci10b3AgKi99XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YG5hdmJhciBuYXZiYXItZXhwYW5kIGJvcmRlci10b3AgcHgtMCAke2FkZGl0aW9uYWxDbGFzc2VzLmpvaW4oJyAnKX1gfT5cbiAgICAgICAgICAgICAgPGZvcm0gY2xhc3NOYW1lPVwiZm9ybS1pbmxpbmUgbWwtYXV0b1wiPlxuICAgICAgICAgICAgICAgIDxPcHRpb25zU2VsZWN0b3IgLz5cbiAgICAgICAgICAgICAgPC9mb3JtPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvQ29sbGFwc2U+XG4gICAgICApIH1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkVkaXRvck5hdmJhckJvdHRvbS5wcm9wVHlwZXMgPSB7XG4gIG5hdmlnYXRpb25Db250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKE5hdmlnYXRpb25Db250YWluZXIpLmlzUmVxdWlyZWQsXG4gIGFwcENvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoQXBwQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuICBlZGl0b3JDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKEVkaXRvckNvbnRhaW5lcikuaXNSZXF1aXJlZCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoRWRpdG9yTmF2YmFyQm90dG9tLCBbTmF2aWdhdGlvbkNvbnRhaW5lciwgRWRpdG9yQ29udGFpbmVyLCBBcHBDb250YWluZXJdKTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBREE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFIQTtBQUtBO0FBQUE7QUFDQTtBQUlBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFHQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU5BO0FBWUE7QUFBQTtBQUNBO0FBQUE7QUFJQTtBQUFBO0FBS0E7QUFDQTtBQUZBO0FBSUE7QUFBQTtBQUVBO0FBQUE7QUFJQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTkE7QUFnQkE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQVNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBTUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/PageEditor/EditorNavbarBottom.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageEditor/EmojiAutoCompleteHelper.js":
- /*!************************************************************************!*\
- !*** ./src/client/js/components/PageEditor/EmojiAutoCompleteHelper.js ***!
- \************************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _util_codemirror_update_display_util_ext__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../util/codemirror/update-display-util.ext */ \"./src/client/js/util/codemirror/update-display-util.ext.js\");\n\n\nclass EmojiAutoCompleteHelper {\n constructor(emojiStrategy) {\n this.emojiStrategy = emojiStrategy;\n this.emojiShortnameImageMap = {};\n this.initEmojiImageMap = this.initEmojiImageMap.bind(this);\n this.showHint = this.showHint.bind(this);\n this.initEmojiImageMap();\n }\n\n initEmojiImageMap() {\n for (const data of Object.values(this.emojiStrategy)) {\n const shortname = data.shortname; // add image tag\n\n this.emojiShortnameImageMap[shortname] = emojione.shortnameToImage(shortname);\n }\n }\n /**\n * try to find emoji terms and show hint\n * @param {any} editor An editor instance of CodeMirror\n */\n\n\n showHint(editor) {\n // see https://regex101.com/r/gy3i03/1\n const pattern = /:[^:\\s]+/;\n const currentPos = editor.getCursor(); // find previous ':shortname'\n\n const sc = editor.getSearchCursor(pattern, currentPos, {\n multiline: false\n });\n\n if (sc.findPrevious()) {\n const isInputtingEmoji = currentPos.line === sc.to().line && currentPos.ch === sc.to().ch; // return if it isn't inputting emoji\n\n if (!isInputtingEmoji) {\n return;\n }\n } else {\n return;\n }\n /*\n * https://github.com/weseek/growi/issues/703 is caused\n * because 'editor.display.viewOffset' is zero\n *\n * call stack:\n * 1. https://github.com/codemirror/CodeMirror/blob/5.42.0/addon/hint/show-hint.js#L220\n * 2. https://github.com/codemirror/CodeMirror/blob/5.42.0/src/edit/methods.js#L189\n * 3. https://github.com/codemirror/CodeMirror/blob/5.42.0/src/measurement/position_measurement.js#L372\n * 4. https://github.com/codemirror/CodeMirror/blob/5.42.0/src/measurement/position_measurement.js#L315\n */\n\n\n _util_codemirror_update_display_util_ext__WEBPACK_IMPORTED_MODULE_0__[\"default\"].forceUpdateViewOffset(editor); // see https://codemirror.net/doc/manual.html#addon_show-hint\n\n editor.showHint({\n completeSingle: false,\n // closeOnUnfocus: false, // for debug\n hint: () => {\n const matched = editor.getDoc().getRange(sc.from(), sc.to());\n const term = matched.replace(':', ''); // remove ':' in the head\n // get a list of shortnames\n\n const shortnames = this.searchEmojiShortnames(term);\n\n if (shortnames.length >= 1) {\n return {\n list: this.generateEmojiRenderer(shortnames),\n from: sc.from(),\n to: sc.to()\n };\n }\n }\n });\n }\n /**\n * see https://codemirror.net/doc/manual.html#addon_show-hint\n * @param {string[]} emojiShortnames a list of shortname\n */\n\n\n generateEmojiRenderer(emojiShortnames) {\n return emojiShortnames.map(shortname => {\n return {\n text: shortname,\n className: 'crowi-emoji-autocomplete',\n render: element => {\n element.innerHTML = `<div class=\"img-container\">${this.emojiShortnameImageMap[shortname]}</div>` + `<span class=\"shortname-container\">${shortname}</span>`;\n }\n };\n });\n }\n /**\n * transplanted from https://github.com/emojione/emojione/blob/master/examples/OTHER.md\n * @param {string} term\n * @returns {string[]} a list of shortname\n */\n\n\n searchEmojiShortnames(term) {\n const maxLength = 12;\n const results1 = [];\n const results2 = [];\n const results3 = [];\n const results4 = [];\n\n const countLen1 = () => {\n return results1.length;\n };\n\n const countLen2 = () => {\n return countLen1() + results2.length;\n };\n\n const countLen3 = () => {\n return countLen2() + results3.length;\n };\n\n const countLen4 = () => {\n return countLen3() + results4.length;\n }; // TODO performance tune\n // when total length of all results is less than `maxLength`\n\n\n for (const data of Object.values(this.emojiStrategy)) {\n if (maxLength <= countLen1()) {\n break;\n } // prefix match to shortname\n else if (data.shortname.indexOf(`:${term}`) > -1) {\n results1.push(data.shortname);\n continue;\n } else if (maxLength <= countLen2()) {\n continue;\n } // partial match to shortname\n else if (data.shortname.indexOf(term) > -1) {\n results2.push(data.shortname);\n continue;\n } else if (maxLength <= countLen3()) {\n continue;\n } // partial match to elements of aliases\n else if (data.aliases != null && data.aliases.find(elem => {\n return elem.indexOf(term) > -1;\n })) {\n results3.push(data.shortname);\n continue;\n } else if (maxLength <= countLen4()) {\n continue;\n } // partial match to elements of keywords\n else if (data.keywords != null && data.keywords.find(elem => {\n return elem.indexOf(term) > -1;\n })) {\n results4.push(data.shortname);\n }\n }\n\n let results = results1.concat(results2).concat(results3).concat(results4);\n results = results.slice(0, maxLength);\n return results;\n }\n\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (EmojiAutoCompleteHelper);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci9FbW9qaUF1dG9Db21wbGV0ZUhlbHBlci5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9QYWdlRWRpdG9yL0Vtb2ppQXV0b0NvbXBsZXRlSGVscGVyLmpzPzY4MmQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFVwZGF0ZURpc3BsYXlVdGlsIGZyb20gJy4uLy4uL3V0aWwvY29kZW1pcnJvci91cGRhdGUtZGlzcGxheS11dGlsLmV4dCc7XG5cbmNsYXNzIEVtb2ppQXV0b0NvbXBsZXRlSGVscGVyIHtcblxuICBjb25zdHJ1Y3RvcihlbW9qaVN0cmF0ZWd5KSB7XG4gICAgdGhpcy5lbW9qaVN0cmF0ZWd5ID0gZW1vamlTdHJhdGVneTtcblxuICAgIHRoaXMuZW1vamlTaG9ydG5hbWVJbWFnZU1hcCA9IHt9O1xuXG4gICAgdGhpcy5pbml0RW1vamlJbWFnZU1hcCA9IHRoaXMuaW5pdEVtb2ppSW1hZ2VNYXAuYmluZCh0aGlzKTtcbiAgICB0aGlzLnNob3dIaW50ID0gdGhpcy5zaG93SGludC5iaW5kKHRoaXMpO1xuXG4gICAgdGhpcy5pbml0RW1vamlJbWFnZU1hcCgpO1xuICB9XG5cbiAgaW5pdEVtb2ppSW1hZ2VNYXAoKSB7XG4gICAgZm9yIChjb25zdCBkYXRhIG9mIE9iamVjdC52YWx1ZXModGhpcy5lbW9qaVN0cmF0ZWd5KSkge1xuICAgICAgY29uc3Qgc2hvcnRuYW1lID0gZGF0YS5zaG9ydG5hbWU7XG4gICAgICAvLyBhZGQgaW1hZ2UgdGFnXG4gICAgICB0aGlzLmVtb2ppU2hvcnRuYW1lSW1hZ2VNYXBbc2hvcnRuYW1lXSA9IGVtb2ppb25lLnNob3J0bmFtZVRvSW1hZ2Uoc2hvcnRuYW1lKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogdHJ5IHRvIGZpbmQgZW1vamkgdGVybXMgYW5kIHNob3cgaGludFxuICAgKiBAcGFyYW0ge2FueX0gZWRpdG9yIEFuIGVkaXRvciBpbnN0YW5jZSBvZiBDb2RlTWlycm9yXG4gICAqL1xuICBzaG93SGludChlZGl0b3IpIHtcbiAgICAvLyBzZWUgaHR0cHM6Ly9yZWdleDEwMS5jb20vci9neTNpMDMvMVxuICAgIGNvbnN0IHBhdHRlcm4gPSAvOlteOlxcc10rLztcblxuICAgIGNvbnN0IGN1cnJlbnRQb3MgPSBlZGl0b3IuZ2V0Q3Vyc29yKCk7XG4gICAgLy8gZmluZCBwcmV2aW91cyAnOnNob3J0bmFtZSdcbiAgICBjb25zdCBzYyA9IGVkaXRvci5nZXRTZWFyY2hDdXJzb3IocGF0dGVybiwgY3VycmVudFBvcywgeyBtdWx0aWxpbmU6IGZhbHNlIH0pO1xuICAgIGlmIChzYy5maW5kUHJldmlvdXMoKSkge1xuICAgICAgY29uc3QgaXNJbnB1dHRpbmdFbW9qaSA9IChjdXJyZW50UG9zLmxpbmUgPT09IHNjLnRvKCkubGluZSAmJiBjdXJyZW50UG9zLmNoID09PSBzYy50bygpLmNoKTtcbiAgICAgIC8vIHJldHVybiBpZiBpdCBpc24ndCBpbnB1dHRpbmcgZW1vamlcbiAgICAgIGlmICghaXNJbnB1dHRpbmdFbW9qaSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogaHR0cHM6Ly9naXRodWIuY29tL3dlc2Vlay9ncm93aS9pc3N1ZXMvNzAzIGlzIGNhdXNlZFxuICAgICAqIGJlY2F1c2UgJ2VkaXRvci5kaXNwbGF5LnZpZXdPZmZzZXQnIGlzIHplcm9cbiAgICAgKlxuICAgICAqIGNhbGwgc3RhY2s6XG4gICAgICogICAxLiBodHRwczovL2dpdGh1Yi5jb20vY29kZW1pcnJvci9Db2RlTWlycm9yL2Jsb2IvNS40Mi4wL2FkZG9uL2hpbnQvc2hvdy1oaW50LmpzI0wyMjBcbiAgICAgKiAgIDIuIGh0dHBzOi8vZ2l0aHViLmNvbS9jb2RlbWlycm9yL0NvZGVNaXJyb3IvYmxvYi81LjQyLjAvc3JjL2VkaXQvbWV0aG9kcy5qcyNMMTg5XG4gICAgICogICAzLiBodHRwczovL2dpdGh1Yi5jb20vY29kZW1pcnJvci9Db2RlTWlycm9yL2Jsb2IvNS40Mi4wL3NyYy9tZWFzdXJlbWVudC9wb3NpdGlvbl9tZWFzdXJlbWVudC5qcyNMMzcyXG4gICAgICogICA0LiBodHRwczovL2dpdGh1Yi5jb20vY29kZW1pcnJvci9Db2RlTWlycm9yL2Jsb2IvNS40Mi4wL3NyYy9tZWFzdXJlbWVudC9wb3NpdGlvbl9tZWFzdXJlbWVudC5qcyNMMzE1XG4gICAgICovXG4gICAgVXBkYXRlRGlzcGxheVV0aWwuZm9yY2VVcGRhdGVWaWV3T2Zmc2V0KGVkaXRvcik7XG5cbiAgICAvLyBzZWUgaHR0cHM6Ly9jb2RlbWlycm9yLm5ldC9kb2MvbWFudWFsLmh0bWwjYWRkb25fc2hvdy1oaW50XG4gICAgZWRpdG9yLnNob3dIaW50KHtcbiAgICAgIGNvbXBsZXRlU2luZ2xlOiBmYWxzZSxcbiAgICAgIC8vIGNsb3NlT25VbmZvY3VzOiBmYWxzZSwgIC8vIGZvciBkZWJ1Z1xuICAgICAgaGludDogKCkgPT4ge1xuICAgICAgICBjb25zdCBtYXRjaGVkID0gZWRpdG9yLmdldERvYygpLmdldFJhbmdlKHNjLmZyb20oKSwgc2MudG8oKSk7XG4gICAgICAgIGNvbnN0IHRlcm0gPSBtYXRjaGVkLnJlcGxhY2UoJzonLCAnJyk7IC8vIHJlbW92ZSAnOicgaW4gdGhlIGhlYWRcblxuICAgICAgICAvLyBnZXQgYSBsaXN0IG9mIHNob3J0bmFtZXNcbiAgICAgICAgY29uc3Qgc2hvcnRuYW1lcyA9IHRoaXMuc2VhcmNoRW1vamlTaG9ydG5hbWVzKHRlcm0pO1xuICAgICAgICBpZiAoc2hvcnRuYW1lcy5sZW5ndGggPj0gMSkge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBsaXN0OiB0aGlzLmdlbmVyYXRlRW1vamlSZW5kZXJlcihzaG9ydG5hbWVzKSxcbiAgICAgICAgICAgIGZyb206IHNjLmZyb20oKSxcbiAgICAgICAgICAgIHRvOiBzYy50bygpLFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogc2VlIGh0dHBzOi8vY29kZW1pcnJvci5uZXQvZG9jL21hbnVhbC5odG1sI2FkZG9uX3Nob3ctaGludFxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBlbW9qaVNob3J0bmFtZXMgYSBsaXN0IG9mIHNob3J0bmFtZVxuICAgKi9cbiAgZ2VuZXJhdGVFbW9qaVJlbmRlcmVyKGVtb2ppU2hvcnRuYW1lcykge1xuICAgIHJldHVybiBlbW9qaVNob3J0bmFtZXMubWFwKChzaG9ydG5hbWUpID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRleHQ6IHNob3J0bmFtZSxcbiAgICAgICAgY2xhc3NOYW1lOiAnY3Jvd2ktZW1vamktYXV0b2NvbXBsZXRlJyxcbiAgICAgICAgcmVuZGVyOiAoZWxlbWVudCkgPT4ge1xuICAgICAgICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gYDxkaXYgY2xhc3M9XCJpbWctY29udGFpbmVyXCI+JHt0aGlzLmVtb2ppU2hvcnRuYW1lSW1hZ2VNYXBbc2hvcnRuYW1lXX08L2Rpdj5gXG4gICAgICAgICAgICArIGA8c3BhbiBjbGFzcz1cInNob3J0bmFtZS1jb250YWluZXJcIj4ke3Nob3J0bmFtZX08L3NwYW4+YDtcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogdHJhbnNwbGFudGVkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2Vtb2ppb25lL2Vtb2ppb25lL2Jsb2IvbWFzdGVyL2V4YW1wbGVzL09USEVSLm1kXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXJtXG4gICAqIEByZXR1cm5zIHtzdHJpbmdbXX0gYSBsaXN0IG9mIHNob3J0bmFtZVxuICAgKi9cbiAgc2VhcmNoRW1vamlTaG9ydG5hbWVzKHRlcm0pIHtcbiAgICBjb25zdCBtYXhMZW5ndGggPSAxMjtcblxuICAgIGNvbnN0IHJlc3VsdHMxID0gW107XG4gICAgY29uc3QgcmVzdWx0czIgPSBbXTtcbiAgICBjb25zdCByZXN1bHRzMyA9IFtdO1xuICAgIGNvbnN0IHJlc3VsdHM0ID0gW107XG4gICAgY29uc3QgY291bnRMZW4xID0gKCkgPT4geyByZXR1cm4gcmVzdWx0czEubGVuZ3RoIH07XG4gICAgY29uc3QgY291bnRMZW4yID0gKCkgPT4geyByZXR1cm4gY291bnRMZW4xKCkgKyByZXN1bHRzMi5sZW5ndGggfTtcbiAgICBjb25zdCBjb3VudExlbjMgPSAoKSA9PiB7IHJldHVybiBjb3VudExlbjIoKSArIHJlc3VsdHMzLmxlbmd0aCB9O1xuICAgIGNvbnN0IGNvdW50TGVuNCA9ICgpID0+IHsgcmV0dXJuIGNvdW50TGVuMygpICsgcmVzdWx0czQubGVuZ3RoIH07XG5cbiAgICAvLyBUT0RPIHBlcmZvcm1hbmNlIHR1bmVcbiAgICAvLyB3aGVuIHRvdGFsIGxlbmd0aCBvZiBhbGwgcmVzdWx0cyBpcyBsZXNzIHRoYW4gYG1heExlbmd0aGBcbiAgICBmb3IgKGNvbnN0IGRhdGEgb2YgT2JqZWN0LnZhbHVlcyh0aGlzLmVtb2ppU3RyYXRlZ3kpKSB7XG4gICAgICBpZiAobWF4TGVuZ3RoIDw9IGNvdW50TGVuMSgpKSB7IGJyZWFrIH1cbiAgICAgIC8vIHByZWZpeCBtYXRjaCB0byBzaG9ydG5hbWVcbiAgICAgIGVsc2UgaWYgKGRhdGEuc2hvcnRuYW1lLmluZGV4T2YoYDoke3Rlcm19YCkgPiAtMSkge1xuICAgICAgICByZXN1bHRzMS5wdXNoKGRhdGEuc2hvcnRuYW1lKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBlbHNlIGlmIChtYXhMZW5ndGggPD0gY291bnRMZW4yKCkpIHsgY29udGludWUgfVxuICAgICAgLy8gcGFydGlhbCBtYXRjaCB0byBzaG9ydG5hbWVcbiAgICAgIGVsc2UgaWYgKGRhdGEuc2hvcnRuYW1lLmluZGV4T2YodGVybSkgPiAtMSkge1xuICAgICAgICByZXN1bHRzMi5wdXNoKGRhdGEuc2hvcnRuYW1lKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBlbHNlIGlmIChtYXhMZW5ndGggPD0gY291bnRMZW4zKCkpIHsgY29udGludWUgfVxuICAgICAgLy8gcGFydGlhbCBtYXRjaCB0byBlbGVtZW50cyBvZiBhbGlhc2VzXG4gICAgICBlbHNlIGlmICgoZGF0YS5hbGlhc2VzICE9IG51bGwpICYmIGRhdGEuYWxpYXNlcy5maW5kKChlbGVtKSA9PiB7IHJldHVybiBlbGVtLmluZGV4T2YodGVybSkgPiAtMSB9KSkge1xuICAgICAgICByZXN1bHRzMy5wdXNoKGRhdGEuc2hvcnRuYW1lKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBlbHNlIGlmIChtYXhMZW5ndGggPD0gY291bnRMZW40KCkpIHsgY29udGludWUgfVxuICAgICAgLy8gcGFydGlhbCBtYXRjaCB0byBlbGVtZW50cyBvZiBrZXl3b3Jkc1xuICAgICAgZWxzZSBpZiAoKGRhdGEua2V5d29yZHMgIT0gbnVsbCkgJiYgZGF0YS5rZXl3b3Jkcy5maW5kKChlbGVtKSA9PiB7IHJldHVybiBlbGVtLmluZGV4T2YodGVybSkgPiAtMSB9KSkge1xuICAgICAgICByZXN1bHRzNC5wdXNoKGRhdGEuc2hvcnRuYW1lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgcmVzdWx0cyA9IHJlc3VsdHMxLmNvbmNhdChyZXN1bHRzMikuY29uY2F0KHJlc3VsdHMzKS5jb25jYXQocmVzdWx0czQpO1xuICAgIHJlc3VsdHMgPSByZXN1bHRzLnNsaWNlKDAsIG1heExlbmd0aCk7XG5cbiAgICByZXR1cm4gcmVzdWx0cztcbiAgfVxuXG59XG5cbmV4cG9ydCBkZWZhdWx0IEVtb2ppQXV0b0NvbXBsZXRlSGVscGVyO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7OztBQUlBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBOzs7Ozs7Ozs7Ozs7QUFVQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSEE7QUFLQTtBQUNBO0FBaEJBO0FBa0JBO0FBRUE7Ozs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFOQTtBQVFBO0FBQ0E7QUFFQTs7Ozs7OztBQUtBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBREE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBL0lBO0FBQ0E7QUFpSkEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/PageEditor/EmojiAutoCompleteHelper.js\n");
- /***/ }),
- /***/ "./src/client/js/components/PageEditor/GridEditModal.jsx":
- /*!***************************************************************!*\
- !*** ./src/client/js/components/PageEditor/GridEditModal.jsx ***!
- \***************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! reactstrap/es/Modal */ \"./node_modules/reactstrap/es/Modal.js\");\n/* harmony import */ var reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! reactstrap/es/ModalHeader */ \"./node_modules/reactstrap/es/ModalHeader.js\");\n/* harmony import */ var reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! reactstrap/es/ModalBody */ \"./node_modules/reactstrap/es/ModalBody.js\");\n/* harmony import */ var reactstrap_es_ModalFooter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! reactstrap/es/ModalFooter */ \"./node_modules/reactstrap/es/ModalFooter.js\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _GridEditorUtil__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./GridEditorUtil */ \"./src/client/js/components/PageEditor/GridEditorUtil.js\");\n/* harmony import */ var _models_BootstrapGrid__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../models/BootstrapGrid */ \"./src/client/js/models/BootstrapGrid.js\");\n\n\n\n\n\n\n\n\n\nconst resSizes = _models_BootstrapGrid__WEBPACK_IMPORTED_MODULE_8__[\"default\"].ResponsiveSize;\nconst resSizeObj = {\n [resSizes.XS_SIZE]: {\n displayText: 'grid_edit.smart_no'\n },\n [resSizes.SM_SIZE]: {\n displayText: 'tablet'\n },\n [resSizes.MD_SIZE]: {\n displayText: 'desktop'\n }\n};\n\nclass GridEditModal extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n this.state = {\n colsRatios: [6, 6],\n responsiveSize: _models_BootstrapGrid__WEBPACK_IMPORTED_MODULE_8__[\"default\"].ResponsiveSize.XS_SIZE,\n show: false // use when re-edit grid\n // gridHtml: '',\n\n };\n this.checkResposiveSize = this.checkResposiveSize.bind(this);\n this.checkColsRatios = this.checkColsRatios.bind(this); // use when re-edit grid\n // this.init = this.init.bind(this);\n\n this.show = this.show.bind(this);\n this.hide = this.hide.bind(this);\n this.cancel = this.cancel.bind(this);\n this.pasteCodedGrid = this.pasteCodedGrid.bind(this);\n this.renderSelectedGridPattern = this.renderSelectedGridPattern.bind(this);\n this.renderBreakPointSetting = this.renderBreakPointSetting.bind(this);\n }\n\n async checkResposiveSize(rs) {\n await this.setState({\n responsiveSize: rs\n });\n }\n\n async checkColsRatios(cr) {\n await this.setState({\n colsRatios: cr\n });\n } // use when re-edit grid\n // init(gridHtml) {\n // const initGridHtml = gridHtml;\n // this.setState({ gridHtml: initGridHtml });\n // }\n\n\n show(gridHtml) {\n // use when re-edit grid\n // this.init(gridHtml);\n this.setState({\n show: true\n });\n }\n\n hide() {\n this.setState({\n show: false\n });\n }\n\n cancel() {\n this.hide();\n }\n\n pasteCodedGrid() {\n const {\n colsRatios,\n responsiveSize\n } = this.state;\n const convertedHTML = _GridEditorUtil__WEBPACK_IMPORTED_MODULE_7__[\"default\"].convertRatiosAndSizeToHTML(colsRatios, responsiveSize);\n const spaceTab = ' ';\n const pastedGridData = `::: editable-row\\n<div class=\"container\">\\n${spaceTab}<div class=\"row\">\\n${convertedHTML}\\n${spaceTab}</div>\\n</div>\\n:::`;\n\n if (this.props.onSave != null) {\n this.props.onSave(pastedGridData);\n }\n\n this.cancel();\n }\n\n renderSelectedGridPattern() {\n const colsRatios = this.state.colsRatios;\n return colsRatios.join(' - ');\n }\n\n renderBreakPointSetting() {\n const {\n t\n } = this.props;\n const output = Object.entries(resSizeObj).map(responsiveSizeForMap => {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n key: responsiveSizeForMap[0],\n className: \"custom-control custom-radio custom-control-inline\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"radio\",\n className: \"custom-control-input\",\n id: responsiveSizeForMap[1].displayText,\n value: responsiveSizeForMap[1].displayText,\n checked: this.state.responsiveSize === responsiveSizeForMap[0],\n onChange: e => this.checkResposiveSize(responsiveSizeForMap[0])\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"custom-control-label\",\n htmlFor: responsiveSizeForMap[1].displayText\n }, t(responsiveSizeForMap[1].displayText)));\n });\n return output;\n }\n\n renderGridDivisionMenu() {\n const gridDivisions = _GridEditorUtil__WEBPACK_IMPORTED_MODULE_7__[\"default\"].mappingAllGridDivisionPatterns;\n const {\n t\n } = this.props;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"container\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"row\"\n }, gridDivisions.map(gridDivision => {\n const numOfDivisions = gridDivision.numberOfGridDivisions;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n key: `${numOfDivisions}-divisions`,\n className: \"col-md-4 text-center\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h6\", {\n className: \"dropdown-header\"\n }, numOfDivisions, \" \", t('grid_edit.division')), gridDivision.mapping.map(gridOneDivision => {\n const keyOfRow = `${numOfDivisions}-divisions-${gridOneDivision.join('-')}`;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n key: keyOfRow,\n className: \"dropdown-item\",\n type: \"button\",\n onClick: () => {\n this.checkColsRatios(gridOneDivision);\n }\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"row\"\n }, gridOneDivision.map((god, i) => {\n const keyOfCol = `${keyOfRow}-${i}`;\n const className = `bg-info col-${god} border`;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n key: keyOfCol,\n className: className\n }, god);\n })));\n }));\n })));\n }\n\n renderPreview() {\n const {\n t\n } = this.props;\n const isMdSelected = this.state.responsiveSize === _models_BootstrapGrid__WEBPACK_IMPORTED_MODULE_8__[\"default\"].ResponsiveSize.MD_SIZE;\n const isXsSelected = this.state.responsiveSize === _models_BootstrapGrid__WEBPACK_IMPORTED_MODULE_8__[\"default\"].ResponsiveSize.XS_SIZE;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"row grw-grid-edit-preview border my-4 p-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-lg-2\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h4\", {\n className: \"d-block mt-2\"\n }, t('phone')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"mobile-preview d-block px-3 py-2\"\n }, this.renderGridPreview(!isXsSelected))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-lg-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h4\", {\n className: \"d-block mt-2\"\n }, t('tablet')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"tablet-preview d-block px-3 py-2\"\n }, this.renderGridPreview(isMdSelected))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-lg-4\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h4\", {\n className: \"d-block mt-2\"\n }, t('desktop')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"desktop-preview d-block px-3 py-2\"\n }, this.renderGridPreview(false))));\n }\n\n renderGridPreview(isBreakEnabled) {\n const {\n colsRatios\n } = this.state;\n const convertedHTML = colsRatios.map((colsRatio, i) => {\n const ratio = isBreakEnabled ? 12 : colsRatio;\n const key = `grid-preview-col-${i}`;\n const className = `col-${ratio} grid-edit-border-for-each-cols`;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n key: key,\n className: `${key} ${className}`\n });\n });\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"row\"\n }, convertedHTML);\n }\n\n render() {\n const {\n t\n } = this.props;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n isOpen: this.state.show,\n toggle: this.cancel,\n size: \"xl\",\n className: \"grw-grid-edit-modal\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n tag: \"h4\",\n toggle: this.cancel,\n className: \"bg-primary text-light\"\n }, t('grid_edit.create_bootstrap_4_grid')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"container\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"row\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-12\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h3\", {\n className: \"grw-modal-head\"\n }, t('grid_edit.grid_settings')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"form\", {\n className: \"form-group mb-0\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"form-group row my-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"col-sm-3\",\n htmlFor: \"gridPattern\"\n }, t('grid_edit.grid_pattern')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-sm-9\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n className: \"btn btn-outline-secondary dropdown-toggle\",\n type: \"button\",\n id: \"dropdownMenuButton\",\n \"data-toggle\": \"dropdown\",\n \"aria-haspopup\": \"true\",\n \"aria-expanded\": \"false\"\n }, this.renderSelectedGridPattern()), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"dropdown-menu grid-division-menu\",\n \"aria-labelledby\": \"dropdownMenuButton\"\n }, this.renderGridDivisionMenu()))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"form-group row\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"col-sm-3\",\n htmlFor: \"breakPoint\"\n }, t('grid_edit.break_point')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-sm-9\"\n }, this.renderBreakPointSetting()))))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h3\", {\n className: \"grw-modal-head\"\n }, t('preview')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-12\"\n }, this.renderPreview())), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalFooter__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"grw-modal-footer\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"ml-auto\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"mr-2 btn btn-secondary\",\n onClick: this.cancel\n }, \"Cancel\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-primary\",\n onClick: this.pasteCodedGrid\n }, \"Done\"))));\n }\n\n}\n\nGridEditModal.propTypes = {\n onSave: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_6__[\"withTranslation\"])('translation', {\n withRef: true\n})(GridEditModal));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci9HcmlkRWRpdE1vZGFsLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9QYWdlRWRpdG9yL0dyaWRFZGl0TW9kYWwuanN4P2Y0OWMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQge1xuICBNb2RhbCwgTW9kYWxIZWFkZXIsIE1vZGFsQm9keSwgTW9kYWxGb290ZXIsXG59IGZyb20gJ3JlYWN0c3RyYXAnO1xuaW1wb3J0IHsgd2l0aFRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5pbXBvcnQgZ2V1IGZyb20gJy4vR3JpZEVkaXRvclV0aWwnO1xuaW1wb3J0IEJvb3RzdHJhcEdyaWQgZnJvbSAnLi4vLi4vbW9kZWxzL0Jvb3RzdHJhcEdyaWQnO1xuXG5jb25zdCByZXNTaXplcyA9IEJvb3RzdHJhcEdyaWQuUmVzcG9uc2l2ZVNpemU7XG5jb25zdCByZXNTaXplT2JqID0ge1xuICBbcmVzU2l6ZXMuWFNfU0laRV06IHsgZGlzcGxheVRleHQ6ICdncmlkX2VkaXQuc21hcnRfbm8nIH0sXG4gIFtyZXNTaXplcy5TTV9TSVpFXTogeyBkaXNwbGF5VGV4dDogJ3RhYmxldCcgfSxcbiAgW3Jlc1NpemVzLk1EX1NJWkVdOiB7IGRpc3BsYXlUZXh0OiAnZGVza3RvcCcgfSxcbn07XG5jbGFzcyBHcmlkRWRpdE1vZGFsIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcblxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBjb2xzUmF0aW9zOiBbNiwgNl0sXG4gICAgICByZXNwb25zaXZlU2l6ZTogQm9vdHN0cmFwR3JpZC5SZXNwb25zaXZlU2l6ZS5YU19TSVpFLFxuICAgICAgc2hvdzogZmFsc2UsXG4gICAgICAvLyB1c2Ugd2hlbiByZS1lZGl0IGdyaWRcbiAgICAgIC8vIGdyaWRIdG1sOiAnJyxcbiAgICB9O1xuXG4gICAgdGhpcy5jaGVja1Jlc3Bvc2l2ZVNpemUgPSB0aGlzLmNoZWNrUmVzcG9zaXZlU2l6ZS5iaW5kKHRoaXMpO1xuICAgIHRoaXMuY2hlY2tDb2xzUmF0aW9zID0gdGhpcy5jaGVja0NvbHNSYXRpb3MuYmluZCh0aGlzKTtcbiAgICAvLyB1c2Ugd2hlbiByZS1lZGl0IGdyaWRcbiAgICAvLyB0aGlzLmluaXQgPSB0aGlzLmluaXQuYmluZCh0aGlzKTtcbiAgICB0aGlzLnNob3cgPSB0aGlzLnNob3cuYmluZCh0aGlzKTtcbiAgICB0aGlzLmhpZGUgPSB0aGlzLmhpZGUuYmluZCh0aGlzKTtcbiAgICB0aGlzLmNhbmNlbCA9IHRoaXMuY2FuY2VsLmJpbmQodGhpcyk7XG4gICAgdGhpcy5wYXN0ZUNvZGVkR3JpZCA9IHRoaXMucGFzdGVDb2RlZEdyaWQuYmluZCh0aGlzKTtcbiAgICB0aGlzLnJlbmRlclNlbGVjdGVkR3JpZFBhdHRlcm4gPSB0aGlzLnJlbmRlclNlbGVjdGVkR3JpZFBhdHRlcm4uYmluZCh0aGlzKTtcbiAgICB0aGlzLnJlbmRlckJyZWFrUG9pbnRTZXR0aW5nID0gdGhpcy5yZW5kZXJCcmVha1BvaW50U2V0dGluZy5iaW5kKHRoaXMpO1xuICB9XG5cbiAgYXN5bmMgY2hlY2tSZXNwb3NpdmVTaXplKHJzKSB7XG4gICAgYXdhaXQgdGhpcy5zZXRTdGF0ZSh7IHJlc3BvbnNpdmVTaXplOiBycyB9KTtcbiAgfVxuXG4gIGFzeW5jIGNoZWNrQ29sc1JhdGlvcyhjcikge1xuICAgIGF3YWl0IHRoaXMuc2V0U3RhdGUoeyBjb2xzUmF0aW9zOiBjciB9KTtcbiAgfVxuXG4gIC8vIHVzZSB3aGVuIHJlLWVkaXQgZ3JpZFxuICAvLyBpbml0KGdyaWRIdG1sKSB7XG4gIC8vICAgY29uc3QgaW5pdEdyaWRIdG1sID0gZ3JpZEh0bWw7XG4gIC8vICAgdGhpcy5zZXRTdGF0ZSh7IGdyaWRIdG1sOiBpbml0R3JpZEh0bWwgfSk7XG4gIC8vIH1cblxuICBzaG93KGdyaWRIdG1sKSB7XG4gICAgLy8gdXNlIHdoZW4gcmUtZWRpdCBncmlkXG4gICAgLy8gdGhpcy5pbml0KGdyaWRIdG1sKTtcbiAgICB0aGlzLnNldFN0YXRlKHsgc2hvdzogdHJ1ZSB9KTtcbiAgfVxuXG4gIGhpZGUoKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IHNob3c6IGZhbHNlIH0pO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMuaGlkZSgpO1xuICB9XG5cbiAgcGFzdGVDb2RlZEdyaWQoKSB7XG4gICAgY29uc3QgeyBjb2xzUmF0aW9zLCByZXNwb25zaXZlU2l6ZSB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCBjb252ZXJ0ZWRIVE1MID0gZ2V1LmNvbnZlcnRSYXRpb3NBbmRTaXplVG9IVE1MKGNvbHNSYXRpb3MsIHJlc3BvbnNpdmVTaXplKTtcbiAgICBjb25zdCBzcGFjZVRhYiA9ICcgICAgJztcbiAgICBjb25zdCBwYXN0ZWRHcmlkRGF0YSA9IGA6OjogZWRpdGFibGUtcm93XFxuPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxcbiR7c3BhY2VUYWJ9PGRpdiBjbGFzcz1cInJvd1wiPlxcbiR7Y29udmVydGVkSFRNTH1cXG4ke3NwYWNlVGFifTwvZGl2PlxcbjwvZGl2Plxcbjo6OmA7XG5cbiAgICBpZiAodGhpcy5wcm9wcy5vblNhdmUgIT0gbnVsbCkge1xuICAgICAgdGhpcy5wcm9wcy5vblNhdmUocGFzdGVkR3JpZERhdGEpO1xuICAgIH1cbiAgICB0aGlzLmNhbmNlbCgpO1xuICB9XG5cbiAgcmVuZGVyU2VsZWN0ZWRHcmlkUGF0dGVybigpIHtcbiAgICBjb25zdCBjb2xzUmF0aW9zID0gdGhpcy5zdGF0ZS5jb2xzUmF0aW9zO1xuICAgIHJldHVybiBjb2xzUmF0aW9zLmpvaW4oJyAtICcpO1xuICB9XG5cbiAgcmVuZGVyQnJlYWtQb2ludFNldHRpbmcoKSB7XG4gICAgY29uc3QgeyB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IG91dHB1dCA9IE9iamVjdC5lbnRyaWVzKHJlc1NpemVPYmopLm1hcCgocmVzcG9uc2l2ZVNpemVGb3JNYXApID0+IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYga2V5PXtyZXNwb25zaXZlU2l6ZUZvck1hcFswXX0gY2xhc3NOYW1lPVwiY3VzdG9tLWNvbnRyb2wgY3VzdG9tLXJhZGlvIGN1c3RvbS1jb250cm9sLWlubGluZVwiPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sLWlucHV0XCJcbiAgICAgICAgICAgIGlkPXtyZXNwb25zaXZlU2l6ZUZvck1hcFsxXS5kaXNwbGF5VGV4dH1cbiAgICAgICAgICAgIHZhbHVlPXtyZXNwb25zaXZlU2l6ZUZvck1hcFsxXS5kaXNwbGF5VGV4dH1cbiAgICAgICAgICAgIGNoZWNrZWQ9e3RoaXMuc3RhdGUucmVzcG9uc2l2ZVNpemUgPT09IHJlc3BvbnNpdmVTaXplRm9yTWFwWzBdfVxuICAgICAgICAgICAgb25DaGFuZ2U9e2UgPT4gdGhpcy5jaGVja1Jlc3Bvc2l2ZVNpemUocmVzcG9uc2l2ZVNpemVGb3JNYXBbMF0pfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sLWxhYmVsXCIgaHRtbEZvcj17cmVzcG9uc2l2ZVNpemVGb3JNYXBbMV0uZGlzcGxheVRleHR9PlxuICAgICAgICAgICAge3QocmVzcG9uc2l2ZVNpemVGb3JNYXBbMV0uZGlzcGxheVRleHQpfVxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9KTtcbiAgICByZXR1cm4gb3V0cHV0O1xuICB9XG5cbiAgcmVuZGVyR3JpZERpdmlzaW9uTWVudSgpIHtcbiAgICBjb25zdCBncmlkRGl2aXNpb25zID0gZ2V1Lm1hcHBpbmdBbGxHcmlkRGl2aXNpb25QYXR0ZXJucztcbiAgICBjb25zdCB7IHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAge2dyaWREaXZpc2lvbnMubWFwKChncmlkRGl2aXNpb24pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG51bU9mRGl2aXNpb25zID0gZ3JpZERpdmlzaW9uLm51bWJlck9mR3JpZERpdmlzaW9ucztcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxkaXYga2V5PXtgJHtudW1PZkRpdmlzaW9uc30tZGl2aXNpb25zYH0gY2xhc3NOYW1lPVwiY29sLW1kLTQgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8aDYgY2xhc3NOYW1lPVwiZHJvcGRvd24taGVhZGVyXCI+e251bU9mRGl2aXNpb25zfSB7dCgnZ3JpZF9lZGl0LmRpdmlzaW9uJyl9PC9oNj5cbiAgICAgICAgICAgICAgICB7Z3JpZERpdmlzaW9uLm1hcHBpbmcubWFwKChncmlkT25lRGl2aXNpb24pID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGtleU9mUm93ID0gYCR7bnVtT2ZEaXZpc2lvbnN9LWRpdmlzaW9ucy0ke2dyaWRPbmVEaXZpc2lvbi5qb2luKCctJyl9YDtcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24ga2V5PXtrZXlPZlJvd30gY2xhc3NOYW1lPVwiZHJvcGRvd24taXRlbVwiIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXsoKSA9PiB7IHRoaXMuY2hlY2tDb2xzUmF0aW9zKGdyaWRPbmVEaXZpc2lvbikgfX0+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtncmlkT25lRGl2aXNpb24ubWFwKChnb2QsIGkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qga2V5T2ZDb2wgPSBgJHtrZXlPZlJvd30tJHtpfWA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNsYXNzTmFtZSA9IGBiZy1pbmZvIGNvbC0ke2dvZH0gYm9yZGVyYDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxzcGFuIGtleT17a2V5T2ZDb2x9IGNsYXNzTmFtZT17Y2xhc3NOYW1lfT57Z29kfTwvc3Bhbj47XG4gICAgICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuXG4gIHJlbmRlclByZXZpZXcoKSB7XG4gICAgY29uc3QgeyB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGlzTWRTZWxlY3RlZCA9IHRoaXMuc3RhdGUucmVzcG9uc2l2ZVNpemUgPT09IEJvb3RzdHJhcEdyaWQuUmVzcG9uc2l2ZVNpemUuTURfU0laRTtcbiAgICBjb25zdCBpc1hzU2VsZWN0ZWQgPSB0aGlzLnN0YXRlLnJlc3BvbnNpdmVTaXplID09PSBCb290c3RyYXBHcmlkLlJlc3BvbnNpdmVTaXplLlhTX1NJWkU7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGdydy1ncmlkLWVkaXQtcHJldmlldyBib3JkZXIgbXktNCBwLTNcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtbGctMlwiPlxuICAgICAgICAgIDxoNCBjbGFzc05hbWU9XCJkLWJsb2NrIG10LTJcIj57dCgncGhvbmUnKX08L2g0PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibW9iaWxlLXByZXZpZXcgZC1ibG9jayBweC0zIHB5LTJcIj5cbiAgICAgICAgICAgIHt0aGlzLnJlbmRlckdyaWRQcmV2aWV3KCFpc1hzU2VsZWN0ZWQpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtbGctM1wiPlxuICAgICAgICAgIDxoNCBjbGFzc05hbWU9XCJkLWJsb2NrIG10LTJcIj57dCgndGFibGV0Jyl9PC9oND5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRhYmxldC1wcmV2aWV3IGQtYmxvY2sgcHgtMyBweS0yXCI+XG4gICAgICAgICAgICB7dGhpcy5yZW5kZXJHcmlkUHJldmlldyhpc01kU2VsZWN0ZWQpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtbGctNFwiPlxuICAgICAgICAgIDxoNCBjbGFzc05hbWU9XCJkLWJsb2NrIG10LTJcIj57dCgnZGVza3RvcCcpfTwvaDQ+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXNrdG9wLXByZXZpZXcgZC1ibG9jayBweC0zIHB5LTJcIj5cbiAgICAgICAgICAgIHt0aGlzLnJlbmRlckdyaWRQcmV2aWV3KGZhbHNlKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG5cbiAgcmVuZGVyR3JpZFByZXZpZXcoaXNCcmVha0VuYWJsZWQpIHtcbiAgICBjb25zdCB7IGNvbHNSYXRpb3MgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBjb25zdCBjb252ZXJ0ZWRIVE1MID0gY29sc1JhdGlvcy5tYXAoKGNvbHNSYXRpbywgaSkgPT4ge1xuICAgICAgY29uc3QgcmF0aW8gPSBpc0JyZWFrRW5hYmxlZCA/IDEyIDogY29sc1JhdGlvO1xuICAgICAgY29uc3Qga2V5ID0gYGdyaWQtcHJldmlldy1jb2wtJHtpfWA7XG4gICAgICBjb25zdCBjbGFzc05hbWUgPSBgY29sLSR7cmF0aW99IGdyaWQtZWRpdC1ib3JkZXItZm9yLWVhY2gtY29sc2A7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGtleT17a2V5fSBjbGFzc05hbWU9e2Ake2tleX0gJHtjbGFzc05hbWV9YH0+PC9kaXY+XG4gICAgICApO1xuICAgIH0pO1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPntjb252ZXJ0ZWRIVE1MfTwvZGl2PlxuICAgICk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyB0IH0gPSB0aGlzLnByb3BzO1xuICAgIHJldHVybiAoXG4gICAgICA8TW9kYWwgaXNPcGVuPXt0aGlzLnN0YXRlLnNob3d9IHRvZ2dsZT17dGhpcy5jYW5jZWx9IHNpemU9XCJ4bFwiIGNsYXNzTmFtZT1cImdydy1ncmlkLWVkaXQtbW9kYWxcIj5cbiAgICAgICAgPE1vZGFsSGVhZGVyIHRhZz1cImg0XCIgdG9nZ2xlPXt0aGlzLmNhbmNlbH0gY2xhc3NOYW1lPVwiYmctcHJpbWFyeSB0ZXh0LWxpZ2h0XCI+XG4gICAgICAgICAge3QoJ2dyaWRfZWRpdC5jcmVhdGVfYm9vdHN0cmFwXzRfZ3JpZCcpfVxuICAgICAgICA8L01vZGFsSGVhZGVyPlxuICAgICAgICA8TW9kYWxCb2R5IGNsYXNzTmFtZT1cImNvbnRhaW5lclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0xMlwiPlxuICAgICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwiZ3J3LW1vZGFsLWhlYWRcIj57dCgnZ3JpZF9lZGl0LmdyaWRfc2V0dGluZ3MnKX08L2gzPlxuICAgICAgICAgICAgICA8Zm9ybSBjbGFzc05hbWU9XCJmb3JtLWdyb3VwIG1iLTBcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZvcm0tZ3JvdXAgcm93IG15LTNcIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9XCJjb2wtc20tM1wiIGh0bWxGb3I9XCJncmlkUGF0dGVyblwiPlxuICAgICAgICAgICAgICAgICAgICB7dCgnZ3JpZF9lZGl0LmdyaWRfcGF0dGVybicpfVxuICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLXNtLTlcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnkgZHJvcGRvd24tdG9nZ2xlXCJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICBpZD1cImRyb3Bkb3duTWVudUJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgZGF0YS10b2dnbGU9XCJkcm9wZG93blwiXG4gICAgICAgICAgICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJTZWxlY3RlZEdyaWRQYXR0ZXJuKCl9XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRyb3Bkb3duLW1lbnUgZ3JpZC1kaXZpc2lvbi1tZW51XCIgYXJpYS1sYWJlbGxlZGJ5PVwiZHJvcGRvd25NZW51QnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAge3RoaXMucmVuZGVyR3JpZERpdmlzaW9uTWVudSgpfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZm9ybS1ncm91cCByb3dcIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9XCJjb2wtc20tM1wiIGh0bWxGb3I9XCJicmVha1BvaW50XCI+XG4gICAgICAgICAgICAgICAgICAgIHt0KCdncmlkX2VkaXQuYnJlYWtfcG9pbnQnKX1cbiAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC1zbS05XCI+XG4gICAgICAgICAgICAgICAgICAgIHt0aGlzLnJlbmRlckJyZWFrUG9pbnRTZXR0aW5nKCl9XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9mb3JtPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGgzIGNsYXNzTmFtZT1cImdydy1tb2RhbC1oZWFkXCI+e3QoJ3ByZXZpZXcnKX08L2gzPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTEyXCI+XG4gICAgICAgICAgICB7dGhpcy5yZW5kZXJQcmV2aWV3KCl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvTW9kYWxCb2R5PlxuICAgICAgICA8TW9kYWxGb290ZXIgY2xhc3NOYW1lPVwiZ3J3LW1vZGFsLWZvb3RlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWwtYXV0b1wiPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3NOYW1lPVwibXItMiBidG4gYnRuLXNlY29uZGFyeVwiIG9uQ2xpY2s9e3RoaXMuY2FuY2VsfT5cbiAgICAgICAgICAgICAgQ2FuY2VsXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzTmFtZT1cImJ0biBidG4tcHJpbWFyeVwiIG9uQ2xpY2s9e3RoaXMucGFzdGVDb2RlZEdyaWR9PlxuICAgICAgICAgICAgICBEb25lXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Nb2RhbEZvb3Rlcj5cbiAgICAgIDwvTW9kYWw+XG4gICAgKTtcbiAgfVxuXG59XG5cbkdyaWRFZGl0TW9kYWwucHJvcFR5cGVzID0ge1xuICBvblNhdmU6IFByb3BUeXBlcy5mdW5jLFxuICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxufTtcbmV4cG9ydCBkZWZhdWx0IHdpdGhUcmFuc2xhdGlvbigndHJhbnNsYXRpb24nLCB7IHdpdGhSZWY6IHRydWUgfSkoR3JpZEVkaXRNb2RhbCk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7Ozs7O0FBSUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUhBO0FBQ0E7QUFJQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFOQTtBQVFBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQVFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUlBO0FBR0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBSUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBSUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTkE7QUFVQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQU9BO0FBQUE7QUFDQTtBQUFBO0FBSUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBT0E7QUFDQTtBQXRPQTtBQUNBO0FBd09BO0FBQ0E7QUFDQTtBQUZBO0FBSUE7QUFBQTtBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/PageEditor/GridEditModal.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageEditor/GridEditorUtil.js":
- /*!***************************************************************!*\
- !*** ./src/client/js/components/PageEditor/GridEditorUtil.js ***!
- \***************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Utility for grid editor\n */\nclass GridEditorUtil {\n constructor() {\n // https://regex101.com/r/7BN2fR/11\n this.lineBeginPartOfGridRE = /^:::(\\s.*)editable-row$/;\n this.lineEndPartOfGridRE = /^:::$/;\n this.mappingAllGridDivisionPatterns = [{\n numberOfGridDivisions: 2,\n mapping: [[2, 10], [4, 8], [6, 6], [8, 4], [10, 2]]\n }, {\n numberOfGridDivisions: 3,\n mapping: [[2, 5, 5], [5, 2, 5], [5, 5, 2], [4, 4, 4], [3, 3, 6], [3, 6, 3], [6, 3, 3]]\n }, {\n numberOfGridDivisions: 4,\n mapping: [[2, 2, 4, 4], [4, 4, 2, 2], [2, 4, 2, 4], [4, 2, 4, 2], [3, 3, 3, 3], [2, 2, 2, 6], [6, 2, 2, 2]]\n }];\n this.isInGridBlock = this.isInGridBlock.bind(this);\n this.replaceGridWithHtmlWithEditor = this.replaceGridWithHtmlWithEditor.bind(this);\n }\n /**\n * return boolean value whether the cursor position is in a grid block\n */\n\n\n isInGridBlock(editor) {\n const bog = this.getBog(editor);\n const eog = this.getEog(editor);\n\n if (bog === null || eog === null) {\n return false;\n }\n\n return JSON.stringify(bog) !== JSON.stringify(eog);\n }\n /**\n * return grid html where the cursor is\n */\n\n\n getGridHtml(editor) {\n const curPos = editor.getCursor();\n\n if (this.isInGridBlock(editor)) {\n const bog = this.getBog(editor);\n const eog = this.getEog(editor); // skip block begin sesion(\"::: editable-row\")\n\n bog.line++; // skip block end sesion(\":::\")\n\n eog.line--;\n eog.ch = editor.getDoc().getLine(eog.line).length;\n return editor.getDoc().getRange(bog, eog);\n }\n\n return editor.getDoc().getLine(curPos.line);\n }\n /**\n * return the postion of the BOD(beginning of grid)\n */\n\n\n getBog(editor) {\n const curPos = editor.getCursor();\n const firstLine = editor.getDoc().firstLine();\n\n if (this.lineBeginPartOfGridRE.test(editor.getDoc().getLine(curPos.line))) {\n return {\n line: curPos.line,\n ch: 0\n };\n }\n\n let line = curPos.line - 1;\n let isFound = false;\n\n for (; line >= firstLine; line--) {\n const strLine = editor.getDoc().getLine(line);\n\n if (this.lineBeginPartOfGridRE.test(strLine)) {\n isFound = true;\n break;\n }\n\n if (this.lineEndPartOfGridRE.test(strLine)) {\n isFound = false;\n break;\n }\n }\n\n if (!isFound) {\n return null;\n }\n\n const bodLine = Math.max(firstLine, line);\n return {\n line: bodLine,\n ch: 0\n };\n }\n /**\n * return the postion of the EOD(end of grid)\n */\n\n\n getEog(editor) {\n const curPos = editor.getCursor();\n const lastLine = editor.getDoc().lastLine();\n\n if (this.lineEndPartOfGridRE.test(editor.getDoc().getLine(curPos.line))) {\n return {\n line: curPos.line,\n ch: editor.getDoc().getLine(curPos.line).length\n };\n }\n\n let line = curPos.line + 1;\n let isFound = false;\n\n for (; line <= lastLine; line++) {\n const strLine = editor.getDoc().getLine(line);\n\n if (this.lineEndPartOfGridRE.test(strLine)) {\n isFound = true;\n break;\n }\n\n if (this.lineBeginPartOfGridRE.test(strLine)) {\n isFound = false;\n break;\n }\n }\n\n if (!isFound) {\n return null;\n }\n\n const eodLine = Math.min(line, lastLine);\n const lineLength = editor.getDoc().getLine(eodLine).length;\n return {\n line: eodLine,\n ch: lineLength\n };\n }\n\n replaceGridWithHtmlWithEditor(editor, grid) {\n const curPos = editor.getCursor();\n let bog = this.getBog(editor);\n let eog = this.getEog(editor);\n\n if (bog === null || eog === null) {\n bog = curPos;\n eog = curPos;\n }\n\n editor.getDoc().replaceRange(grid.toString(), bog, eog);\n editor.getDoc().setCursor(curPos.line + 1, 2);\n }\n\n convertRatiosAndSizeToHTML(ratioNumbers, responsiveSize) {\n const cols = ratioNumbers.map((ratioNumber, i) => {\n const spaceTab = ' ';\n const className = `col${responsiveSize !== 'xs' ? `-${responsiveSize}` : ''}-${ratioNumber} bsGrid${i + 1}`;\n return `${spaceTab}${spaceTab}<div class=\"${className}\">Content</div>`;\n });\n return cols.join('\\n');\n }\n\n} // singleton pattern\n\n\nconst instance = new GridEditorUtil();\nObject.freeze(instance);\n/* harmony default export */ __webpack_exports__[\"default\"] = (instance);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci9HcmlkRWRpdG9yVXRpbC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9QYWdlRWRpdG9yL0dyaWRFZGl0b3JVdGlsLmpzPzgwYWYiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBVdGlsaXR5IGZvciBncmlkIGVkaXRvclxuICovXG5jbGFzcyBHcmlkRWRpdG9yVXRpbCB7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gaHR0cHM6Ly9yZWdleDEwMS5jb20vci83Qk4yZlIvMTFcbiAgICB0aGlzLmxpbmVCZWdpblBhcnRPZkdyaWRSRSA9IC9eOjo6KFxccy4qKWVkaXRhYmxlLXJvdyQvO1xuICAgIHRoaXMubGluZUVuZFBhcnRPZkdyaWRSRSA9IC9eOjo6JC87XG4gICAgdGhpcy5tYXBwaW5nQWxsR3JpZERpdmlzaW9uUGF0dGVybnMgPSBbXG4gICAgICB7XG4gICAgICAgIG51bWJlck9mR3JpZERpdmlzaW9uczogMixcbiAgICAgICAgbWFwcGluZzogW1syLCAxMF0sIFs0LCA4XSwgWzYsIDZdLCBbOCwgNF0sIFsxMCwgMl1dLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbnVtYmVyT2ZHcmlkRGl2aXNpb25zOiAzLFxuICAgICAgICBtYXBwaW5nOiBbWzIsIDUsIDVdLCBbNSwgMiwgNV0sIFs1LCA1LCAyXSwgWzQsIDQsIDRdLCBbMywgMywgNl0sIFszLCA2LCAzXSwgWzYsIDMsIDNdXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG51bWJlck9mR3JpZERpdmlzaW9uczogNCxcbiAgICAgICAgbWFwcGluZzogW1syLCAyLCA0LCA0XSwgWzQsIDQsIDIsIDJdLCBbMiwgNCwgMiwgNF0sIFs0LCAyLCA0LCAyXSwgWzMsIDMsIDMsIDNdLCBbMiwgMiwgMiwgNl0sIFs2LCAyLCAyLCAyXV0sXG4gICAgICB9LFxuICAgIF07XG4gICAgdGhpcy5pc0luR3JpZEJsb2NrID0gdGhpcy5pc0luR3JpZEJsb2NrLmJpbmQodGhpcyk7XG4gICAgdGhpcy5yZXBsYWNlR3JpZFdpdGhIdG1sV2l0aEVkaXRvciA9IHRoaXMucmVwbGFjZUdyaWRXaXRoSHRtbFdpdGhFZGl0b3IuYmluZCh0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiByZXR1cm4gYm9vbGVhbiB2YWx1ZSB3aGV0aGVyIHRoZSBjdXJzb3IgcG9zaXRpb24gaXMgaW4gYSBncmlkIGJsb2NrXG4gICAqL1xuICBpc0luR3JpZEJsb2NrKGVkaXRvcikge1xuICAgIGNvbnN0IGJvZyA9IHRoaXMuZ2V0Qm9nKGVkaXRvcik7XG4gICAgY29uc3QgZW9nID0gdGhpcy5nZXRFb2coZWRpdG9yKTtcbiAgICBpZiAoYm9nID09PSBudWxsIHx8IGVvZyA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gKEpTT04uc3RyaW5naWZ5KGJvZykgIT09IEpTT04uc3RyaW5naWZ5KGVvZykpO1xuICB9XG5cbiAgLyoqXG4gICAqIHJldHVybiBncmlkIGh0bWwgd2hlcmUgdGhlIGN1cnNvciBpc1xuICAgKi9cbiAgZ2V0R3JpZEh0bWwoZWRpdG9yKSB7XG4gICAgY29uc3QgY3VyUG9zID0gZWRpdG9yLmdldEN1cnNvcigpO1xuXG4gICAgaWYgKHRoaXMuaXNJbkdyaWRCbG9jayhlZGl0b3IpKSB7XG4gICAgICBjb25zdCBib2cgPSB0aGlzLmdldEJvZyhlZGl0b3IpO1xuICAgICAgY29uc3QgZW9nID0gdGhpcy5nZXRFb2coZWRpdG9yKTtcbiAgICAgIC8vIHNraXAgYmxvY2sgYmVnaW4gc2VzaW9uKFwiOjo6IGVkaXRhYmxlLXJvd1wiKVxuICAgICAgYm9nLmxpbmUrKztcbiAgICAgIC8vIHNraXAgYmxvY2sgZW5kIHNlc2lvbihcIjo6OlwiKVxuICAgICAgZW9nLmxpbmUtLTtcbiAgICAgIGVvZy5jaCA9IGVkaXRvci5nZXREb2MoKS5nZXRMaW5lKGVvZy5saW5lKS5sZW5ndGg7XG4gICAgICByZXR1cm4gZWRpdG9yLmdldERvYygpLmdldFJhbmdlKGJvZywgZW9nKTtcbiAgICB9XG4gICAgcmV0dXJuIGVkaXRvci5nZXREb2MoKS5nZXRMaW5lKGN1clBvcy5saW5lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiByZXR1cm4gdGhlIHBvc3Rpb24gb2YgdGhlIEJPRChiZWdpbm5pbmcgb2YgZ3JpZClcbiAgICovXG4gIGdldEJvZyhlZGl0b3IpIHtcbiAgICBjb25zdCBjdXJQb3MgPSBlZGl0b3IuZ2V0Q3Vyc29yKCk7XG4gICAgY29uc3QgZmlyc3RMaW5lID0gZWRpdG9yLmdldERvYygpLmZpcnN0TGluZSgpO1xuXG4gICAgaWYgKHRoaXMubGluZUJlZ2luUGFydE9mR3JpZFJFLnRlc3QoZWRpdG9yLmdldERvYygpLmdldExpbmUoY3VyUG9zLmxpbmUpKSkge1xuICAgICAgcmV0dXJuIHsgbGluZTogY3VyUG9zLmxpbmUsIGNoOiAwIH07XG4gICAgfVxuXG4gICAgbGV0IGxpbmUgPSBjdXJQb3MubGluZSAtIDE7XG4gICAgbGV0IGlzRm91bmQgPSBmYWxzZTtcbiAgICBmb3IgKDsgbGluZSA+PSBmaXJzdExpbmU7IGxpbmUtLSkge1xuICAgICAgY29uc3Qgc3RyTGluZSA9IGVkaXRvci5nZXREb2MoKS5nZXRMaW5lKGxpbmUpO1xuICAgICAgaWYgKHRoaXMubGluZUJlZ2luUGFydE9mR3JpZFJFLnRlc3Qoc3RyTGluZSkpIHtcbiAgICAgICAgaXNGb3VuZCA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5saW5lRW5kUGFydE9mR3JpZFJFLnRlc3Qoc3RyTGluZSkpIHtcbiAgICAgICAgaXNGb3VuZCA9IGZhbHNlO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIWlzRm91bmQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGJvZExpbmUgPSBNYXRoLm1heChmaXJzdExpbmUsIGxpbmUpO1xuICAgIHJldHVybiB7IGxpbmU6IGJvZExpbmUsIGNoOiAwIH07XG4gIH1cblxuICAvKipcbiAgICogcmV0dXJuIHRoZSBwb3N0aW9uIG9mIHRoZSBFT0QoZW5kIG9mIGdyaWQpXG4gICAqL1xuICBnZXRFb2coZWRpdG9yKSB7XG4gICAgY29uc3QgY3VyUG9zID0gZWRpdG9yLmdldEN1cnNvcigpO1xuICAgIGNvbnN0IGxhc3RMaW5lID0gZWRpdG9yLmdldERvYygpLmxhc3RMaW5lKCk7XG5cbiAgICBpZiAodGhpcy5saW5lRW5kUGFydE9mR3JpZFJFLnRlc3QoZWRpdG9yLmdldERvYygpLmdldExpbmUoY3VyUG9zLmxpbmUpKSkge1xuICAgICAgcmV0dXJuIHsgbGluZTogY3VyUG9zLmxpbmUsIGNoOiBlZGl0b3IuZ2V0RG9jKCkuZ2V0TGluZShjdXJQb3MubGluZSkubGVuZ3RoIH07XG4gICAgfVxuXG4gICAgbGV0IGxpbmUgPSBjdXJQb3MubGluZSArIDE7XG4gICAgbGV0IGlzRm91bmQgPSBmYWxzZTtcbiAgICBmb3IgKDsgbGluZSA8PSBsYXN0TGluZTsgbGluZSsrKSB7XG4gICAgICBjb25zdCBzdHJMaW5lID0gZWRpdG9yLmdldERvYygpLmdldExpbmUobGluZSk7XG4gICAgICBpZiAodGhpcy5saW5lRW5kUGFydE9mR3JpZFJFLnRlc3Qoc3RyTGluZSkpIHtcbiAgICAgICAgaXNGb3VuZCA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5saW5lQmVnaW5QYXJ0T2ZHcmlkUkUudGVzdChzdHJMaW5lKSkge1xuICAgICAgICBpc0ZvdW5kID0gZmFsc2U7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghaXNGb3VuZCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgZW9kTGluZSA9IE1hdGgubWluKGxpbmUsIGxhc3RMaW5lKTtcbiAgICBjb25zdCBsaW5lTGVuZ3RoID0gZWRpdG9yLmdldERvYygpLmdldExpbmUoZW9kTGluZSkubGVuZ3RoO1xuICAgIHJldHVybiB7IGxpbmU6IGVvZExpbmUsIGNoOiBsaW5lTGVuZ3RoIH07XG4gIH1cblxuICByZXBsYWNlR3JpZFdpdGhIdG1sV2l0aEVkaXRvcihlZGl0b3IsIGdyaWQpIHtcbiAgICBjb25zdCBjdXJQb3MgPSBlZGl0b3IuZ2V0Q3Vyc29yKCk7XG4gICAgbGV0IGJvZyA9IHRoaXMuZ2V0Qm9nKGVkaXRvcik7XG4gICAgbGV0IGVvZyA9IHRoaXMuZ2V0RW9nKGVkaXRvcik7XG5cbiAgICBpZiAoYm9nID09PSBudWxsIHx8IGVvZyA9PT0gbnVsbCkge1xuICAgICAgYm9nID0gY3VyUG9zO1xuICAgICAgZW9nID0gY3VyUG9zO1xuICAgIH1cblxuICAgIGVkaXRvci5nZXREb2MoKS5yZXBsYWNlUmFuZ2UoZ3JpZC50b1N0cmluZygpLCBib2csIGVvZyk7XG4gICAgZWRpdG9yLmdldERvYygpLnNldEN1cnNvcihjdXJQb3MubGluZSArIDEsIDIpO1xuICB9XG5cbiAgY29udmVydFJhdGlvc0FuZFNpemVUb0hUTUwocmF0aW9OdW1iZXJzLCByZXNwb25zaXZlU2l6ZSkge1xuICAgIGNvbnN0IGNvbHMgPSByYXRpb051bWJlcnMubWFwKChyYXRpb051bWJlciwgaSkgPT4ge1xuICAgICAgY29uc3Qgc3BhY2VUYWIgPSAnICAgICc7XG4gICAgICBjb25zdCBjbGFzc05hbWUgPSBgY29sJHtyZXNwb25zaXZlU2l6ZSAhPT0gJ3hzJyA/IGAtJHtyZXNwb25zaXZlU2l6ZX1gIDogJyd9LSR7cmF0aW9OdW1iZXJ9IGJzR3JpZCR7aSArIDF9YDtcbiAgICAgIHJldHVybiBgJHtzcGFjZVRhYn0ke3NwYWNlVGFifTxkaXYgY2xhc3M9XCIke2NsYXNzTmFtZX1cIj5Db250ZW50PC9kaXY+YDtcbiAgICB9KTtcbiAgICByZXR1cm4gY29scy5qb2luKCdcXG4nKTtcbiAgfVxuXG59XG5cbi8vIHNpbmdsZXRvbiBwYXR0ZXJuXG5jb25zdCBpbnN0YW5jZSA9IG5ldyBHcmlkRWRpdG9yVXRpbCgpO1xuT2JqZWN0LmZyZWV6ZShpbnN0YW5jZSk7XG5leHBvcnQgZGVmYXVsdCBpbnN0YW5jZTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTs7O0FBR0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUZBO0FBS0E7QUFDQTtBQUZBO0FBS0E7QUFDQTtBQUZBO0FBS0E7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFsSkE7QUFDQTtBQUNBO0FBb0pBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/PageEditor/GridEditorUtil.js\n");
- /***/ }),
- /***/ "./src/client/js/components/PageEditor/HandsontableModal.jsx":
- /*!*******************************************************************!*\
- !*** ./src/client/js/components/PageEditor/HandsontableModal.jsx ***!
- \*******************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return HandsontableModal; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var reactstrap_es_Collapse__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! reactstrap/es/Collapse */ \"./node_modules/reactstrap/es/Collapse.js\");\n/* harmony import */ var reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! reactstrap/es/Modal */ \"./node_modules/reactstrap/es/Modal.js\");\n/* harmony import */ var reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! reactstrap/es/ModalHeader */ \"./node_modules/reactstrap/es/ModalHeader.js\");\n/* harmony import */ var reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! reactstrap/es/ModalBody */ \"./node_modules/reactstrap/es/ModalBody.js\");\n/* harmony import */ var reactstrap_es_ModalFooter__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! reactstrap/es/ModalFooter */ \"./node_modules/reactstrap/es/ModalFooter.js\");\n/* harmony import */ var handsontable__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! handsontable */ \"./node_modules/handsontable/dist/handsontable.js\");\n/* harmony import */ var handsontable__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(handsontable__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _handsontable_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @handsontable/react */ \"./node_modules/@handsontable/react/dist/react-handsontable.js\");\n/* harmony import */ var _handsontable_react__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_handsontable_react__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var throttle_debounce__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! throttle-debounce */ \"./node_modules/throttle-debounce/index.esm.js\");\n/* harmony import */ var _MarkdownTableDataImportForm__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./MarkdownTableDataImportForm */ \"./src/client/js/components/PageEditor/MarkdownTableDataImportForm.jsx\");\n/* harmony import */ var _models_MarkdownTable__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../models/MarkdownTable */ \"./src/client/js/models/MarkdownTable.js\");\n/* harmony import */ var _ExpandOrContractButton__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../ExpandOrContractButton */ \"./src/client/js/components/ExpandOrContractButton.jsx\");\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst DEFAULT_HOT_HEIGHT = 300;\nconst MARKDOWNTABLE_TO_HANDSONTABLE_ALIGNMENT_SYMBOL_MAPPING = {\n r: 'htRight',\n c: 'htCenter',\n l: 'htLeft',\n '': ''\n};\nclass HandsontableModal extends react__WEBPACK_IMPORTED_MODULE_0___default.a.PureComponent {\n constructor(props) {\n super(props);\n /*\n * ## Note ##\n * Currently, this component try to synchronize the cells data and alignment data of state.markdownTable with these of the HotTable.\n * However, changes made by the following operations are not synchronized.\n *\n * 1. move columns: Alignment changes are synchronized but data changes are not.\n * 2. move rows: Data changes are not synchronized.\n * 3. insert columns or rows: Data changes are synchronized but alignment changes are not.\n * 4. delete columns or rows: Data changes are synchronized but alignment changes are not.\n *\n * However, all operations are reflected in the data to be saved because the HotTable data is used when the save method is called.\n */\n\n this.state = {\n show: false,\n isDataImportAreaExpanded: false,\n isWindowExpanded: false,\n markdownTableOnInit: HandsontableModal.getDefaultMarkdownTable(),\n markdownTable: HandsontableModal.getDefaultMarkdownTable(),\n handsontableHeight: DEFAULT_HOT_HEIGHT\n };\n this.init = this.init.bind(this);\n this.reset = this.reset.bind(this);\n this.cancel = this.cancel.bind(this);\n this.save = this.save.bind(this);\n this.afterLoadDataHandler = this.afterLoadDataHandler.bind(this);\n this.beforeColumnResizeHandler = this.beforeColumnResizeHandler.bind(this);\n this.afterColumnResizeHandler = this.afterColumnResizeHandler.bind(this);\n this.modifyColWidthHandler = this.modifyColWidthHandler.bind(this);\n this.beforeColumnMoveHandler = this.beforeColumnMoveHandler.bind(this);\n this.afterColumnMoveHandler = this.afterColumnMoveHandler.bind(this);\n this.synchronizeAlignment = this.synchronizeAlignment.bind(this);\n this.alignButtonHandler = this.alignButtonHandler.bind(this);\n this.toggleDataImportArea = this.toggleDataImportArea.bind(this);\n this.importData = this.importData.bind(this);\n this.expandWindow = this.expandWindow.bind(this);\n this.contractWindow = this.contractWindow.bind(this); // create debounced method for expanding HotTable\n\n this.expandHotTableHeightWithDebounce = Object(throttle_debounce__WEBPACK_IMPORTED_MODULE_9__[\"debounce\"])(100, this.expandHotTableHeight); // a Set instance that stores column indices which are resized manually.\n // these columns will NOT be determined the width automatically by 'modifyColWidthHandler'\n\n this.manuallyResizedColumnIndicesSet = new Set(); // generate setting object for HotTable instance\n\n this.handsontableSettings = Object.assign(HandsontableModal.getDefaultHandsontableSetting(), {\n contextMenu: this.createCustomizedContextMenu()\n });\n }\n\n init(markdownTable) {\n const initMarkdownTable = markdownTable || HandsontableModal.getDefaultMarkdownTable();\n this.setState({\n markdownTableOnInit: initMarkdownTable,\n markdownTable: initMarkdownTable.clone()\n });\n this.manuallyResizedColumnIndicesSet.clear();\n }\n\n createCustomizedContextMenu() {\n return {\n items: {\n row_above: {},\n row_below: {},\n col_left: {},\n col_right: {},\n separator1: handsontable__WEBPACK_IMPORTED_MODULE_7___default.a.plugins.ContextMenu.SEPARATOR,\n remove_row: {},\n remove_col: {},\n separator2: handsontable__WEBPACK_IMPORTED_MODULE_7___default.a.plugins.ContextMenu.SEPARATOR,\n custom_alignment: {\n name: 'Align columns',\n key: 'align_columns',\n submenu: {\n items: [{\n name: 'Left',\n key: 'align_columns:1',\n callback: (key, selection) => {\n this.align('l', selection[0].start.col, selection[0].end.col);\n }\n }, {\n name: 'Center',\n key: 'align_columns:2',\n callback: (key, selection) => {\n this.align('c', selection[0].start.col, selection[0].end.col);\n }\n }, {\n name: 'Right',\n key: 'align_columns:3',\n callback: (key, selection) => {\n this.align('r', selection[0].start.col, selection[0].end.col);\n }\n }]\n }\n }\n }\n };\n }\n\n show(markdownTable) {\n this.init(markdownTable);\n this.setState({\n show: true\n });\n }\n\n hide() {\n this.setState({\n show: false,\n isDataImportAreaExpanded: false,\n isWindowExpanded: false\n });\n }\n /**\n * Reset table data to initial value\n *\n * ## Note ##\n * It may not return completely to the initial state because of the manualColumnMove operations.\n * https://github.com/handsontable/handsontable/issues/5591\n */\n\n\n reset() {\n this.setState({\n markdownTable: this.state.markdownTableOnInit.clone()\n });\n }\n\n cancel() {\n this.hide();\n }\n\n save() {\n const markdownTable = new _models_MarkdownTable__WEBPACK_IMPORTED_MODULE_11__[\"default\"](this.hotTable.hotInstance.getData(), this.markdownTableOption).normalizeCells();\n\n if (this.props.onSave != null) {\n this.props.onSave(markdownTable);\n }\n\n this.hide();\n }\n /**\n * An afterLoadData hook\n *\n * This performs the following operations.\n * - clear 'manuallyResizedColumnIndicesSet' for the first loading\n * - synchronize the handsontable alignment to the markdowntable alignment\n *\n * ## Note ##\n * The afterLoadData hook is called when one of the following states of this component are passed into the setState.\n *\n * - markdownTable\n * - handsontableHeight\n *\n * In detail, when the setState method is called with those state passed,\n * React will start re-render process for the HotTable of this component because the HotTable receives those state values by props.\n * HotTable#shouldComponentUpdate is called in this re-render process and calls the updateSettings method for the Handsontable instance.\n * In updateSettings method, the loadData method is called in some case.\n * (refs: https://github.com/handsontable/handsontable/blob/6.2.0/src/core.js#L1652-L1657)\n * The updateSettings method calls in the HotTable always lead to call the loadData method because the HotTable passes data source by settings.data.\n * After the loadData method is executed, afterLoadData hooks are called.\n */\n\n\n afterLoadDataHandler(initialLoad) {\n if (initialLoad) {\n this.manuallyResizedColumnIndicesSet.clear();\n }\n\n this.synchronizeAlignment();\n }\n\n beforeColumnResizeHandler(currentColumn) {\n /*\n * The following bug disturbs to use 'beforeColumnResizeHandler' to store column index -- 2018.10.23 Yuki Takei\n * https://github.com/handsontable/handsontable/issues/3328\n *\n * At the moment, using 'afterColumnResizeHandler' instead.\n */\n // store column index\n // this.manuallyResizedColumnIndicesSet.add(currentColumn);\n }\n\n afterColumnResizeHandler(currentColumn) {\n /*\n * The following bug disturbs to use 'beforeColumnResizeHandler' to store column index -- 2018.10.23 Yuki Takei\n * https://github.com/handsontable/handsontable/issues/3328\n *\n * At the moment, using 'afterColumnResizeHandler' instead.\n */\n // store column index\n this.manuallyResizedColumnIndicesSet.add(currentColumn); // force re-render\n\n const hotInstance = this.hotTable.hotInstance;\n hotInstance.render();\n }\n\n modifyColWidthHandler(width, column) {\n // return original width if the column index exists in 'manuallyResizedColumnIndicesSet'\n if (this.manuallyResizedColumnIndicesSet.has(column)) {\n return width;\n } // return fixed width if first initializing\n\n\n return Math.max(80, Math.min(400, width));\n }\n\n beforeColumnMoveHandler(columns, target) {\n // clear 'manuallyResizedColumnIndicesSet'\n this.manuallyResizedColumnIndicesSet.clear();\n }\n /**\n * An afterColumnMove hook.\n *\n * This synchronizes alignment when columns are moved by manualColumnMove\n */\n\n\n afterColumnMoveHandler(columns, target) {\n const align = [].concat(this.state.markdownTable.options.align);\n const removed = align.splice(columns[0], columns.length);\n /*\n * The following is a description of the algorithm for the alignment synchronization.\n *\n * Consider the case where the target is X and the columns are [2,3] and data is as follows.\n *\n * 0 1 2 3 4 5 (insert position number)\n * +-+-+-+-+-+\n * | | | | | |\n * +-+-+-+-+-+\n * 0 1 2 3 4 (column index number)\n *\n * At first, remove columns by the splice.\n *\n * 0 1 2 4 5\n * +-+-+ +-+\n * | | | | |\n * +-+-+ +-+\n * 0 1 4\n *\n * Next, insert those columns into a new position.\n * However the target number is a insert position number before deletion, it may be changed.\n * These are changed as follows.\n *\n * Before:\n * 0 1 2 4 5\n * +-+-+ +-+\n * | | | | |\n * +-+-+ +-+\n *\n * After:\n * 0 1 2 2 3\n * +-+-+ +-+\n * | | | | |\n * +-+-+ +-+\n *\n * If X is 0, 1 or 2, that is, lower than columns[0], the target number is not changed.\n * If X is 4 or 5, that is, higher than columns[columns.length - 1], the target number is modified to the original value minus columns.length.\n *\n */\n\n let insertPosition = 0;\n\n if (target <= columns[0]) {\n insertPosition = target;\n } else if (columns[columns.length - 1] < target) {\n insertPosition = target - columns.length;\n }\n\n align.splice(...[insertPosition, 0].concat(removed));\n this.setState(prevState => {\n // change only align info, so share table data to avoid redundant copy\n const newMarkdownTable = new _models_MarkdownTable__WEBPACK_IMPORTED_MODULE_11__[\"default\"](prevState.markdownTable.table, {\n align\n });\n return {\n markdownTable: newMarkdownTable\n };\n }, () => {\n this.synchronizeAlignment();\n });\n }\n /**\n * change the markdownTable alignment and synchronize the handsontable alignment to it\n */\n\n\n align(direction, startCol, endCol) {\n this.setState(prevState => {\n // change only align info, so share table data to avoid redundant copy\n const newMarkdownTable = new _models_MarkdownTable__WEBPACK_IMPORTED_MODULE_11__[\"default\"](prevState.markdownTable.table, {\n align: [].concat(prevState.markdownTable.options.align)\n });\n\n for (let i = startCol; i <= endCol; i++) {\n newMarkdownTable.options.align[i] = direction;\n }\n\n return {\n markdownTable: newMarkdownTable\n };\n }, () => {\n this.synchronizeAlignment();\n });\n }\n /**\n * synchronize the handsontable alignment to the markdowntable alignment\n */\n\n\n synchronizeAlignment() {\n if (this.hotTable == null) {\n return;\n }\n\n const align = this.state.markdownTable.options.align;\n const hotInstance = this.hotTable.hotInstance;\n\n for (let i = 0; i < align.length; i++) {\n for (let j = 0; j < hotInstance.countRows(); j++) {\n hotInstance.setCellMeta(j, i, 'className', MARKDOWNTABLE_TO_HANDSONTABLE_ALIGNMENT_SYMBOL_MAPPING[align[i]]);\n }\n }\n\n hotInstance.render();\n }\n\n alignButtonHandler(direction) {\n const selectedRange = this.hotTable.hotInstance.getSelectedRange();\n if (selectedRange == null) return;\n let startCol;\n let endCol;\n\n if (selectedRange[0].from.col < selectedRange[0].to.col) {\n startCol = selectedRange[0].from.col;\n endCol = selectedRange[0].to.col;\n } else {\n startCol = selectedRange[0].to.col;\n endCol = selectedRange[0].from.col;\n }\n\n this.align(direction, startCol, endCol);\n }\n\n toggleDataImportArea() {\n this.setState({\n isDataImportAreaExpanded: !this.state.isDataImportAreaExpanded\n });\n }\n /**\n * Import a markdowntable\n *\n * ## Note ##\n * The manualColumnMove operation affects the column order of imported data.\n * https://github.com/handsontable/handsontable/issues/5591\n */\n\n\n importData(markdownTable) {\n this.init(markdownTable);\n this.toggleDataImportArea();\n }\n\n expandWindow() {\n this.setState({\n isWindowExpanded: true\n }); // invoke updateHotTableHeight method with delay\n // cz. Resizing this.refs.hotTableContainer is completed after a little delay after 'isWindowExpanded' set with 'true'\n\n this.expandHotTableHeightWithDebounce();\n }\n\n contractWindow() {\n this.setState({\n isWindowExpanded: false,\n handsontableHeight: DEFAULT_HOT_HEIGHT\n });\n }\n /**\n * Expand the height of the Handsontable\n * by updating 'handsontableHeight' state\n * according to the height of this.refs.hotTableContainer\n */\n\n\n expandHotTableHeight() {\n if (this.state.isWindowExpanded && this.hotTableContainer != null) {\n const height = this.hotTableContainer.getBoundingClientRect().height;\n this.setState({\n handsontableHeight: height\n });\n }\n }\n\n get markdownTableOption() {\n return {\n align: [].concat(this.state.markdownTable.options.align),\n pad: this.props.ignoreAutoFormatting !== true\n };\n }\n\n renderCloseButton() {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"close\",\n onClick: this.cancel,\n \"aria-label\": \"Close\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n \"aria-hidden\": \"true\"\n }, \"\\xD7\"));\n }\n\n render() {\n const buttons = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", null, this.renderCloseButton(), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ExpandOrContractButton__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n isWindowExpanded: this.state.isWindowExpanded,\n contractWindow: this.contractWindow,\n expandWindow: this.expandWindow\n }));\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n isOpen: this.state.show,\n toggle: this.cancel,\n backdrop: \"static\",\n keyboard: false,\n size: \"lg\",\n className: `handsontable-modal ${this.state.isWindowExpanded && 'grw-modal-expanded'}`\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n tag: \"h4\",\n toggle: this.cancel,\n close: buttons,\n className: \"bg-primary text-light\"\n }, \"Edit Table\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"p-0 d-flex flex-column\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"grw-hot-modal-navbar px-4 py-3 border-bottom\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"mr-4 data-import-button btn btn-secondary\",\n \"data-toggle\": \"collapse\",\n \"data-target\": \"#collapseDataImport\",\n \"aria-expanded\": this.state.isDataImportAreaExpanded,\n onClick: this.toggleDataImportArea\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"mr-3\"\n }, \"Data Import\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: this.state.isDataImportAreaExpanded ? 'fa fa-angle-up' : 'fa fa-angle-down'\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n role: \"group\",\n className: \"btn-group\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-secondary\",\n onClick: () => {\n this.alignButtonHandler('l');\n }\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"ti-align-left\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-secondary\",\n onClick: () => {\n this.alignButtonHandler('c');\n }\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"ti-align-center\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-secondary\",\n onClick: () => {\n this.alignButtonHandler('r');\n }\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"ti-align-right\"\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Collapse__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n isOpen: this.state.isDataImportAreaExpanded\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"mt-4\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_MarkdownTableDataImportForm__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n onCancel: this.toggleDataImportArea,\n onImport: this.importData\n })))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n ref: c => {\n this.hotTableContainer = c;\n },\n className: \"m-4 hot-table-container\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_handsontable_react__WEBPACK_IMPORTED_MODULE_8__[\"HotTable\"], {\n ref: c => {\n this.hotTable = c;\n },\n data: this.state.markdownTable.table,\n settings: this.handsontableSettings,\n height: this.state.handsontableHeight,\n afterLoadData: this.afterLoadDataHandler,\n modifyColWidth: this.modifyColWidthHandler,\n beforeColumnMove: this.beforeColumnMoveHandler,\n beforeColumnResize: this.beforeColumnResizeHandler,\n afterColumnResize: this.afterColumnResizeHandler,\n afterColumnMove: this.afterColumnMoveHandler\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalFooter__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"grw-modal-footer\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-danger\",\n onClick: this.reset\n }, \"Reset\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"ml-auto\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"mr-2 btn btn-secondary\",\n onClick: this.cancel\n }, \"Cancel\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-primary\",\n onClick: this.save\n }, \"Done\"))));\n }\n\n static getDefaultMarkdownTable() {\n return new _models_MarkdownTable__WEBPACK_IMPORTED_MODULE_11__[\"default\"]([['col1', 'col2', 'col3'], ['', '', ''], ['', '', '']], {\n align: ['', '', '']\n });\n }\n\n static getDefaultHandsontableSetting() {\n return {\n rowHeaders: true,\n colHeaders: true,\n manualRowMove: true,\n manualRowResize: true,\n manualColumnMove: true,\n manualColumnResize: true,\n selectionMode: 'multiple',\n outsideClickDeselects: false\n };\n }\n\n}\nHandsontableModal.propTypes = {\n onSave: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n ignoreAutoFormatting: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci9IYW5kc29udGFibGVNb2RhbC5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci9IYW5kc29udGFibGVNb2RhbC5qc3g/ZWM1YSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuaW1wb3J0IHtcbiAgQ29sbGFwc2UsXG4gIE1vZGFsLCBNb2RhbEhlYWRlciwgTW9kYWxCb2R5LCBNb2RhbEZvb3Rlcixcbn0gZnJvbSAncmVhY3RzdHJhcCc7XG5cbmltcG9ydCBIYW5kc29udGFibGUgZnJvbSAnaGFuZHNvbnRhYmxlJztcbmltcG9ydCB7IEhvdFRhYmxlIH0gZnJvbSAnQGhhbmRzb250YWJsZS9yZWFjdCc7XG5pbXBvcnQgeyBkZWJvdW5jZSB9IGZyb20gJ3Rocm90dGxlLWRlYm91bmNlJztcblxuXG5pbXBvcnQgTWFya2Rvd25UYWJsZURhdGFJbXBvcnRGb3JtIGZyb20gJy4vTWFya2Rvd25UYWJsZURhdGFJbXBvcnRGb3JtJztcbmltcG9ydCBNYXJrZG93blRhYmxlIGZyb20gJy4uLy4uL21vZGVscy9NYXJrZG93blRhYmxlJztcbmltcG9ydCBFeHBhbmRPckNvbnRyYWN0QnV0dG9uIGZyb20gJy4uL0V4cGFuZE9yQ29udHJhY3RCdXR0b24nO1xuXG5jb25zdCBERUZBVUxUX0hPVF9IRUlHSFQgPSAzMDA7XG5jb25zdCBNQVJLRE9XTlRBQkxFX1RPX0hBTkRTT05UQUJMRV9BTElHTk1FTlRfU1lNQk9MX01BUFBJTkcgPSB7XG4gIHI6ICdodFJpZ2h0JyxcbiAgYzogJ2h0Q2VudGVyJyxcbiAgbDogJ2h0TGVmdCcsXG4gICcnOiAnJyxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEhhbmRzb250YWJsZU1vZGFsIGV4dGVuZHMgUmVhY3QuUHVyZUNvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICAvKlxuICAgICAqICMjIE5vdGUgIyNcbiAgICAgKiBDdXJyZW50bHksIHRoaXMgY29tcG9uZW50IHRyeSB0byBzeW5jaHJvbml6ZSB0aGUgY2VsbHMgZGF0YSBhbmQgYWxpZ25tZW50IGRhdGEgb2Ygc3RhdGUubWFya2Rvd25UYWJsZSB3aXRoIHRoZXNlIG9mIHRoZSBIb3RUYWJsZS5cbiAgICAgKiBIb3dldmVyLCBjaGFuZ2VzIG1hZGUgYnkgdGhlIGZvbGxvd2luZyBvcGVyYXRpb25zIGFyZSBub3Qgc3luY2hyb25pemVkLlxuICAgICAqXG4gICAgICogMS4gbW92ZSBjb2x1bW5zOiBBbGlnbm1lbnQgY2hhbmdlcyBhcmUgc3luY2hyb25pemVkIGJ1dCBkYXRhIGNoYW5nZXMgYXJlIG5vdC5cbiAgICAgKiAyLiBtb3ZlIHJvd3M6IERhdGEgY2hhbmdlcyBhcmUgbm90IHN5bmNocm9uaXplZC5cbiAgICAgKiAzLiBpbnNlcnQgY29sdW1ucyBvciByb3dzOiBEYXRhIGNoYW5nZXMgYXJlIHN5bmNocm9uaXplZCBidXQgYWxpZ25tZW50IGNoYW5nZXMgYXJlIG5vdC5cbiAgICAgKiA0LiBkZWxldGUgY29sdW1ucyBvciByb3dzOiBEYXRhIGNoYW5nZXMgYXJlIHN5bmNocm9uaXplZCBidXQgYWxpZ25tZW50IGNoYW5nZXMgYXJlIG5vdC5cbiAgICAgKlxuICAgICAqIEhvd2V2ZXIsIGFsbCBvcGVyYXRpb25zIGFyZSByZWZsZWN0ZWQgaW4gdGhlIGRhdGEgdG8gYmUgc2F2ZWQgYmVjYXVzZSB0aGUgSG90VGFibGUgZGF0YSBpcyB1c2VkIHdoZW4gdGhlIHNhdmUgbWV0aG9kIGlzIGNhbGxlZC5cbiAgICAgKi9cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgc2hvdzogZmFsc2UsXG4gICAgICBpc0RhdGFJbXBvcnRBcmVhRXhwYW5kZWQ6IGZhbHNlLFxuICAgICAgaXNXaW5kb3dFeHBhbmRlZDogZmFsc2UsXG4gICAgICBtYXJrZG93blRhYmxlT25Jbml0OiBIYW5kc29udGFibGVNb2RhbC5nZXREZWZhdWx0TWFya2Rvd25UYWJsZSgpLFxuICAgICAgbWFya2Rvd25UYWJsZTogSGFuZHNvbnRhYmxlTW9kYWwuZ2V0RGVmYXVsdE1hcmtkb3duVGFibGUoKSxcbiAgICAgIGhhbmRzb250YWJsZUhlaWdodDogREVGQVVMVF9IT1RfSEVJR0hULFxuICAgIH07XG5cbiAgICB0aGlzLmluaXQgPSB0aGlzLmluaXQuYmluZCh0aGlzKTtcbiAgICB0aGlzLnJlc2V0ID0gdGhpcy5yZXNldC5iaW5kKHRoaXMpO1xuICAgIHRoaXMuY2FuY2VsID0gdGhpcy5jYW5jZWwuYmluZCh0aGlzKTtcbiAgICB0aGlzLnNhdmUgPSB0aGlzLnNhdmUuYmluZCh0aGlzKTtcbiAgICB0aGlzLmFmdGVyTG9hZERhdGFIYW5kbGVyID0gdGhpcy5hZnRlckxvYWREYXRhSGFuZGxlci5iaW5kKHRoaXMpO1xuICAgIHRoaXMuYmVmb3JlQ29sdW1uUmVzaXplSGFuZGxlciA9IHRoaXMuYmVmb3JlQ29sdW1uUmVzaXplSGFuZGxlci5iaW5kKHRoaXMpO1xuICAgIHRoaXMuYWZ0ZXJDb2x1bW5SZXNpemVIYW5kbGVyID0gdGhpcy5hZnRlckNvbHVtblJlc2l6ZUhhbmRsZXIuYmluZCh0aGlzKTtcbiAgICB0aGlzLm1vZGlmeUNvbFdpZHRoSGFuZGxlciA9IHRoaXMubW9kaWZ5Q29sV2lkdGhIYW5kbGVyLmJpbmQodGhpcyk7XG4gICAgdGhpcy5iZWZvcmVDb2x1bW5Nb3ZlSGFuZGxlciA9IHRoaXMuYmVmb3JlQ29sdW1uTW92ZUhhbmRsZXIuYmluZCh0aGlzKTtcbiAgICB0aGlzLmFmdGVyQ29sdW1uTW92ZUhhbmRsZXIgPSB0aGlzLmFmdGVyQ29sdW1uTW92ZUhhbmRsZXIuYmluZCh0aGlzKTtcbiAgICB0aGlzLnN5bmNocm9uaXplQWxpZ25tZW50ID0gdGhpcy5zeW5jaHJvbml6ZUFsaWdubWVudC5iaW5kKHRoaXMpO1xuICAgIHRoaXMuYWxpZ25CdXR0b25IYW5kbGVyID0gdGhpcy5hbGlnbkJ1dHRvbkhhbmRsZXIuYmluZCh0aGlzKTtcbiAgICB0aGlzLnRvZ2dsZURhdGFJbXBvcnRBcmVhID0gdGhpcy50b2dnbGVEYXRhSW1wb3J0QXJlYS5iaW5kKHRoaXMpO1xuICAgIHRoaXMuaW1wb3J0RGF0YSA9IHRoaXMuaW1wb3J0RGF0YS5iaW5kKHRoaXMpO1xuICAgIHRoaXMuZXhwYW5kV2luZG93ID0gdGhpcy5leHBhbmRXaW5kb3cuYmluZCh0aGlzKTtcbiAgICB0aGlzLmNvbnRyYWN0V2luZG93ID0gdGhpcy5jb250cmFjdFdpbmRvdy5iaW5kKHRoaXMpO1xuXG4gICAgLy8gY3JlYXRlIGRlYm91bmNlZCBtZXRob2QgZm9yIGV4cGFuZGluZyBIb3RUYWJsZVxuICAgIHRoaXMuZXhwYW5kSG90VGFibGVIZWlnaHRXaXRoRGVib3VuY2UgPSBkZWJvdW5jZSgxMDAsIHRoaXMuZXhwYW5kSG90VGFibGVIZWlnaHQpO1xuXG4gICAgLy8gYSBTZXQgaW5zdGFuY2UgdGhhdCBzdG9yZXMgY29sdW1uIGluZGljZXMgd2hpY2ggYXJlIHJlc2l6ZWQgbWFudWFsbHkuXG4gICAgLy8gdGhlc2UgY29sdW1ucyB3aWxsIE5PVCBiZSBkZXRlcm1pbmVkIHRoZSB3aWR0aCBhdXRvbWF0aWNhbGx5IGJ5ICdtb2RpZnlDb2xXaWR0aEhhbmRsZXInXG4gICAgdGhpcy5tYW51YWxseVJlc2l6ZWRDb2x1bW5JbmRpY2VzU2V0ID0gbmV3IFNldCgpO1xuXG4gICAgLy8gZ2VuZXJhdGUgc2V0dGluZyBvYmplY3QgZm9yIEhvdFRhYmxlIGluc3RhbmNlXG4gICAgdGhpcy5oYW5kc29udGFibGVTZXR0aW5ncyA9IE9iamVjdC5hc3NpZ24oSGFuZHNvbnRhYmxlTW9kYWwuZ2V0RGVmYXVsdEhhbmRzb250YWJsZVNldHRpbmcoKSwge1xuICAgICAgY29udGV4dE1lbnU6IHRoaXMuY3JlYXRlQ3VzdG9taXplZENvbnRleHRNZW51KCksXG4gICAgfSk7XG4gIH1cblxuICBpbml0KG1hcmtkb3duVGFibGUpIHtcbiAgICBjb25zdCBpbml0TWFya2Rvd25UYWJsZSA9IG1hcmtkb3duVGFibGUgfHwgSGFuZHNvbnRhYmxlTW9kYWwuZ2V0RGVmYXVsdE1hcmtkb3duVGFibGUoKTtcbiAgICB0aGlzLnNldFN0YXRlKFxuICAgICAge1xuICAgICAgICBtYXJrZG93blRhYmxlT25Jbml0OiBpbml0TWFya2Rvd25UYWJsZSxcbiAgICAgICAgbWFya2Rvd25UYWJsZTogaW5pdE1hcmtkb3duVGFibGUuY2xvbmUoKSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHRoaXMubWFudWFsbHlSZXNpemVkQ29sdW1uSW5kaWNlc1NldC5jbGVhcigpO1xuICB9XG5cbiAgY3JlYXRlQ3VzdG9taXplZENvbnRleHRNZW51KCkge1xuICAgIHJldHVybiB7XG4gICAgICBpdGVtczoge1xuICAgICAgICByb3dfYWJvdmU6IHt9LFxuICAgICAgICByb3dfYmVsb3c6IHt9LFxuICAgICAgICBjb2xfbGVmdDoge30sXG4gICAgICAgIGNvbF9yaWdodDoge30sXG4gICAgICAgIHNlcGFyYXRvcjE6IEhhbmRzb250YWJsZS5wbHVnaW5zLkNvbnRleHRNZW51LlNFUEFSQVRPUixcbiAgICAgICAgcmVtb3ZlX3Jvdzoge30sXG4gICAgICAgIHJlbW92ZV9jb2w6IHt9LFxuICAgICAgICBzZXBhcmF0b3IyOiBIYW5kc29udGFibGUucGx1Z2lucy5Db250ZXh0TWVudS5TRVBBUkFUT1IsXG4gICAgICAgIGN1c3RvbV9hbGlnbm1lbnQ6IHtcbiAgICAgICAgICBuYW1lOiAnQWxpZ24gY29sdW1ucycsXG4gICAgICAgICAga2V5OiAnYWxpZ25fY29sdW1ucycsXG4gICAgICAgICAgc3VibWVudToge1xuICAgICAgICAgICAgaXRlbXM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdMZWZ0JyxcbiAgICAgICAgICAgICAgICBrZXk6ICdhbGlnbl9jb2x1bW5zOjEnLFxuICAgICAgICAgICAgICAgIGNhbGxiYWNrOiAoa2V5LCBzZWxlY3Rpb24pID0+IHsgdGhpcy5hbGlnbignbCcsIHNlbGVjdGlvblswXS5zdGFydC5jb2wsIHNlbGVjdGlvblswXS5lbmQuY29sKSB9LFxuICAgICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ0NlbnRlcicsXG4gICAgICAgICAgICAgICAga2V5OiAnYWxpZ25fY29sdW1uczoyJyxcbiAgICAgICAgICAgICAgICBjYWxsYmFjazogKGtleSwgc2VsZWN0aW9uKSA9PiB7IHRoaXMuYWxpZ24oJ2MnLCBzZWxlY3Rpb25bMF0uc3RhcnQuY29sLCBzZWxlY3Rpb25bMF0uZW5kLmNvbCkgfSxcbiAgICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdSaWdodCcsXG4gICAgICAgICAgICAgICAga2V5OiAnYWxpZ25fY29sdW1uczozJyxcbiAgICAgICAgICAgICAgICBjYWxsYmFjazogKGtleSwgc2VsZWN0aW9uKSA9PiB7IHRoaXMuYWxpZ24oJ3InLCBzZWxlY3Rpb25bMF0uc3RhcnQuY29sLCBzZWxlY3Rpb25bMF0uZW5kLmNvbCkgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHNob3cobWFya2Rvd25UYWJsZSkge1xuICAgIHRoaXMuaW5pdChtYXJrZG93blRhYmxlKTtcbiAgICB0aGlzLnNldFN0YXRlKHsgc2hvdzogdHJ1ZSB9KTtcbiAgfVxuXG4gIGhpZGUoKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBzaG93OiBmYWxzZSxcbiAgICAgIGlzRGF0YUltcG9ydEFyZWFFeHBhbmRlZDogZmFsc2UsXG4gICAgICBpc1dpbmRvd0V4cGFuZGVkOiBmYWxzZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldCB0YWJsZSBkYXRhIHRvIGluaXRpYWwgdmFsdWVcbiAgICpcbiAgICogIyMgTm90ZSAjI1xuICAgKiBJdCBtYXkgbm90IHJldHVybiBjb21wbGV0ZWx5IHRvIHRoZSBpbml0aWFsIHN0YXRlIGJlY2F1c2Ugb2YgdGhlIG1hbnVhbENvbHVtbk1vdmUgb3BlcmF0aW9ucy5cbiAgICogaHR0cHM6Ly9naXRodWIuY29tL2hhbmRzb250YWJsZS9oYW5kc29udGFibGUvaXNzdWVzLzU1OTFcbiAgICovXG4gIHJlc2V0KCkge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBtYXJrZG93blRhYmxlOiB0aGlzLnN0YXRlLm1hcmtkb3duVGFibGVPbkluaXQuY2xvbmUoKSB9KTtcbiAgfVxuXG4gIGNhbmNlbCgpIHtcbiAgICB0aGlzLmhpZGUoKTtcbiAgfVxuXG4gIHNhdmUoKSB7XG4gICAgY29uc3QgbWFya2Rvd25UYWJsZSA9IG5ldyBNYXJrZG93blRhYmxlKFxuICAgICAgdGhpcy5ob3RUYWJsZS5ob3RJbnN0YW5jZS5nZXREYXRhKCksXG4gICAgICB0aGlzLm1hcmtkb3duVGFibGVPcHRpb24sXG4gICAgKS5ub3JtYWxpemVDZWxscygpO1xuXG4gICAgaWYgKHRoaXMucHJvcHMub25TYXZlICE9IG51bGwpIHtcbiAgICAgIHRoaXMucHJvcHMub25TYXZlKG1hcmtkb3duVGFibGUpO1xuICAgIH1cblxuICAgIHRoaXMuaGlkZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFuIGFmdGVyTG9hZERhdGEgaG9va1xuICAgKlxuICAgKiBUaGlzIHBlcmZvcm1zIHRoZSBmb2xsb3dpbmcgb3BlcmF0aW9ucy5cbiAgICogLSBjbGVhciAnbWFudWFsbHlSZXNpemVkQ29sdW1uSW5kaWNlc1NldCcgZm9yIHRoZSBmaXJzdCBsb2FkaW5nXG4gICAqIC0gc3luY2hyb25pemUgdGhlIGhhbmRzb250YWJsZSBhbGlnbm1lbnQgdG8gdGhlIG1hcmtkb3dudGFibGUgYWxpZ25tZW50XG4gICAqXG4gICAqICMjIE5vdGUgIyNcbiAgICogVGhlIGFmdGVyTG9hZERhdGEgaG9vayBpcyBjYWxsZWQgd2hlbiBvbmUgb2YgdGhlIGZvbGxvd2luZyBzdGF0ZXMgb2YgdGhpcyBjb21wb25lbnQgYXJlIHBhc3NlZCBpbnRvIHRoZSBzZXRTdGF0ZS5cbiAgICpcbiAgICogLSBtYXJrZG93blRhYmxlXG4gICAqIC0gaGFuZHNvbnRhYmxlSGVpZ2h0XG4gICAqXG4gICAqIEluIGRldGFpbCwgd2hlbiB0aGUgc2V0U3RhdGUgbWV0aG9kIGlzIGNhbGxlZCB3aXRoIHRob3NlIHN0YXRlIHBhc3NlZCxcbiAgICogUmVhY3Qgd2lsbCBzdGFydCByZS1yZW5kZXIgcHJvY2VzcyBmb3IgdGhlIEhvdFRhYmxlIG9mIHRoaXMgY29tcG9uZW50IGJlY2F1c2UgdGhlIEhvdFRhYmxlIHJlY2VpdmVzIHRob3NlIHN0YXRlIHZhbHVlcyBieSBwcm9wcy5cbiAgICogSG90VGFibGUjc2hvdWxkQ29tcG9uZW50VXBkYXRlIGlzIGNhbGxlZCBpbiB0aGlzIHJlLXJlbmRlciBwcm9jZXNzIGFuZCBjYWxscyB0aGUgdXBkYXRlU2V0dGluZ3MgbWV0aG9kIGZvciB0aGUgSGFuZHNvbnRhYmxlIGluc3RhbmNlLlxuICAgKiBJbiB1cGRhdGVTZXR0aW5ncyBtZXRob2QsIHRoZSBsb2FkRGF0YSBtZXRob2QgaXMgY2FsbGVkIGluIHNvbWUgY2FzZS5cbiAgICogIChyZWZzOiBodHRwczovL2dpdGh1Yi5jb20vaGFuZHNvbnRhYmxlL2hhbmRzb250YWJsZS9ibG9iLzYuMi4wL3NyYy9jb3JlLmpzI0wxNjUyLUwxNjU3KVxuICAgKiBUaGUgdXBkYXRlU2V0dGluZ3MgbWV0aG9kIGNhbGxzIGluIHRoZSBIb3RUYWJsZSBhbHdheXMgbGVhZCB0byBjYWxsIHRoZSBsb2FkRGF0YSBtZXRob2QgYmVjYXVzZSB0aGUgSG90VGFibGUgcGFzc2VzIGRhdGEgc291cmNlIGJ5IHNldHRpbmdzLmRhdGEuXG4gICAqIEFmdGVyIHRoZSBsb2FkRGF0YSBtZXRob2QgaXMgZXhlY3V0ZWQsIGFmdGVyTG9hZERhdGEgaG9va3MgYXJlIGNhbGxlZC5cbiAgICovXG4gIGFmdGVyTG9hZERhdGFIYW5kbGVyKGluaXRpYWxMb2FkKSB7XG4gICAgaWYgKGluaXRpYWxMb2FkKSB7XG4gICAgICB0aGlzLm1hbnVhbGx5UmVzaXplZENvbHVtbkluZGljZXNTZXQuY2xlYXIoKTtcbiAgICB9XG5cbiAgICB0aGlzLnN5bmNocm9uaXplQWxpZ25tZW50KCk7XG4gIH1cblxuICBiZWZvcmVDb2x1bW5SZXNpemVIYW5kbGVyKGN1cnJlbnRDb2x1bW4pIHtcbiAgICAvKlxuICAgICAqIFRoZSBmb2xsb3dpbmcgYnVnIGRpc3R1cmJzIHRvIHVzZSAnYmVmb3JlQ29sdW1uUmVzaXplSGFuZGxlcicgdG8gc3RvcmUgY29sdW1uIGluZGV4IC0tIDIwMTguMTAuMjMgWXVraSBUYWtlaVxuICAgICAqIGh0dHBzOi8vZ2l0aHViLmNvbS9oYW5kc29udGFibGUvaGFuZHNvbnRhYmxlL2lzc3Vlcy8zMzI4XG4gICAgICpcbiAgICAgKiBBdCB0aGUgbW9tZW50LCB1c2luZyAnYWZ0ZXJDb2x1bW5SZXNpemVIYW5kbGVyJyBpbnN0ZWFkLlxuICAgICAqL1xuXG4gICAgLy8gc3RvcmUgY29sdW1uIGluZGV4XG4gICAgLy8gdGhpcy5tYW51YWxseVJlc2l6ZWRDb2x1bW5JbmRpY2VzU2V0LmFkZChjdXJyZW50Q29sdW1uKTtcbiAgfVxuXG4gIGFmdGVyQ29sdW1uUmVzaXplSGFuZGxlcihjdXJyZW50Q29sdW1uKSB7XG4gICAgLypcbiAgICAgKiBUaGUgZm9sbG93aW5nIGJ1ZyBkaXN0dXJicyB0byB1c2UgJ2JlZm9yZUNvbHVtblJlc2l6ZUhhbmRsZXInIHRvIHN0b3JlIGNvbHVtbiBpbmRleCAtLSAyMDE4LjEwLjIzIFl1a2kgVGFrZWlcbiAgICAgKiBodHRwczovL2dpdGh1Yi5jb20vaGFuZHNvbnRhYmxlL2hhbmRzb250YWJsZS9pc3N1ZXMvMzMyOFxuICAgICAqXG4gICAgICogQXQgdGhlIG1vbWVudCwgdXNpbmcgJ2FmdGVyQ29sdW1uUmVzaXplSGFuZGxlcicgaW5zdGVhZC5cbiAgICAgKi9cblxuICAgIC8vIHN0b3JlIGNvbHVtbiBpbmRleFxuICAgIHRoaXMubWFudWFsbHlSZXNpemVkQ29sdW1uSW5kaWNlc1NldC5hZGQoY3VycmVudENvbHVtbik7XG4gICAgLy8gZm9yY2UgcmUtcmVuZGVyXG4gICAgY29uc3QgaG90SW5zdGFuY2UgPSB0aGlzLmhvdFRhYmxlLmhvdEluc3RhbmNlO1xuICAgIGhvdEluc3RhbmNlLnJlbmRlcigpO1xuICB9XG5cbiAgbW9kaWZ5Q29sV2lkdGhIYW5kbGVyKHdpZHRoLCBjb2x1bW4pIHtcbiAgICAvLyByZXR1cm4gb3JpZ2luYWwgd2lkdGggaWYgdGhlIGNvbHVtbiBpbmRleCBleGlzdHMgaW4gJ21hbnVhbGx5UmVzaXplZENvbHVtbkluZGljZXNTZXQnXG4gICAgaWYgKHRoaXMubWFudWFsbHlSZXNpemVkQ29sdW1uSW5kaWNlc1NldC5oYXMoY29sdW1uKSkge1xuICAgICAgcmV0dXJuIHdpZHRoO1xuICAgIH1cbiAgICAvLyByZXR1cm4gZml4ZWQgd2lkdGggaWYgZmlyc3QgaW5pdGlhbGl6aW5nXG4gICAgcmV0dXJuIE1hdGgubWF4KDgwLCBNYXRoLm1pbig0MDAsIHdpZHRoKSk7XG4gIH1cblxuICBiZWZvcmVDb2x1bW5Nb3ZlSGFuZGxlcihjb2x1bW5zLCB0YXJnZXQpIHtcbiAgICAvLyBjbGVhciAnbWFudWFsbHlSZXNpemVkQ29sdW1uSW5kaWNlc1NldCdcbiAgICB0aGlzLm1hbnVhbGx5UmVzaXplZENvbHVtbkluZGljZXNTZXQuY2xlYXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbiBhZnRlckNvbHVtbk1vdmUgaG9vay5cbiAgICpcbiAgICogVGhpcyBzeW5jaHJvbml6ZXMgYWxpZ25tZW50IHdoZW4gY29sdW1ucyBhcmUgbW92ZWQgYnkgbWFudWFsQ29sdW1uTW92ZVxuICAgKi9cbiAgYWZ0ZXJDb2x1bW5Nb3ZlSGFuZGxlcihjb2x1bW5zLCB0YXJnZXQpIHtcbiAgICBjb25zdCBhbGlnbiA9IFtdLmNvbmNhdCh0aGlzLnN0YXRlLm1hcmtkb3duVGFibGUub3B0aW9ucy5hbGlnbik7XG4gICAgY29uc3QgcmVtb3ZlZCA9IGFsaWduLnNwbGljZShjb2x1bW5zWzBdLCBjb2x1bW5zLmxlbmd0aCk7XG5cbiAgICAvKlxuICAgICAqIFRoZSBmb2xsb3dpbmcgaXMgYSBkZXNjcmlwdGlvbiBvZiB0aGUgYWxnb3JpdGhtIGZvciB0aGUgYWxpZ25tZW50IHN5bmNocm9uaXphdGlvbi5cbiAgICAgKlxuICAgICAqIENvbnNpZGVyIHRoZSBjYXNlIHdoZXJlIHRoZSB0YXJnZXQgaXMgWCBhbmQgdGhlIGNvbHVtbnMgYXJlIFsyLDNdIGFuZCBkYXRhIGlzIGFzIGZvbGxvd3MuXG4gICAgICpcbiAgICAgKiAwIDEgMiAzIDQgNSAoaW5zZXJ0IHBvc2l0aW9uIG51bWJlcilcbiAgICAgKiArLSstKy0rLSstK1xuICAgICAqIHwgfCB8IHwgfCB8XG4gICAgICogKy0rLSstKy0rLStcbiAgICAgKiAgMCAxIDIgMyA0ICAoY29sdW1uIGluZGV4IG51bWJlcilcbiAgICAgKlxuICAgICAqIEF0IGZpcnN0LCByZW1vdmUgY29sdW1ucyBieSB0aGUgc3BsaWNlLlxuICAgICAqXG4gICAgICogMCAxIDIgICA0IDVcbiAgICAgKiArLSstKyAgICstK1xuICAgICAqIHwgfCB8ICAgfCB8XG4gICAgICogKy0rLSsgICArLStcbiAgICAgKiAgMCAxICAgICA0XG4gICAgICpcbiAgICAgKiBOZXh0LCBpbnNlcnQgdGhvc2UgY29sdW1ucyBpbnRvIGEgbmV3IHBvc2l0aW9uLlxuICAgICAqIEhvd2V2ZXIgdGhlIHRhcmdldCBudW1iZXIgaXMgYSBpbnNlcnQgcG9zaXRpb24gbnVtYmVyIGJlZm9yZSBkZWxldGlvbiwgaXQgbWF5IGJlIGNoYW5nZWQuXG4gICAgICogVGhlc2UgYXJlIGNoYW5nZWQgYXMgZm9sbG93cy5cbiAgICAgKlxuICAgICAqIEJlZm9yZTpcbiAgICAgKiAwIDEgMiAgIDQgNVxuICAgICAqICstKy0rICAgKy0rXG4gICAgICogfCB8IHwgICB8IHxcbiAgICAgKiArLSstKyAgICstK1xuICAgICAqXG4gICAgICogQWZ0ZXI6XG4gICAgICogMCAxIDIgICAyIDNcbiAgICAgKiArLSstKyAgICstK1xuICAgICAqIHwgfCB8ICAgfCB8XG4gICAgICogKy0rLSsgICArLStcbiAgICAgKlxuICAgICAqIElmIFggaXMgMCwgMSBvciAyLCB0aGF0IGlzLCBsb3dlciB0aGFuIGNvbHVtbnNbMF0sIHRoZSB0YXJnZXQgbnVtYmVyIGlzIG5vdCBjaGFuZ2VkLlxuICAgICAqIElmIFggaXMgNCBvciA1LCB0aGF0IGlzLCBoaWdoZXIgdGhhbiBjb2x1bW5zW2NvbHVtbnMubGVuZ3RoIC0gMV0sIHRoZSB0YXJnZXQgbnVtYmVyIGlzIG1vZGlmaWVkIHRvIHRoZSBvcmlnaW5hbCB2YWx1ZSBtaW51cyBjb2x1bW5zLmxlbmd0aC5cbiAgICAgKlxuICAgICAqL1xuICAgIGxldCBpbnNlcnRQb3NpdGlvbiA9IDA7XG4gICAgaWYgKHRhcmdldCA8PSBjb2x1bW5zWzBdKSB7XG4gICAgICBpbnNlcnRQb3NpdGlvbiA9IHRhcmdldDtcbiAgICB9XG4gICAgZWxzZSBpZiAoY29sdW1uc1tjb2x1bW5zLmxlbmd0aCAtIDFdIDwgdGFyZ2V0KSB7XG4gICAgICBpbnNlcnRQb3NpdGlvbiA9IHRhcmdldCAtIGNvbHVtbnMubGVuZ3RoO1xuICAgIH1cbiAgICBhbGlnbi5zcGxpY2UoLi4uW2luc2VydFBvc2l0aW9uLCAwXS5jb25jYXQocmVtb3ZlZCkpO1xuXG4gICAgdGhpcy5zZXRTdGF0ZSgocHJldlN0YXRlKSA9PiB7XG4gICAgICAvLyBjaGFuZ2Ugb25seSBhbGlnbiBpbmZvLCBzbyBzaGFyZSB0YWJsZSBkYXRhIHRvIGF2b2lkIHJlZHVuZGFudCBjb3B5XG4gICAgICBjb25zdCBuZXdNYXJrZG93blRhYmxlID0gbmV3IE1hcmtkb3duVGFibGUocHJldlN0YXRlLm1hcmtkb3duVGFibGUudGFibGUsIHsgYWxpZ24gfSk7XG4gICAgICByZXR1cm4geyBtYXJrZG93blRhYmxlOiBuZXdNYXJrZG93blRhYmxlIH07XG4gICAgfSwgKCkgPT4ge1xuICAgICAgdGhpcy5zeW5jaHJvbml6ZUFsaWdubWVudCgpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIGNoYW5nZSB0aGUgbWFya2Rvd25UYWJsZSBhbGlnbm1lbnQgYW5kIHN5bmNocm9uaXplIHRoZSBoYW5kc29udGFibGUgYWxpZ25tZW50IHRvIGl0XG4gICAqL1xuICBhbGlnbihkaXJlY3Rpb24sIHN0YXJ0Q29sLCBlbmRDb2wpIHtcbiAgICB0aGlzLnNldFN0YXRlKChwcmV2U3RhdGUpID0+IHtcbiAgICAgIC8vIGNoYW5nZSBvbmx5IGFsaWduIGluZm8sIHNvIHNoYXJlIHRhYmxlIGRhdGEgdG8gYXZvaWQgcmVkdW5kYW50IGNvcHlcbiAgICAgIGNvbnN0IG5ld01hcmtkb3duVGFibGUgPSBuZXcgTWFya2Rvd25UYWJsZShwcmV2U3RhdGUubWFya2Rvd25UYWJsZS50YWJsZSwgeyBhbGlnbjogW10uY29uY2F0KHByZXZTdGF0ZS5tYXJrZG93blRhYmxlLm9wdGlvbnMuYWxpZ24pIH0pO1xuICAgICAgZm9yIChsZXQgaSA9IHN0YXJ0Q29sOyBpIDw9IGVuZENvbDsgaSsrKSB7XG4gICAgICAgIG5ld01hcmtkb3duVGFibGUub3B0aW9ucy5hbGlnbltpXSA9IGRpcmVjdGlvbjtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7IG1hcmtkb3duVGFibGU6IG5ld01hcmtkb3duVGFibGUgfTtcbiAgICB9LCAoKSA9PiB7XG4gICAgICB0aGlzLnN5bmNocm9uaXplQWxpZ25tZW50KCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogc3luY2hyb25pemUgdGhlIGhhbmRzb250YWJsZSBhbGlnbm1lbnQgdG8gdGhlIG1hcmtkb3dudGFibGUgYWxpZ25tZW50XG4gICAqL1xuICBzeW5jaHJvbml6ZUFsaWdubWVudCgpIHtcbiAgICBpZiAodGhpcy5ob3RUYWJsZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgYWxpZ24gPSB0aGlzLnN0YXRlLm1hcmtkb3duVGFibGUub3B0aW9ucy5hbGlnbjtcbiAgICBjb25zdCBob3RJbnN0YW5jZSA9IHRoaXMuaG90VGFibGUuaG90SW5zdGFuY2U7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFsaWduLmxlbmd0aDsgaSsrKSB7XG4gICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGhvdEluc3RhbmNlLmNvdW50Um93cygpOyBqKyspIHtcbiAgICAgICAgaG90SW5zdGFuY2Uuc2V0Q2VsbE1ldGEoaiwgaSwgJ2NsYXNzTmFtZScsIE1BUktET1dOVEFCTEVfVE9fSEFORFNPTlRBQkxFX0FMSUdOTUVOVF9TWU1CT0xfTUFQUElOR1thbGlnbltpXV0pO1xuICAgICAgfVxuICAgIH1cbiAgICBob3RJbnN0YW5jZS5yZW5kZXIoKTtcbiAgfVxuXG4gIGFsaWduQnV0dG9uSGFuZGxlcihkaXJlY3Rpb24pIHtcbiAgICBjb25zdCBzZWxlY3RlZFJhbmdlID0gdGhpcy5ob3RUYWJsZS5ob3RJbnN0YW5jZS5nZXRTZWxlY3RlZFJhbmdlKCk7XG4gICAgaWYgKHNlbGVjdGVkUmFuZ2UgPT0gbnVsbCkgcmV0dXJuO1xuXG4gICAgbGV0IHN0YXJ0Q29sO1xuICAgIGxldCBlbmRDb2w7XG5cbiAgICBpZiAoc2VsZWN0ZWRSYW5nZVswXS5mcm9tLmNvbCA8IHNlbGVjdGVkUmFuZ2VbMF0udG8uY29sKSB7XG4gICAgICBzdGFydENvbCA9IHNlbGVjdGVkUmFuZ2VbMF0uZnJvbS5jb2w7XG4gICAgICBlbmRDb2wgPSBzZWxlY3RlZFJhbmdlWzBdLnRvLmNvbDtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICBzdGFydENvbCA9IHNlbGVjdGVkUmFuZ2VbMF0udG8uY29sO1xuICAgICAgZW5kQ29sID0gc2VsZWN0ZWRSYW5nZVswXS5mcm9tLmNvbDtcbiAgICB9XG5cbiAgICB0aGlzLmFsaWduKGRpcmVjdGlvbiwgc3RhcnRDb2wsIGVuZENvbCk7XG4gIH1cblxuICB0b2dnbGVEYXRhSW1wb3J0QXJlYSgpIHtcbiAgICB0aGlzLnNldFN0YXRlKHsgaXNEYXRhSW1wb3J0QXJlYUV4cGFuZGVkOiAhdGhpcy5zdGF0ZS5pc0RhdGFJbXBvcnRBcmVhRXhwYW5kZWQgfSk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0IGEgbWFya2Rvd250YWJsZVxuICAgKlxuICAgKiAjIyBOb3RlICMjXG4gICAqIFRoZSBtYW51YWxDb2x1bW5Nb3ZlIG9wZXJhdGlvbiBhZmZlY3RzIHRoZSBjb2x1bW4gb3JkZXIgb2YgaW1wb3J0ZWQgZGF0YS5cbiAgICogaHR0cHM6Ly9naXRodWIuY29tL2hhbmRzb250YWJsZS9oYW5kc29udGFibGUvaXNzdWVzLzU1OTFcbiAgICovXG4gIGltcG9ydERhdGEobWFya2Rvd25UYWJsZSkge1xuICAgIHRoaXMuaW5pdChtYXJrZG93blRhYmxlKTtcbiAgICB0aGlzLnRvZ2dsZURhdGFJbXBvcnRBcmVhKCk7XG4gIH1cblxuICBleHBhbmRXaW5kb3coKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IGlzV2luZG93RXhwYW5kZWQ6IHRydWUgfSk7XG5cbiAgICAvLyBpbnZva2UgdXBkYXRlSG90VGFibGVIZWlnaHQgbWV0aG9kIHdpdGggZGVsYXlcbiAgICAvLyBjei4gUmVzaXppbmcgdGhpcy5yZWZzLmhvdFRhYmxlQ29udGFpbmVyIGlzIGNvbXBsZXRlZCBhZnRlciBhIGxpdHRsZSBkZWxheSBhZnRlciAnaXNXaW5kb3dFeHBhbmRlZCcgc2V0IHdpdGggJ3RydWUnXG4gICAgdGhpcy5leHBhbmRIb3RUYWJsZUhlaWdodFdpdGhEZWJvdW5jZSgpO1xuICB9XG5cbiAgY29udHJhY3RXaW5kb3coKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IGlzV2luZG93RXhwYW5kZWQ6IGZhbHNlLCBoYW5kc29udGFibGVIZWlnaHQ6IERFRkFVTFRfSE9UX0hFSUdIVCB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeHBhbmQgdGhlIGhlaWdodCBvZiB0aGUgSGFuZHNvbnRhYmxlXG4gICAqICBieSB1cGRhdGluZyAnaGFuZHNvbnRhYmxlSGVpZ2h0JyBzdGF0ZVxuICAgKiAgYWNjb3JkaW5nIHRvIHRoZSBoZWlnaHQgb2YgdGhpcy5yZWZzLmhvdFRhYmxlQ29udGFpbmVyXG4gICAqL1xuICBleHBhbmRIb3RUYWJsZUhlaWdodCgpIHtcbiAgICBpZiAodGhpcy5zdGF0ZS5pc1dpbmRvd0V4cGFuZGVkICYmIHRoaXMuaG90VGFibGVDb250YWluZXIgIT0gbnVsbCkge1xuICAgICAgY29uc3QgaGVpZ2h0ID0gdGhpcy5ob3RUYWJsZUNvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgaGFuZHNvbnRhYmxlSGVpZ2h0OiBoZWlnaHQgfSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IG1hcmtkb3duVGFibGVPcHRpb24oKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFsaWduOiBbXS5jb25jYXQodGhpcy5zdGF0ZS5tYXJrZG93blRhYmxlLm9wdGlvbnMuYWxpZ24pLFxuICAgICAgcGFkOiB0aGlzLnByb3BzLmlnbm9yZUF1dG9Gb3JtYXR0aW5nICE9PSB0cnVlLFxuICAgIH07XG4gIH1cblxuICByZW5kZXJDbG9zZUJ1dHRvbigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3NOYW1lPVwiY2xvc2VcIiBvbkNsaWNrPXt0aGlzLmNhbmNlbH0gYXJpYS1sYWJlbD1cIkNsb3NlXCI+XG4gICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZ0aW1lczs8L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICApO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuXG4gICAgY29uc3QgYnV0dG9ucyA9IChcbiAgICAgIDxzcGFuPlxuICAgICAgICB7LyogY2hhbmdlIG9yZGVyIGJlY2F1c2Ugb2YgYGZsb2F0OiByaWdodGAgYnkgJy5jbG9zZScgY2xhc3MgKi99XG4gICAgICAgIHt0aGlzLnJlbmRlckNsb3NlQnV0dG9uKCl9XG4gICAgICAgIDxFeHBhbmRPckNvbnRyYWN0QnV0dG9uXG4gICAgICAgICAgaXNXaW5kb3dFeHBhbmRlZD17dGhpcy5zdGF0ZS5pc1dpbmRvd0V4cGFuZGVkfVxuICAgICAgICAgIGNvbnRyYWN0V2luZG93PXt0aGlzLmNvbnRyYWN0V2luZG93fVxuICAgICAgICAgIGV4cGFuZFdpbmRvdz17dGhpcy5leHBhbmRXaW5kb3d9XG4gICAgICAgIC8+XG4gICAgICA8L3NwYW4+XG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8TW9kYWxcbiAgICAgICAgaXNPcGVuPXt0aGlzLnN0YXRlLnNob3d9XG4gICAgICAgIHRvZ2dsZT17dGhpcy5jYW5jZWx9XG4gICAgICAgIGJhY2tkcm9wPVwic3RhdGljXCJcbiAgICAgICAga2V5Ym9hcmQ9e2ZhbHNlfVxuICAgICAgICBzaXplPVwibGdcIlxuICAgICAgICBjbGFzc05hbWU9e2BoYW5kc29udGFibGUtbW9kYWwgJHt0aGlzLnN0YXRlLmlzV2luZG93RXhwYW5kZWQgJiYgJ2dydy1tb2RhbC1leHBhbmRlZCd9YH1cbiAgICAgID5cbiAgICAgICAgPE1vZGFsSGVhZGVyIHRhZz1cImg0XCIgdG9nZ2xlPXt0aGlzLmNhbmNlbH0gY2xvc2U9e2J1dHRvbnN9IGNsYXNzTmFtZT1cImJnLXByaW1hcnkgdGV4dC1saWdodFwiPlxuICAgICAgICAgIEVkaXQgVGFibGVcbiAgICAgICAgPC9Nb2RhbEhlYWRlcj5cbiAgICAgICAgPE1vZGFsQm9keSBjbGFzc05hbWU9XCJwLTAgZC1mbGV4IGZsZXgtY29sdW1uXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncnctaG90LW1vZGFsLW5hdmJhciBweC00IHB5LTMgYm9yZGVyLWJvdHRvbVwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXItNCBkYXRhLWltcG9ydC1idXR0b24gYnRuIGJ0bi1zZWNvbmRhcnlcIlxuICAgICAgICAgICAgICBkYXRhLXRvZ2dsZT1cImNvbGxhcHNlXCJcbiAgICAgICAgICAgICAgZGF0YS10YXJnZXQ9XCIjY29sbGFwc2VEYXRhSW1wb3J0XCJcbiAgICAgICAgICAgICAgYXJpYS1leHBhbmRlZD17dGhpcy5zdGF0ZS5pc0RhdGFJbXBvcnRBcmVhRXhwYW5kZWR9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMudG9nZ2xlRGF0YUltcG9ydEFyZWF9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIm1yLTNcIj5EYXRhIEltcG9ydDwvc3Bhbj48aSBjbGFzc05hbWU9e3RoaXMuc3RhdGUuaXNEYXRhSW1wb3J0QXJlYUV4cGFuZGVkID8gJ2ZhIGZhLWFuZ2xlLXVwJyA6ICdmYSBmYS1hbmdsZS1kb3duJ30+PC9pPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8ZGl2IHJvbGU9XCJncm91cFwiIGNsYXNzTmFtZT1cImJ0bi1ncm91cFwiPlxuICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzc05hbWU9XCJidG4gYnRuLXNlY29uZGFyeVwiIG9uQ2xpY2s9eygpID0+IHsgdGhpcy5hbGlnbkJ1dHRvbkhhbmRsZXIoJ2wnKSB9fT48aSBjbGFzc05hbWU9XCJ0aS1hbGlnbi1sZWZ0XCI+PC9pPjwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzc05hbWU9XCJidG4gYnRuLXNlY29uZGFyeVwiIG9uQ2xpY2s9eygpID0+IHsgdGhpcy5hbGlnbkJ1dHRvbkhhbmRsZXIoJ2MnKSB9fT48aSBjbGFzc05hbWU9XCJ0aS1hbGlnbi1jZW50ZXJcIj48L2k+PC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzTmFtZT1cImJ0biBidG4tc2Vjb25kYXJ5XCIgb25DbGljaz17KCkgPT4geyB0aGlzLmFsaWduQnV0dG9uSGFuZGxlcigncicpIH19PjxpIGNsYXNzTmFtZT1cInRpLWFsaWduLXJpZ2h0XCI+PC9pPjwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8Q29sbGFwc2UgaXNPcGVuPXt0aGlzLnN0YXRlLmlzRGF0YUltcG9ydEFyZWFFeHBhbmRlZH0+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXQtNFwiPlxuICAgICAgICAgICAgICAgIDxNYXJrZG93blRhYmxlRGF0YUltcG9ydEZvcm0gb25DYW5jZWw9e3RoaXMudG9nZ2xlRGF0YUltcG9ydEFyZWF9IG9uSW1wb3J0PXt0aGlzLmltcG9ydERhdGF9IC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9Db2xsYXBzZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IHJlZj17KGMpID0+IHsgdGhpcy5ob3RUYWJsZUNvbnRhaW5lciA9IGMgfX0gY2xhc3NOYW1lPVwibS00IGhvdC10YWJsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxIb3RUYWJsZVxuICAgICAgICAgICAgICByZWY9eyhjKSA9PiB7IHRoaXMuaG90VGFibGUgPSBjIH19XG4gICAgICAgICAgICAgIGRhdGE9e3RoaXMuc3RhdGUubWFya2Rvd25UYWJsZS50YWJsZX1cbiAgICAgICAgICAgICAgc2V0dGluZ3M9e3RoaXMuaGFuZHNvbnRhYmxlU2V0dGluZ3N9XG4gICAgICAgICAgICAgIGhlaWdodD17dGhpcy5zdGF0ZS5oYW5kc29udGFibGVIZWlnaHR9XG4gICAgICAgICAgICAgIGFmdGVyTG9hZERhdGE9e3RoaXMuYWZ0ZXJMb2FkRGF0YUhhbmRsZXJ9XG4gICAgICAgICAgICAgIG1vZGlmeUNvbFdpZHRoPXt0aGlzLm1vZGlmeUNvbFdpZHRoSGFuZGxlcn1cbiAgICAgICAgICAgICAgYmVmb3JlQ29sdW1uTW92ZT17dGhpcy5iZWZvcmVDb2x1bW5Nb3ZlSGFuZGxlcn1cbiAgICAgICAgICAgICAgYmVmb3JlQ29sdW1uUmVzaXplPXt0aGlzLmJlZm9yZUNvbHVtblJlc2l6ZUhhbmRsZXJ9XG4gICAgICAgICAgICAgIGFmdGVyQ29sdW1uUmVzaXplPXt0aGlzLmFmdGVyQ29sdW1uUmVzaXplSGFuZGxlcn1cbiAgICAgICAgICAgICAgYWZ0ZXJDb2x1bW5Nb3ZlPXt0aGlzLmFmdGVyQ29sdW1uTW92ZUhhbmRsZXJ9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L01vZGFsQm9keT5cbiAgICAgICAgPE1vZGFsRm9vdGVyIGNsYXNzTmFtZT1cImdydy1tb2RhbC1mb290ZXJcIj5cbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzc05hbWU9XCJidG4gYnRuLWRhbmdlclwiIG9uQ2xpY2s9e3RoaXMucmVzZXR9PlJlc2V0PC9idXR0b24+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtbC1hdXRvXCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzc05hbWU9XCJtci0yIGJ0biBidG4tc2Vjb25kYXJ5XCIgb25DbGljaz17dGhpcy5jYW5jZWx9PkNhbmNlbDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3NOYW1lPVwiYnRuIGJ0bi1wcmltYXJ5XCIgb25DbGljaz17dGhpcy5zYXZlfT5Eb25lPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvTW9kYWxGb290ZXI+XG4gICAgICA8L01vZGFsPlxuICAgICk7XG4gIH1cblxuICBzdGF0aWMgZ2V0RGVmYXVsdE1hcmtkb3duVGFibGUoKSB7XG4gICAgcmV0dXJuIG5ldyBNYXJrZG93blRhYmxlKFxuICAgICAgW1xuICAgICAgICBbJ2NvbDEnLCAnY29sMicsICdjb2wzJ10sXG4gICAgICAgIFsnJywgJycsICcnXSxcbiAgICAgICAgWycnLCAnJywgJyddLFxuICAgICAgXSxcbiAgICAgIHtcbiAgICAgICAgYWxpZ246IFsnJywgJycsICcnXSxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIHN0YXRpYyBnZXREZWZhdWx0SGFuZHNvbnRhYmxlU2V0dGluZygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcm93SGVhZGVyczogdHJ1ZSxcbiAgICAgIGNvbEhlYWRlcnM6IHRydWUsXG4gICAgICBtYW51YWxSb3dNb3ZlOiB0cnVlLFxuICAgICAgbWFudWFsUm93UmVzaXplOiB0cnVlLFxuICAgICAgbWFudWFsQ29sdW1uTW92ZTogdHJ1ZSxcbiAgICAgIG1hbnVhbENvbHVtblJlc2l6ZTogdHJ1ZSxcbiAgICAgIHNlbGVjdGlvbk1vZGU6ICdtdWx0aXBsZScsXG4gICAgICBvdXRzaWRlQ2xpY2tEZXNlbGVjdHM6IGZhbHNlLFxuICAgIH07XG4gIH1cblxufVxuXG5IYW5kc29udGFibGVNb2RhbC5wcm9wVHlwZXMgPSB7XG4gIG9uU2F2ZTogUHJvcFR5cGVzLmZ1bmMsXG4gIGlnbm9yZUF1dG9Gb3JtYXR0aW5nOiBQcm9wVHlwZXMuYm9vbCxcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTs7Ozs7O0FBT0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFPQTtBQUVBO0FBQ0E7QUFFQTs7Ozs7Ozs7Ozs7OztBQVlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTkE7QUFTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFEQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRkE7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFIQTtBQUtBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFIQTtBQUtBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFIQTtBQVZBO0FBSEE7QUFUQTtBQURBO0FBaUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQUtBO0FBRUE7Ozs7Ozs7OztBQU9BO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBcUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7OztBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOzs7Ozs7O0FBS0E7QUFDQTtBQUNBO0FBRUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF1Q0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBRUE7Ozs7Ozs7OztBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTs7Ozs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRkE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBRUE7QUFLQTtBQUNBO0FBQ0E7QUFIQTtBQVFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTkE7QUFRQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQVFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBVkE7QUFjQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBT0E7QUFEQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVJBO0FBVUE7QUFDQTtBQTFlQTtBQTZlQTtBQUNBO0FBQ0E7QUFGQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/PageEditor/HandsontableModal.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageEditor/LinkEditModal.jsx":
- /*!***************************************************************!*\
- !*** ./src/client/js/components/PageEditor/LinkEditModal.jsx ***!
- \***************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! reactstrap/es/Modal */ \"./node_modules/reactstrap/es/Modal.js\");\n/* harmony import */ var reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! reactstrap/es/ModalHeader */ \"./node_modules/reactstrap/es/ModalHeader.js\");\n/* harmony import */ var reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! reactstrap/es/ModalBody */ \"./node_modules/reactstrap/es/ModalBody.js\");\n/* harmony import */ var reactstrap_es_ModalFooter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! reactstrap/es/ModalFooter */ \"./node_modules/reactstrap/es/ModalFooter.js\");\n/* harmony import */ var reactstrap_es_Popover__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! reactstrap/es/Popover */ \"./node_modules/reactstrap/es/Popover.js\");\n/* harmony import */ var reactstrap_es_PopoverBody__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! reactstrap/es/PopoverBody */ \"./node_modules/reactstrap/es/PopoverBody.js\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! path */ \"./node_modules/path-browserify/index.js\");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var validator__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! validator */ \"./node_modules/validator/index.js\");\n/* harmony import */ var validator__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(validator__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _PreviewWithSuspense__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./PreviewWithSuspense */ \"./src/client/js/components/PageEditor/PreviewWithSuspense.jsx\");\n/* harmony import */ var _Icons_PagePreviewIcon__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../Icons/PagePreviewIcon */ \"./src/client/js/components/Icons/PagePreviewIcon.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n/* harmony import */ var _SearchTypeahead__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../SearchTypeahead */ \"./src/client/js/components/SearchTypeahead.jsx\");\n/* harmony import */ var _models_Linker__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../models/Linker */ \"./src/client/js/models/Linker.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nclass LinkEditModal extends react__WEBPACK_IMPORTED_MODULE_0___default.a.PureComponent {\n constructor(props) {\n super(props);\n this.state = {\n show: false,\n isUseRelativePath: false,\n isUsePermanentLink: false,\n linkInputValue: '',\n labelInputValue: '',\n linkerType: _models_Linker__WEBPACK_IMPORTED_MODULE_16__[\"default\"].types.markdownLink,\n markdown: '',\n previewError: '',\n permalink: '',\n isPreviewOpen: false\n };\n this.isApplyPukiwikiLikeLinkerPlugin = window.growiRenderer.preProcessors.some(process => process.constructor.name === 'PukiwikiLikeLinker');\n this.show = this.show.bind(this);\n this.hide = this.hide.bind(this);\n this.cancel = this.cancel.bind(this);\n this.handleChangeTypeahead = this.handleChangeTypeahead.bind(this);\n this.handleChangeLabelInput = this.handleChangeLabelInput.bind(this);\n this.handleChangeLinkInput = this.handleChangeLinkInput.bind(this);\n this.handleSelecteLinkerType = this.handleSelecteLinkerType.bind(this);\n this.toggleIsUseRelativePath = this.toggleIsUseRelativePath.bind(this);\n this.toggleIsUsePamanentLink = this.toggleIsUsePamanentLink.bind(this);\n this.save = this.save.bind(this);\n this.generateLink = this.generateLink.bind(this);\n this.getRootPath = this.getRootPath.bind(this);\n this.toggleIsPreviewOpen = this.toggleIsPreviewOpen.bind(this);\n this.setMarkdown = this.setMarkdown.bind(this);\n } // defaultMarkdownLink is an instance of Linker\n\n\n show(defaultMarkdownLink = null) {\n // if defaultMarkdownLink is null, set default value in inputs.\n const {\n label = '',\n link = ''\n } = defaultMarkdownLink;\n let {\n type = _models_Linker__WEBPACK_IMPORTED_MODULE_16__[\"default\"].types.markdownLink\n } = defaultMarkdownLink; // if type of defaultMarkdownLink is pukiwikiLink when pukiwikiLikeLinker plugin is disable, change type(not change label and link)\n\n if (type === _models_Linker__WEBPACK_IMPORTED_MODULE_16__[\"default\"].types.pukiwikiLink && !this.isApplyPukiwikiLikeLinkerPlugin) {\n type = _models_Linker__WEBPACK_IMPORTED_MODULE_16__[\"default\"].types.markdownLink;\n }\n\n this.parseLinkAndSetState(link, type);\n this.setState({\n show: true,\n labelInputValue: label,\n isUsePermanentLink: false,\n permalink: '',\n linkerType: type\n });\n } // parse link, link is ...\n // case-1. url of this growi's page (ex. 'http://localhost:3000/hoge/fuga')\n // case-2. absolute path of this growi's page (ex. '/hoge/fuga')\n // case-3. relative path of this growi's page (ex. '../fuga', 'hoge')\n // case-4. external link (ex. 'https://growi.org')\n // case-5. the others (ex. '')\n\n\n parseLinkAndSetState(link, type) {\n // create url from link, add dummy origin if link is not valid url.\n // ex-1. link = 'https://growi.org/' -> url = 'https://growi.org/' (case-1,4)\n // ex-2. link = 'hoge' -> url = 'http://example.com/hoge' (case-2,3,5)\n const url = new URL(link, 'http://example.com');\n const isUrl = url.origin !== 'http://example.com';\n let isUseRelativePath = false;\n let reshapedLink = link; // if case-1, reshapedLink becomes page path\n\n reshapedLink = this.convertUrlToPathIfPageUrl(reshapedLink, url); // case-3\n\n if (!isUrl && !reshapedLink.startsWith('/') && reshapedLink !== '') {\n isUseRelativePath = true;\n const rootPath = this.getRootPath(type);\n reshapedLink = path__WEBPACK_IMPORTED_MODULE_8___default.a.resolve(rootPath, reshapedLink);\n }\n\n this.setState({\n linkInputValue: reshapedLink,\n isUseRelativePath\n });\n } // return path name of link if link is this growi page url, else return original link.\n\n\n convertUrlToPathIfPageUrl(link, url) {\n // when link is this growi's page url, url.origin === window.location.origin and return path name\n return url.origin === window.location.origin ? decodeURI(url.pathname) : link;\n }\n\n cancel() {\n this.hide();\n }\n\n hide() {\n this.setState({\n show: false\n });\n }\n\n toggleIsUseRelativePath() {\n if (!this.state.linkInputValue.startsWith('/') || this.state.linkerType === _models_Linker__WEBPACK_IMPORTED_MODULE_16__[\"default\"].types.growiLink) {\n return;\n } // User can't use both relativePath and permalink at the same time\n\n\n this.setState({\n isUseRelativePath: !this.state.isUseRelativePath,\n isUsePermanentLink: false\n });\n }\n\n toggleIsUsePamanentLink() {\n if (this.state.permalink === '' || this.state.linkerType === _models_Linker__WEBPACK_IMPORTED_MODULE_16__[\"default\"].types.growiLink) {\n return;\n } // User can't use both relativePath and permalink at the same time\n\n\n this.setState({\n isUsePermanentLink: !this.state.isUsePermanentLink,\n isUseRelativePath: false\n });\n }\n\n async setMarkdown() {\n const {\n t\n } = this.props;\n const path = this.state.linkInputValue;\n let markdown = '';\n let permalink = '';\n let previewError = '';\n\n if (path.startsWith('/')) {\n const pathWithoutFragment = new URL(path, 'http://dummy').pathname;\n const isPermanentLink = validator__WEBPACK_IMPORTED_MODULE_9___default.a.isMongoId(pathWithoutFragment.slice(1));\n const pageId = isPermanentLink ? pathWithoutFragment.slice(1) : null;\n\n try {\n const {\n page\n } = await this.props.appContainer.apiGet('/pages.get', {\n path: pathWithoutFragment,\n page_id: pageId\n });\n markdown = page.revision.body;\n permalink = page.id;\n } catch (err) {\n previewError = err.message;\n }\n } else {\n previewError = t('link_edit.page_not_found_in_preview', {\n path\n });\n }\n\n this.setState({\n markdown,\n previewError,\n permalink\n });\n }\n\n getLinkForPreview() {\n const linker = this.generateLink();\n\n if (this.isUsePermanentLink && this.permalink != null) {\n linker.link = this.permalink;\n }\n\n if (linker.label === '') {\n linker.label = linker.link;\n }\n\n return linker;\n }\n\n renderLinkPreview() {\n const linker = this.getLinkForPreview();\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"d-flex justify-content-between mb-3 flex-column flex-sm-row\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"card card-disabled w-100 p-1 mb-0\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"text-left text-muted mb-1 small\"\n }, \"Markdown\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"text-center text-truncate text-muted\"\n }, linker.generateMarkdownText())), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"d-flex align-items-center justify-content-center\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"lead mx-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"d-none d-sm-block fa fa-caret-right\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"d-sm-none fa fa-caret-down\"\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"card w-100 p-1 mb-0\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"text-left text-muted mb-1 small\"\n }, \"HTML\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"text-center text-truncate\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: linker.link\n }, linker.label))));\n }\n\n handleChangeTypeahead(selected) {\n const page = selected[0];\n\n if (page != null) {\n const permalink = `${window.location.origin}/${page.id}`;\n this.setState({\n linkInputValue: page.path,\n permalink\n });\n }\n }\n\n handleChangeLabelInput(label) {\n this.setState({\n labelInputValue: label\n });\n }\n\n handleChangeLinkInput(link) {\n let isUseRelativePath = this.state.isUseRelativePath;\n\n if (!this.state.linkInputValue.startsWith('/') || this.state.linkerType === _models_Linker__WEBPACK_IMPORTED_MODULE_16__[\"default\"].types.growiLink) {\n isUseRelativePath = false;\n }\n\n this.setState({\n linkInputValue: link,\n isUseRelativePath,\n isUsePermanentLink: false,\n permalink: ''\n });\n }\n\n handleSelecteLinkerType(linkerType) {\n let {\n isUseRelativePath,\n isUsePermanentLink\n } = this.state;\n\n if (linkerType === _models_Linker__WEBPACK_IMPORTED_MODULE_16__[\"default\"].types.growiLink) {\n isUseRelativePath = false;\n isUsePermanentLink = false;\n }\n\n this.setState({\n linkerType,\n isUseRelativePath,\n isUsePermanentLink\n });\n }\n\n save() {\n const linker = this.getLinkForPreview();\n\n if (this.props.onSave != null) {\n this.props.onSave(linker.generateMarkdownText());\n }\n\n this.hide();\n }\n\n generateLink() {\n const {\n linkInputValue,\n labelInputValue,\n linkerType,\n isUseRelativePath,\n isUsePermanentLink,\n permalink\n } = this.state;\n let reshapedLink = linkInputValue;\n\n if (isUseRelativePath) {\n const rootPath = this.getRootPath(linkerType);\n reshapedLink = rootPath === linkInputValue ? '.' : path__WEBPACK_IMPORTED_MODULE_8___default.a.relative(rootPath, linkInputValue);\n }\n\n if (isUsePermanentLink && permalink != null) {\n reshapedLink = permalink;\n }\n\n return new _models_Linker__WEBPACK_IMPORTED_MODULE_16__[\"default\"](linkerType, labelInputValue, reshapedLink);\n }\n\n getRootPath(type) {\n const {\n pageContainer\n } = this.props;\n const pagePath = pageContainer.state.path; // rootPaths of md link and pukiwiki link are different\n\n return type === _models_Linker__WEBPACK_IMPORTED_MODULE_16__[\"default\"].types.markdownLink ? path__WEBPACK_IMPORTED_MODULE_8___default.a.dirname(pagePath) : pagePath;\n }\n\n async toggleIsPreviewOpen() {\n // open popover\n if (this.state.isPreviewOpen === false) {\n this.setMarkdown();\n }\n\n this.setState({\n isPreviewOpen: !this.state.isPreviewOpen\n });\n }\n\n renderLinkAndLabelForm() {\n const {\n t\n } = this.props;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h3\", {\n className: \"grw-modal-head\"\n }, t('link_edit.set_link_and_label')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"form\", {\n className: \"form-group\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"form-gorup my-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group flex-nowrap\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group-prepend\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"input-group-text\"\n }, t('link_edit.link'))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SearchTypeahead__WEBPACK_IMPORTED_MODULE_15__[\"default\"], {\n onChange: this.handleChangeTypeahead,\n onInputChange: this.handleChangeLinkInput,\n inputName: \"link\",\n placeholder: t('link_edit.placeholder_of_link_input'),\n keywordOnInit: this.state.linkInputValue,\n behaviorOfResetBtn: \"clear\",\n autoFocus: true\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"d-none d-sm-block input-group-append\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n id: \"preview-btn\",\n className: \"btn btn-info btn-page-preview\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Icons_PagePreviewIcon__WEBPACK_IMPORTED_MODULE_12__[\"default\"], null)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Popover__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n trigger: \"focus\",\n placement: \"right\",\n isOpen: this.state.isPreviewOpen,\n target: \"preview-btn\",\n toggle: this.toggleIsPreviewOpen\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_PopoverBody__WEBPACK_IMPORTED_MODULE_7__[\"default\"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PreviewWithSuspense__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n setMarkdown: this.setMarkdown,\n markdown: this.state.markdown,\n error: this.state.previewError\n })))))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"form-gorup my-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group flex-nowrap\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group-prepend\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"input-group-text\"\n }, t('link_edit.label'))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"text\",\n className: \"form-control\",\n id: \"label\",\n value: this.state.labelInputValue,\n onChange: e => this.handleChangeLabelInput(e.target.value),\n disabled: this.state.linkerType === _models_Linker__WEBPACK_IMPORTED_MODULE_16__[\"default\"].types.growiLink,\n placeholder: this.state.linkInputValue\n })))));\n }\n\n renderPathFormatForm() {\n const {\n t\n } = this.props;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"card well pt-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"form\", {\n className: \"form-group mb-0\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"form-group row\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"col-sm-3\"\n }, t('link_edit.path_format')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-sm-9\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"custom-control custom-checkbox custom-checkbox-info custom-control-inline\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n className: \"custom-control-input\",\n id: \"relativePath\",\n type: \"checkbox\",\n checked: this.state.isUseRelativePath,\n onChange: this.toggleIsUseRelativePath,\n disabled: !this.state.linkInputValue.startsWith('/') || this.state.linkerType === _models_Linker__WEBPACK_IMPORTED_MODULE_16__[\"default\"].types.growiLink\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"custom-control-label\",\n htmlFor: \"relativePath\"\n }, t('link_edit.use_relative_path'))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"custom-control custom-checkbox custom-checkbox-info custom-control-inline\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n className: \"custom-control-input\",\n id: \"permanentLink\",\n type: \"checkbox\",\n checked: this.state.isUsePermanentLink,\n onChange: this.toggleIsUsePamanentLink,\n disabled: this.state.permalink === '' || this.state.linkerType === _models_Linker__WEBPACK_IMPORTED_MODULE_16__[\"default\"].types.growiLink\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"custom-control-label\",\n htmlFor: \"permanentLink\"\n }, t('link_edit.use_permanent_link'))))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"form-group row mb-0\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"col-sm-3\"\n }, t('link_edit.notation')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-sm-9\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"custom-control custom-radio custom-control-inline\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"radio\",\n className: \"custom-control-input\",\n id: \"markdownType\",\n value: _models_Linker__WEBPACK_IMPORTED_MODULE_16__[\"default\"].types.markdownLink,\n checked: this.state.linkerType === _models_Linker__WEBPACK_IMPORTED_MODULE_16__[\"default\"].types.markdownLink,\n onChange: e => this.handleSelecteLinkerType(e.target.value)\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"custom-control-label\",\n htmlFor: \"markdownType\"\n }, t('link_edit.markdown'))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"custom-control custom-radio custom-control-inline\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"radio\",\n className: \"custom-control-input\",\n id: \"growiType\",\n value: _models_Linker__WEBPACK_IMPORTED_MODULE_16__[\"default\"].types.growiLink,\n checked: this.state.linkerType === _models_Linker__WEBPACK_IMPORTED_MODULE_16__[\"default\"].types.growiLink,\n onChange: e => this.handleSelecteLinkerType(e.target.value)\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"custom-control-label\",\n htmlFor: \"growiType\"\n }, t('link_edit.GROWI_original'))), this.isApplyPukiwikiLikeLinkerPlugin && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"custom-control custom-radio custom-control-inline\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"radio\",\n className: \"custom-control-input\",\n id: \"pukiwikiType\",\n value: _models_Linker__WEBPACK_IMPORTED_MODULE_16__[\"default\"].types.pukiwikiLink,\n checked: this.state.linkerType === _models_Linker__WEBPACK_IMPORTED_MODULE_16__[\"default\"].types.pukiwikiLink,\n onChange: e => this.handleSelecteLinkerType(e.target.value)\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"custom-control-label\",\n htmlFor: \"pukiwikiType\"\n }, t('link_edit.pukiwiki')))))));\n }\n\n render() {\n const {\n t\n } = this.props;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n className: \"link-edit-modal\",\n isOpen: this.state.show,\n toggle: this.cancel,\n size: \"lg\",\n autoFocus: false\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n tag: \"h4\",\n toggle: this.cancel,\n className: \"bg-primary text-light\"\n }, t('link_edit.edit_link')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"container\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"row\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-12\"\n }, this.renderLinkAndLabelForm(), this.renderPathFormatForm())), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"row\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-12\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h3\", {\n className: \"grw-modal-head\"\n }, t('link_edit.preview')), this.renderLinkPreview()))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalFooter__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-sm btn-outline-secondary mx-1\",\n onClick: this.hide\n }, t('Cancel')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"submit\",\n className: \"btn btn-sm btn-primary mx-1\",\n onClick: this.save\n }, t('Done'))));\n }\n\n}\n\nLinkEditModal.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_13__[\"default\"]).isRequired,\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_14__[\"default\"]).isRequired,\n onSave: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func\n};\n/**\n * Wrapper component for using unstated\n */\n\nconst LinkEditModalWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_17__[\"withUnstatedContainers\"])(LinkEditModal, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_13__[\"default\"], _services_PageContainer__WEBPACK_IMPORTED_MODULE_14__[\"default\"]]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_10__[\"withTranslation\"])('translation', {\n withRef: true\n})(LinkEditModalWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci9MaW5rRWRpdE1vZGFsLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9QYWdlRWRpdG9yL0xpbmtFZGl0TW9kYWwuanN4PzcwMzMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCB7XG4gIE1vZGFsLFxuICBNb2RhbEhlYWRlcixcbiAgTW9kYWxCb2R5LFxuICBNb2RhbEZvb3RlcixcbiAgUG9wb3ZlcixcbiAgUG9wb3ZlckJvZHksXG59IGZyb20gJ3JlYWN0c3RyYXAnO1xuXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB2YWxpZGF0b3IgZnJvbSAndmFsaWRhdG9yJztcbmltcG9ydCB7IHdpdGhUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuaW1wb3J0IFByZXZpZXdXaXRoU3VzcGVuc2UgZnJvbSAnLi9QcmV2aWV3V2l0aFN1c3BlbnNlJztcbmltcG9ydCBQYWdlUHJldmlld0ljb24gZnJvbSAnLi4vSWNvbnMvUGFnZVByZXZpZXdJY29uJztcblxuaW1wb3J0IEFwcENvbnRhaW5lciBmcm9tICcuLi8uLi9zZXJ2aWNlcy9BcHBDb250YWluZXInO1xuaW1wb3J0IFBhZ2VDb250YWluZXIgZnJvbSAnLi4vLi4vc2VydmljZXMvUGFnZUNvbnRhaW5lcic7XG5cbmltcG9ydCBTZWFyY2hUeXBlYWhlYWQgZnJvbSAnLi4vU2VhcmNoVHlwZWFoZWFkJztcbmltcG9ydCBMaW5rZXIgZnJvbSAnLi4vLi4vbW9kZWxzL0xpbmtlcic7XG5cbmltcG9ydCB7IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMgfSBmcm9tICcuLi9VbnN0YXRlZFV0aWxzJztcblxuY2xhc3MgTGlua0VkaXRNb2RhbCBleHRlbmRzIFJlYWN0LlB1cmVDb21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIHNob3c6IGZhbHNlLFxuICAgICAgaXNVc2VSZWxhdGl2ZVBhdGg6IGZhbHNlLFxuICAgICAgaXNVc2VQZXJtYW5lbnRMaW5rOiBmYWxzZSxcbiAgICAgIGxpbmtJbnB1dFZhbHVlOiAnJyxcbiAgICAgIGxhYmVsSW5wdXRWYWx1ZTogJycsXG4gICAgICBsaW5rZXJUeXBlOiBMaW5rZXIudHlwZXMubWFya2Rvd25MaW5rLFxuICAgICAgbWFya2Rvd246ICcnLFxuICAgICAgcHJldmlld0Vycm9yOiAnJyxcbiAgICAgIHBlcm1hbGluazogJycsXG4gICAgICBpc1ByZXZpZXdPcGVuOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgdGhpcy5pc0FwcGx5UHVraXdpa2lMaWtlTGlua2VyUGx1Z2luID0gd2luZG93Lmdyb3dpUmVuZGVyZXIucHJlUHJvY2Vzc29ycy5zb21lKHByb2Nlc3MgPT4gcHJvY2Vzcy5jb25zdHJ1Y3Rvci5uYW1lID09PSAnUHVraXdpa2lMaWtlTGlua2VyJyk7XG5cbiAgICB0aGlzLnNob3cgPSB0aGlzLnNob3cuYmluZCh0aGlzKTtcbiAgICB0aGlzLmhpZGUgPSB0aGlzLmhpZGUuYmluZCh0aGlzKTtcbiAgICB0aGlzLmNhbmNlbCA9IHRoaXMuY2FuY2VsLmJpbmQodGhpcyk7XG4gICAgdGhpcy5oYW5kbGVDaGFuZ2VUeXBlYWhlYWQgPSB0aGlzLmhhbmRsZUNoYW5nZVR5cGVhaGVhZC5iaW5kKHRoaXMpO1xuICAgIHRoaXMuaGFuZGxlQ2hhbmdlTGFiZWxJbnB1dCA9IHRoaXMuaGFuZGxlQ2hhbmdlTGFiZWxJbnB1dC5iaW5kKHRoaXMpO1xuICAgIHRoaXMuaGFuZGxlQ2hhbmdlTGlua0lucHV0ID0gdGhpcy5oYW5kbGVDaGFuZ2VMaW5rSW5wdXQuYmluZCh0aGlzKTtcbiAgICB0aGlzLmhhbmRsZVNlbGVjdGVMaW5rZXJUeXBlID0gdGhpcy5oYW5kbGVTZWxlY3RlTGlua2VyVHlwZS5iaW5kKHRoaXMpO1xuICAgIHRoaXMudG9nZ2xlSXNVc2VSZWxhdGl2ZVBhdGggPSB0aGlzLnRvZ2dsZUlzVXNlUmVsYXRpdmVQYXRoLmJpbmQodGhpcyk7XG4gICAgdGhpcy50b2dnbGVJc1VzZVBhbWFuZW50TGluayA9IHRoaXMudG9nZ2xlSXNVc2VQYW1hbmVudExpbmsuYmluZCh0aGlzKTtcbiAgICB0aGlzLnNhdmUgPSB0aGlzLnNhdmUuYmluZCh0aGlzKTtcbiAgICB0aGlzLmdlbmVyYXRlTGluayA9IHRoaXMuZ2VuZXJhdGVMaW5rLmJpbmQodGhpcyk7XG4gICAgdGhpcy5nZXRSb290UGF0aCA9IHRoaXMuZ2V0Um9vdFBhdGguYmluZCh0aGlzKTtcbiAgICB0aGlzLnRvZ2dsZUlzUHJldmlld09wZW4gPSB0aGlzLnRvZ2dsZUlzUHJldmlld09wZW4uYmluZCh0aGlzKTtcbiAgICB0aGlzLnNldE1hcmtkb3duID0gdGhpcy5zZXRNYXJrZG93bi5iaW5kKHRoaXMpO1xuICB9XG5cbiAgLy8gZGVmYXVsdE1hcmtkb3duTGluayBpcyBhbiBpbnN0YW5jZSBvZiBMaW5rZXJcbiAgc2hvdyhkZWZhdWx0TWFya2Rvd25MaW5rID0gbnVsbCkge1xuICAgIC8vIGlmIGRlZmF1bHRNYXJrZG93bkxpbmsgaXMgbnVsbCwgc2V0IGRlZmF1bHQgdmFsdWUgaW4gaW5wdXRzLlxuICAgIGNvbnN0IHsgbGFiZWwgPSAnJywgbGluayA9ICcnIH0gPSBkZWZhdWx0TWFya2Rvd25MaW5rO1xuICAgIGxldCB7IHR5cGUgPSBMaW5rZXIudHlwZXMubWFya2Rvd25MaW5rIH0gPSBkZWZhdWx0TWFya2Rvd25MaW5rO1xuXG4gICAgLy8gaWYgdHlwZSBvZiBkZWZhdWx0TWFya2Rvd25MaW5rIGlzIHB1a2l3aWtpTGluayB3aGVuIHB1a2l3aWtpTGlrZUxpbmtlciBwbHVnaW4gaXMgZGlzYWJsZSwgY2hhbmdlIHR5cGUobm90IGNoYW5nZSBsYWJlbCBhbmQgbGluaylcbiAgICBpZiAodHlwZSA9PT0gTGlua2VyLnR5cGVzLnB1a2l3aWtpTGluayAmJiAhdGhpcy5pc0FwcGx5UHVraXdpa2lMaWtlTGlua2VyUGx1Z2luKSB7XG4gICAgICB0eXBlID0gTGlua2VyLnR5cGVzLm1hcmtkb3duTGluaztcbiAgICB9XG5cbiAgICB0aGlzLnBhcnNlTGlua0FuZFNldFN0YXRlKGxpbmssIHR5cGUpO1xuXG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBzaG93OiB0cnVlLFxuICAgICAgbGFiZWxJbnB1dFZhbHVlOiBsYWJlbCxcbiAgICAgIGlzVXNlUGVybWFuZW50TGluazogZmFsc2UsXG4gICAgICBwZXJtYWxpbms6ICcnLFxuICAgICAgbGlua2VyVHlwZTogdHlwZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIHBhcnNlIGxpbmssIGxpbmsgaXMgLi4uXG4gIC8vIGNhc2UtMS4gdXJsIG9mIHRoaXMgZ3Jvd2kncyBwYWdlIChleC4gJ2h0dHA6Ly9sb2NhbGhvc3Q6MzAwMC9ob2dlL2Z1Z2EnKVxuICAvLyBjYXNlLTIuIGFic29sdXRlIHBhdGggb2YgdGhpcyBncm93aSdzIHBhZ2UgKGV4LiAnL2hvZ2UvZnVnYScpXG4gIC8vIGNhc2UtMy4gcmVsYXRpdmUgcGF0aCBvZiB0aGlzIGdyb3dpJ3MgcGFnZSAoZXguICcuLi9mdWdhJywgJ2hvZ2UnKVxuICAvLyBjYXNlLTQuIGV4dGVybmFsIGxpbmsgKGV4LiAnaHR0cHM6Ly9ncm93aS5vcmcnKVxuICAvLyBjYXNlLTUuIHRoZSBvdGhlcnMgKGV4LiAnJylcbiAgcGFyc2VMaW5rQW5kU2V0U3RhdGUobGluaywgdHlwZSkge1xuICAgIC8vIGNyZWF0ZSB1cmwgZnJvbSBsaW5rLCBhZGQgZHVtbXkgb3JpZ2luIGlmIGxpbmsgaXMgbm90IHZhbGlkIHVybC5cbiAgICAvLyBleC0xLiBsaW5rID0gJ2h0dHBzOi8vZ3Jvd2kub3JnLycgLT4gdXJsID0gJ2h0dHBzOi8vZ3Jvd2kub3JnLycgKGNhc2UtMSw0KVxuICAgIC8vIGV4LTIuIGxpbmsgPSAnaG9nZScgLT4gdXJsID0gJ2h0dHA6Ly9leGFtcGxlLmNvbS9ob2dlJyAoY2FzZS0yLDMsNSlcbiAgICBjb25zdCB1cmwgPSBuZXcgVVJMKGxpbmssICdodHRwOi8vZXhhbXBsZS5jb20nKTtcbiAgICBjb25zdCBpc1VybCA9IHVybC5vcmlnaW4gIT09ICdodHRwOi8vZXhhbXBsZS5jb20nO1xuXG4gICAgbGV0IGlzVXNlUmVsYXRpdmVQYXRoID0gZmFsc2U7XG4gICAgbGV0IHJlc2hhcGVkTGluayA9IGxpbms7XG5cbiAgICAvLyBpZiBjYXNlLTEsIHJlc2hhcGVkTGluayBiZWNvbWVzIHBhZ2UgcGF0aFxuICAgIHJlc2hhcGVkTGluayA9IHRoaXMuY29udmVydFVybFRvUGF0aElmUGFnZVVybChyZXNoYXBlZExpbmssIHVybCk7XG5cbiAgICAvLyBjYXNlLTNcbiAgICBpZiAoIWlzVXJsICYmICFyZXNoYXBlZExpbmsuc3RhcnRzV2l0aCgnLycpICYmIHJlc2hhcGVkTGluayAhPT0gJycpIHtcbiAgICAgIGlzVXNlUmVsYXRpdmVQYXRoID0gdHJ1ZTtcbiAgICAgIGNvbnN0IHJvb3RQYXRoID0gdGhpcy5nZXRSb290UGF0aCh0eXBlKTtcbiAgICAgIHJlc2hhcGVkTGluayA9IHBhdGgucmVzb2x2ZShyb290UGF0aCwgcmVzaGFwZWRMaW5rKTtcbiAgICB9XG5cbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIGxpbmtJbnB1dFZhbHVlOiByZXNoYXBlZExpbmssXG4gICAgICBpc1VzZVJlbGF0aXZlUGF0aCxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIHJldHVybiBwYXRoIG5hbWUgb2YgbGluayBpZiBsaW5rIGlzIHRoaXMgZ3Jvd2kgcGFnZSB1cmwsIGVsc2UgcmV0dXJuIG9yaWdpbmFsIGxpbmsuXG4gIGNvbnZlcnRVcmxUb1BhdGhJZlBhZ2VVcmwobGluaywgdXJsKSB7XG4gICAgLy8gd2hlbiBsaW5rIGlzIHRoaXMgZ3Jvd2kncyBwYWdlIHVybCwgdXJsLm9yaWdpbiA9PT0gd2luZG93LmxvY2F0aW9uLm9yaWdpbiBhbmQgcmV0dXJuIHBhdGggbmFtZVxuICAgIHJldHVybiB1cmwub3JpZ2luID09PSB3aW5kb3cubG9jYXRpb24ub3JpZ2luID8gZGVjb2RlVVJJKHVybC5wYXRobmFtZSkgOiBsaW5rO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMuaGlkZSgpO1xuICB9XG5cbiAgaGlkZSgpIHtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIHNob3c6IGZhbHNlLFxuICAgIH0pO1xuICB9XG5cbiAgdG9nZ2xlSXNVc2VSZWxhdGl2ZVBhdGgoKSB7XG4gICAgaWYgKCF0aGlzLnN0YXRlLmxpbmtJbnB1dFZhbHVlLnN0YXJ0c1dpdGgoJy8nKSB8fCB0aGlzLnN0YXRlLmxpbmtlclR5cGUgPT09IExpbmtlci50eXBlcy5ncm93aUxpbmspIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBVc2VyIGNhbid0IHVzZSBib3RoIHJlbGF0aXZlUGF0aCBhbmQgcGVybWFsaW5rIGF0IHRoZSBzYW1lIHRpbWVcbiAgICB0aGlzLnNldFN0YXRlKHsgaXNVc2VSZWxhdGl2ZVBhdGg6ICF0aGlzLnN0YXRlLmlzVXNlUmVsYXRpdmVQYXRoLCBpc1VzZVBlcm1hbmVudExpbms6IGZhbHNlIH0pO1xuICB9XG5cbiAgdG9nZ2xlSXNVc2VQYW1hbmVudExpbmsoKSB7XG4gICAgaWYgKHRoaXMuc3RhdGUucGVybWFsaW5rID09PSAnJyB8fCB0aGlzLnN0YXRlLmxpbmtlclR5cGUgPT09IExpbmtlci50eXBlcy5ncm93aUxpbmspIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBVc2VyIGNhbid0IHVzZSBib3RoIHJlbGF0aXZlUGF0aCBhbmQgcGVybWFsaW5rIGF0IHRoZSBzYW1lIHRpbWVcbiAgICB0aGlzLnNldFN0YXRlKHsgaXNVc2VQZXJtYW5lbnRMaW5rOiAhdGhpcy5zdGF0ZS5pc1VzZVBlcm1hbmVudExpbmssIGlzVXNlUmVsYXRpdmVQYXRoOiBmYWxzZSB9KTtcbiAgfVxuXG4gIGFzeW5jIHNldE1hcmtkb3duKCkge1xuICAgIGNvbnN0IHsgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBwYXRoID0gdGhpcy5zdGF0ZS5saW5rSW5wdXRWYWx1ZTtcbiAgICBsZXQgbWFya2Rvd24gPSAnJztcbiAgICBsZXQgcGVybWFsaW5rID0gJyc7XG4gICAgbGV0IHByZXZpZXdFcnJvciA9ICcnO1xuXG4gICAgaWYgKHBhdGguc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgICBjb25zdCBwYXRoV2l0aG91dEZyYWdtZW50ID0gbmV3IFVSTChwYXRoLCAnaHR0cDovL2R1bW15JykucGF0aG5hbWU7XG4gICAgICBjb25zdCBpc1Blcm1hbmVudExpbmsgPSB2YWxpZGF0b3IuaXNNb25nb0lkKHBhdGhXaXRob3V0RnJhZ21lbnQuc2xpY2UoMSkpO1xuICAgICAgY29uc3QgcGFnZUlkID0gaXNQZXJtYW5lbnRMaW5rID8gcGF0aFdpdGhvdXRGcmFnbWVudC5zbGljZSgxKSA6IG51bGw7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgcGFnZSB9ID0gYXdhaXQgdGhpcy5wcm9wcy5hcHBDb250YWluZXIuYXBpR2V0KCcvcGFnZXMuZ2V0JywgeyBwYXRoOiBwYXRoV2l0aG91dEZyYWdtZW50LCBwYWdlX2lkOiBwYWdlSWQgfSk7XG4gICAgICAgIG1hcmtkb3duID0gcGFnZS5yZXZpc2lvbi5ib2R5O1xuICAgICAgICBwZXJtYWxpbmsgPSBwYWdlLmlkO1xuICAgICAgfVxuICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICBwcmV2aWV3RXJyb3IgPSBlcnIubWVzc2FnZTtcbiAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICBwcmV2aWV3RXJyb3IgPSB0KCdsaW5rX2VkaXQucGFnZV9ub3RfZm91bmRfaW5fcHJldmlldycsIHsgcGF0aCB9KTtcbiAgICB9XG4gICAgdGhpcy5zZXRTdGF0ZSh7IG1hcmtkb3duLCBwcmV2aWV3RXJyb3IsIHBlcm1hbGluayB9KTtcbiAgfVxuXG4gIGdldExpbmtGb3JQcmV2aWV3KCkge1xuICAgIGNvbnN0IGxpbmtlciA9IHRoaXMuZ2VuZXJhdGVMaW5rKCk7XG5cbiAgICBpZiAodGhpcy5pc1VzZVBlcm1hbmVudExpbmsgJiYgdGhpcy5wZXJtYWxpbmsgIT0gbnVsbCkge1xuICAgICAgbGlua2VyLmxpbmsgPSB0aGlzLnBlcm1hbGluaztcbiAgICB9XG5cbiAgICBpZiAobGlua2VyLmxhYmVsID09PSAnJykge1xuICAgICAgbGlua2VyLmxhYmVsID0gbGlua2VyLmxpbms7XG4gICAgfVxuXG4gICAgcmV0dXJuIGxpbmtlcjtcbiAgfVxuXG4gIHJlbmRlckxpbmtQcmV2aWV3KCkge1xuICAgIGNvbnN0IGxpbmtlciA9IHRoaXMuZ2V0TGlua0ZvclByZXZpZXcoKTtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gbWItMyBmbGV4LWNvbHVtbiBmbGV4LXNtLXJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNhcmQgY2FyZC1kaXNhYmxlZCB3LTEwMCBwLTEgbWItMFwiPlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtbGVmdCB0ZXh0LW11dGVkIG1iLTEgc21hbGxcIj5NYXJrZG93bjwvcD5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LWNlbnRlciB0ZXh0LXRydW5jYXRlIHRleHQtbXV0ZWRcIj57bGlua2VyLmdlbmVyYXRlTWFya2Rvd25UZXh0KCl9PC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJsZWFkIG14LTNcIj5cbiAgICAgICAgICAgIDxpIGNsYXNzTmFtZT1cImQtbm9uZSBkLXNtLWJsb2NrIGZhIGZhLWNhcmV0LXJpZ2h0XCI+PC9pPlxuICAgICAgICAgICAgPGkgY2xhc3NOYW1lPVwiZC1zbS1ub25lIGZhIGZhLWNhcmV0LWRvd25cIj48L2k+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjYXJkIHctMTAwIHAtMSBtYi0wXCI+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1sZWZ0IHRleHQtbXV0ZWQgbWItMSBzbWFsbFwiPkhUTUw8L3A+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1jZW50ZXIgdGV4dC10cnVuY2F0ZVwiPlxuICAgICAgICAgICAgPGEgaHJlZj17bGlua2VyLmxpbmt9PntsaW5rZXIubGFiZWx9PC9hPlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG5cbiAgaGFuZGxlQ2hhbmdlVHlwZWFoZWFkKHNlbGVjdGVkKSB7XG4gICAgY29uc3QgcGFnZSA9IHNlbGVjdGVkWzBdO1xuICAgIGlmIChwYWdlICE9IG51bGwpIHtcbiAgICAgIGNvbnN0IHBlcm1hbGluayA9IGAke3dpbmRvdy5sb2NhdGlvbi5vcmlnaW59LyR7cGFnZS5pZH1gO1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGxpbmtJbnB1dFZhbHVlOiBwYWdlLnBhdGgsIHBlcm1hbGluayB9KTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVDaGFuZ2VMYWJlbElucHV0KGxhYmVsKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IGxhYmVsSW5wdXRWYWx1ZTogbGFiZWwgfSk7XG4gIH1cblxuICBoYW5kbGVDaGFuZ2VMaW5rSW5wdXQobGluaykge1xuICAgIGxldCBpc1VzZVJlbGF0aXZlUGF0aCA9IHRoaXMuc3RhdGUuaXNVc2VSZWxhdGl2ZVBhdGg7XG4gICAgaWYgKCF0aGlzLnN0YXRlLmxpbmtJbnB1dFZhbHVlLnN0YXJ0c1dpdGgoJy8nKSB8fCB0aGlzLnN0YXRlLmxpbmtlclR5cGUgPT09IExpbmtlci50eXBlcy5ncm93aUxpbmspIHtcbiAgICAgIGlzVXNlUmVsYXRpdmVQYXRoID0gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgbGlua0lucHV0VmFsdWU6IGxpbmssIGlzVXNlUmVsYXRpdmVQYXRoLCBpc1VzZVBlcm1hbmVudExpbms6IGZhbHNlLCBwZXJtYWxpbms6ICcnLFxuICAgIH0pO1xuICB9XG5cbiAgaGFuZGxlU2VsZWN0ZUxpbmtlclR5cGUobGlua2VyVHlwZSkge1xuICAgIGxldCB7IGlzVXNlUmVsYXRpdmVQYXRoLCBpc1VzZVBlcm1hbmVudExpbmsgfSA9IHRoaXMuc3RhdGU7XG4gICAgaWYgKGxpbmtlclR5cGUgPT09IExpbmtlci50eXBlcy5ncm93aUxpbmspIHtcbiAgICAgIGlzVXNlUmVsYXRpdmVQYXRoID0gZmFsc2U7XG4gICAgICBpc1VzZVBlcm1hbmVudExpbmsgPSBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5zZXRTdGF0ZSh7IGxpbmtlclR5cGUsIGlzVXNlUmVsYXRpdmVQYXRoLCBpc1VzZVBlcm1hbmVudExpbmsgfSk7XG4gIH1cblxuICBzYXZlKCkge1xuICAgIGNvbnN0IGxpbmtlciA9IHRoaXMuZ2V0TGlua0ZvclByZXZpZXcoKTtcblxuICAgIGlmICh0aGlzLnByb3BzLm9uU2F2ZSAhPSBudWxsKSB7XG4gICAgICB0aGlzLnByb3BzLm9uU2F2ZShsaW5rZXIuZ2VuZXJhdGVNYXJrZG93blRleHQoKSk7XG4gICAgfVxuXG4gICAgdGhpcy5oaWRlKCk7XG4gIH1cblxuICBnZW5lcmF0ZUxpbmsoKSB7XG4gICAgY29uc3Qge1xuICAgICAgbGlua0lucHV0VmFsdWUsIGxhYmVsSW5wdXRWYWx1ZSwgbGlua2VyVHlwZSwgaXNVc2VSZWxhdGl2ZVBhdGgsIGlzVXNlUGVybWFuZW50TGluaywgcGVybWFsaW5rLFxuICAgIH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgbGV0IHJlc2hhcGVkTGluayA9IGxpbmtJbnB1dFZhbHVlO1xuICAgIGlmIChpc1VzZVJlbGF0aXZlUGF0aCkge1xuICAgICAgY29uc3Qgcm9vdFBhdGggPSB0aGlzLmdldFJvb3RQYXRoKGxpbmtlclR5cGUpO1xuICAgICAgcmVzaGFwZWRMaW5rID0gcm9vdFBhdGggPT09IGxpbmtJbnB1dFZhbHVlID8gJy4nIDogcGF0aC5yZWxhdGl2ZShyb290UGF0aCwgbGlua0lucHV0VmFsdWUpO1xuICAgIH1cblxuICAgIGlmIChpc1VzZVBlcm1hbmVudExpbmsgJiYgcGVybWFsaW5rICE9IG51bGwpIHtcbiAgICAgIHJlc2hhcGVkTGluayA9IHBlcm1hbGluaztcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IExpbmtlcihsaW5rZXJUeXBlLCBsYWJlbElucHV0VmFsdWUsIHJlc2hhcGVkTGluayk7XG4gIH1cblxuICBnZXRSb290UGF0aCh0eXBlKSB7XG4gICAgY29uc3QgeyBwYWdlQ29udGFpbmVyIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHBhZ2VQYXRoID0gcGFnZUNvbnRhaW5lci5zdGF0ZS5wYXRoO1xuICAgIC8vIHJvb3RQYXRocyBvZiBtZCBsaW5rIGFuZCBwdWtpd2lraSBsaW5rIGFyZSBkaWZmZXJlbnRcbiAgICByZXR1cm4gdHlwZSA9PT0gTGlua2VyLnR5cGVzLm1hcmtkb3duTGluayA/IHBhdGguZGlybmFtZShwYWdlUGF0aCkgOiBwYWdlUGF0aDtcbiAgfVxuXG4gIGFzeW5jIHRvZ2dsZUlzUHJldmlld09wZW4oKSB7XG4gICAgLy8gb3BlbiBwb3BvdmVyXG4gICAgaWYgKHRoaXMuc3RhdGUuaXNQcmV2aWV3T3BlbiA9PT0gZmFsc2UpIHtcbiAgICAgIHRoaXMuc2V0TWFya2Rvd24oKTtcbiAgICB9XG4gICAgdGhpcy5zZXRTdGF0ZSh7IGlzUHJldmlld09wZW46ICF0aGlzLnN0YXRlLmlzUHJldmlld09wZW4gfSk7XG4gIH1cblxuICByZW5kZXJMaW5rQW5kTGFiZWxGb3JtKCkge1xuICAgIGNvbnN0IHsgdCB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPGgzIGNsYXNzTmFtZT1cImdydy1tb2RhbC1oZWFkXCI+e3QoJ2xpbmtfZWRpdC5zZXRfbGlua19hbmRfbGFiZWwnKX08L2gzPlxuICAgICAgICA8Zm9ybSBjbGFzc05hbWU9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmb3JtLWdvcnVwIG15LTNcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5wdXQtZ3JvdXAgZmxleC1ub3dyYXBcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbnB1dC1ncm91cC1wcmVwZW5kXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiaW5wdXQtZ3JvdXAtdGV4dFwiPnt0KCdsaW5rX2VkaXQubGluaycpfTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxTZWFyY2hUeXBlYWhlYWRcbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5oYW5kbGVDaGFuZ2VUeXBlYWhlYWR9XG4gICAgICAgICAgICAgICAgb25JbnB1dENoYW5nZT17dGhpcy5oYW5kbGVDaGFuZ2VMaW5rSW5wdXR9XG4gICAgICAgICAgICAgICAgaW5wdXROYW1lPVwibGlua1wiXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3QoJ2xpbmtfZWRpdC5wbGFjZWhvbGRlcl9vZl9saW5rX2lucHV0Jyl9XG4gICAgICAgICAgICAgICAga2V5d29yZE9uSW5pdD17dGhpcy5zdGF0ZS5saW5rSW5wdXRWYWx1ZX1cbiAgICAgICAgICAgICAgICBiZWhhdmlvck9mUmVzZXRCdG49XCJjbGVhclwiXG4gICAgICAgICAgICAgICAgYXV0b0ZvY3VzXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZC1ub25lIGQtc20tYmxvY2sgaW5wdXQtZ3JvdXAtYXBwZW5kXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgaWQ9XCJwcmV2aWV3LWJ0blwiIGNsYXNzTmFtZT1cImJ0biBidG4taW5mbyBidG4tcGFnZS1wcmV2aWV3XCI+XG4gICAgICAgICAgICAgICAgICA8UGFnZVByZXZpZXdJY29uIC8+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPFBvcG92ZXIgdHJpZ2dlcj1cImZvY3VzXCIgcGxhY2VtZW50PVwicmlnaHRcIiBpc09wZW49e3RoaXMuc3RhdGUuaXNQcmV2aWV3T3Blbn0gdGFyZ2V0PVwicHJldmlldy1idG5cIiB0b2dnbGU9e3RoaXMudG9nZ2xlSXNQcmV2aWV3T3Blbn0+XG4gICAgICAgICAgICAgICAgICA8UG9wb3ZlckJvZHk+XG4gICAgICAgICAgICAgICAgICAgIDxQcmV2aWV3V2l0aFN1c3BlbnNlIHNldE1hcmtkb3duPXt0aGlzLnNldE1hcmtkb3dufSBtYXJrZG93bj17dGhpcy5zdGF0ZS5tYXJrZG93bn0gZXJyb3I9e3RoaXMuc3RhdGUucHJldmlld0Vycm9yfSAvPlxuICAgICAgICAgICAgICAgICAgPC9Qb3BvdmVyQm9keT5cbiAgICAgICAgICAgICAgICA8L1BvcG92ZXI+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmb3JtLWdvcnVwIG15LTNcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5wdXQtZ3JvdXAgZmxleC1ub3dyYXBcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbnB1dC1ncm91cC1wcmVwZW5kXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiaW5wdXQtZ3JvdXAtdGV4dFwiPnt0KCdsaW5rX2VkaXQubGFiZWwnKX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICBpZD1cImxhYmVsXCJcbiAgICAgICAgICAgICAgICB2YWx1ZT17dGhpcy5zdGF0ZS5sYWJlbElucHV0VmFsdWV9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e2UgPT4gdGhpcy5oYW5kbGVDaGFuZ2VMYWJlbElucHV0KGUudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17dGhpcy5zdGF0ZS5saW5rZXJUeXBlID09PSBMaW5rZXIudHlwZXMuZ3Jvd2lMaW5rfVxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXt0aGlzLnN0YXRlLmxpbmtJbnB1dFZhbHVlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZm9ybT5cbiAgICAgIDwvPlxuICAgICk7XG4gIH1cblxuICByZW5kZXJQYXRoRm9ybWF0Rm9ybSgpIHtcbiAgICBjb25zdCB7IHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY2FyZCB3ZWxsIHB0LTNcIj5cbiAgICAgICAgPGZvcm0gY2xhc3NOYW1lPVwiZm9ybS1ncm91cCBtYi0wXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmb3JtLWdyb3VwIHJvd1wiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImNvbC1zbS0zXCI+e3QoJ2xpbmtfZWRpdC5wYXRoX2Zvcm1hdCcpfTwvbGFiZWw+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC1zbS05XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY3VzdG9tLWNvbnRyb2wgY3VzdG9tLWNoZWNrYm94IGN1c3RvbS1jaGVja2JveC1pbmZvIGN1c3RvbS1jb250cm9sLWlubGluZVwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiY3VzdG9tLWNvbnRyb2wtaW5wdXRcIlxuICAgICAgICAgICAgICAgICAgaWQ9XCJyZWxhdGl2ZVBhdGhcIlxuICAgICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9e3RoaXMuc3RhdGUuaXNVc2VSZWxhdGl2ZVBhdGh9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy50b2dnbGVJc1VzZVJlbGF0aXZlUGF0aH1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXshdGhpcy5zdGF0ZS5saW5rSW5wdXRWYWx1ZS5zdGFydHNXaXRoKCcvJykgfHwgdGhpcy5zdGF0ZS5saW5rZXJUeXBlID09PSBMaW5rZXIudHlwZXMuZ3Jvd2lMaW5rfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sLWxhYmVsXCIgaHRtbEZvcj1cInJlbGF0aXZlUGF0aFwiPlxuICAgICAgICAgICAgICAgICAge3QoJ2xpbmtfZWRpdC51c2VfcmVsYXRpdmVfcGF0aCcpfVxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sIGN1c3RvbS1jaGVja2JveCBjdXN0b20tY2hlY2tib3gtaW5mbyBjdXN0b20tY29udHJvbC1pbmxpbmVcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sLWlucHV0XCJcbiAgICAgICAgICAgICAgICAgIGlkPVwicGVybWFuZW50TGlua1wiXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgY2hlY2tlZD17dGhpcy5zdGF0ZS5pc1VzZVBlcm1hbmVudExpbmt9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy50b2dnbGVJc1VzZVBhbWFuZW50TGlua31cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXt0aGlzLnN0YXRlLnBlcm1hbGluayA9PT0gJycgfHwgdGhpcy5zdGF0ZS5saW5rZXJUeXBlID09PSBMaW5rZXIudHlwZXMuZ3Jvd2lMaW5rfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sLWxhYmVsXCIgaHRtbEZvcj1cInBlcm1hbmVudExpbmtcIj5cbiAgICAgICAgICAgICAgICAgIHt0KCdsaW5rX2VkaXQudXNlX3Blcm1hbmVudF9saW5rJyl9XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZvcm0tZ3JvdXAgcm93IG1iLTBcIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9XCJjb2wtc20tM1wiPnt0KCdsaW5rX2VkaXQubm90YXRpb24nKX08L2xhYmVsPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtc20tOVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sIGN1c3RvbS1yYWRpbyBjdXN0b20tY29udHJvbC1pbmxpbmVcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJjdXN0b20tY29udHJvbC1pbnB1dFwiXG4gICAgICAgICAgICAgICAgICBpZD1cIm1hcmtkb3duVHlwZVwiXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17TGlua2VyLnR5cGVzLm1hcmtkb3duTGlua31cbiAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9e3RoaXMuc3RhdGUubGlua2VyVHlwZSA9PT0gTGlua2VyLnR5cGVzLm1hcmtkb3duTGlua31cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtlID0+IHRoaXMuaGFuZGxlU2VsZWN0ZUxpbmtlclR5cGUoZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sLWxhYmVsXCIgaHRtbEZvcj1cIm1hcmtkb3duVHlwZVwiPlxuICAgICAgICAgICAgICAgICAge3QoJ2xpbmtfZWRpdC5tYXJrZG93bicpfVxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sIGN1c3RvbS1yYWRpbyBjdXN0b20tY29udHJvbC1pbmxpbmVcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJjdXN0b20tY29udHJvbC1pbnB1dFwiXG4gICAgICAgICAgICAgICAgICBpZD1cImdyb3dpVHlwZVwiXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17TGlua2VyLnR5cGVzLmdyb3dpTGlua31cbiAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9e3RoaXMuc3RhdGUubGlua2VyVHlwZSA9PT0gTGlua2VyLnR5cGVzLmdyb3dpTGlua31cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtlID0+IHRoaXMuaGFuZGxlU2VsZWN0ZUxpbmtlclR5cGUoZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sLWxhYmVsXCIgaHRtbEZvcj1cImdyb3dpVHlwZVwiPlxuICAgICAgICAgICAgICAgICAge3QoJ2xpbmtfZWRpdC5HUk9XSV9vcmlnaW5hbCcpfVxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICB7dGhpcy5pc0FwcGx5UHVraXdpa2lMaWtlTGlua2VyUGx1Z2luICYmIChcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sIGN1c3RvbS1yYWRpbyBjdXN0b20tY29udHJvbC1pbmxpbmVcIj5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJjdXN0b20tY29udHJvbC1pbnB1dFwiXG4gICAgICAgICAgICAgICAgICAgIGlkPVwicHVraXdpa2lUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9e0xpbmtlci50eXBlcy5wdWtpd2lraUxpbmt9XG4gICAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9e3RoaXMuc3RhdGUubGlua2VyVHlwZSA9PT0gTGlua2VyLnR5cGVzLnB1a2l3aWtpTGlua31cbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2UgPT4gdGhpcy5oYW5kbGVTZWxlY3RlTGlua2VyVHlwZShlLnRhcmdldC52YWx1ZSl9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sLWxhYmVsXCIgaHRtbEZvcj1cInB1a2l3aWtpVHlwZVwiPlxuICAgICAgICAgICAgICAgICAgICB7dCgnbGlua19lZGl0LnB1a2l3aWtpJyl9XG4gICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZm9ybT5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyB0IH0gPSB0aGlzLnByb3BzO1xuICAgIHJldHVybiAoXG4gICAgICA8TW9kYWwgY2xhc3NOYW1lPVwibGluay1lZGl0LW1vZGFsXCIgaXNPcGVuPXt0aGlzLnN0YXRlLnNob3d9IHRvZ2dsZT17dGhpcy5jYW5jZWx9IHNpemU9XCJsZ1wiIGF1dG9Gb2N1cz17ZmFsc2V9PlxuICAgICAgICA8TW9kYWxIZWFkZXIgdGFnPVwiaDRcIiB0b2dnbGU9e3RoaXMuY2FuY2VsfSBjbGFzc05hbWU9XCJiZy1wcmltYXJ5IHRleHQtbGlnaHRcIj5cbiAgICAgICAgICB7dCgnbGlua19lZGl0LmVkaXRfbGluaycpfVxuICAgICAgICA8L01vZGFsSGVhZGVyPlxuXG4gICAgICAgIDxNb2RhbEJvZHkgY2xhc3NOYW1lPVwiY29udGFpbmVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTEyXCI+XG4gICAgICAgICAgICAgIHt0aGlzLnJlbmRlckxpbmtBbmRMYWJlbEZvcm0oKX1cbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyUGF0aEZvcm1hdEZvcm0oKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0xMlwiPlxuICAgICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwiZ3J3LW1vZGFsLWhlYWRcIj57dCgnbGlua19lZGl0LnByZXZpZXcnKX08L2gzPlxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJMaW5rUHJldmlldygpfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvTW9kYWxCb2R5PlxuICAgICAgICA8TW9kYWxGb290ZXI+XG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3NOYW1lPVwiYnRuIGJ0bi1zbSBidG4tb3V0bGluZS1zZWNvbmRhcnkgbXgtMVwiIG9uQ2xpY2s9e3RoaXMuaGlkZX0+XG4gICAgICAgICAgICB7dCgnQ2FuY2VsJyl9XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3NOYW1lPVwiYnRuIGJ0bi1zbSBidG4tcHJpbWFyeSBteC0xXCIgb25DbGljaz17dGhpcy5zYXZlfT5cbiAgICAgICAgICAgIHt0KCdEb25lJyl9XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvTW9kYWxGb290ZXI+XG4gICAgICA8L01vZGFsPlxuICAgICk7XG4gIH1cblxufVxuXG5MaW5rRWRpdE1vZGFsLnByb3BUeXBlcyA9IHtcbiAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgYXBwQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihBcHBDb250YWluZXIpLmlzUmVxdWlyZWQsXG4gIHBhZ2VDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKFBhZ2VDb250YWluZXIpLmlzUmVxdWlyZWQsXG4gIG9uU2F2ZTogUHJvcFR5cGVzLmZ1bmMsXG59O1xuXG4vKipcbiAqIFdyYXBwZXIgY29tcG9uZW50IGZvciB1c2luZyB1bnN0YXRlZFxuICovXG5jb25zdCBMaW5rRWRpdE1vZGFsV3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoTGlua0VkaXRNb2RhbCwgW0FwcENvbnRhaW5lciwgUGFnZUNvbnRhaW5lcl0pO1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoVHJhbnNsYXRpb24oJ3RyYW5zbGF0aW9uJywgeyB3aXRoUmVmOiB0cnVlIH0pKExpbmtFZGl0TW9kYWxXcmFwcGVyKTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7Ozs7Ozs7QUFXQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVZBO0FBYUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFPQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBR0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFEQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFEQTtBQUlBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUEE7QUFTQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVBBO0FBY0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQVFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQVFBO0FBQUE7QUFBQTtBQU1BO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQVFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQVFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQVFBO0FBQUE7QUFBQTtBQVVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFLQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBTUE7QUFDQTtBQXBiQTtBQUNBO0FBc2JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU9BOzs7O0FBR0E7QUFFQTtBQUFBO0FBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/PageEditor/LinkEditModal.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageEditor/MarkdownDrawioUtil.js":
- /*!*******************************************************************!*\
- !*** ./src/client/js/components/PageEditor/MarkdownDrawioUtil.js ***!
- \*******************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Utility for markdown drawio\n */\nclass MarkdownDrawioUtil {\n constructor() {\n this.lineBeginPartOfDrawioRE = /^:::(\\s.*)drawio$/;\n this.lineEndPartOfDrawioRE = /^:::$/;\n }\n /**\n * return the postion of the BOD(beginning of drawio)\n * (If the BOD is not found after the cursor or the EOD is found before the BOD, return null)\n */\n\n\n getBod(editor) {\n const curPos = editor.getCursor();\n const firstLine = editor.getDoc().firstLine();\n\n if (this.lineBeginPartOfDrawioRE.test(editor.getDoc().getLine(curPos.line))) {\n return {\n line: curPos.line,\n ch: 0\n };\n }\n\n let line = curPos.line - 1;\n let isFound = false;\n\n for (; line >= firstLine; line--) {\n const strLine = editor.getDoc().getLine(line);\n\n if (this.lineBeginPartOfDrawioRE.test(strLine)) {\n isFound = true;\n break;\n }\n\n if (this.lineEndPartOfDrawioRE.test(strLine)) {\n isFound = false;\n break;\n }\n }\n\n if (!isFound) {\n return null;\n }\n\n const bodLine = Math.max(firstLine, line);\n return {\n line: bodLine,\n ch: 0\n };\n }\n /**\n * return the postion of the EOD(end of drawio)\n * (If the EOD is not found after the cursor or the BOD is found before the EOD, return null)\n */\n\n\n getEod(editor) {\n const curPos = editor.getCursor();\n const lastLine = editor.getDoc().lastLine();\n\n if (this.lineEndPartOfDrawioRE.test(editor.getDoc().getLine(curPos.line))) {\n return {\n line: curPos.line,\n ch: editor.getDoc().getLine(curPos.line).length\n };\n }\n\n let line = curPos.line + 1;\n let isFound = false;\n\n for (; line <= lastLine; line++) {\n const strLine = editor.getDoc().getLine(line);\n\n if (this.lineEndPartOfDrawioRE.test(strLine)) {\n isFound = true;\n break;\n }\n\n if (this.lineBeginPartOfDrawioRE.test(strLine)) {\n isFound = false;\n break;\n }\n }\n\n if (!isFound) {\n return null;\n }\n\n const eodLine = Math.min(line, lastLine);\n const lineLength = editor.getDoc().getLine(eodLine).length;\n return {\n line: eodLine,\n ch: lineLength\n };\n }\n /**\n * return boolean value whether the cursor position is in a drawio\n */\n\n\n isInDrawioBlock(editor) {\n const bod = this.getBod(editor);\n const eod = this.getEod(editor);\n\n if (bod === null || eod === null) {\n return false;\n }\n\n return JSON.stringify(bod) !== JSON.stringify(eod);\n }\n /**\n * return drawioData instance where the cursor is\n * (If the cursor is not in a drawio block, return null)\n */\n\n\n getMarkdownDrawioMxfile(editor) {\n if (this.isInDrawioBlock(editor)) {\n const bod = this.getBod(editor);\n const eod = this.getEod(editor); // skip block begin sesion(\"::: drawio\")\n\n bod.line++; // skip block end sesion(\":::\")\n\n eod.line--;\n eod.ch = editor.getDoc().getLine(eod.line).length;\n return editor.getDoc().getRange(bod, eod);\n }\n\n return null;\n }\n\n replaceFocusedDrawioWithEditor(editor, drawioData) {\n const curPos = editor.getCursor();\n const drawioBlock = ['::: drawio', drawioData.toString(), ':::'].join('\\n');\n let beginPos;\n let endPos;\n\n if (this.isInDrawioBlock(editor)) {\n beginPos = this.getBod(editor);\n endPos = this.getEod(editor);\n } else {\n beginPos = {\n line: curPos.line,\n ch: curPos.ch\n };\n endPos = {\n line: curPos.line,\n ch: curPos.ch\n };\n }\n\n editor.getDoc().replaceRange(drawioBlock, beginPos, endPos);\n }\n /**\n * return markdown where the drawioData specified by line number params is replaced to the drawioData specified by drawioData param\n * @param {string} drawioData\n * @param {string} markdown\n * @param beginLineNumber\n * @param endLineNumber\n */\n\n\n replaceDrawioInMarkdown(drawioData, markdown, beginLineNumber, endLineNumber) {\n const splitMarkdown = markdown.split(/\\r\\n|\\r|\\n/);\n const markdownBeforeDrawio = splitMarkdown.slice(0, beginLineNumber - 1);\n const markdownAfterDrawio = splitMarkdown.slice(endLineNumber);\n let newMarkdown = '';\n\n if (markdownBeforeDrawio.length > 0) {\n newMarkdown += `${markdownBeforeDrawio.join('\\n')}\\n`;\n }\n\n newMarkdown += '::: drawio\\n';\n newMarkdown += drawioData;\n newMarkdown += '\\n:::';\n\n if (markdownAfterDrawio.length > 0) {\n newMarkdown += `\\n${markdownAfterDrawio.join('\\n')}`;\n }\n\n return newMarkdown;\n }\n\n} // singleton pattern\n\n\nconst instance = new MarkdownDrawioUtil();\nObject.freeze(instance);\n/* harmony default export */ __webpack_exports__[\"default\"] = (instance);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci9NYXJrZG93bkRyYXdpb1V0aWwuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci9NYXJrZG93bkRyYXdpb1V0aWwuanM/MDZiMSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFV0aWxpdHkgZm9yIG1hcmtkb3duIGRyYXdpb1xuICovXG5jbGFzcyBNYXJrZG93bkRyYXdpb1V0aWwge1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMubGluZUJlZ2luUGFydE9mRHJhd2lvUkUgPSAvXjo6OihcXHMuKilkcmF3aW8kLztcbiAgICB0aGlzLmxpbmVFbmRQYXJ0T2ZEcmF3aW9SRSA9IC9eOjo6JC87XG4gIH1cblxuICAvKipcbiAgICogcmV0dXJuIHRoZSBwb3N0aW9uIG9mIHRoZSBCT0QoYmVnaW5uaW5nIG9mIGRyYXdpbylcbiAgICogKElmIHRoZSBCT0QgaXMgbm90IGZvdW5kIGFmdGVyIHRoZSBjdXJzb3Igb3IgdGhlIEVPRCBpcyBmb3VuZCBiZWZvcmUgdGhlIEJPRCwgcmV0dXJuIG51bGwpXG4gICAqL1xuICBnZXRCb2QoZWRpdG9yKSB7XG4gICAgY29uc3QgY3VyUG9zID0gZWRpdG9yLmdldEN1cnNvcigpO1xuICAgIGNvbnN0IGZpcnN0TGluZSA9IGVkaXRvci5nZXREb2MoKS5maXJzdExpbmUoKTtcblxuICAgIGlmICh0aGlzLmxpbmVCZWdpblBhcnRPZkRyYXdpb1JFLnRlc3QoZWRpdG9yLmdldERvYygpLmdldExpbmUoY3VyUG9zLmxpbmUpKSkge1xuICAgICAgcmV0dXJuIHsgbGluZTogY3VyUG9zLmxpbmUsIGNoOiAwIH07XG4gICAgfVxuXG4gICAgbGV0IGxpbmUgPSBjdXJQb3MubGluZSAtIDE7XG4gICAgbGV0IGlzRm91bmQgPSBmYWxzZTtcbiAgICBmb3IgKDsgbGluZSA+PSBmaXJzdExpbmU7IGxpbmUtLSkge1xuICAgICAgY29uc3Qgc3RyTGluZSA9IGVkaXRvci5nZXREb2MoKS5nZXRMaW5lKGxpbmUpO1xuICAgICAgaWYgKHRoaXMubGluZUJlZ2luUGFydE9mRHJhd2lvUkUudGVzdChzdHJMaW5lKSkge1xuICAgICAgICBpc0ZvdW5kID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmxpbmVFbmRQYXJ0T2ZEcmF3aW9SRS50ZXN0KHN0ckxpbmUpKSB7XG4gICAgICAgIGlzRm91bmQgPSBmYWxzZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFpc0ZvdW5kKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBib2RMaW5lID0gTWF0aC5tYXgoZmlyc3RMaW5lLCBsaW5lKTtcbiAgICByZXR1cm4geyBsaW5lOiBib2RMaW5lLCBjaDogMCB9O1xuICB9XG5cbiAgLyoqXG4gICAqIHJldHVybiB0aGUgcG9zdGlvbiBvZiB0aGUgRU9EKGVuZCBvZiBkcmF3aW8pXG4gICAqIChJZiB0aGUgRU9EIGlzIG5vdCBmb3VuZCBhZnRlciB0aGUgY3Vyc29yIG9yIHRoZSBCT0QgaXMgZm91bmQgYmVmb3JlIHRoZSBFT0QsIHJldHVybiBudWxsKVxuICAgKi9cbiAgZ2V0RW9kKGVkaXRvcikge1xuICAgIGNvbnN0IGN1clBvcyA9IGVkaXRvci5nZXRDdXJzb3IoKTtcbiAgICBjb25zdCBsYXN0TGluZSA9IGVkaXRvci5nZXREb2MoKS5sYXN0TGluZSgpO1xuXG4gICAgaWYgKHRoaXMubGluZUVuZFBhcnRPZkRyYXdpb1JFLnRlc3QoZWRpdG9yLmdldERvYygpLmdldExpbmUoY3VyUG9zLmxpbmUpKSkge1xuICAgICAgcmV0dXJuIHsgbGluZTogY3VyUG9zLmxpbmUsIGNoOiBlZGl0b3IuZ2V0RG9jKCkuZ2V0TGluZShjdXJQb3MubGluZSkubGVuZ3RoIH07XG4gICAgfVxuXG4gICAgbGV0IGxpbmUgPSBjdXJQb3MubGluZSArIDE7XG4gICAgbGV0IGlzRm91bmQgPSBmYWxzZTtcbiAgICBmb3IgKDsgbGluZSA8PSBsYXN0TGluZTsgbGluZSsrKSB7XG4gICAgICBjb25zdCBzdHJMaW5lID0gZWRpdG9yLmdldERvYygpLmdldExpbmUobGluZSk7XG4gICAgICBpZiAodGhpcy5saW5lRW5kUGFydE9mRHJhd2lvUkUudGVzdChzdHJMaW5lKSkge1xuICAgICAgICBpc0ZvdW5kID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmxpbmVCZWdpblBhcnRPZkRyYXdpb1JFLnRlc3Qoc3RyTGluZSkpIHtcbiAgICAgICAgaXNGb3VuZCA9IGZhbHNlO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIWlzRm91bmQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGVvZExpbmUgPSBNYXRoLm1pbihsaW5lLCBsYXN0TGluZSk7XG4gICAgY29uc3QgbGluZUxlbmd0aCA9IGVkaXRvci5nZXREb2MoKS5nZXRMaW5lKGVvZExpbmUpLmxlbmd0aDtcbiAgICByZXR1cm4geyBsaW5lOiBlb2RMaW5lLCBjaDogbGluZUxlbmd0aCB9O1xuICB9XG5cbiAgLyoqXG4gICAqIHJldHVybiBib29sZWFuIHZhbHVlIHdoZXRoZXIgdGhlIGN1cnNvciBwb3NpdGlvbiBpcyBpbiBhIGRyYXdpb1xuICAgKi9cbiAgaXNJbkRyYXdpb0Jsb2NrKGVkaXRvcikge1xuICAgIGNvbnN0IGJvZCA9IHRoaXMuZ2V0Qm9kKGVkaXRvcik7XG4gICAgY29uc3QgZW9kID0gdGhpcy5nZXRFb2QoZWRpdG9yKTtcbiAgICBpZiAoYm9kID09PSBudWxsIHx8IGVvZCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoYm9kKSAhPT0gSlNPTi5zdHJpbmdpZnkoZW9kKTtcbiAgfVxuXG4gIC8qKlxuICAgKiByZXR1cm4gZHJhd2lvRGF0YSBpbnN0YW5jZSB3aGVyZSB0aGUgY3Vyc29yIGlzXG4gICAqIChJZiB0aGUgY3Vyc29yIGlzIG5vdCBpbiBhIGRyYXdpbyBibG9jaywgcmV0dXJuIG51bGwpXG4gICAqL1xuICBnZXRNYXJrZG93bkRyYXdpb014ZmlsZShlZGl0b3IpIHtcbiAgICBpZiAodGhpcy5pc0luRHJhd2lvQmxvY2soZWRpdG9yKSkge1xuICAgICAgY29uc3QgYm9kID0gdGhpcy5nZXRCb2QoZWRpdG9yKTtcbiAgICAgIGNvbnN0IGVvZCA9IHRoaXMuZ2V0RW9kKGVkaXRvcik7XG5cbiAgICAgIC8vIHNraXAgYmxvY2sgYmVnaW4gc2VzaW9uKFwiOjo6IGRyYXdpb1wiKVxuICAgICAgYm9kLmxpbmUrKztcbiAgICAgIC8vIHNraXAgYmxvY2sgZW5kIHNlc2lvbihcIjo6OlwiKVxuICAgICAgZW9kLmxpbmUtLTtcbiAgICAgIGVvZC5jaCA9IGVkaXRvci5nZXREb2MoKS5nZXRMaW5lKGVvZC5saW5lKS5sZW5ndGg7XG5cbiAgICAgIHJldHVybiBlZGl0b3IuZ2V0RG9jKCkuZ2V0UmFuZ2UoYm9kLCBlb2QpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJlcGxhY2VGb2N1c2VkRHJhd2lvV2l0aEVkaXRvcihlZGl0b3IsIGRyYXdpb0RhdGEpIHtcbiAgICBjb25zdCBjdXJQb3MgPSBlZGl0b3IuZ2V0Q3Vyc29yKCk7XG4gICAgY29uc3QgZHJhd2lvQmxvY2sgPSBbJzo6OiBkcmF3aW8nLCBkcmF3aW9EYXRhLnRvU3RyaW5nKCksICc6OjonXS5qb2luKCdcXG4nKTtcbiAgICBsZXQgYmVnaW5Qb3M7XG4gICAgbGV0IGVuZFBvcztcblxuICAgIGlmICh0aGlzLmlzSW5EcmF3aW9CbG9jayhlZGl0b3IpKSB7XG4gICAgICBiZWdpblBvcyA9IHRoaXMuZ2V0Qm9kKGVkaXRvcik7XG4gICAgICBlbmRQb3MgPSB0aGlzLmdldEVvZChlZGl0b3IpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGJlZ2luUG9zID0geyBsaW5lOiBjdXJQb3MubGluZSwgY2g6IGN1clBvcy5jaCB9O1xuICAgICAgZW5kUG9zID0geyBsaW5lOiBjdXJQb3MubGluZSwgY2g6IGN1clBvcy5jaCB9O1xuICAgIH1cblxuICAgIGVkaXRvci5nZXREb2MoKS5yZXBsYWNlUmFuZ2UoZHJhd2lvQmxvY2ssIGJlZ2luUG9zLCBlbmRQb3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIHJldHVybiBtYXJrZG93biB3aGVyZSB0aGUgZHJhd2lvRGF0YSBzcGVjaWZpZWQgYnkgbGluZSBudW1iZXIgcGFyYW1zIGlzIHJlcGxhY2VkIHRvIHRoZSBkcmF3aW9EYXRhIHNwZWNpZmllZCBieSBkcmF3aW9EYXRhIHBhcmFtXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBkcmF3aW9EYXRhXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtYXJrZG93blxuICAgKiBAcGFyYW0gYmVnaW5MaW5lTnVtYmVyXG4gICAqIEBwYXJhbSBlbmRMaW5lTnVtYmVyXG4gICAqL1xuICByZXBsYWNlRHJhd2lvSW5NYXJrZG93bihkcmF3aW9EYXRhLCBtYXJrZG93biwgYmVnaW5MaW5lTnVtYmVyLCBlbmRMaW5lTnVtYmVyKSB7XG4gICAgY29uc3Qgc3BsaXRNYXJrZG93biA9IG1hcmtkb3duLnNwbGl0KC9cXHJcXG58XFxyfFxcbi8pO1xuICAgIGNvbnN0IG1hcmtkb3duQmVmb3JlRHJhd2lvID0gc3BsaXRNYXJrZG93bi5zbGljZSgwLCBiZWdpbkxpbmVOdW1iZXIgLSAxKTtcbiAgICBjb25zdCBtYXJrZG93bkFmdGVyRHJhd2lvID0gc3BsaXRNYXJrZG93bi5zbGljZShlbmRMaW5lTnVtYmVyKTtcblxuICAgIGxldCBuZXdNYXJrZG93biA9ICcnO1xuICAgIGlmIChtYXJrZG93bkJlZm9yZURyYXdpby5sZW5ndGggPiAwKSB7XG4gICAgICBuZXdNYXJrZG93biArPSBgJHttYXJrZG93bkJlZm9yZURyYXdpby5qb2luKCdcXG4nKX1cXG5gO1xuICAgIH1cbiAgICBuZXdNYXJrZG93biArPSAnOjo6IGRyYXdpb1xcbic7XG4gICAgbmV3TWFya2Rvd24gKz0gZHJhd2lvRGF0YTtcbiAgICBuZXdNYXJrZG93biArPSAnXFxuOjo6JztcbiAgICBpZiAobWFya2Rvd25BZnRlckRyYXdpby5sZW5ndGggPiAwKSB7XG4gICAgICBuZXdNYXJrZG93biArPSBgXFxuJHttYXJrZG93bkFmdGVyRHJhd2lvLmpvaW4oJ1xcbicpfWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ld01hcmtkb3duO1xuICB9XG5cbn1cblxuLy8gc2luZ2xldG9uIHBhdHRlcm5cbmNvbnN0IGluc3RhbmNlID0gbmV3IE1hcmtkb3duRHJhd2lvVXRpbCgpO1xuT2JqZWN0LmZyZWV6ZShpbnN0YW5jZSk7XG5leHBvcnQgZGVmYXVsdCBpbnN0YW5jZTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTs7O0FBR0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOzs7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRUE7Ozs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7Ozs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7Ozs7OztBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXpKQTtBQUNBO0FBQ0E7QUEySkE7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/PageEditor/MarkdownDrawioUtil.js\n");
- /***/ }),
- /***/ "./src/client/js/components/PageEditor/MarkdownLinkUtil.js":
- /*!*****************************************************************!*\
- !*** ./src/client/js/components/PageEditor/MarkdownLinkUtil.js ***!
- \*****************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _models_Linker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../models/Linker */ \"./src/client/js/models/Linker.js\");\n\n/**\n * Utility for markdown link\n */\n\nclass MarkdownLinkUtil {\n constructor() {\n this.getMarkdownLink = this.getMarkdownLink.bind(this);\n this.isInLink = this.isInLink.bind(this);\n this.replaceFocusedMarkdownLinkWithEditor = this.replaceFocusedMarkdownLinkWithEditor.bind(this);\n } // return an instance of Linker from cursor position or selected text.\n\n\n getMarkdownLink(editor) {\n if (!this.isInLink(editor)) {\n return _models_Linker__WEBPACK_IMPORTED_MODULE_0__[\"default\"].fromMarkdownString(editor.getDoc().getSelection());\n }\n\n const curPos = editor.getCursor();\n return _models_Linker__WEBPACK_IMPORTED_MODULE_0__[\"default\"].fromLineWithIndex(editor.getDoc().getLine(curPos.line), curPos.ch);\n }\n\n isInLink(editor) {\n const curPos = editor.getCursor();\n const {\n beginningOfLink,\n endOfLink\n } = _models_Linker__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getBeginningAndEndIndexOfLink(editor.getDoc().getLine(curPos.line), curPos.ch);\n return beginningOfLink >= 0 && endOfLink >= 0;\n } // replace link(link is an instance of Linker)\n\n\n replaceFocusedMarkdownLinkWithEditor(editor, linkText) {\n const curPos = editor.getCursor();\n\n if (!this.isInLink(editor)) {\n editor.getDoc().replaceSelection(linkText);\n } else {\n const line = editor.getDoc().getLine(curPos.line);\n const {\n beginningOfLink,\n endOfLink\n } = _models_Linker__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getBeginningAndEndIndexOfLink(line, curPos.ch);\n editor.getDoc().replaceRange(linkText, {\n line: curPos.line,\n ch: beginningOfLink\n }, {\n line: curPos.line,\n ch: endOfLink\n });\n }\n }\n\n} // singleton pattern\n\n\nconst instance = new MarkdownLinkUtil();\nObject.freeze(instance);\n/* harmony default export */ __webpack_exports__[\"default\"] = (instance);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci9NYXJrZG93bkxpbmtVdGlsLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1BhZ2VFZGl0b3IvTWFya2Rvd25MaW5rVXRpbC5qcz9iY2NmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMaW5rZXIgZnJvbSAnLi4vLi4vbW9kZWxzL0xpbmtlcic7XG5cbi8qKlxuICogVXRpbGl0eSBmb3IgbWFya2Rvd24gbGlua1xuICovXG5jbGFzcyBNYXJrZG93bkxpbmtVdGlsIHtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmdldE1hcmtkb3duTGluayA9IHRoaXMuZ2V0TWFya2Rvd25MaW5rLmJpbmQodGhpcyk7XG4gICAgdGhpcy5pc0luTGluayA9IHRoaXMuaXNJbkxpbmsuYmluZCh0aGlzKTtcbiAgICB0aGlzLnJlcGxhY2VGb2N1c2VkTWFya2Rvd25MaW5rV2l0aEVkaXRvciA9IHRoaXMucmVwbGFjZUZvY3VzZWRNYXJrZG93bkxpbmtXaXRoRWRpdG9yLmJpbmQodGhpcyk7XG4gIH1cblxuICAvLyByZXR1cm4gYW4gaW5zdGFuY2Ugb2YgTGlua2VyIGZyb20gY3Vyc29yIHBvc2l0aW9uIG9yIHNlbGVjdGVkIHRleHQuXG4gIGdldE1hcmtkb3duTGluayhlZGl0b3IpIHtcbiAgICBpZiAoIXRoaXMuaXNJbkxpbmsoZWRpdG9yKSkge1xuICAgICAgcmV0dXJuIExpbmtlci5mcm9tTWFya2Rvd25TdHJpbmcoZWRpdG9yLmdldERvYygpLmdldFNlbGVjdGlvbigpKTtcbiAgICB9XG4gICAgY29uc3QgY3VyUG9zID0gZWRpdG9yLmdldEN1cnNvcigpO1xuICAgIHJldHVybiBMaW5rZXIuZnJvbUxpbmVXaXRoSW5kZXgoZWRpdG9yLmdldERvYygpLmdldExpbmUoY3VyUG9zLmxpbmUpLCBjdXJQb3MuY2gpO1xuICB9XG5cbiAgaXNJbkxpbmsoZWRpdG9yKSB7XG4gICAgY29uc3QgY3VyUG9zID0gZWRpdG9yLmdldEN1cnNvcigpO1xuICAgIGNvbnN0IHsgYmVnaW5uaW5nT2ZMaW5rLCBlbmRPZkxpbmsgfSA9IExpbmtlci5nZXRCZWdpbm5pbmdBbmRFbmRJbmRleE9mTGluayhlZGl0b3IuZ2V0RG9jKCkuZ2V0TGluZShjdXJQb3MubGluZSksIGN1clBvcy5jaCk7XG4gICAgcmV0dXJuIGJlZ2lubmluZ09mTGluayA+PSAwICYmIGVuZE9mTGluayA+PSAwO1xuICB9XG5cbiAgLy8gcmVwbGFjZSBsaW5rKGxpbmsgaXMgYW4gaW5zdGFuY2Ugb2YgTGlua2VyKVxuICByZXBsYWNlRm9jdXNlZE1hcmtkb3duTGlua1dpdGhFZGl0b3IoZWRpdG9yLCBsaW5rVGV4dCkge1xuICAgIGNvbnN0IGN1clBvcyA9IGVkaXRvci5nZXRDdXJzb3IoKTtcbiAgICBpZiAoIXRoaXMuaXNJbkxpbmsoZWRpdG9yKSkge1xuICAgICAgZWRpdG9yLmdldERvYygpLnJlcGxhY2VTZWxlY3Rpb24obGlua1RleHQpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGNvbnN0IGxpbmUgPSBlZGl0b3IuZ2V0RG9jKCkuZ2V0TGluZShjdXJQb3MubGluZSk7XG4gICAgICBjb25zdCB7IGJlZ2lubmluZ09mTGluaywgZW5kT2ZMaW5rIH0gPSBMaW5rZXIuZ2V0QmVnaW5uaW5nQW5kRW5kSW5kZXhPZkxpbmsobGluZSwgY3VyUG9zLmNoKTtcbiAgICAgIGVkaXRvci5nZXREb2MoKS5yZXBsYWNlUmFuZ2UobGlua1RleHQsIHsgbGluZTogY3VyUG9zLmxpbmUsIGNoOiBiZWdpbm5pbmdPZkxpbmsgfSwgeyBsaW5lOiBjdXJQb3MubGluZSwgY2g6IGVuZE9mTGluayB9KTtcbiAgICB9XG4gIH1cblxufVxuXG4vLyBzaW5nbGV0b24gcGF0dGVyblxuY29uc3QgaW5zdGFuY2UgPSBuZXcgTWFya2Rvd25MaW5rVXRpbCgpO1xuT2JqZWN0LmZyZWV6ZShpbnN0YW5jZSk7XG5leHBvcnQgZGVmYXVsdCBpbnN0YW5jZTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBRUE7Ozs7QUFHQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFuQ0E7QUFDQTtBQUNBO0FBcUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/PageEditor/MarkdownLinkUtil.js\n");
- /***/ }),
- /***/ "./src/client/js/components/PageEditor/MarkdownListUtil.js":
- /*!*****************************************************************!*\
- !*** ./src/client/js/components/PageEditor/MarkdownListUtil.js ***!
- \*****************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Utility for markdown list\n */\nclass MarkdownListUtil {\n constructor() {\n // https://github.com/codemirror/CodeMirror/blob/c7853a989c77bb9f520c9c530cbe1497856e96fc/addon/edit/continuelist.js#L14\n // https://regex101.com/r/7BN2fR/5\n this.indentAndMarkRE = /^(\\s*)(>[> ]*|[*+-] \\[[x ]\\]\\s|[*+-]\\s|(\\d+)([.)]))(\\s*)/;\n this.indentAndMarkOnlyRE = /^(\\s*)(>[> ]*|[*+-] \\[[x ]\\]|[*+-]|(\\d+)[.)])(\\s*)$/;\n this.newlineAndIndentContinueMarkdownList = this.newlineAndIndentContinueMarkdownList.bind(this);\n this.pasteText = this.pasteText.bind(this);\n }\n /**\n * Self Implementation with AbstractEditor interface\n * @param {AbstractEditor} editor An instance of AbstractEditor\n */\n\n\n newlineAndIndentContinueMarkdownList(editor) {\n const strFromBol = editor.getStrFromBol();\n\n if (this.indentAndMarkOnlyRE.test(strFromBol)) {\n // clear current line and end list\n editor.replaceBolToCurrentPos('\\n');\n } else if (this.indentAndMarkRE.test(strFromBol)) {\n // continue list\n const indentAndMark = strFromBol.match(this.indentAndMarkRE)[0];\n editor.insertText(`\\n${indentAndMark}`);\n } else {\n editor.insertLinebreak();\n }\n }\n /**\n * paste text\n * @param {AbstractEditor} editor An instance of AbstractEditor\n * @param {any} event\n * @param {string} text\n */\n\n\n pasteText(editor, event, text) {\n // get strings from BOL(beginning of line) to current position\n const strFromBol = editor.getStrFromBolToSelectedUpperPos(); // when match indentAndMarkOnlyRE\n // (this means the current position is the beginning of the list item)\n\n if (this.indentAndMarkOnlyRE.test(strFromBol)) {\n const adjusted = this.adjustPastedData(strFromBol, text); // replace\n\n if (adjusted != null) {\n event.preventDefault();\n editor.replaceBolToCurrentPos(adjusted);\n }\n }\n }\n /**\n * return adjusted pasted data by indentAndMark\n *\n * @param {string} indentAndMark\n * @param {string} text\n * @returns adjusted pasted data\n * returns null when adjustment is not necessary\n */\n\n\n adjustPastedData(indentAndMark, text) {\n let adjusted = null; // list data (starts with indent and mark)\n\n if (text.match(this.indentAndMarkRE)) {\n const indent = indentAndMark.match(this.indentAndMarkRE)[1]; // splice to an array of line\n\n const lines = text.match(/[^\\r\\n]+/g); // indent\n\n const replacedLines = lines.map(line => {\n return indent + line;\n });\n adjusted = replacedLines.join('\\n');\n } // listful data\n else if (this.isListfulData(text)) {} // do nothing (return null)\n // not listful data\n else {\n // append `indentAndMark` at the beginning of all lines (except the first line)\n const replacedText = text.replace(/(\\r\\n|\\r|\\n)/g, `$1${indentAndMark}`); // append `indentAndMark` to the first line\n\n adjusted = indentAndMark + replacedText;\n }\n\n return adjusted;\n }\n /**\n * evaluate whether `text` is list like data or not\n * @param {string} text\n */\n\n\n isListfulData(text) {\n // return false if includes at least one blank line\n // see https://stackoverflow.com/a/16369725\n if (text.match(/^\\s*[\\r\\n]/m) != null) {\n return false;\n }\n\n const lines = text.match(/[^\\r\\n]+/g); // count lines that starts with indent and mark\n\n let isListful = false;\n let count = 0;\n lines.forEach(line => {\n if (line.match(this.indentAndMarkRE)) {\n count++;\n } // ensure to be true if it is 50% or more\n\n\n if (count >= lines.length / 2) {\n isListful = true;\n return;\n }\n });\n return isListful;\n }\n\n} // singleton pattern\n\n\nconst instance = new MarkdownListUtil();\nObject.freeze(instance);\n/* harmony default export */ __webpack_exports__[\"default\"] = (instance);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci9NYXJrZG93bkxpc3RVdGlsLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1BhZ2VFZGl0b3IvTWFya2Rvd25MaXN0VXRpbC5qcz8xMzU2Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVXRpbGl0eSBmb3IgbWFya2Rvd24gbGlzdFxuICovXG5jbGFzcyBNYXJrZG93bkxpc3RVdGlsIHtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vY29kZW1pcnJvci9Db2RlTWlycm9yL2Jsb2IvYzc4NTNhOTg5Yzc3YmI5ZjUyMGM5YzUzMGNiZTE0OTc4NTZlOTZmYy9hZGRvbi9lZGl0L2NvbnRpbnVlbGlzdC5qcyNMMTRcbiAgICAvLyBodHRwczovL3JlZ2V4MTAxLmNvbS9yLzdCTjJmUi81XG4gICAgdGhpcy5pbmRlbnRBbmRNYXJrUkUgPSAvXihcXHMqKSg+Wz4gXSp8WyorLV0gXFxbW3ggXVxcXVxcc3xbKistXVxcc3woXFxkKykoWy4pXSkpKFxccyopLztcbiAgICB0aGlzLmluZGVudEFuZE1hcmtPbmx5UkUgPSAvXihcXHMqKSg+Wz4gXSp8WyorLV0gXFxbW3ggXVxcXXxbKistXXwoXFxkKylbLildKShcXHMqKSQvO1xuXG4gICAgdGhpcy5uZXdsaW5lQW5kSW5kZW50Q29udGludWVNYXJrZG93bkxpc3QgPSB0aGlzLm5ld2xpbmVBbmRJbmRlbnRDb250aW51ZU1hcmtkb3duTGlzdC5iaW5kKHRoaXMpO1xuICAgIHRoaXMucGFzdGVUZXh0ID0gdGhpcy5wYXN0ZVRleHQuYmluZCh0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxmIEltcGxlbWVudGF0aW9uIHdpdGggQWJzdHJhY3RFZGl0b3IgaW50ZXJmYWNlXG4gICAqIEBwYXJhbSB7QWJzdHJhY3RFZGl0b3J9IGVkaXRvciBBbiBpbnN0YW5jZSBvZiBBYnN0cmFjdEVkaXRvclxuICAgKi9cbiAgbmV3bGluZUFuZEluZGVudENvbnRpbnVlTWFya2Rvd25MaXN0KGVkaXRvcikge1xuICAgIGNvbnN0IHN0ckZyb21Cb2wgPSBlZGl0b3IuZ2V0U3RyRnJvbUJvbCgpO1xuXG4gICAgaWYgKHRoaXMuaW5kZW50QW5kTWFya09ubHlSRS50ZXN0KHN0ckZyb21Cb2wpKSB7XG4gICAgICAvLyBjbGVhciBjdXJyZW50IGxpbmUgYW5kIGVuZCBsaXN0XG4gICAgICBlZGl0b3IucmVwbGFjZUJvbFRvQ3VycmVudFBvcygnXFxuJyk7XG4gICAgfVxuICAgIGVsc2UgaWYgKHRoaXMuaW5kZW50QW5kTWFya1JFLnRlc3Qoc3RyRnJvbUJvbCkpIHtcbiAgICAgIC8vIGNvbnRpbnVlIGxpc3RcbiAgICAgIGNvbnN0IGluZGVudEFuZE1hcmsgPSBzdHJGcm9tQm9sLm1hdGNoKHRoaXMuaW5kZW50QW5kTWFya1JFKVswXTtcbiAgICAgIGVkaXRvci5pbnNlcnRUZXh0KGBcXG4ke2luZGVudEFuZE1hcmt9YCk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgZWRpdG9yLmluc2VydExpbmVicmVhaygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBwYXN0ZSB0ZXh0XG4gICAqIEBwYXJhbSB7QWJzdHJhY3RFZGl0b3J9IGVkaXRvciBBbiBpbnN0YW5jZSBvZiBBYnN0cmFjdEVkaXRvclxuICAgKiBAcGFyYW0ge2FueX0gZXZlbnRcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRleHRcbiAgICovXG4gIHBhc3RlVGV4dChlZGl0b3IsIGV2ZW50LCB0ZXh0KSB7XG4gICAgLy8gZ2V0IHN0cmluZ3MgZnJvbSBCT0woYmVnaW5uaW5nIG9mIGxpbmUpIHRvIGN1cnJlbnQgcG9zaXRpb25cbiAgICBjb25zdCBzdHJGcm9tQm9sID0gZWRpdG9yLmdldFN0ckZyb21Cb2xUb1NlbGVjdGVkVXBwZXJQb3MoKTtcblxuICAgIC8vIHdoZW4gbWF0Y2ggaW5kZW50QW5kTWFya09ubHlSRVxuICAgIC8vICh0aGlzIG1lYW5zIHRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGxpc3QgaXRlbSlcbiAgICBpZiAodGhpcy5pbmRlbnRBbmRNYXJrT25seVJFLnRlc3Qoc3RyRnJvbUJvbCkpIHtcbiAgICAgIGNvbnN0IGFkanVzdGVkID0gdGhpcy5hZGp1c3RQYXN0ZWREYXRhKHN0ckZyb21Cb2wsIHRleHQpO1xuXG4gICAgICAvLyByZXBsYWNlXG4gICAgICBpZiAoYWRqdXN0ZWQgIT0gbnVsbCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBlZGl0b3IucmVwbGFjZUJvbFRvQ3VycmVudFBvcyhhZGp1c3RlZCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIHJldHVybiBhZGp1c3RlZCBwYXN0ZWQgZGF0YSBieSBpbmRlbnRBbmRNYXJrXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpbmRlbnRBbmRNYXJrXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0XG4gICAqIEByZXR1cm5zIGFkanVzdGVkIHBhc3RlZCBkYXRhXG4gICAqICAgICAgcmV0dXJucyBudWxsIHdoZW4gYWRqdXN0bWVudCBpcyBub3QgbmVjZXNzYXJ5XG4gICAqL1xuICBhZGp1c3RQYXN0ZWREYXRhKGluZGVudEFuZE1hcmssIHRleHQpIHtcbiAgICBsZXQgYWRqdXN0ZWQgPSBudWxsO1xuXG4gICAgLy8gbGlzdCBkYXRhIChzdGFydHMgd2l0aCBpbmRlbnQgYW5kIG1hcmspXG4gICAgaWYgKHRleHQubWF0Y2godGhpcy5pbmRlbnRBbmRNYXJrUkUpKSB7XG4gICAgICBjb25zdCBpbmRlbnQgPSBpbmRlbnRBbmRNYXJrLm1hdGNoKHRoaXMuaW5kZW50QW5kTWFya1JFKVsxXTtcblxuICAgICAgLy8gc3BsaWNlIHRvIGFuIGFycmF5IG9mIGxpbmVcbiAgICAgIGNvbnN0IGxpbmVzID0gdGV4dC5tYXRjaCgvW15cXHJcXG5dKy9nKTtcbiAgICAgIC8vIGluZGVudFxuICAgICAgY29uc3QgcmVwbGFjZWRMaW5lcyA9IGxpbmVzLm1hcCgobGluZSkgPT4ge1xuICAgICAgICByZXR1cm4gaW5kZW50ICsgbGluZTtcbiAgICAgIH0pO1xuXG4gICAgICBhZGp1c3RlZCA9IHJlcGxhY2VkTGluZXMuam9pbignXFxuJyk7XG4gICAgfVxuICAgIC8vIGxpc3RmdWwgZGF0YVxuICAgIGVsc2UgaWYgKHRoaXMuaXNMaXN0ZnVsRGF0YSh0ZXh0KSkge1xuICAgICAgLy8gZG8gbm90aGluZyAocmV0dXJuIG51bGwpXG4gICAgfVxuICAgIC8vIG5vdCBsaXN0ZnVsIGRhdGFcbiAgICBlbHNlIHtcbiAgICAgIC8vIGFwcGVuZCBgaW5kZW50QW5kTWFya2AgYXQgdGhlIGJlZ2lubmluZyBvZiBhbGwgbGluZXMgKGV4Y2VwdCB0aGUgZmlyc3QgbGluZSlcbiAgICAgIGNvbnN0IHJlcGxhY2VkVGV4dCA9IHRleHQucmVwbGFjZSgvKFxcclxcbnxcXHJ8XFxuKS9nLCBgJDEke2luZGVudEFuZE1hcmt9YCk7XG4gICAgICAvLyBhcHBlbmQgYGluZGVudEFuZE1hcmtgIHRvIHRoZSBmaXJzdCBsaW5lXG4gICAgICBhZGp1c3RlZCA9IGluZGVudEFuZE1hcmsgKyByZXBsYWNlZFRleHQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFkanVzdGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIGV2YWx1YXRlIHdoZXRoZXIgYHRleHRgIGlzIGxpc3QgbGlrZSBkYXRhIG9yIG5vdFxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dFxuICAgKi9cbiAgaXNMaXN0ZnVsRGF0YSh0ZXh0KSB7XG4gICAgLy8gcmV0dXJuIGZhbHNlIGlmIGluY2x1ZGVzIGF0IGxlYXN0IG9uZSBibGFuayBsaW5lXG4gICAgLy8gc2VlIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8xNjM2OTcyNVxuICAgIGlmICh0ZXh0Lm1hdGNoKC9eXFxzKltcXHJcXG5dL20pICE9IG51bGwpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBsaW5lcyA9IHRleHQubWF0Y2goL1teXFxyXFxuXSsvZyk7XG4gICAgLy8gY291bnQgbGluZXMgdGhhdCBzdGFydHMgd2l0aCBpbmRlbnQgYW5kIG1hcmtcbiAgICBsZXQgaXNMaXN0ZnVsID0gZmFsc2U7XG4gICAgbGV0IGNvdW50ID0gMDtcbiAgICBsaW5lcy5mb3JFYWNoKChsaW5lKSA9PiB7XG4gICAgICBpZiAobGluZS5tYXRjaCh0aGlzLmluZGVudEFuZE1hcmtSRSkpIHtcbiAgICAgICAgY291bnQrKztcbiAgICAgIH1cbiAgICAgIC8vIGVuc3VyZSB0byBiZSB0cnVlIGlmIGl0IGlzIDUwJSBvciBtb3JlXG4gICAgICBpZiAoY291bnQgPj0gbGluZXMubGVuZ3RoIC8gMikge1xuICAgICAgICBpc0xpc3RmdWwgPSB0cnVlO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gaXNMaXN0ZnVsO1xuICB9XG5cbn1cblxuLy8gc2luZ2xldG9uIHBhdHRlcm5cbmNvbnN0IGluc3RhbmNlID0gbmV3IE1hcmtkb3duTGlzdFV0aWwoKTtcbk9iamVjdC5mcmVlemUoaW5zdGFuY2UpO1xuZXhwb3J0IGRlZmF1bHQgaW5zdGFuY2U7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7OztBQUdBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBOzs7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7Ozs7Ozs7O0FBTUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOzs7Ozs7Ozs7O0FBUUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFYQTtBQWdCQTtBQUhBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOzs7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQTNIQTtBQUNBO0FBQ0E7QUE2SEE7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/PageEditor/MarkdownListUtil.js\n");
- /***/ }),
- /***/ "./src/client/js/components/PageEditor/MarkdownTableDataImportForm.jsx":
- /*!*****************************************************************************!*\
- !*** ./src/client/js/components/PageEditor/MarkdownTableDataImportForm.jsx ***!
- \*****************************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return MarkdownTableDataImportForm; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! reactstrap/es/Button */ \"./node_modules/reactstrap/es/Button.js\");\n/* harmony import */ var reactstrap_es_Collapse__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! reactstrap/es/Collapse */ \"./node_modules/reactstrap/es/Collapse.js\");\n/* harmony import */ var _models_MarkdownTable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../models/MarkdownTable */ \"./src/client/js/models/MarkdownTable.js\");\n\n\n\n\n\nclass MarkdownTableDataImportForm extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n this.state = {\n dataFormat: 'csv',\n data: '',\n parserErrorMessage: null\n };\n this.importButtonHandler = this.importButtonHandler.bind(this);\n }\n\n importButtonHandler() {\n try {\n const markdownTable = this.convertFormDataToMarkdownTable();\n this.props.onImport(markdownTable);\n this.setState({\n parserErrorMessage: null\n });\n } catch (e) {\n this.setState({\n parserErrorMessage: e.message\n });\n }\n }\n\n convertFormDataToMarkdownTable() {\n let result;\n\n switch (this.state.dataFormat) {\n case 'csv':\n result = _models_MarkdownTable__WEBPACK_IMPORTED_MODULE_4__[\"default\"].fromDSV(this.state.data, ',');\n break;\n\n case 'tsv':\n result = _models_MarkdownTable__WEBPACK_IMPORTED_MODULE_4__[\"default\"].fromDSV(this.state.data, '\\t');\n break;\n\n case 'html':\n result = _models_MarkdownTable__WEBPACK_IMPORTED_MODULE_4__[\"default\"].fromHTMLTableTag(this.state.data);\n break;\n }\n\n return result.normalizeCells();\n }\n\n render() {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"form\", {\n className: \"data-import-form\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"form-group\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n htmlFor: \"data-import-form-type-select\"\n }, \"Select Data Format\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"select\", {\n id: \"data-import-form-type-select\",\n className: \"form-control\",\n placeholder: \"select\",\n value: this.state.dataFormat,\n onChange: e => {\n return this.setState({\n dataFormat: e.target.value\n });\n }\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"option\", {\n value: \"csv\"\n }, \"CSV\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"option\", {\n value: \"tsv\"\n }, \"TSV\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"option\", {\n value: \"html\"\n }, \"HTML\"))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"form-group\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n htmlFor: \"data-import-form-type-textarea\"\n }, \"Import Data\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"textarea\", {\n id: \"data-import-form-type-textarea\",\n className: \"form-control\",\n placeholder: \"Paste table data\",\n rows: \"8\",\n onChange: e => {\n return this.setState({\n data: e.target.value\n });\n }\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Collapse__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n isOpen: this.state.parserErrorMessage != null\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"form-group\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n htmlFor: \"data-import-form-type-textarea-alert\"\n }, \"Parse Error\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"textarea\", {\n id: \"data-import-form-type-textarea-alert\",\n className: \"form-control\",\n rows: \"4\",\n value: this.state.parserErrorMessage || '',\n readOnly: true\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"d-flex justify-content-end\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n color: \"secondary mr-2\",\n onClick: this.props.onCancel\n }, \"Cancel\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n color: \"primary\",\n onClick: this.importButtonHandler\n }, \"Import\")));\n }\n\n}\nMarkdownTableDataImportForm.propTypes = {\n onCancel: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n onImport: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci9NYXJrZG93blRhYmxlRGF0YUltcG9ydEZvcm0uanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1BhZ2VFZGl0b3IvTWFya2Rvd25UYWJsZURhdGFJbXBvcnRGb3JtLmpzeD84YTQ5Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHtcbiAgQnV0dG9uLFxuICBDb2xsYXBzZSxcbn0gZnJvbSAncmVhY3RzdHJhcCc7XG5cbmltcG9ydCBNYXJrZG93blRhYmxlIGZyb20gJy4uLy4uL21vZGVscy9NYXJrZG93blRhYmxlJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTWFya2Rvd25UYWJsZURhdGFJbXBvcnRGb3JtIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcblxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBkYXRhRm9ybWF0OiAnY3N2JyxcbiAgICAgIGRhdGE6ICcnLFxuICAgICAgcGFyc2VyRXJyb3JNZXNzYWdlOiBudWxsLFxuICAgIH07XG5cbiAgICB0aGlzLmltcG9ydEJ1dHRvbkhhbmRsZXIgPSB0aGlzLmltcG9ydEJ1dHRvbkhhbmRsZXIuYmluZCh0aGlzKTtcbiAgfVxuXG4gIGltcG9ydEJ1dHRvbkhhbmRsZXIoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG1hcmtkb3duVGFibGUgPSB0aGlzLmNvbnZlcnRGb3JtRGF0YVRvTWFya2Rvd25UYWJsZSgpO1xuICAgICAgdGhpcy5wcm9wcy5vbkltcG9ydChtYXJrZG93blRhYmxlKTtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBwYXJzZXJFcnJvck1lc3NhZ2U6IG51bGwgfSk7XG4gICAgfVxuICAgIGNhdGNoIChlKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgcGFyc2VyRXJyb3JNZXNzYWdlOiBlLm1lc3NhZ2UgfSk7XG4gICAgfVxuICB9XG5cbiAgY29udmVydEZvcm1EYXRhVG9NYXJrZG93blRhYmxlKCkge1xuICAgIGxldCByZXN1bHQ7XG4gICAgc3dpdGNoICh0aGlzLnN0YXRlLmRhdGFGb3JtYXQpIHtcbiAgICAgIGNhc2UgJ2Nzdic6XG4gICAgICAgIHJlc3VsdCA9IE1hcmtkb3duVGFibGUuZnJvbURTVih0aGlzLnN0YXRlLmRhdGEsICcsJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAndHN2JzpcbiAgICAgICAgcmVzdWx0ID0gTWFya2Rvd25UYWJsZS5mcm9tRFNWKHRoaXMuc3RhdGUuZGF0YSwgJ1xcdCcpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2h0bWwnOlxuICAgICAgICByZXN1bHQgPSBNYXJrZG93blRhYmxlLmZyb21IVE1MVGFibGVUYWcodGhpcy5zdGF0ZS5kYXRhKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQubm9ybWFsaXplQ2VsbHMoKTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGZvcm0gY2xhc3NOYW1lPVwiZGF0YS1pbXBvcnQtZm9ybVwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICA8bGFiZWwgaHRtbEZvcj1cImRhdGEtaW1wb3J0LWZvcm0tdHlwZS1zZWxlY3RcIj5TZWxlY3QgRGF0YSBGb3JtYXQ8L2xhYmVsPlxuICAgICAgICAgIDxzZWxlY3RcbiAgICAgICAgICAgIGlkPVwiZGF0YS1pbXBvcnQtZm9ybS10eXBlLXNlbGVjdFwiXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJzZWxlY3RcIlxuICAgICAgICAgICAgdmFsdWU9e3RoaXMuc3RhdGUuZGF0YUZvcm1hdH1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4geyByZXR1cm4gdGhpcy5zZXRTdGF0ZSh7IGRhdGFGb3JtYXQ6IGUudGFyZ2V0LnZhbHVlIH0pIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImNzdlwiPkNTVjwvb3B0aW9uPlxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInRzdlwiPlRTVjwvb3B0aW9uPlxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImh0bWxcIj5IVE1MPC9vcHRpb24+XG4gICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICA8bGFiZWwgaHRtbEZvcj1cImRhdGEtaW1wb3J0LWZvcm0tdHlwZS10ZXh0YXJlYVwiPkltcG9ydCBEYXRhPC9sYWJlbD5cbiAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgIGlkPVwiZGF0YS1pbXBvcnQtZm9ybS10eXBlLXRleHRhcmVhXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlBhc3RlIHRhYmxlIGRhdGFcIlxuICAgICAgICAgICAgcm93cz1cIjhcIlxuICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiB7IHJldHVybiB0aGlzLnNldFN0YXRlKHsgZGF0YTogZS50YXJnZXQudmFsdWUgfSkgfX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPENvbGxhcHNlIGlzT3Blbj17dGhpcy5zdGF0ZS5wYXJzZXJFcnJvck1lc3NhZ2UgIT0gbnVsbH0+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICA8bGFiZWwgaHRtbEZvcj1cImRhdGEtaW1wb3J0LWZvcm0tdHlwZS10ZXh0YXJlYS1hbGVydFwiPlBhcnNlIEVycm9yPC9sYWJlbD5cbiAgICAgICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgICBpZD1cImRhdGEtaW1wb3J0LWZvcm0tdHlwZS10ZXh0YXJlYS1hbGVydFwiXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgIHJvd3M9XCI0XCJcbiAgICAgICAgICAgICAgdmFsdWU9e3RoaXMuc3RhdGUucGFyc2VyRXJyb3JNZXNzYWdlIHx8ICcnfVxuICAgICAgICAgICAgICByZWFkT25seVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Db2xsYXBzZT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZFwiPlxuICAgICAgICAgIDxCdXR0b24gY29sb3I9XCJzZWNvbmRhcnkgbXItMlwiIG9uQ2xpY2s9e3RoaXMucHJvcHMub25DYW5jZWx9PkNhbmNlbDwvQnV0dG9uPlxuICAgICAgICAgIDxCdXR0b24gY29sb3I9XCJwcmltYXJ5XCIgb25DbGljaz17dGhpcy5pbXBvcnRCdXR0b25IYW5kbGVyfT5JbXBvcnQ8L0J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Zvcm0+XG4gICAgKTtcbiAgfVxuXG59XG5cbk1hcmtkb3duVGFibGVEYXRhSW1wb3J0Rm9ybS5wcm9wVHlwZXMgPSB7XG4gIG9uQ2FuY2VsOiBQcm9wVHlwZXMuZnVuYyxcbiAgb25JbXBvcnQ6IFByb3BUeXBlcy5mdW5jLFxufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTs7O0FBTUE7QUFFQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQVRBO0FBQ0E7QUFVQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTEE7QUFPQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFHQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUxBO0FBUUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBU0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUlBO0FBQ0E7QUF2RkE7QUEwRkE7QUFDQTtBQUNBO0FBRkEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/PageEditor/MarkdownTableDataImportForm.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageEditor/MarkdownTableInterceptor.js":
- /*!*************************************************************************!*\
- !*** ./src/client/js/components/PageEditor/MarkdownTableInterceptor.js ***!
- \*************************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return MarkdownTableInterceptor; });\n/* harmony import */ var growi_commons__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! growi-commons */ \"./node_modules/growi-commons/src/index.js\");\n/* harmony import */ var growi_commons__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(growi_commons__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _MarkdownTableUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MarkdownTableUtil */ \"./src/client/js/components/PageEditor/MarkdownTableUtil.js\");\n/* harmony import */ var _models_MarkdownTable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../models/MarkdownTable */ \"./src/client/js/models/MarkdownTable.js\");\n\n\n\n/**\n * Interceptor for markdown table\n */\n\nclass MarkdownTableInterceptor extends growi_commons__WEBPACK_IMPORTED_MODULE_0__[\"BasicInterceptor\"] {\n /**\n * @inheritdoc\n */\n isInterceptWhen(contextName) {\n return contextName === 'preHandleEnter';\n }\n /**\n * return boolean value whether processable parallel\n */\n\n\n isProcessableParallel() {\n return false;\n }\n\n addRow(cm) {\n // get lines all of table from current position to beginning of table\n const strFromBot = _MarkdownTableUtil__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getStrFromBot(cm);\n let table = _models_MarkdownTable__WEBPACK_IMPORTED_MODULE_2__[\"default\"].fromMarkdownString(strFromBot);\n _MarkdownTableUtil__WEBPACK_IMPORTED_MODULE_1__[\"default\"].addRowToMarkdownTable(table);\n const strToEot = _MarkdownTableUtil__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getStrToEot(cm);\n const tableBottom = _models_MarkdownTable__WEBPACK_IMPORTED_MODULE_2__[\"default\"].fromMarkdownString(strToEot);\n\n if (tableBottom.table.length > 0) {\n table = _MarkdownTableUtil__WEBPACK_IMPORTED_MODULE_1__[\"default\"].mergeMarkdownTable([table, tableBottom]);\n }\n\n _MarkdownTableUtil__WEBPACK_IMPORTED_MODULE_1__[\"default\"].replaceMarkdownTableWithReformed(cm, table);\n }\n\n reformTable(cm) {\n const tableStr = _MarkdownTableUtil__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getStrFromBot(cm) + _MarkdownTableUtil__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getStrToEot(cm);\n const table = _models_MarkdownTable__WEBPACK_IMPORTED_MODULE_2__[\"default\"].fromMarkdownString(tableStr);\n _MarkdownTableUtil__WEBPACK_IMPORTED_MODULE_1__[\"default\"].replaceMarkdownTableWithReformed(cm, table);\n }\n\n removeRow(editor) {\n editor.replaceLine('\\n');\n }\n /**\n * @inheritdoc\n */\n\n\n async process(contextName, ...args) {\n const context = Object.assign(args[0]); // clone\n\n const editor = context.editor; // AbstractEditor instance\n // \"ignoreMarkdownTableAutoFormatting\" may be undefined, so it is compared to true and converted to bool.\n\n const noIntercept = context.editorOptions.ignoreMarkdownTableAutoFormatting === true; // do nothing if editor is not a CodeMirrorEditor or no intercept\n\n if (editor == null || editor.getCodeMirror() == null || noIntercept) {\n return context;\n }\n\n const cm = editor.getCodeMirror();\n const isInTable = _MarkdownTableUtil__WEBPACK_IMPORTED_MODULE_1__[\"default\"].isInTable(cm);\n const isLastRow = _MarkdownTableUtil__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getStrToEot(cm) === editor.getStrToEol();\n\n if (isInTable) {\n // at EOL in the table\n if (_MarkdownTableUtil__WEBPACK_IMPORTED_MODULE_1__[\"default\"].isEndOfLine(cm)) {\n this.addRow(cm);\n } // last empty row\n else if (isLastRow && _MarkdownTableUtil__WEBPACK_IMPORTED_MODULE_1__[\"default\"].emptyLineOfTableRE.test(editor.getStrFromBol() + editor.getStrToEol())) {\n this.removeRow(editor);\n } else {\n this.reformTable(cm);\n } // report to manager that handling was done\n\n\n context.handlers.push(this.className);\n return context;\n }\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci9NYXJrZG93blRhYmxlSW50ZXJjZXB0b3IuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci9NYXJrZG93blRhYmxlSW50ZXJjZXB0b3IuanM/MDQ0YiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNpY0ludGVyY2VwdG9yIH0gZnJvbSAnZ3Jvd2ktY29tbW9ucyc7XG5cbmltcG9ydCBtdHUgZnJvbSAnLi9NYXJrZG93blRhYmxlVXRpbCc7XG5pbXBvcnQgTWFya2Rvd25UYWJsZSBmcm9tICcuLi8uLi9tb2RlbHMvTWFya2Rvd25UYWJsZSc7XG5cbi8qKlxuICogSW50ZXJjZXB0b3IgZm9yIG1hcmtkb3duIHRhYmxlXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1hcmtkb3duVGFibGVJbnRlcmNlcHRvciBleHRlbmRzIEJhc2ljSW50ZXJjZXB0b3Ige1xuXG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgaXNJbnRlcmNlcHRXaGVuKGNvbnRleHROYW1lKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIGNvbnRleHROYW1lID09PSAncHJlSGFuZGxlRW50ZXInXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiByZXR1cm4gYm9vbGVhbiB2YWx1ZSB3aGV0aGVyIHByb2Nlc3NhYmxlIHBhcmFsbGVsXG4gICAqL1xuICBpc1Byb2Nlc3NhYmxlUGFyYWxsZWwoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgYWRkUm93KGNtKSB7XG4gICAgLy8gZ2V0IGxpbmVzIGFsbCBvZiB0YWJsZSBmcm9tIGN1cnJlbnQgcG9zaXRpb24gdG8gYmVnaW5uaW5nIG9mIHRhYmxlXG4gICAgY29uc3Qgc3RyRnJvbUJvdCA9IG10dS5nZXRTdHJGcm9tQm90KGNtKTtcbiAgICBsZXQgdGFibGUgPSBNYXJrZG93blRhYmxlLmZyb21NYXJrZG93blN0cmluZyhzdHJGcm9tQm90KTtcblxuICAgIG10dS5hZGRSb3dUb01hcmtkb3duVGFibGUodGFibGUpO1xuXG4gICAgY29uc3Qgc3RyVG9Fb3QgPSBtdHUuZ2V0U3RyVG9Fb3QoY20pO1xuICAgIGNvbnN0IHRhYmxlQm90dG9tID0gTWFya2Rvd25UYWJsZS5mcm9tTWFya2Rvd25TdHJpbmcoc3RyVG9Fb3QpO1xuICAgIGlmICh0YWJsZUJvdHRvbS50YWJsZS5sZW5ndGggPiAwKSB7XG4gICAgICB0YWJsZSA9IG10dS5tZXJnZU1hcmtkb3duVGFibGUoW3RhYmxlLCB0YWJsZUJvdHRvbV0pO1xuICAgIH1cblxuICAgIG10dS5yZXBsYWNlTWFya2Rvd25UYWJsZVdpdGhSZWZvcm1lZChjbSwgdGFibGUpO1xuICB9XG5cbiAgcmVmb3JtVGFibGUoY20pIHtcbiAgICBjb25zdCB0YWJsZVN0ciA9IG10dS5nZXRTdHJGcm9tQm90KGNtKSArIG10dS5nZXRTdHJUb0VvdChjbSk7XG4gICAgY29uc3QgdGFibGUgPSBNYXJrZG93blRhYmxlLmZyb21NYXJrZG93blN0cmluZyh0YWJsZVN0cik7XG4gICAgbXR1LnJlcGxhY2VNYXJrZG93blRhYmxlV2l0aFJlZm9ybWVkKGNtLCB0YWJsZSk7XG4gIH1cblxuICByZW1vdmVSb3coZWRpdG9yKSB7XG4gICAgZWRpdG9yLnJlcGxhY2VMaW5lKCdcXG4nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgYXN5bmMgcHJvY2Vzcyhjb250ZXh0TmFtZSwgLi4uYXJncykge1xuICAgIGNvbnN0IGNvbnRleHQgPSBPYmplY3QuYXNzaWduKGFyZ3NbMF0pOyAvLyBjbG9uZVxuICAgIGNvbnN0IGVkaXRvciA9IGNvbnRleHQuZWRpdG9yOyAvLyBBYnN0cmFjdEVkaXRvciBpbnN0YW5jZVxuICAgIC8vIFwiaWdub3JlTWFya2Rvd25UYWJsZUF1dG9Gb3JtYXR0aW5nXCIgbWF5IGJlIHVuZGVmaW5lZCwgc28gaXQgaXMgY29tcGFyZWQgdG8gdHJ1ZSBhbmQgY29udmVydGVkIHRvIGJvb2wuXG4gICAgY29uc3Qgbm9JbnRlcmNlcHQgPSAoY29udGV4dC5lZGl0b3JPcHRpb25zLmlnbm9yZU1hcmtkb3duVGFibGVBdXRvRm9ybWF0dGluZyA9PT0gdHJ1ZSk7XG5cbiAgICAvLyBkbyBub3RoaW5nIGlmIGVkaXRvciBpcyBub3QgYSBDb2RlTWlycm9yRWRpdG9yIG9yIG5vIGludGVyY2VwdFxuICAgIGlmIChlZGl0b3IgPT0gbnVsbCB8fCBlZGl0b3IuZ2V0Q29kZU1pcnJvcigpID09IG51bGwgfHwgbm9JbnRlcmNlcHQpIHtcbiAgICAgIHJldHVybiBjb250ZXh0O1xuICAgIH1cblxuICAgIGNvbnN0IGNtID0gZWRpdG9yLmdldENvZGVNaXJyb3IoKTtcblxuICAgIGNvbnN0IGlzSW5UYWJsZSA9IG10dS5pc0luVGFibGUoY20pO1xuICAgIGNvbnN0IGlzTGFzdFJvdyA9IG10dS5nZXRTdHJUb0VvdChjbSkgPT09IGVkaXRvci5nZXRTdHJUb0VvbCgpO1xuXG4gICAgaWYgKGlzSW5UYWJsZSkge1xuICAgICAgLy8gYXQgRU9MIGluIHRoZSB0YWJsZVxuICAgICAgaWYgKG10dS5pc0VuZE9mTGluZShjbSkpIHtcbiAgICAgICAgdGhpcy5hZGRSb3coY20pO1xuICAgICAgfVxuICAgICAgLy8gbGFzdCBlbXB0eSByb3dcbiAgICAgIGVsc2UgaWYgKGlzTGFzdFJvdyAmJiBtdHUuZW1wdHlMaW5lT2ZUYWJsZVJFLnRlc3QoZWRpdG9yLmdldFN0ckZyb21Cb2woKSArIGVkaXRvci5nZXRTdHJUb0VvbCgpKSkge1xuICAgICAgICB0aGlzLnJlbW92ZVJvdyhlZGl0b3IpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHRoaXMucmVmb3JtVGFibGUoY20pO1xuICAgICAgfVxuXG4gICAgICAvLyByZXBvcnQgdG8gbWFuYWdlciB0aGF0IGhhbmRsaW5nIHdhcyBkb25lXG4gICAgICBjb250ZXh0LmhhbmRsZXJzLnB1c2godGhpcy5jbGFzc05hbWUpO1xuICAgICAgcmV0dXJuIGNvbnRleHQ7XG4gICAgfVxuXG4gIH1cblxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFFQTs7OztBQUdBO0FBRUE7OztBQUdBO0FBQ0E7QUFHQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRkE7QUFLQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBbEZBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/PageEditor/MarkdownTableInterceptor.js\n");
- /***/ }),
- /***/ "./src/client/js/components/PageEditor/MarkdownTableUtil.js":
- /*!******************************************************************!*\
- !*** ./src/client/js/components/PageEditor/MarkdownTableUtil.js ***!
- \******************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _models_MarkdownTable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../models/MarkdownTable */ \"./src/client/js/models/MarkdownTable.js\");\n\n/**\n * Utility for markdown table\n */\n\nclass MarkdownTableUtil {\n constructor() {\n // https://github.com/markdown-it/markdown-it/blob/d29f421927e93e88daf75f22089a3e732e195bd2/lib/rules_block/table.js#L83\n this.tableAlignmentLineRE = /^[-:|][-:|\\s]*$/;\n this.tableAlignmentLineNegRE = /^[^-:]*$/; // it is need to check to ignore empty row which is matched above RE\n // https://regex101.com/r/7BN2fR/10\n\n this.linePartOfTableRE = /^([^\\r\\n|]*)\\|(([^\\r\\n|]*\\|)+)$/; // https://regex101.com/r/1UuWBJ/3\n\n this.emptyLineOfTableRE = /^([^\\r\\n|]*)\\|((\\s*\\|)+)$/;\n this.getEot = this.getEot.bind(this);\n this.getStrFromBot = this.getStrFromBot.bind(this);\n this.getStrToEot = this.getStrToEot.bind(this);\n this.isInTable = this.isInTable.bind(this);\n this.replaceFocusedMarkdownTableWithEditor = this.replaceFocusedMarkdownTableWithEditor.bind(this);\n this.replaceMarkdownTableWithReformed = this.replaceFocusedMarkdownTableWithEditor; // alias\n }\n /**\n * return the postion of the BOT(beginning of table)\n * (If the cursor is not in a table, return its position)\n */\n\n\n getBot(editor) {\n const curPos = editor.getCursor();\n\n if (!this.isInTable(editor)) {\n return {\n line: curPos.line,\n ch: curPos.ch\n };\n }\n\n const firstLine = editor.getDoc().firstLine();\n let line = curPos.line - 1;\n\n for (; line >= firstLine; line--) {\n const strLine = editor.getDoc().getLine(line);\n\n if (!this.linePartOfTableRE.test(strLine)) {\n break;\n }\n }\n\n const botLine = Math.max(firstLine, line + 1);\n return {\n line: botLine,\n ch: 0\n };\n }\n /**\n * return the postion of the EOT(end of table)\n * (If the cursor is not in a table, return its position)\n */\n\n\n getEot(editor) {\n const curPos = editor.getCursor();\n\n if (!this.isInTable(editor)) {\n return {\n line: curPos.line,\n ch: curPos.ch\n };\n }\n\n const lastLine = editor.getDoc().lastLine();\n let line = curPos.line + 1;\n\n for (; line <= lastLine; line++) {\n const strLine = editor.getDoc().getLine(line);\n\n if (!this.linePartOfTableRE.test(strLine)) {\n break;\n }\n }\n\n const eotLine = Math.min(line - 1, lastLine);\n const lineLength = editor.getDoc().getLine(eotLine).length;\n return {\n line: eotLine,\n ch: lineLength\n };\n }\n /**\n * return strings from BOT(beginning of table) to the cursor position\n */\n\n\n getStrFromBot(editor) {\n const curPos = editor.getCursor();\n return editor.getDoc().getRange(this.getBot(editor), curPos);\n }\n /**\n * return strings from the cursor position to EOT(end of table)\n */\n\n\n getStrToEot(editor) {\n const curPos = editor.getCursor();\n return editor.getDoc().getRange(curPos, this.getEot(editor));\n }\n /**\n * return MarkdownTable instance of the table where the cursor is\n * (If the cursor is not in a table, return null)\n */\n\n\n getMarkdownTable(editor) {\n if (!this.isInTable(editor)) {\n return null;\n }\n\n const strFromBotToEot = editor.getDoc().getRange(this.getBot(editor), this.getEot(editor));\n return _models_MarkdownTable__WEBPACK_IMPORTED_MODULE_0__[\"default\"].fromMarkdownString(strFromBotToEot);\n }\n /**\n * return boolean value whether the cursor position is end of line\n */\n\n\n isEndOfLine(editor) {\n const curPos = editor.getCursor();\n return curPos.ch === editor.getDoc().getLine(curPos.line).length;\n }\n /**\n * return boolean value whether the cursor position is in a table\n */\n\n\n isInTable(editor) {\n const curPos = editor.getCursor();\n return this.linePartOfTableRE.test(editor.getDoc().getLine(curPos.line));\n }\n /**\n * add a row at the end\n * (This function overwrite directory markdown table specified as argument.)\n * @param {MarkdownTable} markdown table\n */\n\n\n addRowToMarkdownTable(mdtable) {\n const numCol = mdtable.table.length > 0 ? mdtable.table[0].length : 1;\n const newRow = [];\n new Array(numCol).forEach(() => {\n return newRow.push('');\n }); // create cols\n\n mdtable.table.push(newRow);\n }\n /**\n * return markdown table that is merged all of markdown table in array\n * (The merged markdown table options are used for the first markdown table.)\n * @param {Array} array of markdown table\n */\n\n\n mergeMarkdownTable(mdtableList) {\n if (mdtableList == null || !(mdtableList instanceof Array)) {\n return undefined;\n }\n\n let newTable = [];\n const options = mdtableList[0].options; // use option of first markdown-table\n\n mdtableList.forEach(mdtable => {\n newTable = newTable.concat(mdtable.table);\n });\n return new _models_MarkdownTable__WEBPACK_IMPORTED_MODULE_0__[\"default\"](newTable, options);\n }\n /**\n * replace focused markdown table with editor\n * (A replaced table is reformed by markdown-table.)\n * @param {MarkdownTable} table\n */\n\n\n replaceFocusedMarkdownTableWithEditor(editor, table) {\n const curPos = editor.getCursor();\n editor.getDoc().replaceRange(table.toString(), this.getBot(editor), this.getEot(editor));\n editor.getDoc().setCursor(curPos.line + 1, 2);\n }\n /**\n * return markdown where the markdown table specified by line number params is replaced to the markdown table specified by table param\n * @param {string} markdown\n * @param {MarkdownTable} table\n * @param beginLineNumber\n * @param endLineNumber\n */\n\n\n replaceMarkdownTableInMarkdown(table, markdown, beginLineNumber, endLineNumber) {\n const splitMarkdown = markdown.split(/\\r\\n|\\r|\\n/);\n const markdownBeforeTable = splitMarkdown.slice(0, beginLineNumber - 1);\n const markdownAfterTable = splitMarkdown.slice(endLineNumber);\n let newMarkdown = '';\n\n if (markdownBeforeTable.length > 0) {\n newMarkdown += `${markdownBeforeTable.join('\\n')}\\n`;\n }\n\n newMarkdown += table;\n\n if (markdownAfterTable.length > 0) {\n newMarkdown += `\\n${markdownAfterTable.join('\\n')}`;\n }\n\n return newMarkdown;\n }\n\n} // singleton pattern\n\n\nconst instance = new MarkdownTableUtil();\nObject.freeze(instance);\n/* harmony default export */ __webpack_exports__[\"default\"] = (instance);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci9NYXJrZG93blRhYmxlVXRpbC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9QYWdlRWRpdG9yL01hcmtkb3duVGFibGVVdGlsLmpzP2FiOWUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IE1hcmtkb3duVGFibGUgZnJvbSAnLi4vLi4vbW9kZWxzL01hcmtkb3duVGFibGUnO1xuXG4vKipcbiAqIFV0aWxpdHkgZm9yIG1hcmtkb3duIHRhYmxlXG4gKi9cbmNsYXNzIE1hcmtkb3duVGFibGVVdGlsIHtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vbWFya2Rvd24taXQvbWFya2Rvd24taXQvYmxvYi9kMjlmNDIxOTI3ZTkzZTg4ZGFmNzVmMjIwODlhM2U3MzJlMTk1YmQyL2xpYi9ydWxlc19ibG9jay90YWJsZS5qcyNMODNcbiAgICB0aGlzLnRhYmxlQWxpZ25tZW50TGluZVJFID0gL15bLTp8XVstOnxcXHNdKiQvO1xuICAgIHRoaXMudGFibGVBbGlnbm1lbnRMaW5lTmVnUkUgPSAvXlteLTpdKiQvOyAvLyBpdCBpcyBuZWVkIHRvIGNoZWNrIHRvIGlnbm9yZSBlbXB0eSByb3cgd2hpY2ggaXMgbWF0Y2hlZCBhYm92ZSBSRVxuICAgIC8vIGh0dHBzOi8vcmVnZXgxMDEuY29tL3IvN0JOMmZSLzEwXG4gICAgdGhpcy5saW5lUGFydE9mVGFibGVSRSA9IC9eKFteXFxyXFxufF0qKVxcfCgoW15cXHJcXG58XSpcXHwpKykkLztcbiAgICAvLyBodHRwczovL3JlZ2V4MTAxLmNvbS9yLzFVdVdCSi8zXG4gICAgdGhpcy5lbXB0eUxpbmVPZlRhYmxlUkUgPSAvXihbXlxcclxcbnxdKilcXHwoKFxccypcXHwpKykkLztcblxuICAgIHRoaXMuZ2V0RW90ID0gdGhpcy5nZXRFb3QuYmluZCh0aGlzKTtcbiAgICB0aGlzLmdldFN0ckZyb21Cb3QgPSB0aGlzLmdldFN0ckZyb21Cb3QuYmluZCh0aGlzKTtcbiAgICB0aGlzLmdldFN0clRvRW90ID0gdGhpcy5nZXRTdHJUb0VvdC5iaW5kKHRoaXMpO1xuICAgIHRoaXMuaXNJblRhYmxlID0gdGhpcy5pc0luVGFibGUuYmluZCh0aGlzKTtcbiAgICB0aGlzLnJlcGxhY2VGb2N1c2VkTWFya2Rvd25UYWJsZVdpdGhFZGl0b3IgPSB0aGlzLnJlcGxhY2VGb2N1c2VkTWFya2Rvd25UYWJsZVdpdGhFZGl0b3IuYmluZCh0aGlzKTtcbiAgICB0aGlzLnJlcGxhY2VNYXJrZG93blRhYmxlV2l0aFJlZm9ybWVkID0gdGhpcy5yZXBsYWNlRm9jdXNlZE1hcmtkb3duVGFibGVXaXRoRWRpdG9yOyAvLyBhbGlhc1xuICB9XG5cbiAgLyoqXG4gICAqIHJldHVybiB0aGUgcG9zdGlvbiBvZiB0aGUgQk9UKGJlZ2lubmluZyBvZiB0YWJsZSlcbiAgICogKElmIHRoZSBjdXJzb3IgaXMgbm90IGluIGEgdGFibGUsIHJldHVybiBpdHMgcG9zaXRpb24pXG4gICAqL1xuICBnZXRCb3QoZWRpdG9yKSB7XG4gICAgY29uc3QgY3VyUG9zID0gZWRpdG9yLmdldEN1cnNvcigpO1xuICAgIGlmICghdGhpcy5pc0luVGFibGUoZWRpdG9yKSkge1xuICAgICAgcmV0dXJuIHsgbGluZTogY3VyUG9zLmxpbmUsIGNoOiBjdXJQb3MuY2ggfTtcbiAgICB9XG5cbiAgICBjb25zdCBmaXJzdExpbmUgPSBlZGl0b3IuZ2V0RG9jKCkuZmlyc3RMaW5lKCk7XG4gICAgbGV0IGxpbmUgPSBjdXJQb3MubGluZSAtIDE7XG4gICAgZm9yICg7IGxpbmUgPj0gZmlyc3RMaW5lOyBsaW5lLS0pIHtcbiAgICAgIGNvbnN0IHN0ckxpbmUgPSBlZGl0b3IuZ2V0RG9jKCkuZ2V0TGluZShsaW5lKTtcbiAgICAgIGlmICghdGhpcy5saW5lUGFydE9mVGFibGVSRS50ZXN0KHN0ckxpbmUpKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBib3RMaW5lID0gTWF0aC5tYXgoZmlyc3RMaW5lLCBsaW5lICsgMSk7XG4gICAgcmV0dXJuIHsgbGluZTogYm90TGluZSwgY2g6IDAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiByZXR1cm4gdGhlIHBvc3Rpb24gb2YgdGhlIEVPVChlbmQgb2YgdGFibGUpXG4gICAqIChJZiB0aGUgY3Vyc29yIGlzIG5vdCBpbiBhIHRhYmxlLCByZXR1cm4gaXRzIHBvc2l0aW9uKVxuICAgKi9cbiAgZ2V0RW90KGVkaXRvcikge1xuICAgIGNvbnN0IGN1clBvcyA9IGVkaXRvci5nZXRDdXJzb3IoKTtcbiAgICBpZiAoIXRoaXMuaXNJblRhYmxlKGVkaXRvcikpIHtcbiAgICAgIHJldHVybiB7IGxpbmU6IGN1clBvcy5saW5lLCBjaDogY3VyUG9zLmNoIH07XG4gICAgfVxuXG4gICAgY29uc3QgbGFzdExpbmUgPSBlZGl0b3IuZ2V0RG9jKCkubGFzdExpbmUoKTtcbiAgICBsZXQgbGluZSA9IGN1clBvcy5saW5lICsgMTtcbiAgICBmb3IgKDsgbGluZSA8PSBsYXN0TGluZTsgbGluZSsrKSB7XG4gICAgICBjb25zdCBzdHJMaW5lID0gZWRpdG9yLmdldERvYygpLmdldExpbmUobGluZSk7XG4gICAgICBpZiAoIXRoaXMubGluZVBhcnRPZlRhYmxlUkUudGVzdChzdHJMaW5lKSkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgZW90TGluZSA9IE1hdGgubWluKGxpbmUgLSAxLCBsYXN0TGluZSk7XG4gICAgY29uc3QgbGluZUxlbmd0aCA9IGVkaXRvci5nZXREb2MoKS5nZXRMaW5lKGVvdExpbmUpLmxlbmd0aDtcbiAgICByZXR1cm4geyBsaW5lOiBlb3RMaW5lLCBjaDogbGluZUxlbmd0aCB9O1xuICB9XG5cbiAgLyoqXG4gICAqIHJldHVybiBzdHJpbmdzIGZyb20gQk9UKGJlZ2lubmluZyBvZiB0YWJsZSkgdG8gdGhlIGN1cnNvciBwb3NpdGlvblxuICAgKi9cbiAgZ2V0U3RyRnJvbUJvdChlZGl0b3IpIHtcbiAgICBjb25zdCBjdXJQb3MgPSBlZGl0b3IuZ2V0Q3Vyc29yKCk7XG4gICAgcmV0dXJuIGVkaXRvci5nZXREb2MoKS5nZXRSYW5nZSh0aGlzLmdldEJvdChlZGl0b3IpLCBjdXJQb3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIHJldHVybiBzdHJpbmdzIGZyb20gdGhlIGN1cnNvciBwb3NpdGlvbiB0byBFT1QoZW5kIG9mIHRhYmxlKVxuICAgKi9cbiAgZ2V0U3RyVG9Fb3QoZWRpdG9yKSB7XG4gICAgY29uc3QgY3VyUG9zID0gZWRpdG9yLmdldEN1cnNvcigpO1xuICAgIHJldHVybiBlZGl0b3IuZ2V0RG9jKCkuZ2V0UmFuZ2UoY3VyUG9zLCB0aGlzLmdldEVvdChlZGl0b3IpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiByZXR1cm4gTWFya2Rvd25UYWJsZSBpbnN0YW5jZSBvZiB0aGUgdGFibGUgd2hlcmUgdGhlIGN1cnNvciBpc1xuICAgKiAoSWYgdGhlIGN1cnNvciBpcyBub3QgaW4gYSB0YWJsZSwgcmV0dXJuIG51bGwpXG4gICAqL1xuICBnZXRNYXJrZG93blRhYmxlKGVkaXRvcikge1xuICAgIGlmICghdGhpcy5pc0luVGFibGUoZWRpdG9yKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RyRnJvbUJvdFRvRW90ID0gZWRpdG9yLmdldERvYygpLmdldFJhbmdlKHRoaXMuZ2V0Qm90KGVkaXRvciksIHRoaXMuZ2V0RW90KGVkaXRvcikpO1xuICAgIHJldHVybiBNYXJrZG93blRhYmxlLmZyb21NYXJrZG93blN0cmluZyhzdHJGcm9tQm90VG9Fb3QpO1xuICB9XG5cbiAgLyoqXG4gICAqIHJldHVybiBib29sZWFuIHZhbHVlIHdoZXRoZXIgdGhlIGN1cnNvciBwb3NpdGlvbiBpcyBlbmQgb2YgbGluZVxuICAgKi9cbiAgaXNFbmRPZkxpbmUoZWRpdG9yKSB7XG4gICAgY29uc3QgY3VyUG9zID0gZWRpdG9yLmdldEN1cnNvcigpO1xuICAgIHJldHVybiAoY3VyUG9zLmNoID09PSBlZGl0b3IuZ2V0RG9jKCkuZ2V0TGluZShjdXJQb3MubGluZSkubGVuZ3RoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiByZXR1cm4gYm9vbGVhbiB2YWx1ZSB3aGV0aGVyIHRoZSBjdXJzb3IgcG9zaXRpb24gaXMgaW4gYSB0YWJsZVxuICAgKi9cbiAgaXNJblRhYmxlKGVkaXRvcikge1xuICAgIGNvbnN0IGN1clBvcyA9IGVkaXRvci5nZXRDdXJzb3IoKTtcbiAgICByZXR1cm4gdGhpcy5saW5lUGFydE9mVGFibGVSRS50ZXN0KGVkaXRvci5nZXREb2MoKS5nZXRMaW5lKGN1clBvcy5saW5lKSk7XG4gIH1cblxuICAvKipcbiAgICogYWRkIGEgcm93IGF0IHRoZSBlbmRcbiAgICogKFRoaXMgZnVuY3Rpb24gb3ZlcndyaXRlIGRpcmVjdG9yeSBtYXJrZG93biB0YWJsZSBzcGVjaWZpZWQgYXMgYXJndW1lbnQuKVxuICAgKiBAcGFyYW0ge01hcmtkb3duVGFibGV9IG1hcmtkb3duIHRhYmxlXG4gICAqL1xuICBhZGRSb3dUb01hcmtkb3duVGFibGUobWR0YWJsZSkge1xuICAgIGNvbnN0IG51bUNvbCA9IG1kdGFibGUudGFibGUubGVuZ3RoID4gMCA/IG1kdGFibGUudGFibGVbMF0ubGVuZ3RoIDogMTtcbiAgICBjb25zdCBuZXdSb3cgPSBbXTtcbiAgICAobmV3IEFycmF5KG51bUNvbCkpLmZvckVhY2goKCkgPT4geyByZXR1cm4gbmV3Um93LnB1c2goJycpIH0pOyAvLyBjcmVhdGUgY29sc1xuICAgIG1kdGFibGUudGFibGUucHVzaChuZXdSb3cpO1xuICB9XG5cbiAgLyoqXG4gICAqIHJldHVybiBtYXJrZG93biB0YWJsZSB0aGF0IGlzIG1lcmdlZCBhbGwgb2YgbWFya2Rvd24gdGFibGUgaW4gYXJyYXlcbiAgICogKFRoZSBtZXJnZWQgbWFya2Rvd24gdGFibGUgb3B0aW9ucyBhcmUgdXNlZCBmb3IgdGhlIGZpcnN0IG1hcmtkb3duIHRhYmxlLilcbiAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgb2YgbWFya2Rvd24gdGFibGVcbiAgICovXG4gIG1lcmdlTWFya2Rvd25UYWJsZShtZHRhYmxlTGlzdCkge1xuICAgIGlmIChtZHRhYmxlTGlzdCA9PSBudWxsIHx8ICEobWR0YWJsZUxpc3QgaW5zdGFuY2VvZiBBcnJheSkpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgbGV0IG5ld1RhYmxlID0gW107XG4gICAgY29uc3Qgb3B0aW9ucyA9IG1kdGFibGVMaXN0WzBdLm9wdGlvbnM7IC8vIHVzZSBvcHRpb24gb2YgZmlyc3QgbWFya2Rvd24tdGFibGVcbiAgICBtZHRhYmxlTGlzdC5mb3JFYWNoKChtZHRhYmxlKSA9PiB7XG4gICAgICBuZXdUYWJsZSA9IG5ld1RhYmxlLmNvbmNhdChtZHRhYmxlLnRhYmxlKTtcbiAgICB9KTtcbiAgICByZXR1cm4gKG5ldyBNYXJrZG93blRhYmxlKG5ld1RhYmxlLCBvcHRpb25zKSk7XG4gIH1cblxuICAvKipcbiAgICogcmVwbGFjZSBmb2N1c2VkIG1hcmtkb3duIHRhYmxlIHdpdGggZWRpdG9yXG4gICAqIChBIHJlcGxhY2VkIHRhYmxlIGlzIHJlZm9ybWVkIGJ5IG1hcmtkb3duLXRhYmxlLilcbiAgICogQHBhcmFtIHtNYXJrZG93blRhYmxlfSB0YWJsZVxuICAgKi9cbiAgcmVwbGFjZUZvY3VzZWRNYXJrZG93blRhYmxlV2l0aEVkaXRvcihlZGl0b3IsIHRhYmxlKSB7XG4gICAgY29uc3QgY3VyUG9zID0gZWRpdG9yLmdldEN1cnNvcigpO1xuICAgIGVkaXRvci5nZXREb2MoKS5yZXBsYWNlUmFuZ2UodGFibGUudG9TdHJpbmcoKSwgdGhpcy5nZXRCb3QoZWRpdG9yKSwgdGhpcy5nZXRFb3QoZWRpdG9yKSk7XG4gICAgZWRpdG9yLmdldERvYygpLnNldEN1cnNvcihjdXJQb3MubGluZSArIDEsIDIpO1xuICB9XG5cbiAgLyoqXG4gICAqIHJldHVybiBtYXJrZG93biB3aGVyZSB0aGUgbWFya2Rvd24gdGFibGUgc3BlY2lmaWVkIGJ5IGxpbmUgbnVtYmVyIHBhcmFtcyBpcyByZXBsYWNlZCB0byB0aGUgbWFya2Rvd24gdGFibGUgc3BlY2lmaWVkIGJ5IHRhYmxlIHBhcmFtXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtYXJrZG93blxuICAgKiBAcGFyYW0ge01hcmtkb3duVGFibGV9IHRhYmxlXG4gICAqIEBwYXJhbSBiZWdpbkxpbmVOdW1iZXJcbiAgICogQHBhcmFtIGVuZExpbmVOdW1iZXJcbiAgICovXG4gIHJlcGxhY2VNYXJrZG93blRhYmxlSW5NYXJrZG93bih0YWJsZSwgbWFya2Rvd24sIGJlZ2luTGluZU51bWJlciwgZW5kTGluZU51bWJlcikge1xuICAgIGNvbnN0IHNwbGl0TWFya2Rvd24gPSBtYXJrZG93bi5zcGxpdCgvXFxyXFxufFxccnxcXG4vKTtcbiAgICBjb25zdCBtYXJrZG93bkJlZm9yZVRhYmxlID0gc3BsaXRNYXJrZG93bi5zbGljZSgwLCBiZWdpbkxpbmVOdW1iZXIgLSAxKTtcbiAgICBjb25zdCBtYXJrZG93bkFmdGVyVGFibGUgPSBzcGxpdE1hcmtkb3duLnNsaWNlKGVuZExpbmVOdW1iZXIpO1xuXG4gICAgbGV0IG5ld01hcmtkb3duID0gJyc7XG4gICAgaWYgKG1hcmtkb3duQmVmb3JlVGFibGUubGVuZ3RoID4gMCkge1xuICAgICAgbmV3TWFya2Rvd24gKz0gYCR7bWFya2Rvd25CZWZvcmVUYWJsZS5qb2luKCdcXG4nKX1cXG5gO1xuICAgIH1cbiAgICBuZXdNYXJrZG93biArPSB0YWJsZTtcbiAgICBpZiAobWFya2Rvd25BZnRlclRhYmxlLmxlbmd0aCA+IDApIHtcbiAgICAgIG5ld01hcmtkb3duICs9IGBcXG4ke21hcmtkb3duQWZ0ZXJUYWJsZS5qb2luKCdcXG4nKX1gO1xuICAgIH1cblxuICAgIHJldHVybiBuZXdNYXJrZG93bjtcbiAgfVxuXG59XG5cbi8vIHNpbmdsZXRvbiBwYXR0ZXJuXG5jb25zdCBpbnN0YW5jZSA9IG5ldyBNYXJrZG93blRhYmxlVXRpbCgpO1xuT2JqZWN0LmZyZWV6ZShpbnN0YW5jZSk7XG5leHBvcnQgZGVmYXVsdCBpbnN0YW5jZTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBRUE7Ozs7QUFHQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7OztBQUlBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBOzs7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUVBOzs7Ozs7O0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7Ozs7O0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUE3S0E7QUFDQTtBQUNBO0FBK0tBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/PageEditor/MarkdownTableUtil.js\n");
- /***/ }),
- /***/ "./src/client/js/components/PageEditor/OptionsSelector.jsx":
- /*!*****************************************************************!*\
- !*** ./src/client/js/components/PageEditor/OptionsSelector.jsx ***!
- \*****************************************************************/
- /*! exports provided: defaultEditorOptions, defaultPreviewOptions, default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultEditorOptions\", function() { return defaultEditorOptions; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultPreviewOptions\", function() { return defaultPreviewOptions; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var reactstrap_es_Dropdown__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! reactstrap/es/Dropdown */ \"./node_modules/reactstrap/es/Dropdown.js\");\n/* harmony import */ var reactstrap_es_DropdownToggle__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! reactstrap/es/DropdownToggle */ \"./node_modules/reactstrap/es/DropdownToggle.js\");\n/* harmony import */ var reactstrap_es_DropdownMenu__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! reactstrap/es/DropdownMenu */ \"./node_modules/reactstrap/es/DropdownMenu.js\");\n/* harmony import */ var reactstrap_es_DropdownItem__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! reactstrap/es/DropdownItem */ \"./node_modules/reactstrap/es/DropdownItem.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_EditorContainer__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../services/EditorContainer */ \"./src/client/js/services/EditorContainer.js\");\n\n\n\n\n\n\n\n\n\n\nconst defaultEditorOptions = {\n theme: 'elegant',\n keymapMode: 'default',\n styleActiveLine: false\n};\nconst defaultPreviewOptions = {\n renderMathJaxInRealtime: false\n};\n\nclass OptionsSelector extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n const config = this.props.appContainer.getConfig();\n const isMathJaxEnabled = !!config.env.MATHJAX;\n this.state = {\n isCddMenuOpened: false,\n isMathJaxEnabled\n };\n this.availableThemes = ['eclipse', 'elegant', 'neo', 'mdn-like', 'material', 'dracula', 'monokai', 'twilight'];\n this.keymapModes = {\n default: 'Default',\n vim: 'Vim',\n emacs: 'Emacs',\n sublime: 'Sublime Text'\n };\n this.typicalIndentSizes = [2, 4];\n this.onChangeTheme = this.onChangeTheme.bind(this);\n this.onChangeKeymapMode = this.onChangeKeymapMode.bind(this);\n this.onClickStyleActiveLine = this.onClickStyleActiveLine.bind(this);\n this.onClickRenderMathJaxInRealtime = this.onClickRenderMathJaxInRealtime.bind(this);\n this.onClickMarkdownTableAutoFormatting = this.onClickMarkdownTableAutoFormatting.bind(this);\n this.onToggleConfigurationDropdown = this.onToggleConfigurationDropdown.bind(this);\n this.onChangeIndentSize = this.onChangeIndentSize.bind(this);\n }\n\n onChangeTheme(newValue) {\n const {\n editorContainer\n } = this.props;\n const newOpts = Object.assign(editorContainer.state.editorOptions, {\n theme: newValue\n });\n editorContainer.setState({\n editorOptions: newOpts\n }); // save to localStorage\n\n editorContainer.saveOptsToLocalStorage();\n }\n\n onChangeKeymapMode(newValue) {\n const {\n editorContainer\n } = this.props;\n const newOpts = Object.assign(editorContainer.state.editorOptions, {\n keymapMode: newValue\n });\n editorContainer.setState({\n editorOptions: newOpts\n }); // save to localStorage\n\n editorContainer.saveOptsToLocalStorage();\n }\n\n onClickStyleActiveLine(event) {\n const {\n editorContainer\n } = this.props; // keep dropdown opened\n\n this._cddForceOpen = true;\n const newValue = !editorContainer.state.editorOptions.styleActiveLine;\n const newOpts = Object.assign(editorContainer.state.editorOptions, {\n styleActiveLine: newValue\n });\n editorContainer.setState({\n editorOptions: newOpts\n }); // save to localStorage\n\n editorContainer.saveOptsToLocalStorage();\n }\n\n onClickRenderMathJaxInRealtime(event) {\n const {\n editorContainer\n } = this.props;\n const newValue = !editorContainer.state.previewOptions.renderMathJaxInRealtime;\n const newOpts = Object.assign(editorContainer.state.previewOptions, {\n renderMathJaxInRealtime: newValue\n });\n editorContainer.setState({\n previewOptions: newOpts\n }); // save to localStorage\n\n editorContainer.saveOptsToLocalStorage();\n }\n\n onClickMarkdownTableAutoFormatting(event) {\n const {\n editorContainer\n } = this.props;\n const newValue = !editorContainer.state.editorOptions.ignoreMarkdownTableAutoFormatting;\n const newOpts = Object.assign(editorContainer.state.editorOptions, {\n ignoreMarkdownTableAutoFormatting: newValue\n });\n editorContainer.setState({\n editorOptions: newOpts\n }); // save to localStorage\n\n editorContainer.saveOptsToLocalStorage();\n }\n\n onToggleConfigurationDropdown(newValue) {\n this.setState({\n isCddMenuOpened: !this.state.isCddMenuOpened\n });\n }\n\n onChangeIndentSize(newValue) {\n const {\n editorContainer\n } = this.props;\n editorContainer.setState({\n indentSize: newValue\n });\n }\n\n renderThemeSelector() {\n const {\n editorContainer\n } = this.props;\n const selectedTheme = editorContainer.state.editorOptions.theme;\n const menuItems = this.availableThemes.map(theme => {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n key: theme,\n className: \"dropdown-item\",\n type: \"button\",\n onClick: () => this.onChangeTheme(theme)\n }, theme);\n });\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group flex-nowrap\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group-prepend\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"input-group-text\",\n id: \"igt-theme\"\n }, \"Theme\")), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group-append dropup\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-outline-secondary dropdown-toggle\",\n \"data-toggle\": \"dropdown\",\n \"aria-haspopup\": \"true\",\n \"aria-expanded\": \"false\",\n \"aria-describedby\": \"igt-theme\"\n }, selectedTheme), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"dropdown-menu\",\n \"aria-labelledby\": \"dropdownMenuLink\"\n }, menuItems)));\n }\n\n renderKeymapModeSelector() {\n const {\n editorContainer\n } = this.props;\n const selectedKeymapMode = editorContainer.state.editorOptions.keymapMode;\n const menuItems = Object.keys(this.keymapModes).map(mode => {\n const label = this.keymapModes[mode];\n const icon = mode !== 'default' ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"img\", {\n src: `/images/icons/${mode}.png`,\n width: \"16px\",\n className: \"mr-2\"\n }) : null;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n key: mode,\n className: \"dropdown-item\",\n type: \"button\",\n onClick: () => this.onChangeKeymapMode(mode)\n }, icon, label);\n });\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group flex-nowrap\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group-prepend\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"input-group-text\",\n id: \"igt-keymap\"\n }, \"Keymap\")), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group-append dropup\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-outline-secondary dropdown-toggle\",\n \"data-toggle\": \"dropdown\",\n \"aria-haspopup\": \"true\",\n \"aria-expanded\": \"false\",\n \"aria-describedby\": \"igt-keymap\"\n }, selectedKeymapMode), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"dropdown-menu\",\n \"aria-labelledby\": \"dropdownMenuLink\"\n }, menuItems)));\n }\n\n renderConfigurationDropdown() {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"my-0 form-group\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Dropdown__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n direction: \"up\",\n className: \"grw-editor-configuration-dropdown\",\n isOpen: this.state.isCddMenuOpened,\n toggle: this.onToggleConfigurationDropdown\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_DropdownToggle__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n color: \"outline-secondary\",\n caret: true\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-settings\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_DropdownMenu__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null, this.renderActiveLineMenuItem(), this.renderRealtimeMathJaxMenuItem(), this.renderMarkdownTableAutoFormattingMenuItem())));\n }\n\n renderActiveLineMenuItem() {\n const {\n t,\n editorContainer\n } = this.props;\n const isActive = editorContainer.state.editorOptions.styleActiveLine;\n const iconClasses = ['text-info'];\n\n if (isActive) {\n iconClasses.push('ti-check');\n }\n\n const iconClassName = iconClasses.join(' ');\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_DropdownItem__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n toggle: false,\n onClick: this.onClickStyleActiveLine\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"d-flex justify-content-between\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"icon-container\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"menuitem-label\"\n }, t('page_edit.Show active line')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"icon-container\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: iconClassName\n }))));\n }\n\n renderRealtimeMathJaxMenuItem() {\n if (!this.state.isMathJaxEnabled) {\n return;\n }\n\n const {\n editorContainer\n } = this.props;\n const isEnabled = this.state.isMathJaxEnabled;\n const isActive = isEnabled && editorContainer.state.previewOptions.renderMathJaxInRealtime;\n const iconClasses = ['text-info'];\n\n if (isActive) {\n iconClasses.push('ti-check');\n }\n\n const iconClassName = iconClasses.join(' ');\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_DropdownItem__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n toggle: false,\n onClick: this.onClickRenderMathJaxInRealtime\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"d-flex justify-content-between\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"icon-container\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"img\", {\n src: \"/images/icons/fx.svg\",\n width: \"14px\",\n alt: \"fx\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"menuitem-label\"\n }, \"MathJax Rendering\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"icon-container\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: iconClassName\n }))));\n }\n\n renderMarkdownTableAutoFormattingMenuItem() {\n const {\n t,\n editorContainer\n } = this.props; // Auto-formatting was enabled before optionalizing, so we made it a disabled option(ignoreMarkdownTableAutoFormatting).\n\n const isActive = !editorContainer.state.editorOptions.ignoreMarkdownTableAutoFormatting;\n const iconClasses = ['text-info'];\n\n if (isActive) {\n iconClasses.push('ti-check');\n }\n\n const iconClassName = iconClasses.join(' ');\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_DropdownItem__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n toggle: false,\n onClick: this.onClickMarkdownTableAutoFormatting\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"d-flex justify-content-between\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"icon-container\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"menuitem-label\"\n }, t('page_edit.auto_format_table')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"icon-container\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: iconClassName\n }))));\n }\n\n renderIndentSizeSelector() {\n const {\n appContainer,\n editorContainer\n } = this.props;\n const menuItems = this.typicalIndentSizes.map(indent => {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n key: indent,\n className: \"dropdown-item\",\n type: \"button\",\n onClick: () => this.onChangeIndentSize(indent)\n }, indent);\n });\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group flex-nowrap\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group-prepend\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"input-group-text\",\n id: \"igt-indent\"\n }, \"Indent\")), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group-append dropup\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-outline-secondary dropdown-toggle\",\n \"data-toggle\": \"dropdown\",\n \"aria-haspopup\": \"true\",\n \"aria-expanded\": \"false\",\n \"aria-describedby\": \"igt-indent\",\n disabled: appContainer.config.isIndentSizeForced\n }, editorContainer.state.indentSize), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"dropdown-menu\",\n \"aria-labelledby\": \"dropdownMenuLink\"\n }, menuItems)));\n }\n\n render() {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"d-flex flex-row\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", null, this.renderThemeSelector()), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"d-none d-sm-block ml-2 ml-sm-4\"\n }, this.renderKeymapModeSelector()), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"ml-2 ml-sm-4\"\n }, this.renderIndentSizeSelector()), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"ml-2 ml-sm-4\"\n }, this.renderConfigurationDropdown()));\n }\n\n}\n/**\n * Wrapper component for using unstated\n */\n\n\nconst OptionsSelectorWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_7__[\"withUnstatedContainers\"])(OptionsSelector, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_8__[\"default\"], _services_EditorContainer__WEBPACK_IMPORTED_MODULE_9__[\"default\"]]);\nOptionsSelector.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_8__[\"default\"]).isRequired,\n editorContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_EditorContainer__WEBPACK_IMPORTED_MODULE_9__[\"default\"]).isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(OptionsSelectorWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci9PcHRpb25zU2VsZWN0b3IuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1BhZ2VFZGl0b3IvT3B0aW9uc1NlbGVjdG9yLmpzeD9jNDdkIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQgeyB3aXRoVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcblxuaW1wb3J0IHtcbiAgRHJvcGRvd24sIERyb3Bkb3duVG9nZ2xlLCBEcm9wZG93bk1lbnUsIERyb3Bkb3duSXRlbSxcbn0gZnJvbSAncmVhY3RzdHJhcCc7XG5cbmltcG9ydCB7IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMgfSBmcm9tICcuLi9VbnN0YXRlZFV0aWxzJztcbmltcG9ydCBBcHBDb250YWluZXIgZnJvbSAnLi4vLi4vc2VydmljZXMvQXBwQ29udGFpbmVyJztcbmltcG9ydCBFZGl0b3JDb250YWluZXIgZnJvbSAnLi4vLi4vc2VydmljZXMvRWRpdG9yQ29udGFpbmVyJztcblxuXG5leHBvcnQgY29uc3QgZGVmYXVsdEVkaXRvck9wdGlvbnMgPSB7XG4gIHRoZW1lOiAnZWxlZ2FudCcsXG4gIGtleW1hcE1vZGU6ICdkZWZhdWx0JyxcbiAgc3R5bGVBY3RpdmVMaW5lOiBmYWxzZSxcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0UHJldmlld09wdGlvbnMgPSB7XG4gIHJlbmRlck1hdGhKYXhJblJlYWx0aW1lOiBmYWxzZSxcbn07XG5cbmNsYXNzIE9wdGlvbnNTZWxlY3RvciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICBjb25zdCBjb25maWcgPSB0aGlzLnByb3BzLmFwcENvbnRhaW5lci5nZXRDb25maWcoKTtcbiAgICBjb25zdCBpc01hdGhKYXhFbmFibGVkID0gISFjb25maWcuZW52Lk1BVEhKQVg7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgaXNDZGRNZW51T3BlbmVkOiBmYWxzZSxcbiAgICAgIGlzTWF0aEpheEVuYWJsZWQsXG4gICAgfTtcblxuICAgIHRoaXMuYXZhaWxhYmxlVGhlbWVzID0gW1xuICAgICAgJ2VjbGlwc2UnLCAnZWxlZ2FudCcsICduZW8nLCAnbWRuLWxpa2UnLCAnbWF0ZXJpYWwnLCAnZHJhY3VsYScsICdtb25va2FpJywgJ3R3aWxpZ2h0JyxcbiAgICBdO1xuICAgIHRoaXMua2V5bWFwTW9kZXMgPSB7XG4gICAgICBkZWZhdWx0OiAnRGVmYXVsdCcsXG4gICAgICB2aW06ICdWaW0nLFxuICAgICAgZW1hY3M6ICdFbWFjcycsXG4gICAgICBzdWJsaW1lOiAnU3VibGltZSBUZXh0JyxcbiAgICB9O1xuICAgIHRoaXMudHlwaWNhbEluZGVudFNpemVzID0gWzIsIDRdO1xuXG4gICAgdGhpcy5vbkNoYW5nZVRoZW1lID0gdGhpcy5vbkNoYW5nZVRoZW1lLmJpbmQodGhpcyk7XG4gICAgdGhpcy5vbkNoYW5nZUtleW1hcE1vZGUgPSB0aGlzLm9uQ2hhbmdlS2V5bWFwTW9kZS5iaW5kKHRoaXMpO1xuICAgIHRoaXMub25DbGlja1N0eWxlQWN0aXZlTGluZSA9IHRoaXMub25DbGlja1N0eWxlQWN0aXZlTGluZS5iaW5kKHRoaXMpO1xuICAgIHRoaXMub25DbGlja1JlbmRlck1hdGhKYXhJblJlYWx0aW1lID0gdGhpcy5vbkNsaWNrUmVuZGVyTWF0aEpheEluUmVhbHRpbWUuYmluZCh0aGlzKTtcbiAgICB0aGlzLm9uQ2xpY2tNYXJrZG93blRhYmxlQXV0b0Zvcm1hdHRpbmcgPSB0aGlzLm9uQ2xpY2tNYXJrZG93blRhYmxlQXV0b0Zvcm1hdHRpbmcuYmluZCh0aGlzKTtcbiAgICB0aGlzLm9uVG9nZ2xlQ29uZmlndXJhdGlvbkRyb3Bkb3duID0gdGhpcy5vblRvZ2dsZUNvbmZpZ3VyYXRpb25Ecm9wZG93bi5iaW5kKHRoaXMpO1xuICAgIHRoaXMub25DaGFuZ2VJbmRlbnRTaXplID0gdGhpcy5vbkNoYW5nZUluZGVudFNpemUuYmluZCh0aGlzKTtcbiAgfVxuXG4gIG9uQ2hhbmdlVGhlbWUobmV3VmFsdWUpIHtcbiAgICBjb25zdCB7IGVkaXRvckNvbnRhaW5lciB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IG5ld09wdHMgPSBPYmplY3QuYXNzaWduKGVkaXRvckNvbnRhaW5lci5zdGF0ZS5lZGl0b3JPcHRpb25zLCB7IHRoZW1lOiBuZXdWYWx1ZSB9KTtcbiAgICBlZGl0b3JDb250YWluZXIuc2V0U3RhdGUoeyBlZGl0b3JPcHRpb25zOiBuZXdPcHRzIH0pO1xuXG4gICAgLy8gc2F2ZSB0byBsb2NhbFN0b3JhZ2VcbiAgICBlZGl0b3JDb250YWluZXIuc2F2ZU9wdHNUb0xvY2FsU3RvcmFnZSgpO1xuICB9XG5cbiAgb25DaGFuZ2VLZXltYXBNb2RlKG5ld1ZhbHVlKSB7XG4gICAgY29uc3QgeyBlZGl0b3JDb250YWluZXIgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBuZXdPcHRzID0gT2JqZWN0LmFzc2lnbihlZGl0b3JDb250YWluZXIuc3RhdGUuZWRpdG9yT3B0aW9ucywgeyBrZXltYXBNb2RlOiBuZXdWYWx1ZSB9KTtcbiAgICBlZGl0b3JDb250YWluZXIuc2V0U3RhdGUoeyBlZGl0b3JPcHRpb25zOiBuZXdPcHRzIH0pO1xuXG4gICAgLy8gc2F2ZSB0byBsb2NhbFN0b3JhZ2VcbiAgICBlZGl0b3JDb250YWluZXIuc2F2ZU9wdHNUb0xvY2FsU3RvcmFnZSgpO1xuICB9XG5cbiAgb25DbGlja1N0eWxlQWN0aXZlTGluZShldmVudCkge1xuICAgIGNvbnN0IHsgZWRpdG9yQ29udGFpbmVyIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgLy8ga2VlcCBkcm9wZG93biBvcGVuZWRcbiAgICB0aGlzLl9jZGRGb3JjZU9wZW4gPSB0cnVlO1xuXG4gICAgY29uc3QgbmV3VmFsdWUgPSAhZWRpdG9yQ29udGFpbmVyLnN0YXRlLmVkaXRvck9wdGlvbnMuc3R5bGVBY3RpdmVMaW5lO1xuICAgIGNvbnN0IG5ld09wdHMgPSBPYmplY3QuYXNzaWduKGVkaXRvckNvbnRhaW5lci5zdGF0ZS5lZGl0b3JPcHRpb25zLCB7IHN0eWxlQWN0aXZlTGluZTogbmV3VmFsdWUgfSk7XG4gICAgZWRpdG9yQ29udGFpbmVyLnNldFN0YXRlKHsgZWRpdG9yT3B0aW9uczogbmV3T3B0cyB9KTtcblxuICAgIC8vIHNhdmUgdG8gbG9jYWxTdG9yYWdlXG4gICAgZWRpdG9yQ29udGFpbmVyLnNhdmVPcHRzVG9Mb2NhbFN0b3JhZ2UoKTtcbiAgfVxuXG4gIG9uQ2xpY2tSZW5kZXJNYXRoSmF4SW5SZWFsdGltZShldmVudCkge1xuICAgIGNvbnN0IHsgZWRpdG9yQ29udGFpbmVyIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3QgbmV3VmFsdWUgPSAhZWRpdG9yQ29udGFpbmVyLnN0YXRlLnByZXZpZXdPcHRpb25zLnJlbmRlck1hdGhKYXhJblJlYWx0aW1lO1xuICAgIGNvbnN0IG5ld09wdHMgPSBPYmplY3QuYXNzaWduKGVkaXRvckNvbnRhaW5lci5zdGF0ZS5wcmV2aWV3T3B0aW9ucywgeyByZW5kZXJNYXRoSmF4SW5SZWFsdGltZTogbmV3VmFsdWUgfSk7XG4gICAgZWRpdG9yQ29udGFpbmVyLnNldFN0YXRlKHsgcHJldmlld09wdGlvbnM6IG5ld09wdHMgfSk7XG5cbiAgICAvLyBzYXZlIHRvIGxvY2FsU3RvcmFnZVxuICAgIGVkaXRvckNvbnRhaW5lci5zYXZlT3B0c1RvTG9jYWxTdG9yYWdlKCk7XG4gIH1cblxuICBvbkNsaWNrTWFya2Rvd25UYWJsZUF1dG9Gb3JtYXR0aW5nKGV2ZW50KSB7XG4gICAgY29uc3QgeyBlZGl0b3JDb250YWluZXIgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBuZXdWYWx1ZSA9ICFlZGl0b3JDb250YWluZXIuc3RhdGUuZWRpdG9yT3B0aW9ucy5pZ25vcmVNYXJrZG93blRhYmxlQXV0b0Zvcm1hdHRpbmc7XG4gICAgY29uc3QgbmV3T3B0cyA9IE9iamVjdC5hc3NpZ24oZWRpdG9yQ29udGFpbmVyLnN0YXRlLmVkaXRvck9wdGlvbnMsIHsgaWdub3JlTWFya2Rvd25UYWJsZUF1dG9Gb3JtYXR0aW5nOiBuZXdWYWx1ZSB9KTtcbiAgICBlZGl0b3JDb250YWluZXIuc2V0U3RhdGUoeyBlZGl0b3JPcHRpb25zOiBuZXdPcHRzIH0pO1xuXG4gICAgLy8gc2F2ZSB0byBsb2NhbFN0b3JhZ2VcbiAgICBlZGl0b3JDb250YWluZXIuc2F2ZU9wdHNUb0xvY2FsU3RvcmFnZSgpO1xuICB9XG5cbiAgb25Ub2dnbGVDb25maWd1cmF0aW9uRHJvcGRvd24obmV3VmFsdWUpIHtcbiAgICB0aGlzLnNldFN0YXRlKHsgaXNDZGRNZW51T3BlbmVkOiAhdGhpcy5zdGF0ZS5pc0NkZE1lbnVPcGVuZWQgfSk7XG4gIH1cblxuICBvbkNoYW5nZUluZGVudFNpemUobmV3VmFsdWUpIHtcbiAgICBjb25zdCB7IGVkaXRvckNvbnRhaW5lciB9ID0gdGhpcy5wcm9wcztcbiAgICBlZGl0b3JDb250YWluZXIuc2V0U3RhdGUoeyBpbmRlbnRTaXplOiBuZXdWYWx1ZSB9KTtcbiAgfVxuXG4gIHJlbmRlclRoZW1lU2VsZWN0b3IoKSB7XG4gICAgY29uc3QgeyBlZGl0b3JDb250YWluZXIgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBzZWxlY3RlZFRoZW1lID0gZWRpdG9yQ29udGFpbmVyLnN0YXRlLmVkaXRvck9wdGlvbnMudGhlbWU7XG4gICAgY29uc3QgbWVudUl0ZW1zID0gdGhpcy5hdmFpbGFibGVUaGVtZXMubWFwKCh0aGVtZSkgPT4ge1xuICAgICAgcmV0dXJuIDxidXR0b24ga2V5PXt0aGVtZX0gY2xhc3NOYW1lPVwiZHJvcGRvd24taXRlbVwiIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXsoKSA9PiB0aGlzLm9uQ2hhbmdlVGhlbWUodGhlbWUpfT57dGhlbWV9PC9idXR0b24+O1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5wdXQtZ3JvdXAgZmxleC1ub3dyYXBcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbnB1dC1ncm91cC1wcmVwZW5kXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiaW5wdXQtZ3JvdXAtdGV4dFwiIGlkPVwiaWd0LXRoZW1lXCI+VGhlbWU8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImlucHV0LWdyb3VwLWFwcGVuZCBkcm9wdXBcIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnkgZHJvcGRvd24tdG9nZ2xlXCJcbiAgICAgICAgICAgIGRhdGEtdG9nZ2xlPVwiZHJvcGRvd25cIlxuICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgICAgICAgICAgYXJpYS1leHBhbmRlZD1cImZhbHNlXCJcbiAgICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9XCJpZ3QtdGhlbWVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtzZWxlY3RlZFRoZW1lfVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZHJvcGRvd24tbWVudVwiIGFyaWEtbGFiZWxsZWRieT1cImRyb3Bkb3duTWVudUxpbmtcIj5cbiAgICAgICAgICAgIHttZW51SXRlbXN9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuXG4gIHJlbmRlcktleW1hcE1vZGVTZWxlY3RvcigpIHtcbiAgICBjb25zdCB7IGVkaXRvckNvbnRhaW5lciB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHNlbGVjdGVkS2V5bWFwTW9kZSA9IGVkaXRvckNvbnRhaW5lci5zdGF0ZS5lZGl0b3JPcHRpb25zLmtleW1hcE1vZGU7XG4gICAgY29uc3QgbWVudUl0ZW1zID0gT2JqZWN0LmtleXModGhpcy5rZXltYXBNb2RlcykubWFwKChtb2RlKSA9PiB7XG4gICAgICBjb25zdCBsYWJlbCA9IHRoaXMua2V5bWFwTW9kZXNbbW9kZV07XG4gICAgICBjb25zdCBpY29uID0gKG1vZGUgIT09ICdkZWZhdWx0JylcbiAgICAgICAgPyA8aW1nIHNyYz17YC9pbWFnZXMvaWNvbnMvJHttb2RlfS5wbmdgfSB3aWR0aD1cIjE2cHhcIiBjbGFzc05hbWU9XCJtci0yXCI+PC9pbWc+XG4gICAgICAgIDogbnVsbDtcbiAgICAgIHJldHVybiA8YnV0dG9uIGtleT17bW9kZX0gY2xhc3NOYW1lPVwiZHJvcGRvd24taXRlbVwiIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXsoKSA9PiB0aGlzLm9uQ2hhbmdlS2V5bWFwTW9kZShtb2RlKX0+e2ljb259e2xhYmVsfTwvYnV0dG9uPjtcbiAgICB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImlucHV0LWdyb3VwIGZsZXgtbm93cmFwXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5wdXQtZ3JvdXAtcHJlcGVuZFwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImlucHV0LWdyb3VwLXRleHRcIiBpZD1cImlndC1rZXltYXBcIj5LZXltYXA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImlucHV0LWdyb3VwLWFwcGVuZCBkcm9wdXBcIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnkgZHJvcGRvd24tdG9nZ2xlXCJcbiAgICAgICAgICAgIGRhdGEtdG9nZ2xlPVwiZHJvcGRvd25cIlxuICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgICAgICAgICAgYXJpYS1leHBhbmRlZD1cImZhbHNlXCJcbiAgICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9XCJpZ3Qta2V5bWFwXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7c2VsZWN0ZWRLZXltYXBNb2RlfVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZHJvcGRvd24tbWVudVwiIGFyaWEtbGFiZWxsZWRieT1cImRyb3Bkb3duTWVudUxpbmtcIj5cbiAgICAgICAgICAgIHttZW51SXRlbXN9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuXG4gIHJlbmRlckNvbmZpZ3VyYXRpb25Ecm9wZG93bigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJteS0wIGZvcm0tZ3JvdXBcIj5cblxuICAgICAgICA8RHJvcGRvd25cbiAgICAgICAgICBkaXJlY3Rpb249XCJ1cFwiXG4gICAgICAgICAgY2xhc3NOYW1lPVwiZ3J3LWVkaXRvci1jb25maWd1cmF0aW9uLWRyb3Bkb3duXCJcbiAgICAgICAgICBpc09wZW49e3RoaXMuc3RhdGUuaXNDZGRNZW51T3BlbmVkfVxuICAgICAgICAgIHRvZ2dsZT17dGhpcy5vblRvZ2dsZUNvbmZpZ3VyYXRpb25Ecm9wZG93bn1cbiAgICAgICAgPlxuXG4gICAgICAgICAgPERyb3Bkb3duVG9nZ2xlIGNvbG9yPVwib3V0bGluZS1zZWNvbmRhcnlcIiBjYXJldD5cbiAgICAgICAgICAgIDxpIGNsYXNzTmFtZT1cImljb24tc2V0dGluZ3NcIj48L2k+XG4gICAgICAgICAgPC9Ecm9wZG93blRvZ2dsZT5cblxuICAgICAgICAgIDxEcm9wZG93bk1lbnU+XG4gICAgICAgICAgICB7dGhpcy5yZW5kZXJBY3RpdmVMaW5lTWVudUl0ZW0oKX1cbiAgICAgICAgICAgIHt0aGlzLnJlbmRlclJlYWx0aW1lTWF0aEpheE1lbnVJdGVtKCl9XG4gICAgICAgICAgICB7dGhpcy5yZW5kZXJNYXJrZG93blRhYmxlQXV0b0Zvcm1hdHRpbmdNZW51SXRlbSgpfVxuICAgICAgICAgICAgey8qIDxEcm9wZG93bkl0ZW0gZGl2aWRlciAvPiAqL31cbiAgICAgICAgICA8L0Ryb3Bkb3duTWVudT5cblxuICAgICAgICA8L0Ryb3Bkb3duPlxuXG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG5cbiAgcmVuZGVyQWN0aXZlTGluZU1lbnVJdGVtKCkge1xuICAgIGNvbnN0IHsgdCwgZWRpdG9yQ29udGFpbmVyIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGlzQWN0aXZlID0gZWRpdG9yQ29udGFpbmVyLnN0YXRlLmVkaXRvck9wdGlvbnMuc3R5bGVBY3RpdmVMaW5lO1xuXG4gICAgY29uc3QgaWNvbkNsYXNzZXMgPSBbJ3RleHQtaW5mbyddO1xuICAgIGlmIChpc0FjdGl2ZSkge1xuICAgICAgaWNvbkNsYXNzZXMucHVzaCgndGktY2hlY2snKTtcbiAgICB9XG4gICAgY29uc3QgaWNvbkNsYXNzTmFtZSA9IGljb25DbGFzc2VzLmpvaW4oJyAnKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8RHJvcGRvd25JdGVtIHRvZ2dsZT17ZmFsc2V9IG9uQ2xpY2s9e3RoaXMub25DbGlja1N0eWxlQWN0aXZlTGluZX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiaWNvbi1jb250YWluZXJcIj48L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwibWVudWl0ZW0tbGFiZWxcIj57IHQoJ3BhZ2VfZWRpdC5TaG93IGFjdGl2ZSBsaW5lJykgfTwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJpY29uLWNvbnRhaW5lclwiPjxpIGNsYXNzTmFtZT17aWNvbkNsYXNzTmFtZX0+PC9pPjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L0Ryb3Bkb3duSXRlbT5cbiAgICApO1xuICB9XG5cbiAgcmVuZGVyUmVhbHRpbWVNYXRoSmF4TWVudUl0ZW0oKSB7XG4gICAgaWYgKCF0aGlzLnN0YXRlLmlzTWF0aEpheEVuYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB7IGVkaXRvckNvbnRhaW5lciB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGlzRW5hYmxlZCA9IHRoaXMuc3RhdGUuaXNNYXRoSmF4RW5hYmxlZDtcbiAgICBjb25zdCBpc0FjdGl2ZSA9IGlzRW5hYmxlZCAmJiBlZGl0b3JDb250YWluZXIuc3RhdGUucHJldmlld09wdGlvbnMucmVuZGVyTWF0aEpheEluUmVhbHRpbWU7XG5cbiAgICBjb25zdCBpY29uQ2xhc3NlcyA9IFsndGV4dC1pbmZvJ107XG4gICAgaWYgKGlzQWN0aXZlKSB7XG4gICAgICBpY29uQ2xhc3Nlcy5wdXNoKCd0aS1jaGVjaycpO1xuICAgIH1cbiAgICBjb25zdCBpY29uQ2xhc3NOYW1lID0gaWNvbkNsYXNzZXMuam9pbignICcpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxEcm9wZG93bkl0ZW0gdG9nZ2xlPXtmYWxzZX0gb25DbGljaz17dGhpcy5vbkNsaWNrUmVuZGVyTWF0aEpheEluUmVhbHRpbWV9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImljb24tY29udGFpbmVyXCI+PGltZyBzcmM9XCIvaW1hZ2VzL2ljb25zL2Z4LnN2Z1wiIHdpZHRoPVwiMTRweFwiIGFsdD1cImZ4XCI+PC9pbWc+PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIm1lbnVpdGVtLWxhYmVsXCI+TWF0aEpheCBSZW5kZXJpbmc8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiaWNvbi1jb250YWluZXJcIj48aSBjbGFzc05hbWU9e2ljb25DbGFzc05hbWV9PjwvaT48L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9Ecm9wZG93bkl0ZW0+XG4gICAgKTtcbiAgfVxuXG4gIHJlbmRlck1hcmtkb3duVGFibGVBdXRvRm9ybWF0dGluZ01lbnVJdGVtKCkge1xuICAgIGNvbnN0IHsgdCwgZWRpdG9yQ29udGFpbmVyIH0gPSB0aGlzLnByb3BzO1xuICAgIC8vIEF1dG8tZm9ybWF0dGluZyB3YXMgZW5hYmxlZCBiZWZvcmUgb3B0aW9uYWxpemluZywgc28gd2UgbWFkZSBpdCBhIGRpc2FibGVkIG9wdGlvbihpZ25vcmVNYXJrZG93blRhYmxlQXV0b0Zvcm1hdHRpbmcpLlxuICAgIGNvbnN0IGlzQWN0aXZlID0gIWVkaXRvckNvbnRhaW5lci5zdGF0ZS5lZGl0b3JPcHRpb25zLmlnbm9yZU1hcmtkb3duVGFibGVBdXRvRm9ybWF0dGluZztcblxuICAgIGNvbnN0IGljb25DbGFzc2VzID0gWyd0ZXh0LWluZm8nXTtcbiAgICBpZiAoaXNBY3RpdmUpIHtcbiAgICAgIGljb25DbGFzc2VzLnB1c2goJ3RpLWNoZWNrJyk7XG4gICAgfVxuICAgIGNvbnN0IGljb25DbGFzc05hbWUgPSBpY29uQ2xhc3Nlcy5qb2luKCcgJyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPERyb3Bkb3duSXRlbSB0b2dnbGU9e2ZhbHNlfSBvbkNsaWNrPXt0aGlzLm9uQ2xpY2tNYXJrZG93blRhYmxlQXV0b0Zvcm1hdHRpbmd9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImljb24tY29udGFpbmVyXCI+PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIm1lbnVpdGVtLWxhYmVsXCI+eyB0KCdwYWdlX2VkaXQuYXV0b19mb3JtYXRfdGFibGUnKSB9PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImljb24tY29udGFpbmVyXCI+PGkgY2xhc3NOYW1lPXtpY29uQ2xhc3NOYW1lfT48L2k+PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvRHJvcGRvd25JdGVtPlxuICAgICk7XG4gIH1cblxuICByZW5kZXJJbmRlbnRTaXplU2VsZWN0b3IoKSB7XG4gICAgY29uc3QgeyBhcHBDb250YWluZXIsIGVkaXRvckNvbnRhaW5lciB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBtZW51SXRlbXMgPSB0aGlzLnR5cGljYWxJbmRlbnRTaXplcy5tYXAoKGluZGVudCkgPT4ge1xuICAgICAgcmV0dXJuIDxidXR0b24ga2V5PXtpbmRlbnR9IGNsYXNzTmFtZT1cImRyb3Bkb3duLWl0ZW1cIiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17KCkgPT4gdGhpcy5vbkNoYW5nZUluZGVudFNpemUoaW5kZW50KX0+e2luZGVudH08L2J1dHRvbj47XG4gICAgfSk7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5wdXQtZ3JvdXAgZmxleC1ub3dyYXBcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbnB1dC1ncm91cC1wcmVwZW5kXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiaW5wdXQtZ3JvdXAtdGV4dFwiIGlkPVwiaWd0LWluZGVudFwiPkluZGVudDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5wdXQtZ3JvdXAtYXBwZW5kIGRyb3B1cFwiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeSBkcm9wZG93bi10b2dnbGVcIlxuICAgICAgICAgICAgZGF0YS10b2dnbGU9XCJkcm9wZG93blwiXG4gICAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXG4gICAgICAgICAgICBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIlxuICAgICAgICAgICAgYXJpYS1kZXNjcmliZWRieT1cImlndC1pbmRlbnRcIlxuICAgICAgICAgICAgZGlzYWJsZWQ9e2FwcENvbnRhaW5lci5jb25maWcuaXNJbmRlbnRTaXplRm9yY2VkfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtlZGl0b3JDb250YWluZXIuc3RhdGUuaW5kZW50U2l6ZX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRyb3Bkb3duLW1lbnVcIiBhcmlhLWxhYmVsbGVkYnk9XCJkcm9wZG93bk1lbnVMaW5rXCI+XG4gICAgICAgICAgICB7bWVudUl0ZW1zfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZC1mbGV4IGZsZXgtcm93XCI+XG4gICAgICAgIDxzcGFuPnt0aGlzLnJlbmRlclRoZW1lU2VsZWN0b3IoKX08L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImQtbm9uZSBkLXNtLWJsb2NrIG1sLTIgbWwtc20tNFwiPnt0aGlzLnJlbmRlcktleW1hcE1vZGVTZWxlY3RvcigpfTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwibWwtMiBtbC1zbS00XCI+e3RoaXMucmVuZGVySW5kZW50U2l6ZVNlbGVjdG9yKCl9PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJtbC0yIG1sLXNtLTRcIj57dGhpcy5yZW5kZXJDb25maWd1cmF0aW9uRHJvcGRvd24oKX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG5cbn1cblxuLyoqXG4gKiBXcmFwcGVyIGNvbXBvbmVudCBmb3IgdXNpbmcgdW5zdGF0ZWRcbiAqL1xuY29uc3QgT3B0aW9uc1NlbGVjdG9yV3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoT3B0aW9uc1NlbGVjdG9yLCBbQXBwQ29udGFpbmVyLCBFZGl0b3JDb250YWluZXJdKTtcblxuT3B0aW9uc1NlbGVjdG9yLnByb3BUeXBlcyA9IHtcbiAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCwgLy8gaTE4bmV4dFxuXG4gIGFwcENvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoQXBwQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuICBlZGl0b3JDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKEVkaXRvckNvbnRhaW5lcikuaXNSZXF1aXJlZCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhUcmFuc2xhdGlvbigpKE9wdGlvbnNTZWxlY3RvcldyYXBwZXIpO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRUE7Ozs7O0FBTUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQU1BO0FBQ0E7QUFEQTtBQUNBO0FBR0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUZBO0FBS0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFNQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQVVBO0FBQUE7QUFBQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTkE7QUFVQTtBQUFBO0FBQUE7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FBT0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQWNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFQQTtBQVdBO0FBQUE7QUFBQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUdBO0FBQ0E7QUFoVEE7QUFtVEE7Ozs7O0FBR0E7QUFFQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBSkE7QUFPQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/PageEditor/OptionsSelector.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageEditor/PasteHelper.js":
- /*!************************************************************!*\
- !*** ./src/client/js/components/PageEditor/PasteHelper.js ***!
- \************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var attr_accept__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! attr-accept */ \"./node_modules/attr-accept/dist/es/index.js\");\n/* harmony import */ var attr_accept__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(attr_accept__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _MarkdownListUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MarkdownListUtil */ \"./src/client/js/components/PageEditor/MarkdownListUtil.js\");\n\n\n\nclass PasteHelper {\n constructor() {\n this.pasteText = this.pasteText.bind(this);\n }\n /**\n * paste text\n * @param {any} editor An editor instance of CodeMirror\n * @param {any} event\n */\n\n\n pasteText(editor, event) {\n // get data in clipboard\n const text = event.clipboardData.getData('text/plain');\n\n if (text.length === 0) {\n return;\n }\n\n _MarkdownListUtil__WEBPACK_IMPORTED_MODULE_1__[\"default\"].pasteText(editor, event, text);\n } // Firefox versions prior to 53 return a bogus MIME type for every file drag, so dragovers with\n\n /**\n * transplanted from react-dropzone\n * @see https://github.com/react-dropzone/react-dropzone/blob/master/src/utils/index.js\n *\n * @param {*} file\n * @param {*} accept\n */\n\n\n isAcceptableType(file, accept) {\n return file.type === 'application/x-moz-file' || attr_accept__WEBPACK_IMPORTED_MODULE_0___default()(file, accept);\n }\n\n} // singleton pattern\n\n\nconst instance = new PasteHelper();\nObject.freeze(instance);\n/* harmony default export */ __webpack_exports__[\"default\"] = (instance);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci9QYXN0ZUhlbHBlci5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9QYWdlRWRpdG9yL1Bhc3RlSGVscGVyLmpzPzdmY2EiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFjY2VwdHMgZnJvbSAnYXR0ci1hY2NlcHQnO1xuXG5pbXBvcnQgbWFya2Rvd25MaXN0VXRpbCBmcm9tICcuL01hcmtkb3duTGlzdFV0aWwnO1xuXG5jbGFzcyBQYXN0ZUhlbHBlciB7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5wYXN0ZVRleHQgPSB0aGlzLnBhc3RlVGV4dC5iaW5kKHRoaXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIHBhc3RlIHRleHRcbiAgICogQHBhcmFtIHthbnl9IGVkaXRvciBBbiBlZGl0b3IgaW5zdGFuY2Ugb2YgQ29kZU1pcnJvclxuICAgKiBAcGFyYW0ge2FueX0gZXZlbnRcbiAgICovXG4gIHBhc3RlVGV4dChlZGl0b3IsIGV2ZW50KSB7XG4gICAgLy8gZ2V0IGRhdGEgaW4gY2xpcGJvYXJkXG4gICAgY29uc3QgdGV4dCA9IGV2ZW50LmNsaXBib2FyZERhdGEuZ2V0RGF0YSgndGV4dC9wbGFpbicpO1xuXG4gICAgaWYgKHRleHQubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbWFya2Rvd25MaXN0VXRpbC5wYXN0ZVRleHQoZWRpdG9yLCBldmVudCwgdGV4dCk7XG4gIH1cblxuICAvLyBGaXJlZm94IHZlcnNpb25zIHByaW9yIHRvIDUzIHJldHVybiBhIGJvZ3VzIE1JTUUgdHlwZSBmb3IgZXZlcnkgZmlsZSBkcmFnLCBzbyBkcmFnb3ZlcnMgd2l0aFxuICAvKipcbiAgICogdHJhbnNwbGFudGVkIGZyb20gcmVhY3QtZHJvcHpvbmVcbiAgICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vcmVhY3QtZHJvcHpvbmUvcmVhY3QtZHJvcHpvbmUvYmxvYi9tYXN0ZXIvc3JjL3V0aWxzL2luZGV4LmpzXG4gICAqXG4gICAqIEBwYXJhbSB7Kn0gZmlsZVxuICAgKiBAcGFyYW0geyp9IGFjY2VwdFxuICAgKi9cbiAgaXNBY2NlcHRhYmxlVHlwZShmaWxlLCBhY2NlcHQpIHtcbiAgICByZXR1cm4gZmlsZS50eXBlID09PSAnYXBwbGljYXRpb24veC1tb3otZmlsZScgfHwgYWNjZXB0cyhmaWxlLCBhY2NlcHQpO1xuICB9XG5cbn1cblxuLy8gc2luZ2xldG9uIHBhdHRlcm5cbmNvbnN0IGluc3RhbmNlID0gbmV3IFBhc3RlSGVscGVyKCk7XG5PYmplY3QuZnJlZXplKGluc3RhbmNlKTtcbmV4cG9ydCBkZWZhdWx0IGluc3RhbmNlO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7Ozs7Ozs7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7Ozs7OztBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBakNBO0FBQ0E7QUFDQTtBQW1DQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/PageEditor/PasteHelper.js\n");
- /***/ }),
- /***/ "./src/client/js/components/PageEditor/PreventMarkdownListInterceptor.js":
- /*!*******************************************************************************!*\
- !*** ./src/client/js/components/PageEditor/PreventMarkdownListInterceptor.js ***!
- \*******************************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return PreventMarkdownListInterceptor; });\n/* harmony import */ var growi_commons__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! growi-commons */ \"./node_modules/growi-commons/src/index.js\");\n/* harmony import */ var growi_commons__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(growi_commons__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _MarkdownListUtil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MarkdownListUtil */ \"./src/client/js/components/PageEditor/MarkdownListUtil.js\");\n\n\nclass PreventMarkdownListInterceptor extends growi_commons__WEBPACK_IMPORTED_MODULE_0__[\"BasicInterceptor\"] {\n /**\n * @inheritdoc\n */\n isInterceptWhen(contextName) {\n return contextName === 'preHandleEnter';\n }\n /**\n * return boolean value whether processable parallel\n */\n\n\n isProcessableParallel() {\n return false;\n }\n /**\n * @inheritdoc\n */\n\n\n process(contextName, ...args) {\n const context = Object.assign(args[0]); // clone\n\n const editor = context.editor; // AbstractEditor instance\n // get strings from current position to EOL(end of line) before break the line\n\n const strToEol = editor.getStrToEol();\n\n if (_MarkdownListUtil__WEBPACK_IMPORTED_MODULE_1__[\"default\"].indentAndMarkRE.test(strToEol)) {\n // newline simply\n editor.insertLinebreak(); // report to manager that handling was done\n\n context.handlers.push(this.className);\n } // resolve\n\n\n return Promise.resolve(context);\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci9QcmV2ZW50TWFya2Rvd25MaXN0SW50ZXJjZXB0b3IuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci9QcmV2ZW50TWFya2Rvd25MaXN0SW50ZXJjZXB0b3IuanM/YjIwMCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNpY0ludGVyY2VwdG9yIH0gZnJvbSAnZ3Jvd2ktY29tbW9ucyc7XG5cbmltcG9ydCBtbHUgZnJvbSAnLi9NYXJrZG93bkxpc3RVdGlsJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUHJldmVudE1hcmtkb3duTGlzdEludGVyY2VwdG9yIGV4dGVuZHMgQmFzaWNJbnRlcmNlcHRvciB7XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBpc0ludGVyY2VwdFdoZW4oY29udGV4dE5hbWUpIHtcbiAgICByZXR1cm4gKFxuICAgICAgY29udGV4dE5hbWUgPT09ICdwcmVIYW5kbGVFbnRlcidcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIHJldHVybiBib29sZWFuIHZhbHVlIHdoZXRoZXIgcHJvY2Vzc2FibGUgcGFyYWxsZWxcbiAgICovXG4gIGlzUHJvY2Vzc2FibGVQYXJhbGxlbCgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIHByb2Nlc3MoY29udGV4dE5hbWUsIC4uLmFyZ3MpIHtcbiAgICBjb25zdCBjb250ZXh0ID0gT2JqZWN0LmFzc2lnbihhcmdzWzBdKTsgLy8gY2xvbmVcbiAgICBjb25zdCBlZGl0b3IgPSBjb250ZXh0LmVkaXRvcjsgLy8gQWJzdHJhY3RFZGl0b3IgaW5zdGFuY2VcblxuICAgIC8vIGdldCBzdHJpbmdzIGZyb20gY3VycmVudCBwb3NpdGlvbiB0byBFT0woZW5kIG9mIGxpbmUpIGJlZm9yZSBicmVhayB0aGUgbGluZVxuICAgIGNvbnN0IHN0clRvRW9sID0gZWRpdG9yLmdldFN0clRvRW9sKCk7XG4gICAgaWYgKG1sdS5pbmRlbnRBbmRNYXJrUkUudGVzdChzdHJUb0VvbCkpIHtcbiAgICAgIC8vIG5ld2xpbmUgc2ltcGx5XG4gICAgICBlZGl0b3IuaW5zZXJ0TGluZWJyZWFrKCk7XG5cbiAgICAgIC8vIHJlcG9ydCB0byBtYW5hZ2VyIHRoYXQgaGFuZGxpbmcgd2FzIGRvbmVcbiAgICAgIGNvbnRleHQuaGFuZGxlcnMucHVzaCh0aGlzLmNsYXNzTmFtZSk7XG4gICAgfVxuXG4gICAgLy8gcmVzb2x2ZVxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoY29udGV4dCk7XG4gIH1cblxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUVBO0FBRUE7OztBQUdBO0FBQ0E7QUFHQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFDQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBdENBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/PageEditor/PreventMarkdownListInterceptor.js\n");
- /***/ }),
- /***/ "./src/client/js/components/PageEditor/Preview.jsx":
- /*!*********************************************************!*\
- !*** ./src/client/js/components/PageEditor/Preview.jsx ***!
- \*********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var unstated__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! unstated */ \"./node_modules/unstated/lib/unstated.es.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _Page_RevisionBody__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Page/RevisionBody */ \"./src/client/js/components/Page/RevisionBody.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_EditorContainer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../services/EditorContainer */ \"./src/client/js/services/EditorContainer.js\");\nfunction _extends() { _extends = Object.assign || 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); }\n\n\n\n\n\n\n\n\n/**\n * Wrapper component for Page/RevisionBody\n */\n\nclass Preview extends react__WEBPACK_IMPORTED_MODULE_0___default.a.PureComponent {\n constructor(props) {\n super(props);\n this.state = {\n html: ''\n }; // get renderer\n\n this.growiRenderer = props.appContainer.getRenderer('editor');\n }\n\n componentDidMount() {\n this.initCurrentRenderingContext();\n this.renderPreview();\n }\n\n componentDidUpdate(prevProps) {\n const {\n markdown: prevMarkdown\n } = prevProps;\n const {\n markdown\n } = this.props; // render only when props.markdown is updated\n\n if (markdown !== prevMarkdown) {\n this.initCurrentRenderingContext();\n this.renderPreview();\n return;\n }\n\n const {\n interceptorManager\n } = this.props.appContainer;\n interceptorManager.process('postRenderPreviewHtml', this.currentRenderingContext);\n }\n\n initCurrentRenderingContext() {\n this.currentRenderingContext = {\n markdown: this.props.markdown,\n currentPagePath: decodeURIComponent(window.location.pathname)\n };\n }\n\n async renderPreview() {\n const {\n appContainer\n } = this.props;\n const {\n growiRenderer\n } = this;\n const {\n interceptorManager\n } = appContainer;\n const context = this.currentRenderingContext;\n await interceptorManager.process('preRenderPreview', context);\n await interceptorManager.process('prePreProcess', context);\n context.markdown = growiRenderer.preProcess(context.markdown);\n await interceptorManager.process('postPreProcess', context);\n context.parsedHTML = growiRenderer.process(context.markdown);\n await interceptorManager.process('prePostProcess', context);\n context.parsedHTML = growiRenderer.postProcess(context.parsedHTML);\n await interceptorManager.process('postPostProcess', context);\n await interceptorManager.process('preRenderPreviewHtml', context);\n this.setState({\n html: context.parsedHTML\n });\n }\n\n render() {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(unstated__WEBPACK_IMPORTED_MODULE_2__[\"Subscribe\"], {\n to: [_services_EditorContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"]]\n }, editorContainer => // eslint-disable-next-line arrow-body-style\n react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"page-editor-preview-body\",\n ref: elm => {\n this.previewElement = elm;\n\n if (this.props.inputRef != null) {\n this.props.inputRef(elm);\n }\n },\n onScroll: event => {\n if (this.props.onScroll != null) {\n this.props.onScroll(event.target.scrollTop);\n }\n }\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Page_RevisionBody__WEBPACK_IMPORTED_MODULE_4__[\"default\"], _extends({}, this.props, {\n html: this.state.html,\n renderMathJaxInRealtime: editorContainer.state.previewOptions.renderMathJaxInRealtime\n }))));\n }\n\n}\n/**\n * Wrapper component for using unstated\n */\n\n\nconst PreviewWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__[\"withUnstatedContainers\"])(Preview, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]]);\nPreview.propTypes = {\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]).isRequired,\n markdown: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n inputRef: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n isMathJaxEnabled: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n renderMathJaxOnInit: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n onScroll: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (PreviewWrapper);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci9QcmV2aWV3LmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9QYWdlRWRpdG9yL1ByZXZpZXcuanN4P2ViNmUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCB7IFN1YnNjcmliZSB9IGZyb20gJ3Vuc3RhdGVkJztcbmltcG9ydCB7IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMgfSBmcm9tICcuLi9VbnN0YXRlZFV0aWxzJztcblxuaW1wb3J0IFJldmlzaW9uQm9keSBmcm9tICcuLi9QYWdlL1JldmlzaW9uQm9keSc7XG5cbmltcG9ydCBBcHBDb250YWluZXIgZnJvbSAnLi4vLi4vc2VydmljZXMvQXBwQ29udGFpbmVyJztcbmltcG9ydCBFZGl0b3JDb250YWluZXIgZnJvbSAnLi4vLi4vc2VydmljZXMvRWRpdG9yQ29udGFpbmVyJztcblxuLyoqXG4gKiBXcmFwcGVyIGNvbXBvbmVudCBmb3IgUGFnZS9SZXZpc2lvbkJvZHlcbiAqL1xuY2xhc3MgUHJldmlldyBleHRlbmRzIFJlYWN0LlB1cmVDb21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGh0bWw6ICcnLFxuICAgIH07XG5cbiAgICAvLyBnZXQgcmVuZGVyZXJcbiAgICB0aGlzLmdyb3dpUmVuZGVyZXIgPSBwcm9wcy5hcHBDb250YWluZXIuZ2V0UmVuZGVyZXIoJ2VkaXRvcicpO1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgdGhpcy5pbml0Q3VycmVudFJlbmRlcmluZ0NvbnRleHQoKTtcbiAgICB0aGlzLnJlbmRlclByZXZpZXcoKTtcbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IG1hcmtkb3duOiBwcmV2TWFya2Rvd24gfSA9IHByZXZQcm9wcztcbiAgICBjb25zdCB7IG1hcmtkb3duIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgLy8gcmVuZGVyIG9ubHkgd2hlbiBwcm9wcy5tYXJrZG93biBpcyB1cGRhdGVkXG4gICAgaWYgKG1hcmtkb3duICE9PSBwcmV2TWFya2Rvd24pIHtcbiAgICAgIHRoaXMuaW5pdEN1cnJlbnRSZW5kZXJpbmdDb250ZXh0KCk7XG4gICAgICB0aGlzLnJlbmRlclByZXZpZXcoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB7IGludGVyY2VwdG9yTWFuYWdlciB9ID0gdGhpcy5wcm9wcy5hcHBDb250YWluZXI7XG5cbiAgICBpbnRlcmNlcHRvck1hbmFnZXIucHJvY2VzcygncG9zdFJlbmRlclByZXZpZXdIdG1sJywgdGhpcy5jdXJyZW50UmVuZGVyaW5nQ29udGV4dCk7XG4gIH1cblxuICBpbml0Q3VycmVudFJlbmRlcmluZ0NvbnRleHQoKSB7XG4gICAgdGhpcy5jdXJyZW50UmVuZGVyaW5nQ29udGV4dCA9IHtcbiAgICAgIG1hcmtkb3duOiB0aGlzLnByb3BzLm1hcmtkb3duLFxuICAgICAgY3VycmVudFBhZ2VQYXRoOiBkZWNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgcmVuZGVyUHJldmlldygpIHtcbiAgICBjb25zdCB7IGFwcENvbnRhaW5lciB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGdyb3dpUmVuZGVyZXIgfSA9IHRoaXM7XG5cbiAgICBjb25zdCB7IGludGVyY2VwdG9yTWFuYWdlciB9ID0gYXBwQ29udGFpbmVyO1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmN1cnJlbnRSZW5kZXJpbmdDb250ZXh0O1xuXG4gICAgYXdhaXQgaW50ZXJjZXB0b3JNYW5hZ2VyLnByb2Nlc3MoJ3ByZVJlbmRlclByZXZpZXcnLCBjb250ZXh0KTtcbiAgICBhd2FpdCBpbnRlcmNlcHRvck1hbmFnZXIucHJvY2VzcygncHJlUHJlUHJvY2VzcycsIGNvbnRleHQpO1xuICAgIGNvbnRleHQubWFya2Rvd24gPSBncm93aVJlbmRlcmVyLnByZVByb2Nlc3MoY29udGV4dC5tYXJrZG93bik7XG4gICAgYXdhaXQgaW50ZXJjZXB0b3JNYW5hZ2VyLnByb2Nlc3MoJ3Bvc3RQcmVQcm9jZXNzJywgY29udGV4dCk7XG4gICAgY29udGV4dC5wYXJzZWRIVE1MID0gZ3Jvd2lSZW5kZXJlci5wcm9jZXNzKGNvbnRleHQubWFya2Rvd24pO1xuICAgIGF3YWl0IGludGVyY2VwdG9yTWFuYWdlci5wcm9jZXNzKCdwcmVQb3N0UHJvY2VzcycsIGNvbnRleHQpO1xuICAgIGNvbnRleHQucGFyc2VkSFRNTCA9IGdyb3dpUmVuZGVyZXIucG9zdFByb2Nlc3MoY29udGV4dC5wYXJzZWRIVE1MKTtcbiAgICBhd2FpdCBpbnRlcmNlcHRvck1hbmFnZXIucHJvY2VzcygncG9zdFBvc3RQcm9jZXNzJywgY29udGV4dCk7XG4gICAgYXdhaXQgaW50ZXJjZXB0b3JNYW5hZ2VyLnByb2Nlc3MoJ3ByZVJlbmRlclByZXZpZXdIdG1sJywgY29udGV4dCk7XG5cbiAgICB0aGlzLnNldFN0YXRlKHsgaHRtbDogY29udGV4dC5wYXJzZWRIVE1MIH0pO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIHJldHVybiAoXG4gICAgICA8U3Vic2NyaWJlIHRvPXtbRWRpdG9yQ29udGFpbmVyXX0+XG4gICAgICAgIHsgZWRpdG9yQ29udGFpbmVyID0+IChcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgYXJyb3ctYm9keS1zdHlsZVxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cInBhZ2UtZWRpdG9yLXByZXZpZXctYm9keVwiXG4gICAgICAgICAgICByZWY9eyhlbG0pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnByZXZpZXdFbGVtZW50ID0gZWxtO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLmlucHV0UmVmICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuaW5wdXRSZWYoZWxtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICBvblNjcm9sbD17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMub25TY3JvbGwgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5vblNjcm9sbChldmVudC50YXJnZXQuc2Nyb2xsVG9wKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPFJldmlzaW9uQm9keVxuICAgICAgICAgICAgICB7Li4udGhpcy5wcm9wc31cbiAgICAgICAgICAgICAgaHRtbD17dGhpcy5zdGF0ZS5odG1sfVxuICAgICAgICAgICAgICByZW5kZXJNYXRoSmF4SW5SZWFsdGltZT17ZWRpdG9yQ29udGFpbmVyLnN0YXRlLnByZXZpZXdPcHRpb25zLnJlbmRlck1hdGhKYXhJblJlYWx0aW1lfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvU3Vic2NyaWJlPlxuICAgICk7XG4gIH1cblxufVxuXG4vKipcbiAqIFdyYXBwZXIgY29tcG9uZW50IGZvciB1c2luZyB1bnN0YXRlZFxuICovXG5jb25zdCBQcmV2aWV3V3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoUHJldmlldywgW0FwcENvbnRhaW5lcl0pO1xuXG5QcmV2aWV3LnByb3BUeXBlcyA9IHtcbiAgYXBwQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihBcHBDb250YWluZXIpLmlzUmVxdWlyZWQsXG5cbiAgbWFya2Rvd246IFByb3BUeXBlcy5zdHJpbmcsXG4gIGlucHV0UmVmOiBQcm9wVHlwZXMuZnVuYyxcbiAgaXNNYXRoSmF4RW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gIHJlbmRlck1hdGhKYXhPbkluaXQ6IFByb3BUeXBlcy5ib29sLFxuICBvblNjcm9sbDogUHJvcFR5cGVzLmZ1bmMsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBQcmV2aWV3V3JhcHBlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFFQTs7OztBQUdBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFEQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBWkE7QUFnQkE7QUFDQTtBQUhBO0FBU0E7QUFDQTtBQTFGQTtBQTZGQTs7Ozs7QUFHQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUEE7QUFVQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/PageEditor/Preview.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageEditor/PreviewWithSuspense.jsx":
- /*!*********************************************************************!*\
- !*** ./src/client/js/components/PageEditor/PreviewWithSuspense.jsx ***!
- \*********************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _Preview__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Preview */ \"./src/client/js/components/PageEditor/Preview.jsx\");\n/* harmony import */ var _SuspenseUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../SuspenseUtils */ \"./src/client/js/components/SuspenseUtils.jsx\");\n\n\n\n\n\nfunction PagePreview(props) {\n if (props.markdown === '') {\n if (props.error !== '') {\n return props.error;\n }\n\n throw (async () => {\n await props.setMarkdown();\n })();\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"linkedit-preview\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Preview__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n markdown: props.markdown\n }));\n}\n\nPagePreview.propTypes = {\n setMarkdown: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n markdown: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n error: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_SuspenseUtils__WEBPACK_IMPORTED_MODULE_3__[\"withLoadingSppiner\"])(PagePreview));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci9QcmV2aWV3V2l0aFN1c3BlbnNlLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9QYWdlRWRpdG9yL1ByZXZpZXdXaXRoU3VzcGVuc2UuanN4PzYzNTAiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUHJldmlldyBmcm9tICcuL1ByZXZpZXcnO1xuXG5pbXBvcnQgeyB3aXRoTG9hZGluZ1NwcGluZXIgfSBmcm9tICcuLi9TdXNwZW5zZVV0aWxzJztcblxuZnVuY3Rpb24gUGFnZVByZXZpZXcocHJvcHMpIHtcbiAgaWYgKHByb3BzLm1hcmtkb3duID09PSAnJykge1xuICAgIGlmIChwcm9wcy5lcnJvciAhPT0gJycpIHtcbiAgICAgIHJldHVybiBwcm9wcy5lcnJvcjtcbiAgICB9XG4gICAgdGhyb3cgKGFzeW5jKCkgPT4ge1xuICAgICAgYXdhaXQgcHJvcHMuc2V0TWFya2Rvd24oKTtcbiAgICB9KSgpO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImxpbmtlZGl0LXByZXZpZXdcIj5cbiAgICAgIDxQcmV2aWV3IG1hcmtkb3duPXtwcm9wcy5tYXJrZG93bn0gLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuUGFnZVByZXZpZXcucHJvcFR5cGVzID0ge1xuICBzZXRNYXJrZG93bjogUHJvcFR5cGVzLmZ1bmMsXG4gIG1hcmtkb3duOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBlcnJvcjogUHJvcFR5cGVzLnN0cmluZyxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhMb2FkaW5nU3BwaW5lcihQYWdlUHJldmlldyk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSEE7QUFNQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/PageEditor/PreviewWithSuspense.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageEditor/ScrollSyncHelper.js":
- /*!*****************************************************************!*\
- !*** ./src/client/js/components/PageEditor/ScrollSyncHelper.js ***!
- \*****************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/**\n * This class is copied from Microsoft/vscode repository\n * @see https://github.com/Microsoft/vscode/blob/0532a3429a18688a0c086a4212e7e5b4888b2a48/extensions/markdown/media/main.js\n */\nclass ScrollSyncHelper {\n /**\n * @typedef {{ element: Element, line: number }} CodeLineElement\n */\n getCodeLineElements(parentElement) {\n /** @type {CodeLineElement[]} */\n let elements;\n\n if (!elements) {\n elements = Array.prototype.map.call(parentElement.getElementsByClassName('code-line'), element => {\n const line = +element.getAttribute('data-line');\n return {\n element,\n line\n };\n }).filter(x => {\n return !Number.isNaN(x.line);\n });\n }\n\n return elements;\n }\n /**\n * Find the html elements that map to a specific target line in the editor.\n *\n * If an exact match, returns a single element. If the line is between elements,\n * returns the element prior to and the element after the given line.\n *\n * @param {Element} element\n * @param {number} targetLine\n *\n * @returns {{ previous: CodeLineElement, next?: CodeLineElement }}\n */\n\n\n getElementsForSourceLine(element, targetLine) {\n const lines = this.getCodeLineElements(element);\n let previous = lines[0] || null;\n\n for (const entry of lines) {\n if (entry.line === targetLine) {\n return {\n previous: entry,\n next: null\n };\n }\n\n if (entry.line > targetLine) {\n return {\n previous,\n next: entry\n };\n }\n\n previous = entry;\n }\n\n return {\n previous\n };\n }\n /**\n * Find the html elements that are at a specific pixel offset on the page.\n *\n * @param {Element} parentElement\n * @param {number} offset\n *\n * @returns {{ previous: CodeLineElement, next?: CodeLineElement }}\n */\n\n\n getLineElementsAtPageOffset(parentElement, offset) {\n const lines = this.getCodeLineElements(parentElement);\n const position = offset - parentElement.scrollTop + this.getParentElementOffset(parentElement);\n let lo = -1;\n let hi = lines.length - 1;\n\n while (lo + 1 < hi) {\n const mid = Math.floor((lo + hi) / 2);\n const bounds = lines[mid].element.getBoundingClientRect();\n\n if (bounds.top + bounds.height >= position) {\n hi = mid;\n } else {\n lo = mid;\n }\n }\n\n const hiElement = lines[hi];\n\n if (hi >= 1 && hiElement.element.getBoundingClientRect().top > position) {\n const loElement = lines[lo];\n const bounds = loElement.element.getBoundingClientRect();\n const previous = {\n element: loElement.element,\n line: loElement.line\n };\n\n if (bounds.height > 0) {\n previous.line += (position - bounds.top) / bounds.height;\n }\n\n const next = {\n element: hiElement.element,\n line: hiElement.line,\n fractional: 0\n };\n return {\n previous,\n next\n };\n }\n\n const bounds = hiElement.element.getBoundingClientRect();\n const previous = {\n element: hiElement.element,\n line: hiElement.line + (position - bounds.top) / bounds.height\n };\n return {\n previous\n };\n }\n\n getEditorLineNumberForPageOffset(parentElement, offset) {\n const {\n previous,\n next\n } = this.getLineElementsAtPageOffset(parentElement, offset);\n\n if (previous) {\n if (next) {\n const betweenProgress = (offset - parentElement.scrollTop - previous.element.getBoundingClientRect().top) / (next.element.getBoundingClientRect().top - previous.element.getBoundingClientRect().top);\n return previous.line + betweenProgress * (next.line - previous.line);\n }\n\n return previous.line;\n }\n\n return null;\n }\n /**\n * return the sum of the offset position of parent element and paddingTop\n * @param {Element} parentElement\n */\n\n\n getParentElementOffset(parentElement) {\n const offsetY = parentElement.getBoundingClientRect().top; // get paddingTop\n\n const style = window.getComputedStyle(parentElement, null);\n const paddingTop = +style.paddingTop.replace('px', '');\n return offsetY + paddingTop;\n }\n /**\n * Attempt to scroll preview element for a source line in the editor.\n *\n * @param {Element} previewElement\n * @param {number} line\n */\n\n\n scrollPreview(previewElement, line) {\n const {\n previous,\n next\n } = this.getElementsForSourceLine(previewElement, line);\n\n if (previous) {\n let scrollTo = 0;\n\n if (next) {\n // Between two elements. Go to percentage offset between them.\n const betweenProgress = (line - previous.line) / (next.line - previous.line);\n const elementOffset = next.element.getBoundingClientRect().top - previous.element.getBoundingClientRect().top;\n scrollTo = previous.element.getBoundingClientRect().top + betweenProgress * elementOffset;\n } else {\n scrollTo = previous.element.getBoundingClientRect().top;\n }\n\n scrollTo -= this.getParentElementOffset(previewElement);\n previewElement.scrollTop += scrollTo;\n }\n }\n /**\n * Attempt to reveal the element that is overflowing from previewElement.\n *\n * @param {Element} previewElement\n * @param {number} line\n */\n\n\n scrollPreviewToRevealOverflowing(previewElement, line) {\n // eslint-disable-next-line no-unused-vars\n const {\n previous,\n next\n } = this.getElementsForSourceLine(previewElement, line);\n\n if (previous) {\n const parentElementOffset = this.getParentElementOffset(previewElement);\n const prevElmTop = previous.element.getBoundingClientRect().top - parentElementOffset;\n const prevElmBottom = previous.element.getBoundingClientRect().bottom - parentElementOffset;\n let scrollTo = null;\n\n if (prevElmTop < 0) {\n // set the top of 'previous.element' to the top of 'previewElement'\n scrollTo = previewElement.scrollTop + prevElmTop;\n } else if (prevElmBottom > previewElement.clientHeight) {\n // set the bottom of 'previous.element' to the bottom of 'previewElement'\n scrollTo = previewElement.scrollTop + prevElmBottom - previewElement.clientHeight + 20;\n }\n\n if (scrollTo == null) {\n return;\n }\n\n previewElement.scrollTop = scrollTo;\n }\n }\n /**\n * Attempt to scroll Editor component for the offset of the element in the Preview component.\n *\n * @param {Editor} editor\n * @param {Element} previewElement\n * @param {number} offset\n */\n\n\n scrollEditor(editor, previewElement, offset) {\n let line = this.getEditorLineNumberForPageOffset(previewElement, offset);\n line = Math.floor(line);\n editor.setScrollTopByLine(line);\n }\n\n} // singleton pattern\n\n\nconst instance = new ScrollSyncHelper();\nObject.freeze(instance);\n/* harmony default export */ __webpack_exports__[\"default\"] = (instance);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci9TY3JvbGxTeW5jSGVscGVyLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1BhZ2VFZGl0b3IvU2Nyb2xsU3luY0hlbHBlci5qcz82ZTIyIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhpcyBjbGFzcyBpcyBjb3BpZWQgZnJvbSBNaWNyb3NvZnQvdnNjb2RlIHJlcG9zaXRvcnlcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL01pY3Jvc29mdC92c2NvZGUvYmxvYi8wNTMyYTM0MjlhMTg2ODhhMGMwODZhNDIxMmU3ZTViNDg4OGIyYTQ4L2V4dGVuc2lvbnMvbWFya2Rvd24vbWVkaWEvbWFpbi5qc1xuICovXG5jbGFzcyBTY3JvbGxTeW5jSGVscGVyIHtcblxuICAvKipcbiAgICogQHR5cGVkZWYge3sgZWxlbWVudDogRWxlbWVudCwgbGluZTogbnVtYmVyIH19IENvZGVMaW5lRWxlbWVudFxuICAgKi9cblxuICBnZXRDb2RlTGluZUVsZW1lbnRzKHBhcmVudEVsZW1lbnQpIHtcbiAgICAvKiogQHR5cGUge0NvZGVMaW5lRWxlbWVudFtdfSAqL1xuICAgIGxldCBlbGVtZW50cztcbiAgICBpZiAoIWVsZW1lbnRzKSB7XG4gICAgICBlbGVtZW50cyA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChcbiAgICAgICAgcGFyZW50RWxlbWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdjb2RlLWxpbmUnKSxcbiAgICAgICAgKGVsZW1lbnQpID0+IHtcbiAgICAgICAgICBjb25zdCBsaW5lID0gK2VsZW1lbnQuZ2V0QXR0cmlidXRlKCdkYXRhLWxpbmUnKTtcbiAgICAgICAgICByZXR1cm4geyBlbGVtZW50LCBsaW5lIH07XG4gICAgICAgIH0sXG4gICAgICApXG4gICAgICAgIC5maWx0ZXIoKHgpID0+IHsgcmV0dXJuICFOdW1iZXIuaXNOYU4oeC5saW5lKSB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGVsZW1lbnRzO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmQgdGhlIGh0bWwgZWxlbWVudHMgdGhhdCBtYXAgdG8gYSBzcGVjaWZpYyB0YXJnZXQgbGluZSBpbiB0aGUgZWRpdG9yLlxuICAgKlxuICAgKiBJZiBhbiBleGFjdCBtYXRjaCwgcmV0dXJucyBhIHNpbmdsZSBlbGVtZW50LiBJZiB0aGUgbGluZSBpcyBiZXR3ZWVuIGVsZW1lbnRzLFxuICAgKiByZXR1cm5zIHRoZSBlbGVtZW50IHByaW9yIHRvIGFuZCB0aGUgZWxlbWVudCBhZnRlciB0aGUgZ2l2ZW4gbGluZS5cbiAgICpcbiAgICogQHBhcmFtIHtFbGVtZW50fSBlbGVtZW50XG4gICAqIEBwYXJhbSB7bnVtYmVyfSB0YXJnZXRMaW5lXG4gICAqXG4gICAqIEByZXR1cm5zIHt7IHByZXZpb3VzOiBDb2RlTGluZUVsZW1lbnQsIG5leHQ/OiBDb2RlTGluZUVsZW1lbnQgfX1cbiAgICovXG4gIGdldEVsZW1lbnRzRm9yU291cmNlTGluZShlbGVtZW50LCB0YXJnZXRMaW5lKSB7XG4gICAgY29uc3QgbGluZXMgPSB0aGlzLmdldENvZGVMaW5lRWxlbWVudHMoZWxlbWVudCk7XG4gICAgbGV0IHByZXZpb3VzID0gbGluZXNbMF0gfHwgbnVsbDtcbiAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGxpbmVzKSB7XG4gICAgICBpZiAoZW50cnkubGluZSA9PT0gdGFyZ2V0TGluZSkge1xuICAgICAgICByZXR1cm4geyBwcmV2aW91czogZW50cnksIG5leHQ6IG51bGwgfTtcbiAgICAgIH1cbiAgICAgIGlmIChlbnRyeS5saW5lID4gdGFyZ2V0TGluZSkge1xuICAgICAgICByZXR1cm4geyBwcmV2aW91cywgbmV4dDogZW50cnkgfTtcbiAgICAgIH1cbiAgICAgIHByZXZpb3VzID0gZW50cnk7XG4gICAgfVxuICAgIHJldHVybiB7IHByZXZpb3VzIH07XG4gIH1cblxuICAvKipcbiAgICogRmluZCB0aGUgaHRtbCBlbGVtZW50cyB0aGF0IGFyZSBhdCBhIHNwZWNpZmljIHBpeGVsIG9mZnNldCBvbiB0aGUgcGFnZS5cbiAgICpcbiAgICogQHBhcmFtIHtFbGVtZW50fSBwYXJlbnRFbGVtZW50XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvZmZzZXRcbiAgICpcbiAgICogQHJldHVybnMge3sgcHJldmlvdXM6IENvZGVMaW5lRWxlbWVudCwgbmV4dD86IENvZGVMaW5lRWxlbWVudCB9fVxuICAgKi9cbiAgZ2V0TGluZUVsZW1lbnRzQXRQYWdlT2Zmc2V0KHBhcmVudEVsZW1lbnQsIG9mZnNldCkge1xuICAgIGNvbnN0IGxpbmVzID0gdGhpcy5nZXRDb2RlTGluZUVsZW1lbnRzKHBhcmVudEVsZW1lbnQpO1xuXG4gICAgY29uc3QgcG9zaXRpb24gPSBvZmZzZXQgLSBwYXJlbnRFbGVtZW50LnNjcm9sbFRvcCArIHRoaXMuZ2V0UGFyZW50RWxlbWVudE9mZnNldChwYXJlbnRFbGVtZW50KTtcblxuICAgIGxldCBsbyA9IC0xO1xuICAgIGxldCBoaSA9IGxpbmVzLmxlbmd0aCAtIDE7XG4gICAgd2hpbGUgKGxvICsgMSA8IGhpKSB7XG4gICAgICBjb25zdCBtaWQgPSBNYXRoLmZsb29yKChsbyArIGhpKSAvIDIpO1xuICAgICAgY29uc3QgYm91bmRzID0gbGluZXNbbWlkXS5lbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgaWYgKGJvdW5kcy50b3AgKyBib3VuZHMuaGVpZ2h0ID49IHBvc2l0aW9uKSB7XG4gICAgICAgIGhpID0gbWlkO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIGxvID0gbWlkO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGhpRWxlbWVudCA9IGxpbmVzW2hpXTtcbiAgICBpZiAoaGkgPj0gMSAmJiBoaUVsZW1lbnQuZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgPiBwb3NpdGlvbikge1xuICAgICAgY29uc3QgbG9FbGVtZW50ID0gbGluZXNbbG9dO1xuICAgICAgY29uc3QgYm91bmRzID0gbG9FbGVtZW50LmVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBwcmV2aW91cyA9IHsgZWxlbWVudDogbG9FbGVtZW50LmVsZW1lbnQsIGxpbmU6IGxvRWxlbWVudC5saW5lIH07XG4gICAgICBpZiAoYm91bmRzLmhlaWdodCA+IDApIHtcbiAgICAgICAgcHJldmlvdXMubGluZSArPSAocG9zaXRpb24gLSBib3VuZHMudG9wKSAvIChib3VuZHMuaGVpZ2h0KTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG5leHQgPSB7IGVsZW1lbnQ6IGhpRWxlbWVudC5lbGVtZW50LCBsaW5lOiBoaUVsZW1lbnQubGluZSwgZnJhY3Rpb25hbDogMCB9O1xuICAgICAgcmV0dXJuIHsgcHJldmlvdXMsIG5leHQgfTtcbiAgICB9XG5cbiAgICBjb25zdCBib3VuZHMgPSBoaUVsZW1lbnQuZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBwcmV2aW91cyA9IHsgZWxlbWVudDogaGlFbGVtZW50LmVsZW1lbnQsIGxpbmU6IGhpRWxlbWVudC5saW5lICsgKHBvc2l0aW9uIC0gYm91bmRzLnRvcCkgLyAoYm91bmRzLmhlaWdodCkgfTtcbiAgICByZXR1cm4geyBwcmV2aW91cyB9O1xuICB9XG5cbiAgZ2V0RWRpdG9yTGluZU51bWJlckZvclBhZ2VPZmZzZXQocGFyZW50RWxlbWVudCwgb2Zmc2V0KSB7XG4gICAgY29uc3QgeyBwcmV2aW91cywgbmV4dCB9ID0gdGhpcy5nZXRMaW5lRWxlbWVudHNBdFBhZ2VPZmZzZXQocGFyZW50RWxlbWVudCwgb2Zmc2V0KTtcbiAgICBpZiAocHJldmlvdXMpIHtcbiAgICAgIGlmIChuZXh0KSB7XG4gICAgICAgIGNvbnN0IGJldHdlZW5Qcm9ncmVzcyA9IChcbiAgICAgICAgICBvZmZzZXQgLSBwYXJlbnRFbGVtZW50LnNjcm9sbFRvcCAtIHByZXZpb3VzLmVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wKVxuICAgICAgICAgIC8gKG5leHQuZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgLSBwcmV2aW91cy5lbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCk7XG4gICAgICAgIHJldHVybiBwcmV2aW91cy5saW5lICsgYmV0d2VlblByb2dyZXNzICogKG5leHQubGluZSAtIHByZXZpb3VzLmxpbmUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcHJldmlvdXMubGluZTtcblxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiByZXR1cm4gdGhlIHN1bSBvZiB0aGUgb2Zmc2V0IHBvc2l0aW9uIG9mIHBhcmVudCBlbGVtZW50IGFuZCBwYWRkaW5nVG9wXG4gICAqIEBwYXJhbSB7RWxlbWVudH0gcGFyZW50RWxlbWVudFxuICAgKi9cbiAgZ2V0UGFyZW50RWxlbWVudE9mZnNldChwYXJlbnRFbGVtZW50KSB7XG4gICAgY29uc3Qgb2Zmc2V0WSA9IHBhcmVudEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wO1xuICAgIC8vIGdldCBwYWRkaW5nVG9wXG4gICAgY29uc3Qgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShwYXJlbnRFbGVtZW50LCBudWxsKTtcbiAgICBjb25zdCBwYWRkaW5nVG9wID0gKyhzdHlsZS5wYWRkaW5nVG9wLnJlcGxhY2UoJ3B4JywgJycpKTtcblxuICAgIHJldHVybiBvZmZzZXRZICsgcGFkZGluZ1RvcDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRlbXB0IHRvIHNjcm9sbCBwcmV2aWV3IGVsZW1lbnQgZm9yIGEgc291cmNlIGxpbmUgaW4gdGhlIGVkaXRvci5cbiAgICpcbiAgICogQHBhcmFtIHtFbGVtZW50fSBwcmV2aWV3RWxlbWVudFxuICAgKiBAcGFyYW0ge251bWJlcn0gbGluZVxuICAgKi9cbiAgc2Nyb2xsUHJldmlldyhwcmV2aWV3RWxlbWVudCwgbGluZSkge1xuICAgIGNvbnN0IHsgcHJldmlvdXMsIG5leHQgfSA9IHRoaXMuZ2V0RWxlbWVudHNGb3JTb3VyY2VMaW5lKHByZXZpZXdFbGVtZW50LCBsaW5lKTtcbiAgICBpZiAocHJldmlvdXMpIHtcbiAgICAgIGxldCBzY3JvbGxUbyA9IDA7XG4gICAgICBpZiAobmV4dCkge1xuICAgICAgICAvLyBCZXR3ZWVuIHR3byBlbGVtZW50cy4gR28gdG8gcGVyY2VudGFnZSBvZmZzZXQgYmV0d2VlbiB0aGVtLlxuICAgICAgICBjb25zdCBiZXR3ZWVuUHJvZ3Jlc3MgPSAobGluZSAtIHByZXZpb3VzLmxpbmUpIC8gKG5leHQubGluZSAtIHByZXZpb3VzLmxpbmUpO1xuICAgICAgICBjb25zdCBlbGVtZW50T2Zmc2V0ID0gbmV4dC5lbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCAtIHByZXZpb3VzLmVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wO1xuICAgICAgICBzY3JvbGxUbyA9IHByZXZpb3VzLmVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgYmV0d2VlblByb2dyZXNzICogZWxlbWVudE9mZnNldDtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICBzY3JvbGxUbyA9IHByZXZpb3VzLmVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wO1xuICAgICAgfVxuXG4gICAgICBzY3JvbGxUbyAtPSB0aGlzLmdldFBhcmVudEVsZW1lbnRPZmZzZXQocHJldmlld0VsZW1lbnQpO1xuXG4gICAgICBwcmV2aWV3RWxlbWVudC5zY3JvbGxUb3AgKz0gc2Nyb2xsVG87XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEF0dGVtcHQgdG8gcmV2ZWFsIHRoZSBlbGVtZW50IHRoYXQgaXMgb3ZlcmZsb3dpbmcgZnJvbSBwcmV2aWV3RWxlbWVudC5cbiAgICpcbiAgICogQHBhcmFtIHtFbGVtZW50fSBwcmV2aWV3RWxlbWVudFxuICAgKiBAcGFyYW0ge251bWJlcn0gbGluZVxuICAgKi9cbiAgc2Nyb2xsUHJldmlld1RvUmV2ZWFsT3ZlcmZsb3dpbmcocHJldmlld0VsZW1lbnQsIGxpbmUpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICBjb25zdCB7IHByZXZpb3VzLCBuZXh0IH0gPSB0aGlzLmdldEVsZW1lbnRzRm9yU291cmNlTGluZShwcmV2aWV3RWxlbWVudCwgbGluZSk7XG4gICAgaWYgKHByZXZpb3VzKSB7XG4gICAgICBjb25zdCBwYXJlbnRFbGVtZW50T2Zmc2V0ID0gdGhpcy5nZXRQYXJlbnRFbGVtZW50T2Zmc2V0KHByZXZpZXdFbGVtZW50KTtcbiAgICAgIGNvbnN0IHByZXZFbG1Ub3AgPSBwcmV2aW91cy5lbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCAtIHBhcmVudEVsZW1lbnRPZmZzZXQ7XG4gICAgICBjb25zdCBwcmV2RWxtQm90dG9tID0gcHJldmlvdXMuZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5ib3R0b20gLSBwYXJlbnRFbGVtZW50T2Zmc2V0O1xuXG4gICAgICBsZXQgc2Nyb2xsVG8gPSBudWxsO1xuICAgICAgaWYgKHByZXZFbG1Ub3AgPCAwKSB7XG4gICAgICAgIC8vIHNldCB0aGUgdG9wIG9mICdwcmV2aW91cy5lbGVtZW50JyB0byB0aGUgdG9wIG9mICdwcmV2aWV3RWxlbWVudCdcbiAgICAgICAgc2Nyb2xsVG8gPSBwcmV2aWV3RWxlbWVudC5zY3JvbGxUb3AgKyBwcmV2RWxtVG9wO1xuICAgICAgfVxuICAgICAgZWxzZSBpZiAocHJldkVsbUJvdHRvbSA+IHByZXZpZXdFbGVtZW50LmNsaWVudEhlaWdodCkge1xuICAgICAgICAvLyBzZXQgdGhlIGJvdHRvbSBvZiAncHJldmlvdXMuZWxlbWVudCcgdG8gdGhlIGJvdHRvbSBvZiAncHJldmlld0VsZW1lbnQnXG4gICAgICAgIHNjcm9sbFRvID0gcHJldmlld0VsZW1lbnQuc2Nyb2xsVG9wICsgcHJldkVsbUJvdHRvbSAtIHByZXZpZXdFbGVtZW50LmNsaWVudEhlaWdodCArIDIwO1xuICAgICAgfVxuXG4gICAgICBpZiAoc2Nyb2xsVG8gPT0gbnVsbCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHByZXZpZXdFbGVtZW50LnNjcm9sbFRvcCA9IHNjcm9sbFRvO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRlbXB0IHRvIHNjcm9sbCBFZGl0b3IgY29tcG9uZW50IGZvciB0aGUgb2Zmc2V0IG9mIHRoZSBlbGVtZW50IGluIHRoZSBQcmV2aWV3IGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIHtFZGl0b3J9IGVkaXRvclxuICAgKiBAcGFyYW0ge0VsZW1lbnR9IHByZXZpZXdFbGVtZW50XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvZmZzZXRcbiAgICovXG4gIHNjcm9sbEVkaXRvcihlZGl0b3IsIHByZXZpZXdFbGVtZW50LCBvZmZzZXQpIHtcbiAgICBsZXQgbGluZSA9IHRoaXMuZ2V0RWRpdG9yTGluZU51bWJlckZvclBhZ2VPZmZzZXQocHJldmlld0VsZW1lbnQsIG9mZnNldCk7XG4gICAgbGluZSA9IE1hdGguZmxvb3IobGluZSk7XG4gICAgZWRpdG9yLnNldFNjcm9sbFRvcEJ5TGluZShsaW5lKTtcbiAgfVxuXG59XG5cbi8vIHNpbmdsZXRvbiBwYXR0ZXJuXG5jb25zdCBpbnN0YW5jZSA9IG5ldyBTY3JvbGxTeW5jSGVscGVyKCk7XG5PYmplY3QuZnJlZXplKGluc3RhbmNlKTtcbmV4cG9ydCBkZWZhdWx0IGluc3RhbmNlO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBOzs7O0FBSUE7QUFFQTs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7Ozs7Ozs7Ozs7Ozs7QUFXQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRUE7Ozs7Ozs7Ozs7QUFRQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFFQTs7Ozs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTs7Ozs7Ozs7QUFNQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBOzs7Ozs7OztBQU1BO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7Ozs7OztBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTlMQTtBQUNBO0FBQ0E7QUFnTUE7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/PageEditor/ScrollSyncHelper.js\n");
- /***/ }),
- /***/ "./src/client/js/components/PageEditor/SimpleCheatsheet.jsx":
- /*!******************************************************************!*\
- !*** ./src/client/js/components/PageEditor/SimpleCheatsheet.jsx ***!
- \******************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n\n\n\n\nclass SimpleCheatsheet extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n render() {\n const {\n t\n } = this.props;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"card bg-default gfm-cheatsheet mb-0\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"card-body small p-b-0\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"row\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-sm-6\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", null, \"# \", t('sandbox.header_x', {\n index: '1'\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"br\", null), \"## \", t('sandbox.header_x', {\n index: '2'\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", null, \"*\", t('sandbox.italics'), \"*\"), \"\\xA0\\xA0\", react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"b\", null, \"**\", t('sandbox.bold'), \"**\")), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", null, \"[\", t('sandbox.link'), \"](http://..)\", react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"br\", null), \"[/Page1/ChildPage1]\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", null, \"```javascript:index.js\", react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"br\", null), \"writeCode();\", react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"br\", null), \"```\")), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-sm-6\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", null, \"- \", t('sandbox.unordered_list_x', {\n index: '1'\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"br\", null), \"\\xA0\\xA0\\xA0- \", t('sandbox.unordered_list_x', {\n index: '1.1'\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"br\", null), \"- \", t('sandbox.unordered_list_x', {\n index: '2'\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"br\", null), \"1. \", t('sandbox.ordered_list_x', {\n index: '1'\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"br\", null), \"1. \", t('sandbox.ordered_list_x', {\n index: '2'\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"hr\", null), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", null, \"[ ][ ] \", t('sandbox.block_detail'))))));\n }\n\n}\n\nSimpleCheatsheet.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired // i18next\n\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(SimpleCheatsheet));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci9TaW1wbGVDaGVhdHNoZWV0LmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9QYWdlRWRpdG9yL1NpbXBsZUNoZWF0c2hlZXQuanN4P2E5MTMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyB3aXRoVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcblxuY2xhc3MgU2ltcGxlQ2hlYXRzaGVldCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImNhcmQgYmctZGVmYXVsdCBnZm0tY2hlYXRzaGVldCBtYi0wXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY2FyZC1ib2R5IHNtYWxsIHAtYi0wXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLXNtLTZcIj5cbiAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgIyB7dCgnc2FuZGJveC5oZWFkZXJfeCcsIHsgaW5kZXg6ICcxJyB9KX08YnIgLz5cbiAgICAgICAgICAgICAgICAjIyB7dCgnc2FuZGJveC5oZWFkZXJfeCcsIHsgaW5kZXg6ICcyJyB9KX1cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICA8cD48aT4qe3QoJ3NhbmRib3guaXRhbGljcycpfSo8L2k+Jm5ic3A7Jm5ic3A7PGI+Kip7dCgnc2FuZGJveC5ib2xkJyl9Kio8L2I+PC9wPlxuICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICBbe3QoJ3NhbmRib3gubGluaycpfV0oaHR0cDovLy4uKTxiciAvPlxuICAgICAgICAgICAgICAgIFsvUGFnZTEvQ2hpbGRQYWdlMV1cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICBgYGBqYXZhc2NyaXB0OmluZGV4LmpzPGJyIC8+XG4gICAgICAgICAgICAgICAgd3JpdGVDb2RlKCk7PGJyIC8+XG4gICAgICAgICAgICAgICAgYGBgXG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtc20tNlwiPlxuICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAtIHt0KCdzYW5kYm94LnVub3JkZXJlZF9saXN0X3gnLCB7IGluZGV4OiAnMScgfSl9PGJyIC8+XG4gICAgICAgICAgICAgICAgJm5ic3A7Jm5ic3A7Jm5ic3A7LSB7dCgnc2FuZGJveC51bm9yZGVyZWRfbGlzdF94JywgeyBpbmRleDogJzEuMScgfSl9PGJyIC8+XG4gICAgICAgICAgICAgICAgLSB7dCgnc2FuZGJveC51bm9yZGVyZWRfbGlzdF94JywgeyBpbmRleDogJzInIH0pfTxiciAvPlxuICAgICAgICAgICAgICAgIDEuIHt0KCdzYW5kYm94Lm9yZGVyZWRfbGlzdF94JywgeyBpbmRleDogJzEnIH0pfTxiciAvPlxuICAgICAgICAgICAgICAgIDEuIHt0KCdzYW5kYm94Lm9yZGVyZWRfbGlzdF94JywgeyBpbmRleDogJzInIH0pfVxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgIDxociAvPlxuICAgICAgICAgICAgICA8cD5bIF1bIF0ge3QoJ3NhbmRib3guYmxvY2tfZGV0YWlsJyl9PC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuXG59XG5cblNpbXBsZUNoZWF0c2hlZXQucHJvcFR5cGVzID0ge1xuICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLCAvLyBpMThuZXh0XG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoVHJhbnNsYXRpb24oKShTaW1wbGVDaGVhdHNoZWV0KTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFhQTtBQUFBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFTQTtBQUNBO0FBekNBO0FBQ0E7QUEyQ0E7QUFDQTtBQUNBO0FBRkE7QUFJQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/PageEditor/SimpleCheatsheet.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageEditor/TextAreaEditor.jsx":
- /*!****************************************************************!*\
- !*** ./src/client/js/components/PageEditor/TextAreaEditor.jsx ***!
- \****************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return TextAreaEditor; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _commons_service_interceptor_manager__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @commons/service/interceptor-manager */ \"./src/lib/service/interceptor-manager.js\");\n/* harmony import */ var _commons_service_interceptor_manager__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_commons_service_interceptor_manager__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var reactstrap_es_Input__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! reactstrap/es/Input */ \"./node_modules/reactstrap/es/Input.js\");\n/* harmony import */ var _AbstractEditor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./AbstractEditor */ \"./src/client/js/components/PageEditor/AbstractEditor.jsx\");\n/* harmony import */ var _PasteHelper__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./PasteHelper */ \"./src/client/js/components/PageEditor/PasteHelper.js\");\n/* harmony import */ var _MarkdownListUtil__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./MarkdownListUtil */ \"./src/client/js/components/PageEditor/MarkdownListUtil.js\");\n/* harmony import */ var _PreventMarkdownListInterceptor__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./PreventMarkdownListInterceptor */ \"./src/client/js/components/PageEditor/PreventMarkdownListInterceptor.js\");\n // import PropTypes from 'prop-types';\n\n\n\n\n\n\n\nclass TextAreaEditor extends _AbstractEditor__WEBPACK_IMPORTED_MODULE_3__[\"default\"] {\n constructor(props) {\n super(props);\n this.logger = __webpack_require__(/*! @alias/logger */ \"./src/lib/service/logger/index.js\")('growi:PageEditor:TextAreaEditor');\n this.state = {\n value: this.props.value,\n isGfmMode: this.props.isGfmMode\n };\n this.textarea = react__WEBPACK_IMPORTED_MODULE_0___default.a.createRef();\n this.init();\n this.handleEnterKey = this.handleEnterKey.bind(this);\n this.keyPressHandler = this.keyPressHandler.bind(this);\n this.pasteHandler = this.pasteHandler.bind(this);\n this.dragEnterHandler = this.dragEnterHandler.bind(this);\n }\n\n init() {\n this.interceptorManager = new _commons_service_interceptor_manager__WEBPACK_IMPORTED_MODULE_1___default.a();\n this.interceptorManager.addInterceptors([new _PreventMarkdownListInterceptor__WEBPACK_IMPORTED_MODULE_6__[\"default\"]()]);\n }\n\n componentDidMount() {\n // initialize caret line\n this.setCaretLine(0); // set event handlers\n\n this.textarea.addEventListener('keypress', this.keyPressHandler);\n this.textarea.addEventListener('paste', this.pasteHandler);\n this.textarea.addEventListener('dragenter', this.dragEnterHandler);\n }\n /**\n * @inheritDoc\n */\n\n\n forceToFocus() {\n setTimeout(() => {\n this.textarea.focus();\n }, 150);\n }\n /**\n * @inheritDoc\n */\n\n\n setValue(newValue) {\n this.setState({\n value: newValue\n });\n this.textarea.value = newValue;\n }\n /**\n * @inheritDoc\n */\n\n\n setGfmMode(bool) {\n this.setState({\n isGfmMode: bool\n });\n }\n /**\n * @inheritDoc\n */\n\n\n setCaretLine(line) {\n if (Number.isNaN(line)) {\n return;\n } // scroll to bottom\n\n\n this.textarea.scrollTop = this.textarea.scrollHeight;\n const lines = this.textarea.value.split('\\n').slice(0, line + 1);\n /* eslint-disable no-param-reassign, no-return-assign */\n\n const pos = lines.map(lineStr => {\n return lineStr.length + 1;\n }) // correct length+1 of each lines\n .reduce((a, x) => {\n return a += x;\n }, 0) // sum\n - 1; // -1\n\n /* eslint-enable no-param-reassign, no-return-assign */\n\n this.textarea.setSelectionRange(pos, pos);\n }\n /**\n * @inheritDoc\n */\n\n\n setScrollTopByLine(line) {} // do nothing\n\n /**\n * @inheritDoc\n */\n\n\n insertText(text) {\n const startPos = this.textarea.selectionStart;\n const endPos = this.textarea.selectionEnd;\n this.replaceValue(text, startPos, endPos);\n }\n /**\n * @inheritDoc\n */\n\n\n getStrFromBol() {\n const currentPos = this.textarea.selectionStart;\n return this.textarea.value.substring(this.getBolPos(), currentPos);\n }\n /**\n * @inheritDoc\n */\n\n\n getStrToEol() {\n const currentPos = this.textarea.selectionStart;\n return this.textarea.value.substring(currentPos, this.getEolPos());\n }\n /**\n * @inheritDoc\n */\n\n\n getStrFromBolToSelectedUpperPos() {\n const startPos = this.textarea.selectionStart;\n const endPos = this.textarea.selectionEnd;\n const upperPos = startPos < endPos ? startPos : endPos;\n return this.textarea.value.substring(this.getBolPos(), upperPos);\n }\n /**\n * @inheritDoc\n */\n\n\n replaceBolToCurrentPos(text) {\n const startPos = this.textarea.selectionStart;\n const endPos = this.textarea.selectionEnd;\n const lowerPos = startPos < endPos ? endPos : startPos;\n this.replaceValue(text, this.getBolPos(), lowerPos);\n }\n /**\n * @inheritDoc\n */\n\n\n replaceLine(text) {\n this.replaceValue(text, this.getBolPos(), this.getEolPos());\n }\n\n getBolPos() {\n const currentPos = this.textarea.selectionStart;\n return this.textarea.value.lastIndexOf('\\n', currentPos - 1) + 1;\n }\n\n getEolPos() {\n const currentPos = this.textarea.selectionStart;\n const pos = this.textarea.value.indexOf('\\n', currentPos);\n\n if (pos < 0) {\n // not found but EOF\n return this.textarea.value.length;\n }\n\n return pos;\n }\n\n replaceValue(text, startPos, endPos) {\n // create new value\n const value = this.textarea.value;\n const newValue = value.substring(0, startPos) + text + value.substring(endPos, value.length); // calculate new position\n\n const newPos = startPos + text.length;\n this.textarea.value = newValue;\n this.textarea.setSelectionRange(newPos, newPos);\n }\n /**\n * keypress event handler\n * @param {string} event\n */\n\n\n keyPressHandler(event) {\n const key = event.key.toLowerCase();\n\n if (key === 'enter') {\n if (event.ctrlKey || event.altKey || event.metaKey) {\n return;\n }\n\n this.handleEnterKey(event);\n }\n }\n /**\n * handle ENTER key\n * @param {string} event\n */\n\n\n handleEnterKey(event) {\n if (!this.state.isGfmMode) {\n return; // do nothing\n }\n\n const context = {\n handlers: [],\n // list of handlers which process enter key\n editor: this\n };\n const interceptorManager = this.interceptorManager;\n interceptorManager.process('preHandleEnter', context).then(() => {\n event.preventDefault();\n\n if (context.handlers.length === 0) {\n _MarkdownListUtil__WEBPACK_IMPORTED_MODULE_5__[\"default\"].newlineAndIndentContinueMarkdownList(this);\n }\n });\n }\n /**\n * paste event handler\n * @param {any} event\n */\n\n\n pasteHandler(event) {\n const types = event.clipboardData.types; // files\n\n if (types.includes('Files')) {\n event.preventDefault();\n this.dispatchPasteFiles(event);\n } // text\n else if (types.includes('text/plain')) {\n _PasteHelper__WEBPACK_IMPORTED_MODULE_4__[\"default\"].pasteText(this, event);\n }\n }\n\n dragEnterHandler(event) {\n this.dispatchDragEnter(event);\n }\n\n dispatchDragEnter(event) {\n if (this.props.onDragEnter != null) {\n this.props.onDragEnter(event);\n }\n }\n\n render() {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Input__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n type: \"textarea\",\n className: \"textarea-editor shadow-none\",\n innerRef: c => {\n this.textarea = c;\n },\n defaultValue: this.state.value,\n onChange: e => {\n if (this.props.onChange != null) {\n this.props.onChange(e.target.value);\n }\n }\n }));\n }\n\n}\nTextAreaEditor.propTypes = Object.assign({}, _AbstractEditor__WEBPACK_IMPORTED_MODULE_3__[\"default\"].propTypes);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci9UZXh0QXJlYUVkaXRvci5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvci9UZXh0QXJlYUVkaXRvci5qc3g/MzgwYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuLy8gaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuaW1wb3J0IEludGVyY2VwdG9yTWFuYWdlciBmcm9tICdAY29tbW9ucy9zZXJ2aWNlL2ludGVyY2VwdG9yLW1hbmFnZXInO1xuXG5pbXBvcnQgeyBJbnB1dCB9IGZyb20gJ3JlYWN0c3RyYXAnO1xuXG5pbXBvcnQgQWJzdHJhY3RFZGl0b3IgZnJvbSAnLi9BYnN0cmFjdEVkaXRvcic7XG5cbmltcG9ydCBwYXN0ZUhlbHBlciBmcm9tICcuL1Bhc3RlSGVscGVyJztcbmltcG9ydCBtbHUgZnJvbSAnLi9NYXJrZG93bkxpc3RVdGlsJztcblxuaW1wb3J0IFByZXZlbnRNYXJrZG93bkxpc3RJbnRlcmNlcHRvciBmcm9tICcuL1ByZXZlbnRNYXJrZG93bkxpc3RJbnRlcmNlcHRvcic7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFRleHRBcmVhRWRpdG9yIGV4dGVuZHMgQWJzdHJhY3RFZGl0b3Ige1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIHRoaXMubG9nZ2VyID0gcmVxdWlyZSgnQGFsaWFzL2xvZ2dlcicpKCdncm93aTpQYWdlRWRpdG9yOlRleHRBcmVhRWRpdG9yJyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgdmFsdWU6IHRoaXMucHJvcHMudmFsdWUsXG4gICAgICBpc0dmbU1vZGU6IHRoaXMucHJvcHMuaXNHZm1Nb2RlLFxuICAgIH07XG5cbiAgICB0aGlzLnRleHRhcmVhID0gUmVhY3QuY3JlYXRlUmVmKCk7XG5cbiAgICB0aGlzLmluaXQoKTtcblxuICAgIHRoaXMuaGFuZGxlRW50ZXJLZXkgPSB0aGlzLmhhbmRsZUVudGVyS2V5LmJpbmQodGhpcyk7XG5cbiAgICB0aGlzLmtleVByZXNzSGFuZGxlciA9IHRoaXMua2V5UHJlc3NIYW5kbGVyLmJpbmQodGhpcyk7XG4gICAgdGhpcy5wYXN0ZUhhbmRsZXIgPSB0aGlzLnBhc3RlSGFuZGxlci5iaW5kKHRoaXMpO1xuICAgIHRoaXMuZHJhZ0VudGVySGFuZGxlciA9IHRoaXMuZHJhZ0VudGVySGFuZGxlci5iaW5kKHRoaXMpO1xuICB9XG5cbiAgaW5pdCgpIHtcbiAgICB0aGlzLmludGVyY2VwdG9yTWFuYWdlciA9IG5ldyBJbnRlcmNlcHRvck1hbmFnZXIoKTtcbiAgICB0aGlzLmludGVyY2VwdG9yTWFuYWdlci5hZGRJbnRlcmNlcHRvcnMoW1xuICAgICAgbmV3IFByZXZlbnRNYXJrZG93bkxpc3RJbnRlcmNlcHRvcigpLFxuICAgIF0pO1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgLy8gaW5pdGlhbGl6ZSBjYXJldCBsaW5lXG4gICAgdGhpcy5zZXRDYXJldExpbmUoMCk7XG5cbiAgICAvLyBzZXQgZXZlbnQgaGFuZGxlcnNcbiAgICB0aGlzLnRleHRhcmVhLmFkZEV2ZW50TGlzdGVuZXIoJ2tleXByZXNzJywgdGhpcy5rZXlQcmVzc0hhbmRsZXIpO1xuICAgIHRoaXMudGV4dGFyZWEuYWRkRXZlbnRMaXN0ZW5lcigncGFzdGUnLCB0aGlzLnBhc3RlSGFuZGxlcik7XG4gICAgdGhpcy50ZXh0YXJlYS5hZGRFdmVudExpc3RlbmVyKCdkcmFnZW50ZXInLCB0aGlzLmRyYWdFbnRlckhhbmRsZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0RG9jXG4gICAqL1xuICBmb3JjZVRvRm9jdXMoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnRleHRhcmVhLmZvY3VzKCk7XG4gICAgfSwgMTUwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW5oZXJpdERvY1xuICAgKi9cbiAgc2V0VmFsdWUobmV3VmFsdWUpIHtcbiAgICB0aGlzLnNldFN0YXRlKHsgdmFsdWU6IG5ld1ZhbHVlIH0pO1xuICAgIHRoaXMudGV4dGFyZWEudmFsdWUgPSBuZXdWYWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW5oZXJpdERvY1xuICAgKi9cbiAgc2V0R2ZtTW9kZShib29sKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBpc0dmbU1vZGU6IGJvb2wsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXREb2NcbiAgICovXG4gIHNldENhcmV0TGluZShsaW5lKSB7XG4gICAgaWYgKE51bWJlci5pc05hTihsaW5lKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIHNjcm9sbCB0byBib3R0b21cbiAgICB0aGlzLnRleHRhcmVhLnNjcm9sbFRvcCA9IHRoaXMudGV4dGFyZWEuc2Nyb2xsSGVpZ2h0O1xuXG4gICAgY29uc3QgbGluZXMgPSB0aGlzLnRleHRhcmVhLnZhbHVlLnNwbGl0KCdcXG4nKS5zbGljZSgwLCBsaW5lICsgMSk7XG4gICAgLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24sIG5vLXJldHVybi1hc3NpZ24gKi9cbiAgICBjb25zdCBwb3MgPSBsaW5lc1xuICAgICAgLm1hcCgobGluZVN0cikgPT4geyByZXR1cm4gbGluZVN0ci5sZW5ndGggKyAxIH0pIC8vIGNvcnJlY3QgbGVuZ3RoKzEgb2YgZWFjaCBsaW5lc1xuICAgICAgLnJlZHVjZSgoYSwgeCkgPT4geyByZXR1cm4gYSArPSB4IH0sIDApIC8vICAgICAgICAgIHN1bVxuICAgICAgICAtIDE7IC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xXG4gICAgLyogZXNsaW50LWVuYWJsZSBuby1wYXJhbS1yZWFzc2lnbiwgbm8tcmV0dXJuLWFzc2lnbiAqL1xuXG4gICAgdGhpcy50ZXh0YXJlYS5zZXRTZWxlY3Rpb25SYW5nZShwb3MsIHBvcyk7XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXREb2NcbiAgICovXG4gIHNldFNjcm9sbFRvcEJ5TGluZShsaW5lKSB7XG4gICAgLy8gZG8gbm90aGluZ1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0RG9jXG4gICAqL1xuICBpbnNlcnRUZXh0KHRleHQpIHtcbiAgICBjb25zdCBzdGFydFBvcyA9IHRoaXMudGV4dGFyZWEuc2VsZWN0aW9uU3RhcnQ7XG4gICAgY29uc3QgZW5kUG9zID0gdGhpcy50ZXh0YXJlYS5zZWxlY3Rpb25FbmQ7XG4gICAgdGhpcy5yZXBsYWNlVmFsdWUodGV4dCwgc3RhcnRQb3MsIGVuZFBvcyk7XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXREb2NcbiAgICovXG4gIGdldFN0ckZyb21Cb2woKSB7XG4gICAgY29uc3QgY3VycmVudFBvcyA9IHRoaXMudGV4dGFyZWEuc2VsZWN0aW9uU3RhcnQ7XG4gICAgcmV0dXJuIHRoaXMudGV4dGFyZWEudmFsdWUuc3Vic3RyaW5nKHRoaXMuZ2V0Qm9sUG9zKCksIGN1cnJlbnRQb3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0RG9jXG4gICAqL1xuICBnZXRTdHJUb0VvbCgpIHtcbiAgICBjb25zdCBjdXJyZW50UG9zID0gdGhpcy50ZXh0YXJlYS5zZWxlY3Rpb25TdGFydDtcbiAgICByZXR1cm4gdGhpcy50ZXh0YXJlYS52YWx1ZS5zdWJzdHJpbmcoY3VycmVudFBvcywgdGhpcy5nZXRFb2xQb3MoKSk7XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXREb2NcbiAgICovXG4gIGdldFN0ckZyb21Cb2xUb1NlbGVjdGVkVXBwZXJQb3MoKSB7XG4gICAgY29uc3Qgc3RhcnRQb3MgPSB0aGlzLnRleHRhcmVhLnNlbGVjdGlvblN0YXJ0O1xuICAgIGNvbnN0IGVuZFBvcyA9IHRoaXMudGV4dGFyZWEuc2VsZWN0aW9uRW5kO1xuICAgIGNvbnN0IHVwcGVyUG9zID0gKHN0YXJ0UG9zIDwgZW5kUG9zKSA/IHN0YXJ0UG9zIDogZW5kUG9zO1xuICAgIHJldHVybiB0aGlzLnRleHRhcmVhLnZhbHVlLnN1YnN0cmluZyh0aGlzLmdldEJvbFBvcygpLCB1cHBlclBvcyk7XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXREb2NcbiAgICovXG4gIHJlcGxhY2VCb2xUb0N1cnJlbnRQb3ModGV4dCkge1xuICAgIGNvbnN0IHN0YXJ0UG9zID0gdGhpcy50ZXh0YXJlYS5zZWxlY3Rpb25TdGFydDtcbiAgICBjb25zdCBlbmRQb3MgPSB0aGlzLnRleHRhcmVhLnNlbGVjdGlvbkVuZDtcbiAgICBjb25zdCBsb3dlclBvcyA9IChzdGFydFBvcyA8IGVuZFBvcykgPyBlbmRQb3MgOiBzdGFydFBvcztcbiAgICB0aGlzLnJlcGxhY2VWYWx1ZSh0ZXh0LCB0aGlzLmdldEJvbFBvcygpLCBsb3dlclBvcyk7XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXREb2NcbiAgICovXG4gIHJlcGxhY2VMaW5lKHRleHQpIHtcbiAgICB0aGlzLnJlcGxhY2VWYWx1ZSh0ZXh0LCB0aGlzLmdldEJvbFBvcygpLCB0aGlzLmdldEVvbFBvcygpKTtcbiAgfVxuXG4gIGdldEJvbFBvcygpIHtcbiAgICBjb25zdCBjdXJyZW50UG9zID0gdGhpcy50ZXh0YXJlYS5zZWxlY3Rpb25TdGFydDtcbiAgICByZXR1cm4gdGhpcy50ZXh0YXJlYS52YWx1ZS5sYXN0SW5kZXhPZignXFxuJywgY3VycmVudFBvcyAtIDEpICsgMTtcbiAgfVxuXG4gIGdldEVvbFBvcygpIHtcbiAgICBjb25zdCBjdXJyZW50UG9zID0gdGhpcy50ZXh0YXJlYS5zZWxlY3Rpb25TdGFydDtcbiAgICBjb25zdCBwb3MgPSB0aGlzLnRleHRhcmVhLnZhbHVlLmluZGV4T2YoJ1xcbicsIGN1cnJlbnRQb3MpO1xuICAgIGlmIChwb3MgPCAwKSB7IC8vIG5vdCBmb3VuZCBidXQgRU9GXG4gICAgICByZXR1cm4gdGhpcy50ZXh0YXJlYS52YWx1ZS5sZW5ndGg7XG4gICAgfVxuICAgIHJldHVybiBwb3M7XG4gIH1cblxuICByZXBsYWNlVmFsdWUodGV4dCwgc3RhcnRQb3MsIGVuZFBvcykge1xuICAgIC8vIGNyZWF0ZSBuZXcgdmFsdWVcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudGV4dGFyZWEudmFsdWU7XG4gICAgY29uc3QgbmV3VmFsdWUgPSB2YWx1ZS5zdWJzdHJpbmcoMCwgc3RhcnRQb3MpICsgdGV4dCArIHZhbHVlLnN1YnN0cmluZyhlbmRQb3MsIHZhbHVlLmxlbmd0aCk7XG4gICAgLy8gY2FsY3VsYXRlIG5ldyBwb3NpdGlvblxuICAgIGNvbnN0IG5ld1BvcyA9IHN0YXJ0UG9zICsgdGV4dC5sZW5ndGg7XG5cbiAgICB0aGlzLnRleHRhcmVhLnZhbHVlID0gbmV3VmFsdWU7XG4gICAgdGhpcy50ZXh0YXJlYS5zZXRTZWxlY3Rpb25SYW5nZShuZXdQb3MsIG5ld1Bvcyk7XG4gIH1cblxuICAvKipcbiAgICoga2V5cHJlc3MgZXZlbnQgaGFuZGxlclxuICAgKiBAcGFyYW0ge3N0cmluZ30gZXZlbnRcbiAgICovXG4gIGtleVByZXNzSGFuZGxlcihldmVudCkge1xuICAgIGNvbnN0IGtleSA9IGV2ZW50LmtleS50b0xvd2VyQ2FzZSgpO1xuICAgIGlmIChrZXkgPT09ICdlbnRlcicpIHtcbiAgICAgIGlmIChldmVudC5jdHJsS2V5IHx8IGV2ZW50LmFsdEtleSB8fCBldmVudC5tZXRhS2V5KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5oYW5kbGVFbnRlcktleShldmVudCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIGhhbmRsZSBFTlRFUiBrZXlcbiAgICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50XG4gICAqL1xuICBoYW5kbGVFbnRlcktleShldmVudCkge1xuICAgIGlmICghdGhpcy5zdGF0ZS5pc0dmbU1vZGUpIHtcbiAgICAgIHJldHVybjsgLy8gZG8gbm90aGluZ1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnRleHQgPSB7XG4gICAgICBoYW5kbGVyczogW10sIC8vIGxpc3Qgb2YgaGFuZGxlcnMgd2hpY2ggcHJvY2VzcyBlbnRlciBrZXlcbiAgICAgIGVkaXRvcjogdGhpcyxcbiAgICB9O1xuXG4gICAgY29uc3QgaW50ZXJjZXB0b3JNYW5hZ2VyID0gdGhpcy5pbnRlcmNlcHRvck1hbmFnZXI7XG4gICAgaW50ZXJjZXB0b3JNYW5hZ2VyLnByb2Nlc3MoJ3ByZUhhbmRsZUVudGVyJywgY29udGV4dClcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgaWYgKGNvbnRleHQuaGFuZGxlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgbWx1Lm5ld2xpbmVBbmRJbmRlbnRDb250aW51ZU1hcmtkb3duTGlzdCh0aGlzKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogcGFzdGUgZXZlbnQgaGFuZGxlclxuICAgKiBAcGFyYW0ge2FueX0gZXZlbnRcbiAgICovXG4gIHBhc3RlSGFuZGxlcihldmVudCkge1xuICAgIGNvbnN0IHR5cGVzID0gZXZlbnQuY2xpcGJvYXJkRGF0YS50eXBlcztcblxuICAgIC8vIGZpbGVzXG4gICAgaWYgKHR5cGVzLmluY2x1ZGVzKCdGaWxlcycpKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5kaXNwYXRjaFBhc3RlRmlsZXMoZXZlbnQpO1xuICAgIH1cbiAgICAvLyB0ZXh0XG4gICAgZWxzZSBpZiAodHlwZXMuaW5jbHVkZXMoJ3RleHQvcGxhaW4nKSkge1xuICAgICAgcGFzdGVIZWxwZXIucGFzdGVUZXh0KHRoaXMsIGV2ZW50KTtcbiAgICB9XG4gIH1cblxuICBkcmFnRW50ZXJIYW5kbGVyKGV2ZW50KSB7XG4gICAgdGhpcy5kaXNwYXRjaERyYWdFbnRlcihldmVudCk7XG4gIH1cblxuICBkaXNwYXRjaERyYWdFbnRlcihldmVudCkge1xuICAgIGlmICh0aGlzLnByb3BzLm9uRHJhZ0VudGVyICE9IG51bGwpIHtcbiAgICAgIHRoaXMucHJvcHMub25EcmFnRW50ZXIoZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgICA8SW5wdXRcbiAgICAgICAgICB0eXBlPVwidGV4dGFyZWFcIlxuICAgICAgICAgIGNsYXNzTmFtZT1cInRleHRhcmVhLWVkaXRvciBzaGFkb3ctbm9uZVwiXG4gICAgICAgICAgaW5uZXJSZWY9eyhjKSA9PiB7IHRoaXMudGV4dGFyZWEgPSBjIH19XG4gICAgICAgICAgZGVmYXVsdFZhbHVlPXt0aGlzLnN0YXRlLnZhbHVlfVxuICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLnByb3BzLm9uQ2hhbmdlICE9IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMucHJvcHMub25DaGFuZ2UoZS50YXJnZXQudmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgKTtcbiAgfVxuXG59XG5cblRleHRBcmVhRWRpdG9yLnByb3BUeXBlcyA9IE9iamVjdC5hc3NpZ24oe1xufSwgQWJzdHJhY3RFZGl0b3IucHJvcFR5cGVzKTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTs7QUFJQTtBQUVBO0FBQ0E7QUFFQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRkE7QUFLQTtBQUVBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUNBO0FBREE7QUFHQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBREE7QUFFQTtBQUFBO0FBRkE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUdBOzs7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7Ozs7OztBQUlBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBRkE7QUFLQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7O0FBSUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVRBO0FBYUE7QUFDQTtBQS9QQTtBQWtRQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/PageEditor/TextAreaEditor.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageEditorByHackmd.jsx":
- /*!*********************************************************!*\
- !*** ./src/client/js/components/PageEditorByHackmd.jsx ***!
- \*********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @alias/logger */ \"./src/lib/service/logger/index.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_alias_logger__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n/* harmony import */ var _services_EditorContainer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../services/EditorContainer */ \"./src/client/js/services/EditorContainer.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _PageEditorByHackmd_HackmdEditor__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./PageEditorByHackmd/HackmdEditor */ \"./src/client/js/components/PageEditorByHackmd/HackmdEditor.jsx\");\n\n\n\n\n\n\n\n\n\nconst logger = _alias_logger__WEBPACK_IMPORTED_MODULE_2___default()('growi:PageEditorByHackmd');\n\nclass PageEditorByHackmd extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n this.state = {\n isInitialized: false,\n isInitializing: false,\n // for error\n hasError: false,\n errorMessage: '',\n errorReason: ''\n };\n this.getHackmdUri = this.getHackmdUri.bind(this);\n this.startToEdit = this.startToEdit.bind(this);\n this.resumeToEdit = this.resumeToEdit.bind(this);\n this.onSaveWithShortcut = this.onSaveWithShortcut.bind(this);\n this.hackmdEditorChangeHandler = this.hackmdEditorChangeHandler.bind(this);\n this.penpalErrorOccuredHandler = this.penpalErrorOccuredHandler.bind(this);\n }\n\n componentWillMount() {\n this.props.appContainer.registerComponentInstance('PageEditorByHackmd', this);\n }\n /**\n * return markdown document of HackMD\n * @return {Promise<string>}\n */\n\n\n getMarkdown() {\n const {\n t\n } = this.props;\n\n if (!this.state.isInitialized) {\n return Promise.reject(new Error(t('hackmd.not_initialized')));\n }\n\n return this.hackmdEditor.getValue();\n }\n /**\n * reset initialized status\n */\n\n\n reset() {\n this.setState({\n isInitialized: false\n });\n }\n\n getHackmdUri() {\n const envVars = this.props.appContainer.getConfig().env;\n return envVars.HACKMD_URI;\n }\n\n get isResume() {\n const {\n pageContainer\n } = this.props;\n const {\n pageIdOnHackmd,\n hasDraftOnHackmd,\n isHackmdDraftUpdatingInRealtime\n } = pageContainer.state;\n const isPageExistsOnHackmd = pageIdOnHackmd != null;\n return isPageExistsOnHackmd && hasDraftOnHackmd || isHackmdDraftUpdatingInRealtime;\n }\n /**\n * Start integration with HackMD\n */\n\n\n async startToEdit() {\n const {\n pageContainer\n } = this.props;\n const hackmdUri = this.getHackmdUri();\n\n if (hackmdUri == null) {\n // do nothing\n return;\n }\n\n this.setState({\n isInitialized: false,\n isInitializing: true\n });\n const params = {\n pageId: pageContainer.state.pageId\n };\n\n try {\n const res = await this.props.appContainer.apiPost('/hackmd.integrate', params);\n\n if (!res.ok) {\n throw new Error(res.error);\n }\n\n await pageContainer.setState({\n pageIdOnHackmd: res.pageIdOnHackmd,\n revisionIdHackmdSynced: res.revisionIdHackmdSynced\n });\n } catch (err) {\n pageContainer.showErrorToastr(err);\n this.setState({\n hasError: true,\n errorMessage: 'GROWI server failed to connect to HackMD.',\n errorReason: err.toString()\n });\n }\n\n this.setState({\n isInitialized: true,\n isInitializing: false\n });\n }\n /**\n * Start to edit w/o any api request\n */\n\n\n resumeToEdit() {\n this.setState({\n isInitialized: true\n });\n }\n /**\n * Reset draft\n */\n\n\n async discardChanges() {\n const {\n pageContainer\n } = this.props;\n const {\n pageId\n } = pageContainer.state;\n\n try {\n const res = await this.props.appContainer.apiPost('/hackmd.discard', {\n pageId\n });\n\n if (!res.ok) {\n throw new Error(res.error);\n }\n\n this.props.pageContainer.setState({\n isHackmdDraftUpdatingInRealtime: false,\n hasDraftOnHackmd: false,\n pageIdOnHackmd: res.pageIdOnHackmd,\n remoteRevisionId: res.revisionIdHackmdSynced,\n revisionIdHackmdSynced: res.revisionIdHackmdSynced\n });\n } catch (err) {\n logger.error(err);\n pageContainer.showErrorToastr(err);\n }\n }\n /**\n * save and update state of containers\n * @param {string} markdown\n */\n\n\n async onSaveWithShortcut(markdown) {\n const {\n pageContainer,\n editorContainer\n } = this.props;\n const optionsToSave = editorContainer.getCurrentOptionsToSave();\n\n try {\n // disable unsaved warning\n editorContainer.disableUnsavedWarning(); // eslint-disable-next-line no-unused-vars\n\n const {\n page,\n tags\n } = await pageContainer.save(markdown, optionsToSave);\n logger.debug('success to save');\n pageContainer.showSuccessToastr(); // update state of EditorContainer\n\n editorContainer.setState({\n tags\n });\n } catch (error) {\n logger.error('failed to save', error);\n pageContainer.showErrorToastr(error);\n }\n }\n /**\n * onChange event of HackmdEditor handler\n */\n\n\n async hackmdEditorChangeHandler(body) {\n const hackmdUri = this.getHackmdUri();\n const {\n pageContainer,\n editorContainer\n } = this.props;\n\n if (hackmdUri == null) {\n // do nothing\n return;\n } // do nothing if contents are same\n\n\n if (pageContainer.state.markdown === body) {\n return;\n } // enable unsaved warning\n\n\n editorContainer.enableUnsavedWarning();\n const params = {\n pageId: pageContainer.state.pageId\n };\n\n try {\n await this.props.appContainer.apiPost('/hackmd.saveOnHackmd', params);\n } catch (err) {\n logger.error(err);\n }\n }\n\n penpalErrorOccuredHandler(error) {\n const {\n pageContainer,\n t\n } = this.props;\n pageContainer.showErrorToastr(error);\n this.setState({\n hasError: true,\n errorMessage: t('hackmd.fail_to_connect'),\n errorReason: error.toString()\n });\n }\n\n renderPreInitContent() {\n const hackmdUri = this.getHackmdUri();\n const {\n pageContainer,\n t\n } = this.props;\n const {\n revisionId,\n revisionIdHackmdSynced,\n remoteRevisionId,\n pageId\n } = pageContainer.state;\n const isPageNotFound = pageId == null;\n let content;\n /*\n * HackMD is not setup\n */\n\n if (hackmdUri == null) {\n content = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"text-center hackmd-status-label\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"fa fa-file-text\"\n }), \" \", t('hackmd.not_set_up')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n dangerouslySetInnerHTML: {\n __html: t('hackmd.need_to_associate_with_growi_to_use_hackmd_refer_to_this')\n }\n }));\n }\n /*\n * used HackMD from NotFound Page\n */\n else if (isPageNotFound) {\n content = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"text-center\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"hackmd-status-label\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"fa fa-file-text mr-2\"\n }), t('hackmd.used_for_not_found')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n dangerouslySetInnerHTML: {\n __html: t('hackmd.need_to_make_page')\n }\n }));\n }\n /*\n * Resume to edit or discard changes\n */\n else if (this.isResume) {\n const isHackmdDocumentOutdated = revisionIdHackmdSynced !== remoteRevisionId;\n content = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"text-center hackmd-status-label\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"fa fa-file-text\"\n }), \" HackMD is READY!\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"text-center\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"strong\", null, t('hackmd.unsaved_draft'))), isHackmdDocumentOutdated && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"card border-warning\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"card-header bg-warning\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-info\"\n }), \" \", t('hackmd.draft_outdated')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"card-body text-center\"\n }, t('hackmd.based_on_revision'), \"\\xA0\", react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: `?revision=${revisionIdHackmdSynced}`\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"badge badge-secondary\"\n }, revisionIdHackmdSynced.substr(-8))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"text-center mt-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n className: \"btn btn-link btn-view-outdated-draft p-0\",\n type: \"button\",\n disabled: this.state.isInitializing,\n onClick: () => {\n return this.resumeToEdit();\n }\n }, t('hackmd.view_outdated_draft'))))), !isHackmdDocumentOutdated && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"text-center hackmd-resume-button-container mb-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n className: \"btn btn-success btn-lg waves-effect waves-light\",\n type: \"button\",\n disabled: this.state.isInitializing,\n onClick: () => {\n return this.resumeToEdit();\n }\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"btn-label\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-control-end\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"btn-text\"\n }, t('hackmd.resume_to_edit')))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"text-center hackmd-discard-button-container mb-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n className: \"btn btn-outline-secondary btn-lg waves-effect waves-light\",\n type: \"button\",\n onClick: () => {\n return this.discardChanges();\n }\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"btn-label\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-control-start\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"btn-text\"\n }, t('hackmd.discard_changes')))));\n }\n /*\n * Start to edit\n */\n else {\n const isRevisionOutdated = revisionId !== remoteRevisionId;\n content = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"text-muted text-center hackmd-status-label\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"fa fa-file-text\"\n }), \" HackMD is READY!\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"text-center hackmd-start-button-container mb-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n className: \"btn btn-info btn-lg waves-effect waves-light\",\n type: \"button\",\n disabled: isRevisionOutdated || this.state.isInitializing,\n onClick: () => {\n return this.startToEdit();\n }\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"btn-label\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-paper-plane\"\n })), t('hackmd.start_to_edit'))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"text-center\"\n }, t('hackmd.clone_page_content')));\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"hackmd-preinit d-flex justify-content-center align-items-center\"\n }, content);\n }\n\n render() {\n const hackmdUri = this.getHackmdUri();\n const {\n pageContainer,\n t\n } = this.props;\n const {\n markdown,\n pageIdOnHackmd\n } = pageContainer.state;\n let content;\n\n if (this.state.isInitialized) {\n content = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageEditorByHackmd_HackmdEditor__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n ref: c => {\n this.hackmdEditor = c;\n },\n hackmdUri: hackmdUri,\n pageIdOnHackmd: pageIdOnHackmd,\n initializationMarkdown: this.isResume ? null : markdown,\n onChange: this.hackmdEditorChangeHandler,\n onSaveWithShortcut: document => {\n this.onSaveWithShortcut(document);\n },\n onPenpalErrorOccured: this.penpalErrorOccuredHandler\n });\n } else {\n content = this.renderPreInitContent();\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"position-relative\"\n }, content, this.state.hasError && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"hackmd-error position-absolute d-flex flex-column justify-content-center align-items-center\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"bg-box p-5 text-center\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h2\", {\n className: \"text-warning\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-exclamation\"\n }), \" \", t('hackmd.integration_failed')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h4\", null, this.state.errorMessage), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"card well text-danger\"\n }, this.state.errorReason), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n dangerouslySetInnerHTML: {\n __html: t('hackmd.check_configuration')\n }\n }))));\n }\n\n}\n/**\n * Wrapper component for using unstated\n */\n\n\nconst PageEditorByHackmdWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_7__[\"withUnstatedContainers\"])(PageEditorByHackmd, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"], _services_PageContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _services_EditorContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"]]);\nPageEditorByHackmd.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]).isRequired,\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]).isRequired,\n editorContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_EditorContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"]).isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_3__[\"withTranslation\"])()(PageEditorByHackmdWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvckJ5SGFja21kLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9QYWdlRWRpdG9yQnlIYWNrbWQuanN4PzlmMmYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgbG9nZ2VyRmFjdG9yeSBmcm9tICdAYWxpYXMvbG9nZ2VyJztcblxuaW1wb3J0IHsgd2l0aFRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5cbmltcG9ydCBBcHBDb250YWluZXIgZnJvbSAnLi4vc2VydmljZXMvQXBwQ29udGFpbmVyJztcbmltcG9ydCBQYWdlQ29udGFpbmVyIGZyb20gJy4uL3NlcnZpY2VzL1BhZ2VDb250YWluZXInO1xuaW1wb3J0IEVkaXRvckNvbnRhaW5lciBmcm9tICcuLi9zZXJ2aWNlcy9FZGl0b3JDb250YWluZXInO1xuXG5pbXBvcnQgeyB3aXRoVW5zdGF0ZWRDb250YWluZXJzIH0gZnJvbSAnLi9VbnN0YXRlZFV0aWxzJztcbmltcG9ydCBIYWNrbWRFZGl0b3IgZnJvbSAnLi9QYWdlRWRpdG9yQnlIYWNrbWQvSGFja21kRWRpdG9yJztcblxuY29uc3QgbG9nZ2VyID0gbG9nZ2VyRmFjdG9yeSgnZ3Jvd2k6UGFnZUVkaXRvckJ5SGFja21kJyk7XG5cbmNsYXNzIFBhZ2VFZGl0b3JCeUhhY2ttZCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgaXNJbml0aWFsaXplZDogZmFsc2UsXG4gICAgICBpc0luaXRpYWxpemluZzogZmFsc2UsXG4gICAgICAvLyBmb3IgZXJyb3JcbiAgICAgIGhhc0Vycm9yOiBmYWxzZSxcbiAgICAgIGVycm9yTWVzc2FnZTogJycsXG4gICAgICBlcnJvclJlYXNvbjogJycsXG4gICAgfTtcblxuICAgIHRoaXMuZ2V0SGFja21kVXJpID0gdGhpcy5nZXRIYWNrbWRVcmkuYmluZCh0aGlzKTtcbiAgICB0aGlzLnN0YXJ0VG9FZGl0ID0gdGhpcy5zdGFydFRvRWRpdC5iaW5kKHRoaXMpO1xuICAgIHRoaXMucmVzdW1lVG9FZGl0ID0gdGhpcy5yZXN1bWVUb0VkaXQuYmluZCh0aGlzKTtcbiAgICB0aGlzLm9uU2F2ZVdpdGhTaG9ydGN1dCA9IHRoaXMub25TYXZlV2l0aFNob3J0Y3V0LmJpbmQodGhpcyk7XG4gICAgdGhpcy5oYWNrbWRFZGl0b3JDaGFuZ2VIYW5kbGVyID0gdGhpcy5oYWNrbWRFZGl0b3JDaGFuZ2VIYW5kbGVyLmJpbmQodGhpcyk7XG4gICAgdGhpcy5wZW5wYWxFcnJvck9jY3VyZWRIYW5kbGVyID0gdGhpcy5wZW5wYWxFcnJvck9jY3VyZWRIYW5kbGVyLmJpbmQodGhpcyk7XG4gIH1cblxuICBjb21wb25lbnRXaWxsTW91bnQoKSB7XG4gICAgdGhpcy5wcm9wcy5hcHBDb250YWluZXIucmVnaXN0ZXJDb21wb25lbnRJbnN0YW5jZSgnUGFnZUVkaXRvckJ5SGFja21kJywgdGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogcmV0dXJuIG1hcmtkb3duIGRvY3VtZW50IG9mIEhhY2tNRFxuICAgKiBAcmV0dXJuIHtQcm9taXNlPHN0cmluZz59XG4gICAqL1xuICBnZXRNYXJrZG93bigpIHtcbiAgICBjb25zdCB7IHQgfSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKCF0aGlzLnN0YXRlLmlzSW5pdGlhbGl6ZWQpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IodCgnaGFja21kLm5vdF9pbml0aWFsaXplZCcpKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaGFja21kRWRpdG9yLmdldFZhbHVlKCk7XG4gIH1cblxuICAvKipcbiAgICogcmVzZXQgaW5pdGlhbGl6ZWQgc3RhdHVzXG4gICAqL1xuICByZXNldCgpIHtcbiAgICB0aGlzLnNldFN0YXRlKHsgaXNJbml0aWFsaXplZDogZmFsc2UgfSk7XG4gIH1cblxuICBnZXRIYWNrbWRVcmkoKSB7XG4gICAgY29uc3QgZW52VmFycyA9IHRoaXMucHJvcHMuYXBwQ29udGFpbmVyLmdldENvbmZpZygpLmVudjtcbiAgICByZXR1cm4gZW52VmFycy5IQUNLTURfVVJJO1xuICB9XG5cbiAgZ2V0IGlzUmVzdW1lKCkge1xuICAgIGNvbnN0IHsgcGFnZUNvbnRhaW5lciB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7XG4gICAgICBwYWdlSWRPbkhhY2ttZCwgaGFzRHJhZnRPbkhhY2ttZCwgaXNIYWNrbWREcmFmdFVwZGF0aW5nSW5SZWFsdGltZSxcbiAgICB9ID0gcGFnZUNvbnRhaW5lci5zdGF0ZTtcblxuICAgIGNvbnN0IGlzUGFnZUV4aXN0c09uSGFja21kID0gKHBhZ2VJZE9uSGFja21kICE9IG51bGwpO1xuICAgIHJldHVybiAoaXNQYWdlRXhpc3RzT25IYWNrbWQgJiYgaGFzRHJhZnRPbkhhY2ttZCkgfHwgaXNIYWNrbWREcmFmdFVwZGF0aW5nSW5SZWFsdGltZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydCBpbnRlZ3JhdGlvbiB3aXRoIEhhY2tNRFxuICAgKi9cbiAgYXN5bmMgc3RhcnRUb0VkaXQoKSB7XG4gICAgY29uc3QgeyBwYWdlQ29udGFpbmVyIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGhhY2ttZFVyaSA9IHRoaXMuZ2V0SGFja21kVXJpKCk7XG5cbiAgICBpZiAoaGFja21kVXJpID09IG51bGwpIHtcbiAgICAgIC8vIGRvIG5vdGhpbmdcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIGlzSW5pdGlhbGl6ZWQ6IGZhbHNlLFxuICAgICAgaXNJbml0aWFsaXppbmc6IHRydWUsXG4gICAgfSk7XG5cbiAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICBwYWdlSWQ6IHBhZ2VDb250YWluZXIuc3RhdGUucGFnZUlkLFxuICAgIH07XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5wcm9wcy5hcHBDb250YWluZXIuYXBpUG9zdCgnL2hhY2ttZC5pbnRlZ3JhdGUnLCBwYXJhbXMpO1xuXG4gICAgICBpZiAoIXJlcy5vaykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IocmVzLmVycm9yKTtcbiAgICAgIH1cblxuICAgICAgYXdhaXQgcGFnZUNvbnRhaW5lci5zZXRTdGF0ZSh7XG4gICAgICAgIHBhZ2VJZE9uSGFja21kOiByZXMucGFnZUlkT25IYWNrbWQsXG4gICAgICAgIHJldmlzaW9uSWRIYWNrbWRTeW5jZWQ6IHJlcy5yZXZpc2lvbklkSGFja21kU3luY2VkLFxuICAgICAgfSk7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgIHBhZ2VDb250YWluZXIuc2hvd0Vycm9yVG9hc3RyKGVycik7XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBoYXNFcnJvcjogdHJ1ZSxcbiAgICAgICAgZXJyb3JNZXNzYWdlOiAnR1JPV0kgc2VydmVyIGZhaWxlZCB0byBjb25uZWN0IHRvIEhhY2tNRC4nLFxuICAgICAgICBlcnJvclJlYXNvbjogZXJyLnRvU3RyaW5nKCksXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIGlzSW5pdGlhbGl6ZWQ6IHRydWUsXG4gICAgICBpc0luaXRpYWxpemluZzogZmFsc2UsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogU3RhcnQgdG8gZWRpdCB3L28gYW55IGFwaSByZXF1ZXN0XG4gICAqL1xuICByZXN1bWVUb0VkaXQoKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IGlzSW5pdGlhbGl6ZWQ6IHRydWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXQgZHJhZnRcbiAgICovXG4gIGFzeW5jIGRpc2NhcmRDaGFuZ2VzKCkge1xuICAgIGNvbnN0IHsgcGFnZUNvbnRhaW5lciB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHBhZ2VJZCB9ID0gcGFnZUNvbnRhaW5lci5zdGF0ZTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnByb3BzLmFwcENvbnRhaW5lci5hcGlQb3N0KCcvaGFja21kLmRpc2NhcmQnLCB7IHBhZ2VJZCB9KTtcblxuICAgICAgaWYgKCFyZXMub2spIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKHJlcy5lcnJvcik7XG4gICAgICB9XG5cbiAgICAgIHRoaXMucHJvcHMucGFnZUNvbnRhaW5lci5zZXRTdGF0ZSh7XG4gICAgICAgIGlzSGFja21kRHJhZnRVcGRhdGluZ0luUmVhbHRpbWU6IGZhbHNlLFxuICAgICAgICBoYXNEcmFmdE9uSGFja21kOiBmYWxzZSxcbiAgICAgICAgcGFnZUlkT25IYWNrbWQ6IHJlcy5wYWdlSWRPbkhhY2ttZCxcbiAgICAgICAgcmVtb3RlUmV2aXNpb25JZDogcmVzLnJldmlzaW9uSWRIYWNrbWRTeW5jZWQsXG4gICAgICAgIHJldmlzaW9uSWRIYWNrbWRTeW5jZWQ6IHJlcy5yZXZpc2lvbklkSGFja21kU3luY2VkLFxuICAgICAgfSk7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgIGxvZ2dlci5lcnJvcihlcnIpO1xuICAgICAgcGFnZUNvbnRhaW5lci5zaG93RXJyb3JUb2FzdHIoZXJyKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogc2F2ZSBhbmQgdXBkYXRlIHN0YXRlIG9mIGNvbnRhaW5lcnNcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1hcmtkb3duXG4gICAqL1xuICBhc3luYyBvblNhdmVXaXRoU2hvcnRjdXQobWFya2Rvd24pIHtcbiAgICBjb25zdCB7IHBhZ2VDb250YWluZXIsIGVkaXRvckNvbnRhaW5lciB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBvcHRpb25zVG9TYXZlID0gZWRpdG9yQ29udGFpbmVyLmdldEN1cnJlbnRPcHRpb25zVG9TYXZlKCk7XG5cbiAgICB0cnkge1xuICAgICAgLy8gZGlzYWJsZSB1bnNhdmVkIHdhcm5pbmdcbiAgICAgIGVkaXRvckNvbnRhaW5lci5kaXNhYmxlVW5zYXZlZFdhcm5pbmcoKTtcblxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXG4gICAgICBjb25zdCB7IHBhZ2UsIHRhZ3MgfSA9IGF3YWl0IHBhZ2VDb250YWluZXIuc2F2ZShtYXJrZG93biwgb3B0aW9uc1RvU2F2ZSk7XG4gICAgICBsb2dnZXIuZGVidWcoJ3N1Y2Nlc3MgdG8gc2F2ZScpO1xuXG4gICAgICBwYWdlQ29udGFpbmVyLnNob3dTdWNjZXNzVG9hc3RyKCk7XG5cbiAgICAgIC8vIHVwZGF0ZSBzdGF0ZSBvZiBFZGl0b3JDb250YWluZXJcbiAgICAgIGVkaXRvckNvbnRhaW5lci5zZXRTdGF0ZSh7IHRhZ3MgfSk7XG4gICAgfVxuICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgbG9nZ2VyLmVycm9yKCdmYWlsZWQgdG8gc2F2ZScsIGVycm9yKTtcbiAgICAgIHBhZ2VDb250YWluZXIuc2hvd0Vycm9yVG9hc3RyKGVycm9yKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogb25DaGFuZ2UgZXZlbnQgb2YgSGFja21kRWRpdG9yIGhhbmRsZXJcbiAgICovXG4gIGFzeW5jIGhhY2ttZEVkaXRvckNoYW5nZUhhbmRsZXIoYm9keSkge1xuICAgIGNvbnN0IGhhY2ttZFVyaSA9IHRoaXMuZ2V0SGFja21kVXJpKCk7XG4gICAgY29uc3QgeyBwYWdlQ29udGFpbmVyLCBlZGl0b3JDb250YWluZXIgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoaGFja21kVXJpID09IG51bGwpIHtcbiAgICAgIC8vIGRvIG5vdGhpbmdcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBkbyBub3RoaW5nIGlmIGNvbnRlbnRzIGFyZSBzYW1lXG4gICAgaWYgKHBhZ2VDb250YWluZXIuc3RhdGUubWFya2Rvd24gPT09IGJvZHkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBlbmFibGUgdW5zYXZlZCB3YXJuaW5nXG4gICAgZWRpdG9yQ29udGFpbmVyLmVuYWJsZVVuc2F2ZWRXYXJuaW5nKCk7XG5cbiAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICBwYWdlSWQ6IHBhZ2VDb250YWluZXIuc3RhdGUucGFnZUlkLFxuICAgIH07XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMucHJvcHMuYXBwQ29udGFpbmVyLmFwaVBvc3QoJy9oYWNrbWQuc2F2ZU9uSGFja21kJywgcGFyYW1zKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgbG9nZ2VyLmVycm9yKGVycik7XG4gICAgfVxuICB9XG5cbiAgcGVucGFsRXJyb3JPY2N1cmVkSGFuZGxlcihlcnJvcikge1xuICAgIGNvbnN0IHsgcGFnZUNvbnRhaW5lciwgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHBhZ2VDb250YWluZXIuc2hvd0Vycm9yVG9hc3RyKGVycm9yKTtcblxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgaGFzRXJyb3I6IHRydWUsXG4gICAgICBlcnJvck1lc3NhZ2U6IHQoJ2hhY2ttZC5mYWlsX3RvX2Nvbm5lY3QnKSxcbiAgICAgIGVycm9yUmVhc29uOiBlcnJvci50b1N0cmluZygpLFxuICAgIH0pO1xuICB9XG5cbiAgcmVuZGVyUHJlSW5pdENvbnRlbnQoKSB7XG4gICAgY29uc3QgaGFja21kVXJpID0gdGhpcy5nZXRIYWNrbWRVcmkoKTtcbiAgICBjb25zdCB7IHBhZ2VDb250YWluZXIsIHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3Qge1xuICAgICAgcmV2aXNpb25JZCwgcmV2aXNpb25JZEhhY2ttZFN5bmNlZCwgcmVtb3RlUmV2aXNpb25JZCwgcGFnZUlkLFxuICAgIH0gPSBwYWdlQ29udGFpbmVyLnN0YXRlO1xuICAgIGNvbnN0IGlzUGFnZU5vdEZvdW5kID0gcGFnZUlkID09IG51bGw7XG5cbiAgICBsZXQgY29udGVudDtcblxuICAgIC8qXG4gICAgICogSGFja01EIGlzIG5vdCBzZXR1cFxuICAgICAqL1xuICAgIGlmIChoYWNrbWRVcmkgPT0gbnVsbCkge1xuICAgICAgY29udGVudCA9IChcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LWNlbnRlciBoYWNrbWQtc3RhdHVzLWxhYmVsXCI+PGkgY2xhc3NOYW1lPVwiZmEgZmEtZmlsZS10ZXh0XCI+PC9pPiB7IHQoJ2hhY2ttZC5ub3Rfc2V0X3VwJyl9PC9wPlxuICAgICAgICAgIHsvKiBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tZGFuZ2VyICovfVxuICAgICAgICAgIDxwIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7IF9faHRtbDogdCgnaGFja21kLm5lZWRfdG9fYXNzb2NpYXRlX3dpdGhfZ3Jvd2lfdG9fdXNlX2hhY2ttZF9yZWZlcl90b190aGlzJykgfX0gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cblxuICAgIC8qXG4gICAgKiB1c2VkIEhhY2tNRCBmcm9tIE5vdEZvdW5kIFBhZ2VcbiAgICAqL1xuICAgIGVsc2UgaWYgKGlzUGFnZU5vdEZvdW5kKSB7XG4gICAgICBjb250ZW50ID0gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtY2VudGVyXCI+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwiaGFja21kLXN0YXR1cy1sYWJlbFwiPlxuICAgICAgICAgICAgPGkgY2xhc3NOYW1lPVwiZmEgZmEtZmlsZS10ZXh0IG1yLTJcIiAvPlxuICAgICAgICAgICAgeyB0KCdoYWNrbWQudXNlZF9mb3Jfbm90X2ZvdW5kJykgfVxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICB7LyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L25vLWRhbmdlciAqL31cbiAgICAgICAgICA8cCBkYW5nZXJvdXNseVNldElubmVySFRNTD17eyBfX2h0bWw6IHQoJ2hhY2ttZC5uZWVkX3RvX21ha2VfcGFnZScpIH19IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG4gICAgLypcbiAgICAgKiBSZXN1bWUgdG8gZWRpdCBvciBkaXNjYXJkIGNoYW5nZXNcbiAgICAgKi9cbiAgICBlbHNlIGlmICh0aGlzLmlzUmVzdW1lKSB7XG4gICAgICBjb25zdCBpc0hhY2ttZERvY3VtZW50T3V0ZGF0ZWQgPSByZXZpc2lvbklkSGFja21kU3luY2VkICE9PSByZW1vdGVSZXZpc2lvbklkO1xuXG4gICAgICBjb250ZW50ID0gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtY2VudGVyIGhhY2ttZC1zdGF0dXMtbGFiZWxcIj48aSBjbGFzc05hbWU9XCJmYSBmYS1maWxlLXRleHRcIj48L2k+IEhhY2tNRCBpcyBSRUFEWSE8L3A+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1jZW50ZXJcIj48c3Ryb25nPnt0KCdoYWNrbWQudW5zYXZlZF9kcmFmdCcpfTwvc3Ryb25nPjwvcD5cblxuICAgICAgICAgIHsgaXNIYWNrbWREb2N1bWVudE91dGRhdGVkICYmIChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY2FyZCBib3JkZXItd2FybmluZ1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNhcmQtaGVhZGVyIGJnLXdhcm5pbmdcIj48aSBjbGFzc05hbWU9XCJpY29uLWZ3IGljb24taW5mb1wiPjwvaT4ge3QoJ2hhY2ttZC5kcmFmdF9vdXRkYXRlZCcpfTwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNhcmQtYm9keSB0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIHt0KCdoYWNrbWQuYmFzZWRfb25fcmV2aXNpb24nKX0mbmJzcDtcbiAgICAgICAgICAgICAgICA8YSBocmVmPXtgP3JldmlzaW9uPSR7cmV2aXNpb25JZEhhY2ttZFN5bmNlZH1gfT48c3BhbiBjbGFzc05hbWU9XCJiYWRnZSBiYWRnZS1zZWNvbmRhcnlcIj57cmV2aXNpb25JZEhhY2ttZFN5bmNlZC5zdWJzdHIoLTgpfTwvc3Bhbj48L2E+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtY2VudGVyIG10LTNcIj5cbiAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYnRuIGJ0bi1saW5rIGJ0bi12aWV3LW91dGRhdGVkLWRyYWZ0IHAtMFwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17dGhpcy5zdGF0ZS5pc0luaXRpYWxpemluZ31cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4geyByZXR1cm4gdGhpcy5yZXN1bWVUb0VkaXQoKSB9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7dCgnaGFja21kLnZpZXdfb3V0ZGF0ZWRfZHJhZnQnKX1cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICkgfVxuXG4gICAgICAgICAgeyAhaXNIYWNrbWREb2N1bWVudE91dGRhdGVkICYmIChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1jZW50ZXIgaGFja21kLXJlc3VtZS1idXR0b24tY29udGFpbmVyIG1iLTNcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImJ0biBidG4tc3VjY2VzcyBidG4tbGcgd2F2ZXMtZWZmZWN0IHdhdmVzLWxpZ2h0XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17dGhpcy5zdGF0ZS5pc0luaXRpYWxpemluZ31cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7IHJldHVybiB0aGlzLnJlc3VtZVRvRWRpdCgpIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJidG4tbGFiZWxcIj48aSBjbGFzc05hbWU9XCJpY29uLWZ3IGljb24tY29udHJvbC1lbmRcIj48L2k+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImJ0bi10ZXh0XCI+e3QoJ2hhY2ttZC5yZXN1bWVfdG9fZWRpdCcpfTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApIH1cblxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1jZW50ZXIgaGFja21kLWRpc2NhcmQtYnV0dG9uLWNvbnRhaW5lciBtYi0zXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnkgYnRuLWxnIHdhdmVzLWVmZmVjdCB3YXZlcy1saWdodFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7IHJldHVybiB0aGlzLmRpc2NhcmRDaGFuZ2VzKCkgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiYnRuLWxhYmVsXCI+PGkgY2xhc3NOYW1lPVwiaWNvbi1mdyBpY29uLWNvbnRyb2wtc3RhcnRcIj48L2k+PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJidG4tdGV4dFwiPnt0KCdoYWNrbWQuZGlzY2FyZF9jaGFuZ2VzJyl9PC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cbiAgICAvKlxuICAgICAqIFN0YXJ0IHRvIGVkaXRcbiAgICAgKi9cbiAgICBlbHNlIHtcbiAgICAgIGNvbnN0IGlzUmV2aXNpb25PdXRkYXRlZCA9IHJldmlzaW9uSWQgIT09IHJlbW90ZVJldmlzaW9uSWQ7XG5cbiAgICAgIGNvbnRlbnQgPSAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1tdXRlZCB0ZXh0LWNlbnRlciBoYWNrbWQtc3RhdHVzLWxhYmVsXCI+PGkgY2xhc3NOYW1lPVwiZmEgZmEtZmlsZS10ZXh0XCI+PC9pPiBIYWNrTUQgaXMgUkVBRFkhPC9wPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1jZW50ZXIgaGFja21kLXN0YXJ0LWJ1dHRvbi1jb250YWluZXIgbWItM1wiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJidG4gYnRuLWluZm8gYnRuLWxnIHdhdmVzLWVmZmVjdCB3YXZlcy1saWdodFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBkaXNhYmxlZD17aXNSZXZpc2lvbk91dGRhdGVkIHx8IHRoaXMuc3RhdGUuaXNJbml0aWFsaXppbmd9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHsgcmV0dXJuIHRoaXMuc3RhcnRUb0VkaXQoKSB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJidG4tbGFiZWxcIj48aSBjbGFzc05hbWU9XCJpY29uLWZ3IGljb24tcGFwZXItcGxhbmVcIj48L2k+PC9zcGFuPlxuICAgICAgICAgICAgICB7dCgnaGFja21kLnN0YXJ0X3RvX2VkaXQnKX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtY2VudGVyXCI+e3QoJ2hhY2ttZC5jbG9uZV9wYWdlX2NvbnRlbnQnKX08L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJoYWNrbWQtcHJlaW5pdCBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAge2NvbnRlbnR9XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IGhhY2ttZFVyaSA9IHRoaXMuZ2V0SGFja21kVXJpKCk7XG4gICAgY29uc3QgeyBwYWdlQ29udGFpbmVyLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHtcbiAgICAgIG1hcmtkb3duLCBwYWdlSWRPbkhhY2ttZCxcbiAgICB9ID0gcGFnZUNvbnRhaW5lci5zdGF0ZTtcblxuXG4gICAgbGV0IGNvbnRlbnQ7XG5cbiAgICBpZiAodGhpcy5zdGF0ZS5pc0luaXRpYWxpemVkKSB7XG4gICAgICBjb250ZW50ID0gKFxuICAgICAgICA8SGFja21kRWRpdG9yXG4gICAgICAgICAgcmVmPXsoYykgPT4geyB0aGlzLmhhY2ttZEVkaXRvciA9IGMgfX1cbiAgICAgICAgICBoYWNrbWRVcmk9e2hhY2ttZFVyaX1cbiAgICAgICAgICBwYWdlSWRPbkhhY2ttZD17cGFnZUlkT25IYWNrbWR9XG4gICAgICAgICAgaW5pdGlhbGl6YXRpb25NYXJrZG93bj17dGhpcy5pc1Jlc3VtZSA/IG51bGwgOiBtYXJrZG93bn1cbiAgICAgICAgICBvbkNoYW5nZT17dGhpcy5oYWNrbWRFZGl0b3JDaGFuZ2VIYW5kbGVyfVxuICAgICAgICAgIG9uU2F2ZVdpdGhTaG9ydGN1dD17KGRvY3VtZW50KSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uU2F2ZVdpdGhTaG9ydGN1dChkb2N1bWVudCk7XG4gICAgICAgICAgfX1cbiAgICAgICAgICBvblBlbnBhbEVycm9yT2NjdXJlZD17dGhpcy5wZW5wYWxFcnJvck9jY3VyZWRIYW5kbGVyfVxuICAgICAgICA+XG4gICAgICAgIDwvSGFja21kRWRpdG9yPlxuICAgICAgKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICBjb250ZW50ID0gdGhpcy5yZW5kZXJQcmVJbml0Q29udGVudCgpO1xuICAgIH1cblxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicG9zaXRpb24tcmVsYXRpdmVcIj5cblxuICAgICAgICB7Y29udGVudH1cblxuICAgICAgICB7IHRoaXMuc3RhdGUuaGFzRXJyb3IgJiYgKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaGFja21kLWVycm9yIHBvc2l0aW9uLWFic29sdXRlIGQtZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJiZy1ib3ggcC01IHRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJ0ZXh0LXdhcm5pbmdcIj48aSBjbGFzc05hbWU9XCJpY29uLWZ3IGljb24tZXhjbGFtYXRpb25cIj48L2k+IHt0KCdoYWNrbWQuaW50ZWdyYXRpb25fZmFpbGVkJyl9PC9oMj5cbiAgICAgICAgICAgICAgPGg0Pnt0aGlzLnN0YXRlLmVycm9yTWVzc2FnZX08L2g0PlxuICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJjYXJkIHdlbGwgdGV4dC1kYW5nZXJcIj5cbiAgICAgICAgICAgICAgICB7dGhpcy5zdGF0ZS5lcnJvclJlYXNvbn1cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICB7LyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L25vLWRhbmdlciAqL31cbiAgICAgICAgICAgICAgPHAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3sgX19odG1sOiB0KCdoYWNrbWQuY2hlY2tfY29uZmlndXJhdGlvbicpIH19IC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKSB9XG5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cblxufVxuXG4vKipcbiAqIFdyYXBwZXIgY29tcG9uZW50IGZvciB1c2luZyB1bnN0YXRlZFxuICovXG5jb25zdCBQYWdlRWRpdG9yQnlIYWNrbWRXcmFwcGVyID0gd2l0aFVuc3RhdGVkQ29udGFpbmVycyhQYWdlRWRpdG9yQnlIYWNrbWQsIFtBcHBDb250YWluZXIsIFBhZ2VDb250YWluZXIsIEVkaXRvckNvbnRhaW5lcl0pO1xuXG5QYWdlRWRpdG9yQnlIYWNrbWQucHJvcFR5cGVzID0ge1xuICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLCAvLyBpMThuZXh0XG5cbiAgYXBwQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihBcHBDb250YWluZXIpLmlzUmVxdWlyZWQsXG4gIHBhZ2VDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKFBhZ2VDb250YWluZXIpLmlzUmVxdWlyZWQsXG4gIGVkaXRvckNvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoRWRpdG9yQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFRyYW5zbGF0aW9uKCkoUGFnZUVkaXRvckJ5SGFja21kV3JhcHBlcik7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTkE7QUFTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7OztBQUlBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQURBO0FBSUE7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBS0E7QUFDQTtBQURBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBSUE7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBSEE7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRkE7QUFJQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFPQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7OztBQUlBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFEQTtBQUdBO0FBRUE7QUFFQTs7OztBQUdBO0FBQ0E7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFFQTs7O0FBVkE7QUFjQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFDQTs7O0FBWkE7QUFnQkE7QUFFQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUdBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFKQTtBQWNBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFKQTtBQU1BO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUtBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBSEE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFNQTtBQUNBOzs7QUF6REE7QUE2REE7QUFFQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUpBO0FBTUE7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFEQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVRBO0FBYUE7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFLQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBT0E7QUFDQTtBQTlZQTtBQWlaQTs7Ozs7QUFHQTtBQUVBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUxBO0FBUUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/PageEditorByHackmd.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageEditorByHackmd/HackmdEditor.jsx":
- /*!**********************************************************************!*\
- !*** ./src/client/js/components/PageEditorByHackmd/HackmdEditor.jsx ***!
- \**********************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return HackmdEditor; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @alias/logger */ \"./src/lib/service/logger/index.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_alias_logger__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var penpal_lib_connectToChild__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! penpal/lib/connectToChild */ \"./node_modules/penpal/lib/connectToChild.js\");\n/* harmony import */ var penpal_lib_connectToChild__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(penpal_lib_connectToChild__WEBPACK_IMPORTED_MODULE_3__);\n\n\n\n\nconst DEBUG_PENPAL = false;\nconst logger = _alias_logger__WEBPACK_IMPORTED_MODULE_2___default()('growi:HackmdEditor');\nclass HackmdEditor extends react__WEBPACK_IMPORTED_MODULE_0___default.a.PureComponent {\n constructor(props) {\n super(props);\n this.hackmd = null;\n this.initHackmdWithPenpal = this.initHackmdWithPenpal.bind(this);\n this.notifyBodyChangesHandler = this.notifyBodyChangesHandler.bind(this);\n this.saveWithShortcutHandler = this.saveWithShortcutHandler.bind(this);\n }\n\n componentDidMount() {\n // append iframe with penpal\n this.initHackmdWithPenpal();\n }\n\n async initHackmdWithPenpal() {\n const _this = this; // for in methods scope\n\n\n const iframe = document.createElement('iframe');\n iframe.src = `${this.props.hackmdUri}/${this.props.pageIdOnHackmd}?both`;\n this.iframeContainer.appendChild(iframe);\n const connection = penpal_lib_connectToChild__WEBPACK_IMPORTED_MODULE_3___default()({\n iframe,\n methods: {\n // expose methods to HackMD\n notifyBodyChanges(document) {\n _this.notifyBodyChangesHandler(document);\n },\n\n saveWithShortcut(document) {\n _this.saveWithShortcutHandler(document);\n }\n\n },\n timeout: 15000,\n debug: DEBUG_PENPAL\n });\n\n try {\n const child = await connection.promise;\n this.hackmd = child;\n\n if (this.props.initializationMarkdown != null) {\n child.setValueOnInit(this.props.initializationMarkdown);\n }\n } catch (err) {\n logger.error(err);\n\n if (this.props.onPenpalErrorOccured != null) {\n this.props.onPenpalErrorOccured(err);\n }\n }\n }\n /**\n * return markdown document of HackMD\n * @return {Promise<string>}\n */\n\n\n getValue() {\n return this.hackmd.getValue();\n }\n\n setValue(newValue) {\n this.hackmd.setValue(newValue);\n }\n\n notifyBodyChangesHandler(body) {\n // dispatch onChange() when there is difference from 'initializationMarkdown' props\n if (this.props.onChange != null && body !== this.props.initializationMarkdown) {\n this.props.onChange(body);\n }\n }\n\n saveWithShortcutHandler(document) {\n if (this.props.onSaveWithShortcut != null) {\n this.props.onSaveWithShortcut(document);\n }\n }\n\n render() {\n return (// will be rendered in componentDidMount\n react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n id: \"iframe-hackmd-container\",\n ref: c => {\n this.iframeContainer = c;\n }\n })\n );\n }\n\n}\nHackmdEditor.propTypes = {\n hackmdUri: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired,\n pageIdOnHackmd: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired,\n initializationMarkdown: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n onChange: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n onSaveWithShortcut: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n onPenpalErrorOccured: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvckJ5SGFja21kL0hhY2ttZEVkaXRvci5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUVkaXRvckJ5SGFja21kL0hhY2ttZEVkaXRvci5qc3g/ODI1NSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBsb2dnZXJGYWN0b3J5IGZyb20gJ0BhbGlhcy9sb2dnZXInO1xuXG5pbXBvcnQgY29ubmVjdFRvQ2hpbGQgZnJvbSAncGVucGFsL2xpYi9jb25uZWN0VG9DaGlsZCc7XG5cbmNvbnN0IERFQlVHX1BFTlBBTCA9IGZhbHNlO1xuXG5jb25zdCBsb2dnZXIgPSBsb2dnZXJGYWN0b3J5KCdncm93aTpIYWNrbWRFZGl0b3InKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSGFja21kRWRpdG9yIGV4dGVuZHMgUmVhY3QuUHVyZUNvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLmhhY2ttZCA9IG51bGw7XG5cbiAgICB0aGlzLmluaXRIYWNrbWRXaXRoUGVucGFsID0gdGhpcy5pbml0SGFja21kV2l0aFBlbnBhbC5iaW5kKHRoaXMpO1xuXG4gICAgdGhpcy5ub3RpZnlCb2R5Q2hhbmdlc0hhbmRsZXIgPSB0aGlzLm5vdGlmeUJvZHlDaGFuZ2VzSGFuZGxlci5iaW5kKHRoaXMpO1xuICAgIHRoaXMuc2F2ZVdpdGhTaG9ydGN1dEhhbmRsZXIgPSB0aGlzLnNhdmVXaXRoU2hvcnRjdXRIYW5kbGVyLmJpbmQodGhpcyk7XG4gIH1cblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAvLyBhcHBlbmQgaWZyYW1lIHdpdGggcGVucGFsXG4gICAgdGhpcy5pbml0SGFja21kV2l0aFBlbnBhbCgpO1xuICB9XG5cbiAgYXN5bmMgaW5pdEhhY2ttZFdpdGhQZW5wYWwoKSB7XG4gICAgY29uc3QgX3RoaXMgPSB0aGlzOyAvLyBmb3IgaW4gbWV0aG9kcyBzY29wZVxuXG4gICAgY29uc3QgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7XG4gICAgaWZyYW1lLnNyYyA9IGAke3RoaXMucHJvcHMuaGFja21kVXJpfS8ke3RoaXMucHJvcHMucGFnZUlkT25IYWNrbWR9P2JvdGhgO1xuICAgIHRoaXMuaWZyYW1lQ29udGFpbmVyLmFwcGVuZENoaWxkKGlmcmFtZSk7XG5cbiAgICBjb25zdCBjb25uZWN0aW9uID0gY29ubmVjdFRvQ2hpbGQoe1xuICAgICAgaWZyYW1lLFxuICAgICAgbWV0aG9kczogeyAvLyBleHBvc2UgbWV0aG9kcyB0byBIYWNrTURcbiAgICAgICAgbm90aWZ5Qm9keUNoYW5nZXMoZG9jdW1lbnQpIHtcbiAgICAgICAgICBfdGhpcy5ub3RpZnlCb2R5Q2hhbmdlc0hhbmRsZXIoZG9jdW1lbnQpO1xuICAgICAgICB9LFxuICAgICAgICBzYXZlV2l0aFNob3J0Y3V0KGRvY3VtZW50KSB7XG4gICAgICAgICAgX3RoaXMuc2F2ZVdpdGhTaG9ydGN1dEhhbmRsZXIoZG9jdW1lbnQpO1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHRpbWVvdXQ6IDE1MDAwLFxuICAgICAgZGVidWc6IERFQlVHX1BFTlBBTCxcbiAgICB9KTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBjaGlsZCA9IGF3YWl0IGNvbm5lY3Rpb24ucHJvbWlzZTtcbiAgICAgIHRoaXMuaGFja21kID0gY2hpbGQ7XG4gICAgICBpZiAodGhpcy5wcm9wcy5pbml0aWFsaXphdGlvbk1hcmtkb3duICE9IG51bGwpIHtcbiAgICAgICAgY2hpbGQuc2V0VmFsdWVPbkluaXQodGhpcy5wcm9wcy5pbml0aWFsaXphdGlvbk1hcmtkb3duKTtcbiAgICAgIH1cbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgbG9nZ2VyLmVycm9yKGVycik7XG5cbiAgICAgIGlmICh0aGlzLnByb3BzLm9uUGVucGFsRXJyb3JPY2N1cmVkICE9IG51bGwpIHtcbiAgICAgICAgdGhpcy5wcm9wcy5vblBlbnBhbEVycm9yT2NjdXJlZChlcnIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiByZXR1cm4gbWFya2Rvd24gZG9jdW1lbnQgb2YgSGFja01EXG4gICAqIEByZXR1cm4ge1Byb21pc2U8c3RyaW5nPn1cbiAgICovXG4gIGdldFZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLmhhY2ttZC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgc2V0VmFsdWUobmV3VmFsdWUpIHtcbiAgICB0aGlzLmhhY2ttZC5zZXRWYWx1ZShuZXdWYWx1ZSk7XG4gIH1cblxuICBub3RpZnlCb2R5Q2hhbmdlc0hhbmRsZXIoYm9keSkge1xuICAgIC8vIGRpc3BhdGNoIG9uQ2hhbmdlKCkgd2hlbiB0aGVyZSBpcyBkaWZmZXJlbmNlIGZyb20gJ2luaXRpYWxpemF0aW9uTWFya2Rvd24nIHByb3BzXG4gICAgaWYgKHRoaXMucHJvcHMub25DaGFuZ2UgIT0gbnVsbCAmJiBib2R5ICE9PSB0aGlzLnByb3BzLmluaXRpYWxpemF0aW9uTWFya2Rvd24pIHtcbiAgICAgIHRoaXMucHJvcHMub25DaGFuZ2UoYm9keSk7XG4gICAgfVxuICB9XG5cbiAgc2F2ZVdpdGhTaG9ydGN1dEhhbmRsZXIoZG9jdW1lbnQpIHtcbiAgICBpZiAodGhpcy5wcm9wcy5vblNhdmVXaXRoU2hvcnRjdXQgIT0gbnVsbCkge1xuICAgICAgdGhpcy5wcm9wcy5vblNhdmVXaXRoU2hvcnRjdXQoZG9jdW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgLy8gd2lsbCBiZSByZW5kZXJlZCBpbiBjb21wb25lbnREaWRNb3VudFxuICAgICAgPGRpdiBpZD1cImlmcmFtZS1oYWNrbWQtY29udGFpbmVyXCIgcmVmPXsoYykgPT4geyB0aGlzLmlmcmFtZUNvbnRhaW5lciA9IGMgfX0+PC9kaXY+XG4gICAgKTtcbiAgfVxuXG59XG5cbkhhY2ttZEVkaXRvci5wcm9wVHlwZXMgPSB7XG4gIGhhY2ttZFVyaTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBwYWdlSWRPbkhhY2ttZDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBpbml0aWFsaXphdGlvbk1hcmtkb3duOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gIG9uU2F2ZVdpdGhTaG9ydGN1dDogUHJvcFR5cGVzLmZ1bmMsXG4gIG9uUGVucGFsRXJyb3JPY2N1cmVkOiBQcm9wVHlwZXMuZnVuYyxcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUNBO0FBRUE7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBUEE7QUFRQTtBQUNBO0FBWEE7QUFDQTtBQWFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOzs7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRkE7QUFJQTtBQUNBO0FBdEZBO0FBeUZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTkEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/PageEditorByHackmd/HackmdEditor.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageHistory.jsx":
- /*!**************************************************!*\
- !*** ./src/client/js/components/PageHistory.jsx ***!
- \**************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @alias/logger */ \"./src/lib/service/logger/index.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_alias_logger__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _util_apiNotification__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../util/apiNotification */ \"./src/client/js/util/apiNotification.js\");\n/* harmony import */ var _SuspenseUtils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./SuspenseUtils */ \"./src/client/js/components/SuspenseUtils.jsx\");\n/* harmony import */ var _PageHistory_PageRevisionTable__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./PageHistory/PageRevisionTable */ \"./src/client/js/components/PageHistory/PageRevisionTable.jsx\");\n/* harmony import */ var _services_PageHistoryContainer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../services/PageHistoryContainer */ \"./src/client/js/services/PageHistoryContainer.js\");\n/* harmony import */ var _PaginationWrapper__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./PaginationWrapper */ \"./src/client/js/components/PaginationWrapper.jsx\");\n/* harmony import */ var _RevisionComparer_RevisionComparer__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./RevisionComparer/RevisionComparer */ \"./src/client/js/components/RevisionComparer/RevisionComparer.jsx\");\n/* harmony import */ var _services_RevisionComparerContainer__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../services/RevisionComparerContainer */ \"./src/client/js/services/RevisionComparerContainer.js\");\n\n\n\n\n\n\n\n\n\n\n\nconst logger = _alias_logger__WEBPACK_IMPORTED_MODULE_2___default()('growi:PageHistory');\n\nfunction PageHistory(props) {\n const {\n pageHistoryContainer,\n revisionComparerContainer\n } = props;\n const {\n getPreviousRevision\n } = pageHistoryContainer;\n const {\n activePage,\n totalPages,\n pagingLimit,\n revisions,\n diffOpened\n } = pageHistoryContainer.state;\n const handlePage = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useCallback\"])(async selectedPage => {\n try {\n await props.pageHistoryContainer.retrieveRevisions(selectedPage);\n } catch (err) {\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_4__[\"toastError\"])(err);\n props.pageHistoryContainer.setState({\n errorMessage: err.message\n });\n logger.error(err);\n }\n }, [props.pageHistoryContainer]);\n\n if (pageHistoryContainer.state.errorMessage != null) {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"my-5\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"text-danger\"\n }, pageHistoryContainer.state.errorMessage));\n }\n\n if (pageHistoryContainer.state.revisions === pageHistoryContainer.dummyRevisions) {\n throw new Promise(async () => {\n try {\n await props.pageHistoryContainer.retrieveRevisions(1);\n await props.revisionComparerContainer.initRevisions();\n } catch (err) {\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_4__[\"toastError\"])(err);\n pageHistoryContainer.setState({\n errorMessage: err.message\n });\n logger.error(err);\n }\n });\n }\n\n function pager() {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PaginationWrapper__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n activePage: activePage,\n changePage: handlePage,\n totalItemsCount: totalPages,\n pagingLimit: pagingLimit,\n align: \"center\"\n });\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"revision-history\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageHistory_PageRevisionTable__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n pageHistoryContainer: pageHistoryContainer,\n revisionComparerContainer: revisionComparerContainer,\n revisions: revisions,\n diffOpened: diffOpened,\n getPreviousRevision: getPreviousRevision\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"my-3\"\n }, pager()), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_RevisionComparer_RevisionComparer__WEBPACK_IMPORTED_MODULE_9__[\"default\"], null));\n}\n\nconst RenderPageHistoryWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__[\"withUnstatedContainers\"])(Object(_SuspenseUtils__WEBPACK_IMPORTED_MODULE_5__[\"withLoadingSppiner\"])(PageHistory), [_services_PageHistoryContainer__WEBPACK_IMPORTED_MODULE_7__[\"default\"], _services_RevisionComparerContainer__WEBPACK_IMPORTED_MODULE_10__[\"default\"]]);\nPageHistory.propTypes = {\n pageHistoryContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageHistoryContainer__WEBPACK_IMPORTED_MODULE_7__[\"default\"]).isRequired,\n revisionComparerContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_RevisionComparerContainer__WEBPACK_IMPORTED_MODULE_10__[\"default\"]).isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (RenderPageHistoryWrapper);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUhpc3RvcnkuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1BhZ2VIaXN0b3J5LmpzeD9iYTY2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgbG9nZ2VyRmFjdG9yeSBmcm9tICdAYWxpYXMvbG9nZ2VyJztcblxuaW1wb3J0IHsgd2l0aFVuc3RhdGVkQ29udGFpbmVycyB9IGZyb20gJy4vVW5zdGF0ZWRVdGlscyc7XG5pbXBvcnQgeyB0b2FzdEVycm9yIH0gZnJvbSAnLi4vdXRpbC9hcGlOb3RpZmljYXRpb24nO1xuXG5pbXBvcnQgeyB3aXRoTG9hZGluZ1NwcGluZXIgfSBmcm9tICcuL1N1c3BlbnNlVXRpbHMnO1xuaW1wb3J0IFBhZ2VSZXZpc2lvblRhYmxlIGZyb20gJy4vUGFnZUhpc3RvcnkvUGFnZVJldmlzaW9uVGFibGUnO1xuXG5pbXBvcnQgUGFnZUhpc3Ryb3lDb250YWluZXIgZnJvbSAnLi4vc2VydmljZXMvUGFnZUhpc3RvcnlDb250YWluZXInO1xuaW1wb3J0IFBhZ2luYXRpb25XcmFwcGVyIGZyb20gJy4vUGFnaW5hdGlvbldyYXBwZXInO1xuaW1wb3J0IFJldmlzaW9uQ29tcGFyZXIgZnJvbSAnLi9SZXZpc2lvbkNvbXBhcmVyL1JldmlzaW9uQ29tcGFyZXInO1xuaW1wb3J0IFJldmlzaW9uQ29tcGFyZXJDb250YWluZXIgZnJvbSAnLi4vc2VydmljZXMvUmV2aXNpb25Db21wYXJlckNvbnRhaW5lcic7XG5cbmNvbnN0IGxvZ2dlciA9IGxvZ2dlckZhY3RvcnkoJ2dyb3dpOlBhZ2VIaXN0b3J5Jyk7XG5cbmZ1bmN0aW9uIFBhZ2VIaXN0b3J5KHByb3BzKSB7XG4gIGNvbnN0IHsgcGFnZUhpc3RvcnlDb250YWluZXIsIHJldmlzaW9uQ29tcGFyZXJDb250YWluZXIgfSA9IHByb3BzO1xuICBjb25zdCB7IGdldFByZXZpb3VzUmV2aXNpb24gfSA9IHBhZ2VIaXN0b3J5Q29udGFpbmVyO1xuICBjb25zdCB7XG4gICAgYWN0aXZlUGFnZSwgdG90YWxQYWdlcywgcGFnaW5nTGltaXQsIHJldmlzaW9ucywgZGlmZk9wZW5lZCxcbiAgfSA9IHBhZ2VIaXN0b3J5Q29udGFpbmVyLnN0YXRlO1xuXG4gIGNvbnN0IGhhbmRsZVBhZ2UgPSB1c2VDYWxsYmFjayhhc3luYyhzZWxlY3RlZFBhZ2UpID0+IHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgcHJvcHMucGFnZUhpc3RvcnlDb250YWluZXIucmV0cmlldmVSZXZpc2lvbnMoc2VsZWN0ZWRQYWdlKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgdG9hc3RFcnJvcihlcnIpO1xuICAgICAgcHJvcHMucGFnZUhpc3RvcnlDb250YWluZXIuc2V0U3RhdGUoeyBlcnJvck1lc3NhZ2U6IGVyci5tZXNzYWdlIH0pO1xuICAgICAgbG9nZ2VyLmVycm9yKGVycik7XG4gICAgfVxuICB9LCBbcHJvcHMucGFnZUhpc3RvcnlDb250YWluZXJdKTtcblxuICBpZiAocGFnZUhpc3RvcnlDb250YWluZXIuc3RhdGUuZXJyb3JNZXNzYWdlICE9IG51bGwpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJteS01XCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1kYW5nZXJcIj57cGFnZUhpc3RvcnlDb250YWluZXIuc3RhdGUuZXJyb3JNZXNzYWdlfTwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuXG4gIGlmIChwYWdlSGlzdG9yeUNvbnRhaW5lci5zdGF0ZS5yZXZpc2lvbnMgPT09IHBhZ2VIaXN0b3J5Q29udGFpbmVyLmR1bW15UmV2aXNpb25zKSB7XG4gICAgdGhyb3cgbmV3IFByb21pc2UoYXN5bmMoKSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBwcm9wcy5wYWdlSGlzdG9yeUNvbnRhaW5lci5yZXRyaWV2ZVJldmlzaW9ucygxKTtcbiAgICAgICAgYXdhaXQgcHJvcHMucmV2aXNpb25Db21wYXJlckNvbnRhaW5lci5pbml0UmV2aXNpb25zKCk7XG4gICAgICB9XG4gICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHRvYXN0RXJyb3IoZXJyKTtcbiAgICAgICAgcGFnZUhpc3RvcnlDb250YWluZXIuc2V0U3RhdGUoeyBlcnJvck1lc3NhZ2U6IGVyci5tZXNzYWdlIH0pO1xuICAgICAgICBsb2dnZXIuZXJyb3IoZXJyKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHBhZ2VyKCkge1xuICAgIHJldHVybiAoXG4gICAgICA8UGFnaW5hdGlvbldyYXBwZXJcbiAgICAgICAgYWN0aXZlUGFnZT17YWN0aXZlUGFnZX1cbiAgICAgICAgY2hhbmdlUGFnZT17aGFuZGxlUGFnZX1cbiAgICAgICAgdG90YWxJdGVtc0NvdW50PXt0b3RhbFBhZ2VzfVxuICAgICAgICBwYWdpbmdMaW1pdD17cGFnaW5nTGltaXR9XG4gICAgICAgIGFsaWduPVwiY2VudGVyXCJcbiAgICAgIC8+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJyZXZpc2lvbi1oaXN0b3J5XCI+XG4gICAgICA8UGFnZVJldmlzaW9uVGFibGVcbiAgICAgICAgcGFnZUhpc3RvcnlDb250YWluZXI9e3BhZ2VIaXN0b3J5Q29udGFpbmVyfVxuICAgICAgICByZXZpc2lvbkNvbXBhcmVyQ29udGFpbmVyPXtyZXZpc2lvbkNvbXBhcmVyQ29udGFpbmVyfVxuICAgICAgICByZXZpc2lvbnM9e3JldmlzaW9uc31cbiAgICAgICAgZGlmZk9wZW5lZD17ZGlmZk9wZW5lZH1cbiAgICAgICAgZ2V0UHJldmlvdXNSZXZpc2lvbj17Z2V0UHJldmlvdXNSZXZpc2lvbn1cbiAgICAgIC8+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm15LTNcIj5cbiAgICAgICAge3BhZ2VyKCl9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxSZXZpc2lvbkNvbXBhcmVyIC8+XG4gICAgPC9kaXY+XG4gICk7XG5cbn1cblxuY29uc3QgUmVuZGVyUGFnZUhpc3RvcnlXcmFwcGVyID0gd2l0aFVuc3RhdGVkQ29udGFpbmVycyh3aXRoTG9hZGluZ1NwcGluZXIoUGFnZUhpc3RvcnkpLCBbUGFnZUhpc3Ryb3lDb250YWluZXIsIFJldmlzaW9uQ29tcGFyZXJDb250YWluZXJdKTtcblxuUGFnZUhpc3RvcnkucHJvcFR5cGVzID0ge1xuICBwYWdlSGlzdG9yeUNvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoUGFnZUhpc3Ryb3lDb250YWluZXIpLmlzUmVxdWlyZWQsXG4gIHJldmlzaW9uQ29tcGFyZXJDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKFJldmlzaW9uQ29tcGFyZXJDb250YWluZXIpLmlzUmVxdWlyZWQsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBSZW5kZXJQYWdlSGlzdG9yeVdyYXBwZXI7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQURBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBT0E7QUFBQTtBQU9BO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUZBO0FBS0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/PageHistory.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageHistory/PageRevisionTable.jsx":
- /*!********************************************************************!*\
- !*** ./src/client/js/components/PageHistory/PageRevisionTable.jsx ***!
- \********************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _services_PageHistoryContainer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../services/PageHistoryContainer */ \"./src/client/js/services/PageHistoryContainer.js\");\n/* harmony import */ var _services_RevisionComparerContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../services/RevisionComparerContainer */ \"./src/client/js/services/RevisionComparerContainer.js\");\n/* harmony import */ var _Revision__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Revision */ \"./src/client/js/components/PageHistory/Revision.jsx\");\n\n\n\n\n\n\n\nclass PageRevisionTable extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n /**\n * render a row (Revision component and RevisionDiff component)\n * @param {Revison} revision\n * @param {Revision} previousRevision\n * @param {boolean} hasDiff whether revision has difference to previousRevision\n * @param {boolean} isContiguousNodiff true if the current 'hasDiff' and one of previous row is both false\n */\n renderRow(revision, previousRevision, hasDiff, isContiguousNodiff) {\n const {\n revisionComparerContainer,\n t\n } = this.props;\n const {\n latestRevision,\n oldestRevision\n } = this.props.pageHistoryContainer.state;\n const revisionId = revision._id;\n const revisionDiffOpened = this.props.diffOpened[revisionId] || false;\n const {\n sourceRevision,\n targetRevision\n } = revisionComparerContainer.state;\n\n const handleCompareLatestRevisionButton = () => {\n revisionComparerContainer.setState({\n sourceRevision: revision\n });\n revisionComparerContainer.setState({\n targetRevision: latestRevision\n });\n };\n\n const handleComparePreviousRevisionButton = () => {\n revisionComparerContainer.setState({\n sourceRevision: previousRevision\n });\n revisionComparerContainer.setState({\n targetRevision: revision\n });\n };\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"tr\", {\n className: \"d-flex\",\n key: `revision-history-${revisionId}`\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"td\", {\n className: \"col\",\n key: `revision-history-top-${revisionId}`\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"d-lg-flex\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Revision__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n t: this.props.t,\n revision: revision,\n isLatestRevision: revision === latestRevision,\n revisionDiffOpened: revisionDiffOpened,\n hasDiff: hasDiff,\n key: `revision-history-rev-${revisionId}`\n }), hasDiff && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"ml-md-3 mt-auto\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"btn-group\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-outline-secondary btn-sm\",\n onClick: handleCompareLatestRevisionButton\n }, t('page_history.compare_latest')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-outline-secondary btn-sm\",\n onClick: handleComparePreviousRevisionButton,\n disabled: revision === oldestRevision\n }, t('page_history.compare_previous')))))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"td\", {\n className: \"col-1\"\n }, (hasDiff || revision._id === (sourceRevision === null || sourceRevision === void 0 ? void 0 : sourceRevision._id)) && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"custom-control custom-radio custom-control-inline mr-0\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"radio\",\n className: \"custom-control-input\",\n id: `compareSource-${revision._id}`,\n name: \"compareSource\",\n value: revision._id,\n checked: revision._id === (sourceRevision === null || sourceRevision === void 0 ? void 0 : sourceRevision._id),\n onChange: () => revisionComparerContainer.setState({\n sourceRevision: revision\n })\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"custom-control-label\",\n htmlFor: `compareSource-${revision._id}`\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"td\", {\n className: \"col-2\"\n }, (hasDiff || revision._id === (targetRevision === null || targetRevision === void 0 ? void 0 : targetRevision._id)) && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"custom-control custom-radio custom-control-inline mr-0\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"radio\",\n className: \"custom-control-input\",\n id: `compareTarget-${revision._id}`,\n name: \"compareTarget\",\n value: revision._id,\n checked: revision._id === (targetRevision === null || targetRevision === void 0 ? void 0 : targetRevision._id),\n onChange: () => revisionComparerContainer.setState({\n targetRevision: revision\n })\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"custom-control-label\",\n htmlFor: `compareTarget-${revision._id}`\n }))));\n }\n\n render() {\n const {\n t,\n pageHistoryContainer\n } = this.props;\n const revisions = this.props.revisions;\n const revisionCount = this.props.revisions.length;\n let hasDiffPrev;\n const revisionList = this.props.revisions.map((revision, idx) => {\n // Returns null because the last revision is for the bottom diff display\n if (idx === pageHistoryContainer.state.pagingLimit) {\n return null;\n }\n\n let previousRevision;\n\n if (idx + 1 < revisionCount) {\n previousRevision = revisions[idx + 1];\n } else {\n previousRevision = revision; // if it is the first revision, show full text as diff text\n }\n\n const hasDiff = revision.hasDiffToPrev !== false; // set 'true' if undefined for backward compatibility\n\n const isContiguousNodiff = !hasDiff && !hasDiffPrev;\n hasDiffPrev = hasDiff;\n return this.renderRow(revision, previousRevision, hasDiff, isContiguousNodiff);\n });\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"table\", {\n className: \"table revision-history-table\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"thead\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"tr\", {\n className: \"d-flex\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"th\", {\n className: \"col\"\n }, t('page_history.revision')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"th\", {\n className: \"col-1\"\n }, t('page_history.comparing_source')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"th\", {\n className: \"col-2\"\n }, t('page_history.comparing_target')))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"tbody\", {\n className: \"overflow-auto d-block\"\n }, revisionList));\n }\n\n}\n\nPageRevisionTable.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n pageHistoryContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageHistoryContainer__WEBPACK_IMPORTED_MODULE_3__[\"default\"]).isRequired,\n revisionComparerContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_RevisionComparerContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]).isRequired,\n revisions: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.array,\n diffOpened: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(PageRevisionTable));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUhpc3RvcnkvUGFnZVJldmlzaW9uVGFibGUuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1BhZ2VIaXN0b3J5L1BhZ2VSZXZpc2lvblRhYmxlLmpzeD8xZDcyIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQgeyB3aXRoVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcbmltcG9ydCBQYWdlSGlzdHJveUNvbnRhaW5lciBmcm9tICcuLi8uLi9zZXJ2aWNlcy9QYWdlSGlzdG9yeUNvbnRhaW5lcic7XG5pbXBvcnQgUmV2aXNpb25Db21wYXJlckNvbnRhaW5lciBmcm9tICcuLi8uLi9zZXJ2aWNlcy9SZXZpc2lvbkNvbXBhcmVyQ29udGFpbmVyJztcblxuaW1wb3J0IFJldmlzaW9uIGZyb20gJy4vUmV2aXNpb24nO1xuXG5jbGFzcyBQYWdlUmV2aXNpb25UYWJsZSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG5cbiAgLyoqXG4gICAqIHJlbmRlciBhIHJvdyAoUmV2aXNpb24gY29tcG9uZW50IGFuZCBSZXZpc2lvbkRpZmYgY29tcG9uZW50KVxuICAgKiBAcGFyYW0ge1Jldmlzb259IHJldmlzaW9uXG4gICAqIEBwYXJhbSB7UmV2aXNpb259IHByZXZpb3VzUmV2aXNpb25cbiAgICogQHBhcmFtIHtib29sZWFufSBoYXNEaWZmIHdoZXRoZXIgcmV2aXNpb24gaGFzIGRpZmZlcmVuY2UgdG8gcHJldmlvdXNSZXZpc2lvblxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGlzQ29udGlndW91c05vZGlmZiB0cnVlIGlmIHRoZSBjdXJyZW50ICdoYXNEaWZmJyBhbmQgb25lIG9mIHByZXZpb3VzIHJvdyBpcyBib3RoIGZhbHNlXG4gICAqL1xuICByZW5kZXJSb3cocmV2aXNpb24sIHByZXZpb3VzUmV2aXNpb24sIGhhc0RpZmYsIGlzQ29udGlndW91c05vZGlmZikge1xuICAgIGNvbnN0IHsgcmV2aXNpb25Db21wYXJlckNvbnRhaW5lciwgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IGxhdGVzdFJldmlzaW9uLCBvbGRlc3RSZXZpc2lvbiB9ID0gdGhpcy5wcm9wcy5wYWdlSGlzdG9yeUNvbnRhaW5lci5zdGF0ZTtcbiAgICBjb25zdCByZXZpc2lvbklkID0gcmV2aXNpb24uX2lkO1xuICAgIGNvbnN0IHJldmlzaW9uRGlmZk9wZW5lZCA9IHRoaXMucHJvcHMuZGlmZk9wZW5lZFtyZXZpc2lvbklkXSB8fCBmYWxzZTtcbiAgICBjb25zdCB7IHNvdXJjZVJldmlzaW9uLCB0YXJnZXRSZXZpc2lvbiB9ID0gcmV2aXNpb25Db21wYXJlckNvbnRhaW5lci5zdGF0ZTtcblxuICAgIGNvbnN0IGhhbmRsZUNvbXBhcmVMYXRlc3RSZXZpc2lvbkJ1dHRvbiA9ICgpID0+IHtcbiAgICAgIHJldmlzaW9uQ29tcGFyZXJDb250YWluZXIuc2V0U3RhdGUoeyBzb3VyY2VSZXZpc2lvbjogcmV2aXNpb24gfSk7XG4gICAgICByZXZpc2lvbkNvbXBhcmVyQ29udGFpbmVyLnNldFN0YXRlKHsgdGFyZ2V0UmV2aXNpb246IGxhdGVzdFJldmlzaW9uIH0pO1xuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVDb21wYXJlUHJldmlvdXNSZXZpc2lvbkJ1dHRvbiA9ICgpID0+IHtcbiAgICAgIHJldmlzaW9uQ29tcGFyZXJDb250YWluZXIuc2V0U3RhdGUoeyBzb3VyY2VSZXZpc2lvbjogcHJldmlvdXNSZXZpc2lvbiB9KTtcbiAgICAgIHJldmlzaW9uQ29tcGFyZXJDb250YWluZXIuc2V0U3RhdGUoeyB0YXJnZXRSZXZpc2lvbjogcmV2aXNpb24gfSk7XG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICA8dHIgY2xhc3NOYW1lPVwiZC1mbGV4XCIga2V5PXtgcmV2aXNpb24taGlzdG9yeS0ke3JldmlzaW9uSWR9YH0+XG4gICAgICAgIDx0ZCBjbGFzc05hbWU9XCJjb2xcIiBrZXk9e2ByZXZpc2lvbi1oaXN0b3J5LXRvcC0ke3JldmlzaW9uSWR9YH0+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkLWxnLWZsZXhcIj5cbiAgICAgICAgICAgIDxSZXZpc2lvblxuICAgICAgICAgICAgICB0PXt0aGlzLnByb3BzLnR9XG4gICAgICAgICAgICAgIHJldmlzaW9uPXtyZXZpc2lvbn1cbiAgICAgICAgICAgICAgaXNMYXRlc3RSZXZpc2lvbj17cmV2aXNpb24gPT09IGxhdGVzdFJldmlzaW9ufVxuICAgICAgICAgICAgICByZXZpc2lvbkRpZmZPcGVuZWQ9e3JldmlzaW9uRGlmZk9wZW5lZH1cbiAgICAgICAgICAgICAgaGFzRGlmZj17aGFzRGlmZn1cbiAgICAgICAgICAgICAga2V5PXtgcmV2aXNpb24taGlzdG9yeS1yZXYtJHtyZXZpc2lvbklkfWB9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAge2hhc0RpZmYgJiYgKFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1sLW1kLTMgbXQtYXV0b1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYnRuLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5IGJ0bi1zbVwiXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUNvbXBhcmVMYXRlc3RSZXZpc2lvbkJ1dHRvbn1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3QoJ3BhZ2VfaGlzdG9yeS5jb21wYXJlX2xhdGVzdCcpfVxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5IGJ0bi1zbVwiXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUNvbXBhcmVQcmV2aW91c1JldmlzaW9uQnV0dG9ufVxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17cmV2aXNpb24gPT09IG9sZGVzdFJldmlzaW9ufVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7dCgncGFnZV9oaXN0b3J5LmNvbXBhcmVfcHJldmlvdXMnKX1cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkIGNsYXNzTmFtZT1cImNvbC0xXCI+XG4gICAgICAgICAgeyhoYXNEaWZmIHx8IHJldmlzaW9uLl9pZCA9PT0gc291cmNlUmV2aXNpb24/Ll9pZCkgJiYgKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjdXN0b20tY29udHJvbCBjdXN0b20tcmFkaW8gY3VzdG9tLWNvbnRyb2wtaW5saW5lIG1yLTBcIj5cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJjdXN0b20tY29udHJvbC1pbnB1dFwiXG4gICAgICAgICAgICAgICAgaWQ9e2Bjb21wYXJlU291cmNlLSR7cmV2aXNpb24uX2lkfWB9XG4gICAgICAgICAgICAgICAgbmFtZT1cImNvbXBhcmVTb3VyY2VcIlxuICAgICAgICAgICAgICAgIHZhbHVlPXtyZXZpc2lvbi5faWR9XG4gICAgICAgICAgICAgICAgY2hlY2tlZD17cmV2aXNpb24uX2lkID09PSBzb3VyY2VSZXZpc2lvbj8uX2lkfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoKSA9PiByZXZpc2lvbkNvbXBhcmVyQ29udGFpbmVyLnNldFN0YXRlKHsgc291cmNlUmV2aXNpb246IHJldmlzaW9uIH0pfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPVwiY3VzdG9tLWNvbnRyb2wtbGFiZWxcIiBodG1sRm9yPXtgY29tcGFyZVNvdXJjZS0ke3JldmlzaW9uLl9pZH1gfSAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkIGNsYXNzTmFtZT1cImNvbC0yXCI+XG4gICAgICAgICAgeyhoYXNEaWZmIHx8IHJldmlzaW9uLl9pZCA9PT0gdGFyZ2V0UmV2aXNpb24/Ll9pZCkgJiYgKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjdXN0b20tY29udHJvbCBjdXN0b20tcmFkaW8gY3VzdG9tLWNvbnRyb2wtaW5saW5lIG1yLTBcIj5cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJjdXN0b20tY29udHJvbC1pbnB1dFwiXG4gICAgICAgICAgICAgICAgaWQ9e2Bjb21wYXJlVGFyZ2V0LSR7cmV2aXNpb24uX2lkfWB9XG4gICAgICAgICAgICAgICAgbmFtZT1cImNvbXBhcmVUYXJnZXRcIlxuICAgICAgICAgICAgICAgIHZhbHVlPXtyZXZpc2lvbi5faWR9XG4gICAgICAgICAgICAgICAgY2hlY2tlZD17cmV2aXNpb24uX2lkID09PSB0YXJnZXRSZXZpc2lvbj8uX2lkfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoKSA9PiByZXZpc2lvbkNvbXBhcmVyQ29udGFpbmVyLnNldFN0YXRlKHsgdGFyZ2V0UmV2aXNpb246IHJldmlzaW9uIH0pfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPVwiY3VzdG9tLWNvbnRyb2wtbGFiZWxcIiBodG1sRm9yPXtgY29tcGFyZVRhcmdldC0ke3JldmlzaW9uLl9pZH1gfSAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgKTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IHQsIHBhZ2VIaXN0b3J5Q29udGFpbmVyIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3QgcmV2aXNpb25zID0gdGhpcy5wcm9wcy5yZXZpc2lvbnM7XG4gICAgY29uc3QgcmV2aXNpb25Db3VudCA9IHRoaXMucHJvcHMucmV2aXNpb25zLmxlbmd0aDtcblxuICAgIGxldCBoYXNEaWZmUHJldjtcblxuICAgIGNvbnN0IHJldmlzaW9uTGlzdCA9IHRoaXMucHJvcHMucmV2aXNpb25zLm1hcCgocmV2aXNpb24sIGlkeCkgPT4ge1xuICAgICAgLy8gUmV0dXJucyBudWxsIGJlY2F1c2UgdGhlIGxhc3QgcmV2aXNpb24gaXMgZm9yIHRoZSBib3R0b20gZGlmZiBkaXNwbGF5XG4gICAgICBpZiAoaWR4ID09PSBwYWdlSGlzdG9yeUNvbnRhaW5lci5zdGF0ZS5wYWdpbmdMaW1pdCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgbGV0IHByZXZpb3VzUmV2aXNpb247XG4gICAgICBpZiAoaWR4ICsgMSA8IHJldmlzaW9uQ291bnQpIHtcbiAgICAgICAgcHJldmlvdXNSZXZpc2lvbiA9IHJldmlzaW9uc1tpZHggKyAxXTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICBwcmV2aW91c1JldmlzaW9uID0gcmV2aXNpb247IC8vIGlmIGl0IGlzIHRoZSBmaXJzdCByZXZpc2lvbiwgc2hvdyBmdWxsIHRleHQgYXMgZGlmZiB0ZXh0XG4gICAgICB9XG5cblxuICAgICAgY29uc3QgaGFzRGlmZiA9IHJldmlzaW9uLmhhc0RpZmZUb1ByZXYgIT09IGZhbHNlOyAvLyBzZXQgJ3RydWUnIGlmIHVuZGVmaW5lZCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuICAgICAgY29uc3QgaXNDb250aWd1b3VzTm9kaWZmID0gIWhhc0RpZmYgJiYgIWhhc0RpZmZQcmV2O1xuXG4gICAgICBoYXNEaWZmUHJldiA9IGhhc0RpZmY7XG5cbiAgICAgIHJldHVybiB0aGlzLnJlbmRlclJvdyhyZXZpc2lvbiwgcHJldmlvdXNSZXZpc2lvbiwgaGFzRGlmZiwgaXNDb250aWd1b3VzTm9kaWZmKTtcbiAgICB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8dGFibGUgY2xhc3NOYW1lPVwidGFibGUgcmV2aXNpb24taGlzdG9yeS10YWJsZVwiPlxuICAgICAgICA8dGhlYWQ+XG4gICAgICAgICAgPHRyIGNsYXNzTmFtZT1cImQtZmxleFwiPlxuICAgICAgICAgICAgPHRoIGNsYXNzTmFtZT1cImNvbFwiPnsgdCgncGFnZV9oaXN0b3J5LnJldmlzaW9uJykgfTwvdGg+XG4gICAgICAgICAgICA8dGggY2xhc3NOYW1lPVwiY29sLTFcIj57IHQoJ3BhZ2VfaGlzdG9yeS5jb21wYXJpbmdfc291cmNlJykgfTwvdGg+XG4gICAgICAgICAgICA8dGggY2xhc3NOYW1lPVwiY29sLTJcIj57IHQoJ3BhZ2VfaGlzdG9yeS5jb21wYXJpbmdfdGFyZ2V0JykgfTwvdGg+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgPC90aGVhZD5cbiAgICAgICAgPHRib2R5IGNsYXNzTmFtZT1cIm92ZXJmbG93LWF1dG8gZC1ibG9ja1wiPlxuICAgICAgICAgIHtyZXZpc2lvbkxpc3R9XG4gICAgICAgIDwvdGJvZHk+XG4gICAgICA8L3RhYmxlPlxuICAgICk7XG4gIH1cblxufVxuXG5QYWdlUmV2aXNpb25UYWJsZS5wcm9wVHlwZXMgPSB7XG4gIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsIC8vIGkxOG5leHRcbiAgcGFnZUhpc3RvcnlDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKFBhZ2VIaXN0cm95Q29udGFpbmVyKS5pc1JlcXVpcmVkLFxuICByZXZpc2lvbkNvbXBhcmVyQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihSZXZpc2lvbkNvbXBhcmVyQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuXG4gIHJldmlzaW9uczogUHJvcFR5cGVzLmFycmF5LFxuICBkaWZmT3BlbmVkOiBQcm9wVHlwZXMub2JqZWN0LFxufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFRyYW5zbGF0aW9uKCkoUGFnZVJldmlzaW9uVGFibGUpO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7Ozs7Ozs7QUFPQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU5BO0FBU0E7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFIQTtBQVFBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFhQTtBQUFBO0FBRUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQVBBO0FBU0E7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUVBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFQQTtBQVNBO0FBQUE7QUFBQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUVBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUVBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFHQTtBQUFBO0FBS0E7QUFDQTtBQS9JQTtBQUNBO0FBaUpBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBTkE7QUFTQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/PageHistory/PageRevisionTable.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageHistory/Revision.jsx":
- /*!***********************************************************!*\
- !*** ./src/client/js/components/PageHistory/Revision.jsx ***!
- \***********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Revision; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _User_UserDate__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../User/UserDate */ \"./src/client/js/components/User/UserDate.jsx\");\n/* harmony import */ var _User_Username__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../User/Username */ \"./src/client/js/components/User/Username.jsx\");\n/* harmony import */ var _User_UserPicture__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../User/UserPicture */ \"./src/client/js/components/User/UserPicture.jsx\");\n\n\n\n\n\nclass Revision extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n componentDidMount() {}\n\n renderSimplifiedNodiff(revision) {\n const {\n t\n } = this.props;\n const author = revision.author;\n let pic = '';\n\n if (typeof author === 'object') {\n pic = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_User_UserPicture__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n user: author,\n size: \"sm\"\n });\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"revision-history-main revision-history-main-nodiff my-1 d-flex align-items-center\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"picture-container\"\n }, pic), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"ml-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"text-muted small\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_User_UserDate__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n dateTime: revision.createdAt\n }), \" (\", t('No diff'), \")\")));\n }\n\n renderFull(revision) {\n const {\n t\n } = this.props;\n const author = revision.author;\n let pic = '';\n\n if (typeof author === 'object') {\n pic = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_User_UserPicture__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n user: author,\n size: \"lg\"\n });\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"revision-history-main d-flex\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"picture-container\"\n }, pic), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"ml-2\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"revision-history-author mb-1\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"strong\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_User_Username__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n user: author\n })), this.props.isLatestRevision && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"badge badge-info ml-2\"\n }, \"Latest\")), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"mb-1\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_User_UserDate__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n dateTime: revision.createdAt\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"br\", {\n className: \"d-xl-none d-block\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n className: \"ml-xl-3\",\n href: `?revision=${revision._id}`\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-login\"\n }), \" \", t('Go to this version')))));\n }\n\n render() {\n const revision = this.props.revision;\n\n if (!this.props.hasDiff) {\n return this.renderSimplifiedNodiff(revision);\n }\n\n return this.renderFull(revision);\n }\n\n}\nRevision.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n revision: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n isLatestRevision: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,\n revisionDiffOpened: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,\n hasDiff: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUhpc3RvcnkvUmV2aXNpb24uanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1BhZ2VIaXN0b3J5L1JldmlzaW9uLmpzeD8yMzMzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQgVXNlckRhdGUgZnJvbSAnLi4vVXNlci9Vc2VyRGF0ZSc7XG5pbXBvcnQgVXNlcm5hbWUgZnJvbSAnLi4vVXNlci9Vc2VybmFtZSc7XG5pbXBvcnQgVXNlclBpY3R1cmUgZnJvbSAnLi4vVXNlci9Vc2VyUGljdHVyZSc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJldmlzaW9uIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgfVxuXG4gIHJlbmRlclNpbXBsaWZpZWROb2RpZmYocmV2aXNpb24pIHtcbiAgICBjb25zdCB7IHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCBhdXRob3IgPSByZXZpc2lvbi5hdXRob3I7XG5cbiAgICBsZXQgcGljID0gJyc7XG4gICAgaWYgKHR5cGVvZiBhdXRob3IgPT09ICdvYmplY3QnKSB7XG4gICAgICBwaWMgPSA8VXNlclBpY3R1cmUgdXNlcj17YXV0aG9yfSBzaXplPVwic21cIiAvPjtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZXZpc2lvbi1oaXN0b3J5LW1haW4gcmV2aXNpb24taGlzdG9yeS1tYWluLW5vZGlmZiBteS0xIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwaWN0dXJlLWNvbnRhaW5lclwiPlxuICAgICAgICAgIHtwaWN9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1sLTNcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LW11dGVkIHNtYWxsXCI+XG4gICAgICAgICAgICA8VXNlckRhdGUgZGF0ZVRpbWU9e3JldmlzaW9uLmNyZWF0ZWRBdH0gLz4gKHsgdCgnTm8gZGlmZicpIH0pXG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cblxuICByZW5kZXJGdWxsKHJldmlzaW9uKSB7XG4gICAgY29uc3QgeyB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3QgYXV0aG9yID0gcmV2aXNpb24uYXV0aG9yO1xuXG4gICAgbGV0IHBpYyA9ICcnO1xuICAgIGlmICh0eXBlb2YgYXV0aG9yID09PSAnb2JqZWN0Jykge1xuICAgICAgcGljID0gPFVzZXJQaWN0dXJlIHVzZXI9e2F1dGhvcn0gc2l6ZT1cImxnXCIgLz47XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmV2aXNpb24taGlzdG9yeS1tYWluIGQtZmxleFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInBpY3R1cmUtY29udGFpbmVyXCI+XG4gICAgICAgICAge3BpY31cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWwtMlwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmV2aXNpb24taGlzdG9yeS1hdXRob3IgbWItMVwiPlxuICAgICAgICAgICAgPHN0cm9uZz48VXNlcm5hbWUgdXNlcj17YXV0aG9yfT48L1VzZXJuYW1lPjwvc3Ryb25nPlxuICAgICAgICAgICAge3RoaXMucHJvcHMuaXNMYXRlc3RSZXZpc2lvbiAmJiA8c3BhbiBjbGFzc05hbWU9XCJiYWRnZSBiYWRnZS1pbmZvIG1sLTJcIj5MYXRlc3Q8L3NwYW4+fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWItMVwiPlxuICAgICAgICAgICAgPFVzZXJEYXRlIGRhdGVUaW1lPXtyZXZpc2lvbi5jcmVhdGVkQXR9IC8+XG4gICAgICAgICAgICA8YnIgY2xhc3NOYW1lPVwiZC14bC1ub25lIGQtYmxvY2tcIiAvPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwibWwteGwtM1wiIGhyZWY9e2A/cmV2aXNpb249JHtyZXZpc2lvbi5faWR9YH0+XG4gICAgICAgICAgICAgIDxpIGNsYXNzTmFtZT1cImljb24tbG9naW5cIj48L2k+IHsgdCgnR28gdG8gdGhpcyB2ZXJzaW9uJykgfVxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgcmV2aXNpb24gPSB0aGlzLnByb3BzLnJldmlzaW9uO1xuXG4gICAgaWYgKCF0aGlzLnByb3BzLmhhc0RpZmYpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlbmRlclNpbXBsaWZpZWROb2RpZmYocmV2aXNpb24pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnJlbmRlckZ1bGwocmV2aXNpb24pO1xuXG4gIH1cblxufVxuXG5SZXZpc2lvbi5wcm9wVHlwZXMgPSB7XG4gIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsIC8vIGkxOG5leHRcbiAgcmV2aXNpb246IFByb3BUeXBlcy5vYmplY3QsXG4gIGlzTGF0ZXN0UmV2aXNpb246IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gIHJldmlzaW9uRGlmZk9wZW5lZDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgaGFzRGlmZjogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUdBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUdBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBdkVBO0FBMEVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/PageHistory/Revision.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageHistory/RevisionDiff.jsx":
- /*!***************************************************************!*\
- !*** ./src/client/js/components/PageHistory/RevisionDiff.jsx ***!
- \***************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var diff__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! diff */ \"./node_modules/diff/dist/diff.js\");\n/* harmony import */ var diff__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(diff__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var diff2html__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! diff2html */ \"./node_modules/diff2html/lib-esm/diff2html.js\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _User_UserDate__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../User/UserDate */ \"./src/client/js/components/User/UserDate.jsx\");\n/* eslint-disable react/no-danger */\n\n\n\n\n\n\n\nclass RevisionDiff extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n render() {\n const {\n t\n } = this.props;\n const currentRevision = this.props.currentRevision;\n const previousRevision = this.props.previousRevision;\n const revisionDiffOpened = this.props.revisionDiffOpened;\n let diffViewHTML = '';\n\n if (currentRevision.body && previousRevision.body && revisionDiffOpened) {\n let previousText = previousRevision.body; // comparing ObjectId\n // eslint-disable-next-line eqeqeq\n\n if (currentRevision._id == previousRevision._id) {\n previousText = '';\n }\n\n const patch = Object(diff__WEBPACK_IMPORTED_MODULE_2__[\"createPatch\"])(currentRevision.path, previousText, currentRevision.body);\n const option = {\n drawFileList: false,\n outputFormat: 'side-by-side'\n };\n diffViewHTML = Object(diff2html__WEBPACK_IMPORTED_MODULE_3__[\"html\"])(patch, option);\n }\n\n const diffView = {\n __html: diffViewHTML\n };\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"comparison-header\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"container pt-1 pr-0\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"row\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col comparison-source-wrapper pt-1 px-0\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"comparison-source pr-3\"\n }, t('page_history.comparing_source')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_User_UserDate__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n dateTime: previousRevision.createdAt\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: `?revision=${previousRevision._id}`,\n className: \"ml-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-login\"\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col comparison-target-wrapper pt-1\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"comparison-target pr-3\"\n }, t('page_history.comparing_target')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_User_UserDate__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n dateTime: currentRevision.createdAt\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: `?revision=${currentRevision._id}`,\n className: \"ml-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-login\"\n })))))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"revision-history-diff pb-1\",\n dangerouslySetInnerHTML: diffView\n }));\n }\n\n}\n\nRevisionDiff.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n currentRevision: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object.isRequired,\n previousRevision: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object.isRequired,\n revisionDiffOpened: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_4__[\"withTranslation\"])()(RevisionDiff));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUhpc3RvcnkvUmV2aXNpb25EaWZmLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9QYWdlSGlzdG9yeS9SZXZpc2lvbkRpZmYuanN4Pzg4MGYiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcmVhY3Qvbm8tZGFuZ2VyICovXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuaW1wb3J0IHsgY3JlYXRlUGF0Y2ggfSBmcm9tICdkaWZmJztcbmltcG9ydCB7IGh0bWwgfSBmcm9tICdkaWZmMmh0bWwnO1xuaW1wb3J0IHsgd2l0aFRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5pbXBvcnQgVXNlckRhdGUgZnJvbSAnLi4vVXNlci9Vc2VyRGF0ZSc7XG5cbmNsYXNzIFJldmlzaW9uRGlmZiBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBjdXJyZW50UmV2aXNpb24gPSB0aGlzLnByb3BzLmN1cnJlbnRSZXZpc2lvbjtcbiAgICBjb25zdCBwcmV2aW91c1JldmlzaW9uID0gdGhpcy5wcm9wcy5wcmV2aW91c1JldmlzaW9uO1xuICAgIGNvbnN0IHJldmlzaW9uRGlmZk9wZW5lZCA9IHRoaXMucHJvcHMucmV2aXNpb25EaWZmT3BlbmVkO1xuXG5cbiAgICBsZXQgZGlmZlZpZXdIVE1MID0gJyc7XG4gICAgaWYgKGN1cnJlbnRSZXZpc2lvbi5ib2R5XG4gICAgICAmJiBwcmV2aW91c1JldmlzaW9uLmJvZHlcbiAgICAgICYmIHJldmlzaW9uRGlmZk9wZW5lZCkge1xuXG4gICAgICBsZXQgcHJldmlvdXNUZXh0ID0gcHJldmlvdXNSZXZpc2lvbi5ib2R5O1xuICAgICAgLy8gY29tcGFyaW5nIE9iamVjdElkXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZXFlcWVxXG4gICAgICBpZiAoY3VycmVudFJldmlzaW9uLl9pZCA9PSBwcmV2aW91c1JldmlzaW9uLl9pZCkge1xuICAgICAgICBwcmV2aW91c1RleHQgPSAnJztcbiAgICAgIH1cblxuICAgICAgY29uc3QgcGF0Y2ggPSBjcmVhdGVQYXRjaChcbiAgICAgICAgY3VycmVudFJldmlzaW9uLnBhdGgsXG4gICAgICAgIHByZXZpb3VzVGV4dCxcbiAgICAgICAgY3VycmVudFJldmlzaW9uLmJvZHksXG4gICAgICApO1xuICAgICAgY29uc3Qgb3B0aW9uID0ge1xuICAgICAgICBkcmF3RmlsZUxpc3Q6IGZhbHNlLFxuICAgICAgICBvdXRwdXRGb3JtYXQ6ICdzaWRlLWJ5LXNpZGUnLFxuICAgICAgfTtcblxuICAgICAgZGlmZlZpZXdIVE1MID0gaHRtbChwYXRjaCwgb3B0aW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCBkaWZmVmlldyA9IHsgX19odG1sOiBkaWZmVmlld0hUTUwgfTtcbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb21wYXJpc29uLWhlYWRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGFpbmVyIHB0LTEgcHItMFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgY29tcGFyaXNvbi1zb3VyY2Utd3JhcHBlciBwdC0xIHB4LTBcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJjb21wYXJpc29uLXNvdXJjZSBwci0zXCI+e3QoJ3BhZ2VfaGlzdG9yeS5jb21wYXJpbmdfc291cmNlJyl9PC9zcGFuPjxVc2VyRGF0ZSBkYXRlVGltZT17cHJldmlvdXNSZXZpc2lvbi5jcmVhdGVkQXR9IC8+XG4gICAgICAgICAgICAgICAgPGEgaHJlZj17YD9yZXZpc2lvbj0ke3ByZXZpb3VzUmV2aXNpb24uX2lkfWB9IGNsYXNzTmFtZT1cIm1sLTNcIj5cbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzTmFtZT1cImljb24tbG9naW5cIj48L2k+XG4gICAgICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBjb21wYXJpc29uLXRhcmdldC13cmFwcGVyIHB0LTFcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJjb21wYXJpc29uLXRhcmdldCBwci0zXCI+e3QoJ3BhZ2VfaGlzdG9yeS5jb21wYXJpbmdfdGFyZ2V0Jyl9PC9zcGFuPjxVc2VyRGF0ZSBkYXRlVGltZT17Y3VycmVudFJldmlzaW9uLmNyZWF0ZWRBdH0gLz5cbiAgICAgICAgICAgICAgICA8YSBocmVmPXtgP3JldmlzaW9uPSR7Y3VycmVudFJldmlzaW9uLl9pZH1gfSBjbGFzc05hbWU9XCJtbC0zXCI+XG4gICAgICAgICAgICAgICAgICA8aSBjbGFzc05hbWU9XCJpY29uLWxvZ2luXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmV2aXNpb24taGlzdG9yeS1kaWZmIHBiLTFcIiBkYW5nZXJvdXNseVNldElubmVySFRNTD17ZGlmZlZpZXd9IC8+XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG5cbn1cblxuUmV2aXNpb25EaWZmLnByb3BUeXBlcyA9IHtcbiAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgY3VycmVudFJldmlzaW9uOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gIHByZXZpb3VzUmV2aXNpb246IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgcmV2aXNpb25EaWZmT3BlbmVkOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFRyYW5zbGF0aW9uKCkoUmV2aXNpb25EaWZmKTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQUlBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFGQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUlBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFHQTtBQUNBO0FBNURBO0FBQ0E7QUE4REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FBT0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/PageHistory/RevisionDiff.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageList.jsx":
- /*!***********************************************!*\
- !*** ./src/client/js/components/PageList.jsx ***!
- \***********************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _PageList_Page__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PageList/Page */ \"./src/client/js/components/PageList/Page.jsx\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n/* harmony import */ var _PaginationWrapper__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./PaginationWrapper */ \"./src/client/js/components/PaginationWrapper.jsx\");\n\n\n\n\n\n\n\n\n\nconst PageList = props => {\n const {\n appContainer,\n pageContainer,\n t\n } = props;\n const {\n path\n } = pageContainer.state;\n const [pages, setPages] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(null);\n const [isLoading, setIsLoading] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(true);\n const [activePage, setActivePage] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(1);\n const [totalPages, setTotalPages] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(0);\n const [limit, setLimit] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(Infinity);\n\n function setPageNumber(selectedPageNumber) {\n setActivePage(selectedPageNumber);\n }\n\n const updatePageList = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useCallback\"])(async () => {\n const page = activePage;\n const res = await appContainer.apiv3Get('/pages/list', {\n path,\n page\n });\n setPages(res.data.pages);\n setIsLoading(false);\n setTotalPages(res.data.totalCount);\n setLimit(res.data.limit);\n }, [appContainer, path, activePage]);\n Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useEffect\"])(() => {\n updatePageList();\n }, [updatePageList]);\n\n if (isLoading) {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"wiki\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"text-muted text-center\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"fa fa-2x fa-spinner fa-pulse mr-1\"\n })));\n }\n\n const liClasses = props.liClasses.join(' ');\n const pageList = pages.map(page => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", {\n key: page._id,\n className: liClasses\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageList_Page__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n page: page\n })));\n\n if (pageList.length === 0) {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"mt-2\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", null, t('custom_navigation.no_page_list')));\n }\n\n if (appContainer.config.disableLinkSharing) {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"mt-2\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", null, t('custom_navigation.link_sharing_is_disabled')));\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"page-list\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"ul\", {\n className: \"page-list-ul page-list-ul-flat\"\n }, pageList), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PaginationWrapper__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n activePage: activePage,\n changePage: setPageNumber,\n totalItemsCount: totalPages,\n pagingLimit: limit,\n align: \"center\"\n }));\n};\n\nconst PageListWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_4__[\"withUnstatedContainers\"])(PageList, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"], _services_PageContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"]]);\nconst PageListTranslation = Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(PageListWrapper);\nPageList.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]),\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_6__[\"default\"]),\n liClasses: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string)\n};\nPageList.defaultProps = {\n liClasses: ['mb-3']\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (PageListTranslation);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUxpc3QuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1BhZ2VMaXN0LmpzeD8xNzQ0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZUNhbGxiYWNrLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyB3aXRoVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcblxuaW1wb3J0IFBhZ2UgZnJvbSAnLi9QYWdlTGlzdC9QYWdlJztcbmltcG9ydCB7IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMgfSBmcm9tICcuL1Vuc3RhdGVkVXRpbHMnO1xuXG5pbXBvcnQgQXBwQ29udGFpbmVyIGZyb20gJy4uL3NlcnZpY2VzL0FwcENvbnRhaW5lcic7XG5pbXBvcnQgUGFnZUNvbnRhaW5lciBmcm9tICcuLi9zZXJ2aWNlcy9QYWdlQ29udGFpbmVyJztcblxuaW1wb3J0IFBhZ2luYXRpb25XcmFwcGVyIGZyb20gJy4vUGFnaW5hdGlvbldyYXBwZXInO1xuXG5cbmNvbnN0IFBhZ2VMaXN0ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgYXBwQ29udGFpbmVyLCBwYWdlQ29udGFpbmVyLCB0IH0gPSBwcm9wcztcbiAgY29uc3QgeyBwYXRoIH0gPSBwYWdlQ29udGFpbmVyLnN0YXRlO1xuICBjb25zdCBbcGFnZXMsIHNldFBhZ2VzXSA9IHVzZVN0YXRlKG51bGwpO1xuICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gdXNlU3RhdGUodHJ1ZSk7XG5cbiAgY29uc3QgW2FjdGl2ZVBhZ2UsIHNldEFjdGl2ZVBhZ2VdID0gdXNlU3RhdGUoMSk7XG4gIGNvbnN0IFt0b3RhbFBhZ2VzLCBzZXRUb3RhbFBhZ2VzXSA9IHVzZVN0YXRlKDApO1xuICBjb25zdCBbbGltaXQsIHNldExpbWl0XSA9IHVzZVN0YXRlKEluZmluaXR5KTtcblxuICBmdW5jdGlvbiBzZXRQYWdlTnVtYmVyKHNlbGVjdGVkUGFnZU51bWJlcikge1xuICAgIHNldEFjdGl2ZVBhZ2Uoc2VsZWN0ZWRQYWdlTnVtYmVyKTtcbiAgfVxuXG4gIGNvbnN0IHVwZGF0ZVBhZ2VMaXN0ID0gdXNlQ2FsbGJhY2soYXN5bmMoKSA9PiB7XG4gICAgY29uc3QgcGFnZSA9IGFjdGl2ZVBhZ2U7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgYXBwQ29udGFpbmVyLmFwaXYzR2V0KCcvcGFnZXMvbGlzdCcsIHsgcGF0aCwgcGFnZSB9KTtcblxuICAgIHNldFBhZ2VzKHJlcy5kYXRhLnBhZ2VzKTtcbiAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgIHNldFRvdGFsUGFnZXMocmVzLmRhdGEudG90YWxDb3VudCk7XG4gICAgc2V0TGltaXQocmVzLmRhdGEubGltaXQpO1xuICB9LCBbYXBwQ29udGFpbmVyLCBwYXRoLCBhY3RpdmVQYWdlXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICB1cGRhdGVQYWdlTGlzdCgpO1xuICB9LCBbdXBkYXRlUGFnZUxpc3RdKTtcblxuXG4gIGlmIChpc0xvYWRpbmcpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3aWtpXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1tdXRlZCB0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgIDxpIGNsYXNzTmFtZT1cImZhIGZhLTJ4IGZhLXNwaW5uZXIgZmEtcHVsc2UgbXItMVwiPjwvaT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG5cbiAgY29uc3QgbGlDbGFzc2VzID0gcHJvcHMubGlDbGFzc2VzLmpvaW4oJyAnKTtcbiAgY29uc3QgcGFnZUxpc3QgPSBwYWdlcy5tYXAocGFnZSA9PiAoXG4gICAgPGxpIGtleT17cGFnZS5faWR9IGNsYXNzTmFtZT17bGlDbGFzc2VzfT5cbiAgICAgIDxQYWdlIHBhZ2U9e3BhZ2V9IC8+XG4gICAgPC9saT5cbiAgKSk7XG4gIGlmIChwYWdlTGlzdC5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJtdC0yXCI+XG4gICAgICAgIHsvKiBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tZGFuZ2VyICovfVxuICAgICAgICA8cD57dCgnY3VzdG9tX25hdmlnYXRpb24ubm9fcGFnZV9saXN0Jyl9PC9wPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuICBpZiAoYXBwQ29udGFpbmVyLmNvbmZpZy5kaXNhYmxlTGlua1NoYXJpbmcpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJtdC0yXCI+XG4gICAgICAgIHsvKiBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tZGFuZ2VyICovfVxuICAgICAgICA8cD57dCgnY3VzdG9tX25hdmlnYXRpb24ubGlua19zaGFyaW5nX2lzX2Rpc2FibGVkJyl9PC9wPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJwYWdlLWxpc3RcIj5cbiAgICAgIDx1bCBjbGFzc05hbWU9XCJwYWdlLWxpc3QtdWwgcGFnZS1saXN0LXVsLWZsYXRcIj5cbiAgICAgICAge3BhZ2VMaXN0fVxuICAgICAgPC91bD5cbiAgICAgIDxQYWdpbmF0aW9uV3JhcHBlclxuICAgICAgICBhY3RpdmVQYWdlPXthY3RpdmVQYWdlfVxuICAgICAgICBjaGFuZ2VQYWdlPXtzZXRQYWdlTnVtYmVyfVxuICAgICAgICB0b3RhbEl0ZW1zQ291bnQ9e3RvdGFsUGFnZXN9XG4gICAgICAgIHBhZ2luZ0xpbWl0PXtsaW1pdH1cbiAgICAgICAgYWxpZ249XCJjZW50ZXJcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgKTtcblxuXG59O1xuXG5jb25zdCBQYWdlTGlzdFdyYXBwZXIgPSB3aXRoVW5zdGF0ZWRDb250YWluZXJzKFBhZ2VMaXN0LCBbQXBwQ29udGFpbmVyLCBQYWdlQ29udGFpbmVyXSk7XG5cbmNvbnN0IFBhZ2VMaXN0VHJhbnNsYXRpb24gPSB3aXRoVHJhbnNsYXRpb24oKShQYWdlTGlzdFdyYXBwZXIpO1xuXG5cblBhZ2VMaXN0LnByb3BUeXBlcyA9IHtcbiAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCwgLy8gaTE4bmV4dFxuICBhcHBDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKEFwcENvbnRhaW5lciksXG4gIHBhZ2VDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKFBhZ2VDb250YWluZXIpLFxuXG4gIGxpQ2xhc3NlczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnN0cmluZyksXG59O1xuUGFnZUxpc3QuZGVmYXVsdFByb3BzID0ge1xuICBsaUNsYXNzZXM6IFsnbWItMyddLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgUGFnZUxpc3RUcmFuc2xhdGlvbjtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQVdBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBTEE7QUFPQTtBQUNBO0FBREE7QUFJQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/PageList.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageList/BookmarkList.jsx":
- /*!************************************************************!*\
- !*** ./src/client/js/components/PageList/BookmarkList.jsx ***!
- \************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @alias/logger */ \"./src/lib/service/logger/index.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_alias_logger__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _util_apiNotification__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../util/apiNotification */ \"./src/client/js/util/apiNotification.js\");\n/* harmony import */ var _PaginationWrapper__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../PaginationWrapper */ \"./src/client/js/components/PaginationWrapper.jsx\");\n/* harmony import */ var _Page__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Page */ \"./src/client/js/components/PageList/Page.jsx\");\n\n\n\n\n\n\n\n\n\nconst logger = _alias_logger__WEBPACK_IMPORTED_MODULE_3___default()('growi:BookmarkList');\n\nconst BookmarkList = props => {\n const {\n t,\n appContainer,\n userId\n } = props;\n const [pages, setPages] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])([]);\n const [activePage, setActivePage] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(1);\n const [totalItemsCount, setTotalItemsCount] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(0);\n const [pagingLimit, setPagingLimit] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(10);\n\n const setPageNumber = selectedPageNumber => {\n setActivePage(selectedPageNumber);\n };\n\n const getMyBookmarkList = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useCallback\"])(async () => {\n const page = activePage;\n\n try {\n const res = await appContainer.apiv3Get(`/bookmarks/${userId}`, {\n page\n });\n const {\n paginationResult\n } = res.data;\n setPages(paginationResult.docs);\n setTotalItemsCount(paginationResult.totalDocs);\n setPagingLimit(paginationResult.limit);\n } catch (error) {\n logger.error('failed to fetch data', error);\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_6__[\"toastError\"])(error, 'Error occurred in bookmark page list');\n }\n }, [appContainer, activePage, userId]);\n Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useEffect\"])(() => {\n getMyBookmarkList();\n }, [getMyBookmarkList]);\n /**\n * generate Elements of Page\n *\n * @param {any} pages Array of pages Model Obj\n *\n */\n\n const generatePageList = pages.map(page => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", {\n key: `my-bookmarks:${page._id}`,\n className: \"mt-4\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Page__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n page: page.page\n })));\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"bookmarks-list-container\"\n }, pages.length === 0 ? t('No bookmarks yet') : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"ul\", {\n className: \"page-list-ul page-list-ul-flat mb-3\"\n }, generatePageList), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PaginationWrapper__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n activePage: activePage,\n changePage: setPageNumber,\n totalItemsCount: totalItemsCount,\n pagingLimit: pagingLimit,\n align: \"center\",\n size: \"sm\"\n })));\n};\n/**\n * Wrapper component for using unstated\n */\n\n\nconst BookmarkListWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_4__[\"withUnstatedContainers\"])(BookmarkList, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]]);\nBookmarkList.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]).isRequired,\n userId: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(BookmarkListWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZUxpc3QvQm9va21hcmtMaXN0LmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9QYWdlTGlzdC9Cb29rbWFya0xpc3QuanN4Pzc0ZDMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlLCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IHdpdGhUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuaW1wb3J0IGxvZ2dlckZhY3RvcnkgZnJvbSAnQGFsaWFzL2xvZ2dlcic7XG5pbXBvcnQgeyB3aXRoVW5zdGF0ZWRDb250YWluZXJzIH0gZnJvbSAnLi4vVW5zdGF0ZWRVdGlscyc7XG5cblxuaW1wb3J0IEFwcENvbnRhaW5lciBmcm9tICcuLi8uLi9zZXJ2aWNlcy9BcHBDb250YWluZXInO1xuaW1wb3J0IHsgdG9hc3RFcnJvciB9IGZyb20gJy4uLy4uL3V0aWwvYXBpTm90aWZpY2F0aW9uJztcblxuaW1wb3J0IFBhZ2luYXRpb25XcmFwcGVyIGZyb20gJy4uL1BhZ2luYXRpb25XcmFwcGVyJztcblxuaW1wb3J0IFBhZ2UgZnJvbSAnLi9QYWdlJztcblxuY29uc3QgbG9nZ2VyID0gbG9nZ2VyRmFjdG9yeSgnZ3Jvd2k6Qm9va21hcmtMaXN0Jyk7XG5cbmNvbnN0IEJvb2ttYXJrTGlzdCA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IHQsIGFwcENvbnRhaW5lciwgdXNlcklkIH0gPSBwcm9wcztcblxuICBjb25zdCBbcGFnZXMsIHNldFBhZ2VzXSA9IHVzZVN0YXRlKFtdKTtcblxuICBjb25zdCBbYWN0aXZlUGFnZSwgc2V0QWN0aXZlUGFnZV0gPSB1c2VTdGF0ZSgxKTtcbiAgY29uc3QgW3RvdGFsSXRlbXNDb3VudCwgc2V0VG90YWxJdGVtc0NvdW50XSA9IHVzZVN0YXRlKDApO1xuICBjb25zdCBbcGFnaW5nTGltaXQsIHNldFBhZ2luZ0xpbWl0XSA9IHVzZVN0YXRlKDEwKTtcblxuICBjb25zdCBzZXRQYWdlTnVtYmVyID0gKHNlbGVjdGVkUGFnZU51bWJlcikgPT4ge1xuICAgIHNldEFjdGl2ZVBhZ2Uoc2VsZWN0ZWRQYWdlTnVtYmVyKTtcbiAgfTtcblxuICBjb25zdCBnZXRNeUJvb2ttYXJrTGlzdCA9IHVzZUNhbGxiYWNrKGFzeW5jKCkgPT4ge1xuICAgIGNvbnN0IHBhZ2UgPSBhY3RpdmVQYWdlO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGFwcENvbnRhaW5lci5hcGl2M0dldChgL2Jvb2ttYXJrcy8ke3VzZXJJZH1gLCB7IHBhZ2UgfSk7XG4gICAgICBjb25zdCB7IHBhZ2luYXRpb25SZXN1bHQgfSA9IHJlcy5kYXRhO1xuXG4gICAgICBzZXRQYWdlcyhwYWdpbmF0aW9uUmVzdWx0LmRvY3MpO1xuICAgICAgc2V0VG90YWxJdGVtc0NvdW50KHBhZ2luYXRpb25SZXN1bHQudG90YWxEb2NzKTtcbiAgICAgIHNldFBhZ2luZ0xpbWl0KHBhZ2luYXRpb25SZXN1bHQubGltaXQpO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGxvZ2dlci5lcnJvcignZmFpbGVkIHRvIGZldGNoIGRhdGEnLCBlcnJvcik7XG4gICAgICB0b2FzdEVycm9yKGVycm9yLCAnRXJyb3Igb2NjdXJyZWQgaW4gYm9va21hcmsgcGFnZSBsaXN0Jyk7XG4gICAgfVxuICB9LCBbYXBwQ29udGFpbmVyLCBhY3RpdmVQYWdlLCB1c2VySWRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGdldE15Qm9va21hcmtMaXN0KCk7XG4gIH0sIFtnZXRNeUJvb2ttYXJrTGlzdF0pO1xuXG4gIC8qKlxuICAgKiBnZW5lcmF0ZSBFbGVtZW50cyBvZiBQYWdlXG4gICAqXG4gICAqIEBwYXJhbSB7YW55fSBwYWdlcyBBcnJheSBvZiBwYWdlcyBNb2RlbCBPYmpcbiAgICpcbiAgICovXG4gIGNvbnN0IGdlbmVyYXRlUGFnZUxpc3QgPSBwYWdlcy5tYXAocGFnZSA9PiAoXG4gICAgPGxpIGtleT17YG15LWJvb2ttYXJrczoke3BhZ2UuX2lkfWB9IGNsYXNzTmFtZT1cIm10LTRcIj5cbiAgICAgIDxQYWdlIHBhZ2U9e3BhZ2UucGFnZX0gLz5cbiAgICA8L2xpPlxuICApKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiYm9va21hcmtzLWxpc3QtY29udGFpbmVyXCI+XG4gICAgICB7cGFnZXMubGVuZ3RoID09PSAwID8gdCgnTm8gYm9va21hcmtzIHlldCcpIDogKFxuICAgICAgICA8PlxuICAgICAgICAgIDx1bCBjbGFzc05hbWU9XCJwYWdlLWxpc3QtdWwgcGFnZS1saXN0LXVsLWZsYXQgbWItM1wiPlxuICAgICAgICAgICAge2dlbmVyYXRlUGFnZUxpc3R9XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgICA8UGFnaW5hdGlvbldyYXBwZXJcbiAgICAgICAgICAgIGFjdGl2ZVBhZ2U9e2FjdGl2ZVBhZ2V9XG4gICAgICAgICAgICBjaGFuZ2VQYWdlPXtzZXRQYWdlTnVtYmVyfVxuICAgICAgICAgICAgdG90YWxJdGVtc0NvdW50PXt0b3RhbEl0ZW1zQ291bnR9XG4gICAgICAgICAgICBwYWdpbmdMaW1pdD17cGFnaW5nTGltaXR9XG4gICAgICAgICAgICBhbGlnbj1cImNlbnRlclwiXG4gICAgICAgICAgICBzaXplPVwic21cIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvPlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKTtcblxufTtcblxuLyoqXG4gKiBXcmFwcGVyIGNvbXBvbmVudCBmb3IgdXNpbmcgdW5zdGF0ZWRcbiAqL1xuY29uc3QgQm9va21hcmtMaXN0V3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoQm9va21hcmtMaXN0LCBbQXBwQ29udGFpbmVyXSk7XG5cbkJvb2ttYXJrTGlzdC5wcm9wVHlwZXMgPSB7XG4gIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIGFwcENvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoQXBwQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuXG4gIHVzZXJJZDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFRyYW5zbGF0aW9uKCkoQm9va21hcmtMaXN0V3JhcHBlcik7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFFQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBOzs7Ozs7O0FBTUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBSUE7QUFDQTtBQUFBO0FBR0E7QUFBQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU5BO0FBYUE7QUFFQTs7Ozs7QUFHQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBSkE7QUFPQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/PageList/BookmarkList.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageManagement/ApiErrorMessage.jsx":
- /*!*********************************************************************!*\
- !*** ./src/client/js/components/PageManagement/ApiErrorMessage.jsx ***!
- \*********************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n\n\n\n\nconst ApiErrorMessage = props => {\n const {\n t,\n errorCode,\n errorMessage,\n targetPath\n } = props;\n\n function reload() {\n window.location.reload();\n }\n\n function renderMessageByErrorCode() {\n switch (errorCode) {\n case 'already_exists':\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"strong\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-ban\"\n }), t('page_api_error.already_exists')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"small\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: targetPath\n }, targetPath, \" \", react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-login\"\n }))));\n\n case 'notfound_or_forbidden':\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"strong\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-ban\"\n }), t('page_api_error.notfound_or_forbidden'));\n\n case 'user_not_admin':\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"strong\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-ban\"\n }), t('page_api_error.user_not_admin'));\n\n case 'outdated':\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"strong\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-bulb\"\n }), \" \", t('page_api_error.outdated')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n className: \"btn-link\",\n onClick: reload\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"fa fa-angle-double-right\"\n }), \" \", t('Load latest')));\n\n case 'invalid_path':\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"strong\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-ban\"\n }), \" Invalid path\");\n\n default:\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"strong\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-ban\"\n }), \" Unknown error occured\");\n }\n }\n\n if (errorCode != null) {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"text-danger\"\n }, renderMessageByErrorCode());\n }\n\n if (errorMessage != null) {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"text-danger\"\n }, errorMessage);\n } // render null if no error has occurred\n\n\n return null;\n};\n\nApiErrorMessage.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n errorCode: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n errorMessage: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n targetPath: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(ApiErrorMessage));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZU1hbmFnZW1lbnQvQXBpRXJyb3JNZXNzYWdlLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9QYWdlTWFuYWdlbWVudC9BcGlFcnJvck1lc3NhZ2UuanN4P2I4YTgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCB7IHdpdGhUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuXG5jb25zdCBBcGlFcnJvck1lc3NhZ2UgPSAocHJvcHMpID0+IHtcbiAgY29uc3Qge1xuICAgIHQsIGVycm9yQ29kZSwgZXJyb3JNZXNzYWdlLCB0YXJnZXRQYXRoLFxuICB9ID0gcHJvcHM7XG5cbiAgZnVuY3Rpb24gcmVsb2FkKCkge1xuICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHJlbmRlck1lc3NhZ2VCeUVycm9yQ29kZSgpIHtcbiAgICBzd2l0Y2ggKGVycm9yQ29kZSkge1xuICAgICAgY2FzZSAnYWxyZWFkeV9leGlzdHMnOlxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8c3Ryb25nPjxpIGNsYXNzTmFtZT1cImljb24tZncgaWNvbi1iYW5cIj48L2k+eyB0KCdwYWdlX2FwaV9lcnJvci5hbHJlYWR5X2V4aXN0cycpIH08L3N0cm9uZz5cbiAgICAgICAgICAgIDxzbWFsbD48YSBocmVmPXt0YXJnZXRQYXRofT57dGFyZ2V0UGF0aH0gPGkgY2xhc3NOYW1lPVwiaWNvbi1sb2dpblwiPjwvaT48L2E+PC9zbWFsbD5cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKTtcbiAgICAgIGNhc2UgJ25vdGZvdW5kX29yX2ZvcmJpZGRlbic6XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPHN0cm9uZz48aSBjbGFzc05hbWU9XCJpY29uLWZ3IGljb24tYmFuXCI+PC9pPnsgdCgncGFnZV9hcGlfZXJyb3Iubm90Zm91bmRfb3JfZm9yYmlkZGVuJykgfTwvc3Ryb25nPlxuICAgICAgICApO1xuICAgICAgY2FzZSAndXNlcl9ub3RfYWRtaW4nOlxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxzdHJvbmc+PGkgY2xhc3NOYW1lPVwiaWNvbi1mdyBpY29uLWJhblwiPjwvaT57IHQoJ3BhZ2VfYXBpX2Vycm9yLnVzZXJfbm90X2FkbWluJykgfTwvc3Ryb25nPlxuICAgICAgICApO1xuICAgICAgY2FzZSAnb3V0ZGF0ZWQnOlxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8c3Ryb25nPjxpIGNsYXNzTmFtZT1cImljb24tZncgaWNvbi1idWxiXCI+PC9pPiB7IHQoJ3BhZ2VfYXBpX2Vycm9yLm91dGRhdGVkJykgfTwvc3Ryb25nPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwiYnRuLWxpbmtcIiBvbkNsaWNrPXtyZWxvYWR9PlxuICAgICAgICAgICAgICA8aSBjbGFzc05hbWU9XCJmYSBmYS1hbmdsZS1kb3VibGUtcmlnaHRcIj48L2k+IHsgdCgnTG9hZCBsYXRlc3QnKSB9XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC8+XG4gICAgICAgICk7XG4gICAgICBjYXNlICdpbnZhbGlkX3BhdGgnOlxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxzdHJvbmc+PGkgY2xhc3NOYW1lPVwiaWNvbi1mdyBpY29uLWJhblwiPjwvaT4gSW52YWxpZCBwYXRoPC9zdHJvbmc+XG4gICAgICAgICk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxzdHJvbmc+PGkgY2xhc3NOYW1lPVwiaWNvbi1mdyBpY29uLWJhblwiPjwvaT4gVW5rbm93biBlcnJvciBvY2N1cmVkPC9zdHJvbmc+XG4gICAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGVycm9yQ29kZSAhPSBudWxsKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtZGFuZ2VyXCI+XG4gICAgICAgIHtyZW5kZXJNZXNzYWdlQnlFcnJvckNvZGUoKX1cbiAgICAgIDwvc3Bhbj5cbiAgICApO1xuICB9XG5cbiAgaWYgKGVycm9yTWVzc2FnZSAhPSBudWxsKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtZGFuZ2VyXCI+XG4gICAgICAgIHtlcnJvck1lc3NhZ2V9XG4gICAgICA8L3NwYW4+XG4gICAgKTtcbiAgfVxuXG4gIC8vIHJlbmRlciBudWxsIGlmIG5vIGVycm9yIGhhcyBvY2N1cnJlZFxuICByZXR1cm4gbnVsbDtcblxufTtcblxuQXBpRXJyb3JNZXNzYWdlLnByb3BUeXBlcyA9IHtcbiAgdDogICAgICAgICAgICBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLCAvLyAgaTE4bmV4dFxuXG4gIGVycm9yQ29kZTogICAgUHJvcFR5cGVzLnN0cmluZyxcbiAgZXJyb3JNZXNzYWdlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICB0YXJnZXRQYXRoOiAgIFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoVHJhbnNsYXRpb24oKShBcGlFcnJvck1lc3NhZ2UpO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQURBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBL0JBO0FBa0NBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUxBO0FBUUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/PageManagement/ApiErrorMessage.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageManagement/ApiErrorMessageList.jsx":
- /*!*************************************************************************!*\
- !*** ./src/client/js/components/PageManagement/ApiErrorMessageList.jsx ***!
- \*************************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _ApiErrorMessage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ApiErrorMessage */ \"./src/client/js/components/PageManagement/ApiErrorMessage.jsx\");\n/* harmony import */ var _lib_util_toArrayIfNot__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../lib/util/toArrayIfNot */ \"./src/lib/util/toArrayIfNot.js\");\n/* harmony import */ var _lib_util_toArrayIfNot__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_lib_util_toArrayIfNot__WEBPACK_IMPORTED_MODULE_3__);\n\n\n\n\n\nfunction ApiErrorMessageList(props) {\n const errs = _lib_util_toArrayIfNot__WEBPACK_IMPORTED_MODULE_3___default()(props.errs);\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, errs.map(err => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ApiErrorMessage__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n key: err.code,\n errorCode: err.code,\n errorMessage: err.message,\n targetPath: props.targetPath\n })));\n}\n\nApiErrorMessageList.propTypes = {\n errs: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.array, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object]),\n targetPath: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (ApiErrorMessageList);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZU1hbmFnZW1lbnQvQXBpRXJyb3JNZXNzYWdlTGlzdC5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZU1hbmFnZW1lbnQvQXBpRXJyb3JNZXNzYWdlTGlzdC5qc3g/NDRhZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuaW1wb3J0IEFwaUVycm9yTWVzc2FnZSBmcm9tICcuL0FwaUVycm9yTWVzc2FnZSc7XG5pbXBvcnQgdG9BcnJheUlmTm90IGZyb20gJy4uLy4uLy4uLy4uL2xpYi91dGlsL3RvQXJyYXlJZk5vdCc7XG5cbmZ1bmN0aW9uIEFwaUVycm9yTWVzc2FnZUxpc3QocHJvcHMpIHtcbiAgY29uc3QgZXJycyA9IHRvQXJyYXlJZk5vdChwcm9wcy5lcnJzKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7ZXJycy5tYXAoZXJyID0+IDxBcGlFcnJvck1lc3NhZ2Uga2V5PXtlcnIuY29kZX0gZXJyb3JDb2RlPXtlcnIuY29kZX0gZXJyb3JNZXNzYWdlPXtlcnIubWVzc2FnZX0gdGFyZ2V0UGF0aD17cHJvcHMudGFyZ2V0UGF0aH0gLz4pfVxuICAgIDwvPlxuICApO1xuXG59XG5cbkFwaUVycm9yTWVzc2FnZUxpc3QucHJvcFR5cGVzID0ge1xuICBlcnJzOiAgICAgICAgIFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5hcnJheSwgUHJvcFR5cGVzLm9iamVjdF0pLFxuICB0YXJnZXRQYXRoOiAgIFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBBcGlFcnJvck1lc3NhZ2VMaXN0O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRkE7QUFLQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/PageManagement/ApiErrorMessageList.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PagePresentationModal.jsx":
- /*!************************************************************!*\
- !*** ./src/client/js/components/PagePresentationModal.jsx ***!
- \************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! reactstrap/es/Modal */ \"./node_modules/reactstrap/es/Modal.js\");\n/* harmony import */ var reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! reactstrap/es/ModalBody */ \"./node_modules/reactstrap/es/ModalBody.js\");\n\n\n\n\n\nconst PagePresentationModal = props => {\n function closeModalHandler() {\n if (props.onClose === null) {\n return;\n }\n\n props.onClose();\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n isOpen: props.isOpen,\n toggle: closeModalHandler,\n className: \"grw-presentation-modal\",\n unmountOnClose: false\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n className: \"modal-body\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"iframe\", {\n src: props.href\n })));\n};\n\nPagePresentationModal.propTypes = {\n isOpen: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,\n onClose: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n href: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (PagePresentationModal);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZVByZXNlbnRhdGlvbk1vZGFsLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9QYWdlUHJlc2VudGF0aW9uTW9kYWwuanN4PzYyNTkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQge1xuICBNb2RhbCwgTW9kYWxCb2R5LFxufSBmcm9tICdyZWFjdHN0cmFwJztcblxuY29uc3QgUGFnZVByZXNlbnRhdGlvbk1vZGFsID0gKHByb3BzKSA9PiB7XG5cbiAgZnVuY3Rpb24gY2xvc2VNb2RhbEhhbmRsZXIoKSB7XG4gICAgaWYgKHByb3BzLm9uQ2xvc2UgPT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgcHJvcHMub25DbG9zZSgpO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8TW9kYWwgaXNPcGVuPXtwcm9wcy5pc09wZW59IHRvZ2dsZT17Y2xvc2VNb2RhbEhhbmRsZXJ9IGNsYXNzTmFtZT1cImdydy1wcmVzZW50YXRpb24tbW9kYWxcIiB1bm1vdW50T25DbG9zZT17ZmFsc2V9PlxuICAgICAgPE1vZGFsQm9keSBjbGFzc05hbWU9XCJtb2RhbC1ib2R5XCI+XG4gICAgICAgIDxpZnJhbWUgc3JjPXtwcm9wcy5ocmVmfSAvPlxuICAgICAgPC9Nb2RhbEJvZHk+XG4gICAgPC9Nb2RhbD5cbiAgKTtcbn07XG5QYWdlUHJlc2VudGF0aW9uTW9kYWwucHJvcFR5cGVzID0ge1xuICBpc09wZW46IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gIG9uQ2xvc2U6IFByb3BUeXBlcy5mdW5jLFxuICBocmVmOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG59O1xuXG5cbmV4cG9ydCBkZWZhdWx0IFBhZ2VQcmVzZW50YXRpb25Nb2RhbDtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBOzs7O0FBS0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFJQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQU9BIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/PagePresentationModal.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageRenameModal.jsx":
- /*!******************************************************!*\
- !*** ./src/client/js/components/PageRenameModal.jsx ***!
- \******************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! reactstrap/es/Modal */ \"./node_modules/reactstrap/es/Modal.js\");\n/* harmony import */ var reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! reactstrap/es/ModalHeader */ \"./node_modules/reactstrap/es/ModalHeader.js\");\n/* harmony import */ var reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! reactstrap/es/ModalBody */ \"./node_modules/reactstrap/es/ModalBody.js\");\n/* harmony import */ var reactstrap_es_ModalFooter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! reactstrap/es/ModalFooter */ \"./node_modules/reactstrap/es/ModalFooter.js\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var throttle_debounce__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! throttle-debounce */ \"./node_modules/throttle-debounce/index.esm.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _util_apiNotification__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../util/apiNotification */ \"./src/client/js/util/apiNotification.js\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n/* harmony import */ var _PageManagement_ApiErrorMessageList__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./PageManagement/ApiErrorMessageList */ \"./src/client/js/components/PageManagement/ApiErrorMessageList.jsx\");\n/* harmony import */ var _ComparePathsTable__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./ComparePathsTable */ \"./src/client/js/components/ComparePathsTable.jsx\");\n/* harmony import */ var _DuplicatedPathsTable__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./DuplicatedPathsTable */ \"./src/client/js/components/DuplicatedPathsTable.jsx\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst PageRenameModal = props => {\n const {\n t,\n appContainer,\n pageContainer\n } = props;\n const {\n path\n } = pageContainer.state;\n const {\n crowi\n } = appContainer.config;\n const [pageNameInput, setPageNameInput] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(path);\n const [errs, setErrs] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(null);\n const [subordinatedPages, setSubordinatedPages] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])([]);\n const [existingPaths, setExistingPaths] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])([]);\n const [isRenameRecursively, SetIsRenameRecursively] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(true);\n const [isRenameRedirect, SetIsRenameRedirect] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(false);\n const [isRenameMetadata, SetIsRenameMetadata] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(false);\n const [subordinatedError] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(null);\n const [isRenameRecursivelyWithoutExistPath, setIsRenameRecursivelyWithoutExistPath] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(true);\n\n function changeIsRenameRecursivelyHandler() {\n SetIsRenameRecursively(!isRenameRecursively);\n }\n\n function changeIsRenameRecursivelyWithoutExistPathHandler() {\n setIsRenameRecursivelyWithoutExistPath(!isRenameRecursivelyWithoutExistPath);\n }\n\n function changeIsRenameRedirectHandler() {\n SetIsRenameRedirect(!isRenameRedirect);\n }\n\n function changeIsRenameMetadataHandler() {\n SetIsRenameMetadata(!isRenameMetadata);\n }\n\n const updateSubordinatedList = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useCallback\"])(async () => {\n try {\n const res = await appContainer.apiv3Get('/pages/subordinated-list', {\n path\n });\n const {\n subordinatedPaths\n } = res.data;\n setSubordinatedPages(subordinatedPaths);\n } catch (err) {\n setErrs(err);\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_9__[\"toastError\"])(t('modal_rename.label.Fail to get subordinated pages'));\n }\n }, [appContainer, path, t]);\n Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useEffect\"])(() => {\n if (props.isOpen) {\n updateSubordinatedList();\n }\n }, [props.isOpen, updateSubordinatedList]);\n\n const checkExistPaths = async newParentPath => {\n try {\n const res = await appContainer.apiv3Get('/page/exist-paths', {\n fromPath: path,\n toPath: newParentPath\n });\n const {\n existPaths\n } = res.data;\n setExistingPaths(existPaths);\n } catch (err) {\n setErrs(err);\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_9__[\"toastError\"])(t('modal_rename.label.Fail to get exist path'));\n }\n }; // eslint-disable-next-line react-hooks/exhaustive-deps\n\n\n const checkExistPathsDebounce = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useCallback\"])(Object(throttle_debounce__WEBPACK_IMPORTED_MODULE_7__[\"debounce\"])(1000, checkExistPaths), []);\n Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useEffect\"])(() => {\n if (pageNameInput !== path) {\n checkExistPathsDebounce(pageNameInput, subordinatedPages);\n }\n }, [pageNameInput, subordinatedPages, path, checkExistPathsDebounce]);\n /**\n * change pageNameInput\n * @param {string} value\n */\n\n function inputChangeHandler(value) {\n setErrs(null);\n setPageNameInput(value);\n }\n\n async function rename() {\n setErrs(null);\n\n try {\n const response = await pageContainer.rename(pageNameInput, isRenameRecursively, isRenameRedirect, isRenameMetadata);\n const {\n page\n } = response.data;\n const url = new URL(page.path, 'https://dummy');\n url.searchParams.append('renamedFrom', path);\n\n if (isRenameRedirect) {\n url.searchParams.append('withRedirect', true);\n }\n\n window.location.href = `${url.pathname}${url.search}`;\n } catch (err) {\n setErrs(err);\n }\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n size: \"lg\",\n isOpen: props.isOpen,\n toggle: props.onClose,\n autoFocus: false\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n tag: \"h4\",\n toggle: props.onClose,\n className: \"bg-primary text-light\"\n }, t('modal_rename.label.Move/Rename page')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_4__[\"default\"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"form-group\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", null, t('modal_rename.label.Current page name')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"br\", null), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"code\", null, path)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"form-group\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n htmlFor: \"newPageName\"\n }, t('modal_rename.label.New page name')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"br\", null), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group-prepend\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"input-group-text\"\n }, crowi.url)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"form\", {\n className: \"flex-fill\",\n onSubmit: e => {\n e.preventDefault();\n rename();\n }\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"text\",\n value: pageNameInput,\n className: \"form-control\",\n onChange: e => inputChangeHandler(e.target.value),\n required: true,\n autoFocus: true\n })))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"custom-control custom-checkbox custom-checkbox-warning\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n className: \"custom-control-input\",\n name: \"recursively\",\n id: \"cbRenameRecursively\",\n type: \"checkbox\",\n checked: isRenameRecursively,\n onChange: changeIsRenameRecursivelyHandler\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"custom-control-label\",\n htmlFor: \"cbRenameRecursively\"\n }, t('modal_rename.label.Recursively'), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"form-text text-muted mt-0\"\n }, t('modal_rename.help.recursive'))), existingPaths.length !== 0 && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"custom-control custom-checkbox custom-checkbox-warning\",\n style: {\n display: isRenameRecursively ? '' : 'none'\n }\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n className: \"custom-control-input\",\n name: \"withoutExistRecursively\",\n id: \"cbRenamewithoutExistRecursively\",\n type: \"checkbox\",\n checked: isRenameRecursivelyWithoutExistPath,\n onChange: changeIsRenameRecursivelyWithoutExistPathHandler\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"custom-control-label\",\n htmlFor: \"cbRenamewithoutExistRecursively\"\n }, t('modal_rename.label.Rename without exist path'))), isRenameRecursively && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ComparePathsTable__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n subordinatedPages: subordinatedPages,\n newPagePath: pageNameInput\n }), isRenameRecursively && existingPaths.length !== 0 && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_DuplicatedPathsTable__WEBPACK_IMPORTED_MODULE_14__[\"default\"], {\n existingPaths: existingPaths,\n oldPagePath: pageNameInput\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"custom-control custom-checkbox custom-checkbox-success\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n className: \"custom-control-input\",\n name: \"create_redirect\",\n id: \"cbRenameRedirect\",\n type: \"checkbox\",\n checked: isRenameRedirect,\n onChange: changeIsRenameRedirectHandler\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"custom-control-label\",\n htmlFor: \"cbRenameRedirect\"\n }, t('modal_rename.label.Redirect'), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"form-text text-muted mt-0\"\n }, t('modal_rename.help.redirect')))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"custom-control custom-checkbox custom-checkbox-primary\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n className: \"custom-control-input\",\n name: \"remain_metadata\",\n id: \"cbRenameMetadata\",\n type: \"checkbox\",\n checked: isRenameMetadata,\n onChange: changeIsRenameMetadataHandler\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"custom-control-label\",\n htmlFor: \"cbRenameMetadata\"\n }, t('modal_rename.label.Do not update metadata'), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"form-text text-muted mt-0\"\n }, t('modal_rename.help.metadata')))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", null, \" \", subordinatedError, \" \")), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalFooter__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageManagement_ApiErrorMessageList__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n errs: errs,\n targetPath: pageNameInput\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-primary\",\n onClick: rename,\n disabled: isRenameRecursively && !isRenameRecursivelyWithoutExistPath && existingPaths.length !== 0\n }, \"Rename\")));\n};\n/**\n * Wrapper component for using unstated\n */\n\n\nconst PageRenameModalWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_8__[\"withUnstatedContainers\"])(PageRenameModal, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_10__[\"default\"], _services_PageContainer__WEBPACK_IMPORTED_MODULE_11__[\"default\"]]);\nPageRenameModal.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_10__[\"default\"]).isRequired,\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_11__[\"default\"]).isRequired,\n isOpen: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,\n onClose: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n path: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_6__[\"withTranslation\"])()(PageRenameModalWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZVJlbmFtZU1vZGFsLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9QYWdlUmVuYW1lTW9kYWwuanN4PzgzMGEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVN0YXRlLCB1c2VFZmZlY3QsIHVzZUNhbGxiYWNrLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQge1xuICBNb2RhbCwgTW9kYWxIZWFkZXIsIE1vZGFsQm9keSwgTW9kYWxGb290ZXIsXG59IGZyb20gJ3JlYWN0c3RyYXAnO1xuXG5pbXBvcnQgeyB3aXRoVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcblxuaW1wb3J0IHsgZGVib3VuY2UgfSBmcm9tICd0aHJvdHRsZS1kZWJvdW5jZSc7XG5pbXBvcnQgeyB3aXRoVW5zdGF0ZWRDb250YWluZXJzIH0gZnJvbSAnLi9VbnN0YXRlZFV0aWxzJztcbmltcG9ydCB7IHRvYXN0RXJyb3IgfSBmcm9tICcuLi91dGlsL2FwaU5vdGlmaWNhdGlvbic7XG5cbmltcG9ydCBBcHBDb250YWluZXIgZnJvbSAnLi4vc2VydmljZXMvQXBwQ29udGFpbmVyJztcbmltcG9ydCBQYWdlQ29udGFpbmVyIGZyb20gJy4uL3NlcnZpY2VzL1BhZ2VDb250YWluZXInO1xuaW1wb3J0IEFwaUVycm9yTWVzc2FnZUxpc3QgZnJvbSAnLi9QYWdlTWFuYWdlbWVudC9BcGlFcnJvck1lc3NhZ2VMaXN0JztcbmltcG9ydCBDb21wYXJlUGF0aHNUYWJsZSBmcm9tICcuL0NvbXBhcmVQYXRoc1RhYmxlJztcbmltcG9ydCBEdXBsaWNhdGVkUGF0aHNUYWJsZSBmcm9tICcuL0R1cGxpY2F0ZWRQYXRoc1RhYmxlJztcblxuXG5jb25zdCBQYWdlUmVuYW1lTW9kYWwgPSAocHJvcHMpID0+IHtcbiAgY29uc3Qge1xuICAgIHQsIGFwcENvbnRhaW5lciwgcGFnZUNvbnRhaW5lcixcbiAgfSA9IHByb3BzO1xuXG4gIGNvbnN0IHsgcGF0aCB9ID0gcGFnZUNvbnRhaW5lci5zdGF0ZTtcblxuICBjb25zdCB7IGNyb3dpIH0gPSBhcHBDb250YWluZXIuY29uZmlnO1xuXG4gIGNvbnN0IFtwYWdlTmFtZUlucHV0LCBzZXRQYWdlTmFtZUlucHV0XSA9IHVzZVN0YXRlKHBhdGgpO1xuXG4gIGNvbnN0IFtlcnJzLCBzZXRFcnJzXSA9IHVzZVN0YXRlKG51bGwpO1xuXG4gIGNvbnN0IFtzdWJvcmRpbmF0ZWRQYWdlcywgc2V0U3Vib3JkaW5hdGVkUGFnZXNdID0gdXNlU3RhdGUoW10pO1xuICBjb25zdCBbZXhpc3RpbmdQYXRocywgc2V0RXhpc3RpbmdQYXRoc10gPSB1c2VTdGF0ZShbXSk7XG4gIGNvbnN0IFtpc1JlbmFtZVJlY3Vyc2l2ZWx5LCBTZXRJc1JlbmFtZVJlY3Vyc2l2ZWx5XSA9IHVzZVN0YXRlKHRydWUpO1xuICBjb25zdCBbaXNSZW5hbWVSZWRpcmVjdCwgU2V0SXNSZW5hbWVSZWRpcmVjdF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtpc1JlbmFtZU1ldGFkYXRhLCBTZXRJc1JlbmFtZU1ldGFkYXRhXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW3N1Ym9yZGluYXRlZEVycm9yXSA9IHVzZVN0YXRlKG51bGwpO1xuICBjb25zdCBbaXNSZW5hbWVSZWN1cnNpdmVseVdpdGhvdXRFeGlzdFBhdGgsIHNldElzUmVuYW1lUmVjdXJzaXZlbHlXaXRob3V0RXhpc3RQYXRoXSA9IHVzZVN0YXRlKHRydWUpO1xuXG4gIGZ1bmN0aW9uIGNoYW5nZUlzUmVuYW1lUmVjdXJzaXZlbHlIYW5kbGVyKCkge1xuICAgIFNldElzUmVuYW1lUmVjdXJzaXZlbHkoIWlzUmVuYW1lUmVjdXJzaXZlbHkpO1xuICB9XG5cbiAgZnVuY3Rpb24gY2hhbmdlSXNSZW5hbWVSZWN1cnNpdmVseVdpdGhvdXRFeGlzdFBhdGhIYW5kbGVyKCkge1xuICAgIHNldElzUmVuYW1lUmVjdXJzaXZlbHlXaXRob3V0RXhpc3RQYXRoKCFpc1JlbmFtZVJlY3Vyc2l2ZWx5V2l0aG91dEV4aXN0UGF0aCk7XG4gIH1cblxuICBmdW5jdGlvbiBjaGFuZ2VJc1JlbmFtZVJlZGlyZWN0SGFuZGxlcigpIHtcbiAgICBTZXRJc1JlbmFtZVJlZGlyZWN0KCFpc1JlbmFtZVJlZGlyZWN0KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNoYW5nZUlzUmVuYW1lTWV0YWRhdGFIYW5kbGVyKCkge1xuICAgIFNldElzUmVuYW1lTWV0YWRhdGEoIWlzUmVuYW1lTWV0YWRhdGEpO1xuICB9XG5cbiAgY29uc3QgdXBkYXRlU3Vib3JkaW5hdGVkTGlzdCA9IHVzZUNhbGxiYWNrKGFzeW5jKCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCBhcHBDb250YWluZXIuYXBpdjNHZXQoJy9wYWdlcy9zdWJvcmRpbmF0ZWQtbGlzdCcsIHsgcGF0aCB9KTtcbiAgICAgIGNvbnN0IHsgc3Vib3JkaW5hdGVkUGF0aHMgfSA9IHJlcy5kYXRhO1xuICAgICAgc2V0U3Vib3JkaW5hdGVkUGFnZXMoc3Vib3JkaW5hdGVkUGF0aHMpO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICBzZXRFcnJzKGVycik7XG4gICAgICB0b2FzdEVycm9yKHQoJ21vZGFsX3JlbmFtZS5sYWJlbC5GYWlsIHRvIGdldCBzdWJvcmRpbmF0ZWQgcGFnZXMnKSk7XG4gICAgfVxuICB9LCBbYXBwQ29udGFpbmVyLCBwYXRoLCB0XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocHJvcHMuaXNPcGVuKSB7XG4gICAgICB1cGRhdGVTdWJvcmRpbmF0ZWRMaXN0KCk7XG4gICAgfVxuICB9LCBbcHJvcHMuaXNPcGVuLCB1cGRhdGVTdWJvcmRpbmF0ZWRMaXN0XSk7XG5cblxuICBjb25zdCBjaGVja0V4aXN0UGF0aHMgPSBhc3luYyhuZXdQYXJlbnRQYXRoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGFwcENvbnRhaW5lci5hcGl2M0dldCgnL3BhZ2UvZXhpc3QtcGF0aHMnLCB7IGZyb21QYXRoOiBwYXRoLCB0b1BhdGg6IG5ld1BhcmVudFBhdGggfSk7XG4gICAgICBjb25zdCB7IGV4aXN0UGF0aHMgfSA9IHJlcy5kYXRhO1xuICAgICAgc2V0RXhpc3RpbmdQYXRocyhleGlzdFBhdGhzKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgc2V0RXJycyhlcnIpO1xuICAgICAgdG9hc3RFcnJvcih0KCdtb2RhbF9yZW5hbWUubGFiZWwuRmFpbCB0byBnZXQgZXhpc3QgcGF0aCcpKTtcbiAgICB9XG4gIH07XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICBjb25zdCBjaGVja0V4aXN0UGF0aHNEZWJvdW5jZSA9IHVzZUNhbGxiYWNrKFxuICAgIGRlYm91bmNlKDEwMDAsIGNoZWNrRXhpc3RQYXRocyksIFtdLFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHBhZ2VOYW1lSW5wdXQgIT09IHBhdGgpIHtcbiAgICAgIGNoZWNrRXhpc3RQYXRoc0RlYm91bmNlKHBhZ2VOYW1lSW5wdXQsIHN1Ym9yZGluYXRlZFBhZ2VzKTtcbiAgICB9XG4gIH0sIFtwYWdlTmFtZUlucHV0LCBzdWJvcmRpbmF0ZWRQYWdlcywgcGF0aCwgY2hlY2tFeGlzdFBhdGhzRGVib3VuY2VdKTtcblxuICAvKipcbiAgICogY2hhbmdlIHBhZ2VOYW1lSW5wdXRcbiAgICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gICAqL1xuICBmdW5jdGlvbiBpbnB1dENoYW5nZUhhbmRsZXIodmFsdWUpIHtcbiAgICBzZXRFcnJzKG51bGwpO1xuICAgIHNldFBhZ2VOYW1lSW5wdXQodmFsdWUpO1xuICB9XG5cbiAgYXN5bmMgZnVuY3Rpb24gcmVuYW1lKCkge1xuICAgIHNldEVycnMobnVsbCk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBwYWdlQ29udGFpbmVyLnJlbmFtZShcbiAgICAgICAgcGFnZU5hbWVJbnB1dCxcbiAgICAgICAgaXNSZW5hbWVSZWN1cnNpdmVseSxcbiAgICAgICAgaXNSZW5hbWVSZWRpcmVjdCxcbiAgICAgICAgaXNSZW5hbWVNZXRhZGF0YSxcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IHsgcGFnZSB9ID0gcmVzcG9uc2UuZGF0YTtcbiAgICAgIGNvbnN0IHVybCA9IG5ldyBVUkwocGFnZS5wYXRoLCAnaHR0cHM6Ly9kdW1teScpO1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3JlbmFtZWRGcm9tJywgcGF0aCk7XG4gICAgICBpZiAoaXNSZW5hbWVSZWRpcmVjdCkge1xuICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnd2l0aFJlZGlyZWN0JywgdHJ1ZSk7XG4gICAgICB9XG5cbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYCR7dXJsLnBhdGhuYW1lfSR7dXJsLnNlYXJjaH1gO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICBzZXRFcnJzKGVycik7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8TW9kYWwgc2l6ZT1cImxnXCIgaXNPcGVuPXtwcm9wcy5pc09wZW59IHRvZ2dsZT17cHJvcHMub25DbG9zZX0gYXV0b0ZvY3VzPXtmYWxzZX0+XG4gICAgICA8TW9kYWxIZWFkZXIgdGFnPVwiaDRcIiB0b2dnbGU9e3Byb3BzLm9uQ2xvc2V9IGNsYXNzTmFtZT1cImJnLXByaW1hcnkgdGV4dC1saWdodFwiPlxuICAgICAgICB7IHQoJ21vZGFsX3JlbmFtZS5sYWJlbC5Nb3ZlL1JlbmFtZSBwYWdlJykgfVxuICAgICAgPC9Nb2RhbEhlYWRlcj5cbiAgICAgIDxNb2RhbEJvZHk+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgIDxsYWJlbD57IHQoJ21vZGFsX3JlbmFtZS5sYWJlbC5DdXJyZW50IHBhZ2UgbmFtZScpIH08L2xhYmVsPjxiciAvPlxuICAgICAgICAgIDxjb2RlPnsgcGF0aCB9PC9jb2RlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgPGxhYmVsIGh0bWxGb3I9XCJuZXdQYWdlTmFtZVwiPnsgdCgnbW9kYWxfcmVuYW1lLmxhYmVsLk5ldyBwYWdlIG5hbWUnKSB9PC9sYWJlbD48YnIgLz5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImlucHV0LWdyb3VwXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImlucHV0LWdyb3VwLXByZXBlbmRcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiaW5wdXQtZ3JvdXAtdGV4dFwiPntjcm93aS51cmx9PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8Zm9ybSBjbGFzc05hbWU9XCJmbGV4LWZpbGxcIiBvblN1Ym1pdD17KGUpID0+IHsgZS5wcmV2ZW50RGVmYXVsdCgpOyByZW5hbWUoKSB9fT5cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIHZhbHVlPXtwYWdlTmFtZUlucHV0fVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e2UgPT4gaW5wdXRDaGFuZ2VIYW5kbGVyKGUudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9mb3JtPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjdXN0b20tY29udHJvbCBjdXN0b20tY2hlY2tib3ggY3VzdG9tLWNoZWNrYm94LXdhcm5pbmdcIj5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sLWlucHV0XCJcbiAgICAgICAgICAgIG5hbWU9XCJyZWN1cnNpdmVseVwiXG4gICAgICAgICAgICBpZD1cImNiUmVuYW1lUmVjdXJzaXZlbHlcIlxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIGNoZWNrZWQ9e2lzUmVuYW1lUmVjdXJzaXZlbHl9XG4gICAgICAgICAgICBvbkNoYW5nZT17Y2hhbmdlSXNSZW5hbWVSZWN1cnNpdmVseUhhbmRsZXJ9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPVwiY3VzdG9tLWNvbnRyb2wtbGFiZWxcIiBodG1sRm9yPVwiY2JSZW5hbWVSZWN1cnNpdmVseVwiPlxuICAgICAgICAgICAgeyB0KCdtb2RhbF9yZW5hbWUubGFiZWwuUmVjdXJzaXZlbHknKSB9XG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJmb3JtLXRleHQgdGV4dC1tdXRlZCBtdC0wXCI+eyB0KCdtb2RhbF9yZW5hbWUuaGVscC5yZWN1cnNpdmUnKSB9PC9wPlxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAge2V4aXN0aW5nUGF0aHMubGVuZ3RoICE9PSAwICYmIChcbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzc05hbWU9XCJjdXN0b20tY29udHJvbCBjdXN0b20tY2hlY2tib3ggY3VzdG9tLWNoZWNrYm94LXdhcm5pbmdcIlxuICAgICAgICAgICAgc3R5bGU9e3sgZGlzcGxheTogaXNSZW5hbWVSZWN1cnNpdmVseSA/ICcnIDogJ25vbmUnIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sLWlucHV0XCJcbiAgICAgICAgICAgICAgbmFtZT1cIndpdGhvdXRFeGlzdFJlY3Vyc2l2ZWx5XCJcbiAgICAgICAgICAgICAgaWQ9XCJjYlJlbmFtZXdpdGhvdXRFeGlzdFJlY3Vyc2l2ZWx5XCJcbiAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgY2hlY2tlZD17aXNSZW5hbWVSZWN1cnNpdmVseVdpdGhvdXRFeGlzdFBhdGh9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXtjaGFuZ2VJc1JlbmFtZVJlY3Vyc2l2ZWx5V2l0aG91dEV4aXN0UGF0aEhhbmRsZXJ9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sLWxhYmVsXCIgaHRtbEZvcj1cImNiUmVuYW1ld2l0aG91dEV4aXN0UmVjdXJzaXZlbHlcIj5cbiAgICAgICAgICAgICAgeyB0KCdtb2RhbF9yZW5hbWUubGFiZWwuUmVuYW1lIHdpdGhvdXQgZXhpc3QgcGF0aCcpIH1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7aXNSZW5hbWVSZWN1cnNpdmVseSAmJiA8Q29tcGFyZVBhdGhzVGFibGUgc3Vib3JkaW5hdGVkUGFnZXM9e3N1Ym9yZGluYXRlZFBhZ2VzfSBuZXdQYWdlUGF0aD17cGFnZU5hbWVJbnB1dH0gLz59XG4gICAgICAgICAge2lzUmVuYW1lUmVjdXJzaXZlbHkgJiYgZXhpc3RpbmdQYXRocy5sZW5ndGggIT09IDAgJiYgPER1cGxpY2F0ZWRQYXRoc1RhYmxlIGV4aXN0aW5nUGF0aHM9e2V4aXN0aW5nUGF0aHN9IG9sZFBhZ2VQYXRoPXtwYWdlTmFtZUlucHV0fSAvPn1cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjdXN0b20tY29udHJvbCBjdXN0b20tY2hlY2tib3ggY3VzdG9tLWNoZWNrYm94LXN1Y2Nlc3NcIj5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sLWlucHV0XCJcbiAgICAgICAgICAgIG5hbWU9XCJjcmVhdGVfcmVkaXJlY3RcIlxuICAgICAgICAgICAgaWQ9XCJjYlJlbmFtZVJlZGlyZWN0XCJcbiAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICBjaGVja2VkPXtpc1JlbmFtZVJlZGlyZWN0fVxuICAgICAgICAgICAgb25DaGFuZ2U9e2NoYW5nZUlzUmVuYW1lUmVkaXJlY3RIYW5kbGVyfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sLWxhYmVsXCIgaHRtbEZvcj1cImNiUmVuYW1lUmVkaXJlY3RcIj5cbiAgICAgICAgICAgIHsgdCgnbW9kYWxfcmVuYW1lLmxhYmVsLlJlZGlyZWN0JykgfVxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZm9ybS10ZXh0IHRleHQtbXV0ZWQgbXQtMFwiPnsgdCgnbW9kYWxfcmVuYW1lLmhlbHAucmVkaXJlY3QnKSB9PC9wPlxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY3VzdG9tLWNvbnRyb2wgY3VzdG9tLWNoZWNrYm94IGN1c3RvbS1jaGVja2JveC1wcmltYXJ5XCI+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBjbGFzc05hbWU9XCJjdXN0b20tY29udHJvbC1pbnB1dFwiXG4gICAgICAgICAgICBuYW1lPVwicmVtYWluX21ldGFkYXRhXCJcbiAgICAgICAgICAgIGlkPVwiY2JSZW5hbWVNZXRhZGF0YVwiXG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgY2hlY2tlZD17aXNSZW5hbWVNZXRhZGF0YX1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtjaGFuZ2VJc1JlbmFtZU1ldGFkYXRhSGFuZGxlcn1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9XCJjdXN0b20tY29udHJvbC1sYWJlbFwiIGh0bWxGb3I9XCJjYlJlbmFtZU1ldGFkYXRhXCI+XG4gICAgICAgICAgICB7IHQoJ21vZGFsX3JlbmFtZS5sYWJlbC5EbyBub3QgdXBkYXRlIG1ldGFkYXRhJykgfVxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZm9ybS10ZXh0IHRleHQtbXV0ZWQgbXQtMFwiPnsgdCgnbW9kYWxfcmVuYW1lLmhlbHAubWV0YWRhdGEnKSB9PC9wPlxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2PiB7c3Vib3JkaW5hdGVkRXJyb3J9IDwvZGl2PlxuICAgICAgPC9Nb2RhbEJvZHk+XG4gICAgICA8TW9kYWxGb290ZXI+XG4gICAgICAgIDxBcGlFcnJvck1lc3NhZ2VMaXN0IGVycnM9e2VycnN9IHRhcmdldFBhdGg9e3BhZ2VOYW1lSW5wdXR9IC8+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzc05hbWU9XCJidG4gYnRuLXByaW1hcnlcIlxuICAgICAgICAgIG9uQ2xpY2s9e3JlbmFtZX1cbiAgICAgICAgICBkaXNhYmxlZD17KGlzUmVuYW1lUmVjdXJzaXZlbHkgJiYgIWlzUmVuYW1lUmVjdXJzaXZlbHlXaXRob3V0RXhpc3RQYXRoICYmIGV4aXN0aW5nUGF0aHMubGVuZ3RoICE9PSAwKX1cbiAgICAgICAgPlJlbmFtZVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvTW9kYWxGb290ZXI+XG4gICAgPC9Nb2RhbD5cbiAgKTtcbn07XG5cbi8qKlxuICogV3JhcHBlciBjb21wb25lbnQgZm9yIHVzaW5nIHVuc3RhdGVkXG4gKi9cbmNvbnN0IFBhZ2VSZW5hbWVNb2RhbFdyYXBwZXIgPSB3aXRoVW5zdGF0ZWRDb250YWluZXJzKFBhZ2VSZW5hbWVNb2RhbCwgW0FwcENvbnRhaW5lciwgUGFnZUNvbnRhaW5lcl0pO1xuXG5cblBhZ2VSZW5hbWVNb2RhbC5wcm9wVHlwZXMgPSB7XG4gIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsIC8vICBpMThuZXh0XG4gIGFwcENvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoQXBwQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuICBwYWdlQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihQYWdlQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuXG4gIGlzT3BlbjogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgb25DbG9zZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcblxuICBwYXRoOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoVHJhbnNsYXRpb24oKShQYWdlUmVuYW1lTW9kYWxXcmFwcGVyKTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTs7Ozs7QUFNQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFEQTtBQUlBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUVBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOzs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBT0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFJQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU5BO0FBV0E7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU5BO0FBUUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUlBO0FBQ0E7QUFBQTtBQUFBO0FBRkE7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQVFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQVFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFJQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTkE7QUFRQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQVVBO0FBRUE7Ozs7O0FBR0E7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBUkE7QUFXQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/PageRenameModal.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageStatusAlert.jsx":
- /*!******************************************************!*\
- !*** ./src/client/js/components/PageStatusAlert.jsx ***!
- \******************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n\n\n\n\n\n\n/**\n *\n * @author Yuki Takei <yuki@weseek.co.jp>\n *\n * @export\n * @class PageStatusAlert\n * @extends {React.Component}\n */\n\nclass PageStatusAlert extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n this.state = {};\n this.getContentsForSomeoneEditingAlert = this.getContentsForSomeoneEditingAlert.bind(this);\n this.getContentsForDraftExistsAlert = this.getContentsForDraftExistsAlert.bind(this);\n this.getContentsForUpdatedAlert = this.getContentsForUpdatedAlert.bind(this);\n }\n\n refreshPage() {\n window.location.reload();\n }\n\n getContentsForSomeoneEditingAlert() {\n const {\n t\n } = this.props;\n return [['bg-success', 'd-hackmd-none'], react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-people\"\n }), t('hackmd.someone_editing')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: \"#hackmd\",\n className: \"btn btn-outline-white\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"fa fa-fw fa-file-text-o mr-1\"\n }), \"Open HackMD Editor\")];\n }\n\n getContentsForDraftExistsAlert(isRealtime) {\n const {\n t\n } = this.props;\n return [['bg-success', 'd-hackmd-none'], react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-pencil\"\n }), t('hackmd.this_page_has_draft')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: \"#hackmd\",\n className: \"btn btn-outline-white\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"fa fa-fw fa-file-text-o mr-1\"\n }), \"Open HackMD Editor\")];\n }\n\n getContentsForUpdatedAlert() {\n const {\n t\n } = this.props;\n const label1 = t('edited this page');\n const label2 = t('Load latest');\n return [['bg-warning'], react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-bulb\"\n }), this.props.pageContainer.state.lastUpdateUsername, \" \", label1), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: \"#\",\n className: \"btn btn-outline-white\",\n onClick: this.refreshPage\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-reload mr-1\"\n }), label2)];\n }\n\n render() {\n const {\n revisionId,\n revisionIdHackmdSynced,\n remoteRevisionId,\n hasDraftOnHackmd,\n isHackmdDraftUpdatingInRealtime\n } = this.props.pageContainer.state;\n const isRevisionOutdated = revisionId !== remoteRevisionId;\n const isHackmdDocumentOutdated = revisionIdHackmdSynced !== remoteRevisionId;\n let getContentsFunc = null; // when remote revision is newer than both\n\n if (isHackmdDocumentOutdated && isRevisionOutdated) {\n getContentsFunc = this.getContentsForUpdatedAlert;\n } // when someone editing with HackMD\n else if (isHackmdDraftUpdatingInRealtime) {\n getContentsFunc = this.getContentsForSomeoneEditingAlert;\n } // when the draft of HackMD is newest\n else if (hasDraftOnHackmd) {\n getContentsFunc = this.getContentsForDraftExistsAlert;\n } // do not render anything\n else {\n return null;\n }\n\n const [additionalClasses, label, btn] = getContentsFunc();\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: `card grw-page-status-alert text-white fixed-bottom animated fadeInUp faster ${additionalClasses.join(' ')}`\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"card-body\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"card-text grw-card-label-container\"\n }, label), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"card-text grw-card-btn-container\"\n }, btn)));\n }\n\n}\n/**\n * Wrapper component for using unstated\n */\n\n\nconst PageStatusAlertWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_5__[\"withUnstatedContainers\"])(PageStatusAlert, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _services_PageContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]]);\nPageStatusAlert.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_3__[\"default\"]).isRequired,\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]).isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(PageStatusAlertWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZVN0YXR1c0FsZXJ0LmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9QYWdlU3RhdHVzQWxlcnQuanN4Pzk5Y2EiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCB7IHdpdGhUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuXG5pbXBvcnQgQXBwQ29udGFpbmVyIGZyb20gJy4uL3NlcnZpY2VzL0FwcENvbnRhaW5lcic7XG5pbXBvcnQgUGFnZUNvbnRhaW5lciBmcm9tICcuLi9zZXJ2aWNlcy9QYWdlQ29udGFpbmVyJztcblxuaW1wb3J0IHsgd2l0aFVuc3RhdGVkQ29udGFpbmVycyB9IGZyb20gJy4vVW5zdGF0ZWRVdGlscyc7XG5cbi8qKlxuICpcbiAqIEBhdXRob3IgWXVraSBUYWtlaSA8eXVraUB3ZXNlZWsuY28uanA+XG4gKlxuICogQGV4cG9ydFxuICogQGNsYXNzIFBhZ2VTdGF0dXNBbGVydFxuICogQGV4dGVuZHMge1JlYWN0LkNvbXBvbmVudH1cbiAqL1xuXG5jbGFzcyBQYWdlU3RhdHVzQWxlcnQgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICB9O1xuXG4gICAgdGhpcy5nZXRDb250ZW50c0ZvclNvbWVvbmVFZGl0aW5nQWxlcnQgPSB0aGlzLmdldENvbnRlbnRzRm9yU29tZW9uZUVkaXRpbmdBbGVydC5iaW5kKHRoaXMpO1xuICAgIHRoaXMuZ2V0Q29udGVudHNGb3JEcmFmdEV4aXN0c0FsZXJ0ID0gdGhpcy5nZXRDb250ZW50c0ZvckRyYWZ0RXhpc3RzQWxlcnQuYmluZCh0aGlzKTtcbiAgICB0aGlzLmdldENvbnRlbnRzRm9yVXBkYXRlZEFsZXJ0ID0gdGhpcy5nZXRDb250ZW50c0ZvclVwZGF0ZWRBbGVydC5iaW5kKHRoaXMpO1xuICB9XG5cbiAgcmVmcmVzaFBhZ2UoKSB7XG4gICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICB9XG5cbiAgZ2V0Q29udGVudHNGb3JTb21lb25lRWRpdGluZ0FsZXJ0KCkge1xuICAgIGNvbnN0IHsgdCB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gW1xuICAgICAgWydiZy1zdWNjZXNzJywgJ2QtaGFja21kLW5vbmUnXSxcbiAgICAgIDw+XG4gICAgICAgIDxpIGNsYXNzTmFtZT1cImljb24tZncgaWNvbi1wZW9wbGVcIj48L2k+XG4gICAgICAgIHt0KCdoYWNrbWQuc29tZW9uZV9lZGl0aW5nJyl9XG4gICAgICA8Lz4sXG4gICAgICA8YSBocmVmPVwiI2hhY2ttZFwiIGNsYXNzTmFtZT1cImJ0biBidG4tb3V0bGluZS13aGl0ZVwiPlxuICAgICAgICA8aSBjbGFzc05hbWU9XCJmYSBmYS1mdyBmYS1maWxlLXRleHQtbyBtci0xXCI+PC9pPlxuICAgICAgICBPcGVuIEhhY2tNRCBFZGl0b3JcbiAgICAgIDwvYT4sXG4gICAgXTtcbiAgfVxuXG4gIGdldENvbnRlbnRzRm9yRHJhZnRFeGlzdHNBbGVydChpc1JlYWx0aW1lKSB7XG4gICAgY29uc3QgeyB0IH0gPSB0aGlzLnByb3BzO1xuICAgIHJldHVybiBbXG4gICAgICBbJ2JnLXN1Y2Nlc3MnLCAnZC1oYWNrbWQtbm9uZSddLFxuICAgICAgPD5cbiAgICAgICAgPGkgY2xhc3NOYW1lPVwiaWNvbi1mdyBpY29uLXBlbmNpbFwiPjwvaT5cbiAgICAgICAge3QoJ2hhY2ttZC50aGlzX3BhZ2VfaGFzX2RyYWZ0Jyl9XG4gICAgICA8Lz4sXG4gICAgICA8YSBocmVmPVwiI2hhY2ttZFwiIGNsYXNzTmFtZT1cImJ0biBidG4tb3V0bGluZS13aGl0ZVwiPlxuICAgICAgICA8aSBjbGFzc05hbWU9XCJmYSBmYS1mdyBmYS1maWxlLXRleHQtbyBtci0xXCI+PC9pPlxuICAgICAgICBPcGVuIEhhY2tNRCBFZGl0b3JcbiAgICAgIDwvYT4sXG4gICAgXTtcbiAgfVxuXG4gIGdldENvbnRlbnRzRm9yVXBkYXRlZEFsZXJ0KCkge1xuICAgIGNvbnN0IHsgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBsYWJlbDEgPSB0KCdlZGl0ZWQgdGhpcyBwYWdlJyk7XG4gICAgY29uc3QgbGFiZWwyID0gdCgnTG9hZCBsYXRlc3QnKTtcblxuICAgIHJldHVybiBbXG4gICAgICBbJ2JnLXdhcm5pbmcnXSxcbiAgICAgIDw+XG4gICAgICAgIDxpIGNsYXNzTmFtZT1cImljb24tZncgaWNvbi1idWxiXCI+PC9pPlxuICAgICAgICB7dGhpcy5wcm9wcy5wYWdlQ29udGFpbmVyLnN0YXRlLmxhc3RVcGRhdGVVc2VybmFtZX0ge2xhYmVsMX1cbiAgICAgIDwvPixcbiAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3NOYW1lPVwiYnRuIGJ0bi1vdXRsaW5lLXdoaXRlXCIgb25DbGljaz17dGhpcy5yZWZyZXNoUGFnZX0+XG4gICAgICAgIDxpIGNsYXNzTmFtZT1cImljb24tZncgaWNvbi1yZWxvYWQgbXItMVwiPjwvaT5cbiAgICAgICAge2xhYmVsMn1cbiAgICAgIDwvYT4sXG4gICAgXTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICByZXZpc2lvbklkLCByZXZpc2lvbklkSGFja21kU3luY2VkLCByZW1vdGVSZXZpc2lvbklkLCBoYXNEcmFmdE9uSGFja21kLCBpc0hhY2ttZERyYWZ0VXBkYXRpbmdJblJlYWx0aW1lLFxuICAgIH0gPSB0aGlzLnByb3BzLnBhZ2VDb250YWluZXIuc3RhdGU7XG5cbiAgICBjb25zdCBpc1JldmlzaW9uT3V0ZGF0ZWQgPSByZXZpc2lvbklkICE9PSByZW1vdGVSZXZpc2lvbklkO1xuICAgIGNvbnN0IGlzSGFja21kRG9jdW1lbnRPdXRkYXRlZCA9IHJldmlzaW9uSWRIYWNrbWRTeW5jZWQgIT09IHJlbW90ZVJldmlzaW9uSWQ7XG5cbiAgICBsZXQgZ2V0Q29udGVudHNGdW5jID0gbnVsbDtcblxuICAgIC8vIHdoZW4gcmVtb3RlIHJldmlzaW9uIGlzIG5ld2VyIHRoYW4gYm90aFxuICAgIGlmIChpc0hhY2ttZERvY3VtZW50T3V0ZGF0ZWQgJiYgaXNSZXZpc2lvbk91dGRhdGVkKSB7XG4gICAgICBnZXRDb250ZW50c0Z1bmMgPSB0aGlzLmdldENvbnRlbnRzRm9yVXBkYXRlZEFsZXJ0O1xuICAgIH1cbiAgICAvLyB3aGVuIHNvbWVvbmUgZWRpdGluZyB3aXRoIEhhY2tNRFxuICAgIGVsc2UgaWYgKGlzSGFja21kRHJhZnRVcGRhdGluZ0luUmVhbHRpbWUpIHtcbiAgICAgIGdldENvbnRlbnRzRnVuYyA9IHRoaXMuZ2V0Q29udGVudHNGb3JTb21lb25lRWRpdGluZ0FsZXJ0O1xuICAgIH1cbiAgICAvLyB3aGVuIHRoZSBkcmFmdCBvZiBIYWNrTUQgaXMgbmV3ZXN0XG4gICAgZWxzZSBpZiAoaGFzRHJhZnRPbkhhY2ttZCkge1xuICAgICAgZ2V0Q29udGVudHNGdW5jID0gdGhpcy5nZXRDb250ZW50c0ZvckRyYWZ0RXhpc3RzQWxlcnQ7XG4gICAgfVxuICAgIC8vIGRvIG5vdCByZW5kZXIgYW55dGhpbmdcbiAgICBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IFthZGRpdGlvbmFsQ2xhc3NlcywgbGFiZWwsIGJ0bl0gPSBnZXRDb250ZW50c0Z1bmMoKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17YGNhcmQgZ3J3LXBhZ2Utc3RhdHVzLWFsZXJ0IHRleHQtd2hpdGUgZml4ZWQtYm90dG9tIGFuaW1hdGVkIGZhZGVJblVwIGZhc3RlciAke2FkZGl0aW9uYWxDbGFzc2VzLmpvaW4oJyAnKX1gfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjYXJkLWJvZHlcIj5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJjYXJkLXRleHQgZ3J3LWNhcmQtbGFiZWwtY29udGFpbmVyXCI+XG4gICAgICAgICAgICB7bGFiZWx9XG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImNhcmQtdGV4dCBncnctY2FyZC1idG4tY29udGFpbmVyXCI+XG4gICAgICAgICAgICB7YnRufVxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG5cbn1cblxuLyoqXG4gKiBXcmFwcGVyIGNvbXBvbmVudCBmb3IgdXNpbmcgdW5zdGF0ZWRcbiAqL1xuY29uc3QgUGFnZVN0YXR1c0FsZXJ0V3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoUGFnZVN0YXR1c0FsZXJ0LCBbQXBwQ29udGFpbmVyLCBQYWdlQ29udGFpbmVyXSk7XG5cblBhZ2VTdGF0dXNBbGVydC5wcm9wVHlwZXMgPSB7XG4gIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsIC8vIGkxOG5leHRcblxuICBhcHBDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKEFwcENvbnRhaW5lcikuaXNSZXF1aXJlZCxcbiAgcGFnZUNvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoUGFnZUNvbnRhaW5lcikuaXNSZXF1aXJlZCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhUcmFuc2xhdGlvbigpKFBhZ2VTdGF0dXNBbGVydFdyYXBwZXIpO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBRUE7QUFFQTs7Ozs7Ozs7O0FBU0E7QUFFQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBR0E7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUdBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQURBO0FBSUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFGQTtBQUtBO0FBQ0E7QUFGQTtBQUtBO0FBQ0E7QUFGQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFHQTtBQUFBO0FBTUE7QUFDQTtBQTNHQTtBQThHQTs7Ozs7QUFHQTtBQUVBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFKQTtBQU9BIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/PageStatusAlert.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PageTimeline.jsx":
- /*!***************************************************!*\
- !*** ./src/client/js/components/PageTimeline.jsx ***!
- \***************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n/* harmony import */ var _PaginationWrapper__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./PaginationWrapper */ \"./src/client/js/components/PaginationWrapper.jsx\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _Page_RevisionLoader__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Page/RevisionLoader */ \"./src/client/js/components/Page/RevisionLoader.jsx\");\n\n\n\n\n\n\n\n\n\nclass PageTimeline extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n this.state = {\n activePage: 1,\n totalPageItems: 0,\n limit: null,\n // TODO: remove after when timeline is implemented with React and inject data with props\n pages: this.props.pages\n };\n this.handlePage = this.handlePage.bind(this);\n }\n\n async handlePage(selectedPage) {\n const {\n appContainer,\n pageContainer\n } = this.props;\n const {\n path\n } = pageContainer.state;\n const page = selectedPage;\n const res = await appContainer.apiv3Get('/pages/list', {\n path,\n page\n });\n const totalPageItems = res.data.totalCount;\n const pages = res.data.pages;\n const pagingLimit = res.data.limit;\n this.setState({\n activePage: selectedPage,\n totalPageItems,\n pages,\n limit: pagingLimit\n });\n }\n\n componentWillMount() {\n const {\n appContainer\n } = this.props; // initialize GrowiRenderer\n\n this.growiRenderer = appContainer.getRenderer('timeline');\n }\n\n async componentDidMount() {\n await this.handlePage(1);\n this.setState({\n activePage: 1\n });\n }\n\n render() {\n const {\n t\n } = this.props;\n const {\n pages\n } = this.state;\n\n if (pages == null || pages.length === 0) {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"mt-2\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", null, t('custom_navigation.no_page_list')));\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", null, pages.map(page => {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"timeline-body\",\n key: `key-${page.id}`\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"card card-timeline\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"card-header\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: page.path\n }, page.path)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"card-body\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Page_RevisionLoader__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n lazy: true,\n growiRenderer: this.growiRenderer,\n pageId: page.id,\n revisionId: page.revision\n }))));\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PaginationWrapper__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n activePage: this.state.activePage,\n changePage: this.handlePage,\n totalItemsCount: this.state.totalPageItems,\n pagingLimit: this.state.limit,\n align: \"center\"\n }));\n }\n\n}\n/**\n * Wrapper component for using unstated\n */\n\n\nconst PageTimelineWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_6__[\"withUnstatedContainers\"])(PageTimeline, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _services_PageContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]]);\nPageTimeline.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_3__[\"default\"]).isRequired,\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]).isRequired,\n pages: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object)\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(PageTimelineWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUGFnZVRpbWVsaW5lLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9QYWdlVGltZWxpbmUuanN4PzEwNWEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCB7IHdpdGhUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuXG5pbXBvcnQgQXBwQ29udGFpbmVyIGZyb20gJy4uL3NlcnZpY2VzL0FwcENvbnRhaW5lcic7XG5pbXBvcnQgUGFnZUNvbnRhaW5lciBmcm9tICcuLi9zZXJ2aWNlcy9QYWdlQ29udGFpbmVyJztcbmltcG9ydCBQYWdpbmF0aW9uV3JhcHBlciBmcm9tICcuL1BhZ2luYXRpb25XcmFwcGVyJztcbmltcG9ydCB7IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMgfSBmcm9tICcuL1Vuc3RhdGVkVXRpbHMnO1xuXG5pbXBvcnQgUmV2aXNpb25Mb2FkZXIgZnJvbSAnLi9QYWdlL1JldmlzaW9uTG9hZGVyJztcblxuXG5jbGFzcyBQYWdlVGltZWxpbmUgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGFjdGl2ZVBhZ2U6IDEsXG4gICAgICB0b3RhbFBhZ2VJdGVtczogMCxcbiAgICAgIGxpbWl0OiBudWxsLFxuXG4gICAgICAvLyBUT0RPOiByZW1vdmUgYWZ0ZXIgd2hlbiB0aW1lbGluZSBpcyBpbXBsZW1lbnRlZCB3aXRoIFJlYWN0IGFuZCBpbmplY3QgZGF0YSB3aXRoIHByb3BzXG4gICAgICBwYWdlczogdGhpcy5wcm9wcy5wYWdlcyxcbiAgICB9O1xuXG4gICAgdGhpcy5oYW5kbGVQYWdlID0gdGhpcy5oYW5kbGVQYWdlLmJpbmQodGhpcyk7XG4gIH1cblxuXG4gIGFzeW5jIGhhbmRsZVBhZ2Uoc2VsZWN0ZWRQYWdlKSB7XG4gICAgY29uc3QgeyBhcHBDb250YWluZXIsIHBhZ2VDb250YWluZXIgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBwYXRoIH0gPSBwYWdlQ29udGFpbmVyLnN0YXRlO1xuICAgIGNvbnN0IHBhZ2UgPSBzZWxlY3RlZFBhZ2U7XG5cbiAgICBjb25zdCByZXMgPSBhd2FpdCBhcHBDb250YWluZXIuYXBpdjNHZXQoJy9wYWdlcy9saXN0JywgeyBwYXRoLCBwYWdlIH0pO1xuICAgIGNvbnN0IHRvdGFsUGFnZUl0ZW1zID0gcmVzLmRhdGEudG90YWxDb3VudDtcbiAgICBjb25zdCBwYWdlcyA9IHJlcy5kYXRhLnBhZ2VzO1xuICAgIGNvbnN0IHBhZ2luZ0xpbWl0ID0gcmVzLmRhdGEubGltaXQ7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBhY3RpdmVQYWdlOiBzZWxlY3RlZFBhZ2UsXG4gICAgICB0b3RhbFBhZ2VJdGVtcyxcbiAgICAgIHBhZ2VzLFxuICAgICAgbGltaXQ6IHBhZ2luZ0xpbWl0LFxuICAgIH0pO1xuICB9XG5cbiAgY29tcG9uZW50V2lsbE1vdW50KCkge1xuICAgIGNvbnN0IHsgYXBwQ29udGFpbmVyIH0gPSB0aGlzLnByb3BzO1xuICAgIC8vIGluaXRpYWxpemUgR3Jvd2lSZW5kZXJlclxuICAgIHRoaXMuZ3Jvd2lSZW5kZXJlciA9IGFwcENvbnRhaW5lci5nZXRSZW5kZXJlcigndGltZWxpbmUnKTtcbiAgfVxuXG4gIGFzeW5jIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGF3YWl0IHRoaXMuaGFuZGxlUGFnZSgxKTtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIGFjdGl2ZVBhZ2U6IDEsXG4gICAgfSk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgcGFnZXMgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBpZiAocGFnZXMgPT0gbnVsbCB8fCBwYWdlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXQtMlwiPlxuICAgICAgICAgIHsvKiBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tZGFuZ2VyICovfVxuICAgICAgICAgIDxwPnt0KCdjdXN0b21fbmF2aWdhdGlvbi5ub19wYWdlX2xpc3QnKX08L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdj5cbiAgICAgICAgeyBwYWdlcy5tYXAoKHBhZ2UpID0+IHtcbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0aW1lbGluZS1ib2R5XCIga2V5PXtga2V5LSR7cGFnZS5pZH1gfT5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjYXJkIGNhcmQtdGltZWxpbmVcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNhcmQtaGVhZGVyXCI+PGEgaHJlZj17cGFnZS5wYXRofT57cGFnZS5wYXRofTwvYT48L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNhcmQtYm9keVwiPlxuICAgICAgICAgICAgICAgICAgPFJldmlzaW9uTG9hZGVyXG4gICAgICAgICAgICAgICAgICAgIGxhenlcbiAgICAgICAgICAgICAgICAgICAgZ3Jvd2lSZW5kZXJlcj17dGhpcy5ncm93aVJlbmRlcmVyfVxuICAgICAgICAgICAgICAgICAgICBwYWdlSWQ9e3BhZ2UuaWR9XG4gICAgICAgICAgICAgICAgICAgIHJldmlzaW9uSWQ9e3BhZ2UucmV2aXNpb259XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICk7XG4gICAgICAgIH0pIH1cbiAgICAgICAgPFBhZ2luYXRpb25XcmFwcGVyXG4gICAgICAgICAgYWN0aXZlUGFnZT17dGhpcy5zdGF0ZS5hY3RpdmVQYWdlfVxuICAgICAgICAgIGNoYW5nZVBhZ2U9e3RoaXMuaGFuZGxlUGFnZX1cbiAgICAgICAgICB0b3RhbEl0ZW1zQ291bnQ9e3RoaXMuc3RhdGUudG90YWxQYWdlSXRlbXN9XG4gICAgICAgICAgcGFnaW5nTGltaXQ9e3RoaXMuc3RhdGUubGltaXR9XG4gICAgICAgICAgYWxpZ249XCJjZW50ZXJcIlxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgKTtcblxuICB9XG5cbn1cblxuLyoqXG4gKiBXcmFwcGVyIGNvbXBvbmVudCBmb3IgdXNpbmcgdW5zdGF0ZWRcbiAqL1xuY29uc3QgUGFnZVRpbWVsaW5lV3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoUGFnZVRpbWVsaW5lLCBbQXBwQ29udGFpbmVyLCBQYWdlQ29udGFpbmVyXSk7XG5cblBhZ2VUaW1lbGluZS5wcm9wVHlwZXMgPSB7XG4gIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsIC8vIGkxOG5leHRcbiAgYXBwQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihBcHBDb250YWluZXIpLmlzUmVxdWlyZWQsXG4gIHBhZ2VDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKFBhZ2VDb250YWluZXIpLmlzUmVxdWlyZWQsXG4gIHBhZ2VzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMub2JqZWN0KSxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhUcmFuc2xhdGlvbigpKFBhZ2VUaW1lbGluZVdyYXBwZXIpO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBTkE7QUFTQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFEQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FBVUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFVQTtBQUNBO0FBM0ZBO0FBOEZBOzs7OztBQUdBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFPQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/PageTimeline.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/PutbackPageModal.jsx":
- /*!*******************************************************!*\
- !*** ./src/client/js/components/PutbackPageModal.jsx ***!
- \*******************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! reactstrap/es/Modal */ \"./node_modules/reactstrap/es/Modal.js\");\n/* harmony import */ var reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! reactstrap/es/ModalHeader */ \"./node_modules/reactstrap/es/ModalHeader.js\");\n/* harmony import */ var reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! reactstrap/es/ModalBody */ \"./node_modules/reactstrap/es/ModalBody.js\");\n/* harmony import */ var reactstrap_es_ModalFooter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! reactstrap/es/ModalFooter */ \"./node_modules/reactstrap/es/ModalFooter.js\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n/* harmony import */ var _PageManagement_ApiErrorMessageList__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./PageManagement/ApiErrorMessageList */ \"./src/client/js/components/PageManagement/ApiErrorMessageList.jsx\");\n\n\n\n\n\n\n\n\n\n\n\nconst PutBackPageModal = props => {\n const {\n t,\n isOpen,\n onClose,\n pageContainer,\n path\n } = props;\n const [errs, setErrs] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(null);\n const [isPutbackRecursively, setIsPutbackRecursively] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(true);\n\n function changeIsPutbackRecursivelyHandler() {\n setIsPutbackRecursively(!isPutbackRecursively);\n }\n\n async function putbackPage() {\n setErrs(null);\n\n try {\n const response = await pageContainer.revertRemove(isPutbackRecursively);\n const putbackPagePath = response.page.path;\n window.location.href = encodeURI(putbackPagePath);\n } catch (err) {\n setErrs(err);\n }\n }\n\n async function putbackPageButtonHandler() {\n putbackPage();\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n isOpen: isOpen,\n toggle: onClose,\n className: \"grw-create-page\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n tag: \"h4\",\n toggle: onClose,\n className: \"bg-info text-light\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-action-undo mr-2\",\n \"aria-hidden\": \"true\"\n }), \" \", t('modal_putback.label.Put Back Page')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_4__[\"default\"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"form-group\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", null, t('modal_putback.label.Put Back Page'), \":\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"br\", null), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"code\", null, path)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"custom-control custom-checkbox custom-checkbox-warning\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n className: \"custom-control-input\",\n id: \"cbPutBackRecursively\",\n type: \"checkbox\",\n checked: isPutbackRecursively,\n onChange: changeIsPutbackRecursivelyHandler\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n htmlFor: \"cbPutBackRecursively\",\n className: \"custom-control-label\"\n }, t('modal_putback.label.recursively')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", {\n className: \"form-text text-muted mt-0\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"code\", null, path), t('modal_putback.help.recursively')))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalFooter__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageManagement_ApiErrorMessageList__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n errs: errs\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-info\",\n onClick: putbackPageButtonHandler\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-action-undo mr-2\",\n \"aria-hidden\": \"true\"\n }), \" \", t('Put Back'))));\n};\n/**\n * Wrapper component for using unstated\n */\n\n\nconst PutBackPageModalWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_7__[\"withUnstatedContainers\"])(PutBackPageModal, [_services_PageContainer__WEBPACK_IMPORTED_MODULE_8__[\"default\"]]);\nPutBackPageModal.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_8__[\"default\"]).isRequired,\n isOpen: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,\n onClose: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n path: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_6__[\"withTranslation\"])()(PutBackPageModalWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUHV0YmFja1BhZ2VNb2RhbC5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUHV0YmFja1BhZ2VNb2RhbC5qc3g/M2E5MyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQge1xuICBNb2RhbCwgTW9kYWxIZWFkZXIsIE1vZGFsQm9keSwgTW9kYWxGb290ZXIsXG59IGZyb20gJ3JlYWN0c3RyYXAnO1xuXG5pbXBvcnQgeyB3aXRoVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcblxuaW1wb3J0IHsgd2l0aFVuc3RhdGVkQ29udGFpbmVycyB9IGZyb20gJy4vVW5zdGF0ZWRVdGlscyc7XG5cbmltcG9ydCBQYWdlQ29udGFpbmVyIGZyb20gJy4uL3NlcnZpY2VzL1BhZ2VDb250YWluZXInO1xuXG5pbXBvcnQgQXBpRXJyb3JNZXNzYWdlTGlzdCBmcm9tICcuL1BhZ2VNYW5hZ2VtZW50L0FwaUVycm9yTWVzc2FnZUxpc3QnO1xuXG5jb25zdCBQdXRCYWNrUGFnZU1vZGFsID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICB0LCBpc09wZW4sIG9uQ2xvc2UsIHBhZ2VDb250YWluZXIsIHBhdGgsXG4gIH0gPSBwcm9wcztcblxuICBjb25zdCBbZXJycywgc2V0RXJyc10gPSB1c2VTdGF0ZShudWxsKTtcblxuICBjb25zdCBbaXNQdXRiYWNrUmVjdXJzaXZlbHksIHNldElzUHV0YmFja1JlY3Vyc2l2ZWx5XSA9IHVzZVN0YXRlKHRydWUpO1xuXG4gIGZ1bmN0aW9uIGNoYW5nZUlzUHV0YmFja1JlY3Vyc2l2ZWx5SGFuZGxlcigpIHtcbiAgICBzZXRJc1B1dGJhY2tSZWN1cnNpdmVseSghaXNQdXRiYWNrUmVjdXJzaXZlbHkpO1xuICB9XG5cbiAgYXN5bmMgZnVuY3Rpb24gcHV0YmFja1BhZ2UoKSB7XG4gICAgc2V0RXJycyhudWxsKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHBhZ2VDb250YWluZXIucmV2ZXJ0UmVtb3ZlKGlzUHV0YmFja1JlY3Vyc2l2ZWx5KTtcbiAgICAgIGNvbnN0IHB1dGJhY2tQYWdlUGF0aCA9IHJlc3BvbnNlLnBhZ2UucGF0aDtcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gZW5jb2RlVVJJKHB1dGJhY2tQYWdlUGF0aCk7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgIHNldEVycnMoZXJyKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBmdW5jdGlvbiBwdXRiYWNrUGFnZUJ1dHRvbkhhbmRsZXIoKSB7XG4gICAgcHV0YmFja1BhZ2UoKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPE1vZGFsIGlzT3Blbj17aXNPcGVufSB0b2dnbGU9e29uQ2xvc2V9IGNsYXNzTmFtZT1cImdydy1jcmVhdGUtcGFnZVwiPlxuICAgICAgPE1vZGFsSGVhZGVyIHRhZz1cImg0XCIgdG9nZ2xlPXtvbkNsb3NlfSBjbGFzc05hbWU9XCJiZy1pbmZvIHRleHQtbGlnaHRcIj5cbiAgICAgICAgPGkgY2xhc3NOYW1lPVwiaWNvbi1hY3Rpb24tdW5kbyBtci0yXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPiB7IHQoJ21vZGFsX3B1dGJhY2subGFiZWwuUHV0IEJhY2sgUGFnZScpIH1cbiAgICAgIDwvTW9kYWxIZWFkZXI+XG4gICAgICA8TW9kYWxCb2R5PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICA8bGFiZWw+e3QoJ21vZGFsX3B1dGJhY2subGFiZWwuUHV0IEJhY2sgUGFnZScpfTo8L2xhYmVsPjxiciAvPlxuICAgICAgICAgIDxjb2RlPntwYXRofTwvY29kZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY3VzdG9tLWNvbnRyb2wgY3VzdG9tLWNoZWNrYm94IGN1c3RvbS1jaGVja2JveC13YXJuaW5nXCI+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBjbGFzc05hbWU9XCJjdXN0b20tY29udHJvbC1pbnB1dFwiXG4gICAgICAgICAgICBpZD1cImNiUHV0QmFja1JlY3Vyc2l2ZWx5XCJcbiAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICBjaGVja2VkPXtpc1B1dGJhY2tSZWN1cnNpdmVseX1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtjaGFuZ2VJc1B1dGJhY2tSZWN1cnNpdmVseUhhbmRsZXJ9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8bGFiZWwgaHRtbEZvcj1cImNiUHV0QmFja1JlY3Vyc2l2ZWx5XCIgY2xhc3NOYW1lPVwiY3VzdG9tLWNvbnRyb2wtbGFiZWxcIj5cbiAgICAgICAgICAgIHsgdCgnbW9kYWxfcHV0YmFjay5sYWJlbC5yZWN1cnNpdmVseScpIH1cbiAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImZvcm0tdGV4dCB0ZXh0LW11dGVkIG10LTBcIj5cbiAgICAgICAgICAgIDxjb2RlPnsgcGF0aCB9PC9jb2RlPnsgdCgnbW9kYWxfcHV0YmFjay5oZWxwLnJlY3Vyc2l2ZWx5JykgfVxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L01vZGFsQm9keT5cbiAgICAgIDxNb2RhbEZvb3Rlcj5cbiAgICAgICAgPEFwaUVycm9yTWVzc2FnZUxpc3QgZXJycz17ZXJyc30gLz5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3NOYW1lPVwiYnRuIGJ0bi1pbmZvXCIgb25DbGljaz17cHV0YmFja1BhZ2VCdXR0b25IYW5kbGVyfT5cbiAgICAgICAgICA8aSBjbGFzc05hbWU9XCJpY29uLWFjdGlvbi11bmRvIG1yLTJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+IHsgdCgnUHV0IEJhY2snKSB9XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9Nb2RhbEZvb3Rlcj5cbiAgICA8L01vZGFsPlxuICApO1xuXG59O1xuXG4vKipcbiAqIFdyYXBwZXIgY29tcG9uZW50IGZvciB1c2luZyB1bnN0YXRlZFxuICovXG5jb25zdCBQdXRCYWNrUGFnZU1vZGFsV3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoUHV0QmFja1BhZ2VNb2RhbCwgW1BhZ2VDb250YWluZXJdKTtcblxuUHV0QmFja1BhZ2VNb2RhbC5wcm9wVHlwZXMgPSB7XG4gIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsIC8vICBpMThuZXh0XG4gIHBhZ2VDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKFBhZ2VDb250YWluZXIpLmlzUmVxdWlyZWQsXG5cbiAgaXNPcGVuOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICBvbkNsb3NlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuXG4gIHBhdGg6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbn07XG5cblxuZXhwb3J0IGRlZmF1bHQgd2l0aFRyYW5zbGF0aW9uKCkoUHV0QmFja1BhZ2VNb2RhbFdyYXBwZXIpO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7Ozs7O0FBTUE7QUFFQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBREE7QUFJQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUlBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFPQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBTUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBTUE7QUFFQTs7Ozs7QUFHQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBUEE7QUFXQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/PutbackPageModal.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/RecentCreated/RecentCreated.jsx":
- /*!******************************************************************!*\
- !*** ./src/client/js/components/RecentCreated/RecentCreated.jsx ***!
- \******************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _PageList_Page__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../PageList/Page */ \"./src/client/js/components/PageList/Page.jsx\");\n/* harmony import */ var _PaginationWrapper__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../PaginationWrapper */ \"./src/client/js/components/PaginationWrapper.jsx\");\n\n\n\n\n\n\n\nclass RecentCreated extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n this.state = {\n pages: [],\n activePage: 1,\n totalPages: 0,\n pagingLimit: 10\n };\n this.handlePage = this.handlePage.bind(this);\n }\n\n componentWillMount() {\n this.getRecentCreatedList(1);\n }\n\n async handlePage(selectedPage) {\n await this.getRecentCreatedList(selectedPage);\n }\n\n async getRecentCreatedList(selectedPage) {\n const {\n appContainer,\n userId\n } = this.props;\n const page = selectedPage; // pagesList get and pagination calculate\n\n const res = await appContainer.apiv3Get(`/users/${userId}/recent`, {\n page\n });\n const {\n totalCount,\n pages,\n limit\n } = res.data;\n this.setState({\n pages,\n activePage: selectedPage,\n totalPages: totalCount,\n pagingLimit: limit\n });\n }\n /**\n * generate Elements of Page\n *\n * @param {any} pages Array of pages Model Obj\n *\n */\n\n\n generatePageList(pages) {\n return pages.map(page => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", {\n key: `recent-created:list-view:${page._id}`,\n className: \"mt-4\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageList_Page__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n page: page\n })));\n }\n\n render() {\n const pageList = this.generatePageList(this.state.pages);\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"page-list-container-create\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"ul\", {\n className: \"page-list-ul page-list-ul-flat mb-3\"\n }, pageList), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PaginationWrapper__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n align: \"center\",\n activePage: this.state.activePage,\n changePage: this.handlePage,\n totalItemsCount: this.state.totalPages,\n pagingLimit: this.state.pagingLimit,\n size: \"sm\"\n }));\n }\n\n}\n/**\n * Wrapper component for using unstated\n */\n\n\nconst RecentCreatedWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_2__[\"withUnstatedContainers\"])(RecentCreated, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_3__[\"default\"]]);\nRecentCreated.propTypes = {\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_3__[\"default\"]).isRequired,\n userId: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (RecentCreatedWrapper);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUmVjZW50Q3JlYXRlZC9SZWNlbnRDcmVhdGVkLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9SZWNlbnRDcmVhdGVkL1JlY2VudENyZWF0ZWQuanN4P2UzOWIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCB7IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMgfSBmcm9tICcuLi9VbnN0YXRlZFV0aWxzJztcbmltcG9ydCBBcHBDb250YWluZXIgZnJvbSAnLi4vLi4vc2VydmljZXMvQXBwQ29udGFpbmVyJztcblxuaW1wb3J0IFBhZ2UgZnJvbSAnLi4vUGFnZUxpc3QvUGFnZSc7XG5pbXBvcnQgUGFnaW5hdGlvbldyYXBwZXIgZnJvbSAnLi4vUGFnaW5hdGlvbldyYXBwZXInO1xuXG5jbGFzcyBSZWNlbnRDcmVhdGVkIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcblxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBwYWdlczogW10sXG4gICAgICBhY3RpdmVQYWdlOiAxLFxuICAgICAgdG90YWxQYWdlczogMCxcbiAgICAgIHBhZ2luZ0xpbWl0OiAxMCxcbiAgICB9O1xuXG4gICAgdGhpcy5oYW5kbGVQYWdlID0gdGhpcy5oYW5kbGVQYWdlLmJpbmQodGhpcyk7XG4gIH1cblxuXG4gIGNvbXBvbmVudFdpbGxNb3VudCgpIHtcbiAgICB0aGlzLmdldFJlY2VudENyZWF0ZWRMaXN0KDEpO1xuICB9XG5cbiAgYXN5bmMgaGFuZGxlUGFnZShzZWxlY3RlZFBhZ2UpIHtcbiAgICBhd2FpdCB0aGlzLmdldFJlY2VudENyZWF0ZWRMaXN0KHNlbGVjdGVkUGFnZSk7XG4gIH1cblxuICBhc3luYyBnZXRSZWNlbnRDcmVhdGVkTGlzdChzZWxlY3RlZFBhZ2UpIHtcbiAgICBjb25zdCB7IGFwcENvbnRhaW5lciwgdXNlcklkIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHBhZ2UgPSBzZWxlY3RlZFBhZ2U7XG5cbiAgICAvLyBwYWdlc0xpc3QgZ2V0IGFuZCBwYWdpbmF0aW9uIGNhbGN1bGF0ZVxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IGFwcENvbnRhaW5lci5hcGl2M0dldChgL3VzZXJzLyR7dXNlcklkfS9yZWNlbnRgLCB7IHBhZ2UgfSk7XG4gICAgY29uc3QgeyB0b3RhbENvdW50LCBwYWdlcywgbGltaXQgfSA9IHJlcy5kYXRhO1xuXG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBwYWdlcyxcbiAgICAgIGFjdGl2ZVBhZ2U6IHNlbGVjdGVkUGFnZSxcbiAgICAgIHRvdGFsUGFnZXM6IHRvdGFsQ291bnQsXG4gICAgICBwYWdpbmdMaW1pdDogbGltaXQsXG4gICAgfSk7XG5cbiAgfVxuXG4gIC8qKlxuICAgKiBnZW5lcmF0ZSBFbGVtZW50cyBvZiBQYWdlXG4gICAqXG4gICAqIEBwYXJhbSB7YW55fSBwYWdlcyBBcnJheSBvZiBwYWdlcyBNb2RlbCBPYmpcbiAgICpcbiAgICovXG4gIGdlbmVyYXRlUGFnZUxpc3QocGFnZXMpIHtcbiAgICByZXR1cm4gcGFnZXMubWFwKHBhZ2UgPT4gKFxuICAgICAgPGxpIGtleT17YHJlY2VudC1jcmVhdGVkOmxpc3Qtdmlldzoke3BhZ2UuX2lkfWB9IGNsYXNzTmFtZT1cIm10LTRcIj5cbiAgICAgICAgPFBhZ2UgcGFnZT17cGFnZX0gLz5cbiAgICAgIDwvbGk+XG4gICAgKSk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgcGFnZUxpc3QgPSB0aGlzLmdlbmVyYXRlUGFnZUxpc3QodGhpcy5zdGF0ZS5wYWdlcyk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJwYWdlLWxpc3QtY29udGFpbmVyLWNyZWF0ZVwiPlxuICAgICAgICA8dWwgY2xhc3NOYW1lPVwicGFnZS1saXN0LXVsIHBhZ2UtbGlzdC11bC1mbGF0IG1iLTNcIj5cbiAgICAgICAgICB7cGFnZUxpc3R9XG4gICAgICAgIDwvdWw+XG4gICAgICAgIDxQYWdpbmF0aW9uV3JhcHBlclxuICAgICAgICAgIGFsaWduPVwiY2VudGVyXCJcbiAgICAgICAgICBhY3RpdmVQYWdlPXt0aGlzLnN0YXRlLmFjdGl2ZVBhZ2V9XG4gICAgICAgICAgY2hhbmdlUGFnZT17dGhpcy5oYW5kbGVQYWdlfVxuICAgICAgICAgIHRvdGFsSXRlbXNDb3VudD17dGhpcy5zdGF0ZS50b3RhbFBhZ2VzfVxuICAgICAgICAgIHBhZ2luZ0xpbWl0PXt0aGlzLnN0YXRlLnBhZ2luZ0xpbWl0fVxuICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG5cbn1cblxuLyoqXG4gKiBXcmFwcGVyIGNvbXBvbmVudCBmb3IgdXNpbmcgdW5zdGF0ZWRcbiAqL1xuY29uc3QgUmVjZW50Q3JlYXRlZFdyYXBwZXIgPSB3aXRoVW5zdGF0ZWRDb250YWluZXJzKFJlY2VudENyZWF0ZWQsIFtBcHBDb250YWluZXJdKTtcblxuUmVjZW50Q3JlYXRlZC5wcm9wVHlwZXMgPSB7XG4gIGFwcENvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoQXBwQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuXG4gIHVzZXJJZDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgUmVjZW50Q3JlYXRlZFdyYXBwZXI7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FBT0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU9BO0FBRUE7Ozs7Ozs7O0FBTUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQVVBO0FBQ0E7QUExRUE7QUE2RUE7Ozs7O0FBR0E7QUFFQTtBQUNBO0FBRUE7QUFIQTtBQU1BIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/RecentCreated/RecentCreated.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/RevisionComparer/RevisionComparer.jsx":
- /*!************************************************************************!*\
- !*** ./src/client/js/components/RevisionComparer/RevisionComparer.jsx ***!
- \************************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var react_copy_to_clipboard__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-copy-to-clipboard */ \"./node_modules/react-copy-to-clipboard/lib/index.js\");\n/* harmony import */ var react_copy_to_clipboard__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_copy_to_clipboard__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var reactstrap_es_Dropdown__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! reactstrap/es/Dropdown */ \"./node_modules/reactstrap/es/Dropdown.js\");\n/* harmony import */ var reactstrap_es_DropdownToggle__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! reactstrap/es/DropdownToggle */ \"./node_modules/reactstrap/es/DropdownToggle.js\");\n/* harmony import */ var reactstrap_es_DropdownMenu__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! reactstrap/es/DropdownMenu */ \"./node_modules/reactstrap/es/DropdownMenu.js\");\n/* harmony import */ var reactstrap_es_DropdownItem__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! reactstrap/es/DropdownItem */ \"./node_modules/reactstrap/es/DropdownItem.js\");\n/* harmony import */ var _commons_util_path_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @commons/util/path-utils */ \"./src/lib/util/path-utils.js\");\n/* harmony import */ var _commons_util_path_utils__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_commons_util_path_utils__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_RevisionComparerContainer__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../services/RevisionComparerContainer */ \"./src/client/js/services/RevisionComparerContainer.js\");\n/* harmony import */ var _PageHistory_RevisionDiff__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../PageHistory/RevisionDiff */ \"./src/client/js/components/PageHistory/RevisionDiff.jsx\");\n\n\n\n\n\n\n\n\n\n\n\n\n/* eslint-disable react/prop-types */\n\nconst DropdownItemContents = ({\n title,\n contents\n}) => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"h6 mt-1 mb-2\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"strong\", null, title)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"card well mb-1 p-2\"\n}, contents));\n/* eslint-enable react/prop-types */\n\n\nconst RevisionComparer = props => {\n const [dropdownOpen, setDropdownOpen] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(false);\n const {\n t,\n revisionComparerContainer\n } = props;\n\n function toggleDropdown() {\n setDropdownOpen(!dropdownOpen);\n }\n\n const pagePathUrl = () => {\n const {\n origin\n } = window.location;\n const {\n path\n } = revisionComparerContainer.pageContainer.state;\n const {\n sourceRevision,\n targetRevision\n } = revisionComparerContainer.state;\n const url = new URL(path, origin);\n\n if (sourceRevision != null && targetRevision != null) {\n const urlParams = `${sourceRevision._id}...${targetRevision._id}`;\n url.searchParams.set('compare', urlParams);\n }\n\n return Object(_commons_util_path_utils__WEBPACK_IMPORTED_MODULE_8__[\"encodeSpaces\"])(decodeURI(url));\n };\n\n const {\n sourceRevision,\n targetRevision\n } = revisionComparerContainer.state;\n\n if (sourceRevision == null || targetRevision == null) {\n return null;\n }\n\n const isNodiff = sourceRevision._id === targetRevision._id;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"revision-compare\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"d-flex\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h4\", {\n className: \"align-self-center\"\n }, t('page_history.comparing_revisions')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Dropdown__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"grw-copy-dropdown align-self-center ml-auto\",\n isOpen: dropdownOpen,\n toggle: () => toggleDropdown()\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_DropdownToggle__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n caret: true,\n className: \"d-block text-muted bg-transparent btn-copy border-0 py-0\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"ti-clipboard\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_DropdownMenu__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n positionFixed: true,\n right: true,\n modifiers: {\n preventOverflow: {\n boundariesElement: null\n }\n }\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_copy_to_clipboard__WEBPACK_IMPORTED_MODULE_3__[\"CopyToClipboard\"], {\n text: pagePathUrl()\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_DropdownItem__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n className: \"px-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(DropdownItemContents, {\n title: t('copy_to_clipboard.Page URL'),\n contents: pagePathUrl()\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_DropdownItem__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n divider: true,\n className: \"my-0\"\n })))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: `revision-compare-container ${isNodiff ? 'nodiff' : ''}`\n }, isNodiff ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"h3 text-muted\"\n }, t('No diff')) : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageHistory_RevisionDiff__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n revisionDiffOpened: true,\n previousRevision: sourceRevision,\n currentRevision: targetRevision\n })));\n};\n/**\n * Wrapper component for using unstated\n */\n\n\nconst RevisionComparerWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_9__[\"withUnstatedContainers\"])(RevisionComparer, [_services_RevisionComparerContainer__WEBPACK_IMPORTED_MODULE_10__[\"default\"]]);\nRevisionComparer.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n revisionComparerContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_RevisionComparerContainer__WEBPACK_IMPORTED_MODULE_10__[\"default\"]).isRequired,\n revisions: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.array\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(RevisionComparerWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvUmV2aXNpb25Db21wYXJlci9SZXZpc2lvbkNvbXBhcmVyLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9SZXZpc2lvbkNvbXBhcmVyL1JldmlzaW9uQ29tcGFyZXIuanN4PzkxZGEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IHdpdGhUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuaW1wb3J0IHsgQ29weVRvQ2xpcGJvYXJkIH0gZnJvbSAncmVhY3QtY29weS10by1jbGlwYm9hcmQnO1xuaW1wb3J0IHtcbiAgRHJvcGRvd24sIERyb3Bkb3duVG9nZ2xlLCBEcm9wZG93bk1lbnUsIERyb3Bkb3duSXRlbSxcbn0gZnJvbSAncmVhY3RzdHJhcCc7XG5cbmltcG9ydCB7IGVuY29kZVNwYWNlcyB9IGZyb20gJ0Bjb21tb25zL3V0aWwvcGF0aC11dGlscyc7XG5cbmltcG9ydCB7IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMgfSBmcm9tICcuLi9VbnN0YXRlZFV0aWxzJztcblxuaW1wb3J0IFJldmlzaW9uQ29tcGFyZXJDb250YWluZXIgZnJvbSAnLi4vLi4vc2VydmljZXMvUmV2aXNpb25Db21wYXJlckNvbnRhaW5lcic7XG5cbmltcG9ydCBSZXZpc2lvbkRpZmYgZnJvbSAnLi4vUGFnZUhpc3RvcnkvUmV2aXNpb25EaWZmJztcblxuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvcHJvcC10eXBlcyAqL1xuY29uc3QgRHJvcGRvd25JdGVtQ29udGVudHMgPSAoeyB0aXRsZSwgY29udGVudHMgfSkgPT4gKFxuICA8PlxuICAgIDxkaXYgY2xhc3NOYW1lPVwiaDYgbXQtMSBtYi0yXCI+PHN0cm9uZz57dGl0bGV9PC9zdHJvbmc+PC9kaXY+XG4gICAgPGRpdiBjbGFzc05hbWU9XCJjYXJkIHdlbGwgbWItMSBwLTJcIj57Y29udGVudHN9PC9kaXY+XG4gIDwvPlxuKTtcbi8qIGVzbGludC1lbmFibGUgcmVhY3QvcHJvcC10eXBlcyAqL1xuXG5cbmNvbnN0IFJldmlzaW9uQ29tcGFyZXIgPSAocHJvcHMpID0+IHtcblxuICBjb25zdCBbZHJvcGRvd25PcGVuLCBzZXREcm9wZG93bk9wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIGNvbnN0IHsgdCwgcmV2aXNpb25Db21wYXJlckNvbnRhaW5lciB9ID0gcHJvcHM7XG5cbiAgZnVuY3Rpb24gdG9nZ2xlRHJvcGRvd24oKSB7XG4gICAgc2V0RHJvcGRvd25PcGVuKCFkcm9wZG93bk9wZW4pO1xuICB9XG5cbiAgY29uc3QgcGFnZVBhdGhVcmwgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBvcmlnaW4gfSA9IHdpbmRvdy5sb2NhdGlvbjtcbiAgICBjb25zdCB7IHBhdGggfSA9IHJldmlzaW9uQ29tcGFyZXJDb250YWluZXIucGFnZUNvbnRhaW5lci5zdGF0ZTtcbiAgICBjb25zdCB7IHNvdXJjZVJldmlzaW9uLCB0YXJnZXRSZXZpc2lvbiB9ID0gcmV2aXNpb25Db21wYXJlckNvbnRhaW5lci5zdGF0ZTtcblxuICAgIGNvbnN0IHVybCA9IG5ldyBVUkwocGF0aCwgb3JpZ2luKTtcblxuICAgIGlmIChzb3VyY2VSZXZpc2lvbiAhPSBudWxsICYmIHRhcmdldFJldmlzaW9uICE9IG51bGwpIHtcbiAgICAgIGNvbnN0IHVybFBhcmFtcyA9IGAke3NvdXJjZVJldmlzaW9uLl9pZH0uLi4ke3RhcmdldFJldmlzaW9uLl9pZH1gO1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5zZXQoJ2NvbXBhcmUnLCB1cmxQYXJhbXMpO1xuICAgIH1cblxuICAgIHJldHVybiBlbmNvZGVTcGFjZXMoZGVjb2RlVVJJKHVybCkpO1xuICB9O1xuXG4gIGNvbnN0IHsgc291cmNlUmV2aXNpb24sIHRhcmdldFJldmlzaW9uIH0gPSByZXZpc2lvbkNvbXBhcmVyQ29udGFpbmVyLnN0YXRlO1xuXG4gIGlmIChzb3VyY2VSZXZpc2lvbiA9PSBudWxsIHx8IHRhcmdldFJldmlzaW9uID09IG51bGwpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGlzTm9kaWZmID0gc291cmNlUmV2aXNpb24uX2lkID09PSB0YXJnZXRSZXZpc2lvbi5faWQ7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInJldmlzaW9uLWNvbXBhcmVcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZC1mbGV4XCI+XG4gICAgICAgIDxoNCBjbGFzc05hbWU9XCJhbGlnbi1zZWxmLWNlbnRlclwiPnsgdCgncGFnZV9oaXN0b3J5LmNvbXBhcmluZ19yZXZpc2lvbnMnKSB9PC9oND5cbiAgICAgICAgPERyb3Bkb3duXG4gICAgICAgICAgY2xhc3NOYW1lPVwiZ3J3LWNvcHktZHJvcGRvd24gYWxpZ24tc2VsZi1jZW50ZXIgbWwtYXV0b1wiXG4gICAgICAgICAgaXNPcGVuPXtkcm9wZG93bk9wZW59XG4gICAgICAgICAgdG9nZ2xlPXsoKSA9PiB0b2dnbGVEcm9wZG93bigpfVxuICAgICAgICA+XG4gICAgICAgICAgPERyb3Bkb3duVG9nZ2xlXG4gICAgICAgICAgICBjYXJldFxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiZC1ibG9jayB0ZXh0LW11dGVkIGJnLXRyYW5zcGFyZW50IGJ0bi1jb3B5IGJvcmRlci0wIHB5LTBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpIGNsYXNzTmFtZT1cInRpLWNsaXBib2FyZFwiPjwvaT5cbiAgICAgICAgICA8L0Ryb3Bkb3duVG9nZ2xlPlxuICAgICAgICAgIDxEcm9wZG93bk1lbnUgcG9zaXRpb25GaXhlZCByaWdodCBtb2RpZmllcnM9e3sgcHJldmVudE92ZXJmbG93OiB7IGJvdW5kYXJpZXNFbGVtZW50OiBudWxsIH0gfX0+XG4gICAgICAgICAgICB7LyogUGFnZSBwYXRoIFVSTCAqL31cbiAgICAgICAgICAgIDxDb3B5VG9DbGlwYm9hcmQgdGV4dD17cGFnZVBhdGhVcmwoKX0+XG4gICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW0gY2xhc3NOYW1lPVwicHgtM1wiPlxuICAgICAgICAgICAgICAgIDxEcm9wZG93bkl0ZW1Db250ZW50cyB0aXRsZT17dCgnY29weV90b19jbGlwYm9hcmQuUGFnZSBVUkwnKX0gY29udGVudHM9e3BhZ2VQYXRoVXJsKCl9IC8+XG4gICAgICAgICAgICAgIDwvRHJvcGRvd25JdGVtPlxuICAgICAgICAgICAgPC9Db3B5VG9DbGlwYm9hcmQ+XG4gICAgICAgICAgICA8RHJvcGRvd25JdGVtIGRpdmlkZXIgY2xhc3NOYW1lPVwibXktMFwiPjwvRHJvcGRvd25JdGVtPlxuICAgICAgICAgIDwvRHJvcGRvd25NZW51PlxuICAgICAgICA8L0Ryb3Bkb3duPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtgcmV2aXNpb24tY29tcGFyZS1jb250YWluZXIgJHtpc05vZGlmZiA/ICdub2RpZmYnIDogJyd9YH0+XG4gICAgICAgIHsgaXNOb2RpZmZcbiAgICAgICAgICA/IChcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImgzIHRleHQtbXV0ZWRcIj57dCgnTm8gZGlmZicpfTwvc3Bhbj5cbiAgICAgICAgICApXG4gICAgICAgICAgOiAoXG4gICAgICAgICAgICA8UmV2aXNpb25EaWZmXG4gICAgICAgICAgICAgIHJldmlzaW9uRGlmZk9wZW5lZFxuICAgICAgICAgICAgICBwcmV2aW91c1JldmlzaW9uPXtzb3VyY2VSZXZpc2lvbn1cbiAgICAgICAgICAgICAgY3VycmVudFJldmlzaW9uPXt0YXJnZXRSZXZpc2lvbn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbi8qKlxuICogV3JhcHBlciBjb21wb25lbnQgZm9yIHVzaW5nIHVuc3RhdGVkXG4gKi9cbmNvbnN0IFJldmlzaW9uQ29tcGFyZXJXcmFwcGVyID0gd2l0aFVuc3RhdGVkQ29udGFpbmVycyhSZXZpc2lvbkNvbXBhcmVyLCBbUmV2aXNpb25Db21wYXJlckNvbnRhaW5lcl0pO1xuXG5SZXZpc2lvbkNvbXBhcmVyLnByb3BUeXBlcyA9IHtcbiAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCwgLy8gaTE4bmV4dFxuICByZXZpc2lvbkNvbXBhcmVyQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihSZXZpc2lvbkNvbXBhcmVyQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuXG4gIHJldmlzaW9uczogUHJvcFR5cGVzLmFycmF5LFxufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFRyYW5zbGF0aW9uKCkoUmV2aXNpb25Db21wYXJlcldyYXBwZXIpO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7Ozs7O0FBS0E7QUFFQTtBQUVBO0FBRUE7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBSEE7QUFNQTtBQUNBO0FBRkE7QUFJQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUdBO0FBQUE7QUFJQTtBQUNBO0FBQ0E7QUFIQTtBQVVBO0FBRUE7Ozs7O0FBR0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBSkE7QUFPQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/RevisionComparer/RevisionComparer.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/SavePageControls.jsx":
- /*!*******************************************************!*\
- !*** ./src/client/js/components/SavePageControls.jsx ***!
- \*******************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var reactstrap_es_UncontrolledButtonDropdown__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! reactstrap/es/UncontrolledButtonDropdown */ \"./node_modules/reactstrap/es/UncontrolledButtonDropdown.js\");\n/* harmony import */ var reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! reactstrap/es/Button */ \"./node_modules/reactstrap/es/Button.js\");\n/* harmony import */ var reactstrap_es_DropdownToggle__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! reactstrap/es/DropdownToggle */ \"./node_modules/reactstrap/es/DropdownToggle.js\");\n/* harmony import */ var reactstrap_es_DropdownMenu__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! reactstrap/es/DropdownMenu */ \"./node_modules/reactstrap/es/DropdownMenu.js\");\n/* harmony import */ var reactstrap_es_DropdownItem__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! reactstrap/es/DropdownItem */ \"./node_modules/reactstrap/es/DropdownItem.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @alias/logger */ \"./src/lib/service/logger/index.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_alias_logger__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_EditorContainer__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../services/EditorContainer */ \"./src/client/js/services/EditorContainer.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _SavePageControls_GrantSelector__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./SavePageControls/GrantSelector */ \"./src/client/js/components/SavePageControls/GrantSelector.jsx\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst logger = _alias_logger__WEBPACK_IMPORTED_MODULE_8___default()('growi:SavePageControls');\n\nclass SavePageControls extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n const config = this.props.appContainer.getConfig();\n this.isAclEnabled = config.isAclEnabled;\n this.updateGrantHandler = this.updateGrantHandler.bind(this);\n this.save = this.save.bind(this);\n this.saveAndOverwriteScopesOfDescendants = this.saveAndOverwriteScopesOfDescendants.bind(this);\n }\n\n updateGrantHandler(data) {\n this.props.editorContainer.setState(data);\n }\n\n async save() {\n const {\n pageContainer,\n editorContainer\n } = this.props; // disable unsaved warning\n\n editorContainer.disableUnsavedWarning();\n\n try {\n // save\n await pageContainer.saveAndReload(editorContainer.getCurrentOptionsToSave());\n } catch (error) {\n logger.error('failed to save', error);\n pageContainer.showErrorToastr(error);\n }\n }\n\n saveAndOverwriteScopesOfDescendants() {\n const {\n pageContainer,\n editorContainer\n } = this.props; // disable unsaved warning\n\n editorContainer.disableUnsavedWarning(); // save\n\n const optionsToSave = Object.assign(editorContainer.getCurrentOptionsToSave(), {\n overwriteScopesOfDescendants: true\n });\n pageContainer.saveAndReload(optionsToSave);\n }\n\n render() {\n const {\n t,\n pageContainer,\n editorContainer\n } = this.props;\n const isRootPage = pageContainer.state.path === '/';\n const labelSubmitButton = pageContainer.state.pageId == null ? t('Create') : t('Update');\n const labelOverwriteScopes = t('page_edit.overwrite_scopes', {\n operation: labelSubmitButton\n });\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"d-flex align-items-center form-inline flex-nowrap\"\n }, this.isAclEnabled && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"mr-2\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SavePageControls_GrantSelector__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n disabled: isRootPage,\n grant: editorContainer.state.grant,\n grantGroupId: editorContainer.state.grantGroupId,\n grantGroupName: editorContainer.state.grantGroupName,\n onUpdateGrant: this.updateGrantHandler\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_UncontrolledButtonDropdown__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n direction: \"up\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n id: \"caret\",\n color: \"primary\",\n className: \"btn-submit\",\n onClick: this.save\n }, labelSubmitButton), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_DropdownToggle__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n caret: true,\n color: \"primary\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_DropdownMenu__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n right: true\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_DropdownItem__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n onClick: this.saveAndOverwriteScopesOfDescendants\n }, labelOverwriteScopes))));\n }\n\n}\n/**\n * Wrapper component for using unstated\n */\n\n\nconst SavePageControlsWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_12__[\"withUnstatedContainers\"])(SavePageControls, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_10__[\"default\"], _services_PageContainer__WEBPACK_IMPORTED_MODULE_9__[\"default\"], _services_EditorContainer__WEBPACK_IMPORTED_MODULE_11__[\"default\"]]);\nSavePageControls.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_10__[\"default\"]).isRequired,\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_9__[\"default\"]).isRequired,\n editorContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_EditorContainer__WEBPACK_IMPORTED_MODULE_11__[\"default\"]).isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(SavePageControlsWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvU2F2ZVBhZ2VDb250cm9scy5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvU2F2ZVBhZ2VDb250cm9scy5qc3g/MTg1OCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuaW1wb3J0IHsgd2l0aFRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5cbmltcG9ydCB7XG4gIFVuY29udHJvbGxlZEJ1dHRvbkRyb3Bkb3duLCBCdXR0b24sXG4gIERyb3Bkb3duVG9nZ2xlLCBEcm9wZG93bk1lbnUsIERyb3Bkb3duSXRlbSxcbn0gZnJvbSAncmVhY3RzdHJhcCc7XG5cbmltcG9ydCBsb2dnZXJGYWN0b3J5IGZyb20gJ0BhbGlhcy9sb2dnZXInO1xuXG5pbXBvcnQgUGFnZUNvbnRhaW5lciBmcm9tICcuLi9zZXJ2aWNlcy9QYWdlQ29udGFpbmVyJztcbmltcG9ydCBBcHBDb250YWluZXIgZnJvbSAnLi4vc2VydmljZXMvQXBwQ29udGFpbmVyJztcbmltcG9ydCBFZGl0b3JDb250YWluZXIgZnJvbSAnLi4vc2VydmljZXMvRWRpdG9yQ29udGFpbmVyJztcblxuaW1wb3J0IHsgd2l0aFVuc3RhdGVkQ29udGFpbmVycyB9IGZyb20gJy4vVW5zdGF0ZWRVdGlscyc7XG5pbXBvcnQgR3JhbnRTZWxlY3RvciBmcm9tICcuL1NhdmVQYWdlQ29udHJvbHMvR3JhbnRTZWxlY3Rvcic7XG5cbmNvbnN0IGxvZ2dlciA9IGxvZ2dlckZhY3RvcnkoJ2dyb3dpOlNhdmVQYWdlQ29udHJvbHMnKTtcblxuY2xhc3MgU2F2ZVBhZ2VDb250cm9scyBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICBjb25zdCBjb25maWcgPSB0aGlzLnByb3BzLmFwcENvbnRhaW5lci5nZXRDb25maWcoKTtcbiAgICB0aGlzLmlzQWNsRW5hYmxlZCA9IGNvbmZpZy5pc0FjbEVuYWJsZWQ7XG5cbiAgICB0aGlzLnVwZGF0ZUdyYW50SGFuZGxlciA9IHRoaXMudXBkYXRlR3JhbnRIYW5kbGVyLmJpbmQodGhpcyk7XG5cbiAgICB0aGlzLnNhdmUgPSB0aGlzLnNhdmUuYmluZCh0aGlzKTtcbiAgICB0aGlzLnNhdmVBbmRPdmVyd3JpdGVTY29wZXNPZkRlc2NlbmRhbnRzID0gdGhpcy5zYXZlQW5kT3ZlcndyaXRlU2NvcGVzT2ZEZXNjZW5kYW50cy5iaW5kKHRoaXMpO1xuICB9XG5cbiAgdXBkYXRlR3JhbnRIYW5kbGVyKGRhdGEpIHtcbiAgICB0aGlzLnByb3BzLmVkaXRvckNvbnRhaW5lci5zZXRTdGF0ZShkYXRhKTtcbiAgfVxuXG4gIGFzeW5jIHNhdmUoKSB7XG4gICAgY29uc3QgeyBwYWdlQ29udGFpbmVyLCBlZGl0b3JDb250YWluZXIgfSA9IHRoaXMucHJvcHM7XG4gICAgLy8gZGlzYWJsZSB1bnNhdmVkIHdhcm5pbmdcbiAgICBlZGl0b3JDb250YWluZXIuZGlzYWJsZVVuc2F2ZWRXYXJuaW5nKCk7XG5cbiAgICB0cnkge1xuICAgICAgLy8gc2F2ZVxuICAgICAgYXdhaXQgcGFnZUNvbnRhaW5lci5zYXZlQW5kUmVsb2FkKGVkaXRvckNvbnRhaW5lci5nZXRDdXJyZW50T3B0aW9uc1RvU2F2ZSgpKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICBsb2dnZXIuZXJyb3IoJ2ZhaWxlZCB0byBzYXZlJywgZXJyb3IpO1xuICAgICAgcGFnZUNvbnRhaW5lci5zaG93RXJyb3JUb2FzdHIoZXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIHNhdmVBbmRPdmVyd3JpdGVTY29wZXNPZkRlc2NlbmRhbnRzKCkge1xuICAgIGNvbnN0IHsgcGFnZUNvbnRhaW5lciwgZWRpdG9yQ29udGFpbmVyIH0gPSB0aGlzLnByb3BzO1xuICAgIC8vIGRpc2FibGUgdW5zYXZlZCB3YXJuaW5nXG4gICAgZWRpdG9yQ29udGFpbmVyLmRpc2FibGVVbnNhdmVkV2FybmluZygpO1xuICAgIC8vIHNhdmVcbiAgICBjb25zdCBvcHRpb25zVG9TYXZlID0gT2JqZWN0LmFzc2lnbihlZGl0b3JDb250YWluZXIuZ2V0Q3VycmVudE9wdGlvbnNUb1NhdmUoKSwge1xuICAgICAgb3ZlcndyaXRlU2NvcGVzT2ZEZXNjZW5kYW50czogdHJ1ZSxcbiAgICB9KTtcbiAgICBwYWdlQ29udGFpbmVyLnNhdmVBbmRSZWxvYWQob3B0aW9uc1RvU2F2ZSk7XG4gIH1cblxuICByZW5kZXIoKSB7XG5cbiAgICBjb25zdCB7IHQsIHBhZ2VDb250YWluZXIsIGVkaXRvckNvbnRhaW5lciB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGlzUm9vdFBhZ2UgPSBwYWdlQ29udGFpbmVyLnN0YXRlLnBhdGggPT09ICcvJztcbiAgICBjb25zdCBsYWJlbFN1Ym1pdEJ1dHRvbiA9IHBhZ2VDb250YWluZXIuc3RhdGUucGFnZUlkID09IG51bGwgPyB0KCdDcmVhdGUnKSA6IHQoJ1VwZGF0ZScpO1xuICAgIGNvbnN0IGxhYmVsT3ZlcndyaXRlU2NvcGVzID0gdCgncGFnZV9lZGl0Lm92ZXJ3cml0ZV9zY29wZXMnLCB7IG9wZXJhdGlvbjogbGFiZWxTdWJtaXRCdXR0b24gfSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGZvcm0taW5saW5lIGZsZXgtbm93cmFwXCI+XG5cbiAgICAgICAge3RoaXMuaXNBY2xFbmFibGVkXG4gICAgICAgICAgJiYgKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXItMlwiPlxuICAgICAgICAgICAgPEdyYW50U2VsZWN0b3JcbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e2lzUm9vdFBhZ2V9XG4gICAgICAgICAgICAgIGdyYW50PXtlZGl0b3JDb250YWluZXIuc3RhdGUuZ3JhbnR9XG4gICAgICAgICAgICAgIGdyYW50R3JvdXBJZD17ZWRpdG9yQ29udGFpbmVyLnN0YXRlLmdyYW50R3JvdXBJZH1cbiAgICAgICAgICAgICAgZ3JhbnRHcm91cE5hbWU9e2VkaXRvckNvbnRhaW5lci5zdGF0ZS5ncmFudEdyb3VwTmFtZX1cbiAgICAgICAgICAgICAgb25VcGRhdGVHcmFudD17dGhpcy51cGRhdGVHcmFudEhhbmRsZXJ9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIClcbiAgICAgICAgfVxuXG4gICAgICAgIDxVbmNvbnRyb2xsZWRCdXR0b25Ecm9wZG93biBkaXJlY3Rpb249XCJ1cFwiPlxuICAgICAgICAgIDxCdXR0b24gaWQ9XCJjYXJldFwiIGNvbG9yPVwicHJpbWFyeVwiIGNsYXNzTmFtZT1cImJ0bi1zdWJtaXRcIiBvbkNsaWNrPXt0aGlzLnNhdmV9PntsYWJlbFN1Ym1pdEJ1dHRvbn08L0J1dHRvbj5cbiAgICAgICAgICA8RHJvcGRvd25Ub2dnbGUgY2FyZXQgY29sb3I9XCJwcmltYXJ5XCIgLz5cbiAgICAgICAgICA8RHJvcGRvd25NZW51IHJpZ2h0PlxuICAgICAgICAgICAgPERyb3Bkb3duSXRlbSBvbkNsaWNrPXt0aGlzLnNhdmVBbmRPdmVyd3JpdGVTY29wZXNPZkRlc2NlbmRhbnRzfT5cbiAgICAgICAgICAgICAge2xhYmVsT3ZlcndyaXRlU2NvcGVzfVxuICAgICAgICAgICAgPC9Ecm9wZG93bkl0ZW0+XG4gICAgICAgICAgPC9Ecm9wZG93bk1lbnU+XG4gICAgICAgIDwvVW5jb250cm9sbGVkQnV0dG9uRHJvcGRvd24+XG5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cblxufVxuXG4vKipcbiAqIFdyYXBwZXIgY29tcG9uZW50IGZvciB1c2luZyB1bnN0YXRlZFxuICovXG5jb25zdCBTYXZlUGFnZUNvbnRyb2xzV3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoU2F2ZVBhZ2VDb250cm9scywgW0FwcENvbnRhaW5lciwgUGFnZUNvbnRhaW5lciwgRWRpdG9yQ29udGFpbmVyXSk7XG5cblNhdmVQYWdlQ29udHJvbHMucHJvcFR5cGVzID0ge1xuICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLCAvLyBpMThuZXh0XG5cbiAgYXBwQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihBcHBDb250YWluZXIpLmlzUmVxdWlyZWQsXG4gIHBhZ2VDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKFBhZ2VDb250YWluZXIpLmlzUmVxdWlyZWQsXG4gIGVkaXRvckNvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoRWRpdG9yQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFRyYW5zbGF0aW9uKCkoU2F2ZVBhZ2VDb250cm9sc1dyYXBwZXIpO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRUE7Ozs7OztBQU9BO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUFBO0FBSUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQVdBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFRQTtBQUNBO0FBbEZBO0FBcUZBOzs7OztBQUdBO0FBRUE7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBTEE7QUFRQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/SavePageControls.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/SavePageControls/GrantSelector.jsx":
- /*!*********************************************************************!*\
- !*** ./src/client/js/components/SavePageControls/GrantSelector.jsx ***!
- \*********************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var reactstrap_es_UncontrolledDropdown__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! reactstrap/es/UncontrolledDropdown */ \"./node_modules/reactstrap/es/UncontrolledDropdown.js\");\n/* harmony import */ var reactstrap_es_DropdownToggle__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! reactstrap/es/DropdownToggle */ \"./node_modules/reactstrap/es/DropdownToggle.js\");\n/* harmony import */ var reactstrap_es_DropdownMenu__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! reactstrap/es/DropdownMenu */ \"./node_modules/reactstrap/es/DropdownMenu.js\");\n/* harmony import */ var reactstrap_es_DropdownItem__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! reactstrap/es/DropdownItem */ \"./node_modules/reactstrap/es/DropdownItem.js\");\n/* harmony import */ var reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! reactstrap/es/Modal */ \"./node_modules/reactstrap/es/Modal.js\");\n/* harmony import */ var reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! reactstrap/es/ModalHeader */ \"./node_modules/reactstrap/es/ModalHeader.js\");\n/* harmony import */ var reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! reactstrap/es/ModalBody */ \"./node_modules/reactstrap/es/ModalBody.js\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Page grant select component\n *\n * @export\n * @class GrantSelector\n * @extends {React.Component}\n */\n\nclass GrantSelector extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n this.availableGrants = [{\n grant: 1,\n iconClass: 'icon-people',\n btnStyleClass: 'outline-info',\n label: 'Public'\n }, {\n grant: 2,\n iconClass: 'icon-link',\n btnStyleClass: 'outline-teal',\n label: 'Anyone with the link'\n }, // { grant: 3, iconClass: '', label: 'Specified users only' },\n {\n grant: 4,\n iconClass: 'icon-lock',\n btnStyleClass: 'outline-danger',\n label: 'Only me'\n }, {\n grant: 5,\n iconClass: 'icon-options',\n btnStyleClass: 'outline-purple',\n label: 'Only inside the group',\n reselectLabel: 'Reselect the group'\n }];\n this.state = {\n userRelatedGroups: [],\n isSelectGroupModalShown: false\n };\n this.showSelectGroupModal = this.showSelectGroupModal.bind(this);\n this.hideSelectGroupModal = this.hideSelectGroupModal.bind(this);\n this.changeGrantHandler = this.changeGrantHandler.bind(this);\n this.groupListItemClickHandler = this.groupListItemClickHandler.bind(this);\n }\n\n showSelectGroupModal() {\n this.retrieveUserGroupRelations();\n this.setState({\n isSelectGroupModalShown: true\n });\n }\n\n hideSelectGroupModal() {\n this.setState({\n isSelectGroupModalShown: false\n });\n }\n /**\n * Retrieve user-group-relations data from backend\n */\n\n\n retrieveUserGroupRelations() {\n this.props.appContainer.apiGet('/me/user-group-relations').then(res => {\n return res.userGroupRelations;\n }).then(userGroupRelations => {\n const userRelatedGroups = userGroupRelations.map(relation => {\n return relation.relatedGroup;\n });\n this.setState({\n userRelatedGroups\n });\n });\n }\n /**\n * change event handler for grant selector\n */\n\n\n changeGrantHandler(grant) {\n // select group\n if (grant === 5) {\n this.showSelectGroupModal();\n return;\n }\n\n if (this.props.onUpdateGrant != null) {\n this.props.onUpdateGrant({\n grant,\n grantGroupId: null,\n grantGroupName: null\n });\n }\n }\n\n groupListItemClickHandler(grantGroup) {\n if (this.props.onUpdateGrant != null) {\n this.props.onUpdateGrant({\n grant: 5,\n grantGroupId: grantGroup._id,\n grantGroupName: grantGroup.name\n });\n } // hide modal\n\n\n this.hideSelectGroupModal();\n }\n /**\n * Render grant selector DOM.\n * @returns\n * @memberof GrantSelector\n */\n\n\n renderGrantSelector() {\n const {\n t\n } = this.props;\n const {\n grant: currentGrant,\n grantGroupId\n } = this.props;\n let dropdownToggleBtnColor = null;\n let dropdownToggleLabelElm = null;\n const dropdownMenuElems = this.availableGrants.map(opt => {\n const label = opt.grant === 5 && grantGroupId != null ? opt.reselectLabel // when grantGroup is selected\n : opt.label;\n const labelElm = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: `icon icon-fw ${opt.iconClass}`\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"label\"\n }, t(label))); // set dropdownToggleBtnColor, dropdownToggleLabelElm\n\n if (opt.grant === 1 || opt.grant === currentGrant) {\n dropdownToggleBtnColor = opt.btnStyleClass;\n dropdownToggleLabelElm = labelElm;\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_DropdownItem__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n key: opt.grant,\n onClick: () => this.changeGrantHandler(opt.grant)\n }, labelElm);\n }); // add specified group option\n\n if (grantGroupId != null) {\n const labelElm = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon icon-fw icon-organization\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"label\"\n }, this.props.grantGroupName)); // set dropdownToggleLabelElm\n\n dropdownToggleLabelElm = labelElm;\n dropdownMenuElems.push(react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_DropdownItem__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n key: \"groupSelected\"\n }, labelElm));\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"form-group grw-grant-selector mb-0\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_UncontrolledDropdown__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n direction: \"up\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_DropdownToggle__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n color: dropdownToggleBtnColor,\n caret: true,\n className: \"d-flex justify-content-between align-items-center\",\n disabled: this.props.disabled\n }, dropdownToggleLabelElm), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_DropdownMenu__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null, dropdownMenuElems)));\n }\n /**\n * Render select grantgroup modal.\n *\n * @returns\n * @memberof GrantSelector\n */\n\n\n renderSelectGroupModal() {\n const generateGroupListItems = () => {\n return this.state.userRelatedGroups.map(group => {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n key: group._id,\n type: \"button\",\n className: \"list-group-item list-group-item-action\",\n onClick: () => {\n this.groupListItemClickHandler(group);\n }\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h5\", null, group.name), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"small\"\n }, \"(TBD) List group members\"));\n });\n };\n\n const content = this.state.userRelatedGroups.length === 0 ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h4\", null, \"There is no group to which you belong.\"), this.props.appContainer.isAdmin && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"p\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: \"/admin/user-groups\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon icon-fw icon-login\"\n }), \" Manage Groups\"))) : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"list-group\"\n }, generateGroupListItems());\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n className: \"select-grant-group\",\n isOpen: this.state.isSelectGroupModalShown,\n toggle: this.hideSelectGroupModal\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n tag: \"h4\",\n toggle: this.hideSelectGroupModal,\n className: \"bg-purple text-light\"\n }, \"Select a Group\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_9__[\"default\"], null, content));\n }\n\n render() {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, this.renderGrantSelector(), !this.props.disabled && this.renderSelectGroupModal());\n }\n\n}\n/**\n * Wrapper component for using unstated\n */\n\n\nconst GrantSelectorWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_11__[\"withUnstatedContainers\"])(GrantSelector, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_10__[\"default\"]]);\nGrantSelector.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_10__[\"default\"]).isRequired,\n disabled: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n grant: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number.isRequired,\n grantGroupId: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n grantGroupName: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n onUpdateGrant: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(GrantSelectorWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvU2F2ZVBhZ2VDb250cm9scy9HcmFudFNlbGVjdG9yLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9TYXZlUGFnZUNvbnRyb2xzL0dyYW50U2VsZWN0b3IuanN4P2RmZWMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCB7IHdpdGhUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuXG5cbmltcG9ydCB7XG4gIFVuY29udHJvbGxlZERyb3Bkb3duLFxuICBEcm9wZG93blRvZ2dsZSwgRHJvcGRvd25NZW51LCBEcm9wZG93bkl0ZW0sXG5cbiAgTW9kYWwsIE1vZGFsSGVhZGVyLCBNb2RhbEJvZHksXG59IGZyb20gJ3JlYWN0c3RyYXAnO1xuXG5cbmltcG9ydCBBcHBDb250YWluZXIgZnJvbSAnLi4vLi4vc2VydmljZXMvQXBwQ29udGFpbmVyJztcblxuaW1wb3J0IHsgd2l0aFVuc3RhdGVkQ29udGFpbmVycyB9IGZyb20gJy4uL1Vuc3RhdGVkVXRpbHMnO1xuXG4vKipcbiAqIFBhZ2UgZ3JhbnQgc2VsZWN0IGNvbXBvbmVudFxuICpcbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBHcmFudFNlbGVjdG9yXG4gKiBAZXh0ZW5kcyB7UmVhY3QuQ29tcG9uZW50fVxuICovXG5jbGFzcyBHcmFudFNlbGVjdG9yIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcblxuICAgIHRoaXMuYXZhaWxhYmxlR3JhbnRzID0gW1xuICAgICAge1xuICAgICAgICBncmFudDogMSwgaWNvbkNsYXNzOiAnaWNvbi1wZW9wbGUnLCBidG5TdHlsZUNsYXNzOiAnb3V0bGluZS1pbmZvJywgbGFiZWw6ICdQdWJsaWMnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgZ3JhbnQ6IDIsIGljb25DbGFzczogJ2ljb24tbGluaycsIGJ0blN0eWxlQ2xhc3M6ICdvdXRsaW5lLXRlYWwnLCBsYWJlbDogJ0FueW9uZSB3aXRoIHRoZSBsaW5rJyxcbiAgICAgIH0sXG4gICAgICAvLyB7IGdyYW50OiAzLCBpY29uQ2xhc3M6ICcnLCBsYWJlbDogJ1NwZWNpZmllZCB1c2VycyBvbmx5JyB9LFxuICAgICAge1xuICAgICAgICBncmFudDogNCwgaWNvbkNsYXNzOiAnaWNvbi1sb2NrJywgYnRuU3R5bGVDbGFzczogJ291dGxpbmUtZGFuZ2VyJywgbGFiZWw6ICdPbmx5IG1lJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGdyYW50OiA1LCBpY29uQ2xhc3M6ICdpY29uLW9wdGlvbnMnLCBidG5TdHlsZUNsYXNzOiAnb3V0bGluZS1wdXJwbGUnLCBsYWJlbDogJ09ubHkgaW5zaWRlIHRoZSBncm91cCcsIHJlc2VsZWN0TGFiZWw6ICdSZXNlbGVjdCB0aGUgZ3JvdXAnLFxuICAgICAgfSxcbiAgICBdO1xuXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIHVzZXJSZWxhdGVkR3JvdXBzOiBbXSxcbiAgICAgIGlzU2VsZWN0R3JvdXBNb2RhbFNob3duOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgdGhpcy5zaG93U2VsZWN0R3JvdXBNb2RhbCA9IHRoaXMuc2hvd1NlbGVjdEdyb3VwTW9kYWwuYmluZCh0aGlzKTtcbiAgICB0aGlzLmhpZGVTZWxlY3RHcm91cE1vZGFsID0gdGhpcy5oaWRlU2VsZWN0R3JvdXBNb2RhbC5iaW5kKHRoaXMpO1xuXG4gICAgdGhpcy5jaGFuZ2VHcmFudEhhbmRsZXIgPSB0aGlzLmNoYW5nZUdyYW50SGFuZGxlci5iaW5kKHRoaXMpO1xuICAgIHRoaXMuZ3JvdXBMaXN0SXRlbUNsaWNrSGFuZGxlciA9IHRoaXMuZ3JvdXBMaXN0SXRlbUNsaWNrSGFuZGxlci5iaW5kKHRoaXMpO1xuICB9XG5cbiAgc2hvd1NlbGVjdEdyb3VwTW9kYWwoKSB7XG4gICAgdGhpcy5yZXRyaWV2ZVVzZXJHcm91cFJlbGF0aW9ucygpO1xuICAgIHRoaXMuc2V0U3RhdGUoeyBpc1NlbGVjdEdyb3VwTW9kYWxTaG93bjogdHJ1ZSB9KTtcbiAgfVxuXG4gIGhpZGVTZWxlY3RHcm91cE1vZGFsKCkge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBpc1NlbGVjdEdyb3VwTW9kYWxTaG93bjogZmFsc2UgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmUgdXNlci1ncm91cC1yZWxhdGlvbnMgZGF0YSBmcm9tIGJhY2tlbmRcbiAgICovXG4gIHJldHJpZXZlVXNlckdyb3VwUmVsYXRpb25zKCkge1xuICAgIHRoaXMucHJvcHMuYXBwQ29udGFpbmVyLmFwaUdldCgnL21lL3VzZXItZ3JvdXAtcmVsYXRpb25zJylcbiAgICAgIC50aGVuKChyZXMpID0+IHtcbiAgICAgICAgcmV0dXJuIHJlcy51c2VyR3JvdXBSZWxhdGlvbnM7XG4gICAgICB9KVxuICAgICAgLnRoZW4oKHVzZXJHcm91cFJlbGF0aW9ucykgPT4ge1xuICAgICAgICBjb25zdCB1c2VyUmVsYXRlZEdyb3VwcyA9IHVzZXJHcm91cFJlbGF0aW9ucy5tYXAoKHJlbGF0aW9uKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHJlbGF0aW9uLnJlbGF0ZWRHcm91cDtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyB1c2VyUmVsYXRlZEdyb3VwcyB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIGNoYW5nZSBldmVudCBoYW5kbGVyIGZvciBncmFudCBzZWxlY3RvclxuICAgKi9cbiAgY2hhbmdlR3JhbnRIYW5kbGVyKGdyYW50KSB7XG4gICAgLy8gc2VsZWN0IGdyb3VwXG4gICAgaWYgKGdyYW50ID09PSA1KSB7XG4gICAgICB0aGlzLnNob3dTZWxlY3RHcm91cE1vZGFsKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucHJvcHMub25VcGRhdGVHcmFudCAhPSBudWxsKSB7XG4gICAgICB0aGlzLnByb3BzLm9uVXBkYXRlR3JhbnQoeyBncmFudCwgZ3JhbnRHcm91cElkOiBudWxsLCBncmFudEdyb3VwTmFtZTogbnVsbCB9KTtcbiAgICB9XG4gIH1cblxuICBncm91cExpc3RJdGVtQ2xpY2tIYW5kbGVyKGdyYW50R3JvdXApIHtcbiAgICBpZiAodGhpcy5wcm9wcy5vblVwZGF0ZUdyYW50ICE9IG51bGwpIHtcbiAgICAgIHRoaXMucHJvcHMub25VcGRhdGVHcmFudCh7IGdyYW50OiA1LCBncmFudEdyb3VwSWQ6IGdyYW50R3JvdXAuX2lkLCBncmFudEdyb3VwTmFtZTogZ3JhbnRHcm91cC5uYW1lIH0pO1xuICAgIH1cblxuICAgIC8vIGhpZGUgbW9kYWxcbiAgICB0aGlzLmhpZGVTZWxlY3RHcm91cE1vZGFsKCk7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVyIGdyYW50IHNlbGVjdG9yIERPTS5cbiAgICogQHJldHVybnNcbiAgICogQG1lbWJlcm9mIEdyYW50U2VsZWN0b3JcbiAgICovXG4gIHJlbmRlckdyYW50U2VsZWN0b3IoKSB7XG4gICAgY29uc3QgeyB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgZ3JhbnQ6IGN1cnJlbnRHcmFudCwgZ3JhbnRHcm91cElkIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgbGV0IGRyb3Bkb3duVG9nZ2xlQnRuQ29sb3IgPSBudWxsO1xuICAgIGxldCBkcm9wZG93blRvZ2dsZUxhYmVsRWxtID0gbnVsbDtcblxuICAgIGNvbnN0IGRyb3Bkb3duTWVudUVsZW1zID0gdGhpcy5hdmFpbGFibGVHcmFudHMubWFwKChvcHQpID0+IHtcbiAgICAgIGNvbnN0IGxhYmVsID0gKG9wdC5ncmFudCA9PT0gNSAmJiBncmFudEdyb3VwSWQgIT0gbnVsbClcbiAgICAgICAgPyBvcHQucmVzZWxlY3RMYWJlbCAvLyB3aGVuIGdyYW50R3JvdXAgaXMgc2VsZWN0ZWRcbiAgICAgICAgOiBvcHQubGFiZWw7XG5cbiAgICAgIGNvbnN0IGxhYmVsRWxtID0gKFxuICAgICAgICA8c3Bhbj5cbiAgICAgICAgICA8aSBjbGFzc05hbWU9e2BpY29uIGljb24tZncgJHtvcHQuaWNvbkNsYXNzfWB9PjwvaT5cbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJsYWJlbFwiPnt0KGxhYmVsKX08L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICk7XG5cbiAgICAgIC8vIHNldCBkcm9wZG93blRvZ2dsZUJ0bkNvbG9yLCBkcm9wZG93blRvZ2dsZUxhYmVsRWxtXG4gICAgICBpZiAob3B0LmdyYW50ID09PSAxIHx8IG9wdC5ncmFudCA9PT0gY3VycmVudEdyYW50KSB7XG4gICAgICAgIGRyb3Bkb3duVG9nZ2xlQnRuQ29sb3IgPSBvcHQuYnRuU3R5bGVDbGFzcztcbiAgICAgICAgZHJvcGRvd25Ub2dnbGVMYWJlbEVsbSA9IGxhYmVsRWxtO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gPERyb3Bkb3duSXRlbSBrZXk9e29wdC5ncmFudH0gb25DbGljaz17KCkgPT4gdGhpcy5jaGFuZ2VHcmFudEhhbmRsZXIob3B0LmdyYW50KX0+e2xhYmVsRWxtfTwvRHJvcGRvd25JdGVtPjtcbiAgICB9KTtcblxuICAgIC8vIGFkZCBzcGVjaWZpZWQgZ3JvdXAgb3B0aW9uXG4gICAgaWYgKGdyYW50R3JvdXBJZCAhPSBudWxsKSB7XG4gICAgICBjb25zdCBsYWJlbEVsbSA9IChcbiAgICAgICAgPHNwYW4+XG4gICAgICAgICAgPGkgY2xhc3NOYW1lPVwiaWNvbiBpY29uLWZ3IGljb24tb3JnYW5pemF0aW9uXCI+PC9pPlxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImxhYmVsXCI+e3RoaXMucHJvcHMuZ3JhbnRHcm91cE5hbWV9PC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgICApO1xuXG4gICAgICAvLyBzZXQgZHJvcGRvd25Ub2dnbGVMYWJlbEVsbVxuICAgICAgZHJvcGRvd25Ub2dnbGVMYWJlbEVsbSA9IGxhYmVsRWxtO1xuXG4gICAgICBkcm9wZG93bk1lbnVFbGVtcy5wdXNoKDxEcm9wZG93bkl0ZW0ga2V5PVwiZ3JvdXBTZWxlY3RlZFwiPntsYWJlbEVsbX08L0Ryb3Bkb3duSXRlbT4pO1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZvcm0tZ3JvdXAgZ3J3LWdyYW50LXNlbGVjdG9yIG1iLTBcIj5cbiAgICAgICAgPFVuY29udHJvbGxlZERyb3Bkb3duIGRpcmVjdGlvbj1cInVwXCI+XG4gICAgICAgICAgPERyb3Bkb3duVG9nZ2xlIGNvbG9yPXtkcm9wZG93blRvZ2dsZUJ0bkNvbG9yfSBjYXJldCBjbGFzc05hbWU9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCIgZGlzYWJsZWQ9e3RoaXMucHJvcHMuZGlzYWJsZWR9PlxuICAgICAgICAgICAge2Ryb3Bkb3duVG9nZ2xlTGFiZWxFbG19XG4gICAgICAgICAgPC9Ecm9wZG93blRvZ2dsZT5cbiAgICAgICAgICA8RHJvcGRvd25NZW51PlxuICAgICAgICAgICAge2Ryb3Bkb3duTWVudUVsZW1zfVxuICAgICAgICAgIDwvRHJvcGRvd25NZW51PlxuICAgICAgICA8L1VuY29udHJvbGxlZERyb3Bkb3duPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXIgc2VsZWN0IGdyYW50Z3JvdXAgbW9kYWwuXG4gICAqXG4gICAqIEByZXR1cm5zXG4gICAqIEBtZW1iZXJvZiBHcmFudFNlbGVjdG9yXG4gICAqL1xuICByZW5kZXJTZWxlY3RHcm91cE1vZGFsKCkge1xuICAgIGNvbnN0IGdlbmVyYXRlR3JvdXBMaXN0SXRlbXMgPSAoKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5zdGF0ZS51c2VyUmVsYXRlZEdyb3Vwcy5tYXAoKGdyb3VwKSA9PiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPGJ1dHRvbiBrZXk9e2dyb3VwLl9pZH0gdHlwZT1cImJ1dHRvblwiIGNsYXNzTmFtZT1cImxpc3QtZ3JvdXAtaXRlbSBsaXN0LWdyb3VwLWl0ZW0tYWN0aW9uXCIgb25DbGljaz17KCkgPT4geyB0aGlzLmdyb3VwTGlzdEl0ZW1DbGlja0hhbmRsZXIoZ3JvdXApIH19PlxuICAgICAgICAgICAgPGg1Pntncm91cC5uYW1lfTwvaDU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNtYWxsXCI+KFRCRCkgTGlzdCBncm91cCBtZW1iZXJzPC9kaXY+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuc3RhdGUudXNlclJlbGF0ZWRHcm91cHMubGVuZ3RoID09PSAwXG4gICAgICA/IChcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8aDQ+VGhlcmUgaXMgbm8gZ3JvdXAgdG8gd2hpY2ggeW91IGJlbG9uZy48L2g0PlxuICAgICAgICAgIHsgdGhpcy5wcm9wcy5hcHBDb250YWluZXIuaXNBZG1pblxuICAgICAgICAgICAgJiYgPHA+PGEgaHJlZj1cIi9hZG1pbi91c2VyLWdyb3Vwc1wiPjxpIGNsYXNzTmFtZT1cImljb24gaWNvbi1mdyBpY29uLWxvZ2luXCI+PC9pPiBNYW5hZ2UgR3JvdXBzPC9hPjwvcD5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKVxuICAgICAgOiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGlzdC1ncm91cFwiPlxuICAgICAgICAgIHtnZW5lcmF0ZUdyb3VwTGlzdEl0ZW1zKCl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8TW9kYWxcbiAgICAgICAgY2xhc3NOYW1lPVwic2VsZWN0LWdyYW50LWdyb3VwXCJcbiAgICAgICAgaXNPcGVuPXt0aGlzLnN0YXRlLmlzU2VsZWN0R3JvdXBNb2RhbFNob3dufVxuICAgICAgICB0b2dnbGU9e3RoaXMuaGlkZVNlbGVjdEdyb3VwTW9kYWx9XG4gICAgICA+XG4gICAgICAgIDxNb2RhbEhlYWRlciB0YWc9XCJoNFwiIHRvZ2dsZT17dGhpcy5oaWRlU2VsZWN0R3JvdXBNb2RhbH0gY2xhc3NOYW1lPVwiYmctcHVycGxlIHRleHQtbGlnaHRcIj5cbiAgICAgICAgICBTZWxlY3QgYSBHcm91cFxuICAgICAgICA8L01vZGFsSGVhZGVyPlxuICAgICAgICA8TW9kYWxCb2R5PlxuICAgICAgICAgIHtjb250ZW50fVxuICAgICAgICA8L01vZGFsQm9keT5cbiAgICAgIDwvTW9kYWw+XG4gICAgKTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgICB7IHRoaXMucmVuZGVyR3JhbnRTZWxlY3RvcigpIH1cbiAgICAgICAgeyAhdGhpcy5wcm9wcy5kaXNhYmxlZCAmJiB0aGlzLnJlbmRlclNlbGVjdEdyb3VwTW9kYWwoKSB9XG4gICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICk7XG4gIH1cblxufVxuXG4vKipcbiAqIFdyYXBwZXIgY29tcG9uZW50IGZvciB1c2luZyB1bnN0YXRlZFxuICovXG5jb25zdCBHcmFudFNlbGVjdG9yV3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoR3JhbnRTZWxlY3RvciwgW0FwcENvbnRhaW5lcl0pO1xuXG5HcmFudFNlbGVjdG9yLnByb3BUeXBlcyA9IHtcbiAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCwgLy8gaTE4bmV4dFxuICBhcHBDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKEFwcENvbnRhaW5lcikuaXNSZXF1aXJlZCxcblxuICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gIGdyYW50OiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gIGdyYW50R3JvdXBJZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgZ3JhbnRHcm91cE5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG5cbiAgb25VcGRhdGVHcmFudDogUHJvcFR5cGVzLmZ1bmMsXG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoVHJhbnNsYXRpb24oKShHcmFudFNlbGVjdG9yV3JhcHBlcik7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTs7Ozs7Ozs7QUFXQTtBQUVBO0FBRUE7Ozs7Ozs7O0FBT0E7QUFFQTtBQUNBO0FBRUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQURBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFEQTtBQUlBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFEQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFEQTtBQUtBO0FBQ0E7QUFDQTtBQUZBO0FBS0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7OztBQUtBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBSUE7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBSUE7QUFFQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFTQTtBQUVBOzs7Ozs7OztBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFLQTtBQUVBO0FBQ0E7QUFDQTtBQUhBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0FBQ0E7QUF6TUE7QUE0TUE7Ozs7O0FBR0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFUQTtBQVlBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/SavePageControls/GrantSelector.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/SearchPage.jsx":
- /*!*************************************************!*\
- !*** ./src/client/js/components/SearchPage.jsx ***!
- \*************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _util_apiNotification__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util/apiNotification */ \"./src/client/js/util/apiNotification.js\");\n/* harmony import */ var _SearchPage_SearchPageForm__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./SearchPage/SearchPageForm */ \"./src/client/js/components/SearchPage/SearchPageForm.jsx\");\n/* harmony import */ var _SearchPage_SearchResult__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./SearchPage/SearchResult */ \"./src/client/js/components/SearchPage/SearchResult.jsx\");\n// This is the root component for #search-page\n\n\n\n\n\n\n\n\n\nclass SearchPage extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n this.state = {\n searchingKeyword: decodeURI(this.props.query.q) || '',\n searchedKeyword: '',\n searchedPages: [],\n searchResultMeta: {}\n };\n this.search = this.search.bind(this);\n this.changeURL = this.changeURL.bind(this);\n }\n\n componentDidMount() {\n const keyword = this.state.searchingKeyword;\n\n if (keyword !== '') {\n this.search({\n keyword\n });\n }\n }\n\n static getQueryByLocation(location) {\n const search = location.search || '';\n const query = {};\n search.replace(/^\\?/, '').split('&').forEach(element => {\n const queryParts = element.split('=');\n query[queryParts[0]] = decodeURIComponent(queryParts[1]).replace(/\\+/g, ' ');\n });\n return query;\n }\n\n changeURL(keyword, refreshHash) {\n let hash = window.location.hash || ''; // TODO 整理する\n\n if (refreshHash || this.state.searchedKeyword !== '') {\n hash = '';\n }\n\n if (window.history && window.history.pushState) {\n window.history.pushState('', `Search - ${keyword}`, `/_search?q=${keyword}${hash}`);\n }\n }\n\n search(data) {\n const keyword = data.keyword;\n\n if (keyword === '') {\n this.setState({\n searchingKeyword: '',\n searchedPages: [],\n searchResultMeta: {}\n });\n return true;\n }\n\n this.setState({\n searchingKeyword: keyword\n });\n this.props.appContainer.apiGet('/search', {\n q: keyword\n }).then(res => {\n this.changeURL(keyword);\n this.setState({\n searchedKeyword: keyword,\n searchedPages: res.data,\n searchResultMeta: res.meta\n });\n }).catch(err => {\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_5__[\"toastError\"])(err);\n });\n }\n\n render() {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"search-page-input sps sps--abv\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SearchPage_SearchPageForm__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n t: this.props.t,\n onSearchFormChanged: this.search,\n keyword: this.state.searchingKeyword\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SearchPage_SearchResult__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n pages: this.state.searchedPages,\n searchingKeyword: this.state.searchingKeyword,\n searchResultMeta: this.state.searchResultMeta\n }));\n }\n\n}\n/**\n * Wrapper component for using unstated\n */\n\n\nconst SearchPageWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__[\"withUnstatedContainers\"])(SearchPage, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]]);\nSearchPage.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]).isRequired,\n query: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object\n};\nSearchPage.defaultProps = {\n // pollInterval: 1000,\n query: SearchPage.getQueryByLocation(window.location || {})\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(SearchPageWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvU2VhcmNoUGFnZS5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvU2VhcmNoUGFnZS5qc3g/NThkMiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlzIGlzIHRoZSByb290IGNvbXBvbmVudCBmb3IgI3NlYXJjaC1wYWdlXG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgd2l0aFRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5cbmltcG9ydCB7IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMgfSBmcm9tICcuL1Vuc3RhdGVkVXRpbHMnO1xuaW1wb3J0IEFwcENvbnRhaW5lciBmcm9tICcuLi9zZXJ2aWNlcy9BcHBDb250YWluZXInO1xuXG5pbXBvcnQgeyB0b2FzdEVycm9yIH0gZnJvbSAnLi4vdXRpbC9hcGlOb3RpZmljYXRpb24nO1xuXG5pbXBvcnQgU2VhcmNoUGFnZUZvcm0gZnJvbSAnLi9TZWFyY2hQYWdlL1NlYXJjaFBhZ2VGb3JtJztcbmltcG9ydCBTZWFyY2hSZXN1bHQgZnJvbSAnLi9TZWFyY2hQYWdlL1NlYXJjaFJlc3VsdCc7XG5cbmNsYXNzIFNlYXJjaFBhZ2UgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIHNlYXJjaGluZ0tleXdvcmQ6IGRlY29kZVVSSSh0aGlzLnByb3BzLnF1ZXJ5LnEpIHx8ICcnLFxuICAgICAgc2VhcmNoZWRLZXl3b3JkOiAnJyxcbiAgICAgIHNlYXJjaGVkUGFnZXM6IFtdLFxuICAgICAgc2VhcmNoUmVzdWx0TWV0YToge30sXG4gICAgfTtcblxuICAgIHRoaXMuc2VhcmNoID0gdGhpcy5zZWFyY2guYmluZCh0aGlzKTtcbiAgICB0aGlzLmNoYW5nZVVSTCA9IHRoaXMuY2hhbmdlVVJMLmJpbmQodGhpcyk7XG4gIH1cblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCBrZXl3b3JkID0gdGhpcy5zdGF0ZS5zZWFyY2hpbmdLZXl3b3JkO1xuICAgIGlmIChrZXl3b3JkICE9PSAnJykge1xuICAgICAgdGhpcy5zZWFyY2goeyBrZXl3b3JkIH0pO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBnZXRRdWVyeUJ5TG9jYXRpb24obG9jYXRpb24pIHtcbiAgICBjb25zdCBzZWFyY2ggPSBsb2NhdGlvbi5zZWFyY2ggfHwgJyc7XG4gICAgY29uc3QgcXVlcnkgPSB7fTtcblxuICAgIHNlYXJjaC5yZXBsYWNlKC9eXFw/LywgJycpLnNwbGl0KCcmJykuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgY29uc3QgcXVlcnlQYXJ0cyA9IGVsZW1lbnQuc3BsaXQoJz0nKTtcbiAgICAgIHF1ZXJ5W3F1ZXJ5UGFydHNbMF1dID0gZGVjb2RlVVJJQ29tcG9uZW50KHF1ZXJ5UGFydHNbMV0pLnJlcGxhY2UoL1xcKy9nLCAnICcpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHF1ZXJ5O1xuICB9XG5cbiAgY2hhbmdlVVJMKGtleXdvcmQsIHJlZnJlc2hIYXNoKSB7XG4gICAgbGV0IGhhc2ggPSB3aW5kb3cubG9jYXRpb24uaGFzaCB8fCAnJztcbiAgICAvLyBUT0RPIOaVtOeQhuOBmeOCi1xuICAgIGlmIChyZWZyZXNoSGFzaCB8fCB0aGlzLnN0YXRlLnNlYXJjaGVkS2V5d29yZCAhPT0gJycpIHtcbiAgICAgIGhhc2ggPSAnJztcbiAgICB9XG4gICAgaWYgKHdpbmRvdy5oaXN0b3J5ICYmIHdpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZSkge1xuICAgICAgd2luZG93Lmhpc3RvcnkucHVzaFN0YXRlKCcnLCBgU2VhcmNoIC0gJHtrZXl3b3JkfWAsIGAvX3NlYXJjaD9xPSR7a2V5d29yZH0ke2hhc2h9YCk7XG4gICAgfVxuICB9XG5cbiAgc2VhcmNoKGRhdGEpIHtcbiAgICBjb25zdCBrZXl3b3JkID0gZGF0YS5rZXl3b3JkO1xuICAgIGlmIChrZXl3b3JkID09PSAnJykge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIHNlYXJjaGluZ0tleXdvcmQ6ICcnLFxuICAgICAgICBzZWFyY2hlZFBhZ2VzOiBbXSxcbiAgICAgICAgc2VhcmNoUmVzdWx0TWV0YToge30sXG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBzZWFyY2hpbmdLZXl3b3JkOiBrZXl3b3JkLFxuICAgIH0pO1xuXG4gICAgdGhpcy5wcm9wcy5hcHBDb250YWluZXIuYXBpR2V0KCcvc2VhcmNoJywgeyBxOiBrZXl3b3JkIH0pXG4gICAgICAudGhlbigocmVzKSA9PiB7XG4gICAgICAgIHRoaXMuY2hhbmdlVVJMKGtleXdvcmQpO1xuXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgIHNlYXJjaGVkS2V5d29yZDoga2V5d29yZCxcbiAgICAgICAgICBzZWFyY2hlZFBhZ2VzOiByZXMuZGF0YSxcbiAgICAgICAgICBzZWFyY2hSZXN1bHRNZXRhOiByZXMubWV0YSxcbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgdG9hc3RFcnJvcihlcnIpO1xuICAgICAgfSk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic2VhcmNoLXBhZ2UtaW5wdXQgc3BzIHNwcy0tYWJ2XCI+XG4gICAgICAgICAgPFNlYXJjaFBhZ2VGb3JtXG4gICAgICAgICAgICB0PXt0aGlzLnByb3BzLnR9XG4gICAgICAgICAgICBvblNlYXJjaEZvcm1DaGFuZ2VkPXt0aGlzLnNlYXJjaH1cbiAgICAgICAgICAgIGtleXdvcmQ9e3RoaXMuc3RhdGUuc2VhcmNoaW5nS2V5d29yZH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPFNlYXJjaFJlc3VsdFxuICAgICAgICAgIHBhZ2VzPXt0aGlzLnN0YXRlLnNlYXJjaGVkUGFnZXN9XG4gICAgICAgICAgc2VhcmNoaW5nS2V5d29yZD17dGhpcy5zdGF0ZS5zZWFyY2hpbmdLZXl3b3JkfVxuICAgICAgICAgIHNlYXJjaFJlc3VsdE1ldGE9e3RoaXMuc3RhdGUuc2VhcmNoUmVzdWx0TWV0YX1cbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cblxufVxuXG4vKipcbiAqIFdyYXBwZXIgY29tcG9uZW50IGZvciB1c2luZyB1bnN0YXRlZFxuICovXG5jb25zdCBTZWFyY2hQYWdlV3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoU2VhcmNoUGFnZSwgW0FwcENvbnRhaW5lcl0pO1xuXG5TZWFyY2hQYWdlLnByb3BUeXBlcyA9IHtcbiAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCwgLy8gaTE4bmV4dFxuICBhcHBDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKEFwcENvbnRhaW5lcikuaXNSZXF1aXJlZCxcblxuICBxdWVyeTogUHJvcFR5cGVzLm9iamVjdCxcbn07XG5TZWFyY2hQYWdlLmRlZmF1bHRQcm9wcyA9IHtcbiAgLy8gcG9sbEludGVydmFsOiAxMDAwLFxuICBxdWVyeTogU2VhcmNoUGFnZS5nZXRRdWVyeUJ5TG9jYXRpb24od2luZG93LmxvY2F0aW9uIHx8IHt9KSxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhUcmFuc2xhdGlvbigpKFNlYXJjaFBhZ2VXcmFwcGVyKTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQURBO0FBSUE7QUFBQTtBQUFBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBS0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBSEE7QUFPQTtBQUNBO0FBQ0E7QUFIQTtBQU9BO0FBQ0E7QUEvRkE7QUFrR0E7Ozs7O0FBR0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBSkE7QUFNQTtBQUNBO0FBQ0E7QUFGQTtBQUtBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/SearchPage.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/SearchPage/DeletePageListModal.jsx":
- /*!*********************************************************************!*\
- !*** ./src/client/js/components/SearchPage/DeletePageListModal.jsx ***!
- \*********************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! reactstrap/es/Button */ \"./node_modules/reactstrap/es/Button.js\");\n/* harmony import */ var reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! reactstrap/es/Modal */ \"./node_modules/reactstrap/es/Modal.js\");\n/* harmony import */ var reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! reactstrap/es/ModalHeader */ \"./node_modules/reactstrap/es/ModalHeader.js\");\n/* harmony import */ var reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! reactstrap/es/ModalBody */ \"./node_modules/reactstrap/es/ModalBody.js\");\n/* harmony import */ var reactstrap_es_ModalFooter__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! reactstrap/es/ModalFooter */ \"./node_modules/reactstrap/es/ModalFooter.js\");\n\n\n\n\n\n\n\n\n\nclass DeletePageListModal extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n /*\n * the threshold for omitting body\n */\n static get OMIT_BODY_THRES() {\n return 400;\n }\n\n componentWillMount() {}\n\n render() {\n const {\n t\n } = this.props;\n\n if (this.props.pages == null || this.props.pages.length === 0) {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", null);\n }\n\n const listView = this.props.pages.map(page => {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", {\n key: page._id\n }, page.path);\n });\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Modal__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n isOpen: this.props.isShown,\n toggle: this.props.cancel,\n className: \"page-list-delete-modal\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalHeader__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n tag: \"h4\",\n toggle: this.props.cancel,\n className: \"bg-danger text-light\"\n }, t('search_result.deletion_modal_header')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalBody__WEBPACK_IMPORTED_MODULE_6__[\"default\"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"ul\", null, listView)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_ModalFooter__WEBPACK_IMPORTED_MODULE_7__[\"default\"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"d-flex justify-content-between\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"text-danger\"\n }, this.props.errorMessage), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"d-flex align-items-center\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"custom-control custom-checkbox custom-checkbox-danger mr-2\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"checkbox\",\n className: \"custom-control-input\",\n id: \"customCheck-delete-completely\",\n checked: this.props.isDeleteCompletely,\n onChange: this.props.toggleDeleteCompletely\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"custom-control-label text-danger\",\n htmlFor: \"customCheck-delete-completely\"\n }, t('search_result.delete_completely'))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n color: this.props.isDeleteCompletely ? 'danger' : 'light',\n onClick: this.props.confirmedToDelete\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-trash\"\n }), t('search_result.delete'))))));\n }\n\n}\n\nDeletePageListModal.defaultProps = {\n isDeleteCompletely: false // for when undefined is passed\n\n};\nDeletePageListModal.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n isShown: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,\n pages: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.array,\n errorMessage: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n cancel: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // for cancel evnet handling\n isDeleteCompletely: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n confirmedToDelete: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // for confirmed event handling\n toggleDeleteCompletely: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired // for delete completely check event handling\n\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(DeletePageListModal));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvU2VhcmNoUGFnZS9EZWxldGVQYWdlTGlzdE1vZGFsLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9TZWFyY2hQYWdlL0RlbGV0ZVBhZ2VMaXN0TW9kYWwuanN4PzNjZGYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCB7IHdpdGhUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuXG5pbXBvcnQge1xuICBCdXR0b24sXG4gIE1vZGFsLCBNb2RhbEhlYWRlciwgTW9kYWxCb2R5LCBNb2RhbEZvb3Rlcixcbn0gZnJvbSAncmVhY3RzdHJhcCc7XG5cbmNsYXNzIERlbGV0ZVBhZ2VMaXN0TW9kYWwgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuXG4gIC8qXG4gICAqIHRoZSB0aHJlc2hvbGQgZm9yIG9taXR0aW5nIGJvZHlcbiAgICovXG4gIHN0YXRpYyBnZXQgT01JVF9CT0RZX1RIUkVTKCkgeyByZXR1cm4gNDAwIH1cblxuICBjb21wb25lbnRXaWxsTW91bnQoKSB7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGlmICh0aGlzLnByb3BzLnBhZ2VzID09IG51bGwgfHwgdGhpcy5wcm9wcy5wYWdlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiA8ZGl2PjwvZGl2PjtcbiAgICB9XG5cbiAgICBjb25zdCBsaXN0VmlldyA9IHRoaXMucHJvcHMucGFnZXMubWFwKChwYWdlKSA9PiB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8bGkga2V5PXtwYWdlLl9pZH0+e3BhZ2UucGF0aH08L2xpPlxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8TW9kYWwgaXNPcGVuPXt0aGlzLnByb3BzLmlzU2hvd259IHRvZ2dsZT17dGhpcy5wcm9wcy5jYW5jZWx9IGNsYXNzTmFtZT1cInBhZ2UtbGlzdC1kZWxldGUtbW9kYWxcIj5cbiAgICAgICAgPE1vZGFsSGVhZGVyIHRhZz1cImg0XCIgdG9nZ2xlPXt0aGlzLnByb3BzLmNhbmNlbH0gY2xhc3NOYW1lPVwiYmctZGFuZ2VyIHRleHQtbGlnaHRcIj5cbiAgICAgICAgICB7dCgnc2VhcmNoX3Jlc3VsdC5kZWxldGlvbl9tb2RhbF9oZWFkZXInKX1cbiAgICAgICAgPC9Nb2RhbEhlYWRlcj5cbiAgICAgICAgPE1vZGFsQm9keT5cbiAgICAgICAgICA8dWw+XG4gICAgICAgICAgICB7bGlzdFZpZXd9XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC9Nb2RhbEJvZHk+XG4gICAgICAgIDxNb2RhbEZvb3Rlcj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1kYW5nZXJcIj57dGhpcy5wcm9wcy5lcnJvck1lc3NhZ2V9PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sIGN1c3RvbS1jaGVja2JveCBjdXN0b20tY2hlY2tib3gtZGFuZ2VyIG1yLTJcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJjdXN0b20tY29udHJvbC1pbnB1dFwiXG4gICAgICAgICAgICAgICAgICBpZD1cImN1c3RvbUNoZWNrLWRlbGV0ZS1jb21wbGV0ZWx5XCJcbiAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9e3RoaXMucHJvcHMuaXNEZWxldGVDb21wbGV0ZWx5fVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMucHJvcHMudG9nZ2xlRGVsZXRlQ29tcGxldGVseX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiY3VzdG9tLWNvbnRyb2wtbGFiZWwgdGV4dC1kYW5nZXJcIlxuICAgICAgICAgICAgICAgICAgaHRtbEZvcj1cImN1c3RvbUNoZWNrLWRlbGV0ZS1jb21wbGV0ZWx5XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7dCgnc2VhcmNoX3Jlc3VsdC5kZWxldGVfY29tcGxldGVseScpfVxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8QnV0dG9uIGNvbG9yPXt0aGlzLnByb3BzLmlzRGVsZXRlQ29tcGxldGVseSA/ICdkYW5nZXInIDogJ2xpZ2h0J30gb25DbGljaz17dGhpcy5wcm9wcy5jb25maXJtZWRUb0RlbGV0ZX0+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3NOYW1lPVwiaWNvbi10cmFzaFwiPjwvaT5cbiAgICAgICAgICAgICAgICB7dCgnc2VhcmNoX3Jlc3VsdC5kZWxldGUnKX1cbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvTW9kYWxGb290ZXI+XG4gICAgICA8L01vZGFsPlxuICAgICk7XG4gIH1cblxufVxuXG5EZWxldGVQYWdlTGlzdE1vZGFsLmRlZmF1bHRQcm9wcyA9IHtcbiAgaXNEZWxldGVDb21wbGV0ZWx5OiBmYWxzZSwgLy8gZm9yIHdoZW4gdW5kZWZpbmVkIGlzIHBhc3NlZFxufTtcblxuRGVsZXRlUGFnZUxpc3RNb2RhbC5wcm9wVHlwZXMgPSB7XG4gIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsIC8vIGkxOG5leHRcblxuICBpc1Nob3duOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICBwYWdlczogUHJvcFR5cGVzLmFycmF5LFxuICBlcnJvck1lc3NhZ2U6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGNhbmNlbDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCwgLy8gICAgICAgICAgICAgICAgIGZvciBjYW5jZWwgZXZuZXQgaGFuZGxpbmdcbiAgaXNEZWxldGVDb21wbGV0ZWx5OiBQcm9wVHlwZXMuYm9vbCxcbiAgY29uZmlybWVkVG9EZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsIC8vICAgICAgZm9yIGNvbmZpcm1lZCBldmVudCBoYW5kbGluZ1xuICB0b2dnbGVEZWxldGVDb21wbGV0ZWx5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLCAvLyBmb3IgZGVsZXRlIGNvbXBsZXRlbHkgY2hlY2sgZXZlbnQgaGFuZGxpbmdcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhUcmFuc2xhdGlvbigpKERlbGV0ZVBhZ2VMaXN0TW9kYWwpO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBOzs7Ozs7O0FBT0E7QUFFQTs7O0FBR0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQVNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFRQTtBQUNBO0FBRkE7QUFPQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBUUE7QUFDQTtBQTdEQTtBQUNBO0FBK0RBO0FBQ0E7QUFDQTtBQUZBO0FBSUE7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFWQTtBQVlBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/SearchPage/DeletePageListModal.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/SearchPage/SearchPageForm.jsx":
- /*!****************************************************************!*\
- !*** ./src/client/js/components/SearchPage/SearchPageForm.jsx ***!
- \****************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _SearchForm__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../SearchForm */ \"./src/client/js/components/SearchForm.jsx\");\n\n\n\n\n // Search.SearchForm\n\nclass SearchPageForm extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n this.state = {\n keyword: this.props.keyword,\n searchedKeyword: this.props.keyword\n };\n this.search = this.search.bind(this);\n this.onInputChange = this.onInputChange.bind(this);\n }\n\n search() {\n const keyword = this.state.keyword;\n this.props.onSearchFormChanged({\n keyword\n });\n this.setState({\n searchedKeyword: keyword\n });\n }\n\n onInputChange(input) {\n // for only submitting with button\n this.setState({\n keyword: input\n });\n }\n\n render() {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group mb-3 d-flex\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"flex-fill\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SearchForm__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n t: this.props.t,\n onSubmit: this.search,\n keyword: this.state.searchedKeyword,\n onInputChange: this.onInputChange\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"input-group-append\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n className: \"btn btn-secondary\",\n type: \"button\",\n id: \"button-addon2\",\n onClick: this.search\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-magnifier\"\n }))));\n }\n\n}\n/**\n * Wrapper component for using unstated\n */\n\n\nconst SearchPageFormWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_2__[\"withUnstatedContainers\"])(SearchPageForm, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_3__[\"default\"]]);\nSearchPageForm.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_3__[\"default\"]).isRequired,\n keyword: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n onSearchFormChanged: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired\n};\nSearchPageForm.defaultProps = {};\n/* harmony default export */ __webpack_exports__[\"default\"] = (SearchPageFormWrapper);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvU2VhcmNoUGFnZS9TZWFyY2hQYWdlRm9ybS5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvU2VhcmNoUGFnZS9TZWFyY2hQYWdlRm9ybS5qc3g/NmQzYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuaW1wb3J0IHsgd2l0aFVuc3RhdGVkQ29udGFpbmVycyB9IGZyb20gJy4uL1Vuc3RhdGVkVXRpbHMnO1xuaW1wb3J0IEFwcENvbnRhaW5lciBmcm9tICcuLi8uLi9zZXJ2aWNlcy9BcHBDb250YWluZXInO1xuaW1wb3J0IFNlYXJjaEZvcm0gZnJvbSAnLi4vU2VhcmNoRm9ybSc7XG5cbi8vIFNlYXJjaC5TZWFyY2hGb3JtXG5jbGFzcyBTZWFyY2hQYWdlRm9ybSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAga2V5d29yZDogdGhpcy5wcm9wcy5rZXl3b3JkLFxuICAgICAgc2VhcmNoZWRLZXl3b3JkOiB0aGlzLnByb3BzLmtleXdvcmQsXG4gICAgfTtcblxuICAgIHRoaXMuc2VhcmNoID0gdGhpcy5zZWFyY2guYmluZCh0aGlzKTtcbiAgICB0aGlzLm9uSW5wdXRDaGFuZ2UgPSB0aGlzLm9uSW5wdXRDaGFuZ2UuYmluZCh0aGlzKTtcbiAgfVxuXG4gIHNlYXJjaCgpIHtcbiAgICBjb25zdCBrZXl3b3JkID0gdGhpcy5zdGF0ZS5rZXl3b3JkO1xuICAgIHRoaXMucHJvcHMub25TZWFyY2hGb3JtQ2hhbmdlZCh7IGtleXdvcmQgfSk7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IHNlYXJjaGVkS2V5d29yZDoga2V5d29yZCB9KTtcbiAgfVxuXG4gIG9uSW5wdXRDaGFuZ2UoaW5wdXQpIHsgLy8gZm9yIG9ubHkgc3VibWl0dGluZyB3aXRoIGJ1dHRvblxuICAgIHRoaXMuc2V0U3RhdGUoeyBrZXl3b3JkOiBpbnB1dCB9KTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbnB1dC1ncm91cCBtYi0zIGQtZmxleFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXgtZmlsbFwiPlxuICAgICAgICAgIDxTZWFyY2hGb3JtXG4gICAgICAgICAgICB0PXt0aGlzLnByb3BzLnR9XG4gICAgICAgICAgICBvblN1Ym1pdD17dGhpcy5zZWFyY2h9XG4gICAgICAgICAgICBrZXl3b3JkPXt0aGlzLnN0YXRlLnNlYXJjaGVkS2V5d29yZH1cbiAgICAgICAgICAgIG9uSW5wdXRDaGFuZ2U9e3RoaXMub25JbnB1dENoYW5nZX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbnB1dC1ncm91cC1hcHBlbmRcIj5cbiAgICAgICAgICA8YnV0dG9uIGNsYXNzTmFtZT1cImJ0biBidG4tc2Vjb25kYXJ5XCIgdHlwZT1cImJ1dHRvblwiIGlkPVwiYnV0dG9uLWFkZG9uMlwiIG9uQ2xpY2s9e3RoaXMuc2VhcmNofT5cbiAgICAgICAgICAgIDxpIGNsYXNzTmFtZT1cImljb24tbWFnbmlmaWVyXCI+PC9pPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cblxufVxuXG4vKipcbiAqIFdyYXBwZXIgY29tcG9uZW50IGZvciB1c2luZyB1bnN0YXRlZFxuICovXG5jb25zdCBTZWFyY2hQYWdlRm9ybVdyYXBwZXIgPSB3aXRoVW5zdGF0ZWRDb250YWluZXJzKFNlYXJjaFBhZ2VGb3JtLCBbQXBwQ29udGFpbmVyXSk7XG5cblNlYXJjaFBhZ2VGb3JtLnByb3BUeXBlcyA9IHtcbiAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCwgLy8gaTE4bmV4dFxuICBhcHBDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKEFwcENvbnRhaW5lcikuaXNSZXF1aXJlZCxcblxuICBrZXl3b3JkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBvblNlYXJjaEZvcm1DaGFuZ2VkOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxufTtcblNlYXJjaFBhZ2VGb3JtLmRlZmF1bHRQcm9wcyA9IHtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFNlYXJjaFBhZ2VGb3JtV3JhcHBlcjtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUZBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU9BO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUEzQ0E7QUE4Q0E7Ozs7O0FBR0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFMQTtBQU9BO0FBR0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/SearchPage/SearchPageForm.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/SearchPage/SearchResult.jsx":
- /*!**************************************************************!*\
- !*** ./src/client/js/components/SearchPage/SearchResult.jsx ***!
- \**************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var toastr__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! toastr */ \"./node_modules/toastr/toastr.js\");\n/* harmony import */ var toastr__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(toastr__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _PageList_Page__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../PageList/Page */ \"./src/client/js/components/PageList/Page.jsx\");\n/* harmony import */ var _SearchResultList__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./SearchResultList */ \"./src/client/js/components/SearchPage/SearchResultList.jsx\");\n/* harmony import */ var _DeletePageListModal__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./DeletePageListModal */ \"./src/client/js/components/SearchPage/DeletePageListModal.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n\n\n\n\n\n\n\n\n\n\nclass SearchResult extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n this.state = {\n deletionMode: false,\n selectedPages: new Set(),\n isDeleteCompletely: undefined,\n isDeleteConfirmModalShown: false,\n errorMessageForDeleting: undefined\n };\n this.toggleDeleteCompletely = this.toggleDeleteCompletely.bind(this);\n this.deleteSelectedPages = this.deleteSelectedPages.bind(this);\n this.closeDeleteConfirmModal = this.closeDeleteConfirmModal.bind(this);\n }\n\n isNotSearchedYet() {\n return !this.props.searchResultMeta.took;\n }\n\n isNotFound() {\n return this.props.searchingKeyword !== '' && this.props.pages.length === 0;\n }\n\n isError() {\n if (this.props.searchError !== null) {\n return true;\n }\n\n return false;\n }\n /**\n * move the page\n */\n\n\n visitPageButtonHandler(e) {\n window.location.href = e.currentTarget.value;\n }\n /**\n * toggle checkbox and add (or delete from) selected pages list\n *\n * @param {any} page\n * @memberof SearchResult\n */\n\n\n toggleCheckbox(page) {\n if (this.state.selectedPages.has(page)) {\n this.state.selectedPages.delete(page);\n } else {\n this.state.selectedPages.add(page);\n }\n\n this.setState({\n isDeleteConfirmModalShown: false\n });\n this.setState({\n selectedPages: this.state.selectedPages\n });\n }\n /**\n * check and return is all pages selected for delete?\n *\n * @returns all pages selected (or not)\n * @memberof SearchResult\n */\n\n\n isAllSelected() {\n return this.state.selectedPages.size === this.props.pages.length;\n }\n /**\n * handle checkbox clicking that all pages select for delete\n *\n * @memberof SearchResult\n */\n\n\n handleAllSelect() {\n if (this.isAllSelected()) {\n this.state.selectedPages.clear();\n } else {\n this.state.selectedPages.clear();\n this.props.pages.map(page => {\n this.state.selectedPages.add(page);\n return;\n });\n }\n\n this.setState({\n selectedPages: this.state.selectedPages\n });\n }\n /**\n * change deletion mode\n *\n * @memberof SearchResult\n */\n\n\n handleDeletionModeChange() {\n this.state.selectedPages.clear();\n this.setState({\n deletionMode: !this.state.deletionMode\n });\n }\n /**\n * toggle check delete completely\n *\n * @memberof SearchResult\n */\n\n\n toggleDeleteCompletely() {\n // request で completely が undefined でないと指定アリと見なされるため\n this.setState({\n isDeleteCompletely: this.state.isDeleteCompletely ? undefined : true\n });\n }\n /**\n * delete selected pages\n *\n * @memberof SearchResult\n */\n\n\n deleteSelectedPages() {\n const deleteCompletely = this.state.isDeleteCompletely;\n Promise.all(Array.from(this.state.selectedPages).map(page => {\n return new Promise((resolve, reject) => {\n const pageId = page._id;\n const revisionId = page.revision._id;\n this.props.appContainer.apiPost('/pages.remove', {\n page_id: pageId,\n revision_id: revisionId,\n completely: deleteCompletely\n }).then(res => {\n if (res.ok) {\n this.state.selectedPages.delete(page);\n return resolve();\n }\n\n return reject();\n }).catch(err => {\n console.log(err.message); // eslint-disable-line no-console\n\n this.setState({\n errorMessageForDeleting: err.message\n });\n return reject();\n });\n });\n })).then(() => {\n window.location.reload();\n }).catch(err => {\n toastr__WEBPACK_IMPORTED_MODULE_2__[\"error\"](err, 'Error occured', {\n closeButton: true,\n progressBar: true,\n newestOnTop: false,\n showDuration: '100',\n hideDuration: '100',\n timeOut: '3000'\n });\n });\n }\n /**\n * open confirm modal for page selection delete\n *\n * @memberof SearchResult\n */\n\n\n showDeleteConfirmModal() {\n this.setState({\n isDeleteConfirmModalShown: true\n });\n }\n /**\n * close confirm modal for page selection delete\n *\n * @memberof SearchResult\n */\n\n\n closeDeleteConfirmModal() {\n this.setState({\n isDeleteConfirmModalShown: false,\n errorMessageForDeleting: undefined\n });\n }\n\n renderListView(pages) {\n return pages.map(page => {\n // Add prefix 'id_' in pageId, because scrollspy of bootstrap doesn't work when the first letter of id attr of target component is numeral.\n const pageId = `#id_${page._id}`;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", {\n key: page._id,\n className: \"nav-item page-list-li w-100 m-1\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n className: \"nav-link page-list-link d-flex align-items-baseline\",\n href: pageId\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PageList_Page__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n page: page,\n noLink: true\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"ml-auto d-flex\"\n }, this.state.deletionMode && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"custom-control custom-checkbox custom-checkbox-danger\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"checkbox\",\n id: `page-delete-check-${page._id}`,\n className: \"custom-control-input search-result-list-delete-checkbox\",\n value: pageId,\n checked: this.state.selectedPages.has(page),\n onChange: () => {\n return this.toggleCheckbox(page);\n }\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"custom-control-label\",\n htmlFor: `page-delete-check-${page._id}`\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"page-list-option\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-link p-0\",\n value: page.path,\n onClick: this.visitPageButtonHandler\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-login\"\n }))))));\n });\n }\n\n render() {\n const {\n t\n } = this.props;\n\n if (this.isError()) {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"content-main\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"searcing fa fa-warning\"\n }), \" Error on searching.\");\n }\n\n if (this.isNotSearchedYet()) {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", null);\n }\n\n if (this.isNotFound()) {\n let under = '';\n\n if (this.props.tree != null) {\n under = ` under \"${this.props.tree}\"`;\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"content-main\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-info\"\n }), \" No page found with \\\"\", this.props.searchingKeyword, \"\\\"\", under);\n }\n\n let deletionModeButtons = '';\n let allSelectCheck = '';\n\n if (this.state.deletionMode) {\n deletionModeButtons = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"btn-group\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-outline-secondary btn-sm rounded-pill-weak\",\n onClick: () => {\n return this.handleDeletionModeChange();\n }\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-ban\"\n }), \" \", t('search_result.cancel')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-danger btn-sm rounded-pill-weak\",\n onClick: () => {\n return this.showDeleteConfirmModal();\n },\n disabled: this.state.selectedPages.size === 0\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-trash\"\n }), \" \", t('search_result.delete')));\n allSelectCheck = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"custom-control custom-checkbox custom-checkbox-danger\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n id: \"all-select-check\",\n className: \"custom-control-input\",\n type: \"checkbox\",\n onChange: () => {\n return this.handleAllSelect();\n },\n checked: this.isAllSelected()\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"custom-control-label\",\n htmlFor: \"all-select-check\"\n }, \"\\xA0\", t('search_result.check_all')));\n } else {\n deletionModeButtons = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"btn-group\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-outline-secondary rounded-pill btn-sm\",\n onClick: () => {\n return this.handleDeletionModeChange();\n }\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"ti-check-box\"\n }), \" \", t('search_result.deletion_mode_btn_lavel')));\n }\n\n const listView = this.renderListView(this.props.pages);\n /*\n UI あとで考える\n <span className=\"search-result-meta\">Found: {this.props.searchResultMeta.total} pages with \"{this.props.searchingKeyword}\"</span>\n */\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"content-main\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"search-result row\",\n id: \"search-result\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-lg-4 d-none d-lg-block page-list search-result-list pr-0\",\n id: \"search-result-list\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"nav\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"d-flex align-items-start justify-content-between mt-1\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"search-result-meta\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-magnifier\"\n }), \" Found \", this.props.searchResultMeta.total, \" pages with \\\"\", this.props.searchingKeyword, \"\\\"\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"text-nowrap\"\n }, deletionModeButtons, allSelectCheck)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"page-list\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"ul\", {\n className: \"page-list-ul page-list-ul-flat nav nav-pills\"\n }, listView)))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-lg-8 search-result-content\",\n id: \"search-result-content\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_SearchResultList__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n pages: this.props.pages,\n searchingKeyword: this.props.searchingKeyword\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_DeletePageListModal__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n isShown: this.state.isDeleteConfirmModalShown,\n pages: Array.from(this.state.selectedPages),\n errorMessage: this.state.errorMessageForDeleting,\n cancel: this.closeDeleteConfirmModal,\n confirmedToDelete: this.deleteSelectedPages,\n isDeleteCompletely: this.state.isDeleteCompletely,\n toggleDeleteCompletely: this.toggleDeleteCompletely\n })) // content-main\n ;\n }\n\n}\n/**\n * Wrapper component for using unstated\n */\n\n\nconst SearchResultWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_8__[\"withUnstatedContainers\"])(SearchResult, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_7__[\"default\"]]);\nSearchResult.propTypes = {\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_7__[\"default\"]).isRequired,\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n pages: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.array.isRequired,\n searchingKeyword: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired,\n searchResultMeta: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object.isRequired,\n searchError: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n tree: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n};\nSearchResult.defaultProps = {\n searchError: null\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_3__[\"withTranslation\"])()(SearchResultWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvU2VhcmNoUGFnZS9TZWFyY2hSZXN1bHQuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1NlYXJjaFBhZ2UvU2VhcmNoUmVzdWx0LmpzeD9hYWI2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0ICogYXMgdG9hc3RyIGZyb20gJ3RvYXN0cic7XG5cbmltcG9ydCB7IHdpdGhUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuXG5pbXBvcnQgUGFnZSBmcm9tICcuLi9QYWdlTGlzdC9QYWdlJztcbmltcG9ydCBTZWFyY2hSZXN1bHRMaXN0IGZyb20gJy4vU2VhcmNoUmVzdWx0TGlzdCc7XG5pbXBvcnQgRGVsZXRlUGFnZUxpc3RNb2RhbCBmcm9tICcuL0RlbGV0ZVBhZ2VMaXN0TW9kYWwnO1xuaW1wb3J0IEFwcENvbnRhaW5lciBmcm9tICcuLi8uLi9zZXJ2aWNlcy9BcHBDb250YWluZXInO1xuaW1wb3J0IHsgd2l0aFVuc3RhdGVkQ29udGFpbmVycyB9IGZyb20gJy4uL1Vuc3RhdGVkVXRpbHMnO1xuXG5jbGFzcyBTZWFyY2hSZXN1bHQgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBkZWxldGlvbk1vZGU6IGZhbHNlLFxuICAgICAgc2VsZWN0ZWRQYWdlczogbmV3IFNldCgpLFxuICAgICAgaXNEZWxldGVDb21wbGV0ZWx5OiB1bmRlZmluZWQsXG4gICAgICBpc0RlbGV0ZUNvbmZpcm1Nb2RhbFNob3duOiBmYWxzZSxcbiAgICAgIGVycm9yTWVzc2FnZUZvckRlbGV0aW5nOiB1bmRlZmluZWQsXG4gICAgfTtcbiAgICB0aGlzLnRvZ2dsZURlbGV0ZUNvbXBsZXRlbHkgPSB0aGlzLnRvZ2dsZURlbGV0ZUNvbXBsZXRlbHkuYmluZCh0aGlzKTtcbiAgICB0aGlzLmRlbGV0ZVNlbGVjdGVkUGFnZXMgPSB0aGlzLmRlbGV0ZVNlbGVjdGVkUGFnZXMuYmluZCh0aGlzKTtcbiAgICB0aGlzLmNsb3NlRGVsZXRlQ29uZmlybU1vZGFsID0gdGhpcy5jbG9zZURlbGV0ZUNvbmZpcm1Nb2RhbC5iaW5kKHRoaXMpO1xuICB9XG5cbiAgaXNOb3RTZWFyY2hlZFlldCgpIHtcbiAgICByZXR1cm4gIXRoaXMucHJvcHMuc2VhcmNoUmVzdWx0TWV0YS50b29rO1xuICB9XG5cbiAgaXNOb3RGb3VuZCgpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5zZWFyY2hpbmdLZXl3b3JkICE9PSAnJyAmJiB0aGlzLnByb3BzLnBhZ2VzLmxlbmd0aCA9PT0gMDtcbiAgfVxuXG4gIGlzRXJyb3IoKSB7XG4gICAgaWYgKHRoaXMucHJvcHMuc2VhcmNoRXJyb3IgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogbW92ZSB0aGUgcGFnZVxuICAgKi9cbiAgdmlzaXRQYWdlQnV0dG9uSGFuZGxlcihlKSB7XG4gICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBlLmN1cnJlbnRUYXJnZXQudmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogdG9nZ2xlIGNoZWNrYm94IGFuZCBhZGQgKG9yIGRlbGV0ZSBmcm9tKSBzZWxlY3RlZCBwYWdlcyBsaXN0XG4gICAqXG4gICAqIEBwYXJhbSB7YW55fSBwYWdlXG4gICAqIEBtZW1iZXJvZiBTZWFyY2hSZXN1bHRcbiAgICovXG4gIHRvZ2dsZUNoZWNrYm94KHBhZ2UpIHtcbiAgICBpZiAodGhpcy5zdGF0ZS5zZWxlY3RlZFBhZ2VzLmhhcyhwYWdlKSkge1xuICAgICAgdGhpcy5zdGF0ZS5zZWxlY3RlZFBhZ2VzLmRlbGV0ZShwYWdlKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLnN0YXRlLnNlbGVjdGVkUGFnZXMuYWRkKHBhZ2UpO1xuICAgIH1cbiAgICB0aGlzLnNldFN0YXRlKHsgaXNEZWxldGVDb25maXJtTW9kYWxTaG93bjogZmFsc2UgfSk7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IHNlbGVjdGVkUGFnZXM6IHRoaXMuc3RhdGUuc2VsZWN0ZWRQYWdlcyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjaGVjayBhbmQgcmV0dXJuIGlzIGFsbCBwYWdlcyBzZWxlY3RlZCBmb3IgZGVsZXRlP1xuICAgKlxuICAgKiBAcmV0dXJucyBhbGwgcGFnZXMgc2VsZWN0ZWQgKG9yIG5vdClcbiAgICogQG1lbWJlcm9mIFNlYXJjaFJlc3VsdFxuICAgKi9cbiAgaXNBbGxTZWxlY3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5zZWxlY3RlZFBhZ2VzLnNpemUgPT09IHRoaXMucHJvcHMucGFnZXMubGVuZ3RoO1xuICB9XG5cbiAgLyoqXG4gICAqIGhhbmRsZSBjaGVja2JveCBjbGlja2luZyB0aGF0IGFsbCBwYWdlcyBzZWxlY3QgZm9yIGRlbGV0ZVxuICAgKlxuICAgKiBAbWVtYmVyb2YgU2VhcmNoUmVzdWx0XG4gICAqL1xuICBoYW5kbGVBbGxTZWxlY3QoKSB7XG4gICAgaWYgKHRoaXMuaXNBbGxTZWxlY3RlZCgpKSB7XG4gICAgICB0aGlzLnN0YXRlLnNlbGVjdGVkUGFnZXMuY2xlYXIoKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLnN0YXRlLnNlbGVjdGVkUGFnZXMuY2xlYXIoKTtcbiAgICAgIHRoaXMucHJvcHMucGFnZXMubWFwKChwYWdlKSA9PiB7XG4gICAgICAgIHRoaXMuc3RhdGUuc2VsZWN0ZWRQYWdlcy5hZGQocGFnZSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLnNldFN0YXRlKHsgc2VsZWN0ZWRQYWdlczogdGhpcy5zdGF0ZS5zZWxlY3RlZFBhZ2VzIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIGNoYW5nZSBkZWxldGlvbiBtb2RlXG4gICAqXG4gICAqIEBtZW1iZXJvZiBTZWFyY2hSZXN1bHRcbiAgICovXG4gIGhhbmRsZURlbGV0aW9uTW9kZUNoYW5nZSgpIHtcbiAgICB0aGlzLnN0YXRlLnNlbGVjdGVkUGFnZXMuY2xlYXIoKTtcbiAgICB0aGlzLnNldFN0YXRlKHsgZGVsZXRpb25Nb2RlOiAhdGhpcy5zdGF0ZS5kZWxldGlvbk1vZGUgfSk7XG4gIH1cblxuICAvKipcbiAgICogdG9nZ2xlIGNoZWNrIGRlbGV0ZSBjb21wbGV0ZWx5XG4gICAqXG4gICAqIEBtZW1iZXJvZiBTZWFyY2hSZXN1bHRcbiAgICovXG4gIHRvZ2dsZURlbGV0ZUNvbXBsZXRlbHkoKSB7XG4gICAgLy8gcmVxdWVzdCDjgacgY29tcGxldGVseSDjgYwgdW5kZWZpbmVkIOOBp+OBquOBhOOBqOaMh+WumuOCouODquOBqOimi+OBquOBleOCjOOCi+OBn+OCgVxuICAgIHRoaXMuc2V0U3RhdGUoeyBpc0RlbGV0ZUNvbXBsZXRlbHk6IHRoaXMuc3RhdGUuaXNEZWxldGVDb21wbGV0ZWx5ID8gdW5kZWZpbmVkIDogdHJ1ZSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBkZWxldGUgc2VsZWN0ZWQgcGFnZXNcbiAgICpcbiAgICogQG1lbWJlcm9mIFNlYXJjaFJlc3VsdFxuICAgKi9cbiAgZGVsZXRlU2VsZWN0ZWRQYWdlcygpIHtcbiAgICBjb25zdCBkZWxldGVDb21wbGV0ZWx5ID0gdGhpcy5zdGF0ZS5pc0RlbGV0ZUNvbXBsZXRlbHk7XG4gICAgUHJvbWlzZS5hbGwoQXJyYXkuZnJvbSh0aGlzLnN0YXRlLnNlbGVjdGVkUGFnZXMpLm1hcCgocGFnZSkgPT4ge1xuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgY29uc3QgcGFnZUlkID0gcGFnZS5faWQ7XG4gICAgICAgIGNvbnN0IHJldmlzaW9uSWQgPSBwYWdlLnJldmlzaW9uLl9pZDtcblxuICAgICAgICB0aGlzLnByb3BzLmFwcENvbnRhaW5lci5hcGlQb3N0KCcvcGFnZXMucmVtb3ZlJywgeyBwYWdlX2lkOiBwYWdlSWQsIHJldmlzaW9uX2lkOiByZXZpc2lvbklkLCBjb21wbGV0ZWx5OiBkZWxldGVDb21wbGV0ZWx5IH0pXG4gICAgICAgICAgLnRoZW4oKHJlcykgPT4ge1xuICAgICAgICAgICAgaWYgKHJlcy5vaykge1xuICAgICAgICAgICAgICB0aGlzLnN0YXRlLnNlbGVjdGVkUGFnZXMuZGVsZXRlKHBhZ2UpO1xuICAgICAgICAgICAgICByZXR1cm4gcmVzb2x2ZSgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcmVqZWN0KCk7XG5cbiAgICAgICAgICB9KVxuICAgICAgICAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIubWVzc2FnZSk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tY29uc29sZVxuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGVycm9yTWVzc2FnZUZvckRlbGV0aW5nOiBlcnIubWVzc2FnZSB9KTtcbiAgICAgICAgICAgIHJldHVybiByZWplY3QoKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pKVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgdG9hc3RyLmVycm9yKGVyciwgJ0Vycm9yIG9jY3VyZWQnLCB7XG4gICAgICAgICAgY2xvc2VCdXR0b246IHRydWUsXG4gICAgICAgICAgcHJvZ3Jlc3NCYXI6IHRydWUsXG4gICAgICAgICAgbmV3ZXN0T25Ub3A6IGZhbHNlLFxuICAgICAgICAgIHNob3dEdXJhdGlvbjogJzEwMCcsXG4gICAgICAgICAgaGlkZUR1cmF0aW9uOiAnMTAwJyxcbiAgICAgICAgICB0aW1lT3V0OiAnMzAwMCcsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogb3BlbiBjb25maXJtIG1vZGFsIGZvciBwYWdlIHNlbGVjdGlvbiBkZWxldGVcbiAgICpcbiAgICogQG1lbWJlcm9mIFNlYXJjaFJlc3VsdFxuICAgKi9cbiAgc2hvd0RlbGV0ZUNvbmZpcm1Nb2RhbCgpIHtcbiAgICB0aGlzLnNldFN0YXRlKHsgaXNEZWxldGVDb25maXJtTW9kYWxTaG93bjogdHJ1ZSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjbG9zZSBjb25maXJtIG1vZGFsIGZvciBwYWdlIHNlbGVjdGlvbiBkZWxldGVcbiAgICpcbiAgICogQG1lbWJlcm9mIFNlYXJjaFJlc3VsdFxuICAgKi9cbiAgY2xvc2VEZWxldGVDb25maXJtTW9kYWwoKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBpc0RlbGV0ZUNvbmZpcm1Nb2RhbFNob3duOiBmYWxzZSxcbiAgICAgIGVycm9yTWVzc2FnZUZvckRlbGV0aW5nOiB1bmRlZmluZWQsXG4gICAgfSk7XG4gIH1cblxuICByZW5kZXJMaXN0VmlldyhwYWdlcykge1xuICAgIHJldHVybiBwYWdlcy5tYXAoKHBhZ2UpID0+IHtcbiAgICAgIC8vIEFkZCBwcmVmaXggJ2lkXycgaW4gcGFnZUlkLCBiZWNhdXNlIHNjcm9sbHNweSBvZiBib290c3RyYXAgZG9lc24ndCB3b3JrIHdoZW4gdGhlIGZpcnN0IGxldHRlciBvZiBpZCBhdHRyIG9mIHRhcmdldCBjb21wb25lbnQgaXMgbnVtZXJhbC5cbiAgICAgIGNvbnN0IHBhZ2VJZCA9IGAjaWRfJHtwYWdlLl9pZH1gO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGxpIGtleT17cGFnZS5faWR9IGNsYXNzTmFtZT1cIm5hdi1pdGVtIHBhZ2UtbGlzdC1saSB3LTEwMCBtLTFcIj5cbiAgICAgICAgICA8YSBjbGFzc05hbWU9XCJuYXYtbGluayBwYWdlLWxpc3QtbGluayBkLWZsZXggYWxpZ24taXRlbXMtYmFzZWxpbmVcIiBocmVmPXtwYWdlSWR9PlxuICAgICAgICAgICAgPFBhZ2UgcGFnZT17cGFnZX0gbm9MaW5rIC8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1sLWF1dG8gZC1mbGV4XCI+XG4gICAgICAgICAgICAgIHsgdGhpcy5zdGF0ZS5kZWxldGlvbk1vZGVcbiAgICAgICAgICAgICAgICAmJiAoXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sIGN1c3RvbS1jaGVja2JveCBjdXN0b20tY2hlY2tib3gtZGFuZ2VyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgICAgaWQ9e2BwYWdlLWRlbGV0ZS1jaGVjay0ke3BhZ2UuX2lkfWB9XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiY3VzdG9tLWNvbnRyb2wtaW5wdXQgc2VhcmNoLXJlc3VsdC1saXN0LWRlbGV0ZS1jaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3BhZ2VJZH1cbiAgICAgICAgICAgICAgICAgICAgICBjaGVja2VkPXt0aGlzLnN0YXRlLnNlbGVjdGVkUGFnZXMuaGFzKHBhZ2UpfVxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoKSA9PiB7IHJldHVybiB0aGlzLnRvZ2dsZUNoZWNrYm94KHBhZ2UpIH19XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9XCJjdXN0b20tY29udHJvbC1sYWJlbFwiIGh0bWxGb3I9e2BwYWdlLWRlbGV0ZS1jaGVjay0ke3BhZ2UuX2lkfWB9PjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwYWdlLWxpc3Qtb3B0aW9uXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3NOYW1lPVwiYnRuIGJ0bi1saW5rIHAtMFwiIHZhbHVlPXtwYWdlLnBhdGh9IG9uQ2xpY2s9e3RoaXMudmlzaXRQYWdlQnV0dG9uSGFuZGxlcn0+PGkgY2xhc3NOYW1lPVwiaWNvbi1sb2dpblwiIC8+PC9idXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2xpPlxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAodGhpcy5pc0Vycm9yKCkpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGVudC1tYWluXCI+XG4gICAgICAgICAgPGkgY2xhc3NOYW1lPVwic2VhcmNpbmcgZmEgZmEtd2FybmluZ1wiPjwvaT4gRXJyb3Igb24gc2VhcmNoaW5nLlxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNOb3RTZWFyY2hlZFlldCgpKSB7XG4gICAgICByZXR1cm4gPGRpdiAvPjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc05vdEZvdW5kKCkpIHtcbiAgICAgIGxldCB1bmRlciA9ICcnO1xuICAgICAgaWYgKHRoaXMucHJvcHMudHJlZSAhPSBudWxsKSB7XG4gICAgICAgIHVuZGVyID0gYCB1bmRlciBcIiR7dGhpcy5wcm9wcy50cmVlfVwiYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGVudC1tYWluXCI+XG4gICAgICAgICAgPGkgY2xhc3NOYW1lPVwiaWNvbi1mdyBpY29uLWluZm9cIiAvPiBObyBwYWdlIGZvdW5kIHdpdGggJnF1b3Q7e3RoaXMucHJvcHMuc2VhcmNoaW5nS2V5d29yZH0mcXVvdDt7dW5kZXJ9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcblxuICAgIH1cblxuICAgIGxldCBkZWxldGlvbk1vZGVCdXR0b25zID0gJyc7XG4gICAgbGV0IGFsbFNlbGVjdENoZWNrID0gJyc7XG5cbiAgICBpZiAodGhpcy5zdGF0ZS5kZWxldGlvbk1vZGUpIHtcbiAgICAgIGRlbGV0aW9uTW9kZUJ1dHRvbnMgPSAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYnRuLWdyb3VwXCI+XG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3NOYW1lPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeSBidG4tc20gcm91bmRlZC1waWxsLXdlYWtcIiBvbkNsaWNrPXsoKSA9PiB7IHJldHVybiB0aGlzLmhhbmRsZURlbGV0aW9uTW9kZUNoYW5nZSgpIH19PlxuICAgICAgICAgICAgPGkgY2xhc3NOYW1lPVwiaWNvbi1iYW5cIiAvPiB7dCgnc2VhcmNoX3Jlc3VsdC5jYW5jZWwnKX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImJ0biBidG4tZGFuZ2VyIGJ0bi1zbSByb3VuZGVkLXBpbGwtd2Vha1wiXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7IHJldHVybiB0aGlzLnNob3dEZWxldGVDb25maXJtTW9kYWwoKSB9fVxuICAgICAgICAgICAgZGlzYWJsZWQ9e3RoaXMuc3RhdGUuc2VsZWN0ZWRQYWdlcy5zaXplID09PSAwfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpIGNsYXNzTmFtZT1cImljb24tdHJhc2hcIiAvPiB7dCgnc2VhcmNoX3Jlc3VsdC5kZWxldGUnKX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgICAgYWxsU2VsZWN0Q2hlY2sgPSAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY3VzdG9tLWNvbnRyb2wgY3VzdG9tLWNoZWNrYm94IGN1c3RvbS1jaGVja2JveC1kYW5nZXJcIj5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIGlkPVwiYWxsLXNlbGVjdC1jaGVja1wiXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJjdXN0b20tY29udHJvbC1pbnB1dFwiXG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgb25DaGFuZ2U9eygpID0+IHsgcmV0dXJuIHRoaXMuaGFuZGxlQWxsU2VsZWN0KCkgfX1cbiAgICAgICAgICAgIGNoZWNrZWQ9e3RoaXMuaXNBbGxTZWxlY3RlZCgpfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sLWxhYmVsXCIgaHRtbEZvcj1cImFsbC1zZWxlY3QtY2hlY2tcIj4mbmJzcDt7dCgnc2VhcmNoX3Jlc3VsdC5jaGVja19hbGwnKX08L2xhYmVsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgZGVsZXRpb25Nb2RlQnV0dG9ucyA9IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJidG4tZ3JvdXBcIj5cbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzc05hbWU9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5IHJvdW5kZWQtcGlsbCBidG4tc21cIiBvbkNsaWNrPXsoKSA9PiB7IHJldHVybiB0aGlzLmhhbmRsZURlbGV0aW9uTW9kZUNoYW5nZSgpIH19PlxuICAgICAgICAgICAgPGkgY2xhc3NOYW1lPVwidGktY2hlY2stYm94XCIgLz4ge3QoJ3NlYXJjaF9yZXN1bHQuZGVsZXRpb25fbW9kZV9idG5fbGF2ZWwnKX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGxpc3RWaWV3ID0gdGhpcy5yZW5kZXJMaXN0Vmlldyh0aGlzLnByb3BzLnBhZ2VzKTtcblxuICAgIC8qXG4gICAgVUkg44GC44Go44Gn6ICD44GI44KLXG4gICAgPHNwYW4gY2xhc3NOYW1lPVwic2VhcmNoLXJlc3VsdC1tZXRhXCI+Rm91bmQ6IHt0aGlzLnByb3BzLnNlYXJjaFJlc3VsdE1ldGEudG90YWx9IHBhZ2VzIHdpdGggXCJ7dGhpcy5wcm9wcy5zZWFyY2hpbmdLZXl3b3JkfVwiPC9zcGFuPlxuICAgICovXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGVudC1tYWluXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic2VhcmNoLXJlc3VsdCByb3dcIiBpZD1cInNlYXJjaC1yZXN1bHRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC1sZy00IGQtbm9uZSBkLWxnLWJsb2NrIHBhZ2UtbGlzdCBzZWFyY2gtcmVzdWx0LWxpc3QgcHItMFwiIGlkPVwic2VhcmNoLXJlc3VsdC1saXN0XCI+XG4gICAgICAgICAgICA8bmF2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImQtZmxleCBhbGlnbi1pdGVtcy1zdGFydCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtdC0xXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzZWFyY2gtcmVzdWx0LW1ldGFcIj5cbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzTmFtZT1cImljb24tbWFnbmlmaWVyXCIgLz4gRm91bmQge3RoaXMucHJvcHMuc2VhcmNoUmVzdWx0TWV0YS50b3RhbH0gcGFnZXMgd2l0aCAmcXVvdDt7dGhpcy5wcm9wcy5zZWFyY2hpbmdLZXl3b3JkfSZxdW90O1xuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1ub3dyYXBcIj5cbiAgICAgICAgICAgICAgICAgIHtkZWxldGlvbk1vZGVCdXR0b25zfVxuICAgICAgICAgICAgICAgICAge2FsbFNlbGVjdENoZWNrfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInBhZ2UtbGlzdFwiPlxuICAgICAgICAgICAgICAgIDx1bCBjbGFzc05hbWU9XCJwYWdlLWxpc3QtdWwgcGFnZS1saXN0LXVsLWZsYXQgbmF2IG5hdi1waWxsc1wiPntsaXN0Vmlld308L3VsPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmF2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLWxnLTggc2VhcmNoLXJlc3VsdC1jb250ZW50XCIgaWQ9XCJzZWFyY2gtcmVzdWx0LWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxTZWFyY2hSZXN1bHRMaXN0IHBhZ2VzPXt0aGlzLnByb3BzLnBhZ2VzfSBzZWFyY2hpbmdLZXl3b3JkPXt0aGlzLnByb3BzLnNlYXJjaGluZ0tleXdvcmR9IC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8RGVsZXRlUGFnZUxpc3RNb2RhbFxuICAgICAgICAgIGlzU2hvd249e3RoaXMuc3RhdGUuaXNEZWxldGVDb25maXJtTW9kYWxTaG93bn1cbiAgICAgICAgICBwYWdlcz17QXJyYXkuZnJvbSh0aGlzLnN0YXRlLnNlbGVjdGVkUGFnZXMpfVxuICAgICAgICAgIGVycm9yTWVzc2FnZT17dGhpcy5zdGF0ZS5lcnJvck1lc3NhZ2VGb3JEZWxldGluZ31cbiAgICAgICAgICBjYW5jZWw9e3RoaXMuY2xvc2VEZWxldGVDb25maXJtTW9kYWx9XG4gICAgICAgICAgY29uZmlybWVkVG9EZWxldGU9e3RoaXMuZGVsZXRlU2VsZWN0ZWRQYWdlc31cbiAgICAgICAgICBpc0RlbGV0ZUNvbXBsZXRlbHk9e3RoaXMuc3RhdGUuaXNEZWxldGVDb21wbGV0ZWx5fVxuICAgICAgICAgIHRvZ2dsZURlbGV0ZUNvbXBsZXRlbHk9e3RoaXMudG9nZ2xlRGVsZXRlQ29tcGxldGVseX1cbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PiAvLyBjb250ZW50LW1haW5cbiAgICApO1xuICB9XG5cbn1cblxuLyoqXG4gKiBXcmFwcGVyIGNvbXBvbmVudCBmb3IgdXNpbmcgdW5zdGF0ZWRcbiAqL1xuY29uc3QgU2VhcmNoUmVzdWx0V3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoU2VhcmNoUmVzdWx0LCBbQXBwQ29udGFpbmVyXSk7XG5cblNlYXJjaFJlc3VsdC5wcm9wVHlwZXMgPSB7XG4gIGFwcENvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoQXBwQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLCAvLyBpMThuZXh0XG5cbiAgcGFnZXM6IFByb3BUeXBlcy5hcnJheS5pc1JlcXVpcmVkLFxuICBzZWFyY2hpbmdLZXl3b3JkOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIHNlYXJjaFJlc3VsdE1ldGE6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgc2VhcmNoRXJyb3I6IFByb3BUeXBlcy5vYmplY3QsXG4gIHRyZWU6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuU2VhcmNoUmVzdWx0LmRlZmF1bHRQcm9wcyA9IHtcbiAgc2VhcmNoRXJyb3I6IG51bGwsXG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoVHJhbnNsYXRpb24oKShTZWFyY2hSZXN1bHRXcmFwcGVyKTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFDQTtBQUVBOzs7Ozs7OztBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFFQTs7Ozs7Ozs7QUFNQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBOzs7Ozs7O0FBS0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBRUE7Ozs7Ozs7QUFLQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFFQTs7Ozs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU5BO0FBUUE7QUFDQTtBQUVBOzs7Ozs7O0FBS0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUVBOzs7Ozs7O0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFGQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUdBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBTkE7QUFRQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUdBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUpBO0FBTUE7QUFBQTtBQUlBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBTEE7QUFPQTtBQUFBO0FBQUE7QUFHQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFJQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7QUFJQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUFBO0FBTUE7QUFBQTtBQUNBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVBBO0FBeEJBO0FBbUNBO0FBQ0E7QUEzVEE7QUE4VEE7Ozs7O0FBR0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFSQTtBQVVBO0FBQ0E7QUFEQTtBQUlBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/SearchPage/SearchResult.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/SearchPage/SearchResultList.jsx":
- /*!******************************************************************!*\
- !*** ./src/client/js/components/SearchPage/SearchResultList.jsx ***!
- \******************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _Page_RevisionLoader__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Page/RevisionLoader */ \"./src/client/js/components/Page/RevisionLoader.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n\n\n\n\n\n\nclass SearchResultList extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n this.growiRenderer = this.props.appContainer.getRenderer('searchresult');\n }\n\n render() {\n const resultList = this.props.pages.map(page => {\n const showTags = page.tags != null && page.tags.length > 0;\n return (// Add prefix 'id_' in id attr, because scrollspy of bootstrap doesn't work when the first letter of id of target component is numeral.\n react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n id: `id_${page._id}`,\n key: page._id,\n className: \"search-result-page mb-5\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h2\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: page.path,\n className: \"text-break\"\n }, page.path), showTags && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"mt-1 small\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"tag-icon icon-tag\"\n }), \" \", page.tags.join(', '))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Page_RevisionLoader__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n growiRenderer: this.growiRenderer,\n pageId: page._id,\n pagePath: page.path,\n revisionId: page.revision,\n highlightKeywords: this.props.searchingKeyword\n }))\n );\n });\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", null, resultList);\n }\n\n}\n/**\n * Wrapper component for using unstated\n */\n\n\nconst SearchResultListWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_4__[\"withUnstatedContainers\"])(SearchResultList, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_3__[\"default\"]]);\nSearchResultList.propTypes = {\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_3__[\"default\"]).isRequired,\n pages: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.array.isRequired,\n searchingKeyword: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired\n};\nSearchResultList.defaultProps = {};\n/* harmony default export */ __webpack_exports__[\"default\"] = (SearchResultListWrapper);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvU2VhcmNoUGFnZS9TZWFyY2hSZXN1bHRMaXN0LmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9TZWFyY2hQYWdlL1NlYXJjaFJlc3VsdExpc3QuanN4PzEyMTkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCBSZXZpc2lvbkxvYWRlciBmcm9tICcuLi9QYWdlL1JldmlzaW9uTG9hZGVyJztcbmltcG9ydCBBcHBDb250YWluZXIgZnJvbSAnLi4vLi4vc2VydmljZXMvQXBwQ29udGFpbmVyJztcbmltcG9ydCB7IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMgfSBmcm9tICcuLi9VbnN0YXRlZFV0aWxzJztcblxuY2xhc3MgU2VhcmNoUmVzdWx0TGlzdCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLmdyb3dpUmVuZGVyZXIgPSB0aGlzLnByb3BzLmFwcENvbnRhaW5lci5nZXRSZW5kZXJlcignc2VhcmNocmVzdWx0Jyk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgcmVzdWx0TGlzdCA9IHRoaXMucHJvcHMucGFnZXMubWFwKChwYWdlKSA9PiB7XG4gICAgICBjb25zdCBzaG93VGFncyA9IChwYWdlLnRhZ3MgIT0gbnVsbCkgJiYgKHBhZ2UudGFncy5sZW5ndGggPiAwKTtcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgLy8gQWRkIHByZWZpeCAnaWRfJyBpbiBpZCBhdHRyLCBiZWNhdXNlIHNjcm9sbHNweSBvZiBib290c3RyYXAgZG9lc24ndCB3b3JrIHdoZW4gdGhlIGZpcnN0IGxldHRlciBvZiBpZCBvZiB0YXJnZXQgY29tcG9uZW50IGlzIG51bWVyYWwuXG4gICAgICAgIDxkaXYgaWQ9e2BpZF8ke3BhZ2UuX2lkfWB9IGtleT17cGFnZS5faWR9IGNsYXNzTmFtZT1cInNlYXJjaC1yZXN1bHQtcGFnZSBtYi01XCI+XG4gICAgICAgICAgPGgyPlxuICAgICAgICAgICAgPGEgaHJlZj17cGFnZS5wYXRofSBjbGFzc05hbWU9XCJ0ZXh0LWJyZWFrXCI+e3BhZ2UucGF0aH08L2E+XG4gICAgICAgICAgICB7IHNob3dUYWdzICYmIChcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtdC0xIHNtYWxsXCI+PGkgY2xhc3NOYW1lPVwidGFnLWljb24gaWNvbi10YWdcIj48L2k+IHtwYWdlLnRhZ3Muam9pbignLCAnKX08L2Rpdj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9oMj5cbiAgICAgICAgICA8UmV2aXNpb25Mb2FkZXJcbiAgICAgICAgICAgIGdyb3dpUmVuZGVyZXI9e3RoaXMuZ3Jvd2lSZW5kZXJlcn1cbiAgICAgICAgICAgIHBhZ2VJZD17cGFnZS5faWR9XG4gICAgICAgICAgICBwYWdlUGF0aD17cGFnZS5wYXRofVxuICAgICAgICAgICAgcmV2aXNpb25JZD17cGFnZS5yZXZpc2lvbn1cbiAgICAgICAgICAgIGhpZ2hsaWdodEtleXdvcmRzPXt0aGlzLnByb3BzLnNlYXJjaGluZ0tleXdvcmR9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIHtyZXN1bHRMaXN0fVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuXG59XG5cbi8qKlxuICogV3JhcHBlciBjb21wb25lbnQgZm9yIHVzaW5nIHVuc3RhdGVkXG4gKi9cbmNvbnN0IFNlYXJjaFJlc3VsdExpc3RXcmFwcGVyID0gd2l0aFVuc3RhdGVkQ29udGFpbmVycyhTZWFyY2hSZXN1bHRMaXN0LCBbQXBwQ29udGFpbmVyXSk7XG5cblNlYXJjaFJlc3VsdExpc3QucHJvcFR5cGVzID0ge1xuICBhcHBDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKEFwcENvbnRhaW5lcikuaXNSZXF1aXJlZCxcblxuICBwYWdlczogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWQsXG4gIHNlYXJjaGluZ0tleXdvcmQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbn07XG5cblNlYXJjaFJlc3VsdExpc3QuZGVmYXVsdFByb3BzID0ge1xufTtcblxuZXhwb3J0IGRlZmF1bHQgU2VhcmNoUmVzdWx0TGlzdFdyYXBwZXI7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQVRBO0FBa0JBO0FBRUE7QUFLQTtBQUNBO0FBdENBO0FBeUNBOzs7OztBQUdBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFKQTtBQU9BO0FBR0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/SearchPage/SearchResultList.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/ShareLink/ShareLink.jsx":
- /*!**********************************************************!*\
- !*** ./src/client/js/components/ShareLink/ShareLink.jsx ***!
- \**********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n/* harmony import */ var _ShareLinkList__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ShareLinkList */ \"./src/client/js/components/ShareLink/ShareLinkList.jsx\");\n/* harmony import */ var _ShareLinkForm__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./ShareLinkForm */ \"./src/client/js/components/ShareLink/ShareLinkForm.jsx\");\n/* harmony import */ var _util_apiNotification__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../util/apiNotification */ \"./src/client/js/util/apiNotification.js\");\n\n\n\n\n\n\n\n\n\n\nclass ShareLink extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor() {\n super();\n this.state = {\n shareLinks: [],\n isOpenShareLinkForm: false\n };\n this.toggleShareLinkFormHandler = this.toggleShareLinkFormHandler.bind(this);\n this.deleteAllLinksButtonHandler = this.deleteAllLinksButtonHandler.bind(this);\n this.deleteLinkById = this.deleteLinkById.bind(this);\n }\n\n componentDidMount() {\n this.retrieveShareLinks();\n }\n\n async retrieveShareLinks() {\n const {\n appContainer,\n pageContainer\n } = this.props;\n const {\n pageId\n } = pageContainer.state;\n\n try {\n const res = await appContainer.apiv3.get('/share-links/', {\n relatedPage: pageId\n });\n const {\n shareLinksResult\n } = res.data;\n this.setState({\n shareLinks: shareLinksResult\n });\n } catch (err) {\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_8__[\"toastError\"])(err);\n }\n }\n\n toggleShareLinkFormHandler() {\n this.setState({\n isOpenShareLinkForm: !this.state.isOpenShareLinkForm\n });\n this.retrieveShareLinks();\n }\n\n async deleteAllLinksButtonHandler() {\n const {\n t,\n appContainer,\n pageContainer\n } = this.props;\n const {\n pageId\n } = pageContainer.state;\n\n try {\n const res = await appContainer.apiv3.delete('/share-links/', {\n relatedPage: pageId\n });\n const count = res.data.n;\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_8__[\"toastSuccess\"])(t('toaster.remove_share_link', {\n count\n }));\n } catch (err) {\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_8__[\"toastError\"])(err);\n }\n\n this.retrieveShareLinks();\n }\n\n async deleteLinkById(shareLinkId) {\n const {\n t,\n appContainer\n } = this.props;\n\n try {\n const res = await appContainer.apiv3Delete(`/share-links/${shareLinkId}`);\n const {\n deletedShareLink\n } = res.data;\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_8__[\"toastSuccess\"])(t('toaster.remove_share_link_success', {\n shareLinkId: deletedShareLink._id\n }));\n } catch (err) {\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_8__[\"toastError\"])(err);\n }\n\n this.retrieveShareLinks();\n }\n\n render() {\n const {\n t\n } = this.props;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"container p-0\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h3\", {\n className: \"grw-modal-head d-flex pb-2\"\n }, t('share_links.share_link_list'), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n className: \"btn btn-danger ml-auto \",\n type: \"button\",\n onClick: this.deleteAllLinksButtonHandler\n }, t('delete_all'))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ShareLinkList__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n shareLinks: this.state.shareLinks,\n onClickDeleteButton: this.deleteLinkById\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n className: \"btn btn-outline-secondary d-block mx-auto px-5\",\n type: \"button\",\n onClick: this.toggleShareLinkFormHandler\n }, this.state.isOpenShareLinkForm ? t('Close') : t('New')), this.state.isOpenShareLinkForm && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_ShareLinkForm__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n onCloseForm: this.toggleShareLinkFormHandler\n })));\n }\n\n}\n/**\n * Wrapper component for using unstated\n */\n\n\nconst ShareLinkWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__[\"withUnstatedContainers\"])(ShareLink, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"], _services_PageContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]]);\nShareLink.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]).isRequired,\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]).isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(ShareLinkWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvU2hhcmVMaW5rL1NoYXJlTGluay5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvU2hhcmVMaW5rL1NoYXJlTGluay5qc3g/ZmJkYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuaW1wb3J0IHsgd2l0aFRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5pbXBvcnQgeyB3aXRoVW5zdGF0ZWRDb250YWluZXJzIH0gZnJvbSAnLi4vVW5zdGF0ZWRVdGlscyc7XG5cbmltcG9ydCBBcHBDb250YWluZXIgZnJvbSAnLi4vLi4vc2VydmljZXMvQXBwQ29udGFpbmVyJztcbmltcG9ydCBQYWdlQ29udGFpbmVyIGZyb20gJy4uLy4uL3NlcnZpY2VzL1BhZ2VDb250YWluZXInO1xuXG5pbXBvcnQgU2hhcmVMaW5rTGlzdCBmcm9tICcuL1NoYXJlTGlua0xpc3QnO1xuaW1wb3J0IFNoYXJlTGlua0Zvcm0gZnJvbSAnLi9TaGFyZUxpbmtGb3JtJztcblxuaW1wb3J0IHsgdG9hc3RTdWNjZXNzLCB0b2FzdEVycm9yIH0gZnJvbSAnLi4vLi4vdXRpbC9hcGlOb3RpZmljYXRpb24nO1xuXG5jbGFzcyBTaGFyZUxpbmsgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIHNoYXJlTGlua3M6IFtdLFxuICAgICAgaXNPcGVuU2hhcmVMaW5rRm9ybTogZmFsc2UsXG4gICAgfTtcblxuICAgIHRoaXMudG9nZ2xlU2hhcmVMaW5rRm9ybUhhbmRsZXIgPSB0aGlzLnRvZ2dsZVNoYXJlTGlua0Zvcm1IYW5kbGVyLmJpbmQodGhpcyk7XG4gICAgdGhpcy5kZWxldGVBbGxMaW5rc0J1dHRvbkhhbmRsZXIgPSB0aGlzLmRlbGV0ZUFsbExpbmtzQnV0dG9uSGFuZGxlci5iaW5kKHRoaXMpO1xuICAgIHRoaXMuZGVsZXRlTGlua0J5SWQgPSB0aGlzLmRlbGV0ZUxpbmtCeUlkLmJpbmQodGhpcyk7XG4gIH1cblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICB0aGlzLnJldHJpZXZlU2hhcmVMaW5rcygpO1xuICB9XG5cbiAgYXN5bmMgcmV0cmlldmVTaGFyZUxpbmtzKCkge1xuICAgIGNvbnN0IHsgYXBwQ29udGFpbmVyLCBwYWdlQ29udGFpbmVyIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgcGFnZUlkIH0gPSBwYWdlQ29udGFpbmVyLnN0YXRlO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGFwcENvbnRhaW5lci5hcGl2My5nZXQoJy9zaGFyZS1saW5rcy8nLCB7IHJlbGF0ZWRQYWdlOiBwYWdlSWQgfSk7XG4gICAgICBjb25zdCB7IHNoYXJlTGlua3NSZXN1bHQgfSA9IHJlcy5kYXRhO1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IHNoYXJlTGlua3M6IHNoYXJlTGlua3NSZXN1bHQgfSk7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgIHRvYXN0RXJyb3IoZXJyKTtcbiAgICB9XG5cbiAgfVxuXG4gIHRvZ2dsZVNoYXJlTGlua0Zvcm1IYW5kbGVyKCkge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBpc09wZW5TaGFyZUxpbmtGb3JtOiAhdGhpcy5zdGF0ZS5pc09wZW5TaGFyZUxpbmtGb3JtIH0pO1xuICAgIHRoaXMucmV0cmlldmVTaGFyZUxpbmtzKCk7XG4gIH1cblxuICBhc3luYyBkZWxldGVBbGxMaW5rc0J1dHRvbkhhbmRsZXIoKSB7XG4gICAgY29uc3QgeyB0LCBhcHBDb250YWluZXIsIHBhZ2VDb250YWluZXIgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBwYWdlSWQgfSA9IHBhZ2VDb250YWluZXIuc3RhdGU7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgYXBwQ29udGFpbmVyLmFwaXYzLmRlbGV0ZSgnL3NoYXJlLWxpbmtzLycsIHsgcmVsYXRlZFBhZ2U6IHBhZ2VJZCB9KTtcbiAgICAgIGNvbnN0IGNvdW50ID0gcmVzLmRhdGEubjtcbiAgICAgIHRvYXN0U3VjY2Vzcyh0KCd0b2FzdGVyLnJlbW92ZV9zaGFyZV9saW5rJywgeyBjb3VudCB9KSk7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgIHRvYXN0RXJyb3IoZXJyKTtcbiAgICB9XG5cbiAgICB0aGlzLnJldHJpZXZlU2hhcmVMaW5rcygpO1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlTGlua0J5SWQoc2hhcmVMaW5rSWQpIHtcbiAgICBjb25zdCB7IHQsIGFwcENvbnRhaW5lciB9ID0gdGhpcy5wcm9wcztcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCBhcHBDb250YWluZXIuYXBpdjNEZWxldGUoYC9zaGFyZS1saW5rcy8ke3NoYXJlTGlua0lkfWApO1xuICAgICAgY29uc3QgeyBkZWxldGVkU2hhcmVMaW5rIH0gPSByZXMuZGF0YTtcbiAgICAgIHRvYXN0U3VjY2Vzcyh0KCd0b2FzdGVyLnJlbW92ZV9zaGFyZV9saW5rX3N1Y2Nlc3MnLCB7IHNoYXJlTGlua0lkOiBkZWxldGVkU2hhcmVMaW5rLl9pZCB9KSk7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgIHRvYXN0RXJyb3IoZXJyKTtcbiAgICB9XG5cbiAgICB0aGlzLnJldHJpZXZlU2hhcmVMaW5rcygpO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbnRhaW5lciBwLTBcIj5cbiAgICAgICAgPGgzIGNsYXNzTmFtZT1cImdydy1tb2RhbC1oZWFkIGQtZmxleCBwYi0yXCI+XG4gICAgICAgICAgeyB0KCdzaGFyZV9saW5rcy5zaGFyZV9saW5rX2xpc3QnKSB9XG4gICAgICAgICAgPGJ1dHRvbiBjbGFzc05hbWU9XCJidG4gYnRuLWRhbmdlciBtbC1hdXRvIFwiIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXt0aGlzLmRlbGV0ZUFsbExpbmtzQnV0dG9uSGFuZGxlcn0+e3QoJ2RlbGV0ZV9hbGwnKX08L2J1dHRvbj5cbiAgICAgICAgPC9oMz5cblxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxTaGFyZUxpbmtMaXN0XG4gICAgICAgICAgICBzaGFyZUxpbmtzPXt0aGlzLnN0YXRlLnNoYXJlTGlua3N9XG4gICAgICAgICAgICBvbkNsaWNrRGVsZXRlQnV0dG9uPXt0aGlzLmRlbGV0ZUxpbmtCeUlkfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeSBkLWJsb2NrIG14LWF1dG8gcHgtNVwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMudG9nZ2xlU2hhcmVMaW5rRm9ybUhhbmRsZXJ9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3RoaXMuc3RhdGUuaXNPcGVuU2hhcmVMaW5rRm9ybSA/IHQoJ0Nsb3NlJykgOiB0KCdOZXcnKX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICB7dGhpcy5zdGF0ZS5pc09wZW5TaGFyZUxpbmtGb3JtICYmIDxTaGFyZUxpbmtGb3JtIG9uQ2xvc2VGb3JtPXt0aGlzLnRvZ2dsZVNoYXJlTGlua0Zvcm1IYW5kbGVyfSAvPn1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG5cbn1cblxuLyoqXG4gKiBXcmFwcGVyIGNvbXBvbmVudCBmb3IgdXNpbmcgdW5zdGF0ZWRcbiAqL1xuY29uc3QgU2hhcmVMaW5rV3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoU2hhcmVMaW5rLCBbQXBwQ29udGFpbmVyLCBQYWdlQ29udGFpbmVyXSk7XG5cblNoYXJlTGluay5wcm9wVHlwZXMgPSB7XG4gIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsIC8vICBpMThuZXh0XG4gIGFwcENvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoQXBwQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuICBwYWdlQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihQYWdlQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFRyYW5zbGF0aW9uKCkoU2hhcmVMaW5rV3JhcHBlcik7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRkE7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBRkE7QUFLQTtBQUNBO0FBQ0E7QUFIQTtBQU9BO0FBQUE7QUFJQTtBQUNBO0FBaEdBO0FBbUdBOzs7OztBQUdBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUhBO0FBTUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/ShareLink/ShareLink.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/ShareLink/ShareLinkForm.jsx":
- /*!**************************************************************!*\
- !*** ./src/client/js/components/ShareLink/ShareLinkForm.jsx ***!
- \**************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var date_fns_format__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! date-fns/format */ \"./node_modules/date-fns/esm/format/index.js\");\n/* harmony import */ var date_fns_parse__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! date-fns/parse */ \"./node_modules/date-fns/esm/parse/index.js\");\n/* harmony import */ var core_js_fn_number__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/fn/number */ \"./node_modules/core-js/fn/number/index.js\");\n/* harmony import */ var core_js_fn_number__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_fn_number__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _util_apiNotification__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../util/apiNotification */ \"./src/client/js/util/apiNotification.js\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n\n\n\n\n\n\n\n\n\n\n\nclass ShareLinkForm extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n this.state = {\n expirationType: 'unlimited',\n numberOfDays: '7',\n description: '',\n customExpirationDate: Object(date_fns_format__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(new Date(), 'yyyy-MM-dd'),\n customExpirationTime: Object(date_fns_format__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(new Date(), 'HH:mm')\n };\n this.handleChangeExpirationType = this.handleChangeExpirationType.bind(this);\n this.handleChangeNumberOfDays = this.handleChangeNumberOfDays.bind(this);\n this.handleChangeDescription = this.handleChangeDescription.bind(this);\n this.handleIssueShareLink = this.handleIssueShareLink.bind(this);\n }\n /**\n * change expirationType\n * @param {string} expirationType\n */\n\n\n handleChangeExpirationType(expirationType) {\n this.setState({\n expirationType\n });\n }\n /**\n * change numberOfDays\n * @param {string} numberOfDays\n */\n\n\n handleChangeNumberOfDays(numberOfDays) {\n this.setState({\n numberOfDays\n });\n }\n /**\n * change description\n * @param {string} description\n */\n\n\n handleChangeDescription(description) {\n this.setState({\n description\n });\n }\n /**\n * change customExpirationDate\n * @param {date} customExpirationDate\n */\n\n\n handleChangeCustomExpirationDate(customExpirationDate) {\n this.setState({\n customExpirationDate\n });\n }\n /**\n * change customExpirationTime\n * @param {date} customExpirationTime\n */\n\n\n handleChangeCustomExpirationTime(customExpirationTime) {\n this.setState({\n customExpirationTime\n });\n }\n /**\n * Generate expiredAt by expirationType\n */\n\n\n generateExpired() {\n const {\n t\n } = this.props;\n const {\n expirationType\n } = this.state;\n let expiredAt;\n\n if (expirationType === 'unlimited') {\n return null;\n }\n\n if (expirationType === 'numberOfDays') {\n if (!Object(core_js_fn_number__WEBPACK_IMPORTED_MODULE_5__[\"isInteger\"])(Number(this.state.numberOfDays))) {\n throw new Error(t('share_links.Invalid_Number_of_Date'));\n }\n\n const date = new Date();\n date.setDate(date.getDate() + Number(this.state.numberOfDays));\n expiredAt = date;\n }\n\n if (expirationType === 'custom') {\n const {\n customExpirationDate,\n customExpirationTime\n } = this.state;\n expiredAt = Object(date_fns_parse__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(`${customExpirationDate}T${customExpirationTime}`, \"yyyy-MM-dd'T'HH:mm\", new Date());\n }\n\n return expiredAt;\n }\n\n closeForm() {\n const {\n onCloseForm\n } = this.props;\n\n if (onCloseForm == null) {\n return;\n }\n\n onCloseForm();\n }\n\n async handleIssueShareLink() {\n const {\n t,\n appContainer,\n pageContainer\n } = this.props;\n const {\n pageId\n } = pageContainer.state;\n const {\n description\n } = this.state;\n let expiredAt;\n\n try {\n expiredAt = this.generateExpired();\n } catch (err) {\n return Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_7__[\"toastError\"])(err);\n }\n\n try {\n await appContainer.apiv3Post('/share-links/', {\n relatedPage: pageId,\n expiredAt,\n description\n });\n this.closeForm();\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_7__[\"toastSuccess\"])(t('toaster.issue_share_link'));\n } catch (err) {\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_7__[\"toastError\"])(err);\n }\n }\n\n renderExpirationTypeOptions() {\n const {\n expirationType\n } = this.state;\n const {\n t\n } = this.props;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"form-group row\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n htmlFor: \"inputDesc\",\n className: \"col-md-5 col-form-label\"\n }, t('share_links.expire')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-md-7\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"custom-control custom-radio form-group \"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"radio\",\n className: \"custom-control-input\",\n id: \"customRadio1\",\n name: \"expirationType\",\n value: \"customRadio1\",\n checked: expirationType === 'unlimited',\n onChange: () => {\n this.handleChangeExpirationType('unlimited');\n }\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"custom-control-label\",\n htmlFor: \"customRadio1\"\n }, t('share_links.Unlimited'))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"custom-control custom-radio form-group\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"radio\",\n className: \"custom-control-input\",\n id: \"customRadio2\",\n value: \"customRadio2\",\n checked: expirationType === 'numberOfDays',\n onChange: () => {\n this.handleChangeExpirationType('numberOfDays');\n },\n name: \"expirationType\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"custom-control-label\",\n htmlFor: \"customRadio2\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"row align-items-center m-0\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"number\",\n min: \"1\",\n className: \"col-4\",\n name: \"expirationType\",\n value: this.state.numberOfDays,\n onFocus: () => {\n this.handleChangeExpirationType('numberOfDays');\n },\n onChange: e => this.handleChangeNumberOfDays(Number(e.target.value))\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"col-auto\"\n }, t('share_links.Days'))))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"custom-control custom-radio form-group text-nowrap mb-0\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"radio\",\n className: \"custom-control-input\",\n id: \"customRadio3\",\n name: \"expirationType\",\n value: \"customRadio3\",\n checked: expirationType === 'custom',\n onChange: () => {\n this.handleChangeExpirationType('custom');\n }\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"custom-control-label\",\n htmlFor: \"customRadio3\"\n }, t('share_links.Custom')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"d-inline-flex flex-wrap\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"date\",\n className: \"ml-3 mb-2\",\n name: \"customExpirationDate\",\n value: this.state.customExpirationDate,\n onFocus: () => {\n this.handleChangeExpirationType('custom');\n },\n onChange: e => this.handleChangeCustomExpirationDate(e.target.value)\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"time\",\n className: \"ml-3 mb-2\",\n name: \"customExpiration\",\n value: this.state.customExpirationTime,\n onFocus: () => {\n this.handleChangeExpirationType('custom');\n },\n onChange: e => this.handleChangeCustomExpirationTime(e.target.value)\n })))));\n }\n\n renderDescriptionForm() {\n const {\n t\n } = this.props;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"form-group row\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n htmlFor: \"inputDesc\",\n className: \"col-md-5 col-form-label\"\n }, t('share_links.description')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"col-md-4\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"text\",\n className: \"form-control\",\n id: \"inputDesc\",\n placeholder: t('share_links.enter_desc'),\n value: this.state.description,\n onChange: e => this.handleChangeDescription(e.target.value)\n })));\n }\n\n render() {\n const {\n t\n } = this.props;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"share-link-form p-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h3\", {\n className: \"grw-modal-head pb-2\"\n }, \" \", t('share_links.share_settings')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \" p-3\"\n }, this.renderExpirationTypeOptions(), this.renderDescriptionForm(), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-primary d-block mx-auto px-5\",\n onClick: this.handleIssueShareLink\n }, t('share_links.Issue'))));\n }\n\n}\n/**\n * Wrapper component for using unstated\n */\n\n\nconst ShareLinkFormWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_6__[\"withUnstatedContainers\"])(ShareLinkForm, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_8__[\"default\"], _services_PageContainer__WEBPACK_IMPORTED_MODULE_9__[\"default\"]]);\nShareLinkForm.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_8__[\"default\"]).isRequired,\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_9__[\"default\"]).isRequired,\n onCloseForm: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(ShareLinkFormWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvU2hhcmVMaW5rL1NoYXJlTGlua0Zvcm0uanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1NoYXJlTGluay9TaGFyZUxpbmtGb3JtLmpzeD9kMTUxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQgeyB3aXRoVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcbmltcG9ydCBkYXRlRm5zRm9ybWF0IGZyb20gJ2RhdGUtZm5zL2Zvcm1hdCc7XG5pbXBvcnQgcGFyc2UgZnJvbSAnZGF0ZS1mbnMvcGFyc2UnO1xuXG5pbXBvcnQgeyBpc0ludGVnZXIgfSBmcm9tICdjb3JlLWpzL2ZuL251bWJlcic7XG5pbXBvcnQgeyB3aXRoVW5zdGF0ZWRDb250YWluZXJzIH0gZnJvbSAnLi4vVW5zdGF0ZWRVdGlscyc7XG5cbmltcG9ydCB7IHRvYXN0U3VjY2VzcywgdG9hc3RFcnJvciB9IGZyb20gJy4uLy4uL3V0aWwvYXBpTm90aWZpY2F0aW9uJztcblxuaW1wb3J0IEFwcENvbnRhaW5lciBmcm9tICcuLi8uLi9zZXJ2aWNlcy9BcHBDb250YWluZXInO1xuaW1wb3J0IFBhZ2VDb250YWluZXIgZnJvbSAnLi4vLi4vc2VydmljZXMvUGFnZUNvbnRhaW5lcic7XG5cbmNsYXNzIFNoYXJlTGlua0Zvcm0gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBleHBpcmF0aW9uVHlwZTogJ3VubGltaXRlZCcsXG4gICAgICBudW1iZXJPZkRheXM6ICc3JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnJyxcbiAgICAgIGN1c3RvbUV4cGlyYXRpb25EYXRlOiBkYXRlRm5zRm9ybWF0KG5ldyBEYXRlKCksICd5eXl5LU1NLWRkJyksXG4gICAgICBjdXN0b21FeHBpcmF0aW9uVGltZTogZGF0ZUZuc0Zvcm1hdChuZXcgRGF0ZSgpLCAnSEg6bW0nKSxcbiAgICB9O1xuXG4gICAgdGhpcy5oYW5kbGVDaGFuZ2VFeHBpcmF0aW9uVHlwZSA9IHRoaXMuaGFuZGxlQ2hhbmdlRXhwaXJhdGlvblR5cGUuYmluZCh0aGlzKTtcbiAgICB0aGlzLmhhbmRsZUNoYW5nZU51bWJlck9mRGF5cyA9IHRoaXMuaGFuZGxlQ2hhbmdlTnVtYmVyT2ZEYXlzLmJpbmQodGhpcyk7XG4gICAgdGhpcy5oYW5kbGVDaGFuZ2VEZXNjcmlwdGlvbiA9IHRoaXMuaGFuZGxlQ2hhbmdlRGVzY3JpcHRpb24uYmluZCh0aGlzKTtcbiAgICB0aGlzLmhhbmRsZUlzc3VlU2hhcmVMaW5rID0gdGhpcy5oYW5kbGVJc3N1ZVNoYXJlTGluay5iaW5kKHRoaXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIGNoYW5nZSBleHBpcmF0aW9uVHlwZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gZXhwaXJhdGlvblR5cGVcbiAgICovXG4gIGhhbmRsZUNoYW5nZUV4cGlyYXRpb25UeXBlKGV4cGlyYXRpb25UeXBlKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IGV4cGlyYXRpb25UeXBlIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIGNoYW5nZSBudW1iZXJPZkRheXNcbiAgICogQHBhcmFtIHtzdHJpbmd9IG51bWJlck9mRGF5c1xuICAgKi9cbiAgaGFuZGxlQ2hhbmdlTnVtYmVyT2ZEYXlzKG51bWJlck9mRGF5cykge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBudW1iZXJPZkRheXMgfSk7XG4gIH1cblxuICAvKipcbiAgICogY2hhbmdlIGRlc2NyaXB0aW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBkZXNjcmlwdGlvblxuICAgKi9cbiAgaGFuZGxlQ2hhbmdlRGVzY3JpcHRpb24oZGVzY3JpcHRpb24pIHtcbiAgICB0aGlzLnNldFN0YXRlKHsgZGVzY3JpcHRpb24gfSk7XG4gIH1cblxuICAvKipcbiAgICogY2hhbmdlIGN1c3RvbUV4cGlyYXRpb25EYXRlXG4gICAqIEBwYXJhbSB7ZGF0ZX0gY3VzdG9tRXhwaXJhdGlvbkRhdGVcbiAgICovXG4gIGhhbmRsZUNoYW5nZUN1c3RvbUV4cGlyYXRpb25EYXRlKGN1c3RvbUV4cGlyYXRpb25EYXRlKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IGN1c3RvbUV4cGlyYXRpb25EYXRlIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIGNoYW5nZSBjdXN0b21FeHBpcmF0aW9uVGltZVxuICAgKiBAcGFyYW0ge2RhdGV9IGN1c3RvbUV4cGlyYXRpb25UaW1lXG4gICAqL1xuICBoYW5kbGVDaGFuZ2VDdXN0b21FeHBpcmF0aW9uVGltZShjdXN0b21FeHBpcmF0aW9uVGltZSkge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBjdXN0b21FeHBpcmF0aW9uVGltZSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSBleHBpcmVkQXQgYnkgZXhwaXJhdGlvblR5cGVcbiAgICovXG4gIGdlbmVyYXRlRXhwaXJlZCgpIHtcbiAgICBjb25zdCB7IHQgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBleHBpcmF0aW9uVHlwZSB9ID0gdGhpcy5zdGF0ZTtcbiAgICBsZXQgZXhwaXJlZEF0O1xuXG4gICAgaWYgKGV4cGlyYXRpb25UeXBlID09PSAndW5saW1pdGVkJykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKGV4cGlyYXRpb25UeXBlID09PSAnbnVtYmVyT2ZEYXlzJykge1xuICAgICAgaWYgKCFpc0ludGVnZXIoTnVtYmVyKHRoaXMuc3RhdGUubnVtYmVyT2ZEYXlzKSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKHQoJ3NoYXJlX2xpbmtzLkludmFsaWRfTnVtYmVyX29mX0RhdGUnKSk7XG4gICAgICB9XG4gICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoKTtcbiAgICAgIGRhdGUuc2V0RGF0ZShkYXRlLmdldERhdGUoKSArIE51bWJlcih0aGlzLnN0YXRlLm51bWJlck9mRGF5cykpO1xuICAgICAgZXhwaXJlZEF0ID0gZGF0ZTtcbiAgICB9XG5cbiAgICBpZiAoZXhwaXJhdGlvblR5cGUgPT09ICdjdXN0b20nKSB7XG4gICAgICBjb25zdCB7IGN1c3RvbUV4cGlyYXRpb25EYXRlLCBjdXN0b21FeHBpcmF0aW9uVGltZSB9ID0gdGhpcy5zdGF0ZTtcbiAgICAgIGV4cGlyZWRBdCA9IHBhcnNlKGAke2N1c3RvbUV4cGlyYXRpb25EYXRlfVQke2N1c3RvbUV4cGlyYXRpb25UaW1lfWAsIFwieXl5eS1NTS1kZCdUJ0hIOm1tXCIsIG5ldyBEYXRlKCkpO1xuICAgIH1cblxuICAgIHJldHVybiBleHBpcmVkQXQ7XG4gIH1cblxuICBjbG9zZUZvcm0oKSB7XG4gICAgY29uc3QgeyBvbkNsb3NlRm9ybSB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChvbkNsb3NlRm9ybSA9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIG9uQ2xvc2VGb3JtKCk7XG4gIH1cblxuICBhc3luYyBoYW5kbGVJc3N1ZVNoYXJlTGluaygpIHtcbiAgICBjb25zdCB7XG4gICAgICB0LCBhcHBDb250YWluZXIsIHBhZ2VDb250YWluZXIsXG4gICAgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBwYWdlSWQgfSA9IHBhZ2VDb250YWluZXIuc3RhdGU7XG4gICAgY29uc3QgeyBkZXNjcmlwdGlvbiB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIGxldCBleHBpcmVkQXQ7XG5cbiAgICB0cnkge1xuICAgICAgZXhwaXJlZEF0ID0gdGhpcy5nZW5lcmF0ZUV4cGlyZWQoKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgcmV0dXJuIHRvYXN0RXJyb3IoZXJyKTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgYXBwQ29udGFpbmVyLmFwaXYzUG9zdCgnL3NoYXJlLWxpbmtzLycsIHsgcmVsYXRlZFBhZ2U6IHBhZ2VJZCwgZXhwaXJlZEF0LCBkZXNjcmlwdGlvbiB9KTtcbiAgICAgIHRoaXMuY2xvc2VGb3JtKCk7XG4gICAgICB0b2FzdFN1Y2Nlc3ModCgndG9hc3Rlci5pc3N1ZV9zaGFyZV9saW5rJykpO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICB0b2FzdEVycm9yKGVycik7XG4gICAgfVxuXG4gIH1cblxuICByZW5kZXJFeHBpcmF0aW9uVHlwZU9wdGlvbnMoKSB7XG4gICAgY29uc3QgeyBleHBpcmF0aW9uVHlwZSB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7IHQgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmb3JtLWdyb3VwIHJvd1wiPlxuICAgICAgICA8bGFiZWwgaHRtbEZvcj1cImlucHV0RGVzY1wiIGNsYXNzTmFtZT1cImNvbC1tZC01IGNvbC1mb3JtLWxhYmVsXCI+e3QoJ3NoYXJlX2xpbmtzLmV4cGlyZScpfTwvbGFiZWw+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLW1kLTdcIj5cblxuXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjdXN0b20tY29udHJvbCBjdXN0b20tcmFkaW8gZm9ybS1ncm91cCBcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJjdXN0b20tY29udHJvbC1pbnB1dFwiXG4gICAgICAgICAgICAgIGlkPVwiY3VzdG9tUmFkaW8xXCJcbiAgICAgICAgICAgICAgbmFtZT1cImV4cGlyYXRpb25UeXBlXCJcbiAgICAgICAgICAgICAgdmFsdWU9XCJjdXN0b21SYWRpbzFcIlxuICAgICAgICAgICAgICBjaGVja2VkPXtleHBpcmF0aW9uVHlwZSA9PT0gJ3VubGltaXRlZCd9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsoKSA9PiB7IHRoaXMuaGFuZGxlQ2hhbmdlRXhwaXJhdGlvblR5cGUoJ3VubGltaXRlZCcpIH19XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sLWxhYmVsXCIgaHRtbEZvcj1cImN1c3RvbVJhZGlvMVwiPnt0KCdzaGFyZV9saW5rcy5VbmxpbWl0ZWQnKX08L2xhYmVsPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjdXN0b20tY29udHJvbCBjdXN0b20tcmFkaW8gIGZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJjdXN0b20tY29udHJvbC1pbnB1dFwiXG4gICAgICAgICAgICAgIGlkPVwiY3VzdG9tUmFkaW8yXCJcbiAgICAgICAgICAgICAgdmFsdWU9XCJjdXN0b21SYWRpbzJcIlxuICAgICAgICAgICAgICBjaGVja2VkPXtleHBpcmF0aW9uVHlwZSA9PT0gJ251bWJlck9mRGF5cyd9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsoKSA9PiB7IHRoaXMuaGFuZGxlQ2hhbmdlRXhwaXJhdGlvblR5cGUoJ251bWJlck9mRGF5cycpIH19XG4gICAgICAgICAgICAgIG5hbWU9XCJleHBpcmF0aW9uVHlwZVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sLWxhYmVsXCIgaHRtbEZvcj1cImN1c3RvbVJhZGlvMlwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXIgbS0wXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgICAgIG1pbj1cIjFcIlxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiY29sLTRcIlxuICAgICAgICAgICAgICAgICAgbmFtZT1cImV4cGlyYXRpb25UeXBlXCJcbiAgICAgICAgICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLm51bWJlck9mRGF5c31cbiAgICAgICAgICAgICAgICAgIG9uRm9jdXM9eygpID0+IHsgdGhpcy5oYW5kbGVDaGFuZ2VFeHBpcmF0aW9uVHlwZSgnbnVtYmVyT2ZEYXlzJykgfX1cbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtlID0+IHRoaXMuaGFuZGxlQ2hhbmdlTnVtYmVyT2ZEYXlzKE51bWJlcihlLnRhcmdldC52YWx1ZSkpfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiY29sLWF1dG9cIj57dCgnc2hhcmVfbGlua3MuRGF5cycpfTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjdXN0b20tY29udHJvbCBjdXN0b20tcmFkaW8gZm9ybS1ncm91cCB0ZXh0LW5vd3JhcCBtYi0wXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiY3VzdG9tLWNvbnRyb2wtaW5wdXRcIlxuICAgICAgICAgICAgICBpZD1cImN1c3RvbVJhZGlvM1wiXG4gICAgICAgICAgICAgIG5hbWU9XCJleHBpcmF0aW9uVHlwZVwiXG4gICAgICAgICAgICAgIHZhbHVlPVwiY3VzdG9tUmFkaW8zXCJcbiAgICAgICAgICAgICAgY2hlY2tlZD17ZXhwaXJhdGlvblR5cGUgPT09ICdjdXN0b20nfVxuICAgICAgICAgICAgICBvbkNoYW5nZT17KCkgPT4geyB0aGlzLmhhbmRsZUNoYW5nZUV4cGlyYXRpb25UeXBlKCdjdXN0b20nKSB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9XCJjdXN0b20tY29udHJvbC1sYWJlbFwiIGh0bWxGb3I9XCJjdXN0b21SYWRpbzNcIj5cbiAgICAgICAgICAgICAge3QoJ3NoYXJlX2xpbmtzLkN1c3RvbScpfVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZC1pbmxpbmUtZmxleCBmbGV4LXdyYXBcIj5cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgdHlwZT1cImRhdGVcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm1sLTMgbWItMlwiXG4gICAgICAgICAgICAgICAgbmFtZT1cImN1c3RvbUV4cGlyYXRpb25EYXRlXCJcbiAgICAgICAgICAgICAgICB2YWx1ZT17dGhpcy5zdGF0ZS5jdXN0b21FeHBpcmF0aW9uRGF0ZX1cbiAgICAgICAgICAgICAgICBvbkZvY3VzPXsoKSA9PiB7IHRoaXMuaGFuZGxlQ2hhbmdlRXhwaXJhdGlvblR5cGUoJ2N1c3RvbScpIH19XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e2UgPT4gdGhpcy5oYW5kbGVDaGFuZ2VDdXN0b21FeHBpcmF0aW9uRGF0ZShlLnRhcmdldC52YWx1ZSl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0aW1lXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJtbC0zIG1iLTJcIlxuICAgICAgICAgICAgICAgIG5hbWU9XCJjdXN0b21FeHBpcmF0aW9uXCJcbiAgICAgICAgICAgICAgICB2YWx1ZT17dGhpcy5zdGF0ZS5jdXN0b21FeHBpcmF0aW9uVGltZX1cbiAgICAgICAgICAgICAgICBvbkZvY3VzPXsoKSA9PiB7IHRoaXMuaGFuZGxlQ2hhbmdlRXhwaXJhdGlvblR5cGUoJ2N1c3RvbScpIH19XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e2UgPT4gdGhpcy5oYW5kbGVDaGFuZ2VDdXN0b21FeHBpcmF0aW9uVGltZShlLnRhcmdldC52YWx1ZSl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG5cbiAgcmVuZGVyRGVzY3JpcHRpb25Gb3JtKCkge1xuICAgIGNvbnN0IHsgdCB9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmb3JtLWdyb3VwIHJvd1wiPlxuICAgICAgICA8bGFiZWwgaHRtbEZvcj1cImlucHV0RGVzY1wiIGNsYXNzTmFtZT1cImNvbC1tZC01IGNvbC1mb3JtLWxhYmVsXCI+e3QoJ3NoYXJlX2xpbmtzLmRlc2NyaXB0aW9uJyl9PC9sYWJlbD5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtbWQtNFwiPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgIGlkPVwiaW5wdXREZXNjXCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXt0KCdzaGFyZV9saW5rcy5lbnRlcl9kZXNjJyl9XG4gICAgICAgICAgICB2YWx1ZT17dGhpcy5zdGF0ZS5kZXNjcmlwdGlvbn1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtlID0+IHRoaXMuaGFuZGxlQ2hhbmdlRGVzY3JpcHRpb24oZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IHQgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwic2hhcmUtbGluay1mb3JtIHAtM1wiPlxuICAgICAgICA8aDMgY2xhc3NOYW1lPVwiZ3J3LW1vZGFsLWhlYWQgcGItMlwiPiB7IHQoJ3NoYXJlX2xpbmtzLnNoYXJlX3NldHRpbmdzJykgfTwvaDM+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiIHAtM1wiPlxuICAgICAgICAgIHt0aGlzLnJlbmRlckV4cGlyYXRpb25UeXBlT3B0aW9ucygpfVxuICAgICAgICAgIHt0aGlzLnJlbmRlckRlc2NyaXB0aW9uRm9ybSgpfVxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzTmFtZT1cImJ0biBidG4tcHJpbWFyeSBkLWJsb2NrIG14LWF1dG8gcHgtNVwiIG9uQ2xpY2s9e3RoaXMuaGFuZGxlSXNzdWVTaGFyZUxpbmt9PlxuICAgICAgICAgICAge3QoJ3NoYXJlX2xpbmtzLklzc3VlJyl9XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuXG59XG5cbi8qKlxuICogV3JhcHBlciBjb21wb25lbnQgZm9yIHVzaW5nIHVuc3RhdGVkXG4gKi9cbmNvbnN0IFNoYXJlTGlua0Zvcm1XcmFwcGVyID0gd2l0aFVuc3RhdGVkQ29udGFpbmVycyhTaGFyZUxpbmtGb3JtLCBbQXBwQ29udGFpbmVyLCBQYWdlQ29udGFpbmVyXSk7XG5cblNoYXJlTGlua0Zvcm0ucHJvcFR5cGVzID0ge1xuICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLCAvLyBpMThuZXh0XG4gIGFwcENvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoQXBwQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuICBwYWdlQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihQYWdlQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuICBvbkNsb3NlRm9ybTogUHJvcFR5cGVzLmZ1bmMsXG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoVHJhbnNsYXRpb24oKShTaGFyZUxpbmtGb3JtV3JhcHBlcik7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7OztBQUlBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFFQTs7Ozs7O0FBSUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUVBOzs7Ozs7QUFJQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBRUE7Ozs7OztBQUlBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFFQTs7Ozs7O0FBSUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQURBO0FBR0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBR0E7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQVBBO0FBU0E7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQVBBO0FBU0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQVBBO0FBU0E7QUFBQTtBQUtBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFQQTtBQVNBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBTkE7QUFTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBTkE7QUFhQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTkE7QUFXQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBTUE7QUFDQTtBQW5QQTtBQXNQQTs7Ozs7QUFHQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FBT0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/ShareLink/ShareLinkForm.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Sidebar.jsx":
- /*!**********************************************!*\
- !*** ./src/client/js/components/Sidebar.jsx ***!
- \**********************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _atlaskit_navigation_next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @atlaskit/navigation-next */ \"./node_modules/@atlaskit/navigation-next/dist/esm/index.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_NavigationContainer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../services/NavigationContainer */ \"./src/client/js/services/NavigationContainer.js\");\n/* harmony import */ var _Navbar_DrawerToggler__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Navbar/DrawerToggler */ \"./src/client/js/components/Navbar/DrawerToggler.jsx\");\n/* harmony import */ var _Sidebar_SidebarNav__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Sidebar/SidebarNav */ \"./src/client/js/components/Sidebar/SidebarNav.jsx\");\n/* harmony import */ var _Sidebar_SidebarContents__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Sidebar/SidebarContents */ \"./src/client/js/components/Sidebar/SidebarContents.jsx\");\n/* harmony import */ var _StickyStretchableScroller__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./StickyStretchableScroller */ \"./src/client/js/components/StickyStretchableScroller.jsx\");\nfunction _extends() { _extends = Object.assign || 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); }\n\n\n\n\n\n\n\n\n\n\n\nconst sidebarDefaultWidth = 320;\n\nclass Sidebar extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(...args) {\n super(...args);\n\n this.backdropClickedHandler = () => {\n const {\n navigationContainer\n } = this.props;\n navigationContainer.toggleDrawer();\n };\n\n this.itemSelectedHandler = contentsId => {\n const {\n navigationContainer,\n navigationUIController\n } = this.props;\n const {\n sidebarContentsId\n } = navigationContainer.state; // already selected\n\n if (sidebarContentsId === contentsId) {\n navigationUIController.toggleCollapse();\n } // switch and expand\n else {\n navigationUIController.expand();\n }\n };\n\n this.renderGlobalNavigation = () => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Sidebar_SidebarNav__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n onItemSelected: this.itemSelectedHandler\n });\n\n this.renderSidebarContents = () => {\n const scrollTargetSelector = '#grw-sidebar-contents-scroll-target';\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_StickyStretchableScroller__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n scrollTargetSelector: scrollTargetSelector,\n contentsElemSelector: \"#grw-sidebar-content-container\",\n stickyElemSelector: \".grw-sidebar\",\n calcViewHeightFunc: this.calcViewHeight\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n id: \"grw-sidebar-contents-scroll-target\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n id: \"grw-sidebar-content-container\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Sidebar_SidebarContents__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n isSharedUser: this.props.appContainer.isSharedUser\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Navbar_DrawerToggler__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n iconClass: \"icon-arrow-left\"\n }));\n };\n }\n\n componentWillMount() {\n this.hackUIController();\n }\n\n componentDidUpdate(prevProps, prevState) {\n this.toggleDrawerMode(this.isDrawerMode);\n }\n /**\n * hack and override UIController.storeState\n *\n * Since UIController is an unstated container, setState() in storeState method should be awaited before writing to cache.\n */\n\n\n hackUIController() {\n const {\n navigationUIController\n } = this.props; // see: @atlaskit/navigation-next/dist/esm/ui-controller/UIController.js\n\n const orgStoreState = navigationUIController.storeState;\n\n navigationUIController.storeState = async state => {\n await navigationUIController.setState(state);\n orgStoreState(state);\n };\n }\n /**\n * return whether drawer mode or not\n */\n\n\n get isDrawerMode() {\n let isDrawerMode = this.props.navigationContainer.state.isDrawerMode;\n\n if (isDrawerMode == null) {\n isDrawerMode = this.props.isDrawerModeOnInit;\n }\n\n return isDrawerMode;\n }\n\n toggleDrawerMode(bool) {\n const {\n navigationUIController\n } = this.props;\n const isStateModified = navigationUIController.state.isResizeDisabled !== bool;\n\n if (!isStateModified) {\n return;\n } // Drawer <-- Dock\n\n\n if (bool) {\n // cache state\n this.sidebarCollapsedCached = navigationUIController.state.isCollapsed;\n this.sidebarWidthCached = navigationUIController.state.productNavWidth; // clear transition temporary\n\n if (this.sidebarCollapsedCached) {\n this.addCssClassTemporary('grw-sidebar-supress-transitions-to-drawer');\n }\n\n navigationUIController.disableResize(); // fix width\n\n navigationUIController.setState({\n productNavWidth: sidebarDefaultWidth\n });\n } // Drawer --> Dock\n else {\n // clear transition temporary\n if (this.sidebarCollapsedCached) {\n this.addCssClassTemporary('grw-sidebar-supress-transitions-to-dock');\n }\n\n navigationUIController.enableResize(); // restore width\n\n if (this.sidebarWidthCached != null) {\n navigationUIController.setState({\n productNavWidth: this.sidebarWidthCached\n });\n }\n }\n }\n\n get sidebarElem() {\n return document.querySelector('.grw-sidebar');\n }\n\n addCssClassTemporary(className) {\n // clear\n this.sidebarElem.classList.add(className); // restore after 300ms\n\n setTimeout(() => {\n this.sidebarElem.classList.remove(className);\n }, 300);\n }\n\n calcViewHeight() {\n const scrollTargetElem = document.querySelector('#grw-sidebar-contents-scroll-target');\n return window.innerHeight - scrollTargetElem.getBoundingClientRect().top;\n }\n\n render() {\n const {\n isDrawerOpened\n } = this.props.navigationContainer.state;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: `grw-sidebar d-print-none ${this.isDrawerMode ? 'grw-sidebar-drawer' : ''} ${isDrawerOpened ? 'open' : ''}`\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_atlaskit_navigation_next__WEBPACK_IMPORTED_MODULE_2__[\"ThemeProvider\"], {\n theme: theme => ({ ...theme,\n context: 'product'\n })\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_atlaskit_navigation_next__WEBPACK_IMPORTED_MODULE_2__[\"LayoutManager\"], {\n globalNavigation: this.renderGlobalNavigation,\n productNavigation: () => null,\n containerNavigation: this.renderSidebarContents,\n experimental_hideNavVisuallyOnCollapse: true,\n experimental_flyoutOnHover: true,\n experimental_alternateFlyoutBehaviour: true,\n experimental_fullWidthFlyout: true,\n shouldHideGlobalNavShadow: true,\n showContextualNavigation: true\n }))), isDrawerOpened && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"grw-sidebar-backdrop modal-backdrop show\",\n onClick: this.backdropClickedHandler\n }));\n }\n\n}\n\nSidebar.propTypes = {\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]).isRequired,\n navigationContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_NavigationContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]).isRequired,\n navigationUIController: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.any.isRequired,\n isDrawerModeOnInit: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool\n};\nconst SidebarWithNavigationUIController = Object(_atlaskit_navigation_next__WEBPACK_IMPORTED_MODULE_2__[\"withNavigationUIController\"])(Sidebar);\n/**\n * Wrapper component for using unstated\n */\n\nconst SidebarWithNavigation = props => {\n const {\n preferDrawerModeByUser: isDrawerModeOnInit\n } = props.navigationContainer.state;\n const initUICForDrawerMode = isDrawerModeOnInit // generate initialUIController for Drawer mode\n ? {\n isCollapsed: false,\n isResizeDisabled: true,\n productNavWidth: sidebarDefaultWidth // set undefined (should be initialized by cache)\n\n } : undefined;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_atlaskit_navigation_next__WEBPACK_IMPORTED_MODULE_2__[\"NavigationProvider\"], {\n initialUIController: initUICForDrawerMode\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(SidebarWithNavigationUIController, _extends({}, props, {\n isDrawerModeOnInit: isDrawerModeOnInit\n })));\n};\n\nSidebarWithNavigation.propTypes = {\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]).isRequired,\n navigationContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_NavigationContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]).isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__[\"withUnstatedContainers\"])(SidebarWithNavigation, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"], _services_NavigationContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]]));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvU2lkZWJhci5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvU2lkZWJhci5qc3g/NzM0NCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuaW1wb3J0IHtcbiAgd2l0aE5hdmlnYXRpb25VSUNvbnRyb2xsZXIsXG4gIExheW91dE1hbmFnZXIsXG4gIE5hdmlnYXRpb25Qcm92aWRlcixcbiAgVGhlbWVQcm92aWRlcixcbn0gZnJvbSAnQGF0bGFza2l0L25hdmlnYXRpb24tbmV4dCc7XG5cbmltcG9ydCB7IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMgfSBmcm9tICcuL1Vuc3RhdGVkVXRpbHMnO1xuaW1wb3J0IEFwcENvbnRhaW5lciBmcm9tICcuLi9zZXJ2aWNlcy9BcHBDb250YWluZXInO1xuaW1wb3J0IE5hdmlnYXRpb25Db250YWluZXIgZnJvbSAnLi4vc2VydmljZXMvTmF2aWdhdGlvbkNvbnRhaW5lcic7XG5cbmltcG9ydCBEcmF3ZXJUb2dnbGVyIGZyb20gJy4vTmF2YmFyL0RyYXdlclRvZ2dsZXInO1xuXG5pbXBvcnQgU2lkZWJhck5hdiBmcm9tICcuL1NpZGViYXIvU2lkZWJhck5hdic7XG5pbXBvcnQgU2lkZWJhckNvbnRlbnRzIGZyb20gJy4vU2lkZWJhci9TaWRlYmFyQ29udGVudHMnO1xuaW1wb3J0IFN0aWNreVN0cmV0Y2hhYmxlU2Nyb2xsZXIgZnJvbSAnLi9TdGlja3lTdHJldGNoYWJsZVNjcm9sbGVyJztcblxuY29uc3Qgc2lkZWJhckRlZmF1bHRXaWR0aCA9IDMyMDtcblxuY2xhc3MgU2lkZWJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG5cbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBhcHBDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKEFwcENvbnRhaW5lcikuaXNSZXF1aXJlZCxcbiAgICBuYXZpZ2F0aW9uQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihOYXZpZ2F0aW9uQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuICAgIG5hdmlnYXRpb25VSUNvbnRyb2xsZXI6IFByb3BUeXBlcy5hbnkuaXNSZXF1aXJlZCxcbiAgICBpc0RyYXdlck1vZGVPbkluaXQ6IFByb3BUeXBlcy5ib29sLFxuICB9O1xuXG4gIGNvbXBvbmVudFdpbGxNb3VudCgpIHtcbiAgICB0aGlzLmhhY2tVSUNvbnRyb2xsZXIoKTtcbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMsIHByZXZTdGF0ZSkge1xuICAgIHRoaXMudG9nZ2xlRHJhd2VyTW9kZSh0aGlzLmlzRHJhd2VyTW9kZSk7XG4gIH1cblxuICAvKipcbiAgICogaGFjayBhbmQgb3ZlcnJpZGUgVUlDb250cm9sbGVyLnN0b3JlU3RhdGVcbiAgICpcbiAgICogU2luY2UgVUlDb250cm9sbGVyIGlzIGFuIHVuc3RhdGVkIGNvbnRhaW5lciwgc2V0U3RhdGUoKSBpbiBzdG9yZVN0YXRlIG1ldGhvZCBzaG91bGQgYmUgYXdhaXRlZCBiZWZvcmUgd3JpdGluZyB0byBjYWNoZS5cbiAgICovXG4gIGhhY2tVSUNvbnRyb2xsZXIoKSB7XG4gICAgY29uc3QgeyBuYXZpZ2F0aW9uVUlDb250cm9sbGVyIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgLy8gc2VlOiBAYXRsYXNraXQvbmF2aWdhdGlvbi1uZXh0L2Rpc3QvZXNtL3VpLWNvbnRyb2xsZXIvVUlDb250cm9sbGVyLmpzXG4gICAgY29uc3Qgb3JnU3RvcmVTdGF0ZSA9IG5hdmlnYXRpb25VSUNvbnRyb2xsZXIuc3RvcmVTdGF0ZTtcbiAgICBuYXZpZ2F0aW9uVUlDb250cm9sbGVyLnN0b3JlU3RhdGUgPSBhc3luYyhzdGF0ZSkgPT4ge1xuICAgICAgYXdhaXQgbmF2aWdhdGlvblVJQ29udHJvbGxlci5zZXRTdGF0ZShzdGF0ZSk7XG4gICAgICBvcmdTdG9yZVN0YXRlKHN0YXRlKTtcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIHJldHVybiB3aGV0aGVyIGRyYXdlciBtb2RlIG9yIG5vdFxuICAgKi9cbiAgZ2V0IGlzRHJhd2VyTW9kZSgpIHtcbiAgICBsZXQgaXNEcmF3ZXJNb2RlID0gdGhpcy5wcm9wcy5uYXZpZ2F0aW9uQ29udGFpbmVyLnN0YXRlLmlzRHJhd2VyTW9kZTtcbiAgICBpZiAoaXNEcmF3ZXJNb2RlID09IG51bGwpIHtcbiAgICAgIGlzRHJhd2VyTW9kZSA9IHRoaXMucHJvcHMuaXNEcmF3ZXJNb2RlT25Jbml0O1xuICAgIH1cbiAgICByZXR1cm4gaXNEcmF3ZXJNb2RlO1xuICB9XG5cbiAgdG9nZ2xlRHJhd2VyTW9kZShib29sKSB7XG4gICAgY29uc3QgeyBuYXZpZ2F0aW9uVUlDb250cm9sbGVyIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3QgaXNTdGF0ZU1vZGlmaWVkID0gbmF2aWdhdGlvblVJQ29udHJvbGxlci5zdGF0ZS5pc1Jlc2l6ZURpc2FibGVkICE9PSBib29sO1xuICAgIGlmICghaXNTdGF0ZU1vZGlmaWVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gRHJhd2VyIDwtLSBEb2NrXG4gICAgaWYgKGJvb2wpIHtcbiAgICAgIC8vIGNhY2hlIHN0YXRlXG4gICAgICB0aGlzLnNpZGViYXJDb2xsYXBzZWRDYWNoZWQgPSBuYXZpZ2F0aW9uVUlDb250cm9sbGVyLnN0YXRlLmlzQ29sbGFwc2VkO1xuICAgICAgdGhpcy5zaWRlYmFyV2lkdGhDYWNoZWQgPSBuYXZpZ2F0aW9uVUlDb250cm9sbGVyLnN0YXRlLnByb2R1Y3ROYXZXaWR0aDtcblxuICAgICAgLy8gY2xlYXIgdHJhbnNpdGlvbiB0ZW1wb3JhcnlcbiAgICAgIGlmICh0aGlzLnNpZGViYXJDb2xsYXBzZWRDYWNoZWQpIHtcbiAgICAgICAgdGhpcy5hZGRDc3NDbGFzc1RlbXBvcmFyeSgnZ3J3LXNpZGViYXItc3VwcmVzcy10cmFuc2l0aW9ucy10by1kcmF3ZXInKTtcbiAgICAgIH1cblxuICAgICAgbmF2aWdhdGlvblVJQ29udHJvbGxlci5kaXNhYmxlUmVzaXplKCk7XG5cbiAgICAgIC8vIGZpeCB3aWR0aFxuICAgICAgbmF2aWdhdGlvblVJQ29udHJvbGxlci5zZXRTdGF0ZSh7IHByb2R1Y3ROYXZXaWR0aDogc2lkZWJhckRlZmF1bHRXaWR0aCB9KTtcbiAgICB9XG4gICAgLy8gRHJhd2VyIC0tPiBEb2NrXG4gICAgZWxzZSB7XG4gICAgICAvLyBjbGVhciB0cmFuc2l0aW9uIHRlbXBvcmFyeVxuICAgICAgaWYgKHRoaXMuc2lkZWJhckNvbGxhcHNlZENhY2hlZCkge1xuICAgICAgICB0aGlzLmFkZENzc0NsYXNzVGVtcG9yYXJ5KCdncnctc2lkZWJhci1zdXByZXNzLXRyYW5zaXRpb25zLXRvLWRvY2snKTtcbiAgICAgIH1cblxuICAgICAgbmF2aWdhdGlvblVJQ29udHJvbGxlci5lbmFibGVSZXNpemUoKTtcblxuICAgICAgLy8gcmVzdG9yZSB3aWR0aFxuICAgICAgaWYgKHRoaXMuc2lkZWJhcldpZHRoQ2FjaGVkICE9IG51bGwpIHtcbiAgICAgICAgbmF2aWdhdGlvblVJQ29udHJvbGxlci5zZXRTdGF0ZSh7IHByb2R1Y3ROYXZXaWR0aDogdGhpcy5zaWRlYmFyV2lkdGhDYWNoZWQgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IHNpZGViYXJFbGVtKCkge1xuICAgIHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuZ3J3LXNpZGViYXInKTtcbiAgfVxuXG4gIGFkZENzc0NsYXNzVGVtcG9yYXJ5KGNsYXNzTmFtZSkge1xuICAgIC8vIGNsZWFyXG4gICAgdGhpcy5zaWRlYmFyRWxlbS5jbGFzc0xpc3QuYWRkKGNsYXNzTmFtZSk7XG5cbiAgICAvLyByZXN0b3JlIGFmdGVyIDMwMG1zXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnNpZGViYXJFbGVtLmNsYXNzTGlzdC5yZW1vdmUoY2xhc3NOYW1lKTtcbiAgICB9LCAzMDApO1xuICB9XG5cbiAgYmFja2Ryb3BDbGlja2VkSGFuZGxlciA9ICgpID0+IHtcbiAgICBjb25zdCB7IG5hdmlnYXRpb25Db250YWluZXIgfSA9IHRoaXMucHJvcHM7XG4gICAgbmF2aWdhdGlvbkNvbnRhaW5lci50b2dnbGVEcmF3ZXIoKTtcbiAgfVxuXG4gIGl0ZW1TZWxlY3RlZEhhbmRsZXIgPSAoY29udGVudHNJZCkgPT4ge1xuICAgIGNvbnN0IHsgbmF2aWdhdGlvbkNvbnRhaW5lciwgbmF2aWdhdGlvblVJQ29udHJvbGxlciB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHNpZGViYXJDb250ZW50c0lkIH0gPSBuYXZpZ2F0aW9uQ29udGFpbmVyLnN0YXRlO1xuXG4gICAgLy8gYWxyZWFkeSBzZWxlY3RlZFxuICAgIGlmIChzaWRlYmFyQ29udGVudHNJZCA9PT0gY29udGVudHNJZCkge1xuICAgICAgbmF2aWdhdGlvblVJQ29udHJvbGxlci50b2dnbGVDb2xsYXBzZSgpO1xuICAgIH1cbiAgICAvLyBzd2l0Y2ggYW5kIGV4cGFuZFxuICAgIGVsc2Uge1xuICAgICAgbmF2aWdhdGlvblVJQ29udHJvbGxlci5leHBhbmQoKTtcbiAgICB9XG4gIH1cblxuICBjYWxjVmlld0hlaWdodCgpIHtcbiAgICBjb25zdCBzY3JvbGxUYXJnZXRFbGVtID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2dydy1zaWRlYmFyLWNvbnRlbnRzLXNjcm9sbC10YXJnZXQnKTtcbiAgICByZXR1cm4gd2luZG93LmlubmVySGVpZ2h0IC0gc2Nyb2xsVGFyZ2V0RWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3A7XG4gIH1cblxuICByZW5kZXJHbG9iYWxOYXZpZ2F0aW9uID0gKCkgPT4gKFxuICAgIDxTaWRlYmFyTmF2IG9uSXRlbVNlbGVjdGVkPXt0aGlzLml0ZW1TZWxlY3RlZEhhbmRsZXJ9IC8+XG4gICk7XG5cbiAgcmVuZGVyU2lkZWJhckNvbnRlbnRzID0gKCkgPT4ge1xuICAgIGNvbnN0IHNjcm9sbFRhcmdldFNlbGVjdG9yID0gJyNncnctc2lkZWJhci1jb250ZW50cy1zY3JvbGwtdGFyZ2V0JztcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8U3RpY2t5U3RyZXRjaGFibGVTY3JvbGxlclxuICAgICAgICAgIHNjcm9sbFRhcmdldFNlbGVjdG9yPXtzY3JvbGxUYXJnZXRTZWxlY3Rvcn1cbiAgICAgICAgICBjb250ZW50c0VsZW1TZWxlY3Rvcj1cIiNncnctc2lkZWJhci1jb250ZW50LWNvbnRhaW5lclwiXG4gICAgICAgICAgc3RpY2t5RWxlbVNlbGVjdG9yPVwiLmdydy1zaWRlYmFyXCJcbiAgICAgICAgICBjYWxjVmlld0hlaWdodEZ1bmM9e3RoaXMuY2FsY1ZpZXdIZWlnaHR9XG4gICAgICAgIC8+XG5cbiAgICAgICAgPGRpdiBpZD1cImdydy1zaWRlYmFyLWNvbnRlbnRzLXNjcm9sbC10YXJnZXRcIj5cbiAgICAgICAgICA8ZGl2IGlkPVwiZ3J3LXNpZGViYXItY29udGVudC1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxTaWRlYmFyQ29udGVudHNcbiAgICAgICAgICAgICAgaXNTaGFyZWRVc2VyPXt0aGlzLnByb3BzLmFwcENvbnRhaW5lci5pc1NoYXJlZFVzZXJ9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8RHJhd2VyVG9nZ2xlciBpY29uQ2xhc3M9XCJpY29uLWFycm93LWxlZnRcIiAvPlxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBpc0RyYXdlck9wZW5lZCB9ID0gdGhpcy5wcm9wcy5uYXZpZ2F0aW9uQ29udGFpbmVyLnN0YXRlO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgZ3J3LXNpZGViYXIgZC1wcmludC1ub25lICR7dGhpcy5pc0RyYXdlck1vZGUgPyAnZ3J3LXNpZGViYXItZHJhd2VyJyA6ICcnfSAke2lzRHJhd2VyT3BlbmVkID8gJ29wZW4nIDogJyd9YH0+XG4gICAgICAgICAgPFRoZW1lUHJvdmlkZXJcbiAgICAgICAgICAgIHRoZW1lPXt0aGVtZSA9PiAoe1xuICAgICAgICAgICAgICAuLi50aGVtZSxcbiAgICAgICAgICAgICAgY29udGV4dDogJ3Byb2R1Y3QnLFxuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPExheW91dE1hbmFnZXJcbiAgICAgICAgICAgICAgZ2xvYmFsTmF2aWdhdGlvbj17dGhpcy5yZW5kZXJHbG9iYWxOYXZpZ2F0aW9ufVxuICAgICAgICAgICAgICBwcm9kdWN0TmF2aWdhdGlvbj17KCkgPT4gbnVsbH1cbiAgICAgICAgICAgICAgY29udGFpbmVyTmF2aWdhdGlvbj17dGhpcy5yZW5kZXJTaWRlYmFyQ29udGVudHN9XG4gICAgICAgICAgICAgIGV4cGVyaW1lbnRhbF9oaWRlTmF2VmlzdWFsbHlPbkNvbGxhcHNlXG4gICAgICAgICAgICAgIGV4cGVyaW1lbnRhbF9mbHlvdXRPbkhvdmVyXG4gICAgICAgICAgICAgIGV4cGVyaW1lbnRhbF9hbHRlcm5hdGVGbHlvdXRCZWhhdmlvdXJcbiAgICAgICAgICAgICAgZXhwZXJpbWVudGFsX2Z1bGxXaWR0aEZseW91dFxuICAgICAgICAgICAgICBzaG91bGRIaWRlR2xvYmFsTmF2U2hhZG93XG4gICAgICAgICAgICAgIHNob3dDb250ZXh0dWFsTmF2aWdhdGlvblxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9MYXlvdXRNYW5hZ2VyPlxuICAgICAgICAgIDwvVGhlbWVQcm92aWRlcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgeyBpc0RyYXdlck9wZW5lZCAmJiAoXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncnctc2lkZWJhci1iYWNrZHJvcCBtb2RhbC1iYWNrZHJvcCBzaG93XCIgb25DbGljaz17dGhpcy5iYWNrZHJvcENsaWNrZWRIYW5kbGVyfT48L2Rpdj5cbiAgICAgICAgKSB9XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG5cbn1cblxuXG5jb25zdCBTaWRlYmFyV2l0aE5hdmlnYXRpb25VSUNvbnRyb2xsZXIgPSB3aXRoTmF2aWdhdGlvblVJQ29udHJvbGxlcihTaWRlYmFyKTtcblxuLyoqXG4gKiBXcmFwcGVyIGNvbXBvbmVudCBmb3IgdXNpbmcgdW5zdGF0ZWRcbiAqL1xuXG5jb25zdCBTaWRlYmFyV2l0aE5hdmlnYXRpb24gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBwcmVmZXJEcmF3ZXJNb2RlQnlVc2VyOiBpc0RyYXdlck1vZGVPbkluaXQgfSA9IHByb3BzLm5hdmlnYXRpb25Db250YWluZXIuc3RhdGU7XG5cbiAgY29uc3QgaW5pdFVJQ0ZvckRyYXdlck1vZGUgPSBpc0RyYXdlck1vZGVPbkluaXRcbiAgICAvLyBnZW5lcmF0ZSBpbml0aWFsVUlDb250cm9sbGVyIGZvciBEcmF3ZXIgbW9kZVxuICAgID8ge1xuICAgICAgaXNDb2xsYXBzZWQ6IGZhbHNlLFxuICAgICAgaXNSZXNpemVEaXNhYmxlZDogdHJ1ZSxcbiAgICAgIHByb2R1Y3ROYXZXaWR0aDogc2lkZWJhckRlZmF1bHRXaWR0aCxcbiAgICB9XG4gICAgLy8gc2V0IHVuZGVmaW5lZCAoc2hvdWxkIGJlIGluaXRpYWxpemVkIGJ5IGNhY2hlKVxuICAgIDogdW5kZWZpbmVkO1xuXG4gIHJldHVybiAoXG4gICAgPE5hdmlnYXRpb25Qcm92aWRlciBpbml0aWFsVUlDb250cm9sbGVyPXtpbml0VUlDRm9yRHJhd2VyTW9kZX0+XG4gICAgICA8U2lkZWJhcldpdGhOYXZpZ2F0aW9uVUlDb250cm9sbGVyIHsuLi5wcm9wc30gaXNEcmF3ZXJNb2RlT25Jbml0PXtpc0RyYXdlck1vZGVPbkluaXR9IC8+XG4gICAgPC9OYXZpZ2F0aW9uUHJvdmlkZXI+XG4gICk7XG59O1xuXG5TaWRlYmFyV2l0aE5hdmlnYXRpb24ucHJvcFR5cGVzID0ge1xuICBhcHBDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKEFwcENvbnRhaW5lcikuaXNSZXF1aXJlZCxcbiAgbmF2aWdhdGlvbkNvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoTmF2aWdhdGlvbkNvbnRhaW5lcikuaXNSZXF1aXJlZCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoU2lkZWJhcldpdGhOYXZpZ2F0aW9uLCBbQXBwQ29udGFpbmVyLCBOYXZpZ2F0aW9uQ29udGFpbmVyXSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFFQTtBQU9BO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBREE7QUFtR0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBdEdBO0FBd0dBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFGQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBcEhBO0FBMkhBO0FBQUE7QUFDQTtBQTVIQTtBQStIQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU9BO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFEQTtBQU1BO0FBQUE7QUFHQTtBQXJKQTtBQUNBO0FBUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7OztBQUtBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBQUE7QUFDQTtBQWRBO0FBaUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBb0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUE4QkE7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUVBO0FBQUE7QUFFQTtBQUVBO0FBRkE7QUFEQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVRBO0FBZ0JBO0FBQUE7QUFBQTtBQUlBO0FBQ0E7QUF4TEE7QUFDQTtBQURBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQTBMQTtBQUVBOzs7O0FBSUE7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQVFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRkE7QUFLQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/Sidebar.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Sidebar/CustomSidebar.jsx":
- /*!************************************************************!*\
- !*** ./src/client/js/components/Sidebar/CustomSidebar.jsx ***!
- \************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @alias/logger */ \"./src/lib/service/logger/index.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_alias_logger__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _Page_RevisionRenderer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Page/RevisionRenderer */ \"./src/client/js/components/Page/RevisionRenderer.jsx\");\n\n\n\n\n\n\nconst logger = _alias_logger__WEBPACK_IMPORTED_MODULE_2___default()('growi:cli:CustomSidebar');\n\nconst SidebarNotFound = () => {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"grw-sidebar-content-header h5 text-center p-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: \"/Sidebar#edit\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-magic-wand\"\n }), \" Create \", react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"strong\", null, \"/Sidebar\"), \" page\"));\n};\n\nconst CustomSidebar = props => {\n const {\n appContainer\n } = props;\n const {\n apiGet\n } = appContainer;\n const [isMounted, setMounted] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])(false);\n const [markdown, setMarkdown] = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useState\"])();\n const growiRenderer = appContainer.getRenderer('sidebar'); // TODO: refactor with SWR\n\n const fetchDataAndRenderHtml = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useCallback\"])(async () => {\n let page = null;\n\n try {\n const result = await apiGet('/pages.get', {\n path: '/Sidebar'\n });\n page = result.page;\n } catch (e) {\n logger.warn(e.message);\n return;\n } finally {\n setMounted(true);\n }\n\n setMarkdown(page.revision.body);\n }, [apiGet]);\n Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useEffect\"])(() => {\n fetchDataAndRenderHtml();\n }, [fetchDataAndRenderHtml]);\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"grw-sidebar-content-header p-3 d-flex\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h3\", {\n className: \"mb-0\"\n }, \"Custom Sidebar\", react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n className: \"h6 ml-2\",\n href: \"/Sidebar\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-pencil\"\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-sm btn-outline-secondary ml-auto\",\n onClick: fetchDataAndRenderHtml\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon icon-reload\"\n }))), isMounted && markdown == null && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(SidebarNotFound, null), markdown != null && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"p-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_Page_RevisionRenderer__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n growiRenderer: growiRenderer,\n markdown: markdown,\n additionalClassName: \"grw-custom-sidebar-content\"\n })));\n};\n\nCustomSidebar.propTypes = {\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]).isRequired\n};\n/**\n * Wrapper component for using unstated\n */\n\nconst CustomSidebarWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__[\"withUnstatedContainers\"])(CustomSidebar, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (CustomSidebarWrapper);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvU2lkZWJhci9DdXN0b21TaWRlYmFyLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9TaWRlYmFyL0N1c3RvbVNpZGViYXIuanN4P2EwODAiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVN0YXRlLCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQgbG9nZ2VyRmFjdG9yeSBmcm9tICdAYWxpYXMvbG9nZ2VyJztcblxuaW1wb3J0IHsgd2l0aFVuc3RhdGVkQ29udGFpbmVycyB9IGZyb20gJy4uL1Vuc3RhdGVkVXRpbHMnO1xuaW1wb3J0IEFwcENvbnRhaW5lciBmcm9tICcuLi8uLi9zZXJ2aWNlcy9BcHBDb250YWluZXInO1xuaW1wb3J0IFJldmlzaW9uUmVuZGVyZXIgZnJvbSAnLi4vUGFnZS9SZXZpc2lvblJlbmRlcmVyJztcblxuY29uc3QgbG9nZ2VyID0gbG9nZ2VyRmFjdG9yeSgnZ3Jvd2k6Y2xpOkN1c3RvbVNpZGViYXInKTtcblxuXG5jb25zdCBTaWRlYmFyTm90Rm91bmQgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJncnctc2lkZWJhci1jb250ZW50LWhlYWRlciBoNSB0ZXh0LWNlbnRlciBwLTNcIj5cbiAgICAgIDxhIGhyZWY9XCIvU2lkZWJhciNlZGl0XCI+XG4gICAgICAgIDxpIGNsYXNzTmFtZT1cImljb24tbWFnaWMtd2FuZFwiPjwvaT4gQ3JlYXRlIDxzdHJvbmc+L1NpZGViYXI8L3N0cm9uZz4gcGFnZVxuICAgICAgPC9hPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuY29uc3QgQ3VzdG9tU2lkZWJhciA9IChwcm9wcykgPT4ge1xuXG4gIGNvbnN0IHsgYXBwQ29udGFpbmVyIH0gPSBwcm9wcztcbiAgY29uc3QgeyBhcGlHZXQgfSA9IGFwcENvbnRhaW5lcjtcblxuICBjb25zdCBbaXNNb3VudGVkLCBzZXRNb3VudGVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW21hcmtkb3duLCBzZXRNYXJrZG93bl0gPSB1c2VTdGF0ZSgpO1xuXG4gIGNvbnN0IGdyb3dpUmVuZGVyZXIgPSBhcHBDb250YWluZXIuZ2V0UmVuZGVyZXIoJ3NpZGViYXInKTtcblxuICAvLyBUT0RPOiByZWZhY3RvciB3aXRoIFNXUlxuICBjb25zdCBmZXRjaERhdGFBbmRSZW5kZXJIdG1sID0gdXNlQ2FsbGJhY2soYXN5bmMoKSA9PiB7XG4gICAgbGV0IHBhZ2UgPSBudWxsO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBhcGlHZXQoJy9wYWdlcy5nZXQnLCB7IHBhdGg6ICcvU2lkZWJhcicgfSk7XG4gICAgICBwYWdlID0gcmVzdWx0LnBhZ2U7XG4gICAgfVxuICAgIGNhdGNoIChlKSB7XG4gICAgICBsb2dnZXIud2FybihlLm1lc3NhZ2UpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBmaW5hbGx5IHtcbiAgICAgIHNldE1vdW50ZWQodHJ1ZSk7XG4gICAgfVxuXG4gICAgc2V0TWFya2Rvd24ocGFnZS5yZXZpc2lvbi5ib2R5KTtcbiAgfSwgW2FwaUdldF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZmV0Y2hEYXRhQW5kUmVuZGVySHRtbCgpO1xuICB9LCBbZmV0Y2hEYXRhQW5kUmVuZGVySHRtbF0pO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3J3LXNpZGViYXItY29udGVudC1oZWFkZXIgcC0zIGQtZmxleFwiPlxuICAgICAgICA8aDMgY2xhc3NOYW1lPVwibWItMFwiPlxuICAgICAgICAgIEN1c3RvbSBTaWRlYmFyXG4gICAgICAgICAgPGEgY2xhc3NOYW1lPVwiaDYgbWwtMlwiIGhyZWY9XCIvU2lkZWJhclwiPjxpIGNsYXNzTmFtZT1cImljb24tcGVuY2lsXCI+PC9pPjwvYT5cbiAgICAgICAgPC9oMz5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3NOYW1lPVwiYnRuIGJ0bi1zbSBidG4tb3V0bGluZS1zZWNvbmRhcnkgbWwtYXV0b1wiIG9uQ2xpY2s9e2ZldGNoRGF0YUFuZFJlbmRlckh0bWx9PlxuICAgICAgICAgIDxpIGNsYXNzTmFtZT1cImljb24gaWNvbi1yZWxvYWRcIj48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICB7IGlzTW91bnRlZCAmJiBtYXJrZG93biA9PSBudWxsICYmIDxTaWRlYmFyTm90Rm91bmQgLz4gfVxuICAgICAgey8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9uby1kYW5nZXIgKi99XG4gICAgICB7IG1hcmtkb3duICE9IG51bGwgJiYgKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInAtM1wiPlxuICAgICAgICAgIDxSZXZpc2lvblJlbmRlcmVyXG4gICAgICAgICAgICBncm93aVJlbmRlcmVyPXtncm93aVJlbmRlcmVyfVxuICAgICAgICAgICAgbWFya2Rvd249e21hcmtkb3dufVxuICAgICAgICAgICAgYWRkaXRpb25hbENsYXNzTmFtZT1cImdydy1jdXN0b20tc2lkZWJhci1jb250ZW50XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICkgfVxuICAgIDwvPlxuICApO1xuXG59O1xuXG5DdXN0b21TaWRlYmFyLnByb3BUeXBlcyA9IHtcbiAgYXBwQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihBcHBDb250YWluZXIpLmlzUmVxdWlyZWQsXG59O1xuXG4vKipcbiAqIFdyYXBwZXIgY29tcG9uZW50IGZvciB1c2luZyB1bnN0YXRlZFxuICovXG5jb25zdCBDdXN0b21TaWRlYmFyV3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoQ3VzdG9tU2lkZWJhciwgW0FwcENvbnRhaW5lcl0pO1xuXG5leHBvcnQgZGVmYXVsdCBDdXN0b21TaWRlYmFyV3JhcHBlcjtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUlBO0FBQ0E7QUFDQTtBQUVBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBTUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUhBO0FBVUE7QUFDQTtBQUNBO0FBQ0E7QUFEQTtBQUlBOzs7O0FBR0E7QUFFQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/Sidebar/CustomSidebar.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Sidebar/RecentChanges.jsx":
- /*!************************************************************!*\
- !*** ./src/client/js/components/Sidebar/RecentChanges.jsx ***!
- \************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @alias/logger */ \"./src/lib/service/logger/index.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_alias_logger__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _commons_models_devided_page_path__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @commons/models/devided-page-path */ \"./src/lib/models/devided-page-path.js\");\n/* harmony import */ var _commons_models_devided_page_path__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_commons_models_devided_page_path__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _commons_models_linked_page_path__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @commons/models/linked-page-path */ \"./src/lib/models/linked-page-path.js\");\n/* harmony import */ var _commons_models_linked_page_path__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_commons_models_linked_page_path__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _commons_components_PagePathHierarchicalLink__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @commons/components/PagePathHierarchicalLink */ \"./src/lib/components/PagePathHierarchicalLink.jsx\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _util_apiNotification__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../util/apiNotification */ \"./src/client/js/util/apiNotification.js\");\n/* harmony import */ var _FormattedDistanceDate__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../FormattedDistanceDate */ \"./src/client/js/components/FormattedDistanceDate.jsx\");\n/* harmony import */ var _User_UserPicture__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../User/UserPicture */ \"./src/client/js/components/User/UserPicture.jsx\");\n\n\n\n\n\n\n\n\n\n\n\n\nconst logger = _alias_logger__WEBPACK_IMPORTED_MODULE_3___default()('growi:History');\n\nclass RecentChanges extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n\n this.PageItem = ({\n page\n }) => {\n const dPagePath = new _commons_models_devided_page_path__WEBPACK_IMPORTED_MODULE_4___default.a(page.path, false, true);\n const linkedPagePathFormer = new _commons_models_linked_page_path__WEBPACK_IMPORTED_MODULE_5___default.a(dPagePath.former);\n const linkedPagePathLatter = new _commons_models_linked_page_path__WEBPACK_IMPORTED_MODULE_5___default.a(dPagePath.latter);\n\n const FormerLink = () => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"grw-page-path-text-muted-container small\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_commons_components_PagePathHierarchicalLink__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n linkedPagePath: linkedPagePathFormer\n }));\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"li\", {\n className: \"list-group-item p-2\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"d-flex w-100\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_User_UserPicture__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n user: page.lastUpdateUser,\n size: \"md\",\n noTooltip: true\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"flex-grow-1 ml-2\"\n }, !dPagePath.isRoot && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(FormerLink, null), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h5\", {\n className: \"mb-1\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_commons_components_PagePathHierarchicalLink__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n linkedPagePath: linkedPagePathLatter,\n basePath: dPagePath.isRoot ? undefined : dPagePath.former\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"text-right small\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_FormattedDistanceDate__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n id: page.id,\n date: page.updatedAt\n })))));\n };\n\n this.reloadData = this.reloadData.bind(this);\n }\n\n async componentDidMount() {\n this.reloadData();\n }\n\n async reloadData() {\n const {\n appContainer\n } = this.props;\n\n try {\n await appContainer.retrieveRecentlyUpdated();\n } catch (error) {\n logger.error('failed to save', error);\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_9__[\"toastError\"])(error, 'Error occurred in updating History');\n }\n }\n\n render() {\n const {\n PageItem\n } = this;\n const {\n t\n } = this.props;\n const {\n recentlyUpdatedPages\n } = this.props.appContainer.state;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"grw-sidebar-content-header p-3 d-flex\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h3\", {\n className: \"mb-0\"\n }, t('Recent Changes')), \" \", react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: \"btn btn-sm btn-outline-secondary ml-auto\",\n onClick: this.reloadData\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon icon-reload\"\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"grw-sidebar-content-body p-3\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"ul\", {\n className: \"list-group list-group-flush\"\n }, recentlyUpdatedPages.map(page => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PageItem, {\n key: page.id,\n page: page\n })))));\n }\n\n}\n/**\n * Wrapper component for using unstated\n */\n\n\nRecentChanges.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_8__[\"default\"]).isRequired\n};\nconst RecentChangesWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_7__[\"withUnstatedContainers\"])(RecentChanges, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_8__[\"default\"]]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(RecentChangesWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvU2lkZWJhci9SZWNlbnRDaGFuZ2VzLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9TaWRlYmFyL1JlY2VudENoYW5nZXMuanN4Pzc3YmYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCB7IHdpdGhUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuXG5pbXBvcnQgbG9nZ2VyRmFjdG9yeSBmcm9tICdAYWxpYXMvbG9nZ2VyJztcblxuaW1wb3J0IERldmlkZWRQYWdlUGF0aCBmcm9tICdAY29tbW9ucy9tb2RlbHMvZGV2aWRlZC1wYWdlLXBhdGgnO1xuaW1wb3J0IExpbmtlZFBhZ2VQYXRoIGZyb20gJ0Bjb21tb25zL21vZGVscy9saW5rZWQtcGFnZS1wYXRoJztcbmltcG9ydCBQYWdlUGF0aEhpZXJhcmNoaWNhbExpbmsgZnJvbSAnQGNvbW1vbnMvY29tcG9uZW50cy9QYWdlUGF0aEhpZXJhcmNoaWNhbExpbmsnO1xuXG5pbXBvcnQgeyB3aXRoVW5zdGF0ZWRDb250YWluZXJzIH0gZnJvbSAnLi4vVW5zdGF0ZWRVdGlscyc7XG5pbXBvcnQgQXBwQ29udGFpbmVyIGZyb20gJy4uLy4uL3NlcnZpY2VzL0FwcENvbnRhaW5lcic7XG5pbXBvcnQgeyB0b2FzdEVycm9yIH0gZnJvbSAnLi4vLi4vdXRpbC9hcGlOb3RpZmljYXRpb24nO1xuXG5pbXBvcnQgRm9ybWF0dGVkRGlzdGFuY2VEYXRlIGZyb20gJy4uL0Zvcm1hdHRlZERpc3RhbmNlRGF0ZSc7XG5pbXBvcnQgVXNlclBpY3R1cmUgZnJvbSAnLi4vVXNlci9Vc2VyUGljdHVyZSc7XG5cbmNvbnN0IGxvZ2dlciA9IGxvZ2dlckZhY3RvcnkoJ2dyb3dpOkhpc3RvcnknKTtcbmNsYXNzIFJlY2VudENoYW5nZXMgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuXG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCwgLy8gaTE4bmV4dFxuICAgIGFwcENvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoQXBwQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuXG4gICAgdGhpcy5yZWxvYWREYXRhID0gdGhpcy5yZWxvYWREYXRhLmJpbmQodGhpcyk7XG4gIH1cblxuICBhc3luYyBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICB0aGlzLnJlbG9hZERhdGEoKTtcbiAgfVxuXG4gIGFzeW5jIHJlbG9hZERhdGEoKSB7XG4gICAgY29uc3QgeyBhcHBDb250YWluZXIgfSA9IHRoaXMucHJvcHM7XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgYXBwQ29udGFpbmVyLnJldHJpZXZlUmVjZW50bHlVcGRhdGVkKCk7XG4gICAgfVxuICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgbG9nZ2VyLmVycm9yKCdmYWlsZWQgdG8gc2F2ZScsIGVycm9yKTtcbiAgICAgIHRvYXN0RXJyb3IoZXJyb3IsICdFcnJvciBvY2N1cnJlZCBpbiB1cGRhdGluZyBIaXN0b3J5Jyk7XG4gICAgfVxuICB9XG5cbiAgUGFnZUl0ZW0gPSAoeyBwYWdlIH0pID0+IHtcbiAgICBjb25zdCBkUGFnZVBhdGggPSBuZXcgRGV2aWRlZFBhZ2VQYXRoKHBhZ2UucGF0aCwgZmFsc2UsIHRydWUpO1xuICAgIGNvbnN0IGxpbmtlZFBhZ2VQYXRoRm9ybWVyID0gbmV3IExpbmtlZFBhZ2VQYXRoKGRQYWdlUGF0aC5mb3JtZXIpO1xuICAgIGNvbnN0IGxpbmtlZFBhZ2VQYXRoTGF0dGVyID0gbmV3IExpbmtlZFBhZ2VQYXRoKGRQYWdlUGF0aC5sYXR0ZXIpO1xuICAgIGNvbnN0IEZvcm1lckxpbmsgPSAoKSA9PiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImdydy1wYWdlLXBhdGgtdGV4dC1tdXRlZC1jb250YWluZXIgc21hbGxcIj5cbiAgICAgICAgPFBhZ2VQYXRoSGllcmFyY2hpY2FsTGluayBsaW5rZWRQYWdlUGF0aD17bGlua2VkUGFnZVBhdGhGb3JtZXJ9IC8+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxsaSBjbGFzc05hbWU9XCJsaXN0LWdyb3VwLWl0ZW0gcC0yXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZC1mbGV4IHctMTAwXCI+XG4gICAgICAgICAgPFVzZXJQaWN0dXJlIHVzZXI9e3BhZ2UubGFzdFVwZGF0ZVVzZXJ9IHNpemU9XCJtZFwiIG5vVG9vbHRpcCAvPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleC1ncm93LTEgbWwtMlwiPlxuICAgICAgICAgICAgeyAhZFBhZ2VQYXRoLmlzUm9vdCAmJiA8Rm9ybWVyTGluayAvPiB9XG4gICAgICAgICAgICA8aDUgY2xhc3NOYW1lPVwibWItMVwiPlxuICAgICAgICAgICAgICA8UGFnZVBhdGhIaWVyYXJjaGljYWxMaW5rIGxpbmtlZFBhZ2VQYXRoPXtsaW5rZWRQYWdlUGF0aExhdHRlcn0gYmFzZVBhdGg9e2RQYWdlUGF0aC5pc1Jvb3QgPyB1bmRlZmluZWQgOiBkUGFnZVBhdGguZm9ybWVyfSAvPlxuICAgICAgICAgICAgPC9oNT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1yaWdodCBzbWFsbFwiPlxuICAgICAgICAgICAgICA8Rm9ybWF0dGVkRGlzdGFuY2VEYXRlIGlkPXtwYWdlLmlkfSBkYXRlPXtwYWdlLnVwZGF0ZWRBdH0gLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbGk+XG4gICAgKTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IFBhZ2VJdGVtIH0gPSB0aGlzO1xuICAgIGNvbnN0IHsgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHJlY2VudGx5VXBkYXRlZFBhZ2VzIH0gPSB0aGlzLnByb3BzLmFwcENvbnRhaW5lci5zdGF0ZTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdydy1zaWRlYmFyLWNvbnRlbnQtaGVhZGVyIHAtMyBkLWZsZXhcIj5cbiAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwibWItMFwiPnt0KCdSZWNlbnQgQ2hhbmdlcycpfTwvaDM+XG4gICAgICAgICAgey8qIDxoMyBjbGFzc05hbWU9XCJtYi0wXCI+e3QoJ1JlY2VudCBDcmVhdGVkJyl9PC9oMz4gKi99IHsvKiBUT0RPOiBpbXBsIHN3aXRjaGluZyAqL31cbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzc05hbWU9XCJidG4gYnRuLXNtIGJ0bi1vdXRsaW5lLXNlY29uZGFyeSBtbC1hdXRvXCIgb25DbGljaz17dGhpcy5yZWxvYWREYXRhfT5cbiAgICAgICAgICAgIDxpIGNsYXNzTmFtZT1cImljb24gaWNvbi1yZWxvYWRcIj48L2k+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdydy1zaWRlYmFyLWNvbnRlbnQtYm9keSBwLTNcIj5cbiAgICAgICAgICA8dWwgY2xhc3NOYW1lPVwibGlzdC1ncm91cCBsaXN0LWdyb3VwLWZsdXNoXCI+XG4gICAgICAgICAgICB7IHJlY2VudGx5VXBkYXRlZFBhZ2VzLm1hcChwYWdlID0+IDxQYWdlSXRlbSBrZXk9e3BhZ2UuaWR9IHBhZ2U9e3BhZ2V9IC8+KSB9XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG5cbn1cblxuLyoqXG4gKiBXcmFwcGVyIGNvbXBvbmVudCBmb3IgdXNpbmcgdW5zdGF0ZWRcbiAqL1xuY29uc3QgUmVjZW50Q2hhbmdlc1dyYXBwZXIgPSB3aXRoVW5zdGF0ZWRDb250YWluZXJzKFJlY2VudENoYW5nZXMsIFtBcHBDb250YWluZXJdKTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFRyYW5zbGF0aW9uKCkoUmVjZW50Q2hhbmdlc1dyYXBwZXIpO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFPQTtBQUNBO0FBQ0E7QUFGQTtBQXNCQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFNQTtBQUNBO0FBOUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUE2QkE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUVBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBR0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBL0VBO0FBa0ZBOzs7OztBQWxGQTtBQUdBO0FBQUE7QUFDQTtBQUZBO0FBbUZBO0FBRUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/Sidebar/RecentChanges.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Sidebar/SidebarContents.jsx":
- /*!**************************************************************!*\
- !*** ./src/client/js/components/Sidebar/SidebarContents.jsx ***!
- \**************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_NavigationContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../services/NavigationContainer */ \"./src/client/js/services/NavigationContainer.js\");\n/* harmony import */ var _RecentChanges__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./RecentChanges */ \"./src/client/js/components/Sidebar/RecentChanges.jsx\");\n/* harmony import */ var _CustomSidebar__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./CustomSidebar */ \"./src/client/js/components/Sidebar/CustomSidebar.jsx\");\n\n\n\n\n\n\n\n\nconst SidebarContents = props => {\n const {\n navigationContainer,\n isSharedUser\n } = props;\n\n if (isSharedUser) {\n return null;\n }\n\n let Contents;\n\n switch (navigationContainer.state.sidebarContentsId) {\n case 'recent':\n Contents = _RecentChanges__WEBPACK_IMPORTED_MODULE_5__[\"default\"];\n break;\n\n default:\n Contents = _CustomSidebar__WEBPACK_IMPORTED_MODULE_6__[\"default\"];\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Contents, null);\n};\n\nSidebarContents.propTypes = {\n navigationContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_NavigationContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]).isRequired,\n isSharedUser: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool\n};\nSidebarContents.defaultProps = {\n isSharedUser: false\n};\n/**\n * Wrapper component for using unstated\n */\n\nconst SidebarContentsWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__[\"withUnstatedContainers\"])(SidebarContents, [_services_NavigationContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(SidebarContentsWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvU2lkZWJhci9TaWRlYmFyQ29udGVudHMuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1NpZGViYXIvU2lkZWJhckNvbnRlbnRzLmpzeD82MDU1Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQgeyB3aXRoVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcblxuaW1wb3J0IHsgd2l0aFVuc3RhdGVkQ29udGFpbmVycyB9IGZyb20gJy4uL1Vuc3RhdGVkVXRpbHMnO1xuaW1wb3J0IE5hdmlnYXRpb25Db250YWluZXIgZnJvbSAnLi4vLi4vc2VydmljZXMvTmF2aWdhdGlvbkNvbnRhaW5lcic7XG5cbmltcG9ydCBSZWNlbnRDaGFuZ2VzIGZyb20gJy4vUmVjZW50Q2hhbmdlcyc7XG5pbXBvcnQgQ3VzdG9tU2lkZWJhciBmcm9tICcuL0N1c3RvbVNpZGViYXInO1xuXG5jb25zdCBTaWRlYmFyQ29udGVudHMgPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBuYXZpZ2F0aW9uQ29udGFpbmVyLCBpc1NoYXJlZFVzZXIgfSA9IHByb3BzO1xuXG4gIGlmIChpc1NoYXJlZFVzZXIpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGxldCBDb250ZW50cztcbiAgc3dpdGNoIChuYXZpZ2F0aW9uQ29udGFpbmVyLnN0YXRlLnNpZGViYXJDb250ZW50c0lkKSB7XG4gICAgY2FzZSAncmVjZW50JzpcbiAgICAgIENvbnRlbnRzID0gUmVjZW50Q2hhbmdlcztcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICBDb250ZW50cyA9IEN1c3RvbVNpZGViYXI7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxDb250ZW50cyAvPlxuICApO1xuXG59O1xuXG5TaWRlYmFyQ29udGVudHMucHJvcFR5cGVzID0ge1xuICBuYXZpZ2F0aW9uQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihOYXZpZ2F0aW9uQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuXG4gIGlzU2hhcmVkVXNlcjogUHJvcFR5cGVzLmJvb2wsXG59O1xuXG5TaWRlYmFyQ29udGVudHMuZGVmYXVsdFByb3BzID0ge1xuICBpc1NoYXJlZFVzZXI6IGZhbHNlLFxufTtcblxuLyoqXG4gKiBXcmFwcGVyIGNvbXBvbmVudCBmb3IgdXNpbmcgdW5zdGF0ZWRcbiAqL1xuY29uc3QgU2lkZWJhckNvbnRlbnRzV3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoU2lkZWJhckNvbnRlbnRzLCBbTmF2aWdhdGlvbkNvbnRhaW5lcl0pO1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoVHJhbnNsYXRpb24oKShTaWRlYmFyQ29udGVudHNXcmFwcGVyKTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFMQTtBQUNBO0FBT0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBSEE7QUFNQTtBQUNBO0FBREE7QUFJQTs7OztBQUdBO0FBRUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/Sidebar/SidebarContents.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/Sidebar/SidebarNav.jsx":
- /*!*********************************************************!*\
- !*** ./src/client/js/components/Sidebar/SidebarNav.jsx ***!
- \*********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_AppContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../services/AppContainer */ \"./src/client/js/services/AppContainer.js\");\n/* harmony import */ var _services_NavigationContainer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../services/NavigationContainer */ \"./src/client/js/services/NavigationContainer.js\");\n\n\n\n\n\n\n\nclass SidebarNav extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(...args) {\n super(...args);\n this.state = {};\n\n this.itemSelectedHandler = contentsId => {\n const {\n navigationContainer,\n onItemSelected\n } = this.props;\n\n if (onItemSelected != null) {\n onItemSelected(contentsId);\n }\n\n navigationContainer.selectSidebarContents(contentsId);\n };\n\n this.PrimaryItem = ({\n id,\n label,\n iconName\n }) => {\n const {\n sidebarContentsId\n } = this.props.navigationContainer.state;\n const isSelected = sidebarContentsId === id;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"button\", {\n type: \"button\",\n className: `d-block btn btn-primary ${isSelected ? 'active' : ''}`,\n onClick: () => this.itemSelectedHandler(id)\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"material-icons\"\n }, iconName));\n };\n }\n\n SecondaryItem({\n label,\n iconName,\n href,\n isBlank\n }) {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: href,\n className: \"d-block btn btn-primary\",\n target: `${isBlank ? '_blank' : ''}`\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"material-icons\"\n }, iconName));\n }\n\n generateIconFactory(classNames) {\n return () => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: classNames\n });\n }\n\n render() {\n const {\n isAdmin,\n currentUsername,\n isSharedUser\n } = this.props.appContainer;\n const isLoggedIn = currentUsername != null;\n const {\n PrimaryItem,\n SecondaryItem\n } = this;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"grw-sidebar-nav\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"grw-sidebar-nav-primary-container\"\n }, !isSharedUser && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PrimaryItem, {\n id: \"custom\",\n label: \"Custom Sidebar\",\n iconName: \"code\"\n }), !isSharedUser && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PrimaryItem, {\n id: \"recent\",\n label: \"Recent Changes\",\n iconName: \"update\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"grw-sidebar-nav-secondary-container\"\n }, isAdmin && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(SecondaryItem, {\n label: \"Admin\",\n iconName: \"settings\",\n href: \"/admin\"\n }), isLoggedIn && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(SecondaryItem, {\n label: \"Draft\",\n iconName: \"file_copy\",\n href: \"/me/drafts\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(SecondaryItem, {\n label: \"Help\",\n iconName: \"help\",\n href: \"https://docs.growi.org\",\n isBlank: true\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(SecondaryItem, {\n label: \"Trash\",\n iconName: \"delete\",\n href: \"/trash\"\n })));\n }\n\n}\n\nSidebarNav.propTypes = {\n onItemSelected: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func\n};\nSidebarNav.propTypes = {\n appContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_AppContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]).isRequired,\n navigationContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_NavigationContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]).isRequired\n};\n/**\n * Wrapper component for using unstated\n */\n\nconst SidebarNavWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__[\"withUnstatedContainers\"])(SidebarNav, [_services_AppContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"], _services_NavigationContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(SidebarNavWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvU2lkZWJhci9TaWRlYmFyTmF2LmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9TaWRlYmFyL1NpZGViYXJOYXYuanN4PzAyNzMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCB7IHdpdGhUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuXG5pbXBvcnQgeyB3aXRoVW5zdGF0ZWRDb250YWluZXJzIH0gZnJvbSAnLi4vVW5zdGF0ZWRVdGlscyc7XG5pbXBvcnQgQXBwQ29udGFpbmVyIGZyb20gJy4uLy4uL3NlcnZpY2VzL0FwcENvbnRhaW5lcic7XG5pbXBvcnQgTmF2aWdhdGlvbkNvbnRhaW5lciBmcm9tICcuLi8uLi9zZXJ2aWNlcy9OYXZpZ2F0aW9uQ29udGFpbmVyJztcblxuXG5jbGFzcyBTaWRlYmFyTmF2IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcblxuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIG9uSXRlbVNlbGVjdGVkOiBQcm9wVHlwZXMuZnVuYyxcbiAgfTtcblxuICBzdGF0ZSA9IHtcbiAgfTtcblxuICBpdGVtU2VsZWN0ZWRIYW5kbGVyID0gKGNvbnRlbnRzSWQpID0+IHtcbiAgICBjb25zdCB7IG5hdmlnYXRpb25Db250YWluZXIsIG9uSXRlbVNlbGVjdGVkIH0gPSB0aGlzLnByb3BzO1xuICAgIGlmIChvbkl0ZW1TZWxlY3RlZCAhPSBudWxsKSB7XG4gICAgICBvbkl0ZW1TZWxlY3RlZChjb250ZW50c0lkKTtcbiAgICB9XG5cbiAgICBuYXZpZ2F0aW9uQ29udGFpbmVyLnNlbGVjdFNpZGViYXJDb250ZW50cyhjb250ZW50c0lkKTtcbiAgfVxuXG4gIFByaW1hcnlJdGVtID0gKHsgaWQsIGxhYmVsLCBpY29uTmFtZSB9KSA9PiB7XG4gICAgY29uc3QgeyBzaWRlYmFyQ29udGVudHNJZCB9ID0gdGhpcy5wcm9wcy5uYXZpZ2F0aW9uQ29udGFpbmVyLnN0YXRlO1xuICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSBzaWRlYmFyQ29udGVudHNJZCA9PT0gaWQ7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3NOYW1lPXtgZC1ibG9jayBidG4gYnRuLXByaW1hcnkgJHtpc1NlbGVjdGVkID8gJ2FjdGl2ZScgOiAnJ31gfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiB0aGlzLml0ZW1TZWxlY3RlZEhhbmRsZXIoaWQpfVxuICAgICAgPlxuICAgICAgICA8aSBjbGFzc05hbWU9XCJtYXRlcmlhbC1pY29uc1wiPntpY29uTmFtZX08L2k+XG4gICAgICA8L2J1dHRvbj5cbiAgICApO1xuICB9XG5cbiAgU2Vjb25kYXJ5SXRlbSh7XG4gICAgbGFiZWwsIGljb25OYW1lLCBocmVmLCBpc0JsYW5rLFxuICB9KSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxhIGhyZWY9e2hyZWZ9IGNsYXNzTmFtZT1cImQtYmxvY2sgYnRuIGJ0bi1wcmltYXJ5XCIgdGFyZ2V0PXtgJHtpc0JsYW5rID8gJ19ibGFuaycgOiAnJ31gfT5cbiAgICAgICAgPGkgY2xhc3NOYW1lPVwibWF0ZXJpYWwtaWNvbnNcIj57aWNvbk5hbWV9PC9pPlxuICAgICAgPC9hPlxuICAgICk7XG4gIH1cblxuICBnZW5lcmF0ZUljb25GYWN0b3J5KGNsYXNzTmFtZXMpIHtcbiAgICByZXR1cm4gKCkgPT4gPGkgY2xhc3NOYW1lPXtjbGFzc05hbWVzfT48L2k+O1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgaXNBZG1pbiwgY3VycmVudFVzZXJuYW1lLCBpc1NoYXJlZFVzZXIgfSA9IHRoaXMucHJvcHMuYXBwQ29udGFpbmVyO1xuICAgIGNvbnN0IGlzTG9nZ2VkSW4gPSBjdXJyZW50VXNlcm5hbWUgIT0gbnVsbDtcblxuICAgIGNvbnN0IHsgUHJpbWFyeUl0ZW0sIFNlY29uZGFyeUl0ZW0gfSA9IHRoaXM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJncnctc2lkZWJhci1uYXZcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncnctc2lkZWJhci1uYXYtcHJpbWFyeS1jb250YWluZXJcIj5cbiAgICAgICAgICB7IWlzU2hhcmVkVXNlciAmJiA8UHJpbWFyeUl0ZW0gaWQ9XCJjdXN0b21cIiBsYWJlbD1cIkN1c3RvbSBTaWRlYmFyXCIgaWNvbk5hbWU9XCJjb2RlXCIgLz59XG4gICAgICAgICAgeyFpc1NoYXJlZFVzZXIgJiYgPFByaW1hcnlJdGVtIGlkPVwicmVjZW50XCIgbGFiZWw9XCJSZWNlbnQgQ2hhbmdlc1wiIGljb25OYW1lPVwidXBkYXRlXCIgLz59XG4gICAgICAgICAgey8qIDxQcmltYXJ5SXRlbSBpZD1cInRhZ1wiIGxhYmVsPVwiVGFnc1wiIGljb25OYW1lPVwiaWNvbi10YWdcIiAvPiAqL31cbiAgICAgICAgICB7LyogPFByaW1hcnlJdGVtIGlkPVwiZmF2b3JpdGVcIiBsYWJlbD1cIkZhdm9yaXRlXCIgaWNvbk5hbWU9XCJpY29uLXN0YXJcIiAvPiAqL31cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3J3LXNpZGViYXItbmF2LXNlY29uZGFyeS1jb250YWluZXJcIj5cbiAgICAgICAgICB7aXNBZG1pbiAmJiA8U2Vjb25kYXJ5SXRlbSBsYWJlbD1cIkFkbWluXCIgaWNvbk5hbWU9XCJzZXR0aW5nc1wiIGhyZWY9XCIvYWRtaW5cIiAvPn1cbiAgICAgICAgICB7aXNMb2dnZWRJbiAmJiA8U2Vjb25kYXJ5SXRlbSBsYWJlbD1cIkRyYWZ0XCIgaWNvbk5hbWU9XCJmaWxlX2NvcHlcIiBocmVmPVwiL21lL2RyYWZ0c1wiIC8+fVxuICAgICAgICAgIDxTZWNvbmRhcnlJdGVtIGxhYmVsPVwiSGVscFwiIGljb25OYW1lPVwiaGVscFwiIGhyZWY9XCJodHRwczovL2RvY3MuZ3Jvd2kub3JnXCIgaXNCbGFuayAvPlxuICAgICAgICAgIDxTZWNvbmRhcnlJdGVtIGxhYmVsPVwiVHJhc2hcIiBpY29uTmFtZT1cImRlbGV0ZVwiIGhyZWY9XCIvdHJhc2hcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cblxufVxuXG5TaWRlYmFyTmF2LnByb3BUeXBlcyA9IHtcbiAgYXBwQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihBcHBDb250YWluZXIpLmlzUmVxdWlyZWQsXG4gIG5hdmlnYXRpb25Db250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKE5hdmlnYXRpb25Db250YWluZXIpLmlzUmVxdWlyZWQsXG59O1xuXG4vKipcbiAqIFdyYXBwZXIgY29tcG9uZW50IGZvciB1c2luZyB1bnN0YXRlZFxuICovXG5jb25zdCBTaWRlYmFyTmF2V3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoU2lkZWJhck5hdiwgW0FwcENvbnRhaW5lciwgTmF2aWdhdGlvbkNvbnRhaW5lcl0pO1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoVHJhbnNsYXRpb24oKShTaWRlYmFyTmF2V3JhcHBlcik7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQURBO0FBVUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBakJBO0FBa0JBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUhBO0FBS0E7QUFBQTtBQUdBO0FBL0JBO0FBQ0E7QUFnQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQURBO0FBR0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUNBO0FBdEVBO0FBQ0E7QUFEQTtBQUdBO0FBREE7QUF1RUE7QUFDQTtBQUNBO0FBRkE7QUFLQTs7OztBQUdBO0FBRUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/Sidebar/SidebarNav.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/SlackLogo.jsx":
- /*!************************************************!*\
- !*** ./src/client/js/components/SlackLogo.jsx ***!
- \************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n\nconst SlackLogo = () => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 448 448\",\n height: \"20\",\n width: \"20\"\n}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"path\", {\n d: \"M94.12,283.1A47.06,47.06,0,1,1,47.06,236H94.12Zm23.72, 0a47.06,47.06,0,1,1,94.12,0V400.94a47.06,47.06,0,1,1-94.12,0Zm47.06-189A47.06, 47.06,0,1,1,212,47.06V94.12Zm0,23.72a47.06,47.06,0,0,1,0,94.12H47.06a47.06,47.06, 0,0,1,0-94.12Zm189,47.06A47.06,47.06,0,1,1,400.94,212H353.88V164.9Zm-23.72,0a47.06, 47.06,0,1,1-94.12,0V47.06a47.06,47.06,0,1,1,94.12,0V164.9Zm-47.06,189A47.06,47.06, 0,1,1,236,400.94V353.88Zm0-23.72a47.06,47.06,0,0,1,0-94.12H400.94a47.06,47.06,0,0,1,0,94.12Z\"\n}));\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (SlackLogo);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvU2xhY2tMb2dvLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9TbGFja0xvZ28uanN4PzI4OTYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuY29uc3QgU2xhY2tMb2dvID0gKCkgPT4gKFxuICA8c3ZnXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgdmlld0JveD1cIjAgMCA0NDggNDQ4XCJcbiAgICBoZWlnaHQ9XCIyMFwiXG4gICAgd2lkdGg9XCIyMFwiXG4gID5cbiAgICA8cGF0aFxuICAgICAgZD1cIk05NC4xMiwyODMuMUE0Ny4wNiw0Ny4wNiwwLDEsMSw0Ny4wNiwyMzZIOTQuMTJabTIzLjcyLFxuICAgICAgMGE0Ny4wNiw0Ny4wNiwwLDEsMSw5NC4xMiwwVjQwMC45NGE0Ny4wNiw0Ny4wNiwwLDEsMS05NC4xMiwwWm00Ny4wNi0xODlBNDcuMDYsXG4gICAgICA0Ny4wNiwwLDEsMSwyMTIsNDcuMDZWOTQuMTJabTAsMjMuNzJhNDcuMDYsNDcuMDYsMCwwLDEsMCw5NC4xMkg0Ny4wNmE0Ny4wNiw0Ny4wNixcbiAgICAgIDAsMCwxLDAtOTQuMTJabTE4OSw0Ny4wNkE0Ny4wNiw0Ny4wNiwwLDEsMSw0MDAuOTQsMjEySDM1My44OFYxNjQuOVptLTIzLjcyLDBhNDcuMDYsXG4gICAgICA0Ny4wNiwwLDEsMS05NC4xMiwwVjQ3LjA2YTQ3LjA2LDQ3LjA2LDAsMSwxLDk0LjEyLDBWMTY0LjlabS00Ny4wNiwxODlBNDcuMDYsNDcuMDYsXG4gICAgICAwLDEsMSwyMzYsNDAwLjk0VjM1My44OFptMC0yMy43MmE0Ny4wNiw0Ny4wNiwwLDAsMSwwLTk0LjEySDQwMC45NGE0Ny4wNiw0Ny4wNiwwLDAsMSwwLDk0LjEyWlwiXG4gICAgLz5cbiAgPC9zdmc+XG4pO1xuXG5leHBvcnQgZGVmYXVsdCBTbGFja0xvZ287XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFPQTtBQURBO0FBQ0E7QUFVQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/SlackLogo.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/SlackNotification.jsx":
- /*!********************************************************!*\
- !*** ./src/client/js/components/SlackNotification.jsx ***!
- \********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var reactstrap_es_UncontrolledPopover__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! reactstrap/es/UncontrolledPopover */ \"./node_modules/reactstrap/es/UncontrolledPopover.js\");\n/* harmony import */ var reactstrap_es_PopoverHeader__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! reactstrap/es/PopoverHeader */ \"./node_modules/reactstrap/es/PopoverHeader.js\");\n/* harmony import */ var reactstrap_es_PopoverBody__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! reactstrap/es/PopoverBody */ \"./node_modules/reactstrap/es/PopoverBody.js\");\n\n\n\n\n\n\n/**\n *\n * @author Yuki Takei <yuki@weseek.co.jp>\n *\n * @export\n * @class SlackNotification\n * @extends {React.Component}\n */\n\nclass SlackNotification extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n this.idForSlackPopover = `${this.props.id}ForSlackPopover`;\n this.updateCheckboxHandler = this.updateCheckboxHandler.bind(this);\n this.updateSlackChannelsHandler = this.updateSlackChannelsHandler.bind(this);\n }\n\n updateCheckboxHandler(event) {\n const value = event.target.checked;\n\n if (this.props.onEnabledFlagChange != null) {\n this.props.onEnabledFlagChange(value);\n }\n }\n\n updateSlackChannelsHandler(event) {\n const value = event.target.value;\n\n if (this.props.onChannelChange != null) {\n this.props.onChannelChange(value);\n }\n }\n\n render() {\n const {\n t\n } = this.props;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"grw-slack-notification w-100\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"grw-input-group-slack-notification input-group extended-setting\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"input-group-addon\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"custom-control custom-switch custom-switch-lg custom-switch-slack\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n type: \"checkbox\",\n className: \"custom-control-input border-0\",\n id: this.props.id,\n checked: this.props.isSlackEnabled,\n onChange: this.updateCheckboxHandler\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"label\", {\n className: \"custom-control-label align-center\",\n htmlFor: this.props.id\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"input\", {\n className: \"grw-form-control-slack-notification form-control align-top pl-0\",\n id: this.idForSlackPopover,\n type: \"text\",\n value: this.props.slackChannels,\n placeholder: \"Input channels\",\n onChange: this.updateSlackChannelsHandler\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_UncontrolledPopover__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n trigger: \"focus\",\n placement: \"top\",\n target: this.idForSlackPopover\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_PopoverHeader__WEBPACK_IMPORTED_MODULE_4__[\"default\"], null, t('slack_notification.popover_title')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(reactstrap_es_PopoverBody__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null, t('slack_notification.popover_desc')))));\n }\n\n}\n\nSlackNotification.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n popUp: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,\n isSlackEnabled: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool.isRequired,\n slackChannels: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired,\n onEnabledFlagChange: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n onChannelChange: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n id: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(SlackNotification));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvU2xhY2tOb3RpZmljYXRpb24uanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1NsYWNrTm90aWZpY2F0aW9uLmpzeD9iMTliIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQgeyB3aXRoVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcbmltcG9ydCB7IFVuY29udHJvbGxlZFBvcG92ZXIsIFBvcG92ZXJIZWFkZXIsIFBvcG92ZXJCb2R5IH0gZnJvbSAncmVhY3RzdHJhcCc7XG4vKipcbiAqXG4gKiBAYXV0aG9yIFl1a2kgVGFrZWkgPHl1a2lAd2VzZWVrLmNvLmpwPlxuICpcbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBTbGFja05vdGlmaWNhdGlvblxuICogQGV4dGVuZHMge1JlYWN0LkNvbXBvbmVudH1cbiAqL1xuXG5jbGFzcyBTbGFja05vdGlmaWNhdGlvbiBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5pZEZvclNsYWNrUG9wb3ZlciA9IGAke3RoaXMucHJvcHMuaWR9Rm9yU2xhY2tQb3BvdmVyYDtcbiAgICB0aGlzLnVwZGF0ZUNoZWNrYm94SGFuZGxlciA9IHRoaXMudXBkYXRlQ2hlY2tib3hIYW5kbGVyLmJpbmQodGhpcyk7XG4gICAgdGhpcy51cGRhdGVTbGFja0NoYW5uZWxzSGFuZGxlciA9IHRoaXMudXBkYXRlU2xhY2tDaGFubmVsc0hhbmRsZXIuYmluZCh0aGlzKTtcbiAgfVxuXG4gIHVwZGF0ZUNoZWNrYm94SGFuZGxlcihldmVudCkge1xuICAgIGNvbnN0IHZhbHVlID0gZXZlbnQudGFyZ2V0LmNoZWNrZWQ7XG4gICAgaWYgKHRoaXMucHJvcHMub25FbmFibGVkRmxhZ0NoYW5nZSAhPSBudWxsKSB7XG4gICAgICB0aGlzLnByb3BzLm9uRW5hYmxlZEZsYWdDaGFuZ2UodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVNsYWNrQ2hhbm5lbHNIYW5kbGVyKGV2ZW50KSB7XG4gICAgY29uc3QgdmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgaWYgKHRoaXMucHJvcHMub25DaGFubmVsQ2hhbmdlICE9IG51bGwpIHtcbiAgICAgIHRoaXMucHJvcHMub25DaGFubmVsQ2hhbmdlKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyB0IH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3J3LXNsYWNrLW5vdGlmaWNhdGlvbiB3LTEwMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdydy1pbnB1dC1ncm91cC1zbGFjay1ub3RpZmljYXRpb24gaW5wdXQtZ3JvdXAgZXh0ZW5kZWQtc2V0dGluZ1wiPlxuICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9XCJpbnB1dC1ncm91cC1hZGRvblwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjdXN0b20tY29udHJvbCBjdXN0b20tc3dpdGNoIGN1c3RvbS1zd2l0Y2gtbGcgY3VzdG9tLXN3aXRjaC1zbGFja1wiPlxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sLWlucHV0IGJvcmRlci0wXCJcbiAgICAgICAgICAgICAgICBpZD17dGhpcy5wcm9wcy5pZH1cbiAgICAgICAgICAgICAgICBjaGVja2VkPXt0aGlzLnByb3BzLmlzU2xhY2tFbmFibGVkfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLnVwZGF0ZUNoZWNrYm94SGFuZGxlcn1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImN1c3RvbS1jb250cm9sLWxhYmVsIGFsaWduLWNlbnRlclwiIGh0bWxGb3I9e3RoaXMucHJvcHMuaWR9PlxuICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImdydy1mb3JtLWNvbnRyb2wtc2xhY2stbm90aWZpY2F0aW9uIGZvcm0tY29udHJvbCBhbGlnbi10b3AgcGwtMFwiXG4gICAgICAgICAgICBpZD17dGhpcy5pZEZvclNsYWNrUG9wb3Zlcn1cbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIHZhbHVlPXt0aGlzLnByb3BzLnNsYWNrQ2hhbm5lbHN9XG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIklucHV0IGNoYW5uZWxzXCJcbiAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLnVwZGF0ZVNsYWNrQ2hhbm5lbHNIYW5kbGVyfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFVuY29udHJvbGxlZFBvcG92ZXIgdHJpZ2dlcj1cImZvY3VzXCIgcGxhY2VtZW50PVwidG9wXCIgdGFyZ2V0PXt0aGlzLmlkRm9yU2xhY2tQb3BvdmVyfT5cbiAgICAgICAgICAgIDxQb3BvdmVySGVhZGVyPnt0KCdzbGFja19ub3RpZmljYXRpb24ucG9wb3Zlcl90aXRsZScpfTwvUG9wb3ZlckhlYWRlcj5cbiAgICAgICAgICAgIDxQb3BvdmVyQm9keT57dCgnc2xhY2tfbm90aWZpY2F0aW9uLnBvcG92ZXJfZGVzYycpfTwvUG9wb3ZlckJvZHk+XG4gICAgICAgICAgPC9VbmNvbnRyb2xsZWRQb3BvdmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cblxufVxuXG5TbGFja05vdGlmaWNhdGlvbi5wcm9wVHlwZXMgPSB7XG4gIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsIC8vIGkxOG5leHRcblxuICBwb3BVcDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgaXNTbGFja0VuYWJsZWQ6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gIHNsYWNrQ2hhbm5lbHM6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgb25FbmFibGVkRmxhZ0NoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gIG9uQ2hhbm5lbENoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gIGlkOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoVHJhbnNsYXRpb24oKShTbGFja05vdGlmaWNhdGlvbik7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTs7OztBQUVBOzs7Ozs7Ozs7QUFTQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQU9BO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU5BO0FBUUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUNBO0FBMURBO0FBQ0E7QUE0REE7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUkE7QUFXQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/SlackNotification.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/StickyStretchableScroller.jsx":
- /*!****************************************************************!*\
- !*** ./src/client/js/components/StickyStretchableScroller.jsx ***!
- \****************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @alias/logger */ \"./src/lib/service/logger/index.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_alias_logger__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var throttle_debounce__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! throttle-debounce */ \"./node_modules/throttle-debounce/index.esm.js\");\n/* harmony import */ var sticky_events__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! sticky-events */ \"./node_modules/sticky-events/dist/sticky-events.umd.js\");\n/* harmony import */ var sticky_events__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(sticky_events__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _services_NavigationContainer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../services/NavigationContainer */ \"./src/client/js/services/NavigationContainer.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n\n\n\n\n\n\n\nconst logger = _alias_logger__WEBPACK_IMPORTED_MODULE_2___default()('growi:cli:StickyStretchableScroller');\n/**\n * USAGE:\n *\n const calcViewHeight = useCallback(() => {\n const containerElem = document.querySelector('#sticky-elem');\n const containerTop = containerElem.getBoundingClientRect().top;\n\n // stretch to the bottom of window\n return window.innerHeight - containerTop;\n });\n\n return (\n <StickyStretchableScroller\n contentsElemSelector=\"#long-contents-elem\"\n stickyElemSelector=\"#sticky-elem\"\n calcViewHeightFunc={calcViewHeight}\n >\n <div id=\"scroll-elem\">\n ...\n </div>\n </StickyStretchableScroller>\n );\n\n or\n\n return (\n <StickyStretchableScroller\n scrollTargetId=\"scroll-elem\"\n contentsElemSelector=\"#long-contents-elem\"\n stickyElemSelector=\"#sticky-elem\"\n calcViewHeightFunc={calcViewHeight}\n />\n );\n */\n\nconst StickyStretchableScroller = props => {\n let {\n scrollTargetSelector\n } = props;\n const {\n navigationContainer,\n children,\n contentsElemSelector,\n stickyElemSelector,\n calcViewHeightFunc,\n calcContentsHeightFunc\n } = props;\n\n if (scrollTargetSelector == null && children == null) {\n throw new Error('Either of scrollTargetSelector or children is required');\n }\n\n if (scrollTargetSelector == null) {\n scrollTargetSelector = `#${children.props.id}`;\n }\n /**\n * Reset scrollbar\n */\n\n\n const resetScrollbar = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useCallback\"])(() => {\n const contentsElem = document.querySelector(contentsElemSelector);\n\n if (contentsElem == null) {\n return;\n }\n\n const viewHeight = calcViewHeightFunc != null ? calcViewHeightFunc() : 'auto';\n const contentsHeight = calcContentsHeightFunc != null ? calcContentsHeightFunc(contentsElem) : contentsElem.getBoundingClientRect().height;\n logger.debug(`[${scrollTargetSelector}] viewHeight`, viewHeight);\n logger.debug(`[${scrollTargetSelector}] contentsHeight`, contentsHeight);\n const isScrollEnabled = viewHeight === 'auto' || viewHeight < contentsHeight;\n $(scrollTargetSelector).slimScroll({\n color: '#666',\n railColor: '#999',\n railVisible: true,\n position: 'right',\n height: isScrollEnabled ? viewHeight : contentsHeight\n }); // destroy\n\n if (!isScrollEnabled) {\n $(scrollTargetSelector).slimScroll({\n destroy: true\n });\n }\n }, [contentsElemSelector, calcViewHeightFunc, calcContentsHeightFunc, scrollTargetSelector]);\n const resetScrollbarDebounced = Object(throttle_debounce__WEBPACK_IMPORTED_MODULE_3__[\"debounce\"])(100, resetScrollbar);\n const stickyChangeHandler = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useCallback\"])(event => {\n logger.debug('StickyEvents.CHANGE detected');\n resetScrollbar();\n }, [resetScrollbar]); // setup effect by sticky event\n\n Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useEffect\"])(() => {\n if (stickyElemSelector == null) {\n return;\n } // sticky\n // See: https://github.com/ryanwalters/sticky-events\n\n\n const stickyEvents = new sticky_events__WEBPACK_IMPORTED_MODULE_4___default.a({\n stickySelector: stickyElemSelector\n });\n const {\n stickySelector\n } = stickyEvents;\n const elem = document.querySelector(stickySelector);\n elem.addEventListener(sticky_events__WEBPACK_IMPORTED_MODULE_4___default.a.CHANGE, stickyChangeHandler); // return clean up handler\n\n return () => {\n elem.removeEventListener(sticky_events__WEBPACK_IMPORTED_MODULE_4___default.a.CHANGE, stickyChangeHandler);\n };\n }, [stickyElemSelector, stickyChangeHandler]); // setup effect by resizing event\n\n Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useEffect\"])(() => {\n const resizeHandler = event => {\n resetScrollbarDebounced();\n };\n\n window.addEventListener('resize', resizeHandler); // return clean up handler\n\n return () => {\n window.removeEventListener('resize', resizeHandler);\n };\n }, [resetScrollbarDebounced]); // setup effect by isScrollTop\n\n Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useEffect\"])(() => {\n if (navigationContainer.state.isScrollTop) {\n resetScrollbar();\n }\n }, [navigationContainer.state.isScrollTop, resetScrollbar]); // setup effect by update props\n\n Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useEffect\"])(() => {\n resetScrollbarDebounced();\n }, [resetScrollbarDebounced]);\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, children);\n};\n\nStickyStretchableScroller.propTypes = {\n navigationContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_NavigationContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]).isRequired,\n contentsElemSelector: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired,\n children: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.node,\n scrollTargetSelector: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n stickyElemSelector: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n calcViewHeightFunc: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func,\n calcContentsHeightFunc: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_6__[\"withUnstatedContainers\"])(StickyStretchableScroller, [_services_NavigationContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]]));\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"jquery\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvU3RpY2t5U3RyZXRjaGFibGVTY3JvbGxlci5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvU3RpY2t5U3RyZXRjaGFibGVTY3JvbGxlci5qc3g/OGJmMyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgbG9nZ2VyRmFjdG9yeSBmcm9tICdAYWxpYXMvbG9nZ2VyJztcblxuaW1wb3J0IHsgZGVib3VuY2UgfSBmcm9tICd0aHJvdHRsZS1kZWJvdW5jZSc7XG5pbXBvcnQgU3RpY2t5RXZlbnRzIGZyb20gJ3N0aWNreS1ldmVudHMnO1xuXG5pbXBvcnQgTmF2aWdhdGlvbkNvbnRhaW5lciBmcm9tICcuLi9zZXJ2aWNlcy9OYXZpZ2F0aW9uQ29udGFpbmVyJztcbmltcG9ydCB7IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMgfSBmcm9tICcuL1Vuc3RhdGVkVXRpbHMnO1xuXG5jb25zdCBsb2dnZXIgPSBsb2dnZXJGYWN0b3J5KCdncm93aTpjbGk6U3RpY2t5U3RyZXRjaGFibGVTY3JvbGxlcicpO1xuXG5cbi8qKlxuICogVVNBR0U6XG4gKlxuICBjb25zdCBjYWxjVmlld0hlaWdodCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBjb250YWluZXJFbGVtID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3N0aWNreS1lbGVtJyk7XG4gICAgY29uc3QgY29udGFpbmVyVG9wID0gY29udGFpbmVyRWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3A7XG5cbiAgICAvLyBzdHJldGNoIHRvIHRoZSBib3R0b20gb2Ygd2luZG93XG4gICAgcmV0dXJuIHdpbmRvdy5pbm5lckhlaWdodCAtIGNvbnRhaW5lclRvcDtcbiAgfSk7XG5cbiAgcmV0dXJuIChcbiAgICA8U3RpY2t5U3RyZXRjaGFibGVTY3JvbGxlclxuICAgICAgY29udGVudHNFbGVtU2VsZWN0b3I9XCIjbG9uZy1jb250ZW50cy1lbGVtXCJcbiAgICAgIHN0aWNreUVsZW1TZWxlY3Rvcj1cIiNzdGlja3ktZWxlbVwiXG4gICAgICBjYWxjVmlld0hlaWdodEZ1bmM9e2NhbGNWaWV3SGVpZ2h0fVxuICAgID5cbiAgICAgIDxkaXYgaWQ9XCJzY3JvbGwtZWxlbVwiPlxuICAgICAgICAuLi5cbiAgICAgIDwvZGl2PlxuICAgIDwvU3RpY2t5U3RyZXRjaGFibGVTY3JvbGxlcj5cbiAgKTtcblxuICBvclxuXG4gIHJldHVybiAoXG4gICAgPFN0aWNreVN0cmV0Y2hhYmxlU2Nyb2xsZXJcbiAgICAgIHNjcm9sbFRhcmdldElkPVwic2Nyb2xsLWVsZW1cIlxuICAgICAgY29udGVudHNFbGVtU2VsZWN0b3I9XCIjbG9uZy1jb250ZW50cy1lbGVtXCJcbiAgICAgIHN0aWNreUVsZW1TZWxlY3Rvcj1cIiNzdGlja3ktZWxlbVwiXG4gICAgICBjYWxjVmlld0hlaWdodEZ1bmM9e2NhbGNWaWV3SGVpZ2h0fVxuICAgIC8+XG4gICk7XG4gKi9cbmNvbnN0IFN0aWNreVN0cmV0Y2hhYmxlU2Nyb2xsZXIgPSAocHJvcHMpID0+IHtcblxuICBsZXQgeyBzY3JvbGxUYXJnZXRTZWxlY3RvciB9ID0gcHJvcHM7XG4gIGNvbnN0IHtcbiAgICBuYXZpZ2F0aW9uQ29udGFpbmVyLFxuICAgIGNoaWxkcmVuLCBjb250ZW50c0VsZW1TZWxlY3Rvciwgc3RpY2t5RWxlbVNlbGVjdG9yLFxuICAgIGNhbGNWaWV3SGVpZ2h0RnVuYywgY2FsY0NvbnRlbnRzSGVpZ2h0RnVuYyxcbiAgfSA9IHByb3BzO1xuXG4gIGlmIChzY3JvbGxUYXJnZXRTZWxlY3RvciA9PSBudWxsICYmIGNoaWxkcmVuID09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0VpdGhlciBvZiBzY3JvbGxUYXJnZXRTZWxlY3RvciBvciBjaGlsZHJlbiBpcyByZXF1aXJlZCcpO1xuICB9XG5cbiAgaWYgKHNjcm9sbFRhcmdldFNlbGVjdG9yID09IG51bGwpIHtcbiAgICBzY3JvbGxUYXJnZXRTZWxlY3RvciA9IGAjJHtjaGlsZHJlbi5wcm9wcy5pZH1gO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0IHNjcm9sbGJhclxuICAgKi9cbiAgY29uc3QgcmVzZXRTY3JvbGxiYXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3QgY29udGVudHNFbGVtID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcihjb250ZW50c0VsZW1TZWxlY3Rvcik7XG4gICAgaWYgKGNvbnRlbnRzRWxlbSA9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgdmlld0hlaWdodCA9IGNhbGNWaWV3SGVpZ2h0RnVuYyAhPSBudWxsXG4gICAgICA/IGNhbGNWaWV3SGVpZ2h0RnVuYygpXG4gICAgICA6ICdhdXRvJztcbiAgICBjb25zdCBjb250ZW50c0hlaWdodCA9IGNhbGNDb250ZW50c0hlaWdodEZ1bmMgIT0gbnVsbFxuICAgICAgPyBjYWxjQ29udGVudHNIZWlnaHRGdW5jKGNvbnRlbnRzRWxlbSlcbiAgICAgIDogY29udGVudHNFbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtcblxuICAgIGxvZ2dlci5kZWJ1ZyhgWyR7c2Nyb2xsVGFyZ2V0U2VsZWN0b3J9XSB2aWV3SGVpZ2h0YCwgdmlld0hlaWdodCk7XG4gICAgbG9nZ2VyLmRlYnVnKGBbJHtzY3JvbGxUYXJnZXRTZWxlY3Rvcn1dIGNvbnRlbnRzSGVpZ2h0YCwgY29udGVudHNIZWlnaHQpO1xuXG4gICAgY29uc3QgaXNTY3JvbGxFbmFibGVkID0gdmlld0hlaWdodCA9PT0gJ2F1dG8nIHx8ICh2aWV3SGVpZ2h0IDwgY29udGVudHNIZWlnaHQpO1xuXG4gICAgJChzY3JvbGxUYXJnZXRTZWxlY3Rvcikuc2xpbVNjcm9sbCh7XG4gICAgICBjb2xvcjogJyM2NjYnLFxuICAgICAgcmFpbENvbG9yOiAnIzk5OScsXG4gICAgICByYWlsVmlzaWJsZTogdHJ1ZSxcbiAgICAgIHBvc2l0aW9uOiAncmlnaHQnLFxuICAgICAgaGVpZ2h0OiBpc1Njcm9sbEVuYWJsZWQgPyB2aWV3SGVpZ2h0IDogY29udGVudHNIZWlnaHQsXG4gICAgfSk7XG5cbiAgICAvLyBkZXN0cm95XG4gICAgaWYgKCFpc1Njcm9sbEVuYWJsZWQpIHtcbiAgICAgICQoc2Nyb2xsVGFyZ2V0U2VsZWN0b3IpLnNsaW1TY3JvbGwoeyBkZXN0cm95OiB0cnVlIH0pO1xuICAgIH1cblxuICB9LCBbY29udGVudHNFbGVtU2VsZWN0b3IsIGNhbGNWaWV3SGVpZ2h0RnVuYywgY2FsY0NvbnRlbnRzSGVpZ2h0RnVuYywgc2Nyb2xsVGFyZ2V0U2VsZWN0b3JdKTtcblxuICBjb25zdCByZXNldFNjcm9sbGJhckRlYm91bmNlZCA9IGRlYm91bmNlKDEwMCwgcmVzZXRTY3JvbGxiYXIpO1xuXG5cbiAgY29uc3Qgc3RpY2t5Q2hhbmdlSGFuZGxlciA9IHVzZUNhbGxiYWNrKChldmVudCkgPT4ge1xuICAgIGxvZ2dlci5kZWJ1ZygnU3RpY2t5RXZlbnRzLkNIQU5HRSBkZXRlY3RlZCcpO1xuICAgIHJlc2V0U2Nyb2xsYmFyKCk7XG4gIH0sIFtyZXNldFNjcm9sbGJhcl0pO1xuXG4gIC8vIHNldHVwIGVmZmVjdCBieSBzdGlja3kgZXZlbnRcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoc3RpY2t5RWxlbVNlbGVjdG9yID09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBzdGlja3lcbiAgICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9yeWFud2FsdGVycy9zdGlja3ktZXZlbnRzXG4gICAgY29uc3Qgc3RpY2t5RXZlbnRzID0gbmV3IFN0aWNreUV2ZW50cyh7IHN0aWNreVNlbGVjdG9yOiBzdGlja3lFbGVtU2VsZWN0b3IgfSk7XG4gICAgY29uc3QgeyBzdGlja3lTZWxlY3RvciB9ID0gc3RpY2t5RXZlbnRzO1xuICAgIGNvbnN0IGVsZW0gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHN0aWNreVNlbGVjdG9yKTtcbiAgICBlbGVtLmFkZEV2ZW50TGlzdGVuZXIoU3RpY2t5RXZlbnRzLkNIQU5HRSwgc3RpY2t5Q2hhbmdlSGFuZGxlcik7XG5cbiAgICAvLyByZXR1cm4gY2xlYW4gdXAgaGFuZGxlclxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBlbGVtLnJlbW92ZUV2ZW50TGlzdGVuZXIoU3RpY2t5RXZlbnRzLkNIQU5HRSwgc3RpY2t5Q2hhbmdlSGFuZGxlcik7XG4gICAgfTtcbiAgfSwgW3N0aWNreUVsZW1TZWxlY3Rvciwgc3RpY2t5Q2hhbmdlSGFuZGxlcl0pO1xuXG4gIC8vIHNldHVwIGVmZmVjdCBieSByZXNpemluZyBldmVudFxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHJlc2l6ZUhhbmRsZXIgPSAoZXZlbnQpID0+IHtcbiAgICAgIHJlc2V0U2Nyb2xsYmFyRGVib3VuY2VkKCk7XG4gICAgfTtcblxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCByZXNpemVIYW5kbGVyKTtcblxuICAgIC8vIHJldHVybiBjbGVhbiB1cCBoYW5kbGVyXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCByZXNpemVIYW5kbGVyKTtcbiAgICB9O1xuICB9LCBbcmVzZXRTY3JvbGxiYXJEZWJvdW5jZWRdKTtcblxuICAvLyBzZXR1cCBlZmZlY3QgYnkgaXNTY3JvbGxUb3BcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAobmF2aWdhdGlvbkNvbnRhaW5lci5zdGF0ZS5pc1Njcm9sbFRvcCkge1xuICAgICAgcmVzZXRTY3JvbGxiYXIoKTtcbiAgICB9XG4gIH0sIFtuYXZpZ2F0aW9uQ29udGFpbmVyLnN0YXRlLmlzU2Nyb2xsVG9wLCByZXNldFNjcm9sbGJhcl0pO1xuXG4gIC8vIHNldHVwIGVmZmVjdCBieSB1cGRhdGUgcHJvcHNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXNldFNjcm9sbGJhckRlYm91bmNlZCgpO1xuICB9LCBbcmVzZXRTY3JvbGxiYXJEZWJvdW5jZWRdKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7IGNoaWxkcmVuIH1cbiAgICA8Lz5cbiAgKTtcbn07XG5cblN0aWNreVN0cmV0Y2hhYmxlU2Nyb2xsZXIucHJvcFR5cGVzID0ge1xuICBuYXZpZ2F0aW9uQ29udGFpbmVyOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihOYXZpZ2F0aW9uQ29udGFpbmVyKS5pc1JlcXVpcmVkLFxuICBjb250ZW50c0VsZW1TZWxlY3RvcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuXG4gIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZSxcbiAgc2Nyb2xsVGFyZ2V0U2VsZWN0b3I6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHN0aWNreUVsZW1TZWxlY3RvcjogUHJvcFR5cGVzLnN0cmluZyxcblxuICBjYWxjVmlld0hlaWdodEZ1bmM6IFByb3BUeXBlcy5mdW5jLFxuICBjYWxjQ29udGVudHNIZWlnaHRGdW5jOiBQcm9wVHlwZXMuZnVuYyxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoU3RpY2t5U3RyZXRjaGFibGVTY3JvbGxlciwgW05hdmlnYXRpb25Db250YWluZXJdKTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUdBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWtDQTtBQUVBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBSEE7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBSUE7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFDQTtBQVFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBREE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFUQTtBQVlBO0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/StickyStretchableScroller.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/TableOfContents.jsx":
- /*!******************************************************!*\
- !*** ./src/client/js/components/TableOfContents.jsx ***!
- \******************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @alias/logger */ \"./src/lib/service/logger/index.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_alias_logger__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n/* harmony import */ var _services_NavigationContainer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../services/NavigationContainer */ \"./src/client/js/services/NavigationContainer.js\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _StickyStretchableScroller__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./StickyStretchableScroller */ \"./src/client/js/components/StickyStretchableScroller.jsx\");\n\n\n\n\n\n\n\n // eslint-disable-next-line no-unused-vars\n\nconst logger = _alias_logger__WEBPACK_IMPORTED_MODULE_2___default()('growi:TableOfContents');\n/**\n * @author Yuki Takei <yuki@weseek.co.jp>\n *\n */\n\nconst TableOfContents = props => {\n const {\n t,\n pageContainer,\n navigationContainer\n } = props;\n const {\n pageUser\n } = pageContainer.state;\n const isUserPage = pageUser != null;\n const calcViewHeight = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useCallback\"])(() => {\n // calculate absolute top of '#revision-toc' element\n const parentElem = document.querySelector('.grw-side-contents-container');\n const parentBottom = parentElem.getBoundingClientRect().bottom;\n const containerElem = document.querySelector('#revision-toc');\n const containerTop = containerElem.getBoundingClientRect().top;\n const containerComputedStyle = getComputedStyle(containerElem);\n const containerPaddingTop = parseFloat(containerComputedStyle['padding-top']); // get smaller bottom line of window height - the height of ContentLinkButtons and .system-version height) and containerTop\n\n let bottom = Math.min(window.innerHeight - 41 - 20, parentBottom);\n\n if (isUserPage) {\n // raise the bottom line by the height and margin-top of UserContentLinks\n bottom -= 45;\n } // bottom - revisionToc top\n\n\n return bottom - (containerTop + containerPaddingTop);\n }, [isUserPage]);\n const {\n tocHtml\n } = pageContainer.state; // execute after generation toc html\n\n Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useEffect\"])(() => {\n const tocDom = document.getElementById('revision-toc-content');\n const anchorsInToc = Array.from(tocDom.getElementsByTagName('a'));\n navigationContainer.addSmoothScrollEvent(anchorsInToc);\n }, [tocHtml, navigationContainer]);\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_StickyStretchableScroller__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n contentsElemSelector: \".revision-toc .markdownIt-TOC\",\n stickyElemSelector: \".grw-side-contents-sticky-container\",\n calcViewHeightFunc: calcViewHeight\n }, tocHtml !== '' ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n id: \"revision-toc-content\",\n className: \"revision-toc-content mb-3\" // eslint-disable-next-line react/no-danger\n ,\n dangerouslySetInnerHTML: {\n __html: tocHtml\n }\n }) : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n id: \"revision-toc-content\",\n className: \"revision-toc-content mb-2\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"text-muted\"\n }, \"(\", t('page_table_of_contents.empty'), \")\")));\n};\n/**\n * Wrapper component for using unstated\n */\n\n\nconst TableOfContentsWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_6__[\"withUnstatedContainers\"])(TableOfContents, [_services_PageContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"], _services_NavigationContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]]);\nTableOfContents.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired,\n // i18next\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]).isRequired,\n navigationContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_NavigationContainer__WEBPACK_IMPORTED_MODULE_5__[\"default\"]).isRequired\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_3__[\"withTranslation\"])()(TableOfContentsWrapper));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvVGFibGVPZkNvbnRlbnRzLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvY29tcG9uZW50cy9UYWJsZU9mQ29udGVudHMuanN4P2YwODgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IGxvZ2dlckZhY3RvcnkgZnJvbSAnQGFsaWFzL2xvZ2dlcic7XG5cbmltcG9ydCB7IHdpdGhUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuXG5pbXBvcnQgUGFnZUNvbnRhaW5lciBmcm9tICcuLi9zZXJ2aWNlcy9QYWdlQ29udGFpbmVyJztcbmltcG9ydCBOYXZpZ2F0aW9uQ29udGFpbmVyIGZyb20gJy4uL3NlcnZpY2VzL05hdmlnYXRpb25Db250YWluZXInO1xuXG5pbXBvcnQgeyB3aXRoVW5zdGF0ZWRDb250YWluZXJzIH0gZnJvbSAnLi9VbnN0YXRlZFV0aWxzJztcblxuaW1wb3J0IFN0aWNreVN0cmV0Y2hhYmxlU2Nyb2xsZXIgZnJvbSAnLi9TdGlja3lTdHJldGNoYWJsZVNjcm9sbGVyJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXG5jb25zdCBsb2dnZXIgPSBsb2dnZXJGYWN0b3J5KCdncm93aTpUYWJsZU9mQ29udGVudHMnKTtcblxuLyoqXG4gKiBAYXV0aG9yIFl1a2kgVGFrZWkgPHl1a2lAd2VzZWVrLmNvLmpwPlxuICpcbiAqL1xuY29uc3QgVGFibGVPZkNvbnRlbnRzID0gKHByb3BzKSA9PiB7XG5cbiAgY29uc3QgeyB0LCBwYWdlQ29udGFpbmVyLCBuYXZpZ2F0aW9uQ29udGFpbmVyIH0gPSBwcm9wcztcbiAgY29uc3QgeyBwYWdlVXNlciB9ID0gcGFnZUNvbnRhaW5lci5zdGF0ZTtcbiAgY29uc3QgaXNVc2VyUGFnZSA9IHBhZ2VVc2VyICE9IG51bGw7XG5cbiAgY29uc3QgY2FsY1ZpZXdIZWlnaHQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgLy8gY2FsY3VsYXRlIGFic29sdXRlIHRvcCBvZiAnI3JldmlzaW9uLXRvYycgZWxlbWVudFxuICAgIGNvbnN0IHBhcmVudEVsZW0gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuZ3J3LXNpZGUtY29udGVudHMtY29udGFpbmVyJyk7XG4gICAgY29uc3QgcGFyZW50Qm90dG9tID0gcGFyZW50RWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5ib3R0b207XG4gICAgY29uc3QgY29udGFpbmVyRWxlbSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNyZXZpc2lvbi10b2MnKTtcbiAgICBjb25zdCBjb250YWluZXJUb3AgPSBjb250YWluZXJFbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDtcbiAgICBjb25zdCBjb250YWluZXJDb21wdXRlZFN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZShjb250YWluZXJFbGVtKTtcbiAgICBjb25zdCBjb250YWluZXJQYWRkaW5nVG9wID0gcGFyc2VGbG9hdChjb250YWluZXJDb21wdXRlZFN0eWxlWydwYWRkaW5nLXRvcCddKTtcblxuICAgIC8vIGdldCBzbWFsbGVyIGJvdHRvbSBsaW5lIG9mIHdpbmRvdyBoZWlnaHQgLSB0aGUgaGVpZ2h0IG9mIENvbnRlbnRMaW5rQnV0dG9ucyBhbmQgLnN5c3RlbS12ZXJzaW9uIGhlaWdodCkgYW5kIGNvbnRhaW5lclRvcFxuICAgIGxldCBib3R0b20gPSBNYXRoLm1pbih3aW5kb3cuaW5uZXJIZWlnaHQgLSA0MSAtIDIwLCBwYXJlbnRCb3R0b20pO1xuXG4gICAgaWYgKGlzVXNlclBhZ2UpIHtcbiAgICAgIC8vIHJhaXNlIHRoZSBib3R0b20gbGluZSBieSB0aGUgaGVpZ2h0IGFuZCBtYXJnaW4tdG9wIG9mIFVzZXJDb250ZW50TGlua3NcbiAgICAgIGJvdHRvbSAtPSA0NTtcbiAgICB9XG4gICAgLy8gYm90dG9tIC0gcmV2aXNpb25Ub2MgdG9wXG4gICAgcmV0dXJuIGJvdHRvbSAtIChjb250YWluZXJUb3AgKyBjb250YWluZXJQYWRkaW5nVG9wKTtcbiAgfSwgW2lzVXNlclBhZ2VdKTtcblxuICBjb25zdCB7IHRvY0h0bWwgfSA9IHBhZ2VDb250YWluZXIuc3RhdGU7XG5cbiAgLy8gZXhlY3V0ZSBhZnRlciBnZW5lcmF0aW9uIHRvYyBodG1sXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgdG9jRG9tID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JldmlzaW9uLXRvYy1jb250ZW50Jyk7XG4gICAgY29uc3QgYW5jaG9yc0luVG9jID0gQXJyYXkuZnJvbSh0b2NEb20uZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2EnKSk7XG4gICAgbmF2aWdhdGlvbkNvbnRhaW5lci5hZGRTbW9vdGhTY3JvbGxFdmVudChhbmNob3JzSW5Ub2MpO1xuICB9LCBbdG9jSHRtbCwgbmF2aWdhdGlvbkNvbnRhaW5lcl0pO1xuXG4gIHJldHVybiAoXG4gICAgPFN0aWNreVN0cmV0Y2hhYmxlU2Nyb2xsZXJcbiAgICAgIGNvbnRlbnRzRWxlbVNlbGVjdG9yPVwiLnJldmlzaW9uLXRvYyAubWFya2Rvd25JdC1UT0NcIlxuICAgICAgc3RpY2t5RWxlbVNlbGVjdG9yPVwiLmdydy1zaWRlLWNvbnRlbnRzLXN0aWNreS1jb250YWluZXJcIlxuICAgICAgY2FsY1ZpZXdIZWlnaHRGdW5jPXtjYWxjVmlld0hlaWdodH1cbiAgICA+XG4gICAgICB7IHRvY0h0bWwgIT09ICcnXG4gICAgICA/IChcbiAgICAgICAgPGRpdlxuICAgICAgICAgIGlkPVwicmV2aXNpb24tdG9jLWNvbnRlbnRcIlxuICAgICAgICAgIGNsYXNzTmFtZT1cInJldmlzaW9uLXRvYy1jb250ZW50IG1iLTNcIlxuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9uby1kYW5nZXJcbiAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTD17eyBfX2h0bWw6IHRvY0h0bWwgfX1cbiAgICAgICAgLz5cbiAgICAgIClcbiAgICAgIDogKFxuICAgICAgICA8ZGl2XG4gICAgICAgICAgaWQ9XCJyZXZpc2lvbi10b2MtY29udGVudFwiXG4gICAgICAgICAgY2xhc3NOYW1lPVwicmV2aXNpb24tdG9jLWNvbnRlbnQgbWItMlwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LW11dGVkXCI+KHt0KCdwYWdlX3RhYmxlX29mX2NvbnRlbnRzLmVtcHR5Jyl9KTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApIH1cblxuICAgIDwvU3RpY2t5U3RyZXRjaGFibGVTY3JvbGxlcj5cbiAgKTtcblxufTtcblxuLyoqXG4gKiBXcmFwcGVyIGNvbXBvbmVudCBmb3IgdXNpbmcgdW5zdGF0ZWRcbiAqL1xuY29uc3QgVGFibGVPZkNvbnRlbnRzV3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoVGFibGVPZkNvbnRlbnRzLCBbUGFnZUNvbnRhaW5lciwgTmF2aWdhdGlvbkNvbnRhaW5lcl0pO1xuXG5UYWJsZU9mQ29udGVudHMucHJvcFR5cGVzID0ge1xuICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLCAvLyBpMThuZXh0XG5cbiAgcGFnZUNvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoUGFnZUNvbnRhaW5lcikuaXNSZXF1aXJlZCxcbiAgbmF2aWdhdGlvbkNvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoTmF2aWdhdGlvbkNvbnRhaW5lcikuaXNSZXF1aXJlZCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhUcmFuc2xhdGlvbigpKFRhYmxlT2ZDb250ZW50c1dyYXBwZXIpO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFFQTtBQUVBOzs7OztBQUlBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFFQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUhBO0FBUUE7QUFDQTtBQUZBO0FBSUE7QUFBQTtBQUFBO0FBSkE7QUFTQTtBQUNBO0FBRkE7QUFJQTtBQUFBO0FBT0E7QUFFQTs7Ozs7QUFHQTtBQUVBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFKQTtBQU9BIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/TableOfContents.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/TagsList.jsx":
- /*!***********************************************!*\
- !*** ./src/client/js/components/TagsList.jsx ***!
- \***********************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _PaginationWrapper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PaginationWrapper */ \"./src/client/js/components/PaginationWrapper.jsx\");\n\n\n\n\n\nclass TagsList extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n constructor(props) {\n super(props);\n this.state = {\n tagData: [],\n activePage: 1,\n totalTags: 0,\n pagingLimit: 10\n };\n this.handlePage = this.handlePage.bind(this);\n this.getTagList = this.getTagList.bind(this);\n }\n\n async componentWillMount() {\n await this.getTagList(1);\n }\n\n async handlePage(selectedPage) {\n await this.getTagList(selectedPage);\n }\n\n async getTagList(selectPageNumber) {\n const limit = this.state.pagingLimit;\n const offset = (selectPageNumber - 1) * limit;\n const res = await this.props.crowi.apiGet('/tags.list', {\n limit,\n offset\n });\n const totalTags = res.totalCount;\n const tagData = res.data;\n const activePage = selectPageNumber;\n this.setState({\n tagData,\n activePage,\n totalTags\n });\n }\n /**\n * generate Elements of Tag\n *\n * @param {any} pages Array of pages Model Obj\n *\n */\n\n\n generateTagList(tagData) {\n return tagData.map(data => {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n key: data.name,\n href: `/_search?q=tag:${data.name}`,\n className: \"list-group-item\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-tag mr-2\"\n }), data.name, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"ml-4 list-tag-count badge badge-secondary text-muted\"\n }, data.count));\n });\n }\n\n render() {\n const {\n t\n } = this.props;\n const messageForNoTag = this.state.tagData.length ? null : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h3\", null, t('You have no tag, You can set tags on pages'));\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"text-center\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"tag-list\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"ul\", {\n className: \"list-group text-left\"\n }, this.generateTagList(this.state.tagData)), messageForNoTag), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"tag-list-pagination\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_PaginationWrapper__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n activePage: this.state.activePage,\n changePage: this.handlePage,\n totalItemsCount: this.state.totalTags,\n pagingLimit: this.state.pagingLimit,\n size: \"sm\"\n })));\n }\n\n}\n\nTagsList.propTypes = {\n crowi: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object.isRequired,\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired // i18next\n\n};\nTagsList.defaultProps = {};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(TagsList));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvVGFnc0xpc3QuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1RhZ3NMaXN0LmpzeD82YzVlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQgeyB3aXRoVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcblxuaW1wb3J0IFBhZ2luYXRpb25XcmFwcGVyIGZyb20gJy4vUGFnaW5hdGlvbldyYXBwZXInO1xuXG5jbGFzcyBUYWdzTGlzdCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgdGFnRGF0YTogW10sXG4gICAgICBhY3RpdmVQYWdlOiAxLFxuICAgICAgdG90YWxUYWdzOiAwLFxuICAgICAgcGFnaW5nTGltaXQ6IDEwLFxuICAgIH07XG5cbiAgICB0aGlzLmhhbmRsZVBhZ2UgPSB0aGlzLmhhbmRsZVBhZ2UuYmluZCh0aGlzKTtcbiAgICB0aGlzLmdldFRhZ0xpc3QgPSB0aGlzLmdldFRhZ0xpc3QuYmluZCh0aGlzKTtcbiAgfVxuXG4gIGFzeW5jIGNvbXBvbmVudFdpbGxNb3VudCgpIHtcbiAgICBhd2FpdCB0aGlzLmdldFRhZ0xpc3QoMSk7XG4gIH1cblxuICBhc3luYyBoYW5kbGVQYWdlKHNlbGVjdGVkUGFnZSkge1xuICAgIGF3YWl0IHRoaXMuZ2V0VGFnTGlzdChzZWxlY3RlZFBhZ2UpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VGFnTGlzdChzZWxlY3RQYWdlTnVtYmVyKSB7XG4gICAgY29uc3QgbGltaXQgPSB0aGlzLnN0YXRlLnBhZ2luZ0xpbWl0O1xuICAgIGNvbnN0IG9mZnNldCA9IChzZWxlY3RQYWdlTnVtYmVyIC0gMSkgKiBsaW1pdDtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnByb3BzLmNyb3dpLmFwaUdldCgnL3RhZ3MubGlzdCcsIHsgbGltaXQsIG9mZnNldCB9KTtcblxuICAgIGNvbnN0IHRvdGFsVGFncyA9IHJlcy50b3RhbENvdW50O1xuICAgIGNvbnN0IHRhZ0RhdGEgPSByZXMuZGF0YTtcbiAgICBjb25zdCBhY3RpdmVQYWdlID0gc2VsZWN0UGFnZU51bWJlcjtcblxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgdGFnRGF0YSxcbiAgICAgIGFjdGl2ZVBhZ2UsXG4gICAgICB0b3RhbFRhZ3MsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogZ2VuZXJhdGUgRWxlbWVudHMgb2YgVGFnXG4gICAqXG4gICAqIEBwYXJhbSB7YW55fSBwYWdlcyBBcnJheSBvZiBwYWdlcyBNb2RlbCBPYmpcbiAgICpcbiAgICovXG4gIGdlbmVyYXRlVGFnTGlzdCh0YWdEYXRhKSB7XG4gICAgcmV0dXJuIHRhZ0RhdGEubWFwKChkYXRhKSA9PiB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8YSBrZXk9e2RhdGEubmFtZX0gaHJlZj17YC9fc2VhcmNoP3E9dGFnOiR7ZGF0YS5uYW1lfWB9IGNsYXNzTmFtZT1cImxpc3QtZ3JvdXAtaXRlbVwiPlxuICAgICAgICAgIDxpIGNsYXNzTmFtZT1cImljb24tdGFnIG1yLTJcIj48L2k+e2RhdGEubmFtZX1cbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJtbC00IGxpc3QtdGFnLWNvdW50IGJhZGdlIGJhZGdlLXNlY29uZGFyeSB0ZXh0LW11dGVkXCI+e2RhdGEuY291bnR9PC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgdCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBtZXNzYWdlRm9yTm9UYWcgPSB0aGlzLnN0YXRlLnRhZ0RhdGEubGVuZ3RoID8gbnVsbCA6IDxoMz57IHQoJ1lvdSBoYXZlIG5vIHRhZywgWW91IGNhbiBzZXQgdGFncyBvbiBwYWdlcycpIH08L2gzPjtcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtY2VudGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGFnLWxpc3RcIj5cbiAgICAgICAgICA8dWwgY2xhc3NOYW1lPVwibGlzdC1ncm91cCB0ZXh0LWxlZnRcIj5cbiAgICAgICAgICAgIHt0aGlzLmdlbmVyYXRlVGFnTGlzdCh0aGlzLnN0YXRlLnRhZ0RhdGEpfVxuICAgICAgICAgIDwvdWw+XG4gICAgICAgICAge21lc3NhZ2VGb3JOb1RhZ31cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGFnLWxpc3QtcGFnaW5hdGlvblwiPlxuICAgICAgICAgIDxQYWdpbmF0aW9uV3JhcHBlclxuICAgICAgICAgICAgYWN0aXZlUGFnZT17dGhpcy5zdGF0ZS5hY3RpdmVQYWdlfVxuICAgICAgICAgICAgY2hhbmdlUGFnZT17dGhpcy5oYW5kbGVQYWdlfVxuICAgICAgICAgICAgdG90YWxJdGVtc0NvdW50PXt0aGlzLnN0YXRlLnRvdGFsVGFnc31cbiAgICAgICAgICAgIHBhZ2luZ0xpbWl0PXt0aGlzLnN0YXRlLnBhZ2luZ0xpbWl0fVxuICAgICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cblxufVxuXG5UYWdzTGlzdC5wcm9wVHlwZXMgPSB7XG4gIGNyb3dpOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gIHQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsIC8vIGkxOG5leHRcbn07XG5cblRhZ3NMaXN0LmRlZmF1bHRQcm9wcyA9IHtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhUcmFuc2xhdGlvbigpKFRhZ3NMaXN0KTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBS0E7QUFFQTs7Ozs7Ozs7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBS0E7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQVVBO0FBQ0E7QUFqRkE7QUFDQTtBQW1GQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBS0E7QUFHQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/TagsList.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/TrashPageList.jsx":
- /*!****************************************************!*\
- !*** ./src/client/js/components/TrashPageList.jsx ***!
- \****************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-i18next */ \"./node_modules/react-i18next/dist/es/index.js\");\n/* harmony import */ var _Icons_PageListIcon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Icons/PageListIcon */ \"./src/client/js/components/Icons/PageListIcon.jsx\");\n/* harmony import */ var _CustomNavigation_CustomNavAndContents__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./CustomNavigation/CustomNavAndContents */ \"./src/client/js/components/CustomNavigation/CustomNavAndContents.jsx\");\n/* harmony import */ var _PageList__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./PageList */ \"./src/client/js/components/PageList.jsx\");\n\n\n\n\n\n\n\nconst TrashPageList = props => {\n const {\n t\n } = props;\n const navTabMapping = Object(react__WEBPACK_IMPORTED_MODULE_0__[\"useMemo\"])(() => {\n return {\n pagelist: {\n Icon: _Icons_PageListIcon__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n Content: _PageList__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n i18n: t('page_list'),\n index: 0\n }\n };\n }, [t]);\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"mt-5 d-edit-none\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_CustomNavigation_CustomNavAndContents__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n navTabMapping: navTabMapping\n }));\n};\n\nTrashPageList.propTypes = {\n t: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired // i18next\n\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(react_i18next__WEBPACK_IMPORTED_MODULE_2__[\"withTranslation\"])()(TrashPageList));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvVHJhc2hQYWdlTGlzdC5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvVHJhc2hQYWdlTGlzdC5qc3g/MzYyMyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyB3aXRoVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcbmltcG9ydCBQYWdlTGlzdEljb24gZnJvbSAnLi9JY29ucy9QYWdlTGlzdEljb24nO1xuaW1wb3J0IEN1c3RvbU5hdkFuZENvbnRlbnRzIGZyb20gJy4vQ3VzdG9tTmF2aWdhdGlvbi9DdXN0b21OYXZBbmRDb250ZW50cyc7XG5pbXBvcnQgUGFnZUxpc3QgZnJvbSAnLi9QYWdlTGlzdCc7XG5cblxuY29uc3QgVHJhc2hQYWdlTGlzdCA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHByb3BzO1xuXG4gIGNvbnN0IG5hdlRhYk1hcHBpbmcgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgcGFnZWxpc3Q6IHtcbiAgICAgICAgSWNvbjogUGFnZUxpc3RJY29uLFxuICAgICAgICBDb250ZW50OiBQYWdlTGlzdCxcbiAgICAgICAgaTE4bjogdCgncGFnZV9saXN0JyksXG4gICAgICAgIGluZGV4OiAwLFxuICAgICAgfSxcbiAgICB9O1xuICB9LCBbdF0pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJtdC01IGQtZWRpdC1ub25lXCI+XG4gICAgICA8Q3VzdG9tTmF2QW5kQ29udGVudHMgbmF2VGFiTWFwcGluZz17bmF2VGFiTWFwcGluZ30gLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cblRyYXNoUGFnZUxpc3QucHJvcFR5cGVzID0ge1xuICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLCAvLyAgaTE4bmV4dFxufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFRyYW5zbGF0aW9uKCkoVHJhc2hQYWdlTGlzdCk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FBREE7QUFRQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRkE7QUFJQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/TrashPageList.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/User/LikerList.jsx":
- /*!*****************************************************!*\
- !*** ./src/client/js/components/User/LikerList.jsx ***!
- \*****************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _UserPictureList__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./UserPictureList */ \"./src/client/js/components/User/UserPictureList.jsx\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n\n\n\n\n\n\nclass LikerList extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n render() {\n const {\n pageContainer\n } = this.props;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"user-list-content text-truncate text-muted text-right\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"text-info\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"liker-user-count\"\n }, pageContainer.state.sumOfLikers), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-fw icon-like\"\n })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"mr-1\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_UserPictureList__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n users: pageContainer.state.likerUsers\n })));\n }\n\n}\n\nLikerList.propTypes = {\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]).isRequired\n};\n/**\n * Wrapper component for using unstated\n */\n\nconst LikerListWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_3__[\"withUnstatedContainers\"])(LikerList, [_services_PageContainer__WEBPACK_IMPORTED_MODULE_4__[\"default\"]]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (LikerListWrapper);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvVXNlci9MaWtlckxpc3QuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1VzZXIvTGlrZXJMaXN0LmpzeD9iMTIwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQgVXNlclBpY3R1cmVMaXN0IGZyb20gJy4vVXNlclBpY3R1cmVMaXN0JztcblxuaW1wb3J0IHsgd2l0aFVuc3RhdGVkQ29udGFpbmVycyB9IGZyb20gJy4uL1Vuc3RhdGVkVXRpbHMnO1xuXG5pbXBvcnQgUGFnZUNvbnRhaW5lciBmcm9tICcuLi8uLi9zZXJ2aWNlcy9QYWdlQ29udGFpbmVyJztcblxuY2xhc3MgTGlrZXJMaXN0IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBwYWdlQ29udGFpbmVyIH0gPSB0aGlzLnByb3BzO1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInVzZXItbGlzdC1jb250ZW50IHRleHQtdHJ1bmNhdGUgdGV4dC1tdXRlZCB0ZXh0LXJpZ2h0XCI+XG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtaW5mb1wiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImxpa2VyLXVzZXItY291bnRcIj57cGFnZUNvbnRhaW5lci5zdGF0ZS5zdW1PZkxpa2Vyc308L3NwYW4+XG4gICAgICAgICAgPGkgY2xhc3NOYW1lPVwiaWNvbi1mdyBpY29uLWxpa2VcIj48L2k+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwibXItMVwiPlxuICAgICAgICAgIDxVc2VyUGljdHVyZUxpc3QgdXNlcnM9e3BhZ2VDb250YWluZXIuc3RhdGUubGlrZXJVc2Vyc30gLz5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuXG59XG5cbkxpa2VyTGlzdC5wcm9wVHlwZXMgPSB7XG4gIHBhZ2VDb250YWluZXI6IFByb3BUeXBlcy5pbnN0YW5jZU9mKFBhZ2VDb250YWluZXIpLmlzUmVxdWlyZWQsXG59O1xuXG4vKipcbiAqIFdyYXBwZXIgY29tcG9uZW50IGZvciB1c2luZyB1bnN0YXRlZFxuICovXG5jb25zdCBMaWtlckxpc3RXcmFwcGVyID0gd2l0aFVuc3RhdGVkQ29udGFpbmVycyhMaWtlckxpc3QsIFtQYWdlQ29udGFpbmVyXSk7XG5cbmV4cG9ydCBkZWZhdWx0IChMaWtlckxpc3RXcmFwcGVyKTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUlBO0FBQ0E7QUFoQkE7QUFDQTtBQWtCQTtBQUNBO0FBREE7QUFJQTs7OztBQUdBO0FBRUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/User/LikerList.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/User/SeenUserInfo.jsx":
- /*!********************************************************!*\
- !*** ./src/client/js/components/User/SeenUserInfo.jsx ***!
- \********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! reactstrap/es/Button */ \"./node_modules/reactstrap/es/Button.js\");\n/* harmony import */ var reactstrap_es_Popover__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! reactstrap/es/Popover */ \"./node_modules/reactstrap/es/Popover.js\");\n/* harmony import */ var reactstrap_es_PopoverBody__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! reactstrap/es/PopoverBody */ \"./node_modules/reactstrap/es/PopoverBody.js\");\n/* harmony import */ var _UserPictureList__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./UserPictureList */ \"./src/client/js/components/User/UserPictureList.jsx\");\n/* harmony import */ var _UnstatedUtils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../UnstatedUtils */ \"./src/client/js/components/UnstatedUtils.jsx\");\n/* harmony import */ var _services_PageContainer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../services/PageContainer */ \"./src/client/js/services/PageContainer.js\");\n/* harmony import */ var _FootstampIcon__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../FootstampIcon */ \"./src/client/js/components/FootstampIcon.jsx\");\n// import React from 'react';\n\n\n\n\n\n\n\n\n\n/* eslint react/no-multi-comp: 0, react/prop-types: 0 */\n\nconst SeenUserInfo = props => {\n const [popoverOpen, setPopoverOpen] = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useState\"])(false);\n\n const toggle = () => setPopoverOpen(!popoverOpen);\n\n const {\n pageContainer,\n disabled\n } = props;\n return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"div\", {\n className: \"grw-seen-user-info\"\n }, react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(reactstrap_es_Button__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n id: \"po-seen-user\",\n color: \"link\",\n className: \"px-2\"\n }, react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"span\", {\n className: \"mr-1 footstamp-icon\"\n }, react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_FootstampIcon__WEBPACK_IMPORTED_MODULE_8__[\"default\"], null)), react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"span\", {\n className: \"seen-user-count\"\n }, pageContainer.state.countOfSeenUsers)), react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(reactstrap_es_Popover__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n placement: \"bottom\",\n isOpen: popoverOpen,\n target: \"po-seen-user\",\n toggle: toggle,\n trigger: \"legacy\",\n disabled: disabled\n }, react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(reactstrap_es_PopoverBody__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"seen-user-popover\"\n }, react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"div\", {\n className: \"px-2 text-right user-list-content text-truncate text-muted\"\n }, react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_UserPictureList__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n users: pageContainer.state.seenUsers\n })))));\n};\n\nSeenUserInfo.propTypes = {\n pageContainer: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.instanceOf(_services_PageContainer__WEBPACK_IMPORTED_MODULE_7__[\"default\"]).isRequired,\n disabled: prop_types__WEBPACK_IMPORTED_MODULE_0___default.a.bool\n};\n/**\n * Wrapper component for using unstated\n */\n\nconst SeenUserInfoWrapper = Object(_UnstatedUtils__WEBPACK_IMPORTED_MODULE_6__[\"withUnstatedContainers\"])(SeenUserInfo, [_services_PageContainer__WEBPACK_IMPORTED_MODULE_7__[\"default\"]]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (SeenUserInfoWrapper);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvVXNlci9TZWVuVXNlckluZm8uanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1VzZXIvU2VlblVzZXJJbmZvLmpzeD9hYWJhIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge1xuICBCdXR0b24sIFBvcG92ZXIsIFBvcG92ZXJCb2R5LFxufSBmcm9tICdyZWFjdHN0cmFwJztcbmltcG9ydCBVc2VyUGljdHVyZUxpc3QgZnJvbSAnLi9Vc2VyUGljdHVyZUxpc3QnO1xuXG5pbXBvcnQgeyB3aXRoVW5zdGF0ZWRDb250YWluZXJzIH0gZnJvbSAnLi4vVW5zdGF0ZWRVdGlscyc7XG5cbmltcG9ydCBQYWdlQ29udGFpbmVyIGZyb20gJy4uLy4uL3NlcnZpY2VzL1BhZ2VDb250YWluZXInO1xuXG5pbXBvcnQgRm9vdHN0YW1wSWNvbiBmcm9tICcuLi9Gb290c3RhbXBJY29uJztcblxuLyogZXNsaW50IHJlYWN0L25vLW11bHRpLWNvbXA6IDAsIHJlYWN0L3Byb3AtdHlwZXM6IDAgKi9cblxuY29uc3QgU2VlblVzZXJJbmZvID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IFtwb3BvdmVyT3Blbiwgc2V0UG9wb3Zlck9wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCB0b2dnbGUgPSAoKSA9PiBzZXRQb3BvdmVyT3BlbighcG9wb3Zlck9wZW4pO1xuICBjb25zdCB7IHBhZ2VDb250YWluZXIsIGRpc2FibGVkIH0gPSBwcm9wcztcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImdydy1zZWVuLXVzZXItaW5mb1wiPlxuICAgICAgPEJ1dHRvbiBpZD1cInBvLXNlZW4tdXNlclwiIGNvbG9yPVwibGlua1wiIGNsYXNzTmFtZT1cInB4LTJcIj5cbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwibXItMSBmb290c3RhbXAtaWNvblwiPjxGb290c3RhbXBJY29uIC8+PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJzZWVuLXVzZXItY291bnRcIj57cGFnZUNvbnRhaW5lci5zdGF0ZS5jb3VudE9mU2VlblVzZXJzfTwvc3Bhbj5cbiAgICAgIDwvQnV0dG9uPlxuICAgICAgPFBvcG92ZXIgcGxhY2VtZW50PVwiYm90dG9tXCIgaXNPcGVuPXtwb3BvdmVyT3Blbn0gdGFyZ2V0PVwicG8tc2Vlbi11c2VyXCIgdG9nZ2xlPXt0b2dnbGV9IHRyaWdnZXI9XCJsZWdhY3lcIiBkaXNhYmxlZD17ZGlzYWJsZWR9PlxuICAgICAgICA8UG9wb3ZlckJvZHkgY2xhc3NOYW1lPVwic2Vlbi11c2VyLXBvcG92ZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInB4LTIgdGV4dC1yaWdodCB1c2VyLWxpc3QtY29udGVudCB0ZXh0LXRydW5jYXRlIHRleHQtbXV0ZWRcIj5cbiAgICAgICAgICAgIDxVc2VyUGljdHVyZUxpc3QgdXNlcnM9e3BhZ2VDb250YWluZXIuc3RhdGUuc2VlblVzZXJzfSAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1BvcG92ZXJCb2R5PlxuICAgICAgPC9Qb3BvdmVyPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuU2VlblVzZXJJbmZvLnByb3BUeXBlcyA9IHtcbiAgcGFnZUNvbnRhaW5lcjogUHJvcFR5cGVzLmluc3RhbmNlT2YoUGFnZUNvbnRhaW5lcikuaXNSZXF1aXJlZCxcbiAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxufTtcblxuLyoqXG4gKiBXcmFwcGVyIGNvbXBvbmVudCBmb3IgdXNpbmcgdW5zdGF0ZWRcbiAqL1xuY29uc3QgU2VlblVzZXJJbmZvV3JhcHBlciA9IHdpdGhVbnN0YXRlZENvbnRhaW5lcnMoU2VlblVzZXJJbmZvLCBbUGFnZUNvbnRhaW5lcl0pO1xuXG5leHBvcnQgZGVmYXVsdCAoU2VlblVzZXJJbmZvV3JhcHBlcik7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTs7OztBQUlBO0FBRUE7QUFFQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFGQTtBQUtBOzs7O0FBR0E7QUFFQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/User/SeenUserInfo.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/User/UserDate.jsx":
- /*!****************************************************!*\
- !*** ./src/client/js/components/User/UserDate.jsx ***!
- \****************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return UserDate; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var date_fns__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! date-fns */ \"./node_modules/date-fns/esm/index.js\");\n\n\n\n/**\n * UserDate\n *\n * display date depends on user timezone of user settings\n */\n\nclass UserDate extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n render() {\n const date = new Date(this.props.dateTime);\n const dt = Object(date_fns__WEBPACK_IMPORTED_MODULE_2__[\"format\"])(date, this.props.format);\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: this.props.className\n }, dt);\n }\n\n}\nUserDate.propTypes = {\n dateTime: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string.isRequired,\n format: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n className: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string\n};\nUserDate.defaultProps = {\n format: 'yyyy/MM/dd HH:mm:ss',\n className: ''\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvVXNlci9Vc2VyRGF0ZS5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvVXNlci9Vc2VyRGF0ZS5qc3g/NjIzMCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuaW1wb3J0IHsgZm9ybWF0IH0gZnJvbSAnZGF0ZS1mbnMnO1xuXG4vKipcbiAqIFVzZXJEYXRlXG4gKlxuICogZGlzcGxheSBkYXRlIGRlcGVuZHMgb24gdXNlciB0aW1lem9uZSBvZiB1c2VyIHNldHRpbmdzXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFVzZXJEYXRlIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHRoaXMucHJvcHMuZGF0ZVRpbWUpO1xuICAgIGNvbnN0IGR0ID0gZm9ybWF0KGRhdGUsIHRoaXMucHJvcHMuZm9ybWF0KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8c3BhbiBjbGFzc05hbWU9e3RoaXMucHJvcHMuY2xhc3NOYW1lfT5cbiAgICAgICAge2R0fVxuICAgICAgPC9zcGFuPlxuICAgICk7XG4gIH1cblxufVxuXG5Vc2VyRGF0ZS5wcm9wVHlwZXMgPSB7XG4gIGRhdGVUaW1lOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIGZvcm1hdDogUHJvcFR5cGVzLnN0cmluZyxcbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuVXNlckRhdGUuZGVmYXVsdFByb3BzID0ge1xuICBmb3JtYXQ6ICd5eXl5L01NL2RkIEhIOm1tOnNzJyxcbiAgY2xhc3NOYW1lOiAnJyxcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBRUE7Ozs7OztBQUtBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBSUE7QUFDQTtBQVpBO0FBZUE7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQU1BO0FBQ0E7QUFDQTtBQUZBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/components/User/UserDate.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/User/UserInfo.jsx":
- /*!****************************************************!*\
- !*** ./src/client/js/components/User/UserInfo.jsx ***!
- \****************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _UserPicture__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./UserPicture */ \"./src/client/js/components/User/UserPicture.jsx\");\n\n\n\n\nconst UserInfo = props => {\n const {\n pageUser\n } = props; // do not display when the user does not exist\n\n if (pageUser == null) {\n return null;\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"grw-users-info d-flex align-items-center d-edit-none mb-5 pb-3 border-bottom\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_UserPicture__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n user: pageUser\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"users-meta\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"h1\", {\n className: \"user-page-name\"\n }, pageUser.name), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"user-page-meta mt-3 mb-0\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"user-page-username mr-4\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-user mr-1\"\n }), pageUser.username), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"user-page-email mr-2\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-envelope mr-1\"\n }), pageUser.isEmailPublished ? pageUser.email : '*****'), pageUser.introduction && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"user-page-introduction\"\n }, pageUser.introduction))));\n};\n\nUserInfo.propTypes = {\n pageUser: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (UserInfo);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvVXNlci9Vc2VySW5mby5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvVXNlci9Vc2VySW5mby5qc3g/OWJjNCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuaW1wb3J0IFVzZXJQaWN0dXJlIGZyb20gJy4vVXNlclBpY3R1cmUnO1xuXG5jb25zdCBVc2VySW5mbyA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IHBhZ2VVc2VyIH0gPSBwcm9wcztcblxuICAvLyBkbyBub3QgZGlzcGxheSB3aGVuIHRoZSB1c2VyIGRvZXMgbm90IGV4aXN0XG4gIGlmIChwYWdlVXNlciA9PSBudWxsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3J3LXVzZXJzLWluZm8gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBkLWVkaXQtbm9uZSBtYi01IHBiLTMgYm9yZGVyLWJvdHRvbVwiPlxuICAgICAgPFVzZXJQaWN0dXJlIHVzZXI9e3BhZ2VVc2VyfSAvPlxuXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInVzZXJzLW1ldGFcIj5cbiAgICAgICAgPGgxIGNsYXNzTmFtZT1cInVzZXItcGFnZS1uYW1lXCI+XG4gICAgICAgICAge3BhZ2VVc2VyLm5hbWV9XG4gICAgICAgIDwvaDE+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidXNlci1wYWdlLW1ldGEgbXQtMyBtYi0wXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidXNlci1wYWdlLXVzZXJuYW1lIG1yLTRcIj48aSBjbGFzc05hbWU9XCJpY29uLXVzZXIgbXItMVwiPjwvaT57cGFnZVVzZXIudXNlcm5hbWV9PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInVzZXItcGFnZS1lbWFpbCBtci0yXCI+XG4gICAgICAgICAgICA8aSBjbGFzc05hbWU9XCJpY29uLWVudmVsb3BlIG1yLTFcIj48L2k+XG4gICAgICAgICAgICB7cGFnZVVzZXIuaXNFbWFpbFB1Ymxpc2hlZCA/IHBhZ2VVc2VyLmVtYWlsIDogJyoqKioqJ31cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAge3BhZ2VVc2VyLmludHJvZHVjdGlvbiAmJiA8c3BhbiBjbGFzc05hbWU9XCJ1c2VyLXBhZ2UtaW50cm9kdWN0aW9uXCI+e3BhZ2VVc2VyLmludHJvZHVjdGlvbn08L3NwYW4+fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5cblVzZXJJbmZvLnByb3BUeXBlcyA9IHtcbiAgcGFnZVVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBVc2VySW5mbztcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFHQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUdBO0FBQUE7QUFNQTtBQUNBO0FBRUE7QUFDQTtBQURBO0FBSUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/User/UserInfo.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/User/UserPictureList.jsx":
- /*!***********************************************************!*\
- !*** ./src/client/js/components/User/UserPictureList.jsx ***!
- \***********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return UserPictureList; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _UserPicture__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./UserPicture */ \"./src/client/js/components/User/UserPicture.jsx\");\n\n\n\nclass UserPictureList extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n render() {\n return this.props.users.map(user => react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n key: user._id\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_UserPicture__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n user: user,\n size: \"xs\"\n })));\n }\n\n}\nUserPictureList.propTypes = {\n users: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object)\n};\nUserPictureList.defaultProps = {\n users: []\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvVXNlci9Vc2VyUGljdHVyZUxpc3QuanN4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9jb21wb25lbnRzL1VzZXIvVXNlclBpY3R1cmVMaXN0LmpzeD81YjJlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQgVXNlclBpY3R1cmUgZnJvbSAnLi9Vc2VyUGljdHVyZSc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFVzZXJQaWN0dXJlTGlzdCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG5cbiAgcmVuZGVyKCkge1xuICAgIHJldHVybiB0aGlzLnByb3BzLnVzZXJzLm1hcCh1c2VyID0+IChcbiAgICAgIDxzcGFuIGtleT17dXNlci5faWR9PlxuICAgICAgICA8VXNlclBpY3R1cmUgdXNlcj17dXNlcn0gc2l6ZT1cInhzXCIgLz5cbiAgICAgIDwvc3Bhbj5cbiAgICApKTtcbiAgfVxuXG59XG5cblVzZXJQaWN0dXJlTGlzdC5wcm9wVHlwZXMgPSB7XG4gIHVzZXJzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMub2JqZWN0KSxcbn07XG5cblVzZXJQaWN0dXJlTGlzdC5kZWZhdWx0UHJvcHMgPSB7XG4gIHVzZXJzOiBbXSxcbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUdBO0FBQ0E7QUFUQTtBQVlBO0FBQ0E7QUFEQTtBQUlBO0FBQ0E7QUFEQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/components/User/UserPictureList.jsx\n");
- /***/ }),
- /***/ "./src/client/js/components/User/Username.jsx":
- /*!****************************************************!*\
- !*** ./src/client/js/components/User/Username.jsx ***!
- \****************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Username; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n\n\nclass Username extends react__WEBPACK_IMPORTED_MODULE_0___default.a.Component {\n renderForNull() {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", null, \"anyone\");\n }\n\n render() {\n const {\n user\n } = this.props;\n\n if (user == null) {\n return this.renderForNull();\n }\n\n const name = user.name || '(no name)';\n const username = user.username;\n const href = `/user/${user.username}`;\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: href\n }, name, \" (@\", username, \")\");\n }\n\n}\nUsername.propTypes = {\n user: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string]) // Possibility of receiving a string of 'null'\n\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvVXNlci9Vc2VybmFtZS5qc3guanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL2NvbXBvbmVudHMvVXNlci9Vc2VybmFtZS5qc3g/ZWNlZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVXNlcm5hbWUgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuXG4gIHJlbmRlckZvck51bGwoKSB7XG4gICAgcmV0dXJuIDxzcGFuPmFueW9uZTwvc3Bhbj47XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyB1c2VyIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKHVzZXIgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMucmVuZGVyRm9yTnVsbCgpO1xuICAgIH1cblxuICAgIGNvbnN0IG5hbWUgPSB1c2VyLm5hbWUgfHwgJyhubyBuYW1lKSc7XG4gICAgY29uc3QgdXNlcm5hbWUgPSB1c2VyLnVzZXJuYW1lO1xuICAgIGNvbnN0IGhyZWYgPSBgL3VzZXIvJHt1c2VyLnVzZXJuYW1lfWA7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGEgaHJlZj17aHJlZn0+e25hbWV9IChAe3VzZXJuYW1lfSk8L2E+XG4gICAgKTtcbiAgfVxuXG59XG5cblVzZXJuYW1lLnByb3BUeXBlcyA9IHtcbiAgdXNlcjogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9iamVjdCwgUHJvcFR5cGVzLnN0cmluZ10pLCAvLyBQb3NzaWJpbGl0eSBvZiByZWNlaXZpbmcgYSBzdHJpbmcgb2YgJ251bGwnXG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFyQkE7QUF3QkE7QUFDQTtBQUNBO0FBRkEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/components/User/Username.jsx\n");
- /***/ }),
- /***/ "./src/client/js/models/BootstrapGrid.js":
- /*!***********************************************!*\
- !*** ./src/client/js/models/BootstrapGrid.js ***!
- \***********************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return BootstrapGrid; });\nclass BootstrapGrid {\n constructor(colsRatios, responsiveSize) {\n this.colsRatios = BootstrapGrid.validateColsRatios(colsRatios);\n this.responsiveSize = BootstrapGrid.validateResponsiveSize(responsiveSize);\n }\n\n static validateColsRatios(colsRatios) {\n if (colsRatios.length < 2 || colsRatios.length > 4) {\n throw new Error('Incorrect array length of cols ratios');\n }\n\n const ratiosTotal = colsRatios.reduce((total, ratio) => {\n return total + ratio;\n }, 0);\n\n if (ratiosTotal !== 12) {\n throw new Error('Incorrect cols ratios value');\n }\n\n return colsRatios;\n }\n\n static validateResponsiveSize(responsiveSize) {\n if (responsiveSize === this.ResponsiveSize.XS_SIZE || responsiveSize === this.ResponsiveSize.SM_SIZE || responsiveSize === this.ResponsiveSize.MD_SIZE) {\n return responsiveSize;\n }\n\n throw new Error('Incorrect responsive size');\n }\n\n}\nBootstrapGrid.ResponsiveSize = {\n XS_SIZE: 'xs',\n SM_SIZE: 'sm',\n MD_SIZE: 'md'\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL21vZGVscy9Cb290c3RyYXBHcmlkLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9tb2RlbHMvQm9vdHN0cmFwR3JpZC5qcz9mOGY5Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGNsYXNzIEJvb3RzdHJhcEdyaWQge1xuXG4gIGNvbnN0cnVjdG9yKGNvbHNSYXRpb3MsIHJlc3BvbnNpdmVTaXplKSB7XG4gICAgdGhpcy5jb2xzUmF0aW9zID0gQm9vdHN0cmFwR3JpZC52YWxpZGF0ZUNvbHNSYXRpb3MoY29sc1JhdGlvcyk7XG4gICAgdGhpcy5yZXNwb25zaXZlU2l6ZSA9IEJvb3RzdHJhcEdyaWQudmFsaWRhdGVSZXNwb25zaXZlU2l6ZShyZXNwb25zaXZlU2l6ZSk7XG4gIH1cblxuICBzdGF0aWMgUmVzcG9uc2l2ZVNpemUgPSB7XG4gICAgWFNfU0laRTogJ3hzJywgU01fU0laRTogJ3NtJywgTURfU0laRTogJ21kJyxcbiAgfVxuXG4gIHN0YXRpYyB2YWxpZGF0ZUNvbHNSYXRpb3MoY29sc1JhdGlvcykge1xuXG4gICAgaWYgKGNvbHNSYXRpb3MubGVuZ3RoIDwgMiB8fCBjb2xzUmF0aW9zLmxlbmd0aCA+IDQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW5jb3JyZWN0IGFycmF5IGxlbmd0aCBvZiBjb2xzIHJhdGlvcycpO1xuICAgIH1cbiAgICBjb25zdCByYXRpb3NUb3RhbCA9IGNvbHNSYXRpb3MucmVkdWNlKCh0b3RhbCwgcmF0aW8pID0+IHsgcmV0dXJuIHRvdGFsICsgcmF0aW8gfSwgMCk7XG4gICAgaWYgKHJhdGlvc1RvdGFsICE9PSAxMikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbmNvcnJlY3QgY29scyByYXRpb3MgdmFsdWUnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29sc1JhdGlvcztcbiAgfVxuXG4gIHN0YXRpYyB2YWxpZGF0ZVJlc3BvbnNpdmVTaXplKHJlc3BvbnNpdmVTaXplKSB7XG4gICAgaWYgKHJlc3BvbnNpdmVTaXplID09PSB0aGlzLlJlc3BvbnNpdmVTaXplLlhTX1NJWkVcbiAgICAgIHx8IHJlc3BvbnNpdmVTaXplID09PSB0aGlzLlJlc3BvbnNpdmVTaXplLlNNX1NJWkVcbiAgICAgIHx8IHJlc3BvbnNpdmVTaXplID09PSB0aGlzLlJlc3BvbnNpdmVTaXplLk1EX1NJWkUpIHtcbiAgICAgIHJldHVybiByZXNwb25zaXZlU2l6ZTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbmNvcnJlY3QgcmVzcG9uc2l2ZSBzaXplJyk7XG4gIH1cblxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBaENBO0FBQUE7QUFRQTtBQUFBO0FBQUE7QUFEQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/models/BootstrapGrid.js\n");
- /***/ }),
- /***/ "./src/client/js/models/Linker.js":
- /*!****************************************!*\
- !*** ./src/client/js/models/Linker.js ***!
- \****************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Linker; });\nclass Linker {\n constructor(type = Linker.types.markdownLink, label = '', link = '') {\n this.type = type;\n this.label = label;\n this.link = link;\n this.generateMarkdownText = this.generateMarkdownText.bind(this);\n }\n\n generateMarkdownText() {\n if (this.type === Linker.types.pukiwikiLink) {\n if (this.label === this.link) return `[[${this.link}]]`;\n return `[[${this.label}>${this.link}]]`;\n }\n\n if (this.type === Linker.types.growiLink) {\n return `[${this.link}]`;\n }\n\n if (this.type === Linker.types.markdownLink) {\n return `[${this.label}](${this.link})`;\n }\n } // create an instance of Linker from string\n\n\n static fromMarkdownString(str) {\n // if str doesn't mean a linker, create a link whose label is str\n let label = str;\n let link = '';\n let type = this.types.markdownLink; // pukiwiki with separator \">\".\n\n if (str.match(this.patterns.pukiwikiLinkWithLabel)) {\n type = this.types.pukiwikiLink;\n ({\n label,\n link\n } = str.match(this.patterns.pukiwikiLinkWithLabel).groups);\n } // pukiwiki without separator \">\".\n else if (str.match(this.patterns.pukiwikiLinkWithoutLabel)) {\n type = this.types.pukiwikiLink;\n ({\n label\n } = str.match(this.patterns.pukiwikiLinkWithoutLabel).groups);\n link = label;\n } // markdown\n else if (str.match(this.patterns.markdownLink)) {\n type = this.types.markdownLink;\n ({\n label,\n link\n } = str.match(this.patterns.markdownLink).groups);\n } // growi\n else if (str.match(this.patterns.growiLink)) {\n type = this.types.growiLink;\n ({\n label\n } = str.match(this.patterns.growiLink).groups);\n link = label;\n }\n\n return new Linker(type, label, link);\n } // create an instance of Linker from text with index\n\n\n static fromLineWithIndex(line, index) {\n const {\n beginningOfLink,\n endOfLink\n } = this.getBeginningAndEndIndexOfLink(line, index); // if index is in a link, extract it from line\n\n let linkStr = '';\n\n if (beginningOfLink >= 0 && endOfLink >= 0) {\n linkStr = line.substring(beginningOfLink, endOfLink);\n }\n\n return this.fromMarkdownString(linkStr);\n } // return beginning and end indexies of link\n // if index is not in a link, return { beginningOfLink: -1, endOfLink: -1 }\n\n\n static getBeginningAndEndIndexOfLink(line, index) {\n let beginningOfLink;\n let endOfLink; // pukiwiki link ('[[link]]')\n\n [beginningOfLink, endOfLink] = this.getBeginningAndEndIndexWithPrefixAndSuffix(line, index, '[[', ']]'); // markdown link ('[label](link)')\n\n if (beginningOfLink < 0 || endOfLink < 0 || beginningOfLink > index || endOfLink < index) {\n [beginningOfLink, endOfLink] = this.getBeginningAndEndIndexWithPrefixAndSuffix(line, index, '[', ')', '](');\n } // growi link ('[/link]')\n\n\n if (beginningOfLink < 0 || endOfLink < 0 || beginningOfLink > index || endOfLink < index) {\n [beginningOfLink, endOfLink] = this.getBeginningAndEndIndexWithPrefixAndSuffix(line, index, '[/', ']');\n } // return { beginningOfLink: -1, endOfLink: -1 }\n\n\n if (beginningOfLink < 0 || endOfLink < 0 || beginningOfLink > index || endOfLink < index) {\n [beginningOfLink, endOfLink] = [-1, -1];\n }\n\n return {\n beginningOfLink,\n endOfLink\n };\n } // return begin and end indexies as array only when index is between prefix and suffix and link contains containText.\n\n\n static getBeginningAndEndIndexWithPrefixAndSuffix(line, index, prefix, suffix, containText = '') {\n const beginningIndex = line.lastIndexOf(prefix, index);\n const IndexOfContainText = line.indexOf(containText, beginningIndex + prefix.length);\n const endIndex = line.indexOf(suffix, IndexOfContainText + containText.length);\n\n if (beginningIndex < 0 || IndexOfContainText < 0 || endIndex < 0) {\n return [-1, -1];\n }\n\n return [beginningIndex, endIndex + suffix.length];\n }\n\n}\nLinker.types = {\n markdownLink: 'mdLink',\n growiLink: 'growiLink',\n pukiwikiLink: 'pukiwikiLink'\n};\nLinker.patterns = {\n pukiwikiLinkWithLabel: /^\\[\\[(?<label>.+)>(?<link>.+)\\]\\]$/,\n // https://regex101.com/r/2fNmUN/2\n pukiwikiLinkWithoutLabel: /^\\[\\[(?<label>.+)\\]\\]$/,\n // https://regex101.com/r/S7w5Xu/1\n growiLink: /^\\[(?<label>\\/.+)\\]$/,\n // https://regex101.com/r/DJfkYf/3\n markdownLink: /^\\[(?<label>.*)\\]\\((?<link>.*)\\)$/ // https://regex101.com/r/DZCKP3/2\n\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL21vZGVscy9MaW5rZXIuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL21vZGVscy9MaW5rZXIuanM/MGEzMiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBjbGFzcyBMaW5rZXIge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgdHlwZSA9IExpbmtlci50eXBlcy5tYXJrZG93bkxpbmssXG4gICAgICBsYWJlbCA9ICcnLFxuICAgICAgbGluayA9ICcnLFxuICApIHtcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgIHRoaXMubGFiZWwgPSBsYWJlbDtcbiAgICB0aGlzLmxpbmsgPSBsaW5rO1xuXG4gICAgdGhpcy5nZW5lcmF0ZU1hcmtkb3duVGV4dCA9IHRoaXMuZ2VuZXJhdGVNYXJrZG93blRleHQuYmluZCh0aGlzKTtcbiAgfVxuXG4gIHN0YXRpYyB0eXBlcyA9IHtcbiAgICBtYXJrZG93bkxpbms6ICdtZExpbmsnLFxuICAgIGdyb3dpTGluazogJ2dyb3dpTGluaycsXG4gICAgcHVraXdpa2lMaW5rOiAncHVraXdpa2lMaW5rJyxcbiAgfVxuXG4gIHN0YXRpYyBwYXR0ZXJucyA9IHtcbiAgICBwdWtpd2lraUxpbmtXaXRoTGFiZWw6IC9eXFxbXFxbKD88bGFiZWw+LispPig/PGxpbms+LispXFxdXFxdJC8sIC8vIGh0dHBzOi8vcmVnZXgxMDEuY29tL3IvMmZObVVOLzJcbiAgICBwdWtpd2lraUxpbmtXaXRob3V0TGFiZWw6IC9eXFxbXFxbKD88bGFiZWw+LispXFxdXFxdJC8sIC8vIGh0dHBzOi8vcmVnZXgxMDEuY29tL3IvUzd3NVh1LzFcbiAgICBncm93aUxpbms6IC9eXFxbKD88bGFiZWw+XFwvLispXFxdJC8sIC8vIGh0dHBzOi8vcmVnZXgxMDEuY29tL3IvREpma1lmLzNcbiAgICBtYXJrZG93bkxpbms6IC9eXFxbKD88bGFiZWw+LiopXFxdXFwoKD88bGluaz4uKilcXCkkLywgLy8gaHR0cHM6Ly9yZWdleDEwMS5jb20vci9EWkNLUDMvMlxuICB9XG5cbiAgZ2VuZXJhdGVNYXJrZG93blRleHQoKSB7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gTGlua2VyLnR5cGVzLnB1a2l3aWtpTGluaykge1xuICAgICAgaWYgKHRoaXMubGFiZWwgPT09IHRoaXMubGluaykgcmV0dXJuIGBbWyR7dGhpcy5saW5rfV1dYDtcbiAgICAgIHJldHVybiBgW1ske3RoaXMubGFiZWx9PiR7dGhpcy5saW5rfV1dYDtcbiAgICB9XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gTGlua2VyLnR5cGVzLmdyb3dpTGluaykge1xuICAgICAgcmV0dXJuIGBbJHt0aGlzLmxpbmt9XWA7XG4gICAgfVxuICAgIGlmICh0aGlzLnR5cGUgPT09IExpbmtlci50eXBlcy5tYXJrZG93bkxpbmspIHtcbiAgICAgIHJldHVybiBgWyR7dGhpcy5sYWJlbH1dKCR7dGhpcy5saW5rfSlgO1xuICAgIH1cbiAgfVxuXG4gIC8vIGNyZWF0ZSBhbiBpbnN0YW5jZSBvZiBMaW5rZXIgZnJvbSBzdHJpbmdcbiAgc3RhdGljIGZyb21NYXJrZG93blN0cmluZyhzdHIpIHtcbiAgICAvLyBpZiBzdHIgZG9lc24ndCBtZWFuIGEgbGlua2VyLCBjcmVhdGUgYSBsaW5rIHdob3NlIGxhYmVsIGlzIHN0clxuICAgIGxldCBsYWJlbCA9IHN0cjtcbiAgICBsZXQgbGluayA9ICcnO1xuICAgIGxldCB0eXBlID0gdGhpcy50eXBlcy5tYXJrZG93bkxpbms7XG5cbiAgICAvLyBwdWtpd2lraSB3aXRoIHNlcGFyYXRvciBcIj5cIi5cbiAgICBpZiAoc3RyLm1hdGNoKHRoaXMucGF0dGVybnMucHVraXdpa2lMaW5rV2l0aExhYmVsKSkge1xuICAgICAgdHlwZSA9IHRoaXMudHlwZXMucHVraXdpa2lMaW5rO1xuICAgICAgKHsgbGFiZWwsIGxpbmsgfSA9IHN0ci5tYXRjaCh0aGlzLnBhdHRlcm5zLnB1a2l3aWtpTGlua1dpdGhMYWJlbCkuZ3JvdXBzKTtcbiAgICB9XG4gICAgLy8gcHVraXdpa2kgd2l0aG91dCBzZXBhcmF0b3IgXCI+XCIuXG4gICAgZWxzZSBpZiAoc3RyLm1hdGNoKHRoaXMucGF0dGVybnMucHVraXdpa2lMaW5rV2l0aG91dExhYmVsKSkge1xuICAgICAgdHlwZSA9IHRoaXMudHlwZXMucHVraXdpa2lMaW5rO1xuICAgICAgKHsgbGFiZWwgfSA9IHN0ci5tYXRjaCh0aGlzLnBhdHRlcm5zLnB1a2l3aWtpTGlua1dpdGhvdXRMYWJlbCkuZ3JvdXBzKTtcbiAgICAgIGxpbmsgPSBsYWJlbDtcbiAgICB9XG4gICAgLy8gbWFya2Rvd25cbiAgICBlbHNlIGlmIChzdHIubWF0Y2godGhpcy5wYXR0ZXJucy5tYXJrZG93bkxpbmspKSB7XG4gICAgICB0eXBlID0gdGhpcy50eXBlcy5tYXJrZG93bkxpbms7XG4gICAgICAoeyBsYWJlbCwgbGluayB9ID0gc3RyLm1hdGNoKHRoaXMucGF0dGVybnMubWFya2Rvd25MaW5rKS5ncm91cHMpO1xuICAgIH1cbiAgICAvLyBncm93aVxuICAgIGVsc2UgaWYgKHN0ci5tYXRjaCh0aGlzLnBhdHRlcm5zLmdyb3dpTGluaykpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnR5cGVzLmdyb3dpTGluaztcbiAgICAgICh7IGxhYmVsIH0gPSBzdHIubWF0Y2godGhpcy5wYXR0ZXJucy5ncm93aUxpbmspLmdyb3Vwcyk7XG4gICAgICBsaW5rID0gbGFiZWw7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBMaW5rZXIoXG4gICAgICB0eXBlLFxuICAgICAgbGFiZWwsXG4gICAgICBsaW5rLFxuICAgICk7XG4gIH1cblxuICAvLyBjcmVhdGUgYW4gaW5zdGFuY2Ugb2YgTGlua2VyIGZyb20gdGV4dCB3aXRoIGluZGV4XG4gIHN0YXRpYyBmcm9tTGluZVdpdGhJbmRleChsaW5lLCBpbmRleCkge1xuICAgIGNvbnN0IHsgYmVnaW5uaW5nT2ZMaW5rLCBlbmRPZkxpbmsgfSA9IHRoaXMuZ2V0QmVnaW5uaW5nQW5kRW5kSW5kZXhPZkxpbmsobGluZSwgaW5kZXgpO1xuICAgIC8vIGlmIGluZGV4IGlzIGluIGEgbGluaywgZXh0cmFjdCBpdCBmcm9tIGxpbmVcbiAgICBsZXQgbGlua1N0ciA9ICcnO1xuICAgIGlmIChiZWdpbm5pbmdPZkxpbmsgPj0gMCAmJiBlbmRPZkxpbmsgPj0gMCkge1xuICAgICAgbGlua1N0ciA9IGxpbmUuc3Vic3RyaW5nKGJlZ2lubmluZ09mTGluaywgZW5kT2ZMaW5rKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZnJvbU1hcmtkb3duU3RyaW5nKGxpbmtTdHIpO1xuICB9XG5cbiAgLy8gcmV0dXJuIGJlZ2lubmluZyBhbmQgZW5kIGluZGV4aWVzIG9mIGxpbmtcbiAgLy8gaWYgaW5kZXggaXMgbm90IGluIGEgbGluaywgcmV0dXJuIHsgYmVnaW5uaW5nT2ZMaW5rOiAtMSwgZW5kT2ZMaW5rOiAtMSB9XG4gIHN0YXRpYyBnZXRCZWdpbm5pbmdBbmRFbmRJbmRleE9mTGluayhsaW5lLCBpbmRleCkge1xuICAgIGxldCBiZWdpbm5pbmdPZkxpbms7XG4gICAgbGV0IGVuZE9mTGluaztcblxuICAgIC8vIHB1a2l3aWtpIGxpbmsgKCdbW2xpbmtdXScpXG4gICAgW2JlZ2lubmluZ09mTGluaywgZW5kT2ZMaW5rXSA9IHRoaXMuZ2V0QmVnaW5uaW5nQW5kRW5kSW5kZXhXaXRoUHJlZml4QW5kU3VmZml4KGxpbmUsIGluZGV4LCAnW1snLCAnXV0nKTtcblxuICAgIC8vIG1hcmtkb3duIGxpbmsgKCdbbGFiZWxdKGxpbmspJylcbiAgICBpZiAoYmVnaW5uaW5nT2ZMaW5rIDwgMCB8fCBlbmRPZkxpbmsgPCAwIHx8IGJlZ2lubmluZ09mTGluayA+IGluZGV4IHx8IGVuZE9mTGluayA8IGluZGV4KSB7XG4gICAgICBbYmVnaW5uaW5nT2ZMaW5rLCBlbmRPZkxpbmtdID0gdGhpcy5nZXRCZWdpbm5pbmdBbmRFbmRJbmRleFdpdGhQcmVmaXhBbmRTdWZmaXgobGluZSwgaW5kZXgsICdbJywgJyknLCAnXSgnKTtcbiAgICB9XG5cbiAgICAvLyBncm93aSBsaW5rICgnWy9saW5rXScpXG4gICAgaWYgKGJlZ2lubmluZ09mTGluayA8IDAgfHwgZW5kT2ZMaW5rIDwgMCB8fCBiZWdpbm5pbmdPZkxpbmsgPiBpbmRleCB8fCBlbmRPZkxpbmsgPCBpbmRleCkge1xuICAgICAgW2JlZ2lubmluZ09mTGluaywgZW5kT2ZMaW5rXSA9IHRoaXMuZ2V0QmVnaW5uaW5nQW5kRW5kSW5kZXhXaXRoUHJlZml4QW5kU3VmZml4KGxpbmUsIGluZGV4LCAnWy8nLCAnXScpO1xuICAgIH1cblxuICAgIC8vIHJldHVybiB7IGJlZ2lubmluZ09mTGluazogLTEsIGVuZE9mTGluazogLTEgfVxuICAgIGlmIChiZWdpbm5pbmdPZkxpbmsgPCAwIHx8IGVuZE9mTGluayA8IDAgfHwgYmVnaW5uaW5nT2ZMaW5rID4gaW5kZXggfHwgZW5kT2ZMaW5rIDwgaW5kZXgpIHtcbiAgICAgIFtiZWdpbm5pbmdPZkxpbmssIGVuZE9mTGlua10gPSBbLTEsIC0xXTtcbiAgICB9XG5cbiAgICByZXR1cm4geyBiZWdpbm5pbmdPZkxpbmssIGVuZE9mTGluayB9O1xuICB9XG5cbiAgLy8gcmV0dXJuIGJlZ2luIGFuZCBlbmQgaW5kZXhpZXMgYXMgYXJyYXkgb25seSB3aGVuIGluZGV4IGlzIGJldHdlZW4gcHJlZml4IGFuZCBzdWZmaXggYW5kIGxpbmsgY29udGFpbnMgY29udGFpblRleHQuXG4gIHN0YXRpYyBnZXRCZWdpbm5pbmdBbmRFbmRJbmRleFdpdGhQcmVmaXhBbmRTdWZmaXgobGluZSwgaW5kZXgsIHByZWZpeCwgc3VmZml4LCBjb250YWluVGV4dCA9ICcnKSB7XG4gICAgY29uc3QgYmVnaW5uaW5nSW5kZXggPSBsaW5lLmxhc3RJbmRleE9mKHByZWZpeCwgaW5kZXgpO1xuICAgIGNvbnN0IEluZGV4T2ZDb250YWluVGV4dCA9IGxpbmUuaW5kZXhPZihjb250YWluVGV4dCwgYmVnaW5uaW5nSW5kZXggKyBwcmVmaXgubGVuZ3RoKTtcbiAgICBjb25zdCBlbmRJbmRleCA9IGxpbmUuaW5kZXhPZihzdWZmaXgsIEluZGV4T2ZDb250YWluVGV4dCArIGNvbnRhaW5UZXh0Lmxlbmd0aCk7XG5cbiAgICBpZiAoYmVnaW5uaW5nSW5kZXggPCAwIHx8IEluZGV4T2ZDb250YWluVGV4dCA8IDAgfHwgZW5kSW5kZXggPCAwKSB7XG4gICAgICByZXR1cm4gWy0xLCAtMV07XG4gICAgfVxuICAgIHJldHVybiBbYmVnaW5uaW5nSW5kZXgsIGVuZEluZGV4ICsgc3VmZml4Lmxlbmd0aF07XG4gIH1cblxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFFQTtBQUtBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQWNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFIQTtBQU1BO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUpBO0FBT0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBSEE7QUFNQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQURBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQTlIQTtBQUFBO0FBZUE7QUFDQTtBQUNBO0FBSEE7QUFkQTtBQXFCQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBTEEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/models/Linker.js\n");
- /***/ }),
- /***/ "./src/client/js/models/MarkdownTable.js":
- /*!***********************************************!*\
- !*** ./src/client/js/models/MarkdownTable.js ***!
- \***********************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return MarkdownTable; });\n/* harmony import */ var markdown_table__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! markdown-table */ \"./node_modules/markdown-table/index.js\");\n/* harmony import */ var markdown_table__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(markdown_table__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var string_width__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! string-width */ \"./node_modules/string-width/index.js\");\n/* harmony import */ var string_width__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(string_width__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var csv_to_markdown_table__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! csv-to-markdown-table */ \"./node_modules/csv-to-markdown-table/lib/CsvToMarkdown.js\");\n/* harmony import */ var csv_to_markdown_table__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(csv_to_markdown_table__WEBPACK_IMPORTED_MODULE_2__);\n\n\n // https://github.com/markdown-it/markdown-it/blob/d29f421927e93e88daf75f22089a3e732e195bd2/lib/rules_block/table.js#L83\n// https://regex101.com/r/7BN2fR/7\n\nconst tableAlignmentLineRE = /^[-:|][-:|\\s]*$/;\nconst tableAlignmentLineNegRE = /^[^-:]*$/; // it is need to check to ignore empty row which is matched above RE\n\nconst linePartOfTableRE = /^\\|[^\\r\\n]*|[^\\r\\n]*\\|$|([^|\\r\\n]+\\|[^|\\r\\n]*)+/; // own idea\n// set up DOMParser\n\nconst domParser = new window.DOMParser();\nconst defaultOptions = {\n stringLength: string_width__WEBPACK_IMPORTED_MODULE_1___default.a\n};\n/**\n * markdown table class for markdown-table module\n * ref. https://github.com/wooorm/markdown-table\n */\n\nclass MarkdownTable {\n constructor(table, options) {\n this.table = table || [];\n this.options = Object.assign(options || {}, defaultOptions);\n this.toString = this.toString.bind(this);\n }\n\n toString() {\n return markdown_table__WEBPACK_IMPORTED_MODULE_0___default()(this.table, this.options);\n }\n /**\n * returns cloned Markdowntable instance\n * (This method clones only the table field.)\n */\n\n\n clone() {\n const newTable = [];\n\n for (let i = 0; i < this.table.length; i++) {\n newTable.push([].concat(this.table[i]));\n }\n\n return new MarkdownTable(newTable, this.options);\n }\n /**\n * normalize all cell data(trim & convert the newline character to space or pad '' if cell data is null)\n */\n\n\n normalizeCells() {\n for (let i = 0; i < this.table.length; i++) {\n for (let j = 0; j < this.table[i].length; j++) {\n if (this.table[i][j] != null) {\n this.table[i][j] = this.table[i][j].trim().replace(/\\r?\\n/g, ' ');\n } else {\n this.table[i][j] = '';\n }\n }\n }\n\n return this;\n }\n /**\n * return a MarkdownTable instance made from a string of HTML table tag\n *\n * If a parser error occurs, an error object with an error message is thrown.\n * The error message is a innerHTML, so must not assign it into element.innerHTML because it can lead to Mutation-based XSS\n */\n\n\n static fromHTMLTableTag(str) {\n // use DOMParser to prevent DOM based XSS (https://developer.mozilla.org/en-US/docs/Web/API/DOMParser)\n const dom = domParser.parseFromString(str, 'application/xml');\n\n if (dom.querySelector('parsererror')) {\n throw new Error(dom.documentElement.innerHTML);\n }\n\n const tableElement = dom.querySelector('table');\n const trElements = tableElement.querySelectorAll('tr');\n const table = [];\n let maxRowSize = 0;\n\n for (let i = 0; i < trElements.length; i++) {\n const row = [];\n const cellElements = trElements[i].querySelectorAll('th,td');\n\n for (let j = 0; j < cellElements.length; j++) {\n row.push(cellElements[j].innerHTML);\n }\n\n table.push(row);\n if (maxRowSize < row.length) maxRowSize = row.length;\n }\n\n const align = [];\n\n for (let i = 0; i < maxRowSize; i++) {\n align.push('');\n }\n\n return new MarkdownTable(table, {\n align\n });\n }\n /**\n * return a MarkdownTable instance made from a string of delimiter-separated values\n */\n\n\n static fromDSV(str, delimiter) {\n return MarkdownTable.fromMarkdownString(csv_to_markdown_table__WEBPACK_IMPORTED_MODULE_2___default()(str, delimiter, true));\n }\n /**\n * return a MarkdownTable instance\n * ref. https://github.com/wooorm/markdown-table\n * @param {string} str markdown string\n */\n\n\n static fromMarkdownString(str) {\n const arrMDTableLines = str.split(/(\\r\\n|\\r|\\n)/);\n const contents = [];\n let aligns = [];\n\n for (let n = 0; n < arrMDTableLines.length; n++) {\n const line = arrMDTableLines[n];\n\n if (tableAlignmentLineRE.test(line) && !tableAlignmentLineNegRE.test(line)) {\n // parse line which described alignment\n const alignRuleRE = [{\n align: 'c',\n regex: /^:-+:$/\n }, {\n align: 'l',\n regex: /^:-+$/\n }, {\n align: 'r',\n regex: /^-+:$/\n }];\n let lineText = '';\n lineText = line.replace(/^\\||\\|$/g, ''); // strip off pipe charactor which is placed head of line and last of line.\n\n lineText = lineText.replace(/\\s*/g, '');\n aligns = lineText.split(/\\|/).map(col => {\n const rule = alignRuleRE.find(rule => {\n return col.match(rule.regex);\n });\n return rule != null ? rule.align : '';\n });\n } else if (linePartOfTableRE.test(line)) {\n // parse line whether header or body\n let lineText = '';\n lineText = line.replace(/\\s*\\|\\s*/g, '|');\n lineText = lineText.replace(/^\\||\\|$/g, ''); // strip off pipe charactor which is placed head of line and last of line.\n\n const row = lineText.split(/\\|/);\n contents.push(row);\n }\n }\n\n return new MarkdownTable(contents, {\n align: aligns\n });\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL21vZGVscy9NYXJrZG93blRhYmxlLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9tb2RlbHMvTWFya2Rvd25UYWJsZS5qcz84OTc4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtYXJrZG93blRhYmxlIGZyb20gJ21hcmtkb3duLXRhYmxlJztcbmltcG9ydCBzdHJpbmdXaWR0aCBmcm9tICdzdHJpbmctd2lkdGgnO1xuaW1wb3J0IGNzdlRvTWFya2Rvd24gZnJvbSAnY3N2LXRvLW1hcmtkb3duLXRhYmxlJztcblxuLy8gaHR0cHM6Ly9naXRodWIuY29tL21hcmtkb3duLWl0L21hcmtkb3duLWl0L2Jsb2IvZDI5ZjQyMTkyN2U5M2U4OGRhZjc1ZjIyMDg5YTNlNzMyZTE5NWJkMi9saWIvcnVsZXNfYmxvY2svdGFibGUuanMjTDgzXG4vLyBodHRwczovL3JlZ2V4MTAxLmNvbS9yLzdCTjJmUi83XG5jb25zdCB0YWJsZUFsaWdubWVudExpbmVSRSA9IC9eWy06fF1bLTp8XFxzXSokLztcbmNvbnN0IHRhYmxlQWxpZ25tZW50TGluZU5lZ1JFID0gL15bXi06XSokLzsgLy8gaXQgaXMgbmVlZCB0byBjaGVjayB0byBpZ25vcmUgZW1wdHkgcm93IHdoaWNoIGlzIG1hdGNoZWQgYWJvdmUgUkVcbmNvbnN0IGxpbmVQYXJ0T2ZUYWJsZVJFID0gL15cXHxbXlxcclxcbl0qfFteXFxyXFxuXSpcXHwkfChbXnxcXHJcXG5dK1xcfFtefFxcclxcbl0qKSsvOyAvLyBvd24gaWRlYVxuXG4vLyBzZXQgdXAgRE9NUGFyc2VyXG5jb25zdCBkb21QYXJzZXIgPSBuZXcgKHdpbmRvdy5ET01QYXJzZXIpKCk7XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zID0geyBzdHJpbmdMZW5ndGg6IHN0cmluZ1dpZHRoIH07XG5cbi8qKlxuICogbWFya2Rvd24gdGFibGUgY2xhc3MgZm9yIG1hcmtkb3duLXRhYmxlIG1vZHVsZVxuICogICByZWYuIGh0dHBzOi8vZ2l0aHViLmNvbS93b29vcm0vbWFya2Rvd24tdGFibGVcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTWFya2Rvd25UYWJsZSB7XG5cbiAgY29uc3RydWN0b3IodGFibGUsIG9wdGlvbnMpIHtcbiAgICB0aGlzLnRhYmxlID0gdGFibGUgfHwgW107XG4gICAgdGhpcy5vcHRpb25zID0gT2JqZWN0LmFzc2lnbihvcHRpb25zIHx8IHt9LCBkZWZhdWx0T3B0aW9ucyk7XG5cbiAgICB0aGlzLnRvU3RyaW5nID0gdGhpcy50b1N0cmluZy5iaW5kKHRoaXMpO1xuICB9XG5cbiAgdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIG1hcmtkb3duVGFibGUodGhpcy50YWJsZSwgdGhpcy5vcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiByZXR1cm5zIGNsb25lZCBNYXJrZG93bnRhYmxlIGluc3RhbmNlXG4gICAqIChUaGlzIG1ldGhvZCBjbG9uZXMgb25seSB0aGUgdGFibGUgZmllbGQuKVxuICAgKi9cbiAgY2xvbmUoKSB7XG4gICAgY29uc3QgbmV3VGFibGUgPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMudGFibGUubGVuZ3RoOyBpKyspIHtcbiAgICAgIG5ld1RhYmxlLnB1c2goW10uY29uY2F0KHRoaXMudGFibGVbaV0pKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBNYXJrZG93blRhYmxlKG5ld1RhYmxlLCB0aGlzLm9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIG5vcm1hbGl6ZSBhbGwgY2VsbCBkYXRhKHRyaW0gJiBjb252ZXJ0IHRoZSBuZXdsaW5lIGNoYXJhY3RlciB0byBzcGFjZSBvciBwYWQgJycgaWYgY2VsbCBkYXRhIGlzIG51bGwpXG4gICAqL1xuICBub3JtYWxpemVDZWxscygpIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMudGFibGUubGVuZ3RoOyBpKyspIHtcbiAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgdGhpcy50YWJsZVtpXS5sZW5ndGg7IGorKykge1xuICAgICAgICBpZiAodGhpcy50YWJsZVtpXVtqXSAhPSBudWxsKSB7XG4gICAgICAgICAgdGhpcy50YWJsZVtpXVtqXSA9IHRoaXMudGFibGVbaV1bal0udHJpbSgpLnJlcGxhY2UoL1xccj9cXG4vZywgJyAnKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICB0aGlzLnRhYmxlW2ldW2pdID0gJyc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiByZXR1cm4gYSBNYXJrZG93blRhYmxlIGluc3RhbmNlIG1hZGUgZnJvbSBhIHN0cmluZyBvZiBIVE1MIHRhYmxlIHRhZ1xuICAgKlxuICAgKiBJZiBhIHBhcnNlciBlcnJvciBvY2N1cnMsIGFuIGVycm9yIG9iamVjdCB3aXRoIGFuIGVycm9yIG1lc3NhZ2UgaXMgdGhyb3duLlxuICAgKiBUaGUgZXJyb3IgbWVzc2FnZSBpcyBhIGlubmVySFRNTCwgc28gbXVzdCBub3QgYXNzaWduIGl0IGludG8gZWxlbWVudC5pbm5lckhUTUwgYmVjYXVzZSBpdCBjYW4gbGVhZCB0byBNdXRhdGlvbi1iYXNlZCBYU1NcbiAgICovXG4gIHN0YXRpYyBmcm9tSFRNTFRhYmxlVGFnKHN0cikge1xuICAgIC8vIHVzZSBET01QYXJzZXIgdG8gcHJldmVudCBET00gYmFzZWQgWFNTIChodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvRE9NUGFyc2VyKVxuICAgIGNvbnN0IGRvbSA9IGRvbVBhcnNlci5wYXJzZUZyb21TdHJpbmcoc3RyLCAnYXBwbGljYXRpb24veG1sJyk7XG5cbiAgICBpZiAoZG9tLnF1ZXJ5U2VsZWN0b3IoJ3BhcnNlcmVycm9yJykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihkb20uZG9jdW1lbnRFbGVtZW50LmlubmVySFRNTCk7XG4gICAgfVxuXG4gICAgY29uc3QgdGFibGVFbGVtZW50ID0gZG9tLnF1ZXJ5U2VsZWN0b3IoJ3RhYmxlJyk7XG4gICAgY29uc3QgdHJFbGVtZW50cyA9IHRhYmxlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCd0cicpO1xuXG4gICAgY29uc3QgdGFibGUgPSBbXTtcbiAgICBsZXQgbWF4Um93U2l6ZSA9IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0ckVsZW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCByb3cgPSBbXTtcbiAgICAgIGNvbnN0IGNlbGxFbGVtZW50cyA9IHRyRWxlbWVudHNbaV0ucXVlcnlTZWxlY3RvckFsbCgndGgsdGQnKTtcbiAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgY2VsbEVsZW1lbnRzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgIHJvdy5wdXNoKGNlbGxFbGVtZW50c1tqXS5pbm5lckhUTUwpO1xuICAgICAgfVxuICAgICAgdGFibGUucHVzaChyb3cpO1xuXG4gICAgICBpZiAobWF4Um93U2l6ZSA8IHJvdy5sZW5ndGgpIG1heFJvd1NpemUgPSByb3cubGVuZ3RoO1xuICAgIH1cblxuICAgIGNvbnN0IGFsaWduID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXhSb3dTaXplOyBpKyspIHtcbiAgICAgIGFsaWduLnB1c2goJycpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgTWFya2Rvd25UYWJsZSh0YWJsZSwgeyBhbGlnbiB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiByZXR1cm4gYSBNYXJrZG93blRhYmxlIGluc3RhbmNlIG1hZGUgZnJvbSBhIHN0cmluZyBvZiBkZWxpbWl0ZXItc2VwYXJhdGVkIHZhbHVlc1xuICAgKi9cbiAgc3RhdGljIGZyb21EU1Yoc3RyLCBkZWxpbWl0ZXIpIHtcbiAgICByZXR1cm4gTWFya2Rvd25UYWJsZS5mcm9tTWFya2Rvd25TdHJpbmcoY3N2VG9NYXJrZG93bihzdHIsIGRlbGltaXRlciwgdHJ1ZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIHJldHVybiBhIE1hcmtkb3duVGFibGUgaW5zdGFuY2VcbiAgICogICByZWYuIGh0dHBzOi8vZ2l0aHViLmNvbS93b29vcm0vbWFya2Rvd24tdGFibGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IHN0ciBtYXJrZG93biBzdHJpbmdcbiAgICovXG4gIHN0YXRpYyBmcm9tTWFya2Rvd25TdHJpbmcoc3RyKSB7XG4gICAgY29uc3QgYXJyTURUYWJsZUxpbmVzID0gc3RyLnNwbGl0KC8oXFxyXFxufFxccnxcXG4pLyk7XG4gICAgY29uc3QgY29udGVudHMgPSBbXTtcbiAgICBsZXQgYWxpZ25zID0gW107XG4gICAgZm9yIChsZXQgbiA9IDA7IG4gPCBhcnJNRFRhYmxlTGluZXMubGVuZ3RoOyBuKyspIHtcbiAgICAgIGNvbnN0IGxpbmUgPSBhcnJNRFRhYmxlTGluZXNbbl07XG5cbiAgICAgIGlmICh0YWJsZUFsaWdubWVudExpbmVSRS50ZXN0KGxpbmUpICYmICF0YWJsZUFsaWdubWVudExpbmVOZWdSRS50ZXN0KGxpbmUpKSB7XG4gICAgICAgIC8vIHBhcnNlIGxpbmUgd2hpY2ggZGVzY3JpYmVkIGFsaWdubWVudFxuICAgICAgICBjb25zdCBhbGlnblJ1bGVSRSA9IFtcbiAgICAgICAgICB7IGFsaWduOiAnYycsIHJlZ2V4OiAvXjotKzokLyB9LFxuICAgICAgICAgIHsgYWxpZ246ICdsJywgcmVnZXg6IC9eOi0rJC8gfSxcbiAgICAgICAgICB7IGFsaWduOiAncicsIHJlZ2V4OiAvXi0rOiQvIH0sXG4gICAgICAgIF07XG4gICAgICAgIGxldCBsaW5lVGV4dCA9ICcnO1xuICAgICAgICBsaW5lVGV4dCA9IGxpbmUucmVwbGFjZSgvXlxcfHxcXHwkL2csICcnKTsgLy8gc3RyaXAgb2ZmIHBpcGUgY2hhcmFjdG9yIHdoaWNoIGlzIHBsYWNlZCBoZWFkIG9mIGxpbmUgYW5kIGxhc3Qgb2YgbGluZS5cbiAgICAgICAgbGluZVRleHQgPSBsaW5lVGV4dC5yZXBsYWNlKC9cXHMqL2csICcnKTtcbiAgICAgICAgYWxpZ25zID0gbGluZVRleHQuc3BsaXQoL1xcfC8pLm1hcCgoY29sKSA9PiB7XG4gICAgICAgICAgY29uc3QgcnVsZSA9IGFsaWduUnVsZVJFLmZpbmQoKHJ1bGUpID0+IHsgcmV0dXJuIGNvbC5tYXRjaChydWxlLnJlZ2V4KSB9KTtcbiAgICAgICAgICByZXR1cm4gKHJ1bGUgIT0gbnVsbCkgPyBydWxlLmFsaWduIDogJyc7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgZWxzZSBpZiAobGluZVBhcnRPZlRhYmxlUkUudGVzdChsaW5lKSkge1xuICAgICAgICAvLyBwYXJzZSBsaW5lIHdoZXRoZXIgaGVhZGVyIG9yIGJvZHlcbiAgICAgICAgbGV0IGxpbmVUZXh0ID0gJyc7XG4gICAgICAgIGxpbmVUZXh0ID0gbGluZS5yZXBsYWNlKC9cXHMqXFx8XFxzKi9nLCAnfCcpO1xuICAgICAgICBsaW5lVGV4dCA9IGxpbmVUZXh0LnJlcGxhY2UoL15cXHx8XFx8JC9nLCAnJyk7IC8vIHN0cmlwIG9mZiBwaXBlIGNoYXJhY3RvciB3aGljaCBpcyBwbGFjZWQgaGVhZCBvZiBsaW5lIGFuZCBsYXN0IG9mIGxpbmUuXG4gICAgICAgIGNvbnN0IHJvdyA9IGxpbmVUZXh0LnNwbGl0KC9cXHwvKTtcbiAgICAgICAgY29udGVudHMucHVzaChyb3cpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gKG5ldyBNYXJrZG93blRhYmxlKGNvbnRlbnRzLCB7IGFsaWduOiBhbGlnbnMgfSkpO1xuICB9XG5cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUVBOzs7OztBQUlBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7OztBQUlBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7Ozs7O0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFDQTtBQUVBOzs7Ozs7O0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUE5SEEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/models/MarkdownTable.js\n");
- /***/ }),
- /***/ "./src/client/js/services/CommentContainer.js":
- /*!****************************************************!*\
- !*** ./src/client/js/services/CommentContainer.js ***!
- \****************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return CommentContainer; });\n/* harmony import */ var unstated__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! unstated */ \"./node_modules/unstated/lib/unstated.es.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @alias/logger */ \"./src/lib/service/logger/index.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_alias_logger__WEBPACK_IMPORTED_MODULE_1__);\n\n\nconst logger = _alias_logger__WEBPACK_IMPORTED_MODULE_1___default()('growi:services:CommentContainer');\n/**\n *\n * @author Yuki Takei <yuki@weseek.co.jp>\n *\n * @extends {Container} unstated Container\n */\n\nclass CommentContainer extends unstated__WEBPACK_IMPORTED_MODULE_0__[\"Container\"] {\n constructor(appContainer) {\n super();\n this.appContainer = appContainer;\n this.appContainer.registerContainer(this);\n const mainContent = document.querySelector('#content-main');\n\n if (mainContent == null) {\n logger.debug('#content-main element is not exists');\n return;\n }\n\n this.state = {\n comments: [],\n // settings shared among all of CommentEditor\n isSlackEnabled: false,\n slackChannels: mainContent.getAttribute('data-slack-channels') || ''\n };\n this.retrieveComments = this.retrieveComments.bind(this);\n this.checkAndUpdateImageOfCommentAuthers = this.checkAndUpdateImageOfCommentAuthers.bind(this);\n }\n /**\n * Workaround for the mangling in production build to break constructor.name\n */\n\n\n static getClassName() {\n return 'CommentContainer';\n }\n\n getPageContainer() {\n return this.appContainer.getContainer('PageContainer');\n }\n\n findAndSplice(comment) {\n const comments = this.state.comments;\n const index = comments.indexOf(comment);\n\n if (index < 0) {\n return;\n }\n\n comments.splice(index, 1);\n this.setState({\n comments\n });\n }\n /**\n * Load data of comments and store them in state\n */\n\n\n async retrieveComments() {\n const {\n pageId\n } = this.getPageContainer().state; // get data (desc order array)\n\n const res = await this.appContainer.apiGet('/comments.get', {\n page_id: pageId\n });\n\n if (res.ok) {\n const comments = res.comments;\n this.setState({\n comments\n });\n this.checkAndUpdateImageOfCommentAuthers(comments);\n }\n }\n\n async checkAndUpdateImageOfCommentAuthers(comments) {\n const noImageCacheUserIds = comments.filter(comment => {\n const {\n creator\n } = comment;\n return creator != null && creator.imageUrlCached == null;\n }).map(comment => {\n return comment.creator._id;\n });\n\n if (noImageCacheUserIds.length === 0) {\n return;\n }\n\n try {\n await this.appContainer.apiv3Put('/users/update.imageUrlCache', {\n userIds: noImageCacheUserIds\n });\n } catch (err) {\n // Error alert doesn't apear, because user don't need to notice this error.\n logger.error(err);\n }\n }\n /**\n * Load data of comments and rerender <PageComments />\n */\n\n\n postComment(comment, isMarkdown, replyTo, isSlackEnabled, slackChannels) {\n const {\n pageId,\n revisionId\n } = this.getPageContainer().state;\n return this.appContainer.apiPost('/comments.add', {\n commentForm: {\n comment,\n page_id: pageId,\n revision_id: revisionId,\n is_markdown: isMarkdown,\n replyTo\n },\n slackNotificationForm: {\n isSlackEnabled,\n slackChannels\n }\n }).then(res => {\n if (res.ok) {\n return this.retrieveComments();\n }\n });\n }\n /**\n * Load data of comments and rerender <PageComments />\n */\n\n\n putComment(comment, isMarkdown, commentId, author) {\n const {\n pageId,\n revisionId\n } = this.getPageContainer().state;\n return this.appContainer.apiPost('/comments.update', {\n commentForm: {\n comment,\n page_id: pageId,\n revision_id: revisionId,\n is_markdown: isMarkdown,\n comment_id: commentId,\n author\n }\n }).then(res => {\n if (res.ok) {\n return this.retrieveComments();\n }\n });\n }\n\n deleteComment(comment) {\n return this.appContainer.apiPost('/comments.remove', {\n comment_id: comment._id\n }).then(res => {\n if (res.ok) {\n this.findAndSplice(comment);\n }\n });\n }\n\n uploadAttachment(file) {\n const {\n pageId,\n pagePath\n } = this.getPageContainer().state;\n const endpoint = '/attachments.add';\n const formData = new FormData();\n formData.append('_csrf', this.appContainer.csrfToken);\n formData.append('file', file);\n formData.append('path', pagePath);\n formData.append('page_id', pageId);\n return this.appContainer.apiPost(endpoint, formData);\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL3NlcnZpY2VzL0NvbW1lbnRDb250YWluZXIuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL3NlcnZpY2VzL0NvbW1lbnRDb250YWluZXIuanM/N2FhZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250YWluZXIgfSBmcm9tICd1bnN0YXRlZCc7XG5cbmltcG9ydCBsb2dnZXJGYWN0b3J5IGZyb20gJ0BhbGlhcy9sb2dnZXInO1xuXG5jb25zdCBsb2dnZXIgPSBsb2dnZXJGYWN0b3J5KCdncm93aTpzZXJ2aWNlczpDb21tZW50Q29udGFpbmVyJyk7XG5cbi8qKlxuICpcbiAqIEBhdXRob3IgWXVraSBUYWtlaSA8eXVraUB3ZXNlZWsuY28uanA+XG4gKlxuICogQGV4dGVuZHMge0NvbnRhaW5lcn0gdW5zdGF0ZWQgQ29udGFpbmVyXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbW1lbnRDb250YWluZXIgZXh0ZW5kcyBDb250YWluZXIge1xuXG4gIGNvbnN0cnVjdG9yKGFwcENvbnRhaW5lcikge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmFwcENvbnRhaW5lciA9IGFwcENvbnRhaW5lcjtcbiAgICB0aGlzLmFwcENvbnRhaW5lci5yZWdpc3RlckNvbnRhaW5lcih0aGlzKTtcblxuICAgIGNvbnN0IG1haW5Db250ZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2NvbnRlbnQtbWFpbicpO1xuXG4gICAgaWYgKG1haW5Db250ZW50ID09IG51bGwpIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZygnI2NvbnRlbnQtbWFpbiBlbGVtZW50IGlzIG5vdCBleGlzdHMnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgY29tbWVudHM6IFtdLFxuXG4gICAgICAvLyBzZXR0aW5ncyBzaGFyZWQgYW1vbmcgYWxsIG9mIENvbW1lbnRFZGl0b3JcbiAgICAgIGlzU2xhY2tFbmFibGVkOiBmYWxzZSxcbiAgICAgIHNsYWNrQ2hhbm5lbHM6IG1haW5Db250ZW50LmdldEF0dHJpYnV0ZSgnZGF0YS1zbGFjay1jaGFubmVscycpIHx8ICcnLFxuICAgIH07XG5cbiAgICB0aGlzLnJldHJpZXZlQ29tbWVudHMgPSB0aGlzLnJldHJpZXZlQ29tbWVudHMuYmluZCh0aGlzKTtcbiAgICB0aGlzLmNoZWNrQW5kVXBkYXRlSW1hZ2VPZkNvbW1lbnRBdXRoZXJzID0gdGhpcy5jaGVja0FuZFVwZGF0ZUltYWdlT2ZDb21tZW50QXV0aGVycy5iaW5kKHRoaXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdvcmthcm91bmQgZm9yIHRoZSBtYW5nbGluZyBpbiBwcm9kdWN0aW9uIGJ1aWxkIHRvIGJyZWFrIGNvbnN0cnVjdG9yLm5hbWVcbiAgICovXG4gIHN0YXRpYyBnZXRDbGFzc05hbWUoKSB7XG4gICAgcmV0dXJuICdDb21tZW50Q29udGFpbmVyJztcbiAgfVxuXG4gIGdldFBhZ2VDb250YWluZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBwQ29udGFpbmVyLmdldENvbnRhaW5lcignUGFnZUNvbnRhaW5lcicpO1xuICB9XG5cbiAgZmluZEFuZFNwbGljZShjb21tZW50KSB7XG4gICAgY29uc3QgY29tbWVudHMgPSB0aGlzLnN0YXRlLmNvbW1lbnRzO1xuXG4gICAgY29uc3QgaW5kZXggPSBjb21tZW50cy5pbmRleE9mKGNvbW1lbnQpO1xuICAgIGlmIChpbmRleCA8IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29tbWVudHMuc3BsaWNlKGluZGV4LCAxKTtcblxuICAgIHRoaXMuc2V0U3RhdGUoeyBjb21tZW50cyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkIGRhdGEgb2YgY29tbWVudHMgYW5kIHN0b3JlIHRoZW0gaW4gc3RhdGVcbiAgICovXG4gIGFzeW5jIHJldHJpZXZlQ29tbWVudHMoKSB7XG4gICAgY29uc3QgeyBwYWdlSWQgfSA9IHRoaXMuZ2V0UGFnZUNvbnRhaW5lcigpLnN0YXRlO1xuXG4gICAgLy8gZ2V0IGRhdGEgKGRlc2Mgb3JkZXIgYXJyYXkpXG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5hcHBDb250YWluZXIuYXBpR2V0KCcvY29tbWVudHMuZ2V0JywgeyBwYWdlX2lkOiBwYWdlSWQgfSk7XG4gICAgaWYgKHJlcy5vaykge1xuICAgICAgY29uc3QgY29tbWVudHMgPSByZXMuY29tbWVudHM7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgY29tbWVudHMgfSk7XG5cbiAgICAgIHRoaXMuY2hlY2tBbmRVcGRhdGVJbWFnZU9mQ29tbWVudEF1dGhlcnMoY29tbWVudHMpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGNoZWNrQW5kVXBkYXRlSW1hZ2VPZkNvbW1lbnRBdXRoZXJzKGNvbW1lbnRzKSB7XG4gICAgY29uc3Qgbm9JbWFnZUNhY2hlVXNlcklkcyA9IGNvbW1lbnRzLmZpbHRlcigoY29tbWVudCkgPT4ge1xuICAgICAgY29uc3QgeyBjcmVhdG9yIH0gPSBjb21tZW50O1xuICAgICAgcmV0dXJuIGNyZWF0b3IgIT0gbnVsbCAmJiBjcmVhdG9yLmltYWdlVXJsQ2FjaGVkID09IG51bGw7XG4gICAgfSkubWFwKChjb21tZW50KSA9PiB7XG4gICAgICByZXR1cm4gY29tbWVudC5jcmVhdG9yLl9pZDtcbiAgICB9KTtcblxuICAgIGlmIChub0ltYWdlQ2FjaGVVc2VySWRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmFwcENvbnRhaW5lci5hcGl2M1B1dCgnL3VzZXJzL3VwZGF0ZS5pbWFnZVVybENhY2hlJywgeyB1c2VySWRzOiBub0ltYWdlQ2FjaGVVc2VySWRzIH0pO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAvLyBFcnJvciBhbGVydCBkb2Vzbid0IGFwZWFyLCBiZWNhdXNlIHVzZXIgZG9uJ3QgbmVlZCB0byBub3RpY2UgdGhpcyBlcnJvci5cbiAgICAgIGxvZ2dlci5lcnJvcihlcnIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkIGRhdGEgb2YgY29tbWVudHMgYW5kIHJlcmVuZGVyIDxQYWdlQ29tbWVudHMgLz5cbiAgICovXG4gIHBvc3RDb21tZW50KGNvbW1lbnQsIGlzTWFya2Rvd24sIHJlcGx5VG8sIGlzU2xhY2tFbmFibGVkLCBzbGFja0NoYW5uZWxzKSB7XG4gICAgY29uc3QgeyBwYWdlSWQsIHJldmlzaW9uSWQgfSA9IHRoaXMuZ2V0UGFnZUNvbnRhaW5lcigpLnN0YXRlO1xuXG4gICAgcmV0dXJuIHRoaXMuYXBwQ29udGFpbmVyLmFwaVBvc3QoJy9jb21tZW50cy5hZGQnLCB7XG4gICAgICBjb21tZW50Rm9ybToge1xuICAgICAgICBjb21tZW50LFxuICAgICAgICBwYWdlX2lkOiBwYWdlSWQsXG4gICAgICAgIHJldmlzaW9uX2lkOiByZXZpc2lvbklkLFxuICAgICAgICBpc19tYXJrZG93bjogaXNNYXJrZG93bixcbiAgICAgICAgcmVwbHlUbyxcbiAgICAgIH0sXG4gICAgICBzbGFja05vdGlmaWNhdGlvbkZvcm06IHtcbiAgICAgICAgaXNTbGFja0VuYWJsZWQsXG4gICAgICAgIHNsYWNrQ2hhbm5lbHMsXG4gICAgICB9LFxuICAgIH0pXG4gICAgICAudGhlbigocmVzKSA9PiB7XG4gICAgICAgIGlmIChyZXMub2spIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5yZXRyaWV2ZUNvbW1lbnRzKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWQgZGF0YSBvZiBjb21tZW50cyBhbmQgcmVyZW5kZXIgPFBhZ2VDb21tZW50cyAvPlxuICAgKi9cbiAgcHV0Q29tbWVudChjb21tZW50LCBpc01hcmtkb3duLCBjb21tZW50SWQsIGF1dGhvcikge1xuICAgIGNvbnN0IHsgcGFnZUlkLCByZXZpc2lvbklkIH0gPSB0aGlzLmdldFBhZ2VDb250YWluZXIoKS5zdGF0ZTtcblxuICAgIHJldHVybiB0aGlzLmFwcENvbnRhaW5lci5hcGlQb3N0KCcvY29tbWVudHMudXBkYXRlJywge1xuICAgICAgY29tbWVudEZvcm06IHtcbiAgICAgICAgY29tbWVudCxcbiAgICAgICAgcGFnZV9pZDogcGFnZUlkLFxuICAgICAgICByZXZpc2lvbl9pZDogcmV2aXNpb25JZCxcbiAgICAgICAgaXNfbWFya2Rvd246IGlzTWFya2Rvd24sXG4gICAgICAgIGNvbW1lbnRfaWQ6IGNvbW1lbnRJZCxcbiAgICAgICAgYXV0aG9yLFxuICAgICAgfSxcbiAgICB9KVxuICAgICAgLnRoZW4oKHJlcykgPT4ge1xuICAgICAgICBpZiAocmVzLm9rKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMucmV0cmlldmVDb21tZW50cygpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZUNvbW1lbnQoY29tbWVudCkge1xuICAgIHJldHVybiB0aGlzLmFwcENvbnRhaW5lci5hcGlQb3N0KCcvY29tbWVudHMucmVtb3ZlJywgeyBjb21tZW50X2lkOiBjb21tZW50Ll9pZCB9KVxuICAgICAgLnRoZW4oKHJlcykgPT4ge1xuICAgICAgICBpZiAocmVzLm9rKSB7XG4gICAgICAgICAgdGhpcy5maW5kQW5kU3BsaWNlKGNvbW1lbnQpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHVwbG9hZEF0dGFjaG1lbnQoZmlsZSkge1xuICAgIGNvbnN0IHsgcGFnZUlkLCBwYWdlUGF0aCB9ID0gdGhpcy5nZXRQYWdlQ29udGFpbmVyKCkuc3RhdGU7XG5cbiAgICBjb25zdCBlbmRwb2ludCA9ICcvYXR0YWNobWVudHMuYWRkJztcbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnX2NzcmYnLCB0aGlzLmFwcENvbnRhaW5lci5jc3JmVG9rZW4pO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgncGF0aCcsIHBhZ2VQYXRoKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ3BhZ2VfaWQnLCBwYWdlSWQpO1xuXG4gICAgcmV0dXJuIHRoaXMuYXBwQ29udGFpbmVyLmFwaVBvc3QoZW5kcG9pbnQsIGZvcm1EYXRhKTtcbiAgfVxuXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBRUE7QUFFQTs7Ozs7OztBQU1BO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFMQTtBQVFBO0FBQ0E7QUFDQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFDQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQU9BO0FBQ0E7QUFDQTtBQUZBO0FBUkE7QUFjQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQURBO0FBV0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBN0pBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/services/CommentContainer.js\n");
- /***/ }),
- /***/ "./src/client/js/services/EditorContainer.js":
- /*!***************************************************!*\
- !*** ./src/client/js/services/EditorContainer.js ***!
- \***************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return EditorContainer; });\n/* harmony import */ var unstated__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! unstated */ \"./node_modules/unstated/lib/unstated.es.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @alias/logger */ \"./src/lib/service/logger/index.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_alias_logger__WEBPACK_IMPORTED_MODULE_1__);\n\n\nconst logger = _alias_logger__WEBPACK_IMPORTED_MODULE_1___default()('growi:services:EditorContainer');\n/**\n * Service container related to options for Editor/Preview\n * @extends {Container} unstated Container\n */\n\nclass EditorContainer extends unstated__WEBPACK_IMPORTED_MODULE_0__[\"Container\"] {\n constructor(appContainer, defaultEditorOptions, defaultPreviewOptions) {\n super();\n this.appContainer = appContainer;\n this.appContainer.registerContainer(this);\n const mainContent = document.querySelector('#content-main');\n\n if (mainContent == null) {\n logger.debug('#content-main element is not exists');\n return;\n }\n\n this.state = {\n tags: null,\n isSlackEnabled: false,\n slackChannels: mainContent.getAttribute('data-slack-channels') || '',\n grant: 1,\n // default: public\n grantGroupId: null,\n grantGroupName: null,\n editorOptions: {},\n previewOptions: {},\n indentSize: this.appContainer.config.adminPreferredIndentSize || 4\n };\n this.isSetBeforeunloadEventHandler = false;\n this.initStateGrant();\n this.initDrafts();\n this.initEditorOptions('editorOptions', 'editorOptions', defaultEditorOptions);\n this.initEditorOptions('previewOptions', 'previewOptions', defaultPreviewOptions);\n }\n /**\n * Workaround for the mangling in production build to break constructor.name\n */\n\n\n static getClassName() {\n return 'EditorContainer';\n }\n /**\n * initialize state for page permission\n */\n\n\n initStateGrant() {\n const mainContent = document.getElementById('content-main');\n\n if (mainContent == null) {\n logger.debug('#content-main element is not exists');\n return;\n }\n\n this.state.grant = +mainContent.getAttribute('data-page-grant');\n const grantGroupId = mainContent.getAttribute('data-page-grant-group');\n\n if (grantGroupId != null && grantGroupId.length > 0) {\n this.state.grantGroupId = grantGroupId;\n this.state.grantGroupName = mainContent.getAttribute('data-page-grant-group-name');\n }\n }\n /**\n * initialize state for drafts\n */\n\n\n initDrafts() {\n this.drafts = {}; // restore data from localStorage\n\n const contents = window.localStorage.drafts;\n\n if (contents != null) {\n try {\n this.drafts = JSON.parse(contents);\n } catch (e) {\n window.localStorage.removeItem('drafts');\n }\n }\n\n if (this.state.pageId == null) {\n const draft = this.findDraft(this.state.path);\n\n if (draft != null) {\n this.state.markdown = draft;\n }\n }\n }\n\n initEditorOptions(stateKey, localStorageKey, defaultOptions) {\n // load from localStorage\n const optsStr = window.localStorage[localStorageKey];\n let loadedOpts = {}; // JSON.parseparse\n\n if (optsStr != null) {\n try {\n loadedOpts = JSON.parse(optsStr);\n } catch (e) {\n this.localStorage.removeItem(localStorageKey);\n }\n } // set to state obj\n\n\n this.state[stateKey] = Object.assign(defaultOptions, loadedOpts);\n }\n\n saveOptsToLocalStorage() {\n window.localStorage.setItem('editorOptions', JSON.stringify(this.state.editorOptions));\n window.localStorage.setItem('previewOptions', JSON.stringify(this.state.previewOptions));\n }\n\n setCaretLine(line) {\n const pageEditor = this.appContainer.getComponentInstance('PageEditor');\n\n if (pageEditor != null) {\n pageEditor.setCaretLine(line);\n }\n }\n\n focusToEditor() {\n const pageEditor = this.appContainer.getComponentInstance('PageEditor');\n\n if (pageEditor != null) {\n pageEditor.focusToEditor();\n }\n }\n\n getCurrentOptionsToSave() {\n const opt = {\n isSlackEnabled: this.state.isSlackEnabled,\n slackChannels: this.state.slackChannels,\n grant: this.state.grant,\n pageTags: this.state.tags\n };\n\n if (this.state.grantGroupId != null) {\n opt.grantUserGroupId = this.state.grantGroupId;\n }\n\n return opt;\n } // See https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload#example\n\n\n showUnsavedWarning(e) {\n // Cancel the event\n e.preventDefault(); // display browser default message\n\n e.returnValue = '';\n return '';\n }\n\n disableUnsavedWarning() {\n window.removeEventListener('beforeunload', this.showUnsavedWarning);\n this.isSetBeforeunloadEventHandler = false;\n }\n\n enableUnsavedWarning() {\n if (!this.isSetBeforeunloadEventHandler) {\n window.addEventListener('beforeunload', this.showUnsavedWarning);\n this.isSetBeforeunloadEventHandler = true;\n }\n }\n\n clearDraft(path) {\n delete this.drafts[path];\n window.localStorage.setItem('drafts', JSON.stringify(this.drafts));\n }\n\n clearAllDrafts() {\n window.localStorage.removeItem('drafts');\n }\n\n saveDraft(path, body) {\n this.drafts[path] = body;\n window.localStorage.setItem('drafts', JSON.stringify(this.drafts));\n }\n\n findDraft(path) {\n if (this.drafts != null && this.drafts[path]) {\n return this.drafts[path];\n }\n\n return null;\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL3NlcnZpY2VzL0VkaXRvckNvbnRhaW5lci5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvc2VydmljZXMvRWRpdG9yQ29udGFpbmVyLmpzPzA5MGEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSAndW5zdGF0ZWQnO1xuXG5pbXBvcnQgbG9nZ2VyRmFjdG9yeSBmcm9tICdAYWxpYXMvbG9nZ2VyJztcblxuY29uc3QgbG9nZ2VyID0gbG9nZ2VyRmFjdG9yeSgnZ3Jvd2k6c2VydmljZXM6RWRpdG9yQ29udGFpbmVyJyk7XG5cbi8qKlxuICogU2VydmljZSBjb250YWluZXIgcmVsYXRlZCB0byBvcHRpb25zIGZvciBFZGl0b3IvUHJldmlld1xuICogQGV4dGVuZHMge0NvbnRhaW5lcn0gdW5zdGF0ZWQgQ29udGFpbmVyXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEVkaXRvckNvbnRhaW5lciBleHRlbmRzIENvbnRhaW5lciB7XG5cbiAgY29uc3RydWN0b3IoYXBwQ29udGFpbmVyLCBkZWZhdWx0RWRpdG9yT3B0aW9ucywgZGVmYXVsdFByZXZpZXdPcHRpb25zKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuYXBwQ29udGFpbmVyID0gYXBwQ29udGFpbmVyO1xuICAgIHRoaXMuYXBwQ29udGFpbmVyLnJlZ2lzdGVyQ29udGFpbmVyKHRoaXMpO1xuXG4gICAgY29uc3QgbWFpbkNvbnRlbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjY29udGVudC1tYWluJyk7XG5cbiAgICBpZiAobWFpbkNvbnRlbnQgPT0gbnVsbCkge1xuICAgICAgbG9nZ2VyLmRlYnVnKCcjY29udGVudC1tYWluIGVsZW1lbnQgaXMgbm90IGV4aXN0cycpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICB0YWdzOiBudWxsLFxuXG4gICAgICBpc1NsYWNrRW5hYmxlZDogZmFsc2UsXG4gICAgICBzbGFja0NoYW5uZWxzOiBtYWluQ29udGVudC5nZXRBdHRyaWJ1dGUoJ2RhdGEtc2xhY2stY2hhbm5lbHMnKSB8fCAnJyxcblxuICAgICAgZ3JhbnQ6IDEsIC8vIGRlZmF1bHQ6IHB1YmxpY1xuICAgICAgZ3JhbnRHcm91cElkOiBudWxsLFxuICAgICAgZ3JhbnRHcm91cE5hbWU6IG51bGwsXG5cbiAgICAgIGVkaXRvck9wdGlvbnM6IHt9LFxuICAgICAgcHJldmlld09wdGlvbnM6IHt9LFxuICAgICAgaW5kZW50U2l6ZTogdGhpcy5hcHBDb250YWluZXIuY29uZmlnLmFkbWluUHJlZmVycmVkSW5kZW50U2l6ZSB8fCA0LFxuICAgIH07XG5cbiAgICB0aGlzLmlzU2V0QmVmb3JldW5sb2FkRXZlbnRIYW5kbGVyID0gZmFsc2U7XG5cbiAgICB0aGlzLmluaXRTdGF0ZUdyYW50KCk7XG4gICAgdGhpcy5pbml0RHJhZnRzKCk7XG5cbiAgICB0aGlzLmluaXRFZGl0b3JPcHRpb25zKCdlZGl0b3JPcHRpb25zJywgJ2VkaXRvck9wdGlvbnMnLCBkZWZhdWx0RWRpdG9yT3B0aW9ucyk7XG4gICAgdGhpcy5pbml0RWRpdG9yT3B0aW9ucygncHJldmlld09wdGlvbnMnLCAncHJldmlld09wdGlvbnMnLCBkZWZhdWx0UHJldmlld09wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdvcmthcm91bmQgZm9yIHRoZSBtYW5nbGluZyBpbiBwcm9kdWN0aW9uIGJ1aWxkIHRvIGJyZWFrIGNvbnN0cnVjdG9yLm5hbWVcbiAgICovXG4gIHN0YXRpYyBnZXRDbGFzc05hbWUoKSB7XG4gICAgcmV0dXJuICdFZGl0b3JDb250YWluZXInO1xuICB9XG5cbiAgLyoqXG4gICAqIGluaXRpYWxpemUgc3RhdGUgZm9yIHBhZ2UgcGVybWlzc2lvblxuICAgKi9cbiAgaW5pdFN0YXRlR3JhbnQoKSB7XG4gICAgY29uc3QgbWFpbkNvbnRlbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGVudC1tYWluJyk7XG5cbiAgICBpZiAobWFpbkNvbnRlbnQgPT0gbnVsbCkge1xuICAgICAgbG9nZ2VyLmRlYnVnKCcjY29udGVudC1tYWluIGVsZW1lbnQgaXMgbm90IGV4aXN0cycpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3RhdGUuZ3JhbnQgPSArbWFpbkNvbnRlbnQuZ2V0QXR0cmlidXRlKCdkYXRhLXBhZ2UtZ3JhbnQnKTtcblxuICAgIGNvbnN0IGdyYW50R3JvdXBJZCA9IG1haW5Db250ZW50LmdldEF0dHJpYnV0ZSgnZGF0YS1wYWdlLWdyYW50LWdyb3VwJyk7XG4gICAgaWYgKGdyYW50R3JvdXBJZCAhPSBudWxsICYmIGdyYW50R3JvdXBJZC5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnN0YXRlLmdyYW50R3JvdXBJZCA9IGdyYW50R3JvdXBJZDtcbiAgICAgIHRoaXMuc3RhdGUuZ3JhbnRHcm91cE5hbWUgPSBtYWluQ29udGVudC5nZXRBdHRyaWJ1dGUoJ2RhdGEtcGFnZS1ncmFudC1ncm91cC1uYW1lJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIGluaXRpYWxpemUgc3RhdGUgZm9yIGRyYWZ0c1xuICAgKi9cbiAgaW5pdERyYWZ0cygpIHtcbiAgICB0aGlzLmRyYWZ0cyA9IHt9O1xuXG4gICAgLy8gcmVzdG9yZSBkYXRhIGZyb20gbG9jYWxTdG9yYWdlXG4gICAgY29uc3QgY29udGVudHMgPSB3aW5kb3cubG9jYWxTdG9yYWdlLmRyYWZ0cztcbiAgICBpZiAoY29udGVudHMgIT0gbnVsbCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5kcmFmdHMgPSBKU09OLnBhcnNlKGNvbnRlbnRzKTtcbiAgICAgIH1cbiAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnZHJhZnRzJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc3RhdGUucGFnZUlkID09IG51bGwpIHtcbiAgICAgIGNvbnN0IGRyYWZ0ID0gdGhpcy5maW5kRHJhZnQodGhpcy5zdGF0ZS5wYXRoKTtcbiAgICAgIGlmIChkcmFmdCAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMuc3RhdGUubWFya2Rvd24gPSBkcmFmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpbml0RWRpdG9yT3B0aW9ucyhzdGF0ZUtleSwgbG9jYWxTdG9yYWdlS2V5LCBkZWZhdWx0T3B0aW9ucykge1xuICAgIC8vIGxvYWQgZnJvbSBsb2NhbFN0b3JhZ2VcbiAgICBjb25zdCBvcHRzU3RyID0gd2luZG93LmxvY2FsU3RvcmFnZVtsb2NhbFN0b3JhZ2VLZXldO1xuXG4gICAgbGV0IGxvYWRlZE9wdHMgPSB7fTtcbiAgICAvLyBKU09OLnBhcnNlcGFyc2VcbiAgICBpZiAob3B0c1N0ciAhPSBudWxsKSB7XG4gICAgICB0cnkge1xuICAgICAgICBsb2FkZWRPcHRzID0gSlNPTi5wYXJzZShvcHRzU3RyKTtcbiAgICAgIH1cbiAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgIHRoaXMubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0obG9jYWxTdG9yYWdlS2V5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBzZXQgdG8gc3RhdGUgb2JqXG4gICAgdGhpcy5zdGF0ZVtzdGF0ZUtleV0gPSBPYmplY3QuYXNzaWduKGRlZmF1bHRPcHRpb25zLCBsb2FkZWRPcHRzKTtcbiAgfVxuXG4gIHNhdmVPcHRzVG9Mb2NhbFN0b3JhZ2UoKSB7XG4gICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKCdlZGl0b3JPcHRpb25zJywgSlNPTi5zdHJpbmdpZnkodGhpcy5zdGF0ZS5lZGl0b3JPcHRpb25zKSk7XG4gICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKCdwcmV2aWV3T3B0aW9ucycsIEpTT04uc3RyaW5naWZ5KHRoaXMuc3RhdGUucHJldmlld09wdGlvbnMpKTtcbiAgfVxuXG4gIHNldENhcmV0TGluZShsaW5lKSB7XG4gICAgY29uc3QgcGFnZUVkaXRvciA9IHRoaXMuYXBwQ29udGFpbmVyLmdldENvbXBvbmVudEluc3RhbmNlKCdQYWdlRWRpdG9yJyk7XG4gICAgaWYgKHBhZ2VFZGl0b3IgIT0gbnVsbCkge1xuICAgICAgcGFnZUVkaXRvci5zZXRDYXJldExpbmUobGluZSk7XG4gICAgfVxuICB9XG5cbiAgZm9jdXNUb0VkaXRvcigpIHtcbiAgICBjb25zdCBwYWdlRWRpdG9yID0gdGhpcy5hcHBDb250YWluZXIuZ2V0Q29tcG9uZW50SW5zdGFuY2UoJ1BhZ2VFZGl0b3InKTtcbiAgICBpZiAocGFnZUVkaXRvciAhPSBudWxsKSB7XG4gICAgICBwYWdlRWRpdG9yLmZvY3VzVG9FZGl0b3IoKTtcbiAgICB9XG4gIH1cblxuICBnZXRDdXJyZW50T3B0aW9uc1RvU2F2ZSgpIHtcbiAgICBjb25zdCBvcHQgPSB7XG4gICAgICBpc1NsYWNrRW5hYmxlZDogdGhpcy5zdGF0ZS5pc1NsYWNrRW5hYmxlZCxcbiAgICAgIHNsYWNrQ2hhbm5lbHM6IHRoaXMuc3RhdGUuc2xhY2tDaGFubmVscyxcbiAgICAgIGdyYW50OiB0aGlzLnN0YXRlLmdyYW50LFxuICAgICAgcGFnZVRhZ3M6IHRoaXMuc3RhdGUudGFncyxcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMuc3RhdGUuZ3JhbnRHcm91cElkICE9IG51bGwpIHtcbiAgICAgIG9wdC5ncmFudFVzZXJHcm91cElkID0gdGhpcy5zdGF0ZS5ncmFudEdyb3VwSWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9wdDtcbiAgfVxuXG4gIC8vIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvV2luZG93RXZlbnRIYW5kbGVycy9vbmJlZm9yZXVubG9hZCNleGFtcGxlXG4gIHNob3dVbnNhdmVkV2FybmluZyhlKSB7XG4gICAgLy8gQ2FuY2VsIHRoZSBldmVudFxuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAvLyBkaXNwbGF5IGJyb3dzZXIgZGVmYXVsdCBtZXNzYWdlXG4gICAgZS5yZXR1cm5WYWx1ZSA9ICcnO1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGRpc2FibGVVbnNhdmVkV2FybmluZygpIHtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignYmVmb3JldW5sb2FkJywgdGhpcy5zaG93VW5zYXZlZFdhcm5pbmcpO1xuICAgIHRoaXMuaXNTZXRCZWZvcmV1bmxvYWRFdmVudEhhbmRsZXIgPSBmYWxzZTtcbiAgfVxuXG4gIGVuYWJsZVVuc2F2ZWRXYXJuaW5nKCkge1xuICAgIGlmICghdGhpcy5pc1NldEJlZm9yZXVubG9hZEV2ZW50SGFuZGxlcikge1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2JlZm9yZXVubG9hZCcsIHRoaXMuc2hvd1Vuc2F2ZWRXYXJuaW5nKTtcbiAgICAgIHRoaXMuaXNTZXRCZWZvcmV1bmxvYWRFdmVudEhhbmRsZXIgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGNsZWFyRHJhZnQocGF0aCkge1xuICAgIGRlbGV0ZSB0aGlzLmRyYWZ0c1twYXRoXTtcbiAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2RyYWZ0cycsIEpTT04uc3RyaW5naWZ5KHRoaXMuZHJhZnRzKSk7XG4gIH1cblxuICBjbGVhckFsbERyYWZ0cygpIHtcbiAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ2RyYWZ0cycpO1xuICB9XG5cbiAgc2F2ZURyYWZ0KHBhdGgsIGJvZHkpIHtcbiAgICB0aGlzLmRyYWZ0c1twYXRoXSA9IGJvZHk7XG4gICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKCdkcmFmdHMnLCBKU09OLnN0cmluZ2lmeSh0aGlzLmRyYWZ0cykpO1xuICB9XG5cbiAgZmluZERyYWZ0KHBhdGgpIHtcbiAgICBpZiAodGhpcy5kcmFmdHMgIT0gbnVsbCAmJiB0aGlzLmRyYWZ0c1twYXRoXSkge1xuICAgICAgcmV0dXJuIHRoaXMuZHJhZnRzW3BhdGhdO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFFQTtBQUVBOzs7OztBQUlBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFaQTtBQWVBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFDQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFDQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUExTEEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/services/EditorContainer.js\n");
- /***/ }),
- /***/ "./src/client/js/services/PageAccessoriesContainer.js":
- /*!************************************************************!*\
- !*** ./src/client/js/services/PageAccessoriesContainer.js ***!
- \************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return PageAccessoriesContainer; });\n/* harmony import */ var unstated__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! unstated */ \"./node_modules/unstated/lib/unstated.es.js\");\n\n/**\n * Service container related to options for Application\n * @extends {Container} unstated Container\n */\n\nclass PageAccessoriesContainer extends unstated__WEBPACK_IMPORTED_MODULE_0__[\"Container\"] {\n constructor(appContainer) {\n super();\n this.appContainer = appContainer;\n this.state = {\n isPageAccessoriesModalShown: false,\n activeTab: '',\n // Prevent unnecessary rendering\n activeComponents: new Set([''])\n };\n this.openPageAccessoriesModal = this.openPageAccessoriesModal.bind(this);\n this.closePageAccessoriesModal = this.closePageAccessoriesModal.bind(this);\n this.switchActiveTab = this.switchActiveTab.bind(this);\n }\n /**\n * Workaround for the mangling in production build to break constructor.name\n */\n\n\n static getClassName() {\n return 'PageAccessoriesContainer';\n }\n\n openPageAccessoriesModal(activeTab) {\n this.setState({\n isPageAccessoriesModalShown: true\n });\n this.switchActiveTab(activeTab);\n }\n\n closePageAccessoriesModal() {\n this.setState({\n isPageAccessoriesModalShown: false,\n activeTab: ''\n });\n }\n\n switchActiveTab(activeTab) {\n this.setState({\n activeTab,\n activeComponents: this.state.activeComponents.add(activeTab)\n });\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL3NlcnZpY2VzL1BhZ2VBY2Nlc3Nvcmllc0NvbnRhaW5lci5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvc2VydmljZXMvUGFnZUFjY2Vzc29yaWVzQ29udGFpbmVyLmpzP2FjNGQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSAndW5zdGF0ZWQnO1xuXG4vKipcbiAqIFNlcnZpY2UgY29udGFpbmVyIHJlbGF0ZWQgdG8gb3B0aW9ucyBmb3IgQXBwbGljYXRpb25cbiAqIEBleHRlbmRzIHtDb250YWluZXJ9IHVuc3RhdGVkIENvbnRhaW5lclxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBhZ2VBY2Nlc3Nvcmllc0NvbnRhaW5lciBleHRlbmRzIENvbnRhaW5lciB7XG5cbiAgY29uc3RydWN0b3IoYXBwQ29udGFpbmVyKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuYXBwQ29udGFpbmVyID0gYXBwQ29udGFpbmVyO1xuXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGlzUGFnZUFjY2Vzc29yaWVzTW9kYWxTaG93bjogZmFsc2UsXG4gICAgICBhY3RpdmVUYWI6ICcnLFxuICAgICAgLy8gUHJldmVudCB1bm5lY2Vzc2FyeSByZW5kZXJpbmdcbiAgICAgIGFjdGl2ZUNvbXBvbmVudHM6IG5ldyBTZXQoWycnXSksXG4gICAgfTtcbiAgICB0aGlzLm9wZW5QYWdlQWNjZXNzb3JpZXNNb2RhbCA9IHRoaXMub3BlblBhZ2VBY2Nlc3Nvcmllc01vZGFsLmJpbmQodGhpcyk7XG4gICAgdGhpcy5jbG9zZVBhZ2VBY2Nlc3Nvcmllc01vZGFsID0gdGhpcy5jbG9zZVBhZ2VBY2Nlc3Nvcmllc01vZGFsLmJpbmQodGhpcyk7XG4gICAgdGhpcy5zd2l0Y2hBY3RpdmVUYWIgPSB0aGlzLnN3aXRjaEFjdGl2ZVRhYi5iaW5kKHRoaXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdvcmthcm91bmQgZm9yIHRoZSBtYW5nbGluZyBpbiBwcm9kdWN0aW9uIGJ1aWxkIHRvIGJyZWFrIGNvbnN0cnVjdG9yLm5hbWVcbiAgICovXG4gIHN0YXRpYyBnZXRDbGFzc05hbWUoKSB7XG4gICAgcmV0dXJuICdQYWdlQWNjZXNzb3JpZXNDb250YWluZXInO1xuICB9XG5cblxuICBvcGVuUGFnZUFjY2Vzc29yaWVzTW9kYWwoYWN0aXZlVGFiKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBpc1BhZ2VBY2Nlc3Nvcmllc01vZGFsU2hvd246IHRydWUsXG4gICAgfSk7XG4gICAgdGhpcy5zd2l0Y2hBY3RpdmVUYWIoYWN0aXZlVGFiKTtcbiAgfVxuXG4gIGNsb3NlUGFnZUFjY2Vzc29yaWVzTW9kYWwoKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBpc1BhZ2VBY2Nlc3Nvcmllc01vZGFsU2hvd246IGZhbHNlLFxuICAgICAgYWN0aXZlVGFiOiAnJyxcbiAgICB9KTtcbiAgfVxuXG4gIHN3aXRjaEFjdGl2ZVRhYihhY3RpdmVUYWIpIHtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIGFjdGl2ZVRhYiwgYWN0aXZlQ29tcG9uZW50czogdGhpcy5zdGF0ZS5hY3RpdmVDb21wb25lbnRzLmFkZChhY3RpdmVUYWIpLFxuICAgIH0pO1xuICB9XG5cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTs7Ozs7QUFLQTtBQUVBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFEQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRkE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFEQTtBQUdBO0FBQ0E7QUE3Q0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/services/PageAccessoriesContainer.js\n");
- /***/ }),
- /***/ "./src/client/js/services/PageContainer.js":
- /*!*************************************************!*\
- !*** ./src/client/js/services/PageContainer.js ***!
- \*************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function($) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return PageContainer; });\n/* harmony import */ var unstated__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! unstated */ \"./node_modules/unstated/lib/unstated.es.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @alias/logger */ \"./src/lib/service/logger/index.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_alias_logger__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var entities__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! entities */ \"./node_modules/entities/lib/index.js\");\n/* harmony import */ var entities__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(entities__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var toastr__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! toastr */ \"./node_modules/toastr/toastr.js\");\n/* harmony import */ var toastr__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(toastr__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _commons_util_path_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @commons/util/path-utils */ \"./src/lib/util/path-utils.js\");\n/* harmony import */ var _commons_util_path_utils__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_commons_util_path_utils__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _util_apiNotification__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../util/apiNotification */ \"./src/client/js/util/apiNotification.js\");\n/* harmony import */ var _util_interceptor_detach_code_blocks__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../util/interceptor/detach-code-blocks */ \"./src/client/js/util/interceptor/detach-code-blocks.js\");\n/* harmony import */ var _util_interceptor_drawio_interceptor__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../util/interceptor/drawio-interceptor */ \"./src/client/js/util/interceptor/drawio-interceptor.js\");\n\n\n\n\n\n\n\n\nconst logger = _alias_logger__WEBPACK_IMPORTED_MODULE_1___default()('growi:services:PageContainer');\n/**\n * Service container related to Page\n * @extends {Container} unstated Container\n */\n\nclass PageContainer extends unstated__WEBPACK_IMPORTED_MODULE_0__[\"Container\"] {\n constructor(appContainer) {\n super();\n this.appContainer = appContainer;\n this.appContainer.registerContainer(this);\n this.state = {};\n const mainContent = document.querySelector('#content-main');\n\n if (mainContent == null) {\n logger.debug('#content-main element is not exists');\n return;\n }\n\n const revisionId = mainContent.getAttribute('data-page-revision-id');\n const path = decodeURI(mainContent.getAttribute('data-path'));\n this.state = {\n // local page data\n markdown: null,\n // will be initialized after initStateMarkdown()\n pageId: mainContent.getAttribute('data-page-id'),\n revisionId,\n revisionCreatedAt: +mainContent.getAttribute('data-page-revision-created'),\n path,\n tocHtml: '',\n isLiked: false,\n isBookmarked: false,\n seenUsers: [],\n seenUserIds: mainContent.getAttribute('data-page-ids-of-seen-users'),\n countOfSeenUsers: mainContent.getAttribute('data-page-count-of-seen-users'),\n likerUsers: [],\n sumOfLikers: 0,\n sumOfBookmarks: 0,\n createdAt: mainContent.getAttribute('data-page-created-at'),\n updatedAt: mainContent.getAttribute('data-page-updated-at'),\n deletedAt: mainContent.getAttribute('data-page-deleted-at') || null,\n isUserPage: JSON.parse(mainContent.getAttribute('data-page-user')) != null,\n isTrashPage: Object(_commons_util_path_utils__WEBPACK_IMPORTED_MODULE_4__[\"isTrashPage\"])(path),\n isDeleted: JSON.parse(mainContent.getAttribute('data-page-is-deleted')),\n isDeletable: JSON.parse(mainContent.getAttribute('data-page-is-deletable')),\n isNotCreatable: JSON.parse(mainContent.getAttribute('data-page-is-not-creatable')),\n isAbleToDeleteCompletely: JSON.parse(mainContent.getAttribute('data-page-is-able-to-delete-completely')),\n isPageExist: mainContent.getAttribute('data-page-id') != null,\n pageUser: JSON.parse(mainContent.getAttribute('data-page-user')),\n tags: null,\n hasChildren: JSON.parse(mainContent.getAttribute('data-page-has-children')),\n templateTagData: mainContent.getAttribute('data-template-tags') || null,\n shareLinksNumber: mainContent.getAttribute('data-share-links-number'),\n shareLinkId: JSON.parse(mainContent.getAttribute('data-share-link-id') || null),\n // latest(on remote) information\n remoteRevisionId: revisionId,\n revisionIdHackmdSynced: mainContent.getAttribute('data-page-revision-id-hackmd-synced') || null,\n lastUpdateUsername: mainContent.getAttribute('data-page-last-update-username') || null,\n deleteUsername: mainContent.getAttribute('data-page-delete-username') || null,\n pageIdOnHackmd: mainContent.getAttribute('data-page-id-on-hackmd') || null,\n hasDraftOnHackmd: !!mainContent.getAttribute('data-page-has-draft-on-hackmd'),\n isHackmdDraftUpdatingInRealtime: false\n }; // parse creator, lastUpdateUser and revisionAuthor\n\n try {\n this.state.creator = JSON.parse(mainContent.getAttribute('data-page-creator'));\n } catch (e) {\n logger.warn('The data of \\'data-page-creator\\' is invalid', e);\n }\n\n try {\n this.state.revisionAuthor = JSON.parse(mainContent.getAttribute('data-page-revision-author'));\n } catch (e) {\n logger.warn('The data of \\'data-page-revision-author\\' is invalid', e);\n }\n\n const {\n interceptorManager\n } = this.appContainer;\n interceptorManager.addInterceptor(new _util_interceptor_detach_code_blocks__WEBPACK_IMPORTED_MODULE_6__[\"DetachCodeBlockInterceptor\"](appContainer), 10); // process as soon as possible\n\n interceptorManager.addInterceptor(new _util_interceptor_drawio_interceptor__WEBPACK_IMPORTED_MODULE_7__[\"DrawioInterceptor\"](appContainer), 20);\n interceptorManager.addInterceptor(new _util_interceptor_detach_code_blocks__WEBPACK_IMPORTED_MODULE_6__[\"RestoreCodeBlockInterceptor\"](appContainer), 900); // process as late as possible\n\n this.initStateMarkdown();\n this.checkAndUpdateImageUrlCached(this.state.likerUsers);\n const {\n isSharedUser\n } = this.appContainer; // see https://dev.growi.org/5fabddf8bbeb1a0048bcb9e9\n\n const isAbleToGetAttachedInformationAboutPages = this.state.isPageExist && !isSharedUser;\n\n if (isAbleToGetAttachedInformationAboutPages) {\n this.retrieveSeenUsers();\n this.retrieveLikeInfo();\n this.retrieveBookmarkInfo();\n }\n\n this.setTocHtml = this.setTocHtml.bind(this);\n this.save = this.save.bind(this);\n this.checkAndUpdateImageUrlCached = this.checkAndUpdateImageUrlCached.bind(this);\n this.addWebSocketEventHandlers = this.addWebSocketEventHandlers.bind(this);\n this.addWebSocketEventHandlers();\n const unlinkPageButton = document.getElementById('unlink-page-button');\n\n if (unlinkPageButton != null) {\n unlinkPageButton.addEventListener('click', async () => {\n try {\n const res = await this.appContainer.apiPost('/pages.unlink', {\n path\n });\n window.location.href = encodeURI(`${res.path}?unlinked=true`);\n } catch (err) {\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_5__[\"toastError\"])(err);\n }\n });\n }\n }\n /**\n * Workaround for the mangling in production build to break constructor.name\n */\n\n\n static getClassName() {\n return 'PageContainer';\n }\n\n get isAbleToOpenPageEditor() {\n const {\n isNotCreatable,\n isTrashPage\n } = this.state;\n const {\n isGuestUser\n } = this.appContainer;\n return !isNotCreatable && !isTrashPage && !isGuestUser;\n }\n /**\n * whether to display reaction buttons\n * ex.) like, bookmark\n */\n\n\n get isAbleToShowPageReactionButtons() {\n const {\n isTrashPage,\n isPageExist\n } = this.state;\n const {\n isSharedUser\n } = this.appContainer;\n return !isTrashPage && isPageExist && !isSharedUser;\n }\n /**\n * whether to display tag labels\n */\n\n\n get isAbleToShowTagLabel() {\n const {\n isUserPage\n } = this.state;\n const {\n isSharedUser\n } = this.appContainer;\n return !isUserPage && !isSharedUser;\n }\n /**\n * whether to display page management\n * ex.) duplicate, rename\n */\n\n\n get isAbleToShowPageManagement() {\n const {\n isPageExist,\n isTrashPage\n } = this.state;\n const {\n isSharedUser\n } = this.appContainer;\n return isPageExist && !isTrashPage && !isSharedUser;\n }\n /**\n * whether to display pageEditorModeManager\n * ex.) view, edit, hackmd\n */\n\n\n get isAbleToShowPageEditorModeManager() {\n const {\n isNotCreatable,\n isTrashPage\n } = this.state;\n const {\n isSharedUser\n } = this.appContainer;\n return !isNotCreatable && !isTrashPage && !isSharedUser;\n }\n /**\n * whether to display pageAuthors\n * ex.) creator, lastUpdateUser\n */\n\n\n get isAbleToShowPageAuthors() {\n const {\n isPageExist,\n isUserPage\n } = this.state;\n return isPageExist && !isUserPage;\n }\n /**\n * whether to like button\n * not displayed on user page\n */\n\n\n get isAbleToShowLikeButton() {\n const {\n isUserPage\n } = this.state;\n const {\n isSharedUser\n } = this.appContainer;\n return !isUserPage && !isSharedUser;\n }\n /**\n * whether to Empty Trash Page\n * not displayed when guest user and not on trash page\n */\n\n\n get isAbleToShowEmptyTrashButton() {\n const {\n currentUser\n } = this.appContainer;\n const {\n path,\n hasChildren\n } = this.state;\n return currentUser != null && currentUser.admin && path === '/trash' && hasChildren;\n }\n /**\n * whether to display trash management buttons\n * ex.) undo, delete completly\n * not displayed when guest user\n */\n\n\n get isAbleToShowTrashPageManagementButtons() {\n const {\n currentUser\n } = this.appContainer;\n const {\n isDeleted\n } = this.state;\n return isDeleted && currentUser != null;\n }\n /**\n * initialize state for markdown data\n */\n\n\n initStateMarkdown() {\n let pageContent = '';\n const rawText = document.getElementById('raw-text-original');\n\n if (rawText) {\n pageContent = rawText.innerHTML;\n }\n\n const markdown = entities__WEBPACK_IMPORTED_MODULE_2__[\"decodeHTML\"](pageContent);\n this.state.markdown = markdown;\n }\n\n async retrieveSeenUsers() {\n const {\n users\n } = await this.appContainer.apiGet('/users.list', {\n user_ids: this.state.seenUserIds\n });\n this.setState({\n seenUsers: users\n });\n this.checkAndUpdateImageUrlCached(users);\n }\n\n async retrieveLikeInfo() {\n const res = await this.appContainer.apiv3Get('/page/like-info', {\n _id: this.state.pageId\n });\n const {\n sumOfLikers,\n isLiked\n } = res.data;\n this.setState({\n sumOfLikers,\n isLiked\n });\n }\n\n async toggleLike() {\n const bool = !this.state.isLiked;\n await this.appContainer.apiv3Put('/page/likes', {\n pageId: this.state.pageId,\n bool\n });\n this.setState({\n isLiked: bool\n });\n return this.retrieveLikeInfo();\n }\n\n async retrieveBookmarkInfo() {\n const response = await this.appContainer.apiv3Get('/bookmarks/info', {\n pageId: this.state.pageId\n });\n this.setState({\n sumOfBookmarks: response.data.sumOfBookmarks,\n isBookmarked: response.data.isBookmarked\n });\n }\n\n async toggleBookmark() {\n const bool = !this.state.isBookmarked;\n await this.appContainer.apiv3Put('/bookmarks', {\n pageId: this.state.pageId,\n bool\n });\n return this.retrieveBookmarkInfo();\n }\n\n async checkAndUpdateImageUrlCached(users) {\n const noImageCacheUsers = users.filter(user => {\n return user.imageUrlCached == null;\n });\n\n if (noImageCacheUsers.length === 0) {\n return;\n }\n\n const noImageCacheUserIds = noImageCacheUsers.map(user => {\n return user.id;\n });\n\n try {\n await this.appContainer.apiv3Put('/users/update.imageUrlCache', {\n userIds: noImageCacheUserIds\n });\n } catch (err) {\n // Error alert doesn't apear, because user don't need to notice this error.\n logger.error(err);\n }\n }\n\n get navigationContainer() {\n return this.appContainer.getContainer('NavigationContainer');\n }\n\n setLatestRemotePageData(s2cMessagePageUpdated) {\n const newState = {\n remoteRevisionId: s2cMessagePageUpdated.revisionId,\n revisionIdHackmdSynced: s2cMessagePageUpdated.revisionIdHackmdSynced,\n lastUpdateUsername: s2cMessagePageUpdated.lastUpdateUsername\n };\n\n if (s2cMessagePageUpdated.hasDraftOnHackmd != null) {\n newState.hasDraftOnHackmd = s2cMessagePageUpdated.hasDraftOnHackmd;\n }\n\n this.setState(newState);\n }\n\n setTocHtml(tocHtml) {\n if (this.state.tocHtml !== tocHtml) {\n this.setState({\n tocHtml\n });\n }\n }\n /**\n * save success handler\n * @param {object} page Page instance\n * @param {Array[Tag]} tags Array of Tag\n * @param {object} revision Revision instance\n */\n\n\n updateStateAfterSave(page, tags, revision) {\n const {\n editorMode\n } = this.navigationContainer.state; // update state of PageContainer\n\n const newState = {\n pageId: page._id,\n revisionId: revision._id,\n revisionCreatedAt: new Date(revision.createdAt).getTime() / 1000,\n remoteRevisionId: revision._id,\n revisionIdHackmdSynced: page.revisionHackmdSynced,\n hasDraftOnHackmd: page.hasDraftOnHackmd,\n markdown: revision.body,\n createdAt: page.createdAt,\n updatedAt: page.updatedAt\n };\n\n if (tags != null) {\n newState.tags = tags;\n }\n\n this.setState(newState); // PageEditor component\n\n const pageEditor = this.appContainer.getComponentInstance('PageEditor');\n\n if (pageEditor != null) {\n if (editorMode !== 'edit') {\n pageEditor.updateEditorValue(newState.markdown);\n }\n } // PageEditorByHackmd component\n\n\n const pageEditorByHackmd = this.appContainer.getComponentInstance('PageEditorByHackmd');\n\n if (pageEditorByHackmd != null) {\n // reset\n if (editorMode !== 'hackmd') {\n pageEditorByHackmd.reset();\n }\n } // hidden input\n\n\n $('input[name=\"revision_id\"]').val(newState.revisionId);\n }\n /**\n * Save page\n * @param {string} markdown\n * @param {object} optionsToSave\n * @return {object} { page: Page, tags: Tag[] }\n */\n\n\n async save(markdown, optionsToSave = {}) {\n const {\n editorMode\n } = this.navigationContainer.state;\n const {\n pageId,\n path\n } = this.state;\n let {\n revisionId\n } = this.state;\n const options = Object.assign({}, optionsToSave);\n\n if (editorMode === 'hackmd') {\n // set option to sync\n options.isSyncRevisionToHackmd = true;\n revisionId = this.state.revisionIdHackmdSynced;\n }\n\n let res;\n\n if (pageId == null) {\n res = await this.createPage(path, markdown, options);\n } else {\n res = await this.updatePage(pageId, revisionId, markdown, options);\n }\n\n this.updateStateAfterSave(res.page, res.tags, res.revision);\n return res;\n }\n\n async saveAndReload(optionsToSave) {\n if (optionsToSave == null) {\n const msg = '\\'saveAndReload\\' requires the \\'optionsToSave\\' param';\n throw new Error(msg);\n }\n\n const {\n editorMode\n } = this.navigationContainer.state;\n\n if (editorMode == null) {\n logger.warn('\\'saveAndReload\\' requires the \\'errorMode\\' param');\n return;\n }\n\n const {\n pageId,\n path\n } = this.state;\n let {\n revisionId\n } = this.state;\n const options = Object.assign({}, optionsToSave);\n let markdown;\n\n if (editorMode === 'hackmd') {\n const pageEditorByHackmd = this.appContainer.getComponentInstance('PageEditorByHackmd');\n markdown = await pageEditorByHackmd.getMarkdown(); // set option to sync\n\n options.isSyncRevisionToHackmd = true;\n revisionId = this.state.revisionIdHackmdSynced;\n } else {\n const pageEditor = this.appContainer.getComponentInstance('PageEditor');\n markdown = pageEditor.getMarkdown();\n }\n\n let res;\n\n if (pageId == null) {\n res = await this.createPage(path, markdown, options);\n } else {\n res = await this.updatePage(pageId, revisionId, markdown, options);\n }\n\n const editorContainer = this.appContainer.getContainer('EditorContainer');\n editorContainer.clearDraft(path);\n window.location.href = path;\n return res;\n }\n\n async createPage(pagePath, markdown, tmpParams) {\n const socketIoContainer = this.appContainer.getContainer('SocketIoContainer'); // clone\n\n const params = Object.assign(tmpParams, {\n socketClientId: socketIoContainer.getSocketClientId(),\n path: pagePath,\n body: markdown\n });\n const res = await this.appContainer.apiv3Post('/pages/', params);\n const {\n page,\n tags,\n revision\n } = res.data;\n return {\n page,\n tags,\n revision\n };\n }\n\n async updatePage(pageId, revisionId, markdown, tmpParams) {\n const socketIoContainer = this.appContainer.getContainer('SocketIoContainer'); // clone\n\n const params = Object.assign(tmpParams, {\n socketClientId: socketIoContainer.getSocketClientId(),\n page_id: pageId,\n revision_id: revisionId,\n body: markdown\n });\n const res = await this.appContainer.apiPost('/pages.update', params);\n\n if (!res.ok) {\n throw new Error(res.error);\n }\n\n return res;\n }\n\n deletePage(isRecursively, isCompletely) {\n const socketIoContainer = this.appContainer.getContainer('SocketIoContainer'); // control flag\n\n const completely = isCompletely ? true : null;\n const recursively = isRecursively ? true : null;\n return this.appContainer.apiPost('/pages.remove', {\n recursively,\n completely,\n page_id: this.state.pageId,\n revision_id: this.state.revisionId,\n socketClientId: socketIoContainer.getSocketClientId()\n });\n }\n\n revertRemove(isRecursively) {\n const socketIoContainer = this.appContainer.getContainer('SocketIoContainer'); // control flag\n\n const recursively = isRecursively ? true : null;\n return this.appContainer.apiPost('/pages.revertRemove', {\n recursively,\n page_id: this.state.pageId,\n socketClientId: socketIoContainer.getSocketClientId()\n });\n }\n\n rename(newPagePath, isRecursively, isRenameRedirect, isRemainMetadata) {\n const socketIoContainer = this.appContainer.getContainer('SocketIoContainer');\n const {\n pageId,\n revisionId,\n path\n } = this.state;\n return this.appContainer.apiv3Put('/pages/rename', {\n revisionId,\n pageId,\n isRecursively,\n isRenameRedirect,\n isRemainMetadata,\n newPagePath,\n path,\n socketClientId: socketIoContainer.getSocketClientId()\n });\n }\n\n showSuccessToastr() {\n toastr__WEBPACK_IMPORTED_MODULE_3__[\"success\"](undefined, 'Saved successfully', {\n closeButton: true,\n progressBar: true,\n newestOnTop: false,\n showDuration: '100',\n hideDuration: '100',\n timeOut: '1200',\n extendedTimeOut: '150'\n });\n }\n\n showErrorToastr(error) {\n toastr__WEBPACK_IMPORTED_MODULE_3__[\"error\"](error.message, 'Error occured', {\n closeButton: true,\n progressBar: true,\n newestOnTop: false,\n showDuration: '100',\n hideDuration: '100',\n timeOut: '3000'\n });\n }\n\n addWebSocketEventHandlers() {\n const pageContainer = this;\n const socketIoContainer = this.appContainer.getContainer('SocketIoContainer');\n const socket = socketIoContainer.getSocket();\n socket.on('page:create', data => {\n // skip if triggered myself\n if (data.socketClientId != null && data.socketClientId === socketIoContainer.getSocketClientId()) {\n return;\n }\n\n logger.debug({\n obj: data\n }, `websocket on 'page:create'`); // eslint-disable-line quotes\n // update remote page data\n\n const {\n s2cMessagePageUpdated\n } = data;\n\n if (s2cMessagePageUpdated.pageId === pageContainer.state.pageId) {\n pageContainer.setLatestRemotePageData(s2cMessagePageUpdated);\n }\n });\n socket.on('page:update', data => {\n // skip if triggered myself\n if (data.socketClientId != null && data.socketClientId === socketIoContainer.getSocketClientId()) {\n return;\n }\n\n logger.debug({\n obj: data\n }, `websocket on 'page:update'`); // eslint-disable-line quotes\n // update remote page data\n\n const {\n s2cMessagePageUpdated\n } = data;\n\n if (s2cMessagePageUpdated.pageId === pageContainer.state.pageId) {\n pageContainer.setLatestRemotePageData(s2cMessagePageUpdated);\n }\n });\n socket.on('page:delete', data => {\n // skip if triggered myself\n if (data.socketClientId != null && data.socketClientId === socketIoContainer.getSocketClientId()) {\n return;\n }\n\n logger.debug({\n obj: data\n }, `websocket on 'page:delete'`); // eslint-disable-line quotes\n // update remote page data\n\n const {\n s2cMessagePageUpdated\n } = data;\n\n if (s2cMessagePageUpdated.pageId === pageContainer.state.pageId) {\n pageContainer.setLatestRemotePageData(s2cMessagePageUpdated);\n }\n });\n socket.on('page:editingWithHackmd', data => {\n // skip if triggered myself\n if (data.socketClientId != null && data.socketClientId === socketIoContainer.getSocketClientId()) {\n return;\n }\n\n logger.debug({\n obj: data\n }, `websocket on 'page:editingWithHackmd'`); // eslint-disable-line quotes\n // update isHackmdDraftUpdatingInRealtime\n\n const {\n s2cMessagePageUpdated\n } = data;\n\n if (s2cMessagePageUpdated.pageId === pageContainer.state.pageId) {\n pageContainer.setState({\n isHackmdDraftUpdatingInRealtime: true\n });\n }\n });\n }\n /* TODO GW-325 */\n\n\n retrieveMyBookmarkList() {}\n\n}\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ \"jquery\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL3NlcnZpY2VzL1BhZ2VDb250YWluZXIuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL3NlcnZpY2VzL1BhZ2VDb250YWluZXIuanM/MzlkNiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250YWluZXIgfSBmcm9tICd1bnN0YXRlZCc7XG5cbmltcG9ydCBsb2dnZXJGYWN0b3J5IGZyb20gJ0BhbGlhcy9sb2dnZXInO1xuXG5pbXBvcnQgKiBhcyBlbnRpdGllcyBmcm9tICdlbnRpdGllcyc7XG5pbXBvcnQgKiBhcyB0b2FzdHIgZnJvbSAndG9hc3RyJztcbmltcG9ydCB7IGlzVHJhc2hQYWdlIH0gZnJvbSAnQGNvbW1vbnMvdXRpbC9wYXRoLXV0aWxzJztcbmltcG9ydCB7IHRvYXN0RXJyb3IgfSBmcm9tICcuLi91dGlsL2FwaU5vdGlmaWNhdGlvbic7XG5cbmltcG9ydCB7XG4gIERldGFjaENvZGVCbG9ja0ludGVyY2VwdG9yLFxuICBSZXN0b3JlQ29kZUJsb2NrSW50ZXJjZXB0b3IsXG59IGZyb20gJy4uL3V0aWwvaW50ZXJjZXB0b3IvZGV0YWNoLWNvZGUtYmxvY2tzJztcblxuaW1wb3J0IHtcbiAgRHJhd2lvSW50ZXJjZXB0b3IsXG59IGZyb20gJy4uL3V0aWwvaW50ZXJjZXB0b3IvZHJhd2lvLWludGVyY2VwdG9yJztcblxuY29uc3QgbG9nZ2VyID0gbG9nZ2VyRmFjdG9yeSgnZ3Jvd2k6c2VydmljZXM6UGFnZUNvbnRhaW5lcicpO1xuXG4vKipcbiAqIFNlcnZpY2UgY29udGFpbmVyIHJlbGF0ZWQgdG8gUGFnZVxuICogQGV4dGVuZHMge0NvbnRhaW5lcn0gdW5zdGF0ZWQgQ29udGFpbmVyXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBhZ2VDb250YWluZXIgZXh0ZW5kcyBDb250YWluZXIge1xuXG4gIGNvbnN0cnVjdG9yKGFwcENvbnRhaW5lcikge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmFwcENvbnRhaW5lciA9IGFwcENvbnRhaW5lcjtcbiAgICB0aGlzLmFwcENvbnRhaW5lci5yZWdpc3RlckNvbnRhaW5lcih0aGlzKTtcblxuICAgIHRoaXMuc3RhdGUgPSB7fTtcblxuICAgIGNvbnN0IG1haW5Db250ZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2NvbnRlbnQtbWFpbicpO1xuICAgIGlmIChtYWluQ29udGVudCA9PSBudWxsKSB7XG4gICAgICBsb2dnZXIuZGVidWcoJyNjb250ZW50LW1haW4gZWxlbWVudCBpcyBub3QgZXhpc3RzJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmV2aXNpb25JZCA9IG1haW5Db250ZW50LmdldEF0dHJpYnV0ZSgnZGF0YS1wYWdlLXJldmlzaW9uLWlkJyk7XG4gICAgY29uc3QgcGF0aCA9IGRlY29kZVVSSShtYWluQ29udGVudC5nZXRBdHRyaWJ1dGUoJ2RhdGEtcGF0aCcpKTtcblxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICAvLyBsb2NhbCBwYWdlIGRhdGFcbiAgICAgIG1hcmtkb3duOiBudWxsLCAvLyB3aWxsIGJlIGluaXRpYWxpemVkIGFmdGVyIGluaXRTdGF0ZU1hcmtkb3duKClcbiAgICAgIHBhZ2VJZDogbWFpbkNvbnRlbnQuZ2V0QXR0cmlidXRlKCdkYXRhLXBhZ2UtaWQnKSxcbiAgICAgIHJldmlzaW9uSWQsXG4gICAgICByZXZpc2lvbkNyZWF0ZWRBdDogK21haW5Db250ZW50LmdldEF0dHJpYnV0ZSgnZGF0YS1wYWdlLXJldmlzaW9uLWNyZWF0ZWQnKSxcbiAgICAgIHBhdGgsXG4gICAgICB0b2NIdG1sOiAnJyxcbiAgICAgIGlzTGlrZWQ6IGZhbHNlLFxuICAgICAgaXNCb29rbWFya2VkOiBmYWxzZSxcbiAgICAgIHNlZW5Vc2VyczogW10sXG4gICAgICBzZWVuVXNlcklkczogbWFpbkNvbnRlbnQuZ2V0QXR0cmlidXRlKCdkYXRhLXBhZ2UtaWRzLW9mLXNlZW4tdXNlcnMnKSxcbiAgICAgIGNvdW50T2ZTZWVuVXNlcnM6IG1haW5Db250ZW50LmdldEF0dHJpYnV0ZSgnZGF0YS1wYWdlLWNvdW50LW9mLXNlZW4tdXNlcnMnKSxcblxuICAgICAgbGlrZXJVc2VyczogW10sXG4gICAgICBzdW1PZkxpa2VyczogMCxcbiAgICAgIHN1bU9mQm9va21hcmtzOiAwLFxuICAgICAgY3JlYXRlZEF0OiBtYWluQ29udGVudC5nZXRBdHRyaWJ1dGUoJ2RhdGEtcGFnZS1jcmVhdGVkLWF0JyksXG4gICAgICB1cGRhdGVkQXQ6IG1haW5Db250ZW50LmdldEF0dHJpYnV0ZSgnZGF0YS1wYWdlLXVwZGF0ZWQtYXQnKSxcbiAgICAgIGRlbGV0ZWRBdDogbWFpbkNvbnRlbnQuZ2V0QXR0cmlidXRlKCdkYXRhLXBhZ2UtZGVsZXRlZC1hdCcpIHx8IG51bGwsXG5cbiAgICAgIGlzVXNlclBhZ2U6IEpTT04ucGFyc2UobWFpbkNvbnRlbnQuZ2V0QXR0cmlidXRlKCdkYXRhLXBhZ2UtdXNlcicpKSAhPSBudWxsLFxuICAgICAgaXNUcmFzaFBhZ2U6IGlzVHJhc2hQYWdlKHBhdGgpLFxuICAgICAgaXNEZWxldGVkOiBKU09OLnBhcnNlKG1haW5Db250ZW50LmdldEF0dHJpYnV0ZSgnZGF0YS1wYWdlLWlzLWRlbGV0ZWQnKSksXG4gICAgICBpc0RlbGV0YWJsZTogSlNPTi5wYXJzZShtYWluQ29udGVudC5nZXRBdHRyaWJ1dGUoJ2RhdGEtcGFnZS1pcy1kZWxldGFibGUnKSksXG4gICAgICBpc05vdENyZWF0YWJsZTogSlNPTi5wYXJzZShtYWluQ29udGVudC5nZXRBdHRyaWJ1dGUoJ2RhdGEtcGFnZS1pcy1ub3QtY3JlYXRhYmxlJykpLFxuICAgICAgaXNBYmxlVG9EZWxldGVDb21wbGV0ZWx5OiBKU09OLnBhcnNlKG1haW5Db250ZW50LmdldEF0dHJpYnV0ZSgnZGF0YS1wYWdlLWlzLWFibGUtdG8tZGVsZXRlLWNvbXBsZXRlbHknKSksXG4gICAgICBpc1BhZ2VFeGlzdDogbWFpbkNvbnRlbnQuZ2V0QXR0cmlidXRlKCdkYXRhLXBhZ2UtaWQnKSAhPSBudWxsLFxuXG4gICAgICBwYWdlVXNlcjogSlNPTi5wYXJzZShtYWluQ29udGVudC5nZXRBdHRyaWJ1dGUoJ2RhdGEtcGFnZS11c2VyJykpLFxuICAgICAgdGFnczogbnVsbCxcbiAgICAgIGhhc0NoaWxkcmVuOiBKU09OLnBhcnNlKG1haW5Db250ZW50LmdldEF0dHJpYnV0ZSgnZGF0YS1wYWdlLWhhcy1jaGlsZHJlbicpKSxcbiAgICAgIHRlbXBsYXRlVGFnRGF0YTogbWFpbkNvbnRlbnQuZ2V0QXR0cmlidXRlKCdkYXRhLXRlbXBsYXRlLXRhZ3MnKSB8fCBudWxsLFxuICAgICAgc2hhcmVMaW5rc051bWJlcjogbWFpbkNvbnRlbnQuZ2V0QXR0cmlidXRlKCdkYXRhLXNoYXJlLWxpbmtzLW51bWJlcicpLFxuICAgICAgc2hhcmVMaW5rSWQ6IEpTT04ucGFyc2UobWFpbkNvbnRlbnQuZ2V0QXR0cmlidXRlKCdkYXRhLXNoYXJlLWxpbmstaWQnKSB8fCBudWxsKSxcblxuICAgICAgLy8gbGF0ZXN0KG9uIHJlbW90ZSkgaW5mb3JtYXRpb25cbiAgICAgIHJlbW90ZVJldmlzaW9uSWQ6IHJldmlzaW9uSWQsXG4gICAgICByZXZpc2lvbklkSGFja21kU3luY2VkOiBtYWluQ29udGVudC5nZXRBdHRyaWJ1dGUoJ2RhdGEtcGFnZS1yZXZpc2lvbi1pZC1oYWNrbWQtc3luY2VkJykgfHwgbnVsbCxcbiAgICAgIGxhc3RVcGRhdGVVc2VybmFtZTogbWFpbkNvbnRlbnQuZ2V0QXR0cmlidXRlKCdkYXRhLXBhZ2UtbGFzdC11cGRhdGUtdXNlcm5hbWUnKSB8fCBudWxsLFxuICAgICAgZGVsZXRlVXNlcm5hbWU6IG1haW5Db250ZW50LmdldEF0dHJpYnV0ZSgnZGF0YS1wYWdlLWRlbGV0ZS11c2VybmFtZScpIHx8IG51bGwsXG4gICAgICBwYWdlSWRPbkhhY2ttZDogbWFpbkNvbnRlbnQuZ2V0QXR0cmlidXRlKCdkYXRhLXBhZ2UtaWQtb24taGFja21kJykgfHwgbnVsbCxcbiAgICAgIGhhc0RyYWZ0T25IYWNrbWQ6ICEhbWFpbkNvbnRlbnQuZ2V0QXR0cmlidXRlKCdkYXRhLXBhZ2UtaGFzLWRyYWZ0LW9uLWhhY2ttZCcpLFxuICAgICAgaXNIYWNrbWREcmFmdFVwZGF0aW5nSW5SZWFsdGltZTogZmFsc2UsXG4gICAgfTtcblxuICAgIC8vIHBhcnNlIGNyZWF0b3IsIGxhc3RVcGRhdGVVc2VyIGFuZCByZXZpc2lvbkF1dGhvclxuICAgIHRyeSB7XG4gICAgICB0aGlzLnN0YXRlLmNyZWF0b3IgPSBKU09OLnBhcnNlKG1haW5Db250ZW50LmdldEF0dHJpYnV0ZSgnZGF0YS1wYWdlLWNyZWF0b3InKSk7XG4gICAgfVxuICAgIGNhdGNoIChlKSB7XG4gICAgICBsb2dnZXIud2FybignVGhlIGRhdGEgb2YgXFwnZGF0YS1wYWdlLWNyZWF0b3JcXCcgaXMgaW52YWxpZCcsIGUpO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgdGhpcy5zdGF0ZS5yZXZpc2lvbkF1dGhvciA9IEpTT04ucGFyc2UobWFpbkNvbnRlbnQuZ2V0QXR0cmlidXRlKCdkYXRhLXBhZ2UtcmV2aXNpb24tYXV0aG9yJykpO1xuICAgIH1cbiAgICBjYXRjaCAoZSkge1xuICAgICAgbG9nZ2VyLndhcm4oJ1RoZSBkYXRhIG9mIFxcJ2RhdGEtcGFnZS1yZXZpc2lvbi1hdXRob3JcXCcgaXMgaW52YWxpZCcsIGUpO1xuICAgIH1cblxuICAgIGNvbnN0IHsgaW50ZXJjZXB0b3JNYW5hZ2VyIH0gPSB0aGlzLmFwcENvbnRhaW5lcjtcbiAgICBpbnRlcmNlcHRvck1hbmFnZXIuYWRkSW50ZXJjZXB0b3IobmV3IERldGFjaENvZGVCbG9ja0ludGVyY2VwdG9yKGFwcENvbnRhaW5lciksIDEwKTsgLy8gcHJvY2VzcyBhcyBzb29uIGFzIHBvc3NpYmxlXG4gICAgaW50ZXJjZXB0b3JNYW5hZ2VyLmFkZEludGVyY2VwdG9yKG5ldyBEcmF3aW9JbnRlcmNlcHRvcihhcHBDb250YWluZXIpLCAyMCk7XG4gICAgaW50ZXJjZXB0b3JNYW5hZ2VyLmFkZEludGVyY2VwdG9yKG5ldyBSZXN0b3JlQ29kZUJsb2NrSW50ZXJjZXB0b3IoYXBwQ29udGFpbmVyKSwgOTAwKTsgLy8gcHJvY2VzcyBhcyBsYXRlIGFzIHBvc3NpYmxlXG5cbiAgICB0aGlzLmluaXRTdGF0ZU1hcmtkb3duKCk7XG4gICAgdGhpcy5jaGVja0FuZFVwZGF0ZUltYWdlVXJsQ2FjaGVkKHRoaXMuc3RhdGUubGlrZXJVc2Vycyk7XG5cbiAgICBjb25zdCB7IGlzU2hhcmVkVXNlciB9ID0gdGhpcy5hcHBDb250YWluZXI7XG5cbiAgICAvLyBzZWUgaHR0cHM6Ly9kZXYuZ3Jvd2kub3JnLzVmYWJkZGY4YmJlYjFhMDA0OGJjYjllOVxuICAgIGNvbnN0IGlzQWJsZVRvR2V0QXR0YWNoZWRJbmZvcm1hdGlvbkFib3V0UGFnZXMgPSB0aGlzLnN0YXRlLmlzUGFnZUV4aXN0ICYmICFpc1NoYXJlZFVzZXI7XG5cbiAgICBpZiAoaXNBYmxlVG9HZXRBdHRhY2hlZEluZm9ybWF0aW9uQWJvdXRQYWdlcykge1xuICAgICAgdGhpcy5yZXRyaWV2ZVNlZW5Vc2VycygpO1xuICAgICAgdGhpcy5yZXRyaWV2ZUxpa2VJbmZvKCk7XG4gICAgICB0aGlzLnJldHJpZXZlQm9va21hcmtJbmZvKCk7XG4gICAgfVxuXG4gICAgdGhpcy5zZXRUb2NIdG1sID0gdGhpcy5zZXRUb2NIdG1sLmJpbmQodGhpcyk7XG4gICAgdGhpcy5zYXZlID0gdGhpcy5zYXZlLmJpbmQodGhpcyk7XG4gICAgdGhpcy5jaGVja0FuZFVwZGF0ZUltYWdlVXJsQ2FjaGVkID0gdGhpcy5jaGVja0FuZFVwZGF0ZUltYWdlVXJsQ2FjaGVkLmJpbmQodGhpcyk7XG4gICAgdGhpcy5hZGRXZWJTb2NrZXRFdmVudEhhbmRsZXJzID0gdGhpcy5hZGRXZWJTb2NrZXRFdmVudEhhbmRsZXJzLmJpbmQodGhpcyk7XG4gICAgdGhpcy5hZGRXZWJTb2NrZXRFdmVudEhhbmRsZXJzKCk7XG5cbiAgICBjb25zdCB1bmxpbmtQYWdlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3VubGluay1wYWdlLWJ1dHRvbicpO1xuICAgIGlmICh1bmxpbmtQYWdlQnV0dG9uICE9IG51bGwpIHtcbiAgICAgIHVubGlua1BhZ2VCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBhc3luYygpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmFwcENvbnRhaW5lci5hcGlQb3N0KCcvcGFnZXMudW5saW5rJywgeyBwYXRoIH0pO1xuICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gZW5jb2RlVVJJKGAke3Jlcy5wYXRofT91bmxpbmtlZD10cnVlYCk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgIHRvYXN0RXJyb3IoZXJyKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gIH1cblxuICAvKipcbiAgICogV29ya2Fyb3VuZCBmb3IgdGhlIG1hbmdsaW5nIGluIHByb2R1Y3Rpb24gYnVpbGQgdG8gYnJlYWsgY29uc3RydWN0b3IubmFtZVxuICAgKi9cbiAgc3RhdGljIGdldENsYXNzTmFtZSgpIHtcbiAgICByZXR1cm4gJ1BhZ2VDb250YWluZXInO1xuICB9XG5cblxuICBnZXQgaXNBYmxlVG9PcGVuUGFnZUVkaXRvcigpIHtcbiAgICBjb25zdCB7IGlzTm90Q3JlYXRhYmxlLCBpc1RyYXNoUGFnZSB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7IGlzR3Vlc3RVc2VyIH0gPSB0aGlzLmFwcENvbnRhaW5lcjtcblxuICAgIHJldHVybiAoIWlzTm90Q3JlYXRhYmxlICYmICFpc1RyYXNoUGFnZSAmJiAhaXNHdWVzdFVzZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIHdoZXRoZXIgdG8gZGlzcGxheSByZWFjdGlvbiBidXR0b25zXG4gICAqIGV4LikgbGlrZSwgYm9va21hcmtcbiAgICovXG4gIGdldCBpc0FibGVUb1Nob3dQYWdlUmVhY3Rpb25CdXR0b25zKCkge1xuICAgIGNvbnN0IHsgaXNUcmFzaFBhZ2UsIGlzUGFnZUV4aXN0IH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IHsgaXNTaGFyZWRVc2VyIH0gPSB0aGlzLmFwcENvbnRhaW5lcjtcblxuICAgIHJldHVybiAoIWlzVHJhc2hQYWdlICYmIGlzUGFnZUV4aXN0ICYmICFpc1NoYXJlZFVzZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIHdoZXRoZXIgdG8gZGlzcGxheSB0YWcgbGFiZWxzXG4gICAqL1xuICBnZXQgaXNBYmxlVG9TaG93VGFnTGFiZWwoKSB7XG4gICAgY29uc3QgeyBpc1VzZXJQYWdlIH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IHsgaXNTaGFyZWRVc2VyIH0gPSB0aGlzLmFwcENvbnRhaW5lcjtcblxuICAgIHJldHVybiAoIWlzVXNlclBhZ2UgJiYgIWlzU2hhcmVkVXNlcik7XG4gIH1cblxuICAvKipcbiAgICogd2hldGhlciB0byBkaXNwbGF5IHBhZ2UgbWFuYWdlbWVudFxuICAgKiBleC4pIGR1cGxpY2F0ZSwgcmVuYW1lXG4gICAqL1xuICBnZXQgaXNBYmxlVG9TaG93UGFnZU1hbmFnZW1lbnQoKSB7XG4gICAgY29uc3QgeyBpc1BhZ2VFeGlzdCwgaXNUcmFzaFBhZ2UgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyBpc1NoYXJlZFVzZXIgfSA9IHRoaXMuYXBwQ29udGFpbmVyO1xuXG4gICAgcmV0dXJuIChpc1BhZ2VFeGlzdCAmJiAhaXNUcmFzaFBhZ2UgJiYgIWlzU2hhcmVkVXNlcik7XG4gIH1cblxuICAvKipcbiAgICogd2hldGhlciB0byBkaXNwbGF5IHBhZ2VFZGl0b3JNb2RlTWFuYWdlclxuICAgKiBleC4pIHZpZXcsIGVkaXQsIGhhY2ttZFxuICAgKi9cbiAgZ2V0IGlzQWJsZVRvU2hvd1BhZ2VFZGl0b3JNb2RlTWFuYWdlcigpIHtcbiAgICBjb25zdCB7IGlzTm90Q3JlYXRhYmxlLCBpc1RyYXNoUGFnZSB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCB7IGlzU2hhcmVkVXNlciB9ID0gdGhpcy5hcHBDb250YWluZXI7XG5cbiAgICByZXR1cm4gKCFpc05vdENyZWF0YWJsZSAmJiAhaXNUcmFzaFBhZ2UgJiYgIWlzU2hhcmVkVXNlcik7XG4gIH1cblxuICAvKipcbiAgICogd2hldGhlciB0byBkaXNwbGF5IHBhZ2VBdXRob3JzXG4gICAqIGV4LikgY3JlYXRvciwgbGFzdFVwZGF0ZVVzZXJcbiAgICovXG4gIGdldCBpc0FibGVUb1Nob3dQYWdlQXV0aG9ycygpIHtcbiAgICBjb25zdCB7IGlzUGFnZUV4aXN0LCBpc1VzZXJQYWdlIH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgcmV0dXJuIChpc1BhZ2VFeGlzdCAmJiAhaXNVc2VyUGFnZSk7XG4gIH1cblxuICAvKipcbiAgICogd2hldGhlciB0byBsaWtlIGJ1dHRvblxuICAgKiBub3QgZGlzcGxheWVkIG9uIHVzZXIgcGFnZVxuICAgKi9cbiAgZ2V0IGlzQWJsZVRvU2hvd0xpa2VCdXR0b24oKSB7XG4gICAgY29uc3QgeyBpc1VzZXJQYWdlIH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IHsgaXNTaGFyZWRVc2VyIH0gPSB0aGlzLmFwcENvbnRhaW5lcjtcblxuICAgIHJldHVybiAoIWlzVXNlclBhZ2UgJiYgIWlzU2hhcmVkVXNlcik7XG4gIH1cblxuICAvKipcbiAgICogd2hldGhlciB0byBFbXB0eSBUcmFzaCBQYWdlXG4gICAqIG5vdCBkaXNwbGF5ZWQgd2hlbiBndWVzdCB1c2VyIGFuZCBub3Qgb24gdHJhc2ggcGFnZVxuICAgKi9cbiAgZ2V0IGlzQWJsZVRvU2hvd0VtcHR5VHJhc2hCdXR0b24oKSB7XG4gICAgY29uc3QgeyBjdXJyZW50VXNlciB9ID0gdGhpcy5hcHBDb250YWluZXI7XG4gICAgY29uc3QgeyBwYXRoLCBoYXNDaGlsZHJlbiB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIHJldHVybiAoY3VycmVudFVzZXIgIT0gbnVsbCAmJiBjdXJyZW50VXNlci5hZG1pbiAmJiBwYXRoID09PSAnL3RyYXNoJyAmJiBoYXNDaGlsZHJlbik7XG4gIH1cblxuICAvKipcbiAgICogd2hldGhlciB0byBkaXNwbGF5IHRyYXNoIG1hbmFnZW1lbnQgYnV0dG9uc1xuICAgKiBleC4pIHVuZG8sIGRlbGV0ZSBjb21wbGV0bHlcbiAgICogbm90IGRpc3BsYXllZCB3aGVuIGd1ZXN0IHVzZXJcbiAgICovXG4gIGdldCBpc0FibGVUb1Nob3dUcmFzaFBhZ2VNYW5hZ2VtZW50QnV0dG9ucygpIHtcbiAgICBjb25zdCB7IGN1cnJlbnRVc2VyIH0gPSB0aGlzLmFwcENvbnRhaW5lcjtcbiAgICBjb25zdCB7IGlzRGVsZXRlZCB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIHJldHVybiAoaXNEZWxldGVkICYmIGN1cnJlbnRVc2VyICE9IG51bGwpO1xuICB9XG5cbiAgLyoqXG4gICAqIGluaXRpYWxpemUgc3RhdGUgZm9yIG1hcmtkb3duIGRhdGFcbiAgICovXG4gIGluaXRTdGF0ZU1hcmtkb3duKCkge1xuICAgIGxldCBwYWdlQ29udGVudCA9ICcnO1xuXG4gICAgY29uc3QgcmF3VGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyYXctdGV4dC1vcmlnaW5hbCcpO1xuICAgIGlmIChyYXdUZXh0KSB7XG4gICAgICBwYWdlQ29udGVudCA9IHJhd1RleHQuaW5uZXJIVE1MO1xuICAgIH1cbiAgICBjb25zdCBtYXJrZG93biA9IGVudGl0aWVzLmRlY29kZUhUTUwocGFnZUNvbnRlbnQpO1xuXG4gICAgdGhpcy5zdGF0ZS5tYXJrZG93biA9IG1hcmtkb3duO1xuICB9XG5cbiAgYXN5bmMgcmV0cmlldmVTZWVuVXNlcnMoKSB7XG4gICAgY29uc3QgeyB1c2VycyB9ID0gYXdhaXQgdGhpcy5hcHBDb250YWluZXIuYXBpR2V0KCcvdXNlcnMubGlzdCcsIHsgdXNlcl9pZHM6IHRoaXMuc3RhdGUuc2VlblVzZXJJZHMgfSk7XG5cbiAgICB0aGlzLnNldFN0YXRlKHsgc2VlblVzZXJzOiB1c2VycyB9KTtcbiAgICB0aGlzLmNoZWNrQW5kVXBkYXRlSW1hZ2VVcmxDYWNoZWQodXNlcnMpO1xuICB9XG5cbiAgYXN5bmMgcmV0cmlldmVMaWtlSW5mbygpIHtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmFwcENvbnRhaW5lci5hcGl2M0dldCgnL3BhZ2UvbGlrZS1pbmZvJywgeyBfaWQ6IHRoaXMuc3RhdGUucGFnZUlkIH0pO1xuICAgIGNvbnN0IHsgc3VtT2ZMaWtlcnMsIGlzTGlrZWQgfSA9IHJlcy5kYXRhO1xuXG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBzdW1PZkxpa2VycyxcbiAgICAgIGlzTGlrZWQsXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyB0b2dnbGVMaWtlKCkge1xuICAgIGNvbnN0IGJvb2wgPSAhdGhpcy5zdGF0ZS5pc0xpa2VkO1xuICAgIGF3YWl0IHRoaXMuYXBwQ29udGFpbmVyLmFwaXYzUHV0KCcvcGFnZS9saWtlcycsIHsgcGFnZUlkOiB0aGlzLnN0YXRlLnBhZ2VJZCwgYm9vbCB9KTtcbiAgICB0aGlzLnNldFN0YXRlKHsgaXNMaWtlZDogYm9vbCB9KTtcblxuICAgIHJldHVybiB0aGlzLnJldHJpZXZlTGlrZUluZm8oKTtcbiAgfVxuXG4gIGFzeW5jIHJldHJpZXZlQm9va21hcmtJbmZvKCkge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5hcHBDb250YWluZXIuYXBpdjNHZXQoJy9ib29rbWFya3MvaW5mbycsIHsgcGFnZUlkOiB0aGlzLnN0YXRlLnBhZ2VJZCB9KTtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIHN1bU9mQm9va21hcmtzOiByZXNwb25zZS5kYXRhLnN1bU9mQm9va21hcmtzLFxuICAgICAgaXNCb29rbWFya2VkOiByZXNwb25zZS5kYXRhLmlzQm9va21hcmtlZCxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHRvZ2dsZUJvb2ttYXJrKCkge1xuICAgIGNvbnN0IGJvb2wgPSAhdGhpcy5zdGF0ZS5pc0Jvb2ttYXJrZWQ7XG4gICAgYXdhaXQgdGhpcy5hcHBDb250YWluZXIuYXBpdjNQdXQoJy9ib29rbWFya3MnLCB7IHBhZ2VJZDogdGhpcy5zdGF0ZS5wYWdlSWQsIGJvb2wgfSk7XG4gICAgcmV0dXJuIHRoaXMucmV0cmlldmVCb29rbWFya0luZm8oKTtcbiAgfVxuXG4gIGFzeW5jIGNoZWNrQW5kVXBkYXRlSW1hZ2VVcmxDYWNoZWQodXNlcnMpIHtcbiAgICBjb25zdCBub0ltYWdlQ2FjaGVVc2VycyA9IHVzZXJzLmZpbHRlcigodXNlcikgPT4geyByZXR1cm4gdXNlci5pbWFnZVVybENhY2hlZCA9PSBudWxsIH0pO1xuICAgIGlmIChub0ltYWdlQ2FjaGVVc2Vycy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBub0ltYWdlQ2FjaGVVc2VySWRzID0gbm9JbWFnZUNhY2hlVXNlcnMubWFwKCh1c2VyKSA9PiB7IHJldHVybiB1c2VyLmlkIH0pO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmFwcENvbnRhaW5lci5hcGl2M1B1dCgnL3VzZXJzL3VwZGF0ZS5pbWFnZVVybENhY2hlJywgeyB1c2VySWRzOiBub0ltYWdlQ2FjaGVVc2VySWRzIH0pO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAvLyBFcnJvciBhbGVydCBkb2Vzbid0IGFwZWFyLCBiZWNhdXNlIHVzZXIgZG9uJ3QgbmVlZCB0byBub3RpY2UgdGhpcyBlcnJvci5cbiAgICAgIGxvZ2dlci5lcnJvcihlcnIpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBuYXZpZ2F0aW9uQ29udGFpbmVyKCkge1xuICAgIHJldHVybiB0aGlzLmFwcENvbnRhaW5lci5nZXRDb250YWluZXIoJ05hdmlnYXRpb25Db250YWluZXInKTtcbiAgfVxuXG4gIHNldExhdGVzdFJlbW90ZVBhZ2VEYXRhKHMyY01lc3NhZ2VQYWdlVXBkYXRlZCkge1xuICAgIGNvbnN0IG5ld1N0YXRlID0ge1xuICAgICAgcmVtb3RlUmV2aXNpb25JZDogczJjTWVzc2FnZVBhZ2VVcGRhdGVkLnJldmlzaW9uSWQsXG4gICAgICByZXZpc2lvbklkSGFja21kU3luY2VkOiBzMmNNZXNzYWdlUGFnZVVwZGF0ZWQucmV2aXNpb25JZEhhY2ttZFN5bmNlZCxcbiAgICAgIGxhc3RVcGRhdGVVc2VybmFtZTogczJjTWVzc2FnZVBhZ2VVcGRhdGVkLmxhc3RVcGRhdGVVc2VybmFtZSxcbiAgICB9O1xuXG4gICAgaWYgKHMyY01lc3NhZ2VQYWdlVXBkYXRlZC5oYXNEcmFmdE9uSGFja21kICE9IG51bGwpIHtcbiAgICAgIG5ld1N0YXRlLmhhc0RyYWZ0T25IYWNrbWQgPSBzMmNNZXNzYWdlUGFnZVVwZGF0ZWQuaGFzRHJhZnRPbkhhY2ttZDtcbiAgICB9XG5cbiAgICB0aGlzLnNldFN0YXRlKG5ld1N0YXRlKTtcbiAgfVxuXG4gIHNldFRvY0h0bWwodG9jSHRtbCkge1xuICAgIGlmICh0aGlzLnN0YXRlLnRvY0h0bWwgIT09IHRvY0h0bWwpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyB0b2NIdG1sIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBzYXZlIHN1Y2Nlc3MgaGFuZGxlclxuICAgKiBAcGFyYW0ge29iamVjdH0gcGFnZSBQYWdlIGluc3RhbmNlXG4gICAqIEBwYXJhbSB7QXJyYXlbVGFnXX0gdGFncyBBcnJheSBvZiBUYWdcbiAgICogQHBhcmFtIHtvYmplY3R9IHJldmlzaW9uIFJldmlzaW9uIGluc3RhbmNlXG4gICAqL1xuICB1cGRhdGVTdGF0ZUFmdGVyU2F2ZShwYWdlLCB0YWdzLCByZXZpc2lvbikge1xuICAgIGNvbnN0IHsgZWRpdG9yTW9kZSB9ID0gdGhpcy5uYXZpZ2F0aW9uQ29udGFpbmVyLnN0YXRlO1xuXG4gICAgLy8gdXBkYXRlIHN0YXRlIG9mIFBhZ2VDb250YWluZXJcbiAgICBjb25zdCBuZXdTdGF0ZSA9IHtcbiAgICAgIHBhZ2VJZDogcGFnZS5faWQsXG4gICAgICByZXZpc2lvbklkOiByZXZpc2lvbi5faWQsXG4gICAgICByZXZpc2lvbkNyZWF0ZWRBdDogbmV3IERhdGUocmV2aXNpb24uY3JlYXRlZEF0KS5nZXRUaW1lKCkgLyAxMDAwLFxuICAgICAgcmVtb3RlUmV2aXNpb25JZDogcmV2aXNpb24uX2lkLFxuICAgICAgcmV2aXNpb25JZEhhY2ttZFN5bmNlZDogcGFnZS5yZXZpc2lvbkhhY2ttZFN5bmNlZCxcbiAgICAgIGhhc0RyYWZ0T25IYWNrbWQ6IHBhZ2UuaGFzRHJhZnRPbkhhY2ttZCxcbiAgICAgIG1hcmtkb3duOiByZXZpc2lvbi5ib2R5LFxuICAgICAgY3JlYXRlZEF0OiBwYWdlLmNyZWF0ZWRBdCxcbiAgICAgIHVwZGF0ZWRBdDogcGFnZS51cGRhdGVkQXQsXG4gICAgfTtcbiAgICBpZiAodGFncyAhPSBudWxsKSB7XG4gICAgICBuZXdTdGF0ZS50YWdzID0gdGFncztcbiAgICB9XG4gICAgdGhpcy5zZXRTdGF0ZShuZXdTdGF0ZSk7XG5cbiAgICAvLyBQYWdlRWRpdG9yIGNvbXBvbmVudFxuICAgIGNvbnN0IHBhZ2VFZGl0b3IgPSB0aGlzLmFwcENvbnRhaW5lci5nZXRDb21wb25lbnRJbnN0YW5jZSgnUGFnZUVkaXRvcicpO1xuICAgIGlmIChwYWdlRWRpdG9yICE9IG51bGwpIHtcbiAgICAgIGlmIChlZGl0b3JNb2RlICE9PSAnZWRpdCcpIHtcbiAgICAgICAgcGFnZUVkaXRvci51cGRhdGVFZGl0b3JWYWx1ZShuZXdTdGF0ZS5tYXJrZG93bik7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIFBhZ2VFZGl0b3JCeUhhY2ttZCBjb21wb25lbnRcbiAgICBjb25zdCBwYWdlRWRpdG9yQnlIYWNrbWQgPSB0aGlzLmFwcENvbnRhaW5lci5nZXRDb21wb25lbnRJbnN0YW5jZSgnUGFnZUVkaXRvckJ5SGFja21kJyk7XG4gICAgaWYgKHBhZ2VFZGl0b3JCeUhhY2ttZCAhPSBudWxsKSB7XG4gICAgICAvLyByZXNldFxuICAgICAgaWYgKGVkaXRvck1vZGUgIT09ICdoYWNrbWQnKSB7XG4gICAgICAgIHBhZ2VFZGl0b3JCeUhhY2ttZC5yZXNldCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGhpZGRlbiBpbnB1dFxuICAgICQoJ2lucHV0W25hbWU9XCJyZXZpc2lvbl9pZFwiXScpLnZhbChuZXdTdGF0ZS5yZXZpc2lvbklkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTYXZlIHBhZ2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1hcmtkb3duXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBvcHRpb25zVG9TYXZlXG4gICAqIEByZXR1cm4ge29iamVjdH0geyBwYWdlOiBQYWdlLCB0YWdzOiBUYWdbXSB9XG4gICAqL1xuICBhc3luYyBzYXZlKG1hcmtkb3duLCBvcHRpb25zVG9TYXZlID0ge30pIHtcbiAgICBjb25zdCB7IGVkaXRvck1vZGUgfSA9IHRoaXMubmF2aWdhdGlvbkNvbnRhaW5lci5zdGF0ZTtcblxuICAgIGNvbnN0IHsgcGFnZUlkLCBwYXRoIH0gPSB0aGlzLnN0YXRlO1xuICAgIGxldCB7IHJldmlzaW9uSWQgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBjb25zdCBvcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgb3B0aW9uc1RvU2F2ZSk7XG5cbiAgICBpZiAoZWRpdG9yTW9kZSA9PT0gJ2hhY2ttZCcpIHtcbiAgICAgIC8vIHNldCBvcHRpb24gdG8gc3luY1xuICAgICAgb3B0aW9ucy5pc1N5bmNSZXZpc2lvblRvSGFja21kID0gdHJ1ZTtcbiAgICAgIHJldmlzaW9uSWQgPSB0aGlzLnN0YXRlLnJldmlzaW9uSWRIYWNrbWRTeW5jZWQ7XG4gICAgfVxuXG4gICAgbGV0IHJlcztcbiAgICBpZiAocGFnZUlkID09IG51bGwpIHtcbiAgICAgIHJlcyA9IGF3YWl0IHRoaXMuY3JlYXRlUGFnZShwYXRoLCBtYXJrZG93biwgb3B0aW9ucyk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgcmVzID0gYXdhaXQgdGhpcy51cGRhdGVQYWdlKHBhZ2VJZCwgcmV2aXNpb25JZCwgbWFya2Rvd24sIG9wdGlvbnMpO1xuICAgIH1cblxuICAgIHRoaXMudXBkYXRlU3RhdGVBZnRlclNhdmUocmVzLnBhZ2UsIHJlcy50YWdzLCByZXMucmV2aXNpb24pO1xuICAgIHJldHVybiByZXM7XG4gIH1cblxuICBhc3luYyBzYXZlQW5kUmVsb2FkKG9wdGlvbnNUb1NhdmUpIHtcbiAgICBpZiAob3B0aW9uc1RvU2F2ZSA9PSBudWxsKSB7XG4gICAgICBjb25zdCBtc2cgPSAnXFwnc2F2ZUFuZFJlbG9hZFxcJyByZXF1aXJlcyB0aGUgXFwnb3B0aW9uc1RvU2F2ZVxcJyBwYXJhbSc7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IobXNnKTtcbiAgICB9XG5cbiAgICBjb25zdCB7IGVkaXRvck1vZGUgfSA9IHRoaXMubmF2aWdhdGlvbkNvbnRhaW5lci5zdGF0ZTtcbiAgICBpZiAoZWRpdG9yTW9kZSA9PSBudWxsKSB7XG4gICAgICBsb2dnZXIud2FybignXFwnc2F2ZUFuZFJlbG9hZFxcJyByZXF1aXJlcyB0aGUgXFwnZXJyb3JNb2RlXFwnIHBhcmFtJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgeyBwYWdlSWQsIHBhdGggfSA9IHRoaXMuc3RhdGU7XG4gICAgbGV0IHsgcmV2aXNpb25JZCB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIGNvbnN0IG9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCBvcHRpb25zVG9TYXZlKTtcblxuICAgIGxldCBtYXJrZG93bjtcbiAgICBpZiAoZWRpdG9yTW9kZSA9PT0gJ2hhY2ttZCcpIHtcbiAgICAgIGNvbnN0IHBhZ2VFZGl0b3JCeUhhY2ttZCA9IHRoaXMuYXBwQ29udGFpbmVyLmdldENvbXBvbmVudEluc3RhbmNlKCdQYWdlRWRpdG9yQnlIYWNrbWQnKTtcbiAgICAgIG1hcmtkb3duID0gYXdhaXQgcGFnZUVkaXRvckJ5SGFja21kLmdldE1hcmtkb3duKCk7XG4gICAgICAvLyBzZXQgb3B0aW9uIHRvIHN5bmNcbiAgICAgIG9wdGlvbnMuaXNTeW5jUmV2aXNpb25Ub0hhY2ttZCA9IHRydWU7XG4gICAgICByZXZpc2lvbklkID0gdGhpcy5zdGF0ZS5yZXZpc2lvbklkSGFja21kU3luY2VkO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGNvbnN0IHBhZ2VFZGl0b3IgPSB0aGlzLmFwcENvbnRhaW5lci5nZXRDb21wb25lbnRJbnN0YW5jZSgnUGFnZUVkaXRvcicpO1xuICAgICAgbWFya2Rvd24gPSBwYWdlRWRpdG9yLmdldE1hcmtkb3duKCk7XG4gICAgfVxuXG4gICAgbGV0IHJlcztcbiAgICBpZiAocGFnZUlkID09IG51bGwpIHtcbiAgICAgIHJlcyA9IGF3YWl0IHRoaXMuY3JlYXRlUGFnZShwYXRoLCBtYXJrZG93biwgb3B0aW9ucyk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgcmVzID0gYXdhaXQgdGhpcy51cGRhdGVQYWdlKHBhZ2VJZCwgcmV2aXNpb25JZCwgbWFya2Rvd24sIG9wdGlvbnMpO1xuICAgIH1cblxuICAgIGNvbnN0IGVkaXRvckNvbnRhaW5lciA9IHRoaXMuYXBwQ29udGFpbmVyLmdldENvbnRhaW5lcignRWRpdG9yQ29udGFpbmVyJyk7XG4gICAgZWRpdG9yQ29udGFpbmVyLmNsZWFyRHJhZnQocGF0aCk7XG4gICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBwYXRoO1xuXG4gICAgcmV0dXJuIHJlcztcbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZVBhZ2UocGFnZVBhdGgsIG1hcmtkb3duLCB0bXBQYXJhbXMpIHtcbiAgICBjb25zdCBzb2NrZXRJb0NvbnRhaW5lciA9IHRoaXMuYXBwQ29udGFpbmVyLmdldENvbnRhaW5lcignU29ja2V0SW9Db250YWluZXInKTtcblxuICAgIC8vIGNsb25lXG4gICAgY29uc3QgcGFyYW1zID0gT2JqZWN0LmFzc2lnbih0bXBQYXJhbXMsIHtcbiAgICAgIHNvY2tldENsaWVudElkOiBzb2NrZXRJb0NvbnRhaW5lci5nZXRTb2NrZXRDbGllbnRJZCgpLFxuICAgICAgcGF0aDogcGFnZVBhdGgsXG4gICAgICBib2R5OiBtYXJrZG93bixcbiAgICB9KTtcblxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuYXBwQ29udGFpbmVyLmFwaXYzUG9zdCgnL3BhZ2VzLycsIHBhcmFtcyk7XG4gICAgY29uc3QgeyBwYWdlLCB0YWdzLCByZXZpc2lvbiB9ID0gcmVzLmRhdGE7XG5cbiAgICByZXR1cm4geyBwYWdlLCB0YWdzLCByZXZpc2lvbiB9O1xuICB9XG5cbiAgYXN5bmMgdXBkYXRlUGFnZShwYWdlSWQsIHJldmlzaW9uSWQsIG1hcmtkb3duLCB0bXBQYXJhbXMpIHtcbiAgICBjb25zdCBzb2NrZXRJb0NvbnRhaW5lciA9IHRoaXMuYXBwQ29udGFpbmVyLmdldENvbnRhaW5lcignU29ja2V0SW9Db250YWluZXInKTtcblxuICAgIC8vIGNsb25lXG4gICAgY29uc3QgcGFyYW1zID0gT2JqZWN0LmFzc2lnbih0bXBQYXJhbXMsIHtcbiAgICAgIHNvY2tldENsaWVudElkOiBzb2NrZXRJb0NvbnRhaW5lci5nZXRTb2NrZXRDbGllbnRJZCgpLFxuICAgICAgcGFnZV9pZDogcGFnZUlkLFxuICAgICAgcmV2aXNpb25faWQ6IHJldmlzaW9uSWQsXG4gICAgICBib2R5OiBtYXJrZG93bixcbiAgICB9KTtcblxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuYXBwQ29udGFpbmVyLmFwaVBvc3QoJy9wYWdlcy51cGRhdGUnLCBwYXJhbXMpO1xuICAgIGlmICghcmVzLm9rKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IocmVzLmVycm9yKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbiAgfVxuXG4gIGRlbGV0ZVBhZ2UoaXNSZWN1cnNpdmVseSwgaXNDb21wbGV0ZWx5KSB7XG4gICAgY29uc3Qgc29ja2V0SW9Db250YWluZXIgPSB0aGlzLmFwcENvbnRhaW5lci5nZXRDb250YWluZXIoJ1NvY2tldElvQ29udGFpbmVyJyk7XG5cbiAgICAvLyBjb250cm9sIGZsYWdcbiAgICBjb25zdCBjb21wbGV0ZWx5ID0gaXNDb21wbGV0ZWx5ID8gdHJ1ZSA6IG51bGw7XG4gICAgY29uc3QgcmVjdXJzaXZlbHkgPSBpc1JlY3Vyc2l2ZWx5ID8gdHJ1ZSA6IG51bGw7XG5cbiAgICByZXR1cm4gdGhpcy5hcHBDb250YWluZXIuYXBpUG9zdCgnL3BhZ2VzLnJlbW92ZScsIHtcbiAgICAgIHJlY3Vyc2l2ZWx5LFxuICAgICAgY29tcGxldGVseSxcbiAgICAgIHBhZ2VfaWQ6IHRoaXMuc3RhdGUucGFnZUlkLFxuICAgICAgcmV2aXNpb25faWQ6IHRoaXMuc3RhdGUucmV2aXNpb25JZCxcbiAgICAgIHNvY2tldENsaWVudElkOiBzb2NrZXRJb0NvbnRhaW5lci5nZXRTb2NrZXRDbGllbnRJZCgpLFxuICAgIH0pO1xuXG4gIH1cblxuICByZXZlcnRSZW1vdmUoaXNSZWN1cnNpdmVseSkge1xuICAgIGNvbnN0IHNvY2tldElvQ29udGFpbmVyID0gdGhpcy5hcHBDb250YWluZXIuZ2V0Q29udGFpbmVyKCdTb2NrZXRJb0NvbnRhaW5lcicpO1xuXG4gICAgLy8gY29udHJvbCBmbGFnXG4gICAgY29uc3QgcmVjdXJzaXZlbHkgPSBpc1JlY3Vyc2l2ZWx5ID8gdHJ1ZSA6IG51bGw7XG5cbiAgICByZXR1cm4gdGhpcy5hcHBDb250YWluZXIuYXBpUG9zdCgnL3BhZ2VzLnJldmVydFJlbW92ZScsIHtcbiAgICAgIHJlY3Vyc2l2ZWx5LFxuICAgICAgcGFnZV9pZDogdGhpcy5zdGF0ZS5wYWdlSWQsXG4gICAgICBzb2NrZXRDbGllbnRJZDogc29ja2V0SW9Db250YWluZXIuZ2V0U29ja2V0Q2xpZW50SWQoKSxcbiAgICB9KTtcbiAgfVxuXG4gIHJlbmFtZShuZXdQYWdlUGF0aCwgaXNSZWN1cnNpdmVseSwgaXNSZW5hbWVSZWRpcmVjdCwgaXNSZW1haW5NZXRhZGF0YSkge1xuICAgIGNvbnN0IHNvY2tldElvQ29udGFpbmVyID0gdGhpcy5hcHBDb250YWluZXIuZ2V0Q29udGFpbmVyKCdTb2NrZXRJb0NvbnRhaW5lcicpO1xuICAgIGNvbnN0IHsgcGFnZUlkLCByZXZpc2lvbklkLCBwYXRoIH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgcmV0dXJuIHRoaXMuYXBwQ29udGFpbmVyLmFwaXYzUHV0KCcvcGFnZXMvcmVuYW1lJywge1xuICAgICAgcmV2aXNpb25JZCxcbiAgICAgIHBhZ2VJZCxcbiAgICAgIGlzUmVjdXJzaXZlbHksXG4gICAgICBpc1JlbmFtZVJlZGlyZWN0LFxuICAgICAgaXNSZW1haW5NZXRhZGF0YSxcbiAgICAgIG5ld1BhZ2VQYXRoLFxuICAgICAgcGF0aCxcbiAgICAgIHNvY2tldENsaWVudElkOiBzb2NrZXRJb0NvbnRhaW5lci5nZXRTb2NrZXRDbGllbnRJZCgpLFxuICAgIH0pO1xuICB9XG5cbiAgc2hvd1N1Y2Nlc3NUb2FzdHIoKSB7XG4gICAgdG9hc3RyLnN1Y2Nlc3ModW5kZWZpbmVkLCAnU2F2ZWQgc3VjY2Vzc2Z1bGx5Jywge1xuICAgICAgY2xvc2VCdXR0b246IHRydWUsXG4gICAgICBwcm9ncmVzc0JhcjogdHJ1ZSxcbiAgICAgIG5ld2VzdE9uVG9wOiBmYWxzZSxcbiAgICAgIHNob3dEdXJhdGlvbjogJzEwMCcsXG4gICAgICBoaWRlRHVyYXRpb246ICcxMDAnLFxuICAgICAgdGltZU91dDogJzEyMDAnLFxuICAgICAgZXh0ZW5kZWRUaW1lT3V0OiAnMTUwJyxcbiAgICB9KTtcbiAgfVxuXG4gIHNob3dFcnJvclRvYXN0cihlcnJvcikge1xuICAgIHRvYXN0ci5lcnJvcihlcnJvci5tZXNzYWdlLCAnRXJyb3Igb2NjdXJlZCcsIHtcbiAgICAgIGNsb3NlQnV0dG9uOiB0cnVlLFxuICAgICAgcHJvZ3Jlc3NCYXI6IHRydWUsXG4gICAgICBuZXdlc3RPblRvcDogZmFsc2UsXG4gICAgICBzaG93RHVyYXRpb246ICcxMDAnLFxuICAgICAgaGlkZUR1cmF0aW9uOiAnMTAwJyxcbiAgICAgIHRpbWVPdXQ6ICczMDAwJyxcbiAgICB9KTtcbiAgfVxuXG4gIGFkZFdlYlNvY2tldEV2ZW50SGFuZGxlcnMoKSB7XG4gICAgY29uc3QgcGFnZUNvbnRhaW5lciA9IHRoaXM7XG4gICAgY29uc3Qgc29ja2V0SW9Db250YWluZXIgPSB0aGlzLmFwcENvbnRhaW5lci5nZXRDb250YWluZXIoJ1NvY2tldElvQ29udGFpbmVyJyk7XG4gICAgY29uc3Qgc29ja2V0ID0gc29ja2V0SW9Db250YWluZXIuZ2V0U29ja2V0KCk7XG5cbiAgICBzb2NrZXQub24oJ3BhZ2U6Y3JlYXRlJywgKGRhdGEpID0+IHtcbiAgICAgIC8vIHNraXAgaWYgdHJpZ2dlcmVkIG15c2VsZlxuICAgICAgaWYgKGRhdGEuc29ja2V0Q2xpZW50SWQgIT0gbnVsbCAmJiBkYXRhLnNvY2tldENsaWVudElkID09PSBzb2NrZXRJb0NvbnRhaW5lci5nZXRTb2NrZXRDbGllbnRJZCgpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgbG9nZ2VyLmRlYnVnKHsgb2JqOiBkYXRhIH0sIGB3ZWJzb2NrZXQgb24gJ3BhZ2U6Y3JlYXRlJ2ApOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIHF1b3Rlc1xuXG4gICAgICAvLyB1cGRhdGUgcmVtb3RlIHBhZ2UgZGF0YVxuICAgICAgY29uc3QgeyBzMmNNZXNzYWdlUGFnZVVwZGF0ZWQgfSA9IGRhdGE7XG4gICAgICBpZiAoczJjTWVzc2FnZVBhZ2VVcGRhdGVkLnBhZ2VJZCA9PT0gcGFnZUNvbnRhaW5lci5zdGF0ZS5wYWdlSWQpIHtcbiAgICAgICAgcGFnZUNvbnRhaW5lci5zZXRMYXRlc3RSZW1vdGVQYWdlRGF0YShzMmNNZXNzYWdlUGFnZVVwZGF0ZWQpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgc29ja2V0Lm9uKCdwYWdlOnVwZGF0ZScsIChkYXRhKSA9PiB7XG4gICAgICAvLyBza2lwIGlmIHRyaWdnZXJlZCBteXNlbGZcbiAgICAgIGlmIChkYXRhLnNvY2tldENsaWVudElkICE9IG51bGwgJiYgZGF0YS5zb2NrZXRDbGllbnRJZCA9PT0gc29ja2V0SW9Db250YWluZXIuZ2V0U29ja2V0Q2xpZW50SWQoKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGxvZ2dlci5kZWJ1Zyh7IG9iajogZGF0YSB9LCBgd2Vic29ja2V0IG9uICdwYWdlOnVwZGF0ZSdgKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBxdW90ZXNcblxuICAgICAgLy8gdXBkYXRlIHJlbW90ZSBwYWdlIGRhdGFcbiAgICAgIGNvbnN0IHsgczJjTWVzc2FnZVBhZ2VVcGRhdGVkIH0gPSBkYXRhO1xuICAgICAgaWYgKHMyY01lc3NhZ2VQYWdlVXBkYXRlZC5wYWdlSWQgPT09IHBhZ2VDb250YWluZXIuc3RhdGUucGFnZUlkKSB7XG4gICAgICAgIHBhZ2VDb250YWluZXIuc2V0TGF0ZXN0UmVtb3RlUGFnZURhdGEoczJjTWVzc2FnZVBhZ2VVcGRhdGVkKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHNvY2tldC5vbigncGFnZTpkZWxldGUnLCAoZGF0YSkgPT4ge1xuICAgICAgLy8gc2tpcCBpZiB0cmlnZ2VyZWQgbXlzZWxmXG4gICAgICBpZiAoZGF0YS5zb2NrZXRDbGllbnRJZCAhPSBudWxsICYmIGRhdGEuc29ja2V0Q2xpZW50SWQgPT09IHNvY2tldElvQ29udGFpbmVyLmdldFNvY2tldENsaWVudElkKCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBsb2dnZXIuZGVidWcoeyBvYmo6IGRhdGEgfSwgYHdlYnNvY2tldCBvbiAncGFnZTpkZWxldGUnYCk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcXVvdGVzXG5cbiAgICAgIC8vIHVwZGF0ZSByZW1vdGUgcGFnZSBkYXRhXG4gICAgICBjb25zdCB7IHMyY01lc3NhZ2VQYWdlVXBkYXRlZCB9ID0gZGF0YTtcbiAgICAgIGlmIChzMmNNZXNzYWdlUGFnZVVwZGF0ZWQucGFnZUlkID09PSBwYWdlQ29udGFpbmVyLnN0YXRlLnBhZ2VJZCkge1xuICAgICAgICBwYWdlQ29udGFpbmVyLnNldExhdGVzdFJlbW90ZVBhZ2VEYXRhKHMyY01lc3NhZ2VQYWdlVXBkYXRlZCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBzb2NrZXQub24oJ3BhZ2U6ZWRpdGluZ1dpdGhIYWNrbWQnLCAoZGF0YSkgPT4ge1xuICAgICAgLy8gc2tpcCBpZiB0cmlnZ2VyZWQgbXlzZWxmXG4gICAgICBpZiAoZGF0YS5zb2NrZXRDbGllbnRJZCAhPSBudWxsICYmIGRhdGEuc29ja2V0Q2xpZW50SWQgPT09IHNvY2tldElvQ29udGFpbmVyLmdldFNvY2tldENsaWVudElkKCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBsb2dnZXIuZGVidWcoeyBvYmo6IGRhdGEgfSwgYHdlYnNvY2tldCBvbiAncGFnZTplZGl0aW5nV2l0aEhhY2ttZCdgKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBxdW90ZXNcblxuICAgICAgLy8gdXBkYXRlIGlzSGFja21kRHJhZnRVcGRhdGluZ0luUmVhbHRpbWVcbiAgICAgIGNvbnN0IHsgczJjTWVzc2FnZVBhZ2VVcGRhdGVkIH0gPSBkYXRhO1xuICAgICAgaWYgKHMyY01lc3NhZ2VQYWdlVXBkYXRlZC5wYWdlSWQgPT09IHBhZ2VDb250YWluZXIuc3RhdGUucGFnZUlkKSB7XG4gICAgICAgIHBhZ2VDb250YWluZXIuc2V0U3RhdGUoeyBpc0hhY2ttZERyYWZ0VXBkYXRpbmdJblJlYWx0aW1lOiB0cnVlIH0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gIH1cblxuICAvKiBUT0RPIEdXLTMyNSAqL1xuICByZXRyaWV2ZU15Qm9va21hcmtMaXN0KCkge1xuICB9XG5cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBS0E7QUFJQTtBQUVBOzs7OztBQUlBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUEzQ0E7QUFDQTtBQThDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBRUE7Ozs7OztBQUlBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBRUE7Ozs7OztBQUlBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBRUE7Ozs7OztBQUlBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBRUE7Ozs7OztBQUlBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBRUE7Ozs7OztBQUlBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUVBOzs7Ozs7QUFJQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUVBOzs7Ozs7O0FBS0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUZBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRkE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7Ozs7Ozs7O0FBTUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBVEE7QUFDQTtBQVVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOzs7Ozs7OztBQU1BO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBSEE7QUFNQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU9BO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQVFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBSEE7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFSQTtBQVVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFQQTtBQVNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTkE7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQURBO0FBQ0E7QUFsbUJBO0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/services/PageContainer.js\n");
- /***/ }),
- /***/ "./src/client/js/services/PageHistoryContainer.js":
- /*!********************************************************!*\
- !*** ./src/client/js/services/PageHistoryContainer.js ***!
- \********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return PageHistoryContainer; });\n/* harmony import */ var unstated__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! unstated */ \"./node_modules/unstated/lib/unstated.es.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @alias/logger */ \"./src/lib/service/logger/index.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_alias_logger__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _util_apiNotification__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/apiNotification */ \"./src/client/js/util/apiNotification.js\");\n\n\n\nconst logger = _alias_logger__WEBPACK_IMPORTED_MODULE_1___default()('growi:PageHistoryContainer');\n/**\n * Service container for personal settings page (PageHistory.jsx)\n * @extends {Container} unstated Container\n */\n\nclass PageHistoryContainer extends unstated__WEBPACK_IMPORTED_MODULE_0__[\"Container\"] {\n constructor(appContainer, pageContainer) {\n super();\n this.appContainer = appContainer;\n this.pageContainer = pageContainer;\n this.dummyRevisions = 0;\n this.state = {\n errorMessage: null,\n // set dummy rivisions for using suspense\n revisions: this.dummyRevisions,\n latestRevision: this.dummyRevisions,\n oldestRevision: this.dummyRevisions,\n diffOpened: {},\n totalPages: 0,\n activePage: 1,\n pagingLimit: 10\n };\n this.retrieveRevisions = this.retrieveRevisions.bind(this);\n this.getPreviousRevision = this.getPreviousRevision.bind(this);\n this.fetchPageRevisionBody = this.fetchPageRevisionBody.bind(this);\n }\n /**\n * Workaround for the mangling in production build to break constructor.name\n */\n\n\n static getClassName() {\n return 'PageHistoryContainer';\n }\n /**\n * syncRevisions of selectedPage\n * @param {number} selectedPage\n */\n\n\n async retrieveRevisions(selectedPage) {\n const {\n pageId,\n shareLinkId\n } = this.pageContainer.state;\n const {\n pagingLimit\n } = this.state;\n const page = selectedPage;\n const pagingLimitForApiParam = pagingLimit + 1;\n\n if (!pageId) {\n return;\n } // Get one more for the bottom display\n\n\n const res = await this.appContainer.apiv3Get('/revisions/list', {\n pageId,\n shareLinkId,\n page,\n limit: pagingLimitForApiParam\n });\n const rev = res.data.docs; // set Pagination state\n\n this.setState({\n activePage: selectedPage,\n totalPages: res.data.totalDocs,\n pagingLimit\n });\n const diffOpened = {};\n let lastId = rev.length - 1; // If the number of rev count is the same, the last rev is for diff display, so exclude it.\n\n if (rev.length > pagingLimit) {\n lastId = rev.length - 2;\n }\n\n res.data.docs.forEach((revision, i) => {\n const user = revision.author;\n\n if (user) {\n rev[i].author = user;\n }\n\n if (i === 0 || i === lastId) {\n diffOpened[revision._id] = true;\n } else {\n diffOpened[revision._id] = false;\n }\n });\n this.setState({\n revisions: rev\n });\n this.setState({\n diffOpened\n });\n\n if (selectedPage === 1) {\n this.setState({\n latestRevision: rev[0]\n });\n }\n\n if (selectedPage === res.data.totalPages) {\n this.setState({\n oldestRevision: rev[lastId]\n });\n } // load 0, and last default\n\n\n if (rev[0]) {\n this.fetchPageRevisionBody(rev[0]);\n }\n\n if (rev[1]) {\n this.fetchPageRevisionBody(rev[1]);\n }\n\n if (lastId !== 0 && lastId !== 1 && rev[lastId]) {\n this.fetchPageRevisionBody(rev[lastId]);\n }\n\n return;\n }\n\n getPreviousRevision(currentRevision) {\n let cursor = null;\n\n for (const revision of this.state.revisions) {\n // comparing ObjectId\n // eslint-disable-next-line eqeqeq\n if (cursor && cursor._id == currentRevision._id) {\n cursor = revision;\n break;\n }\n\n cursor = revision;\n }\n\n return cursor;\n }\n /**\n * fetch page revision body by revision in argument\n * @param {object} revision\n */\n\n\n async fetchPageRevisionBody(revision) {\n const {\n pageId,\n shareLinkId\n } = this.pageContainer.state;\n\n if (revision.body) {\n return;\n }\n\n try {\n const res = await this.appContainer.apiv3Get(`/revisions/${revision._id}`, {\n pageId,\n shareLinkId\n });\n this.setState({\n revisions: this.state.revisions.map(rev => {\n // comparing ObjectId\n // eslint-disable-next-line eqeqeq\n if (rev._id == res.data.revision._id) {\n return res.data.revision;\n }\n\n return rev;\n })\n });\n } catch (err) {\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_2__[\"toastError\"])(err);\n this.setState({\n errorMessage: err.message\n });\n logger.error(err);\n }\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL3NlcnZpY2VzL1BhZ2VIaXN0b3J5Q29udGFpbmVyLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9zZXJ2aWNlcy9QYWdlSGlzdG9yeUNvbnRhaW5lci5qcz80YWRlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRhaW5lciB9IGZyb20gJ3Vuc3RhdGVkJztcblxuaW1wb3J0IGxvZ2dlckZhY3RvcnkgZnJvbSAnQGFsaWFzL2xvZ2dlcic7XG5cbmltcG9ydCB7IHRvYXN0RXJyb3IgfSBmcm9tICcuLi91dGlsL2FwaU5vdGlmaWNhdGlvbic7XG5cbmNvbnN0IGxvZ2dlciA9IGxvZ2dlckZhY3RvcnkoJ2dyb3dpOlBhZ2VIaXN0b3J5Q29udGFpbmVyJyk7XG5cbi8qKlxuICogU2VydmljZSBjb250YWluZXIgZm9yIHBlcnNvbmFsIHNldHRpbmdzIHBhZ2UgKFBhZ2VIaXN0b3J5LmpzeClcbiAqIEBleHRlbmRzIHtDb250YWluZXJ9IHVuc3RhdGVkIENvbnRhaW5lclxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQYWdlSGlzdG9yeUNvbnRhaW5lciBleHRlbmRzIENvbnRhaW5lciB7XG5cbiAgY29uc3RydWN0b3IoYXBwQ29udGFpbmVyLCBwYWdlQ29udGFpbmVyKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuYXBwQ29udGFpbmVyID0gYXBwQ29udGFpbmVyO1xuICAgIHRoaXMucGFnZUNvbnRhaW5lciA9IHBhZ2VDb250YWluZXI7XG4gICAgdGhpcy5kdW1teVJldmlzaW9ucyA9IDA7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgZXJyb3JNZXNzYWdlOiBudWxsLFxuXG4gICAgICAvLyBzZXQgZHVtbXkgcml2aXNpb25zIGZvciB1c2luZyBzdXNwZW5zZVxuICAgICAgcmV2aXNpb25zOiB0aGlzLmR1bW15UmV2aXNpb25zLFxuICAgICAgbGF0ZXN0UmV2aXNpb246IHRoaXMuZHVtbXlSZXZpc2lvbnMsXG4gICAgICBvbGRlc3RSZXZpc2lvbjogdGhpcy5kdW1teVJldmlzaW9ucyxcbiAgICAgIGRpZmZPcGVuZWQ6IHt9LFxuXG4gICAgICB0b3RhbFBhZ2VzOiAwLFxuICAgICAgYWN0aXZlUGFnZTogMSxcbiAgICAgIHBhZ2luZ0xpbWl0OiAxMCxcbiAgICB9O1xuXG4gICAgdGhpcy5yZXRyaWV2ZVJldmlzaW9ucyA9IHRoaXMucmV0cmlldmVSZXZpc2lvbnMuYmluZCh0aGlzKTtcbiAgICB0aGlzLmdldFByZXZpb3VzUmV2aXNpb24gPSB0aGlzLmdldFByZXZpb3VzUmV2aXNpb24uYmluZCh0aGlzKTtcbiAgICB0aGlzLmZldGNoUGFnZVJldmlzaW9uQm9keSA9IHRoaXMuZmV0Y2hQYWdlUmV2aXNpb25Cb2R5LmJpbmQodGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogV29ya2Fyb3VuZCBmb3IgdGhlIG1hbmdsaW5nIGluIHByb2R1Y3Rpb24gYnVpbGQgdG8gYnJlYWsgY29uc3RydWN0b3IubmFtZVxuICAgKi9cbiAgc3RhdGljIGdldENsYXNzTmFtZSgpIHtcbiAgICByZXR1cm4gJ1BhZ2VIaXN0b3J5Q29udGFpbmVyJztcbiAgfVxuXG4gIC8qKlxuICAgKiBzeW5jUmV2aXNpb25zIG9mIHNlbGVjdGVkUGFnZVxuICAgKiBAcGFyYW0ge251bWJlcn0gc2VsZWN0ZWRQYWdlXG4gICAqL1xuICBhc3luYyByZXRyaWV2ZVJldmlzaW9ucyhzZWxlY3RlZFBhZ2UpIHtcbiAgICBjb25zdCB7IHBhZ2VJZCwgc2hhcmVMaW5rSWQgfSA9IHRoaXMucGFnZUNvbnRhaW5lci5zdGF0ZTtcbiAgICBjb25zdCB7IHBhZ2luZ0xpbWl0IH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IHBhZ2UgPSBzZWxlY3RlZFBhZ2U7XG4gICAgY29uc3QgcGFnaW5nTGltaXRGb3JBcGlQYXJhbSA9IHBhZ2luZ0xpbWl0ICsgMTtcblxuICAgIGlmICghcGFnZUlkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gR2V0IG9uZSBtb3JlIGZvciB0aGUgYm90dG9tIGRpc3BsYXlcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmFwcENvbnRhaW5lci5hcGl2M0dldCgnL3JldmlzaW9ucy9saXN0Jywge1xuICAgICAgcGFnZUlkLCBzaGFyZUxpbmtJZCwgcGFnZSwgbGltaXQ6IHBhZ2luZ0xpbWl0Rm9yQXBpUGFyYW0sXG4gICAgfSk7XG4gICAgY29uc3QgcmV2ID0gcmVzLmRhdGEuZG9jcztcbiAgICAvLyBzZXQgUGFnaW5hdGlvbiBzdGF0ZVxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgYWN0aXZlUGFnZTogc2VsZWN0ZWRQYWdlLFxuICAgICAgdG90YWxQYWdlczogcmVzLmRhdGEudG90YWxEb2NzLFxuICAgICAgcGFnaW5nTGltaXQsXG4gICAgfSk7XG5cbiAgICBjb25zdCBkaWZmT3BlbmVkID0ge307XG5cbiAgICBsZXQgbGFzdElkID0gcmV2Lmxlbmd0aCAtIDE7XG5cbiAgICAvLyBJZiB0aGUgbnVtYmVyIG9mIHJldiBjb3VudCBpcyB0aGUgc2FtZSwgdGhlIGxhc3QgcmV2IGlzIGZvciBkaWZmIGRpc3BsYXksIHNvIGV4Y2x1ZGUgaXQuXG4gICAgaWYgKHJldi5sZW5ndGggPiBwYWdpbmdMaW1pdCkge1xuICAgICAgbGFzdElkID0gcmV2Lmxlbmd0aCAtIDI7XG4gICAgfVxuXG4gICAgcmVzLmRhdGEuZG9jcy5mb3JFYWNoKChyZXZpc2lvbiwgaSkgPT4ge1xuICAgICAgY29uc3QgdXNlciA9IHJldmlzaW9uLmF1dGhvcjtcbiAgICAgIGlmICh1c2VyKSB7XG4gICAgICAgIHJldltpXS5hdXRob3IgPSB1c2VyO1xuICAgICAgfVxuXG4gICAgICBpZiAoaSA9PT0gMCB8fCBpID09PSBsYXN0SWQpIHtcbiAgICAgICAgZGlmZk9wZW5lZFtyZXZpc2lvbi5faWRdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICBkaWZmT3BlbmVkW3JldmlzaW9uLl9pZF0gPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuc2V0U3RhdGUoeyByZXZpc2lvbnM6IHJldiB9KTtcbiAgICB0aGlzLnNldFN0YXRlKHsgZGlmZk9wZW5lZCB9KTtcblxuICAgIGlmIChzZWxlY3RlZFBhZ2UgPT09IDEpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBsYXRlc3RSZXZpc2lvbjogcmV2WzBdIH0pO1xuICAgIH1cblxuICAgIGlmIChzZWxlY3RlZFBhZ2UgPT09IHJlcy5kYXRhLnRvdGFsUGFnZXMpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBvbGRlc3RSZXZpc2lvbjogcmV2W2xhc3RJZF0gfSk7XG4gICAgfVxuXG4gICAgLy8gbG9hZCAwLCBhbmQgbGFzdCBkZWZhdWx0XG4gICAgaWYgKHJldlswXSkge1xuICAgICAgdGhpcy5mZXRjaFBhZ2VSZXZpc2lvbkJvZHkocmV2WzBdKTtcbiAgICB9XG4gICAgaWYgKHJldlsxXSkge1xuICAgICAgdGhpcy5mZXRjaFBhZ2VSZXZpc2lvbkJvZHkocmV2WzFdKTtcbiAgICB9XG4gICAgaWYgKGxhc3RJZCAhPT0gMCAmJiBsYXN0SWQgIT09IDEgJiYgcmV2W2xhc3RJZF0pIHtcbiAgICAgIHRoaXMuZmV0Y2hQYWdlUmV2aXNpb25Cb2R5KHJldltsYXN0SWRdKTtcbiAgICB9XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBnZXRQcmV2aW91c1JldmlzaW9uKGN1cnJlbnRSZXZpc2lvbikge1xuICAgIGxldCBjdXJzb3IgPSBudWxsO1xuICAgIGZvciAoY29uc3QgcmV2aXNpb24gb2YgdGhpcy5zdGF0ZS5yZXZpc2lvbnMpIHtcbiAgICAgIC8vIGNvbXBhcmluZyBPYmplY3RJZFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGVxZXFlcVxuICAgICAgaWYgKGN1cnNvciAmJiBjdXJzb3IuX2lkID09IGN1cnJlbnRSZXZpc2lvbi5faWQpIHtcbiAgICAgICAgY3Vyc29yID0gcmV2aXNpb247XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjdXJzb3IgPSByZXZpc2lvbjtcbiAgICB9XG5cbiAgICByZXR1cm4gY3Vyc29yO1xuICB9XG5cbiAgLyoqXG4gICAqIGZldGNoIHBhZ2UgcmV2aXNpb24gYm9keSBieSByZXZpc2lvbiBpbiBhcmd1bWVudFxuICAgKiBAcGFyYW0ge29iamVjdH0gcmV2aXNpb25cbiAgICovXG4gIGFzeW5jIGZldGNoUGFnZVJldmlzaW9uQm9keShyZXZpc2lvbikge1xuICAgIGNvbnN0IHsgcGFnZUlkLCBzaGFyZUxpbmtJZCB9ID0gdGhpcy5wYWdlQ29udGFpbmVyLnN0YXRlO1xuXG4gICAgaWYgKHJldmlzaW9uLmJvZHkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5hcHBDb250YWluZXIuYXBpdjNHZXQoYC9yZXZpc2lvbnMvJHtyZXZpc2lvbi5faWR9YCwgeyBwYWdlSWQsIHNoYXJlTGlua0lkIH0pO1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIHJldmlzaW9uczogdGhpcy5zdGF0ZS5yZXZpc2lvbnMubWFwKChyZXYpID0+IHtcbiAgICAgICAgICAvLyBjb21wYXJpbmcgT2JqZWN0SWRcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZXFlcWVxXG4gICAgICAgICAgaWYgKHJldi5faWQgPT0gcmVzLmRhdGEucmV2aXNpb24uX2lkKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzLmRhdGEucmV2aXNpb247XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHJldjtcbiAgICAgICAgfSksXG4gICAgICB9KTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgdG9hc3RFcnJvcihlcnIpO1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGVycm9yTWVzc2FnZTogZXJyLm1lc3NhZ2UgfSk7XG4gICAgICBsb2dnZXIuZXJyb3IoZXJyKTtcbiAgICB9XG4gIH1cblxuXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFFQTtBQUVBO0FBRUE7Ozs7O0FBSUE7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFYQTtBQWNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUNBO0FBRUE7Ozs7OztBQUlBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQURBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSEE7QUFNQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7OztBQUlBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBVEE7QUFXQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUE1SkEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/services/PageHistoryContainer.js\n");
- /***/ }),
- /***/ "./src/client/js/services/PersonalContainer.js":
- /*!*****************************************************!*\
- !*** ./src/client/js/services/PersonalContainer.js ***!
- \*****************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return PersonalContainer; });\n/* harmony import */ var unstated__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! unstated */ \"./node_modules/unstated/lib/unstated.es.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @alias/logger */ \"./src/lib/service/logger/index.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_alias_logger__WEBPACK_IMPORTED_MODULE_1__);\n\n // eslint-disable-next-line no-unused-vars\n\nconst logger = _alias_logger__WEBPACK_IMPORTED_MODULE_1___default()('growi:services:PersonalContainer');\nconst DEFAULT_IMAGE = '/images/icons/user.svg';\n/**\n * Service container for personal settings page (PersonalSettings.jsx)\n * @extends {Container} unstated Container\n */\n\nclass PersonalContainer extends unstated__WEBPACK_IMPORTED_MODULE_0__[\"Container\"] {\n constructor(appContainer) {\n super();\n this.appContainer = appContainer;\n this.state = {\n retrieveError: null,\n name: '',\n email: '',\n registrationWhiteList: this.appContainer.getConfig().registrationWhiteList,\n isEmailPublished: false,\n lang: 'en_US',\n isGravatarEnabled: false,\n isUploadedPicture: false,\n uploadedPictureSrc: this.getUploadedPictureSrc(this.appContainer.currentUser),\n externalAccounts: [],\n apiToken: ''\n };\n }\n /**\n * Workaround for the mangling in production build to break constructor.name\n */\n\n\n static getClassName() {\n return 'PersonalContainer';\n }\n /**\n * retrieve personal data\n */\n\n\n async retrievePersonalData() {\n try {\n const response = await this.appContainer.apiv3.get('/personal-setting/');\n const {\n currentUser\n } = response.data;\n this.setState({\n name: currentUser.name,\n email: currentUser.email,\n isEmailPublished: currentUser.isEmailPublished,\n lang: currentUser.lang,\n isGravatarEnabled: currentUser.isGravatarEnabled,\n apiToken: currentUser.apiToken\n });\n } catch (err) {\n this.setState({\n retrieveError: err\n });\n logger.error(err);\n throw new Error('Failed to fetch personal data');\n }\n }\n /**\n * define a function for uploaded picture\n */\n\n\n getUploadedPictureSrc(user) {\n if (user == null) {\n return DEFAULT_IMAGE;\n }\n\n if (user.image) {\n this.setState({\n isUploadedPicture: true\n });\n return user.image;\n }\n\n if (user.imageAttachment != null) {\n this.setState({\n isUploadedPicture: true\n });\n return user.imageAttachment.filePathProxied;\n }\n\n return DEFAULT_IMAGE;\n }\n /**\n * retrieve external accounts that linked me\n */\n\n\n async retrieveExternalAccounts() {\n try {\n const response = await this.appContainer.apiv3.get('/personal-setting/external-accounts');\n const {\n externalAccounts\n } = response.data;\n this.setState({\n externalAccounts\n });\n } catch (err) {\n this.setState({\n retrieveError: err\n });\n logger.error(err);\n throw new Error('Failed to fetch external accounts');\n }\n }\n /**\n * Change name\n */\n\n\n changeName(inputValue) {\n this.setState({\n name: inputValue\n });\n }\n /**\n * Change email\n */\n\n\n changeEmail(inputValue) {\n this.setState({\n email: inputValue\n });\n }\n /**\n * Change isEmailPublished\n */\n\n\n changeIsEmailPublished(boolean) {\n this.setState({\n isEmailPublished: boolean\n });\n }\n /**\n * Change lang\n */\n\n\n changeLang(lang) {\n this.setState({\n lang\n });\n }\n /**\n * Change isGravatarEnabled\n */\n\n\n changeIsGravatarEnabled(boolean) {\n this.setState({\n isGravatarEnabled: boolean\n });\n }\n /**\n * Update basic info\n * @memberOf PersonalContainer\n * @return {Array} basic info\n */\n\n\n async updateBasicInfo() {\n try {\n const response = await this.appContainer.apiv3.put('/personal-setting/', {\n name: this.state.name,\n email: this.state.email,\n isEmailPublished: this.state.isEmailPublished,\n lang: this.state.lang\n });\n const {\n updatedUser\n } = response.data;\n this.setState({\n name: updatedUser.name,\n email: updatedUser.email,\n isEmailPublished: updatedUser.isEmailPublished,\n lang: updatedUser.lang\n });\n } catch (err) {\n this.setState({\n retrieveError: err\n });\n logger.error(err);\n throw new Error('Failed to update personal data');\n }\n }\n /**\n * Update profile image\n * @memberOf PersonalContainer\n */\n\n\n async updateProfileImage() {\n try {\n const response = await this.appContainer.apiv3.put('/personal-setting/image-type', {\n isGravatarEnabled: this.state.isGravatarEnabled\n });\n const {\n userData\n } = response.data;\n this.setState({\n isGravatarEnabled: userData.isGravatarEnabled\n });\n } catch (err) {\n this.setState({\n retrieveError: err\n });\n logger.error(err);\n throw new Error('Failed to update profile image');\n }\n }\n /**\n * Upload image\n */\n\n\n async uploadAttachment(file) {\n try {\n const formData = new FormData();\n formData.append('file', file);\n formData.append('_csrf', this.appContainer.csrfToken);\n const response = await this.appContainer.apiPost('/attachments.uploadProfileImage', formData);\n this.setState({\n isUploadedPicture: true,\n uploadedPictureSrc: response.attachment.filePathProxied\n });\n } catch (err) {\n this.setState({\n retrieveError: err\n });\n logger.error(err);\n throw new Error('Failed to upload profile image');\n }\n }\n /**\n * Delete image\n */\n\n\n async deleteProfileImage() {\n try {\n await this.appContainer.apiPost('/attachments.removeProfileImage', {\n _csrf: this.appContainer.csrfToken\n });\n this.setState({\n isUploadedPicture: false,\n uploadedPictureSrc: DEFAULT_IMAGE\n });\n } catch (err) {\n this.setState({\n retrieveError: err\n });\n logger.error(err);\n throw new Error('Failed to delete profile image');\n }\n }\n /**\n * Associate LDAP account\n */\n\n\n async associateLdapAccount(account) {\n try {\n await this.appContainer.apiv3.put('/personal-setting/associate-ldap', account);\n } catch (err) {\n this.setState({\n retrieveError: err\n });\n logger.error(err);\n throw new Error('Failed to associate ldap account');\n }\n }\n /**\n * Disassociate LDAP account\n */\n\n\n async disassociateLdapAccount(account) {\n try {\n await this.appContainer.apiv3.put('/personal-setting/disassociate-ldap', account);\n } catch (err) {\n this.setState({\n retrieveError: err\n });\n logger.error(err);\n throw new Error('Failed to disassociate ldap account');\n }\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL3NlcnZpY2VzL1BlcnNvbmFsQ29udGFpbmVyLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy9zZXJ2aWNlcy9QZXJzb25hbENvbnRhaW5lci5qcz83ZDhlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRhaW5lciB9IGZyb20gJ3Vuc3RhdGVkJztcblxuaW1wb3J0IGxvZ2dlckZhY3RvcnkgZnJvbSAnQGFsaWFzL2xvZ2dlcic7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xuY29uc3QgbG9nZ2VyID0gbG9nZ2VyRmFjdG9yeSgnZ3Jvd2k6c2VydmljZXM6UGVyc29uYWxDb250YWluZXInKTtcblxuY29uc3QgREVGQVVMVF9JTUFHRSA9ICcvaW1hZ2VzL2ljb25zL3VzZXIuc3ZnJztcblxuLyoqXG4gKiBTZXJ2aWNlIGNvbnRhaW5lciBmb3IgcGVyc29uYWwgc2V0dGluZ3MgcGFnZSAoUGVyc29uYWxTZXR0aW5ncy5qc3gpXG4gKiBAZXh0ZW5kcyB7Q29udGFpbmVyfSB1bnN0YXRlZCBDb250YWluZXJcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUGVyc29uYWxDb250YWluZXIgZXh0ZW5kcyBDb250YWluZXIge1xuXG4gIGNvbnN0cnVjdG9yKGFwcENvbnRhaW5lcikge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmFwcENvbnRhaW5lciA9IGFwcENvbnRhaW5lcjtcblxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICByZXRyaWV2ZUVycm9yOiBudWxsLFxuICAgICAgbmFtZTogJycsXG4gICAgICBlbWFpbDogJycsXG4gICAgICByZWdpc3RyYXRpb25XaGl0ZUxpc3Q6IHRoaXMuYXBwQ29udGFpbmVyLmdldENvbmZpZygpLnJlZ2lzdHJhdGlvbldoaXRlTGlzdCxcbiAgICAgIGlzRW1haWxQdWJsaXNoZWQ6IGZhbHNlLFxuICAgICAgbGFuZzogJ2VuX1VTJyxcbiAgICAgIGlzR3JhdmF0YXJFbmFibGVkOiBmYWxzZSxcbiAgICAgIGlzVXBsb2FkZWRQaWN0dXJlOiBmYWxzZSxcbiAgICAgIHVwbG9hZGVkUGljdHVyZVNyYzogdGhpcy5nZXRVcGxvYWRlZFBpY3R1cmVTcmModGhpcy5hcHBDb250YWluZXIuY3VycmVudFVzZXIpLFxuICAgICAgZXh0ZXJuYWxBY2NvdW50czogW10sXG4gICAgICBhcGlUb2tlbjogJycsXG4gICAgfTtcblxuICB9XG5cbiAgLyoqXG4gICAqIFdvcmthcm91bmQgZm9yIHRoZSBtYW5nbGluZyBpbiBwcm9kdWN0aW9uIGJ1aWxkIHRvIGJyZWFrIGNvbnN0cnVjdG9yLm5hbWVcbiAgICovXG4gIHN0YXRpYyBnZXRDbGFzc05hbWUoKSB7XG4gICAgcmV0dXJuICdQZXJzb25hbENvbnRhaW5lcic7XG4gIH1cblxuICAvKipcbiAgICogcmV0cmlldmUgcGVyc29uYWwgZGF0YVxuICAgKi9cbiAgYXN5bmMgcmV0cmlldmVQZXJzb25hbERhdGEoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5hcHBDb250YWluZXIuYXBpdjMuZ2V0KCcvcGVyc29uYWwtc2V0dGluZy8nKTtcbiAgICAgIGNvbnN0IHsgY3VycmVudFVzZXIgfSA9IHJlc3BvbnNlLmRhdGE7XG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgbmFtZTogY3VycmVudFVzZXIubmFtZSxcbiAgICAgICAgZW1haWw6IGN1cnJlbnRVc2VyLmVtYWlsLFxuICAgICAgICBpc0VtYWlsUHVibGlzaGVkOiBjdXJyZW50VXNlci5pc0VtYWlsUHVibGlzaGVkLFxuICAgICAgICBsYW5nOiBjdXJyZW50VXNlci5sYW5nLFxuICAgICAgICBpc0dyYXZhdGFyRW5hYmxlZDogY3VycmVudFVzZXIuaXNHcmF2YXRhckVuYWJsZWQsXG4gICAgICAgIGFwaVRva2VuOiBjdXJyZW50VXNlci5hcGlUb2tlbixcbiAgICAgIH0pO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgcmV0cmlldmVFcnJvcjogZXJyIH0pO1xuICAgICAgbG9nZ2VyLmVycm9yKGVycik7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBmZXRjaCBwZXJzb25hbCBkYXRhJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIGRlZmluZSBhIGZ1bmN0aW9uIGZvciB1cGxvYWRlZCBwaWN0dXJlXG4gICAqL1xuICBnZXRVcGxvYWRlZFBpY3R1cmVTcmModXNlcikge1xuICAgIGlmICh1c2VyID09IG51bGwpIHtcbiAgICAgIHJldHVybiBERUZBVUxUX0lNQUdFO1xuICAgIH1cbiAgICBpZiAodXNlci5pbWFnZSkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGlzVXBsb2FkZWRQaWN0dXJlOiB0cnVlIH0pO1xuICAgICAgcmV0dXJuIHVzZXIuaW1hZ2U7XG4gICAgfVxuICAgIGlmICh1c2VyLmltYWdlQXR0YWNobWVudCAhPSBudWxsKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgaXNVcGxvYWRlZFBpY3R1cmU6IHRydWUgfSk7XG4gICAgICByZXR1cm4gdXNlci5pbWFnZUF0dGFjaG1lbnQuZmlsZVBhdGhQcm94aWVkO1xuICAgIH1cblxuICAgIHJldHVybiBERUZBVUxUX0lNQUdFO1xuICB9XG5cbiAgLyoqXG4gICAqIHJldHJpZXZlIGV4dGVybmFsIGFjY291bnRzIHRoYXQgbGlua2VkIG1lXG4gICAqL1xuICBhc3luYyByZXRyaWV2ZUV4dGVybmFsQWNjb3VudHMoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5hcHBDb250YWluZXIuYXBpdjMuZ2V0KCcvcGVyc29uYWwtc2V0dGluZy9leHRlcm5hbC1hY2NvdW50cycpO1xuICAgICAgY29uc3QgeyBleHRlcm5hbEFjY291bnRzIH0gPSByZXNwb25zZS5kYXRhO1xuXG4gICAgICB0aGlzLnNldFN0YXRlKHsgZXh0ZXJuYWxBY2NvdW50cyB9KTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IHJldHJpZXZlRXJyb3I6IGVyciB9KTtcbiAgICAgIGxvZ2dlci5lcnJvcihlcnIpO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gZmV0Y2ggZXh0ZXJuYWwgYWNjb3VudHMnKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2hhbmdlIG5hbWVcbiAgICovXG4gIGNoYW5nZU5hbWUoaW5wdXRWYWx1ZSkge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBuYW1lOiBpbnB1dFZhbHVlIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENoYW5nZSBlbWFpbFxuICAgKi9cbiAgY2hhbmdlRW1haWwoaW5wdXRWYWx1ZSkge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBlbWFpbDogaW5wdXRWYWx1ZSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGFuZ2UgaXNFbWFpbFB1Ymxpc2hlZFxuICAgKi9cbiAgY2hhbmdlSXNFbWFpbFB1Ymxpc2hlZChib29sZWFuKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IGlzRW1haWxQdWJsaXNoZWQ6IGJvb2xlYW4gfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hhbmdlIGxhbmdcbiAgICovXG4gIGNoYW5nZUxhbmcobGFuZykge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBsYW5nIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENoYW5nZSBpc0dyYXZhdGFyRW5hYmxlZFxuICAgKi9cbiAgY2hhbmdlSXNHcmF2YXRhckVuYWJsZWQoYm9vbGVhbikge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBpc0dyYXZhdGFyRW5hYmxlZDogYm9vbGVhbiB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgYmFzaWMgaW5mb1xuICAgKiBAbWVtYmVyT2YgUGVyc29uYWxDb250YWluZXJcbiAgICogQHJldHVybiB7QXJyYXl9IGJhc2ljIGluZm9cbiAgICovXG4gIGFzeW5jIHVwZGF0ZUJhc2ljSW5mbygpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmFwcENvbnRhaW5lci5hcGl2My5wdXQoJy9wZXJzb25hbC1zZXR0aW5nLycsIHtcbiAgICAgICAgbmFtZTogdGhpcy5zdGF0ZS5uYW1lLFxuICAgICAgICBlbWFpbDogdGhpcy5zdGF0ZS5lbWFpbCxcbiAgICAgICAgaXNFbWFpbFB1Ymxpc2hlZDogdGhpcy5zdGF0ZS5pc0VtYWlsUHVibGlzaGVkLFxuICAgICAgICBsYW5nOiB0aGlzLnN0YXRlLmxhbmcsXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHsgdXBkYXRlZFVzZXIgfSA9IHJlc3BvbnNlLmRhdGE7XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBuYW1lOiB1cGRhdGVkVXNlci5uYW1lLFxuICAgICAgICBlbWFpbDogdXBkYXRlZFVzZXIuZW1haWwsXG4gICAgICAgIGlzRW1haWxQdWJsaXNoZWQ6IHVwZGF0ZWRVc2VyLmlzRW1haWxQdWJsaXNoZWQsXG4gICAgICAgIGxhbmc6IHVwZGF0ZWRVc2VyLmxhbmcsXG4gICAgICB9KTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IHJldHJpZXZlRXJyb3I6IGVyciB9KTtcbiAgICAgIGxvZ2dlci5lcnJvcihlcnIpO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gdXBkYXRlIHBlcnNvbmFsIGRhdGEnKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIHByb2ZpbGUgaW1hZ2VcbiAgICogQG1lbWJlck9mIFBlcnNvbmFsQ29udGFpbmVyXG4gICAqL1xuICBhc3luYyB1cGRhdGVQcm9maWxlSW1hZ2UoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5hcHBDb250YWluZXIuYXBpdjMucHV0KCcvcGVyc29uYWwtc2V0dGluZy9pbWFnZS10eXBlJywge1xuICAgICAgICBpc0dyYXZhdGFyRW5hYmxlZDogdGhpcy5zdGF0ZS5pc0dyYXZhdGFyRW5hYmxlZCxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgeyB1c2VyRGF0YSB9ID0gcmVzcG9uc2UuZGF0YTtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBpc0dyYXZhdGFyRW5hYmxlZDogdXNlckRhdGEuaXNHcmF2YXRhckVuYWJsZWQsXG4gICAgICB9KTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IHJldHJpZXZlRXJyb3I6IGVyciB9KTtcbiAgICAgIGxvZ2dlci5lcnJvcihlcnIpO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gdXBkYXRlIHByb2ZpbGUgaW1hZ2UnKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVXBsb2FkIGltYWdlXG4gICAqL1xuICBhc3luYyB1cGxvYWRBdHRhY2htZW50KGZpbGUpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUpO1xuICAgICAgZm9ybURhdGEuYXBwZW5kKCdfY3NyZicsIHRoaXMuYXBwQ29udGFpbmVyLmNzcmZUb2tlbik7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuYXBwQ29udGFpbmVyLmFwaVBvc3QoJy9hdHRhY2htZW50cy51cGxvYWRQcm9maWxlSW1hZ2UnLCBmb3JtRGF0YSk7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgaXNVcGxvYWRlZFBpY3R1cmU6IHRydWUsIHVwbG9hZGVkUGljdHVyZVNyYzogcmVzcG9uc2UuYXR0YWNobWVudC5maWxlUGF0aFByb3hpZWQgfSk7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyByZXRyaWV2ZUVycm9yOiBlcnIgfSk7XG4gICAgICBsb2dnZXIuZXJyb3IoZXJyKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIHVwbG9hZCBwcm9maWxlIGltYWdlJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZSBpbWFnZVxuICAgKi9cbiAgYXN5bmMgZGVsZXRlUHJvZmlsZUltYWdlKCkge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmFwcENvbnRhaW5lci5hcGlQb3N0KCcvYXR0YWNobWVudHMucmVtb3ZlUHJvZmlsZUltYWdlJywgeyBfY3NyZjogdGhpcy5hcHBDb250YWluZXIuY3NyZlRva2VuIH0pO1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGlzVXBsb2FkZWRQaWN0dXJlOiBmYWxzZSwgdXBsb2FkZWRQaWN0dXJlU3JjOiBERUZBVUxUX0lNQUdFIH0pO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgcmV0cmlldmVFcnJvcjogZXJyIH0pO1xuICAgICAgbG9nZ2VyLmVycm9yKGVycik7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBkZWxldGUgcHJvZmlsZSBpbWFnZScpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBc3NvY2lhdGUgTERBUCBhY2NvdW50XG4gICAqL1xuICBhc3luYyBhc3NvY2lhdGVMZGFwQWNjb3VudChhY2NvdW50KSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuYXBwQ29udGFpbmVyLmFwaXYzLnB1dCgnL3BlcnNvbmFsLXNldHRpbmcvYXNzb2NpYXRlLWxkYXAnLCBhY2NvdW50KTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IHJldHJpZXZlRXJyb3I6IGVyciB9KTtcbiAgICAgIGxvZ2dlci5lcnJvcihlcnIpO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gYXNzb2NpYXRlIGxkYXAgYWNjb3VudCcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNhc3NvY2lhdGUgTERBUCBhY2NvdW50XG4gICAqL1xuICBhc3luYyBkaXNhc3NvY2lhdGVMZGFwQWNjb3VudChhY2NvdW50KSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuYXBwQ29udGFpbmVyLmFwaXYzLnB1dCgnL3BlcnNvbmFsLXNldHRpbmcvZGlzYXNzb2NpYXRlLWxkYXAnLCBhY2NvdW50KTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IHJldHJpZXZlRXJyb3I6IGVyciB9KTtcbiAgICAgIGxvZ2dlci5lcnJvcihlcnIpO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gZGlzYXNzb2NpYXRlIGxkYXAgYWNjb3VudCcpO1xuICAgIH1cbiAgfVxuXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFFQTtBQUVBO0FBRUE7Ozs7O0FBSUE7QUFFQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFYQTtBQWNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQVFBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFFQTs7Ozs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFNQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFNQTtBQUVBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFHQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBREE7QUFHQTtBQUVBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUExT0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/services/PersonalContainer.js\n");
- /***/ }),
- /***/ "./src/client/js/services/RevisionComparerContainer.js":
- /*!*************************************************************!*\
- !*** ./src/client/js/services/RevisionComparerContainer.js ***!
- \*************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return RevisionComparerContainer; });\n/* harmony import */ var unstated__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! unstated */ \"./node_modules/unstated/lib/unstated.es.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @alias/logger */ \"./src/lib/service/logger/index.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_alias_logger__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _util_apiNotification__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/apiNotification */ \"./src/client/js/util/apiNotification.js\");\n\n\n\nconst logger = _alias_logger__WEBPACK_IMPORTED_MODULE_1___default()('growi:PageHistoryContainer');\n/**\n * Service container for personal settings page (RevisionCompare.jsx)\n * @extends {Container} unstated Container\n */\n\nclass RevisionComparerContainer extends unstated__WEBPACK_IMPORTED_MODULE_0__[\"Container\"] {\n constructor(appContainer, pageContainer) {\n super();\n this.appContainer = appContainer;\n this.pageContainer = pageContainer;\n this.state = {\n errMessage: null,\n sourceRevision: null,\n targetRevision: null,\n latestRevision: null\n };\n this.initRevisions = this.initRevisions.bind(this);\n }\n /**\n * Workaround for the mangling in production build to break constructor.name\n */\n\n\n static getClassName() {\n return 'RevisionComparerContainer';\n }\n /**\n * Initialize the revisions\n */\n\n\n async initRevisions() {\n const latestRevision = await this.fetchLatestRevision();\n const [sourceRevisionId, targetRevisionId] = this.getRevisionIDsToCompareAsParam();\n const sourceRevision = sourceRevisionId ? await this.fetchRevision(sourceRevisionId) : latestRevision;\n const targetRevision = targetRevisionId ? await this.fetchRevision(targetRevisionId) : latestRevision;\n const compareWithLatest = targetRevisionId ? false : this.state.compareWithLatest;\n this.setState({\n sourceRevision,\n targetRevision,\n latestRevision,\n compareWithLatest\n });\n }\n /**\n * Get the IDs of the comparison source and target from \"window.location\" as an array\n */\n\n\n getRevisionIDsToCompareAsParam() {\n const searchParams = {};\n\n for (const param of (_window$location$sear = window.location.search) === null || _window$location$sear === void 0 ? void 0 : (_window$location$sear2 = _window$location$sear.substr(1)) === null || _window$location$sear2 === void 0 ? void 0 : _window$location$sear2.split('&')) {\n var _window$location$sear, _window$location$sear2;\n\n const [k, v] = param.split('=');\n searchParams[k] = v;\n }\n\n if (!searchParams.compare) {\n return [];\n }\n\n return searchParams.compare.split('...') || [];\n }\n /**\n * Fetch the latest revision\n */\n\n\n async fetchLatestRevision() {\n const {\n pageId,\n shareLinkId\n } = this.pageContainer.state;\n\n try {\n const res = await this.appContainer.apiv3Get('/revisions/list', {\n pageId,\n shareLinkId,\n page: 1,\n limit: 1\n });\n return res.data.docs[0];\n } catch (err) {\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_2__[\"toastError\"])(err);\n this.setState({\n errorMessage: err.message\n });\n logger.error(err);\n }\n\n return null;\n }\n /**\n * Fetch the revision of the specified ID\n * @param {string} revision ID\n */\n\n\n async fetchRevision(revisionId) {\n const {\n pageId,\n shareLinkId\n } = this.pageContainer.state;\n\n try {\n const res = await this.appContainer.apiv3Get(`/revisions/${revisionId}`, {\n pageId,\n shareLinkId\n });\n return res.data.revision;\n } catch (err) {\n Object(_util_apiNotification__WEBPACK_IMPORTED_MODULE_2__[\"toastError\"])(err);\n this.setState({\n errorMessage: err.message\n });\n logger.error(err);\n }\n\n return null;\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL3NlcnZpY2VzL1JldmlzaW9uQ29tcGFyZXJDb250YWluZXIuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY2xpZW50L2pzL3NlcnZpY2VzL1JldmlzaW9uQ29tcGFyZXJDb250YWluZXIuanM/Njk0ZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250YWluZXIgfSBmcm9tICd1bnN0YXRlZCc7XG5cbmltcG9ydCBsb2dnZXJGYWN0b3J5IGZyb20gJ0BhbGlhcy9sb2dnZXInO1xuXG5pbXBvcnQgeyB0b2FzdEVycm9yIH0gZnJvbSAnLi4vdXRpbC9hcGlOb3RpZmljYXRpb24nO1xuXG5jb25zdCBsb2dnZXIgPSBsb2dnZXJGYWN0b3J5KCdncm93aTpQYWdlSGlzdG9yeUNvbnRhaW5lcicpO1xuXG4vKipcbiAqIFNlcnZpY2UgY29udGFpbmVyIGZvciBwZXJzb25hbCBzZXR0aW5ncyBwYWdlIChSZXZpc2lvbkNvbXBhcmUuanN4KVxuICogQGV4dGVuZHMge0NvbnRhaW5lcn0gdW5zdGF0ZWQgQ29udGFpbmVyXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJldmlzaW9uQ29tcGFyZXJDb250YWluZXIgZXh0ZW5kcyBDb250YWluZXIge1xuXG4gIGNvbnN0cnVjdG9yKGFwcENvbnRhaW5lciwgcGFnZUNvbnRhaW5lcikge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmFwcENvbnRhaW5lciA9IGFwcENvbnRhaW5lcjtcbiAgICB0aGlzLnBhZ2VDb250YWluZXIgPSBwYWdlQ29udGFpbmVyO1xuXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGVyck1lc3NhZ2U6IG51bGwsXG5cbiAgICAgIHNvdXJjZVJldmlzaW9uOiBudWxsLFxuICAgICAgdGFyZ2V0UmV2aXNpb246IG51bGwsXG4gICAgICBsYXRlc3RSZXZpc2lvbjogbnVsbCxcbiAgICB9O1xuXG4gICAgdGhpcy5pbml0UmV2aXNpb25zID0gdGhpcy5pbml0UmV2aXNpb25zLmJpbmQodGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogV29ya2Fyb3VuZCBmb3IgdGhlIG1hbmdsaW5nIGluIHByb2R1Y3Rpb24gYnVpbGQgdG8gYnJlYWsgY29uc3RydWN0b3IubmFtZVxuICAgKi9cbiAgc3RhdGljIGdldENsYXNzTmFtZSgpIHtcbiAgICByZXR1cm4gJ1JldmlzaW9uQ29tcGFyZXJDb250YWluZXInO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIHJldmlzaW9uc1xuICAgKi9cbiAgYXN5bmMgaW5pdFJldmlzaW9ucygpIHtcbiAgICBjb25zdCBsYXRlc3RSZXZpc2lvbiA9IGF3YWl0IHRoaXMuZmV0Y2hMYXRlc3RSZXZpc2lvbigpO1xuXG4gICAgY29uc3QgW3NvdXJjZVJldmlzaW9uSWQsIHRhcmdldFJldmlzaW9uSWRdID0gdGhpcy5nZXRSZXZpc2lvbklEc1RvQ29tcGFyZUFzUGFyYW0oKTtcbiAgICBjb25zdCBzb3VyY2VSZXZpc2lvbiA9IHNvdXJjZVJldmlzaW9uSWQgPyBhd2FpdCB0aGlzLmZldGNoUmV2aXNpb24oc291cmNlUmV2aXNpb25JZCkgOiBsYXRlc3RSZXZpc2lvbjtcbiAgICBjb25zdCB0YXJnZXRSZXZpc2lvbiA9IHRhcmdldFJldmlzaW9uSWQgPyBhd2FpdCB0aGlzLmZldGNoUmV2aXNpb24odGFyZ2V0UmV2aXNpb25JZCkgOiBsYXRlc3RSZXZpc2lvbjtcbiAgICBjb25zdCBjb21wYXJlV2l0aExhdGVzdCA9IHRhcmdldFJldmlzaW9uSWQgPyBmYWxzZSA6IHRoaXMuc3RhdGUuY29tcGFyZVdpdGhMYXRlc3Q7XG5cbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIHNvdXJjZVJldmlzaW9uLCB0YXJnZXRSZXZpc2lvbiwgbGF0ZXN0UmV2aXNpb24sIGNvbXBhcmVXaXRoTGF0ZXN0LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgSURzIG9mIHRoZSBjb21wYXJpc29uIHNvdXJjZSBhbmQgdGFyZ2V0IGZyb20gXCJ3aW5kb3cubG9jYXRpb25cIiBhcyBhbiBhcnJheVxuICAgKi9cbiAgZ2V0UmV2aXNpb25JRHNUb0NvbXBhcmVBc1BhcmFtKCkge1xuICAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9IHt9O1xuICAgIGZvciAoY29uc3QgcGFyYW0gb2Ygd2luZG93LmxvY2F0aW9uLnNlYXJjaD8uc3Vic3RyKDEpPy5zcGxpdCgnJicpKSB7XG4gICAgICBjb25zdCBbaywgdl0gPSBwYXJhbS5zcGxpdCgnPScpO1xuICAgICAgc2VhcmNoUGFyYW1zW2tdID0gdjtcbiAgICB9XG4gICAgaWYgKCFzZWFyY2hQYXJhbXMuY29tcGFyZSkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIHJldHVybiBzZWFyY2hQYXJhbXMuY29tcGFyZS5zcGxpdCgnLi4uJykgfHwgW107XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggdGhlIGxhdGVzdCByZXZpc2lvblxuICAgKi9cbiAgYXN5bmMgZmV0Y2hMYXRlc3RSZXZpc2lvbigpIHtcbiAgICBjb25zdCB7IHBhZ2VJZCwgc2hhcmVMaW5rSWQgfSA9IHRoaXMucGFnZUNvbnRhaW5lci5zdGF0ZTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmFwcENvbnRhaW5lci5hcGl2M0dldCgnL3JldmlzaW9ucy9saXN0Jywge1xuICAgICAgICBwYWdlSWQsIHNoYXJlTGlua0lkLCBwYWdlOiAxLCBsaW1pdDogMSxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlcy5kYXRhLmRvY3NbMF07XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgIHRvYXN0RXJyb3IoZXJyKTtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBlcnJvck1lc3NhZ2U6IGVyci5tZXNzYWdlIH0pO1xuICAgICAgbG9nZ2VyLmVycm9yKGVycik7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoIHRoZSByZXZpc2lvbiBvZiB0aGUgc3BlY2lmaWVkIElEXG4gICAqIEBwYXJhbSB7c3RyaW5nfSByZXZpc2lvbiBJRFxuICAgKi9cbiAgYXN5bmMgZmV0Y2hSZXZpc2lvbihyZXZpc2lvbklkKSB7XG4gICAgY29uc3QgeyBwYWdlSWQsIHNoYXJlTGlua0lkIH0gPSB0aGlzLnBhZ2VDb250YWluZXIuc3RhdGU7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5hcHBDb250YWluZXIuYXBpdjNHZXQoYC9yZXZpc2lvbnMvJHtyZXZpc2lvbklkfWAsIHtcbiAgICAgICAgcGFnZUlkLCBzaGFyZUxpbmtJZCxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlcy5kYXRhLnJldmlzaW9uO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICB0b2FzdEVycm9yKGVycik7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgZXJyb3JNZXNzYWdlOiBlcnIubWVzc2FnZSB9KTtcbiAgICAgIGxvZ2dlci5lcnJvcihlcnIpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFFQTtBQUVBO0FBRUE7Ozs7O0FBSUE7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFMQTtBQVFBO0FBQ0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBREE7QUFHQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBREE7QUFHQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7Ozs7OztBQUlBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBREE7QUFHQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFsR0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/services/RevisionComparerContainer.js\n");
- /***/ }),
- /***/ "./src/client/js/services/TagContainer.js":
- /*!************************************************!*\
- !*** ./src/client/js/services/TagContainer.js ***!
- \************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return TagContainer; });\n/* harmony import */ var unstated__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! unstated */ \"./node_modules/unstated/lib/unstated.es.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @alias/logger */ \"./src/lib/service/logger/index.js\");\n/* harmony import */ var _alias_logger__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_alias_logger__WEBPACK_IMPORTED_MODULE_1__);\n\n\nconst logger = _alias_logger__WEBPACK_IMPORTED_MODULE_1___default()('growi:services:TagContainer');\n/**\n * Service container related to Tag\n * @extends {Container} unstated Container\n */\n\nclass TagContainer extends unstated__WEBPACK_IMPORTED_MODULE_0__[\"Container\"] {\n constructor(appContainer) {\n super();\n this.appContainer = appContainer;\n this.appContainer.registerContainer(this);\n this.init();\n }\n /**\n * Workaround for the mangling in production build to break constructor.name\n */\n\n\n static getClassName() {\n return 'TagContainer';\n }\n /**\n * retrieve tags data\n * !! This method should be invoked after PageContainer and EditorContainer has been initialized !!\n */\n\n\n async init() {\n const pageContainer = this.appContainer.getContainer('PageContainer');\n const editorContainer = this.appContainer.getContainer('EditorContainer');\n\n if (Object.keys(pageContainer.state).length === 0) {\n logger.debug('There is no need to initialize TagContainer because this is not a Page');\n return;\n }\n\n const {\n pageId,\n templateTagData,\n shareLinkId\n } = pageContainer.state;\n\n if (shareLinkId != null) {\n return;\n }\n\n let tags = []; // when the page exists or shared page\n\n if (pageId != null && shareLinkId == null) {\n const res = await this.appContainer.apiGet('/pages.getPageTag', {\n pageId\n });\n tags = res.tags;\n } // when the page not exist\n else if (templateTagData != null) {\n tags = templateTagData.split(',').filter(str => {\n return str !== ''; // filter empty values\n });\n }\n\n logger.debug('tags data has been initialized');\n pageContainer.setState({\n tags\n });\n editorContainer.setState({\n tags\n });\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL3NlcnZpY2VzL1RhZ0NvbnRhaW5lci5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvc2VydmljZXMvVGFnQ29udGFpbmVyLmpzP2FjYzkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSAndW5zdGF0ZWQnO1xuXG5pbXBvcnQgbG9nZ2VyRmFjdG9yeSBmcm9tICdAYWxpYXMvbG9nZ2VyJztcblxuY29uc3QgbG9nZ2VyID0gbG9nZ2VyRmFjdG9yeSgnZ3Jvd2k6c2VydmljZXM6VGFnQ29udGFpbmVyJyk7XG5cbi8qKlxuICogU2VydmljZSBjb250YWluZXIgcmVsYXRlZCB0byBUYWdcbiAqIEBleHRlbmRzIHtDb250YWluZXJ9IHVuc3RhdGVkIENvbnRhaW5lclxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBUYWdDb250YWluZXIgZXh0ZW5kcyBDb250YWluZXIge1xuXG4gIGNvbnN0cnVjdG9yKGFwcENvbnRhaW5lcikge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmFwcENvbnRhaW5lciA9IGFwcENvbnRhaW5lcjtcbiAgICB0aGlzLmFwcENvbnRhaW5lci5yZWdpc3RlckNvbnRhaW5lcih0aGlzKTtcblxuICAgIHRoaXMuaW5pdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdvcmthcm91bmQgZm9yIHRoZSBtYW5nbGluZyBpbiBwcm9kdWN0aW9uIGJ1aWxkIHRvIGJyZWFrIGNvbnN0cnVjdG9yLm5hbWVcbiAgICovXG4gIHN0YXRpYyBnZXRDbGFzc05hbWUoKSB7XG4gICAgcmV0dXJuICdUYWdDb250YWluZXInO1xuICB9XG5cbiAgLyoqXG4gICAqIHJldHJpZXZlIHRhZ3MgZGF0YVxuICAgKiAhISBUaGlzIG1ldGhvZCBzaG91bGQgYmUgaW52b2tlZCBhZnRlciBQYWdlQ29udGFpbmVyIGFuZCBFZGl0b3JDb250YWluZXIgaGFzIGJlZW4gaW5pdGlhbGl6ZWQgISFcbiAgICovXG4gIGFzeW5jIGluaXQoKSB7XG4gICAgY29uc3QgcGFnZUNvbnRhaW5lciA9IHRoaXMuYXBwQ29udGFpbmVyLmdldENvbnRhaW5lcignUGFnZUNvbnRhaW5lcicpO1xuICAgIGNvbnN0IGVkaXRvckNvbnRhaW5lciA9IHRoaXMuYXBwQ29udGFpbmVyLmdldENvbnRhaW5lcignRWRpdG9yQ29udGFpbmVyJyk7XG5cbiAgICBpZiAoT2JqZWN0LmtleXMocGFnZUNvbnRhaW5lci5zdGF0ZSkubGVuZ3RoID09PSAwKSB7XG4gICAgICBsb2dnZXIuZGVidWcoJ1RoZXJlIGlzIG5vIG5lZWQgdG8gaW5pdGlhbGl6ZSBUYWdDb250YWluZXIgYmVjYXVzZSB0aGlzIGlzIG5vdCBhIFBhZ2UnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB7IHBhZ2VJZCwgdGVtcGxhdGVUYWdEYXRhLCBzaGFyZUxpbmtJZCB9ID0gcGFnZUNvbnRhaW5lci5zdGF0ZTtcblxuICAgIGlmIChzaGFyZUxpbmtJZCAhPSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IHRhZ3MgPSBbXTtcbiAgICAvLyB3aGVuIHRoZSBwYWdlIGV4aXN0cyBvciBzaGFyZWQgcGFnZVxuICAgIGlmIChwYWdlSWQgIT0gbnVsbCAmJiBzaGFyZUxpbmtJZCA9PSBudWxsKSB7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmFwcENvbnRhaW5lci5hcGlHZXQoJy9wYWdlcy5nZXRQYWdlVGFnJywgeyBwYWdlSWQgfSk7XG4gICAgICB0YWdzID0gcmVzLnRhZ3M7XG4gICAgfVxuICAgIC8vIHdoZW4gdGhlIHBhZ2Ugbm90IGV4aXN0XG4gICAgZWxzZSBpZiAodGVtcGxhdGVUYWdEYXRhICE9IG51bGwpIHtcbiAgICAgIHRhZ3MgPSB0ZW1wbGF0ZVRhZ0RhdGEuc3BsaXQoJywnKS5maWx0ZXIoKHN0cikgPT4ge1xuICAgICAgICByZXR1cm4gc3RyICE9PSAnJzsgLy8gZmlsdGVyIGVtcHR5IHZhbHVlc1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgbG9nZ2VyLmRlYnVnKCd0YWdzIGRhdGEgaGFzIGJlZW4gaW5pdGlhbGl6ZWQnKTtcblxuICAgIHBhZ2VDb250YWluZXIuc2V0U3RhdGUoeyB0YWdzIH0pO1xuICAgIGVkaXRvckNvbnRhaW5lci5zZXRTdGF0ZSh7IHRhZ3MgfSk7XG4gIH1cblxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUVBO0FBRUE7Ozs7O0FBSUE7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBSEE7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBdkRBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/services/TagContainer.js\n");
- /***/ }),
- /***/ "./src/client/js/util/codemirror/gfm-growi.mode.js":
- /*!*********************************************************!*\
- !*** ./src/client/js/util/codemirror/gfm-growi.mode.js ***!
- \*********************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- eval("// https://discuss.codemirror.net/t/cm-header-margin-padding-height/75/5\nwindow.CodeMirror.defineMode('gfm-growi', (cmConfig, modeCfg) => {\n // based on Markdown (GitHub-flavour) mode\n // https://codemirror.net/doc/manual.html#option_mode\n // https://codemirror.net/mode/index.html\n modeCfg.name = 'gfm';\n modeCfg.highlightFormatting = true;\n const mode = window.CodeMirror.getMode(cmConfig, modeCfg);\n const origToken = mode.token;\n\n mode.token = function (stream, state) {\n let classes = origToken(stream, state) || ''; // https://regex101.com/r/Fep0w2/1\n\n classes = classes.replace(/(^| )header(\\S*)/g, '$1header$2 line-grw-cm-header-line');\n return /^\\s*$/.test(classes) ? null : classes;\n };\n\n return mode;\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL3V0aWwvY29kZW1pcnJvci9nZm0tZ3Jvd2kubW9kZS5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvdXRpbC9jb2RlbWlycm9yL2dmbS1ncm93aS5tb2RlLmpzP2E1ZWQiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9kaXNjdXNzLmNvZGVtaXJyb3IubmV0L3QvY20taGVhZGVyLW1hcmdpbi1wYWRkaW5nLWhlaWdodC83NS81XG53aW5kb3cuQ29kZU1pcnJvci5kZWZpbmVNb2RlKCdnZm0tZ3Jvd2knLCAoY21Db25maWcsIG1vZGVDZmcpID0+IHtcbiAgLy8gYmFzZWQgb24gTWFya2Rvd24gKEdpdEh1Yi1mbGF2b3VyKSBtb2RlXG4gIC8vIGh0dHBzOi8vY29kZW1pcnJvci5uZXQvZG9jL21hbnVhbC5odG1sI29wdGlvbl9tb2RlXG4gIC8vIGh0dHBzOi8vY29kZW1pcnJvci5uZXQvbW9kZS9pbmRleC5odG1sXG4gIG1vZGVDZmcubmFtZSA9ICdnZm0nO1xuICBtb2RlQ2ZnLmhpZ2hsaWdodEZvcm1hdHRpbmcgPSB0cnVlO1xuICBjb25zdCBtb2RlID0gd2luZG93LkNvZGVNaXJyb3IuZ2V0TW9kZShjbUNvbmZpZywgbW9kZUNmZyk7XG5cbiAgY29uc3Qgb3JpZ1Rva2VuID0gbW9kZS50b2tlbjtcbiAgbW9kZS50b2tlbiA9IGZ1bmN0aW9uKHN0cmVhbSwgc3RhdGUpIHtcbiAgICBsZXQgY2xhc3NlcyA9IG9yaWdUb2tlbihzdHJlYW0sIHN0YXRlKSB8fCAnJztcbiAgICAvLyBodHRwczovL3JlZ2V4MTAxLmNvbS9yL0ZlcDB3Mi8xXG4gICAgY2xhc3NlcyA9IGNsYXNzZXMucmVwbGFjZSgvKF58ICloZWFkZXIoXFxTKikvZywgJyQxaGVhZGVyJDIgbGluZS1ncnctY20taGVhZGVyLWxpbmUnKTtcbiAgICByZXR1cm4gL15cXHMqJC8udGVzdChjbGFzc2VzKSA/IG51bGwgOiBjbGFzc2VzO1xuICB9O1xuXG4gIHJldHVybiBtb2RlO1xufSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/util/codemirror/gfm-growi.mode.js\n");
- /***/ }),
- /***/ "./src/client/js/util/codemirror/update-display-util.ext.js":
- /*!******************************************************************!*\
- !*** ./src/client/js/util/codemirror/update-display-util.ext.js ***!
- \******************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var codemirror_src_line_saw_special_spans__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! codemirror/src/line/saw_special_spans */ \"./node_modules/codemirror/src/line/saw_special_spans.js\");\n/* harmony import */ var codemirror_src_line_utils_line__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! codemirror/src/line/utils_line */ \"./node_modules/codemirror/src/line/utils_line.js\");\n/* harmony import */ var codemirror_src_line_spans__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! codemirror/src/line/spans */ \"./node_modules/codemirror/src/line/spans.js\");\n/* harmony import */ var codemirror_src_display_update_display__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! codemirror/src/display/update_display */ \"./node_modules/codemirror/src/display/update_display.js\");\n/* harmony import */ var codemirror_src_display_view_tracking__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! codemirror/src/display/view_tracking */ \"./node_modules/codemirror/src/display/view_tracking.js\");\n\n\n\n\n\n\nclass UpdateDisplayUtil {\n /**\n * Transplant 'updateDisplayIfNeeded' method to fix weseek/growi#703\n *\n * @see https://github.com/weseek/growi/issues/703\n * @see https://github.com/codemirror/CodeMirror/blob/5.42.0/src/display/update_display.js#L125\n *\n * @param {CodeMirror} cm\n */\n static forceUpdateViewOffset(cm) {\n const doc = cm.doc;\n const display = cm.display;\n const update = new codemirror_src_display_update_display__WEBPACK_IMPORTED_MODULE_3__[\"DisplayUpdate\"](cm, cm.getViewport()); // Compute a suitable new viewport (from & to)\n\n const end = doc.first + doc.size;\n let from = Math.max(update.visible.from - cm.options.viewportMargin, doc.first);\n let to = Math.min(end, update.visible.to + cm.options.viewportMargin);\n if (display.viewFrom < from && from - display.viewFrom < 20) from = Math.max(doc.first, display.viewFrom);\n if (display.viewTo > to && display.viewTo - to < 20) to = Math.min(end, display.viewTo);\n\n if (codemirror_src_line_saw_special_spans__WEBPACK_IMPORTED_MODULE_0__[\"sawCollapsedSpans\"]) {\n from = Object(codemirror_src_line_spans__WEBPACK_IMPORTED_MODULE_2__[\"visualLineNo\"])(cm.doc, from);\n to = Object(codemirror_src_line_spans__WEBPACK_IMPORTED_MODULE_2__[\"visualLineEndNo\"])(cm.doc, to);\n }\n\n Object(codemirror_src_display_view_tracking__WEBPACK_IMPORTED_MODULE_4__[\"adjustView\"])(cm, from, to);\n display.viewOffset = Object(codemirror_src_line_spans__WEBPACK_IMPORTED_MODULE_2__[\"heightAtLine\"])(Object(codemirror_src_line_utils_line__WEBPACK_IMPORTED_MODULE_1__[\"getLine\"])(doc, display.viewFrom));\n }\n\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (UpdateDisplayUtil);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL3V0aWwvY29kZW1pcnJvci91cGRhdGUtZGlzcGxheS11dGlsLmV4dC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvdXRpbC9jb2RlbWlycm9yL3VwZGF0ZS1kaXNwbGF5LXV0aWwuZXh0LmpzP2RjNjEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2F3Q29sbGFwc2VkU3BhbnMgfSBmcm9tICdjb2RlbWlycm9yL3NyYy9saW5lL3Nhd19zcGVjaWFsX3NwYW5zJztcbmltcG9ydCB7IGdldExpbmUgfSBmcm9tICdjb2RlbWlycm9yL3NyYy9saW5lL3V0aWxzX2xpbmUnO1xuaW1wb3J0IHsgaGVpZ2h0QXRMaW5lLCB2aXN1YWxMaW5lRW5kTm8sIHZpc3VhbExpbmVObyB9IGZyb20gJ2NvZGVtaXJyb3Ivc3JjL2xpbmUvc3BhbnMnO1xuaW1wb3J0IHsgRGlzcGxheVVwZGF0ZSB9IGZyb20gJ2NvZGVtaXJyb3Ivc3JjL2Rpc3BsYXkvdXBkYXRlX2Rpc3BsYXknO1xuaW1wb3J0IHsgYWRqdXN0VmlldyB9IGZyb20gJ2NvZGVtaXJyb3Ivc3JjL2Rpc3BsYXkvdmlld190cmFja2luZyc7XG5cbmNsYXNzIFVwZGF0ZURpc3BsYXlVdGlsIHtcblxuICAvKipcbiAgICogVHJhbnNwbGFudCAndXBkYXRlRGlzcGxheUlmTmVlZGVkJyBtZXRob2QgdG8gZml4IHdlc2Vlay9ncm93aSM3MDNcbiAgICpcbiAgICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vd2VzZWVrL2dyb3dpL2lzc3Vlcy83MDNcbiAgICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vY29kZW1pcnJvci9Db2RlTWlycm9yL2Jsb2IvNS40Mi4wL3NyYy9kaXNwbGF5L3VwZGF0ZV9kaXNwbGF5LmpzI0wxMjVcbiAgICpcbiAgICogQHBhcmFtIHtDb2RlTWlycm9yfSBjbVxuICAgKi9cbiAgc3RhdGljIGZvcmNlVXBkYXRlVmlld09mZnNldChjbSkge1xuICAgIGNvbnN0IGRvYyA9IGNtLmRvYztcbiAgICBjb25zdCBkaXNwbGF5ID0gY20uZGlzcGxheTtcblxuICAgIGNvbnN0IHVwZGF0ZSA9IG5ldyBEaXNwbGF5VXBkYXRlKGNtLCBjbS5nZXRWaWV3cG9ydCgpKTtcblxuICAgIC8vIENvbXB1dGUgYSBzdWl0YWJsZSBuZXcgdmlld3BvcnQgKGZyb20gJiB0bylcbiAgICBjb25zdCBlbmQgPSBkb2MuZmlyc3QgKyBkb2Muc2l6ZTtcbiAgICBsZXQgZnJvbSA9IE1hdGgubWF4KHVwZGF0ZS52aXNpYmxlLmZyb20gLSBjbS5vcHRpb25zLnZpZXdwb3J0TWFyZ2luLCBkb2MuZmlyc3QpO1xuICAgIGxldCB0byA9IE1hdGgubWluKGVuZCwgdXBkYXRlLnZpc2libGUudG8gKyBjbS5vcHRpb25zLnZpZXdwb3J0TWFyZ2luKTtcbiAgICBpZiAoZGlzcGxheS52aWV3RnJvbSA8IGZyb20gJiYgZnJvbSAtIGRpc3BsYXkudmlld0Zyb20gPCAyMCkgZnJvbSA9IE1hdGgubWF4KGRvYy5maXJzdCwgZGlzcGxheS52aWV3RnJvbSk7XG4gICAgaWYgKGRpc3BsYXkudmlld1RvID4gdG8gJiYgZGlzcGxheS52aWV3VG8gLSB0byA8IDIwKSB0byA9IE1hdGgubWluKGVuZCwgZGlzcGxheS52aWV3VG8pO1xuICAgIGlmIChzYXdDb2xsYXBzZWRTcGFucykge1xuICAgICAgZnJvbSA9IHZpc3VhbExpbmVObyhjbS5kb2MsIGZyb20pO1xuICAgICAgdG8gPSB2aXN1YWxMaW5lRW5kTm8oY20uZG9jLCB0byk7XG4gICAgfVxuICAgIGFkanVzdFZpZXcoY20sIGZyb20sIHRvKTtcblxuICAgIGRpc3BsYXkudmlld09mZnNldCA9IGhlaWdodEF0TGluZShnZXRMaW5lKGRvYywgZGlzcGxheS52aWV3RnJvbSkpO1xuICB9XG5cbn1cblxuXG5leHBvcnQgZGVmYXVsdCBVcGRhdGVEaXNwbGF5VXRpbDtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7Ozs7QUFRQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBOUJBO0FBQ0E7QUFpQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/util/codemirror/update-display-util.ext.js\n");
- /***/ }),
- /***/ "./src/client/js/util/interceptor/detach-code-blocks.js":
- /*!**************************************************************!*\
- !*** ./src/client/js/util/interceptor/detach-code-blocks.js ***!
- \**************************************************************/
- /*! exports provided: DetachCodeBlockInterceptor, RestoreCodeBlockInterceptor */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DetachCodeBlockInterceptor\", function() { return DetachCodeBlockInterceptor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RestoreCodeBlockInterceptor\", function() { return RestoreCodeBlockInterceptor; });\n/* harmony import */ var growi_commons__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! growi-commons */ \"./node_modules/growi-commons/src/index.js\");\n/* harmony import */ var growi_commons__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(growi_commons__WEBPACK_IMPORTED_MODULE_0__);\n\n\nclass DetachCodeBlockUtil {\n static createReplaceStr(replaceId) {\n return `<pre class=\"detached-code-block\">${replaceId}</pre>`;\n }\n\n}\n/**\n * The interceptor that detach code blocks\n */\n\n\nclass DetachCodeBlockInterceptor extends growi_commons__WEBPACK_IMPORTED_MODULE_0__[\"BasicInterceptor\"] {\n constructor(crowi) {\n super();\n this.logger = __webpack_require__(/*! @alias/logger */ \"./src/lib/service/logger/index.js\")('growi:DetachCodeBlockInterceptor');\n this.crowi = crowi;\n this.crowiForJquery = crowi.getCrowiForJquery();\n }\n /**\n * @inheritdoc\n */\n\n\n isInterceptWhen(contextName) {\n return /^prePreProcess|prePostProcess$/.test(contextName);\n }\n\n getTargetKey(contextName) {\n if (contextName === 'prePreProcess') {\n return 'markdown';\n }\n\n if (contextName === 'prePostProcess') {\n return 'parsedHTML';\n }\n }\n /**\n * @inheritdoc\n */\n\n\n process(contextName, ...args) {\n this.logger.debug(`processing: 'contextName'=${contextName}`);\n const context = Object.assign(args[0]); // clone\n\n const targetKey = this.getTargetKey(contextName);\n const currentPagePath = context.currentPagePath; // eslint-disable-line no-unused-vars\n\n context.dcbContextMap = {}; // see: https://regex101.com/r/8PAEcC/5\n // eslint-disable-next-line max-len\n\n context[targetKey] = context[targetKey].replace(/(^(```|~~~)(.|[\\r\\n])*?(```|~~~)$)|(`[^\\r\\n]*?`)|(<pre>(.|[\\r\\n])*?<\\/pre>)|(<pre\\s[^>]*>(.|[\\r\\n])*?<\\/pre>)/gm, all => {\n // create ID\n const replaceId = `dcb-${this.createRandomStr(8)}`;\n this.logger.debug(`'replaceId'=${replaceId} : `, all); // register to context\n\n const dcbContext = {};\n dcbContext.content = all;\n dcbContext.substituteContent = DetachCodeBlockUtil.createReplaceStr(replaceId);\n context.dcbContextMap[replaceId] = dcbContext; // return substituteContent\n\n return dcbContext.substituteContent;\n }); // resolve\n\n return Promise.resolve(context);\n }\n /**\n * @see http://qiita.com/ryounagaoka/items/4736c225bdd86a74d59c\n *\n * @param {number} length\n * @return random strings\n */\n\n\n createRandomStr(length) {\n const bag = 'abcdefghijklmnopqrstuvwxyz0123456789';\n let generated = '';\n\n for (let i = 0; i < length; i++) {\n generated += bag[Math.floor(Math.random() * bag.length)];\n }\n\n return generated;\n }\n\n}\n/**\n * The interceptor that restore detached code blocks\n */\n\nclass RestoreCodeBlockInterceptor extends growi_commons__WEBPACK_IMPORTED_MODULE_0__[\"BasicInterceptor\"] {\n constructor(crowi) {\n super();\n this.logger = __webpack_require__(/*! @alias/logger */ \"./src/lib/service/logger/index.js\")('growi:DetachCodeBlockInterceptor');\n this.crowi = crowi;\n this.crowiForJquery = crowi.getCrowiForJquery();\n }\n /**\n * @inheritdoc\n */\n\n\n isInterceptWhen(contextName) {\n return /^postPreProcess|preRenderHtml|preRenderPreviewHtml|preRenderCommentHtml|preRenderCommentPreviewHtml$/.test(contextName);\n }\n\n getTargetKey(contextName) {\n if (contextName === 'postPreProcess') {\n return 'markdown';\n }\n\n if (contextName === 'preRenderHtml' || contextName === 'preRenderPreviewHtml' || contextName === 'preRenderCommentHtml' || contextName === 'preRenderCommentPreviewHtml') {\n return 'parsedHTML';\n }\n }\n /**\n * @inheritdoc\n */\n\n\n process(contextName, ...args) {\n this.logger.debug(`processing: 'contextName'=${contextName}`);\n const context = Object.assign(args[0]); // clone\n\n const targetKey = this.getTargetKey(contextName); // forEach keys of dcbContextMap\n\n Object.keys(context.dcbContextMap).forEach(replaceId => {\n // get context object from context\n const dcbContext = context.dcbContextMap[replaceId]; // replace it with content by using getter function so that the doller sign does not work\n // see: https://github.com/weseek/growi/issues/285\n\n context[targetKey] = context[targetKey].replace(dcbContext.substituteContent, () => {\n return dcbContext.content;\n });\n }); // resolve\n\n return Promise.resolve(context);\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL3V0aWwvaW50ZXJjZXB0b3IvZGV0YWNoLWNvZGUtYmxvY2tzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy91dGlsL2ludGVyY2VwdG9yL2RldGFjaC1jb2RlLWJsb2Nrcy5qcz9jNjViIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2ljSW50ZXJjZXB0b3IgfSBmcm9tICdncm93aS1jb21tb25zJztcblxuY2xhc3MgRGV0YWNoQ29kZUJsb2NrVXRpbCB7XG5cbiAgc3RhdGljIGNyZWF0ZVJlcGxhY2VTdHIocmVwbGFjZUlkKSB7XG4gICAgcmV0dXJuIGA8cHJlIGNsYXNzPVwiZGV0YWNoZWQtY29kZS1ibG9ja1wiPiR7cmVwbGFjZUlkfTwvcHJlPmA7XG4gIH1cblxufVxuXG4vKipcbiAqIFRoZSBpbnRlcmNlcHRvciB0aGF0IGRldGFjaCBjb2RlIGJsb2Nrc1xuICovXG5leHBvcnQgY2xhc3MgRGV0YWNoQ29kZUJsb2NrSW50ZXJjZXB0b3IgZXh0ZW5kcyBCYXNpY0ludGVyY2VwdG9yIHtcblxuICBjb25zdHJ1Y3Rvcihjcm93aSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5sb2dnZXIgPSByZXF1aXJlKCdAYWxpYXMvbG9nZ2VyJykoJ2dyb3dpOkRldGFjaENvZGVCbG9ja0ludGVyY2VwdG9yJyk7XG5cbiAgICB0aGlzLmNyb3dpID0gY3Jvd2k7XG4gICAgdGhpcy5jcm93aUZvckpxdWVyeSA9IGNyb3dpLmdldENyb3dpRm9ySnF1ZXJ5KCk7XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIGlzSW50ZXJjZXB0V2hlbihjb250ZXh0TmFtZSkge1xuICAgIHJldHVybiAvXnByZVByZVByb2Nlc3N8cHJlUG9zdFByb2Nlc3MkLy50ZXN0KGNvbnRleHROYW1lKTtcbiAgfVxuXG4gIGdldFRhcmdldEtleShjb250ZXh0TmFtZSkge1xuICAgIGlmIChjb250ZXh0TmFtZSA9PT0gJ3ByZVByZVByb2Nlc3MnKSB7XG4gICAgICByZXR1cm4gJ21hcmtkb3duJztcbiAgICB9XG4gICAgaWYgKGNvbnRleHROYW1lID09PSAncHJlUG9zdFByb2Nlc3MnKSB7XG4gICAgICByZXR1cm4gJ3BhcnNlZEhUTUwnO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgcHJvY2Vzcyhjb250ZXh0TmFtZSwgLi4uYXJncykge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBwcm9jZXNzaW5nOiAnY29udGV4dE5hbWUnPSR7Y29udGV4dE5hbWV9YCk7XG5cbiAgICBjb25zdCBjb250ZXh0ID0gT2JqZWN0LmFzc2lnbihhcmdzWzBdKTsgLy8gY2xvbmVcbiAgICBjb25zdCB0YXJnZXRLZXkgPSB0aGlzLmdldFRhcmdldEtleShjb250ZXh0TmFtZSk7XG4gICAgY29uc3QgY3VycmVudFBhZ2VQYXRoID0gY29udGV4dC5jdXJyZW50UGFnZVBhdGg7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW51c2VkLXZhcnNcblxuICAgIGNvbnRleHQuZGNiQ29udGV4dE1hcCA9IHt9O1xuXG4gICAgLy8gc2VlOiBodHRwczovL3JlZ2V4MTAxLmNvbS9yLzhQQUVjQy81XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbiAgICBjb250ZXh0W3RhcmdldEtleV0gPSBjb250ZXh0W3RhcmdldEtleV0ucmVwbGFjZSgvKF4oYGBgfH5+fikoLnxbXFxyXFxuXSkqPyhgYGB8fn5+KSQpfChgW15cXHJcXG5dKj9gKXwoPHByZT4oLnxbXFxyXFxuXSkqPzxcXC9wcmU+KXwoPHByZVxcc1tePl0qPigufFtcXHJcXG5dKSo/PFxcL3ByZT4pL2dtLCAoYWxsKSA9PiB7XG4gICAgICAvLyBjcmVhdGUgSURcbiAgICAgIGNvbnN0IHJlcGxhY2VJZCA9IGBkY2ItJHt0aGlzLmNyZWF0ZVJhbmRvbVN0cig4KX1gO1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYCdyZXBsYWNlSWQnPSR7cmVwbGFjZUlkfSA6IGAsIGFsbCk7XG5cbiAgICAgIC8vIHJlZ2lzdGVyIHRvIGNvbnRleHRcbiAgICAgIGNvbnN0IGRjYkNvbnRleHQgPSB7fTtcbiAgICAgIGRjYkNvbnRleHQuY29udGVudCA9IGFsbDtcbiAgICAgIGRjYkNvbnRleHQuc3Vic3RpdHV0ZUNvbnRlbnQgPSBEZXRhY2hDb2RlQmxvY2tVdGlsLmNyZWF0ZVJlcGxhY2VTdHIocmVwbGFjZUlkKTtcbiAgICAgIGNvbnRleHQuZGNiQ29udGV4dE1hcFtyZXBsYWNlSWRdID0gZGNiQ29udGV4dDtcblxuICAgICAgLy8gcmV0dXJuIHN1YnN0aXR1dGVDb250ZW50XG4gICAgICByZXR1cm4gZGNiQ29udGV4dC5zdWJzdGl0dXRlQ29udGVudDtcbiAgICB9KTtcblxuICAgIC8vIHJlc29sdmVcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGNvbnRleHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzZWUgaHR0cDovL3FpaXRhLmNvbS9yeW91bmFnYW9rYS9pdGVtcy80NzM2YzIyNWJkZDg2YTc0ZDU5Y1xuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gbGVuZ3RoXG4gICAqIEByZXR1cm4gcmFuZG9tIHN0cmluZ3NcbiAgICovXG4gIGNyZWF0ZVJhbmRvbVN0cihsZW5ndGgpIHtcbiAgICBjb25zdCBiYWcgPSAnYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5JztcbiAgICBsZXQgZ2VuZXJhdGVkID0gJyc7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgZ2VuZXJhdGVkICs9IGJhZ1tNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBiYWcubGVuZ3RoKV07XG4gICAgfVxuICAgIHJldHVybiBnZW5lcmF0ZWQ7XG4gIH1cblxufVxuXG5cbi8qKlxuICogVGhlIGludGVyY2VwdG9yIHRoYXQgcmVzdG9yZSBkZXRhY2hlZCBjb2RlIGJsb2Nrc1xuICovXG5leHBvcnQgY2xhc3MgUmVzdG9yZUNvZGVCbG9ja0ludGVyY2VwdG9yIGV4dGVuZHMgQmFzaWNJbnRlcmNlcHRvciB7XG5cbiAgY29uc3RydWN0b3IoY3Jvd2kpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMubG9nZ2VyID0gcmVxdWlyZSgnQGFsaWFzL2xvZ2dlcicpKCdncm93aTpEZXRhY2hDb2RlQmxvY2tJbnRlcmNlcHRvcicpO1xuXG4gICAgdGhpcy5jcm93aSA9IGNyb3dpO1xuICAgIHRoaXMuY3Jvd2lGb3JKcXVlcnkgPSBjcm93aS5nZXRDcm93aUZvckpxdWVyeSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBpc0ludGVyY2VwdFdoZW4oY29udGV4dE5hbWUpIHtcbiAgICByZXR1cm4gL15wb3N0UHJlUHJvY2Vzc3xwcmVSZW5kZXJIdG1sfHByZVJlbmRlclByZXZpZXdIdG1sfHByZVJlbmRlckNvbW1lbnRIdG1sfHByZVJlbmRlckNvbW1lbnRQcmV2aWV3SHRtbCQvLnRlc3QoY29udGV4dE5hbWUpO1xuICB9XG5cbiAgZ2V0VGFyZ2V0S2V5KGNvbnRleHROYW1lKSB7XG4gICAgaWYgKGNvbnRleHROYW1lID09PSAncG9zdFByZVByb2Nlc3MnKSB7XG4gICAgICByZXR1cm4gJ21hcmtkb3duJztcbiAgICB9XG4gICAgaWYgKGNvbnRleHROYW1lID09PSAncHJlUmVuZGVySHRtbCcgfHwgY29udGV4dE5hbWUgPT09ICdwcmVSZW5kZXJQcmV2aWV3SHRtbCdcbiAgICAgICAgfHwgY29udGV4dE5hbWUgPT09ICdwcmVSZW5kZXJDb21tZW50SHRtbCcgfHwgY29udGV4dE5hbWUgPT09ICdwcmVSZW5kZXJDb21tZW50UHJldmlld0h0bWwnKSB7XG4gICAgICByZXR1cm4gJ3BhcnNlZEhUTUwnO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgcHJvY2Vzcyhjb250ZXh0TmFtZSwgLi4uYXJncykge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBwcm9jZXNzaW5nOiAnY29udGV4dE5hbWUnPSR7Y29udGV4dE5hbWV9YCk7XG5cbiAgICBjb25zdCBjb250ZXh0ID0gT2JqZWN0LmFzc2lnbihhcmdzWzBdKTsgLy8gY2xvbmVcbiAgICBjb25zdCB0YXJnZXRLZXkgPSB0aGlzLmdldFRhcmdldEtleShjb250ZXh0TmFtZSk7XG5cbiAgICAvLyBmb3JFYWNoIGtleXMgb2YgZGNiQ29udGV4dE1hcFxuICAgIE9iamVjdC5rZXlzKGNvbnRleHQuZGNiQ29udGV4dE1hcCkuZm9yRWFjaCgocmVwbGFjZUlkKSA9PiB7XG4gICAgICAvLyBnZXQgY29udGV4dCBvYmplY3QgZnJvbSBjb250ZXh0XG4gICAgICBjb25zdCBkY2JDb250ZXh0ID0gY29udGV4dC5kY2JDb250ZXh0TWFwW3JlcGxhY2VJZF07XG5cbiAgICAgIC8vIHJlcGxhY2UgaXQgd2l0aCBjb250ZW50IGJ5IHVzaW5nIGdldHRlciBmdW5jdGlvbiBzbyB0aGF0IHRoZSBkb2xsZXIgc2lnbiBkb2VzIG5vdCB3b3JrXG4gICAgICAvLyBzZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS93ZXNlZWsvZ3Jvd2kvaXNzdWVzLzI4NVxuICAgICAgY29udGV4dFt0YXJnZXRLZXldID0gY29udGV4dFt0YXJnZXRLZXldLnJlcGxhY2UoZGNiQ29udGV4dC5zdWJzdGl0dXRlQ29udGVudCwgKCkgPT4geyByZXR1cm4gZGNiQ29udGV4dC5jb250ZW50IH0pO1xuICAgIH0pO1xuXG4gICAgLy8gcmVzb2x2ZVxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoY29udGV4dCk7XG4gIH1cblxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQVFBOzs7OztBQUdBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBOzs7Ozs7OztBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUF6RUE7QUE2RUE7Ozs7QUFHQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFqREEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/client/js/util/interceptor/detach-code-blocks.js\n");
- /***/ }),
- /***/ "./src/client/js/util/interceptor/drawio-interceptor.js":
- /*!**************************************************************!*\
- !*** ./src/client/js/util/interceptor/drawio-interceptor.js ***!
- \**************************************************************/
- /*! exports provided: DrawioInterceptor */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DrawioInterceptor\", function() { return DrawioInterceptor; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ \"./node_modules/react-dom/index.js\");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var unstated__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! unstated */ \"./node_modules/unstated/lib/unstated.es.js\");\n/* harmony import */ var growi_commons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! growi-commons */ \"./node_modules/growi-commons/src/index.js\");\n/* harmony import */ var growi_commons__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(growi_commons__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _components_Drawio__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../components/Drawio */ \"./src/client/js/components/Drawio.jsx\");\n/* eslint-disable import/prefer-default-export */\n\n\n\n\n\n/**\n * The interceptor for draw.io\n *\n * replace draw.io tag (render by markdown-it-drawio-viewer) to a React target element\n */\n\nclass DrawioInterceptor extends growi_commons__WEBPACK_IMPORTED_MODULE_3__[\"BasicInterceptor\"] {\n constructor(appContainer) {\n super();\n this.previousPreviewContext = null;\n this.appContainer = appContainer;\n }\n /**\n * @inheritdoc\n */\n\n\n isInterceptWhen(contextName) {\n return contextName === 'preRenderHtml' || contextName === 'preRenderPreviewHtml' || contextName === 'postRenderHtml' || contextName === 'postRenderPreviewHtml';\n }\n /**\n * @inheritdoc\n */\n\n\n isProcessableParallel() {\n return false;\n }\n /**\n * @inheritdoc\n */\n\n\n async process(contextName, ...args) {\n const context = Object.assign(args[0]); // clone\n\n if (contextName === 'preRenderHtml' || contextName === 'preRenderPreviewHtml') {\n return this.drawioPreRender(contextName, context);\n }\n\n if (contextName === 'postRenderHtml' || contextName === 'postRenderPreviewHtml') {\n this.drawioPostRender(contextName, context);\n return;\n }\n }\n /**\n * @inheritdoc\n */\n\n\n createRandomStr(length) {\n const bag = 'abcdefghijklmnopqrstuvwxyz0123456789';\n let generated = '';\n\n for (let i = 0; i < length; i++) {\n generated += bag[Math.floor(Math.random() * bag.length)];\n }\n\n return generated;\n }\n /**\n * @inheritdoc\n */\n\n\n drawioPreRender(contextName, context) {\n const div = document.createElement('div');\n div.innerHTML = context.parsedHTML;\n context.DrawioMap = {};\n Array.from(div.querySelectorAll('.mxgraph')).forEach(element => {\n const domId = `mxgraph-${this.createRandomStr(8)}`;\n context.DrawioMap[domId] = {\n rangeLineNumberOfMarkdown: {\n beginLineNumber: element.parentNode.dataset.beginLineNumberOfMarkdown,\n endLineNumber: element.parentNode.dataset.endLineNumberOfMarkdown\n },\n contentHtml: element.outerHTML\n };\n element.outerHTML = `<div id=\"${domId}\"></div>`;\n });\n context.parsedHTML = div.innerHTML; // unmount\n\n if (contextName === 'preRenderPreviewHtml') {\n this.unmountPreviousReactDOMs(context);\n } // resolve\n\n\n return context;\n }\n /**\n * @inheritdoc\n */\n\n\n drawioPostRender(contextName, context) {\n const isPreview = contextName === 'postRenderPreviewHtml';\n Object.keys(context.DrawioMap).forEach(domId => {\n const elem = document.getElementById(domId);\n\n if (elem) {\n this.renderReactDOM(context.DrawioMap[domId], elem, isPreview);\n }\n });\n }\n /**\n * @inheritdoc\n */\n\n\n renderReactDOM(drawioMapEntry, elem, isPreview) {\n react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.render( // eslint-disable-next-line react/jsx-filename-extension\n react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(unstated__WEBPACK_IMPORTED_MODULE_2__[\"Provider\"], {\n inject: [this.appContainer]\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_Drawio__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n drawioContent: drawioMapEntry.contentHtml,\n isPreview: isPreview,\n rangeLineNumberOfMarkdown: drawioMapEntry.rangeLineNumberOfMarkdown\n })), elem);\n }\n /**\n * @inheritdoc\n */\n\n\n unmountPreviousReactDOMs(newContext) {\n if (this.previousPreviewContext != null) {\n Array.from(document.querySelectorAll('.mxgraph')).forEach(element => {\n react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.unmountComponentAtNode(element);\n });\n }\n\n this.previousPreviewContext = newContext;\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL3V0aWwvaW50ZXJjZXB0b3IvZHJhd2lvLWludGVyY2VwdG9yLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy91dGlsL2ludGVyY2VwdG9yL2RyYXdpby1pbnRlcmNlcHRvci5qcz85MTczIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9wcmVmZXItZGVmYXVsdC1leHBvcnQgKi9cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAndW5zdGF0ZWQnO1xuaW1wb3J0IHsgQmFzaWNJbnRlcmNlcHRvciB9IGZyb20gJ2dyb3dpLWNvbW1vbnMnO1xuXG5pbXBvcnQgRHJhd2lvIGZyb20gJy4uLy4uL2NvbXBvbmVudHMvRHJhd2lvJztcblxuLyoqXG4gKiBUaGUgaW50ZXJjZXB0b3IgZm9yIGRyYXcuaW9cbiAqXG4gKiAgcmVwbGFjZSBkcmF3LmlvIHRhZyAocmVuZGVyIGJ5IG1hcmtkb3duLWl0LWRyYXdpby12aWV3ZXIpIHRvIGEgUmVhY3QgdGFyZ2V0IGVsZW1lbnRcbiAqL1xuZXhwb3J0IGNsYXNzIERyYXdpb0ludGVyY2VwdG9yIGV4dGVuZHMgQmFzaWNJbnRlcmNlcHRvciB7XG5cbiAgY29uc3RydWN0b3IoYXBwQ29udGFpbmVyKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMucHJldmlvdXNQcmV2aWV3Q29udGV4dCA9IG51bGw7XG4gICAgdGhpcy5hcHBDb250YWluZXIgPSBhcHBDb250YWluZXI7XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIGlzSW50ZXJjZXB0V2hlbihjb250ZXh0TmFtZSkge1xuICAgIHJldHVybiAoXG4gICAgICBjb250ZXh0TmFtZSA9PT0gJ3ByZVJlbmRlckh0bWwnXG4gICAgICB8fCBjb250ZXh0TmFtZSA9PT0gJ3ByZVJlbmRlclByZXZpZXdIdG1sJ1xuICAgICAgfHwgY29udGV4dE5hbWUgPT09ICdwb3N0UmVuZGVySHRtbCdcbiAgICAgIHx8IGNvbnRleHROYW1lID09PSAncG9zdFJlbmRlclByZXZpZXdIdG1sJ1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIGlzUHJvY2Vzc2FibGVQYXJhbGxlbCgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXRkb2NcbiAgICovXG4gIGFzeW5jIHByb2Nlc3MoY29udGV4dE5hbWUsIC4uLmFyZ3MpIHtcbiAgICBjb25zdCBjb250ZXh0ID0gT2JqZWN0LmFzc2lnbihhcmdzWzBdKTsgLy8gY2xvbmVcblxuICAgIGlmIChjb250ZXh0TmFtZSA9PT0gJ3ByZVJlbmRlckh0bWwnIHx8IGNvbnRleHROYW1lID09PSAncHJlUmVuZGVyUHJldmlld0h0bWwnKSB7XG4gICAgICByZXR1cm4gdGhpcy5kcmF3aW9QcmVSZW5kZXIoY29udGV4dE5hbWUsIGNvbnRleHQpO1xuICAgIH1cblxuICAgIGlmIChjb250ZXh0TmFtZSA9PT0gJ3Bvc3RSZW5kZXJIdG1sJyB8fCBjb250ZXh0TmFtZSA9PT0gJ3Bvc3RSZW5kZXJQcmV2aWV3SHRtbCcpIHtcbiAgICAgIHRoaXMuZHJhd2lvUG9zdFJlbmRlcihjb250ZXh0TmFtZSwgY29udGV4dCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBjcmVhdGVSYW5kb21TdHIobGVuZ3RoKSB7XG4gICAgY29uc3QgYmFnID0gJ2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSc7XG4gICAgbGV0IGdlbmVyYXRlZCA9ICcnO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICAgIGdlbmVyYXRlZCArPSBiYWdbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogYmFnLmxlbmd0aCldO1xuICAgIH1cbiAgICByZXR1cm4gZ2VuZXJhdGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBkcmF3aW9QcmVSZW5kZXIoY29udGV4dE5hbWUsIGNvbnRleHQpIHtcbiAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBkaXYuaW5uZXJIVE1MID0gY29udGV4dC5wYXJzZWRIVE1MO1xuXG4gICAgY29udGV4dC5EcmF3aW9NYXAgPSB7fTtcbiAgICBBcnJheS5mcm9tKGRpdi5xdWVyeVNlbGVjdG9yQWxsKCcubXhncmFwaCcpKS5mb3JFYWNoKChlbGVtZW50KSA9PiB7XG4gICAgICBjb25zdCBkb21JZCA9IGBteGdyYXBoLSR7dGhpcy5jcmVhdGVSYW5kb21TdHIoOCl9YDtcblxuICAgICAgY29udGV4dC5EcmF3aW9NYXBbZG9tSWRdID0ge1xuICAgICAgICByYW5nZUxpbmVOdW1iZXJPZk1hcmtkb3duOiB7XG4gICAgICAgICAgYmVnaW5MaW5lTnVtYmVyOiBlbGVtZW50LnBhcmVudE5vZGUuZGF0YXNldC5iZWdpbkxpbmVOdW1iZXJPZk1hcmtkb3duLFxuICAgICAgICAgIGVuZExpbmVOdW1iZXI6IGVsZW1lbnQucGFyZW50Tm9kZS5kYXRhc2V0LmVuZExpbmVOdW1iZXJPZk1hcmtkb3duLFxuICAgICAgICB9LFxuICAgICAgICBjb250ZW50SHRtbDogZWxlbWVudC5vdXRlckhUTUwsXG4gICAgICB9O1xuICAgICAgZWxlbWVudC5vdXRlckhUTUwgPSBgPGRpdiBpZD1cIiR7ZG9tSWR9XCI+PC9kaXY+YDtcbiAgICB9KTtcbiAgICBjb250ZXh0LnBhcnNlZEhUTUwgPSBkaXYuaW5uZXJIVE1MO1xuXG4gICAgLy8gdW5tb3VudFxuICAgIGlmIChjb250ZXh0TmFtZSA9PT0gJ3ByZVJlbmRlclByZXZpZXdIdG1sJykge1xuICAgICAgdGhpcy51bm1vdW50UHJldmlvdXNSZWFjdERPTXMoY29udGV4dCk7XG4gICAgfVxuXG4gICAgLy8gcmVzb2x2ZVxuICAgIHJldHVybiBjb250ZXh0O1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbmhlcml0ZG9jXG4gICAqL1xuICBkcmF3aW9Qb3N0UmVuZGVyKGNvbnRleHROYW1lLCBjb250ZXh0KSB7XG4gICAgY29uc3QgaXNQcmV2aWV3ID0gKGNvbnRleHROYW1lID09PSAncG9zdFJlbmRlclByZXZpZXdIdG1sJyk7XG5cbiAgICBPYmplY3Qua2V5cyhjb250ZXh0LkRyYXdpb01hcCkuZm9yRWFjaCgoZG9tSWQpID0+IHtcbiAgICAgIGNvbnN0IGVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChkb21JZCk7XG4gICAgICBpZiAoZWxlbSkge1xuICAgICAgICB0aGlzLnJlbmRlclJlYWN0RE9NKGNvbnRleHQuRHJhd2lvTWFwW2RvbUlkXSwgZWxlbSwgaXNQcmV2aWV3KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgcmVuZGVyUmVhY3RET00oZHJhd2lvTWFwRW50cnksIGVsZW0sIGlzUHJldmlldykge1xuICAgIFJlYWN0RE9NLnJlbmRlcihcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9qc3gtZmlsZW5hbWUtZXh0ZW5zaW9uXG4gICAgICA8UHJvdmlkZXIgaW5qZWN0PXtbdGhpcy5hcHBDb250YWluZXJdfT5cbiAgICAgICAgPERyYXdpb1xuICAgICAgICAgIGRyYXdpb0NvbnRlbnQ9e2RyYXdpb01hcEVudHJ5LmNvbnRlbnRIdG1sfVxuICAgICAgICAgIGlzUHJldmlldz17aXNQcmV2aWV3fVxuICAgICAgICAgIHJhbmdlTGluZU51bWJlck9mTWFya2Rvd249e2RyYXdpb01hcEVudHJ5LnJhbmdlTGluZU51bWJlck9mTWFya2Rvd259XG4gICAgICAgIC8+XG4gICAgICA8L1Byb3ZpZGVyPixcbiAgICAgIGVsZW0sXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW5oZXJpdGRvY1xuICAgKi9cbiAgdW5tb3VudFByZXZpb3VzUmVhY3RET01zKG5ld0NvbnRleHQpIHtcbiAgICBpZiAodGhpcy5wcmV2aW91c1ByZXZpZXdDb250ZXh0ICE9IG51bGwpIHtcbiAgICAgIEFycmF5LmZyb20oZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLm14Z3JhcGgnKSkuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgICBSZWFjdERPTS51bm1vdW50Q29tcG9uZW50QXROb2RlKGVsZW1lbnQpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5wcmV2aW91c1ByZXZpZXdDb250ZXh0ID0gbmV3Q29udGV4dDtcbiAgfVxuXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7Ozs7OztBQUtBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFNQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFDQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFGQTtBQUlBO0FBTEE7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBR0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBSEE7QUFRQTtBQUVBOzs7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBbElBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/util/interceptor/drawio-interceptor.js\n");
- /***/ }),
- /***/ "./src/client/js/util/locale-utils.js":
- /*!********************************************!*\
- !*** ./src/client/js/util/locale-utils.js ***!
- \********************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- eval("// https://docs.google.com/spreadsheets/d/1FoYdyEraEQuWofzbYCDPKN7EdKgS_2ZrsDrOA8scgwQ\nconst DIAGRAMS_NET_LANG_MAP = {\n ja_JP: 'ja',\n zh_CN: 'zh'\n};\n\nconst getDiagramsNetLangCode = lang => {\n return DIAGRAMS_NET_LANG_MAP[lang];\n};\n\nmodule.exports = {\n getDiagramsNetLangCode\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL3V0aWwvbG9jYWxlLXV0aWxzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NsaWVudC9qcy91dGlsL2xvY2FsZS11dGlscy5qcz8wNDY4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZG9jcy5nb29nbGUuY29tL3NwcmVhZHNoZWV0cy9kLzFGb1lkeUVyYUVRdVdvZnpiWUNEUEtON0VkS2dTXzJacnNEck9BOHNjZ3dRXG5jb25zdCBESUFHUkFNU19ORVRfTEFOR19NQVAgPSB7XG4gIGphX0pQOiAnamEnLFxuICB6aF9DTjogJ3poJyxcbn07XG5cbmNvbnN0IGdldERpYWdyYW1zTmV0TGFuZ0NvZGUgPSAobGFuZykgPT4ge1xuICByZXR1cm4gRElBR1JBTVNfTkVUX0xBTkdfTUFQW2xhbmddO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIGdldERpYWdyYW1zTmV0TGFuZ0NvZGUsXG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFEQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/client/js/util/locale-utils.js\n");
- /***/ }),
- /***/ "./src/lib/components/PagePathHierarchicalLink.jsx":
- /*!*********************************************************!*\
- !*** ./src/lib/components/PagePathHierarchicalLink.jsx ***!
- \*********************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var url_join__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! url-join */ \"./node_modules/url-join/lib/url-join.js\");\n/* harmony import */ var url_join__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(url_join__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _models_linked_page_path__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../models/linked-page-path */ \"./src/lib/models/linked-page-path.js\");\n/* harmony import */ var _models_linked_page_path__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_models_linked_page_path__WEBPACK_IMPORTED_MODULE_3__);\n\n\n\n\n\nconst PagePathHierarchicalLink = props => {\n var _linkedPagePath$paren;\n\n const {\n linkedPagePath,\n basePath,\n isInTrash\n } = props; // render root element\n\n if (linkedPagePath.isRoot) {\n if (basePath != null) {\n return null;\n }\n\n return isInTrash ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"path-segment\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: \"/trash\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-trash\"\n }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"separator\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: \"/\"\n }, \"/\"))) : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"path-segment\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n href: \"/\"\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"i\", {\n className: \"icon-home\"\n }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"separator\"\n }, \"/\"))));\n }\n\n const isParentExists = linkedPagePath.parent != null;\n const isParentRoot = (_linkedPagePath$paren = linkedPagePath.parent) === null || _linkedPagePath$paren === void 0 ? void 0 : _linkedPagePath$paren.isRoot;\n const isSeparatorRequired = isParentExists && !isParentRoot;\n const href = encodeURI(url_join__WEBPACK_IMPORTED_MODULE_2___default()(basePath || '/', linkedPagePath.href)); // eslint-disable-next-line react/prop-types\n\n const RootElm = ({\n children\n }) => {\n return props.isInnerElem ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, children) : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"grw-page-path-hierarchical-link d-inline-block text-break\"\n }, children);\n };\n\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(RootElm, null, isParentExists && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PagePathHierarchicalLink, {\n linkedPagePath: linkedPagePath.parent,\n basePath: basePath,\n isInTrash: isInTrash || linkedPagePath.isInTrash,\n isInnerElem: true\n }), isSeparatorRequired && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"span\", {\n className: \"separator\"\n }, \"/\"), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"a\", {\n className: \"page-segment\",\n href: href\n }, linkedPagePath.pathName));\n};\n\nPagePathHierarchicalLink.propTypes = {\n linkedPagePath: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_models_linked_page_path__WEBPACK_IMPORTED_MODULE_3___default.a).isRequired,\n basePath: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n isInTrash: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n // !!INTERNAL USE ONLY!!\n isInnerElem: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (PagePathHierarchicalLink);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvbGliL2NvbXBvbmVudHMvUGFnZVBhdGhIaWVyYXJjaGljYWxMaW5rLmpzeC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9saWIvY29tcG9uZW50cy9QYWdlUGF0aEhpZXJhcmNoaWNhbExpbmsuanN4P2RlZDAiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCB1cmxqb2luIGZyb20gJ3VybC1qb2luJztcblxuaW1wb3J0IExpbmtlZFBhZ2VQYXRoIGZyb20gJy4uL21vZGVscy9saW5rZWQtcGFnZS1wYXRoJztcblxuXG5jb25zdCBQYWdlUGF0aEhpZXJhcmNoaWNhbExpbmsgPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBsaW5rZWRQYWdlUGF0aCwgYmFzZVBhdGgsIGlzSW5UcmFzaCB9ID0gcHJvcHM7XG5cbiAgLy8gcmVuZGVyIHJvb3QgZWxlbWVudFxuICBpZiAobGlua2VkUGFnZVBhdGguaXNSb290KSB7XG4gICAgaWYgKGJhc2VQYXRoICE9IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBpc0luVHJhc2hcbiAgICAgID8gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInBhdGgtc2VnbWVudFwiPlxuICAgICAgICAgICAgPGEgaHJlZj1cIi90cmFzaFwiPjxpIGNsYXNzTmFtZT1cImljb24tdHJhc2hcIj48L2k+PC9hPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJzZXBhcmF0b3JcIj48YSBocmVmPVwiL1wiPi88L2E+PC9zcGFuPlxuICAgICAgICA8Lz5cbiAgICAgIClcbiAgICAgIDogKFxuICAgICAgICA8PlxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInBhdGgtc2VnbWVudFwiPlxuICAgICAgICAgICAgPGEgaHJlZj1cIi9cIj5cbiAgICAgICAgICAgICAgPGkgY2xhc3NOYW1lPVwiaWNvbi1ob21lXCI+PC9pPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJzZXBhcmF0b3JcIj4vPC9zcGFuPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC8+XG4gICAgICApO1xuICB9XG5cbiAgY29uc3QgaXNQYXJlbnRFeGlzdHMgPSBsaW5rZWRQYWdlUGF0aC5wYXJlbnQgIT0gbnVsbDtcbiAgY29uc3QgaXNQYXJlbnRSb290ID0gbGlua2VkUGFnZVBhdGgucGFyZW50Py5pc1Jvb3Q7XG4gIGNvbnN0IGlzU2VwYXJhdG9yUmVxdWlyZWQgPSBpc1BhcmVudEV4aXN0cyAmJiAhaXNQYXJlbnRSb290O1xuXG4gIGNvbnN0IGhyZWYgPSBlbmNvZGVVUkkodXJsam9pbihiYXNlUGF0aCB8fCAnLycsIGxpbmtlZFBhZ2VQYXRoLmhyZWYpKTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QvcHJvcC10eXBlc1xuICBjb25zdCBSb290RWxtID0gKHsgY2hpbGRyZW4gfSkgPT4ge1xuICAgIHJldHVybiBwcm9wcy5pc0lubmVyRWxlbVxuICAgICAgPyA8PntjaGlsZHJlbn08Lz5cbiAgICAgIDogPHNwYW4gY2xhc3NOYW1lPVwiZ3J3LXBhZ2UtcGF0aC1oaWVyYXJjaGljYWwtbGluayBkLWlubGluZS1ibG9jayB0ZXh0LWJyZWFrXCI+e2NoaWxkcmVufTwvc3Bhbj47XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8Um9vdEVsbT5cbiAgICAgIHsgaXNQYXJlbnRFeGlzdHMgJiYgKFxuICAgICAgICA8UGFnZVBhdGhIaWVyYXJjaGljYWxMaW5rIGxpbmtlZFBhZ2VQYXRoPXtsaW5rZWRQYWdlUGF0aC5wYXJlbnR9IGJhc2VQYXRoPXtiYXNlUGF0aH0gaXNJblRyYXNoPXtpc0luVHJhc2ggfHwgbGlua2VkUGFnZVBhdGguaXNJblRyYXNofSBpc0lubmVyRWxlbSAvPlxuICAgICAgKSB9XG4gICAgICB7IGlzU2VwYXJhdG9yUmVxdWlyZWQgJiYgKFxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJzZXBhcmF0b3JcIj4vPC9zcGFuPlxuICAgICAgKSB9XG5cbiAgICAgIDxhIGNsYXNzTmFtZT1cInBhZ2Utc2VnbWVudFwiIGhyZWY9e2hyZWZ9PntsaW5rZWRQYWdlUGF0aC5wYXRoTmFtZX08L2E+XG4gICAgPC9Sb290RWxtPlxuICApO1xufTtcblxuUGFnZVBhdGhIaWVyYXJjaGljYWxMaW5rLnByb3BUeXBlcyA9IHtcbiAgbGlua2VkUGFnZVBhdGg6IFByb3BUeXBlcy5pbnN0YW5jZU9mKExpbmtlZFBhZ2VQYXRoKS5pc1JlcXVpcmVkLFxuICBiYXNlUGF0aDogUHJvcFR5cGVzLnN0cmluZyxcbiAgaXNJblRyYXNoOiBQcm9wVHlwZXMuYm9vbCxcblxuICAvLyAhIUlOVEVSTkFMIFVTRSBPTkxZISFcbiAgaXNJbm5lckVsZW06IFByb3BUeXBlcy5ib29sLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgUGFnZVBhdGhIaWVyYXJjaGljYWxMaW5rO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFOQTtBQVNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/lib/components/PagePathHierarchicalLink.jsx\n");
- /***/ }),
- /***/ "./src/lib/models/linked-page-path.js":
- /*!********************************************!*\
- !*** ./src/lib/models/linked-page-path.js ***!
- \********************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- eval("const {\n pathUtils\n} = __webpack_require__(/*! growi-commons */ \"./node_modules/growi-commons/src/index.js\");\n\nconst {\n isTrashPage\n} = __webpack_require__(/*! @commons/util/path-utils */ \"./src/lib/util/path-utils.js\");\n\nconst DevidedPagePath = __webpack_require__(/*! ./devided-page-path */ \"./src/lib/models/devided-page-path.js\");\n/**\n * Linked Array Structured PagePath Model\n */\n\n\nclass LinkedPagePath {\n constructor(path, skipNormalize = false) {\n const pagePath = new DevidedPagePath(path, skipNormalize);\n this.path = path;\n this.pathName = pagePath.latter;\n this.isRoot = pagePath.isRoot;\n this.parent = pagePath.isRoot ? null : new LinkedPagePath(pagePath.former, true);\n }\n\n get href() {\n if (this.isRoot) {\n return '';\n }\n\n return pathUtils.normalizePath(`${this.parent.href}/${this.pathName}`);\n }\n\n get isInTrash() {\n return isTrashPage(this.path);\n }\n\n}\n\nmodule.exports = LinkedPagePath;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvbGliL21vZGVscy9saW5rZWQtcGFnZS1wYXRoLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2xpYi9tb2RlbHMvbGlua2VkLXBhZ2UtcGF0aC5qcz9jNjg5Il0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHsgcGF0aFV0aWxzIH0gPSByZXF1aXJlKCdncm93aS1jb21tb25zJyk7XG5jb25zdCB7IGlzVHJhc2hQYWdlIH0gPSByZXF1aXJlKCdAY29tbW9ucy91dGlsL3BhdGgtdXRpbHMnKTtcblxuY29uc3QgRGV2aWRlZFBhZ2VQYXRoID0gcmVxdWlyZSgnLi9kZXZpZGVkLXBhZ2UtcGF0aCcpO1xuXG4vKipcbiAqIExpbmtlZCBBcnJheSBTdHJ1Y3R1cmVkIFBhZ2VQYXRoIE1vZGVsXG4gKi9cbmNsYXNzIExpbmtlZFBhZ2VQYXRoIHtcblxuICBjb25zdHJ1Y3RvcihwYXRoLCBza2lwTm9ybWFsaXplID0gZmFsc2UpIHtcblxuICAgIGNvbnN0IHBhZ2VQYXRoID0gbmV3IERldmlkZWRQYWdlUGF0aChwYXRoLCBza2lwTm9ybWFsaXplKTtcblxuICAgIHRoaXMucGF0aCA9IHBhdGg7XG4gICAgdGhpcy5wYXRoTmFtZSA9IHBhZ2VQYXRoLmxhdHRlcjtcbiAgICB0aGlzLmlzUm9vdCA9IHBhZ2VQYXRoLmlzUm9vdDtcbiAgICB0aGlzLnBhcmVudCA9IHBhZ2VQYXRoLmlzUm9vdFxuICAgICAgPyBudWxsXG4gICAgICA6IG5ldyBMaW5rZWRQYWdlUGF0aChwYWdlUGF0aC5mb3JtZXIsIHRydWUpO1xuXG4gIH1cblxuICBnZXQgaHJlZigpIHtcbiAgICBpZiAodGhpcy5pc1Jvb3QpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICByZXR1cm4gcGF0aFV0aWxzLm5vcm1hbGl6ZVBhdGgoYCR7dGhpcy5wYXJlbnQuaHJlZn0vJHt0aGlzLnBhdGhOYW1lfWApO1xuICB9XG5cbiAgZ2V0IGlzSW5UcmFzaCgpIHtcbiAgICByZXR1cm4gaXNUcmFzaFBhZ2UodGhpcy5wYXRoKTtcbiAgfVxuXG59XG5cbm1vZHVsZS5leHBvcnRzID0gTGlua2VkUGFnZVBhdGg7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBOzs7OztBQUdBO0FBRUE7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTFCQTtBQUNBO0FBNEJBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/lib/models/linked-page-path.js\n");
- /***/ }),
- /***/ 0:
- /*!**********************!*\
- !*** util (ignored) ***!
- \**********************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- eval("/* (ignored) *///# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy91dGlsIChpZ25vcmVkKT9lZjdjIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIChpZ25vcmVkKSAqLyJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///0\n");
- /***/ }),
- /***/ 1:
- /*!********************!*\
- !*** ws (ignored) ***!
- \********************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- eval("/* (ignored) *///# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMS5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy93cyAoaWdub3JlZCk/OTIwYiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiAoaWdub3JlZCkgKi8iXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///1\n");
- /***/ }),
- /***/ "jquery":
- /*!*************************!*\
- !*** external "jQuery" ***!
- \*************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- eval("module.exports = jQuery;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianF1ZXJ5LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL2V4dGVybmFsIFwialF1ZXJ5XCI/Y2QwYyJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IGpRdWVyeTsiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///jquery\n");
- /***/ })
- /******/ });
|