|
|
/*
|
|
|
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
|
|
|
* This devtool is neither made for production nor for readable output files.
|
|
|
* It uses "eval()" calls to create a separate source file in the browser devtools.
|
|
|
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
|
|
* or disable the default devtool with "devtool: false".
|
|
|
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
|
|
*/
|
|
|
/******/ (() => { // webpackBootstrap
|
|
|
/******/ "use strict";
|
|
|
/******/ var __webpack_modules__ = ({
|
|
|
|
|
|
/***/ "./src/createPage/ext.isekai.createPage.js":
|
|
|
/*!*************************************************!*\
|
|
|
!*** ./src/createPage/ext.isekai.createPage.js ***!
|
|
|
\*************************************************/
|
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _moduleRegister__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../moduleRegister */ \"./src/moduleRegister.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n\nvar CreatePageWidget = /*#__PURE__*/function () {\n function CreatePageWidget(dom) {\n _classCallCheck(this, CreatePageWidget);\n this.baseDom = dom;\n this.pageUrl = null;\n this.api = new mw.Api();\n this.hasError = false;\n this.initDom();\n }\n _createClass(CreatePageWidget, [{\n key: \"initDom\",\n value: function initDom() {\n this.pageNameInput = new OO.ui.TextInputWidget({\n placeholder: mw.message('isekai-createpage-page-title').parse()\n });\n this.pageNameInput.on('enter', this.createPage.bind(this));\n this.pageNameInput.on('change', this.onPageNameChange.bind(this));\n this.createButton = new OO.ui.ButtonWidget({\n label: mw.message('isekai-createpage-create-page-button').parse(),\n flags: ['primary', 'progressive']\n });\n this.createButton.on('click', this.createPage.bind(this));\n this.formGroup = new OO.ui.ActionFieldLayout(this.pageNameInput, this.createButton, {\n align: 'top'\n });\n this.baseDom.find('.card-body .card-content').append(this.formGroup.$element);\n }\n }, {\n key: \"createPage\",\n value: function createPage() {\n var _this = this;\n var title = this.pageNameInput.getValue();\n if (this.hasError) {\n this.clearError(); //清除errors\n }\n\n if (title.trim().length > 0) {\n this.createButton.setDisabled(true);\n this.pageExists(title).then(function (exists) {\n if (exists) {\n _this.createButton.setDisabled(false);\n _this.setError(mw.message('isekai-createpage-page-exists').parse()); //提示页面已经存在\n } else {\n var targetUrl = mw.util.getUrl(title, {\n veaction: 'edit'\n });\n _this.formGroup.setSuccess([mw.message('isekai-createpage-redirecting').parse()]); //提示正在跳转\n location.href = targetUrl;\n }\n });\n } else {\n this.setError(mw.message('isekai-createpage-title-empty').parse());\n }\n }\n }, {\n key: \"onPageNameChange\",\n value: function onPageNameChange() {\n if (this.hasError) {\n this.clearError();\n }\n var value = this.pageNameInput.getValue();\n if (value.indexOf(':') !== -1 || value.indexOf('`') !== -1) {\n var range = this.pageNameInput.getRange();\n value = value.replace(/:/g, ':').replace(/`/g, '·');\n this.pageNameInput.setValue(value);\n this.pageNameInput.selectRange(range.from, range.to);\n }\n }\n }, {\n key: \"setError\",\n value: function setError(msg) {\n this.formGroup.setErrors([msg]); //提示页面已经存在\n this.hasError = true;\n }\n }, {\n key: \"clearError\",\n value: function clearError() {\n this.formGroup.setErrors([]);\n this.hasError = false;\n }\n }, {\n key: \"pageExists\",\n value: function pageExists(title) {\n var _this2 = this;\n return new Promise(function (resolve, reject) {\n _this2.api.get({\n action: 'query',\n titles: title\n }).done(function (data) {\n if (data.query && data.query.pages) {\n if (data.query.pages[\"-1\"]) {\n resolve(false);\n } else {\n resolve(true);\n }\n } else {\n resolve(false);\n }\n }).fail(reject);\n });\n }\n }, {\n key: \"setTitle\",\n value: function setTitle(title) {\n this.title.text(title);\n }\n }]);\n return CreatePageWidget;\n}();\n(0,_moduleRegister__WEBPACK_IMPORTED_MODULE_0__.registerModule)('ui.CreatePageWidget', CreatePageWidget);\n\n//# sourceURL=webpack://isekai-widgets/./src/createPage/ext.isekai.createPage.js?");
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ "./src/moduleRegister.js":
|
|
|
/*!*******************************!*\
|
|
|
!*** ./src/moduleRegister.js ***!
|
|
|
\*******************************/
|
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"registerModule\": () => (/* binding */ registerModule)\n/* harmony export */ });\nfunction registerModule(namespace, func) {\n var nsList = namespace.split('.');\n if (!('isekai' in window)) {\n window.isekai = {};\n }\n var obj = window.isekai;\n for (var i = 0; i < nsList.length - 1; i++) {\n var ns = nsList[i];\n if (!(ns in obj)) {\n obj[ns] = {};\n }\n obj = obj[ns];\n }\n obj[nsList[i]] = func;\n}\n\n//# sourceURL=webpack://isekai-widgets/./src/moduleRegister.js?");
|
|
|
|
|
|
/***/ })
|
|
|
|
|
|
/******/ });
|
|
|
/************************************************************************/
|
|
|
/******/ // The module cache
|
|
|
/******/ var __webpack_module_cache__ = {};
|
|
|
/******/
|
|
|
/******/ // The require function
|
|
|
/******/ function __webpack_require__(moduleId) {
|
|
|
/******/ // Check if module is in cache
|
|
|
/******/ var cachedModule = __webpack_module_cache__[moduleId];
|
|
|
/******/ if (cachedModule !== undefined) {
|
|
|
/******/ return cachedModule.exports;
|
|
|
/******/ }
|
|
|
/******/ // Create a new module (and put it into the cache)
|
|
|
/******/ var module = __webpack_module_cache__[moduleId] = {
|
|
|
/******/ // no module.id needed
|
|
|
/******/ // no module.loaded needed
|
|
|
/******/ exports: {}
|
|
|
/******/ };
|
|
|
/******/
|
|
|
/******/ // Execute the module function
|
|
|
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
|
|
/******/
|
|
|
/******/ // Return the exports of the module
|
|
|
/******/ return module.exports;
|
|
|
/******/ }
|
|
|
/******/
|
|
|
/************************************************************************/
|
|
|
/******/ /* webpack/runtime/define property getters */
|
|
|
/******/ (() => {
|
|
|
/******/ // define getter functions for harmony exports
|
|
|
/******/ __webpack_require__.d = (exports, definition) => {
|
|
|
/******/ for(var key in definition) {
|
|
|
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
|
|
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
|
|
/******/ }
|
|
|
/******/ }
|
|
|
/******/ };
|
|
|
/******/ })();
|
|
|
/******/
|
|
|
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
|
|
/******/ (() => {
|
|
|
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
|
|
/******/ })();
|
|
|
/******/
|
|
|
/******/ /* webpack/runtime/make namespace object */
|
|
|
/******/ (() => {
|
|
|
/******/ // define __esModule on exports
|
|
|
/******/ __webpack_require__.r = (exports) => {
|
|
|
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
|
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
/******/ }
|
|
|
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
/******/ };
|
|
|
/******/ })();
|
|
|
/******/
|
|
|
/************************************************************************/
|
|
|
/******/
|
|
|
/******/ // startup
|
|
|
/******/ // Load entry module and return exports
|
|
|
/******/ // This entry module can't be inlined because the eval devtool is used.
|
|
|
/******/ var __webpack_exports__ = __webpack_require__("./src/createPage/ext.isekai.createPage.js");
|
|
|
/******/
|
|
|
/******/ })()
|
|
|
; |