@inpageedit/core 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/{ActionButton-BhcZX7rl.js → ActionButton-DkQu8dfH.js} +2 -2
- package/dist/{ActionButton-BhcZX7rl.js.map → ActionButton-DkQu8dfH.js.map} +1 -1
- package/dist/InPageEdit.d.ts +8 -3
- package/dist/{CheckBox-B7zLOm55.js → InputBox-B-BAGjgs.js} +11 -11
- package/dist/InputBox-B-BAGjgs.js.map +1 -0
- package/dist/{PluginPreferencesUI-CqQKXQkn.js → PluginPreferencesUI-CHdAGK8T.js} +6 -5
- package/dist/{PluginPreferencesUI-CqQKXQkn.js.map → PluginPreferencesUI-CHdAGK8T.js.map} +1 -1
- package/dist/{RadioBox-Dl-VRoW0.js → RadioBox-CQ9xz5nk.js} +2 -2
- package/dist/{RadioBox-Dl-VRoW0.js.map → RadioBox-CQ9xz5nk.js.map} +1 -1
- package/dist/components/index.d.ts +8 -0
- package/dist/components/index.js +79 -0
- package/dist/components/index.js.map +1 -0
- package/dist/{index-CL0NhE5n.js → index-B02kaEy5.js} +5 -4
- package/dist/{index-CL0NhE5n.js.map → index-B02kaEy5.js.map} +1 -1
- package/dist/{index-BEDkPsz1.js → index-BIFsoDor.js} +18 -17
- package/dist/{index-BEDkPsz1.js.map → index-BIFsoDor.js.map} +1 -1
- package/dist/{index-Hed2P8uH.js → index-C6PwuH_U.js} +18 -17
- package/dist/{index-Hed2P8uH.js.map → index-C6PwuH_U.js.map} +1 -1
- package/dist/{index-LoZLvK3o.js → index-CavCnbOz.js} +20 -19
- package/dist/{index-LoZLvK3o.js.map → index-CavCnbOz.js.map} +1 -1
- package/dist/{index-sORwn1Vt.js → index-D1nQg-aN.js} +10 -9
- package/dist/{index-sORwn1Vt.js.map → index-D1nQg-aN.js.map} +1 -1
- package/dist/index-D3QOS3-Q.js +348 -0
- package/dist/index-D3QOS3-Q.js.map +1 -0
- package/dist/{index-Bz4cBa1Z.js → index-Do5exwYg.js} +36 -35
- package/dist/{index-Bz4cBa1Z.js.map → index-Do5exwYg.js.map} +1 -1
- package/dist/{index-DA5i7w02.js → index-vjK9PEyV.js} +9 -8
- package/dist/{index-DA5i7w02.js.map → index-vjK9PEyV.js.map} +1 -1
- package/dist/{index-Bi1eJIjL.js → index-wYcxrK6G.js} +2 -2
- package/dist/{index-Bi1eJIjL.js.map → index-wYcxrK6G.js.map} +1 -1
- package/dist/index.d.ts +16 -1
- package/dist/index.js +5120 -5
- package/dist/index.js.map +1 -1
- package/dist/plugins/BasePlugin.d.ts +2 -2
- package/dist/services/ApiService.d.ts +1 -1
- package/dist/services/ResourceLoaderService.d.ts +3 -2
- package/dist/services/SiteMetadataService.d.ts +1 -1
- package/dist/style.css +1 -1
- package/lib/i18n/languages.json +1527 -0
- package/lib/index.umd.js +2666 -0
- package/lib/style.css +1 -0
- package/package.json +55 -9
- package/dist/CheckBox-B7zLOm55.js.map +0 -1
- package/dist/index-CuEf9G7f.js +0 -5459
- package/dist/index-CuEf9G7f.js.map +0 -1
- /package/dist/components/TabView/{TabView.d.ts → index.d.ts} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { j as e } from "./index-
|
|
1
|
+
import { j as e } from "./index-D3QOS3-Q.js";
|
|
2
2
|
const f = "_mbox_v5fz5_1", u = "_title_v5fz5_12", v = "_content_v5fz5_19", _ = "_close_v5fz5_27", s = {
|
|
3
3
|
mbox: f,
|
|
4
4
|
title: u,
|
|
@@ -51,4 +51,4 @@ export {
|
|
|
51
51
|
P as M,
|
|
52
52
|
g as R
|
|
53
53
|
};
|
|
54
|
-
//# sourceMappingURL=RadioBox-
|
|
54
|
+
//# sourceMappingURL=RadioBox-CQ9xz5nk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadioBox-
|
|
1
|
+
{"version":3,"file":"RadioBox-CQ9xz5nk.js","sources":["../src/components/MBox/index.tsx","../src/components/RadioBox.tsx"],"sourcesContent":["import { ReactNode } from 'jsx-dom'\nimport { JSX } from 'jsx-dom/jsx-runtime'\nimport styles from './styles.module.sass'\n\nexport type MBoxProps = {\n type?:\n | ''\n | 'default'\n | 'note'\n | 'info'\n | 'tip'\n | 'success'\n | 'important'\n | 'done'\n | 'warning'\n | 'caution'\n | 'error'\n title?: ReactNode\n content?: ReactNode\n closeable?: boolean\n titleProps?: JSX.IntrinsicElements['div']\n contentProps?: JSX.IntrinsicElements['div']\n} & JSX.IntrinsicElements['div']\n\nexport type MBoxElement = HTMLElement & {\n close: () => Promise<void>\n}\n\nexport const MBox = (props: MBoxProps) => {\n const {\n type = 'default',\n title,\n content,\n closeable = true,\n titleProps,\n contentProps,\n children,\n ...rest\n } = props\n let titleContent = title\n if (typeof title === 'undefined' && type !== 'default') {\n titleContent = type[0].toUpperCase() + type.slice(1).toLowerCase()\n }\n\n const close = async () => {\n if (!box) {\n return Promise.resolve()\n }\n const { promise, resolve } = Promise.withResolvers<void>()\n\n const animation = box.animate(\n [\n { opacity: '1', height: box.clientHeight + 'px' },\n { opacity: '0', height: '0px', margin: '0px' },\n ],\n {\n duration: 300,\n easing: 'ease',\n }\n )\n\n animation.addEventListener('finish', () => {\n box.remove()\n resolve()\n })\n\n return promise\n }\n\n const box = (\n <div className={`theme-ipe ipe-mbox mbox-type-${type || 'default'} ${styles.mbox}`} {...rest}>\n {titleContent && (\n <div className={`ipe-mbox-title ${styles.title}`} {...titleProps}>\n {titleContent}\n </div>\n )}\n <div className={`ipe-mbox-content ${styles.content}`} {...contentProps}>\n {children || content}\n </div>\n {closeable && (\n <a onClick={close} className={`ipe-mbox-close ${styles.close}`}>\n ×\n </a>\n )}\n </div>\n ) as MBoxElement\n box.close = close\n return box\n}\n","import { JSX, ReactNode } from 'jsx-dom'\n\nexport type RadioBoxProps = {\n id?: string\n name: string\n value: string\n label?: string | HTMLElement\n inputProps?: JSX.IntrinsicElements['input']\n labelProps?: JSX.IntrinsicElements['span']\n} & JSX.IntrinsicElements['label']\n\nexport const RadioBox = (props: RadioBoxProps) => {\n const { id, name, value, label, inputProps, labelProps, children, ...rest } = props\n return (\n <label className=\"theme-ipe ipe-radio-box\" {...rest}>\n <input type=\"radio\" id={id} name={name} value={value} {...inputProps} />\n <span className=\"ipe-checkbox-box\"></span>\n <span {...labelProps}>{label || children}</span>\n </label>\n )\n}\n"],"names":["MBox","props","type","title","content","closeable","titleProps","contentProps","children","rest","titleContent","close","box","promise","resolve","jsxs","styles","jsx","RadioBox","id","name","value","label","inputProps","labelProps"],"mappings":";;;;;;GA4BaA,IAAO,CAACC,MAAqB;AACxC,QAAM;AAAA,IACJ,MAAAC,IAAO;AAAA,IACP,OAAAC;AAAA,IACA,SAAAC;AAAA,IACA,WAAAC,IAAY;AAAA,IACZ,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,UAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACDR;AACJ,MAAIS,IAAeP;AACnB,EAAI,OAAOA,IAAU,OAAeD,MAAS,cAC3CQ,IAAeR,EAAK,CAAC,EAAE,YAAA,IAAgBA,EAAK,MAAM,CAAC,EAAE,YAAA;AAGvD,QAAMS,IAAQ,YAAY;AACxB,QAAI,CAACC;AACH,aAAO,QAAQ,QAAA;AAEjB,UAAM,EAAE,SAAAC,GAAS,SAAAC,MAAY,QAAQ,cAAA;AAarC,WAXkBF,EAAI;AAAA,MACpB;AAAA,QACE,EAAE,SAAS,KAAK,QAAQA,EAAI,eAAe,KAAA;AAAA,QAC3C,EAAE,SAAS,KAAK,QAAQ,OAAO,QAAQ,MAAA;AAAA,MAAM;AAAA,MAE/C;AAAA,QACE,UAAU;AAAA,QACV,QAAQ;AAAA,MAAA;AAAA,IACV,EAGQ,iBAAiB,UAAU,MAAM;AACzC,MAAAA,EAAI,OAAA,GACJE,EAAA;AAAA,IACF,CAAC,GAEMD;AAAA,EACT,GAEMD,IACJG,gBAAAA,EAAC,OAAA,EAAI,WAAW,gCAAgCb,KAAQ,SAAS,IAAIc,EAAO,IAAI,IAAK,GAAGP,GACrF,UAAA;AAAA,IAAAC,KACC,gBAAAO,EAAC,SAAI,WAAW,kBAAkBD,EAAO,KAAK,IAAK,GAAGV,GACnD,UAAAI,EAAA,CACH;AAAA,IAEF,gBAAAO,EAAC,OAAA,EAAI,WAAW,oBAAoBD,EAAO,OAAO,IAAK,GAAGT,GACvD,UAAAC,KAAYJ,EAAA,CACf;AAAA,IACCC,KACC,gBAAAY,EAAC,KAAA,EAAE,SAASN,GAAO,WAAW,kBAAkBK,EAAO,KAAK,IAAI,UAAA,IAAA,CAEhE;AAAA,EAAA,GAEJ;AAEF,SAAAJ,EAAI,QAAQD,GACLC;AACT,GC7EaM,IAAW,CAACjB,MAAyB;AAChD,QAAM,EAAE,IAAAkB,GAAI,MAAAC,GAAM,OAAAC,GAAO,OAAAC,GAAO,YAAAC,GAAY,YAAAC,GAAY,UAAAhB,GAAU,GAAGC,EAAA,IAASR;AAC9E,SACEc,gBAAAA,EAAC,SAAA,EAAM,WAAU,2BAA2B,GAAGN,GAC7C,UAAA;AAAA,IAAA,gBAAAQ,EAAC,WAAM,MAAK,SAAQ,IAAAE,GAAQ,MAAAC,GAAY,OAAAC,GAAe,GAAGE,GAAY;AAAA,IACtE,gBAAAN,EAAC,QAAA,EAAK,WAAU,mBAAA,CAAmB;AAAA,IACnC,gBAAAA,EAAC,QAAA,EAAM,GAAGO,GAAa,eAAShB,EAAA,CAAS;AAAA,EAAA,GAC3C;AAEJ;"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './MBox/index.js';
|
|
2
|
+
export * from './ProgressBar/index.js';
|
|
3
|
+
export * from './TabView/index.js';
|
|
4
|
+
export * from './TwinSwapInput';
|
|
5
|
+
export * from './ActionButton.js';
|
|
6
|
+
export * from './CheckBox.js';
|
|
7
|
+
export * from './InputBox.js';
|
|
8
|
+
export * from './RadioBox.js';
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { M as y, R as x } from "../RadioBox-CQ9xz5nk.js";
|
|
2
|
+
import { j as i } from "../index-D3QOS3-Q.js";
|
|
3
|
+
import { P as L } from "../index-D3QOS3-Q.js";
|
|
4
|
+
import { T as A } from "../index-wYcxrK6G.js";
|
|
5
|
+
import { A as N } from "../ActionButton-DkQu8dfH.js";
|
|
6
|
+
import { C as z, I as $ } from "../InputBox-B-BAGjgs.js";
|
|
7
|
+
const r = "_tabview_zlbug_1", _ = "_labels_container_zlbug_4", b = "_label_zlbug_4", d = "_active_zlbug_32", m = "_contents_container_zlbug_35", t = {
|
|
8
|
+
tabview: r,
|
|
9
|
+
labels_container: _,
|
|
10
|
+
label: b,
|
|
11
|
+
active: d,
|
|
12
|
+
contents_container: m
|
|
13
|
+
};
|
|
14
|
+
console.log(t);
|
|
15
|
+
function h({
|
|
16
|
+
tabs: n = [],
|
|
17
|
+
defaultActiveIndex: l = 0
|
|
18
|
+
}) {
|
|
19
|
+
const c = /* @__PURE__ */ i("div", { className: `ipe-tabView ${t.tabview}`, children: [
|
|
20
|
+
/* @__PURE__ */ i("ul", { className: `ipe-tabView__labels-container ${t.labels_container}`, children: n.map((a) => /* @__PURE__ */ i(f, { name: a.name, children: a.children }, a.name)) }),
|
|
21
|
+
/* @__PURE__ */ i("div", { className: `ipe-tabView__contents ${t.contents_container}`, children: n.map((a) => /* @__PURE__ */ i(p, { name: a.name, children: a.content }, a.name)) })
|
|
22
|
+
] }), s = c.querySelector(
|
|
23
|
+
`.ipe-tabView__labels-container > .ipe-tabView__label:nth-child(${l + 1})`
|
|
24
|
+
);
|
|
25
|
+
return s && s.click(), c;
|
|
26
|
+
}
|
|
27
|
+
function f({ name: n, children: l }) {
|
|
28
|
+
return /* @__PURE__ */ i(
|
|
29
|
+
"li",
|
|
30
|
+
{
|
|
31
|
+
"data-tab-name": n,
|
|
32
|
+
className: `ipe-tabView__label ${t.label}`,
|
|
33
|
+
onClick: function(c) {
|
|
34
|
+
c.preventDefault();
|
|
35
|
+
const s = this.closest(".ipe-tabView");
|
|
36
|
+
if (!s) return;
|
|
37
|
+
const a = Array.from(s.children).find(
|
|
38
|
+
(e) => e.classList.contains("ipe-tabView__labels")
|
|
39
|
+
)?.children;
|
|
40
|
+
a && Array.from(a).forEach((e) => {
|
|
41
|
+
e.classList.remove(t.active);
|
|
42
|
+
}), this.classList.add(t.active);
|
|
43
|
+
const o = Array.from(s.children).find(
|
|
44
|
+
(e) => e.classList.contains("ipe-tabView__contents")
|
|
45
|
+
)?.children;
|
|
46
|
+
o && Array.from(o).forEach((e) => {
|
|
47
|
+
e instanceof HTMLElement && (e.dataset.tabName === n ? (e.style.display = "", e.classList.add(t.active)) : (e.style.display = "none", e.classList.remove(t.active)));
|
|
48
|
+
});
|
|
49
|
+
},
|
|
50
|
+
children: /* @__PURE__ */ i("a", { children: l || n })
|
|
51
|
+
}
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
function p({ name: n, children: l }) {
|
|
55
|
+
return /* @__PURE__ */ i(
|
|
56
|
+
"div",
|
|
57
|
+
{
|
|
58
|
+
"data-tab-name": n,
|
|
59
|
+
className: "ipe-tabView__content-body",
|
|
60
|
+
style: {
|
|
61
|
+
display: "none"
|
|
62
|
+
},
|
|
63
|
+
children: l
|
|
64
|
+
}
|
|
65
|
+
);
|
|
66
|
+
}
|
|
67
|
+
export {
|
|
68
|
+
N as ActionButton,
|
|
69
|
+
z as CheckBox,
|
|
70
|
+
$ as InputBox,
|
|
71
|
+
y as MBox,
|
|
72
|
+
L as ProgressBar,
|
|
73
|
+
x as RadioBox,
|
|
74
|
+
p as TabContent,
|
|
75
|
+
f as TabLabel,
|
|
76
|
+
h as TabView,
|
|
77
|
+
A as TwinSwapInput
|
|
78
|
+
};
|
|
79
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/components/TabView/index.tsx"],"sourcesContent":["import { ReactNode } from 'jsx-dom'\nimport styles from './styles.module.sass'\n\nexport interface TabViewLabelOptions {\n name: string\n children: ReactNode\n}\n\nconsole.log(styles)\n\nexport function TabView({\n tabs = [],\n defaultActiveIndex = 0,\n}: {\n tabs: (TabViewLabelOptions & { content: ReactNode })[]\n defaultActiveIndex?: number\n}) {\n const el = (\n <div className={`ipe-tabView ${styles.tabview}`}>\n <ul className={`ipe-tabView__labels-container ${styles.labels_container}`}>\n {tabs.map((tab) => (\n <TabLabel key={tab.name} name={tab.name}>\n {tab.children}\n </TabLabel>\n ))}\n </ul>\n <div className={`ipe-tabView__contents ${styles.contents_container}`}>\n {tabs.map((tab) => (\n <TabContent key={tab.name} name={tab.name}>\n {tab.content}\n </TabContent>\n ))}\n </div>\n </div>\n )\n\n const defaultActiveLabel = el.querySelector<HTMLAnchorElement>(\n `.ipe-tabView__labels-container > .ipe-tabView__label:nth-child(${defaultActiveIndex + 1})`\n )\n if (defaultActiveLabel) {\n defaultActiveLabel.click()\n }\n\n return el\n}\n\nexport function TabLabel({ name, children }: { name: string; children: ReactNode }) {\n return (\n <li\n data-tab-name={name}\n className={`ipe-tabView__label ${styles.label}`}\n onClick={function (e) {\n e.preventDefault()\n const container = this.closest('.ipe-tabView')\n if (!container) return\n const labels = Array.from(container.children).find((el) =>\n el.classList.contains('ipe-tabView__labels')\n )?.children\n if (labels) {\n Array.from(labels).forEach((label) => {\n label.classList.remove(styles.active)\n })\n }\n this.classList.add(styles.active)\n const contents = Array.from(container.children).find((el) =>\n el.classList.contains('ipe-tabView__contents')\n )?.children\n if (contents) {\n Array.from(contents).forEach((content) => {\n if (content instanceof HTMLElement) {\n if (content.dataset.tabName === name) {\n content.style.display = ''\n content.classList.add(styles.active)\n } else {\n content.style.display = 'none'\n content.classList.remove(styles.active)\n }\n }\n })\n }\n }}\n >\n <a>{children || name}</a>\n </li>\n )\n}\n\nexport function TabContent({ name, children }: { name: string; children: ReactNode }) {\n return (\n <div\n data-tab-name={name}\n className=\"ipe-tabView__content-body\"\n style={{\n display: 'none',\n }}\n >\n {children}\n </div>\n )\n}\n"],"names":["styles","TabView","tabs","defaultActiveIndex","el","jsxs","jsx","tab","TabLabel","TabContent","defaultActiveLabel","name","children","e","container","labels","label","contents","content"],"mappings":";;;;;;;;;;;;;AAQA,QAAQ,IAAIA,CAAM;AAEX,SAASC,EAAQ;AAAA,EACtB,MAAAC,IAAO,CAAA;AAAA,EACP,oBAAAC,IAAqB;AACvB,GAGG;AACD,QAAMC,IACJC,gBAAAA,EAAC,OAAA,EAAI,WAAW,eAAeL,EAAO,OAAO,IAC3C,UAAA;AAAA,IAAA,gBAAAM,EAAC,MAAA,EAAG,WAAW,iCAAiCN,EAAO,gBAAgB,IACpE,UAAAE,EAAK,IAAI,CAACK,wBACRC,GAAA,EAAwB,MAAMD,EAAI,MAChC,UAAAA,EAAI,YADQA,EAAI,IAEnB,CACD,EAAA,CACH;AAAA,IACA,gBAAAD,EAAC,SAAI,WAAW,yBAAyBN,EAAO,kBAAkB,IAC/D,YAAK,IAAI,CAACO,MACT,gBAAAD,EAACG,GAAA,EAA0B,MAAMF,EAAI,MAClC,YAAI,QAAA,GADUA,EAAI,IAErB,CACD,EAAA,CACH;AAAA,EAAA,GACF,GAGIG,IAAqBN,EAAG;AAAA,IAC5B,kEAAkED,IAAqB,CAAC;AAAA,EAAA;AAE1F,SAAIO,KACFA,EAAmB,MAAA,GAGdN;AACT;AAEO,SAASI,EAAS,EAAE,MAAAG,GAAM,UAAAC,KAAmD;AAClF,SACE,gBAAAN;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,iBAAeK;AAAA,MACf,WAAW,sBAAsBX,EAAO,KAAK;AAAA,MAC7C,SAAS,SAAUa,GAAG;AACpB,QAAAA,EAAE,eAAA;AACF,cAAMC,IAAY,KAAK,QAAQ,cAAc;AAC7C,YAAI,CAACA,EAAW;AAChB,cAAMC,IAAS,MAAM,KAAKD,EAAU,QAAQ,EAAE;AAAA,UAAK,CAACV,MAClDA,EAAG,UAAU,SAAS,qBAAqB;AAAA,QAAA,GAC1C;AACH,QAAIW,KACF,MAAM,KAAKA,CAAM,EAAE,QAAQ,CAACC,MAAU;AACpC,UAAAA,EAAM,UAAU,OAAOhB,EAAO,MAAM;AAAA,QACtC,CAAC,GAEH,KAAK,UAAU,IAAIA,EAAO,MAAM;AAChC,cAAMiB,IAAW,MAAM,KAAKH,EAAU,QAAQ,EAAE;AAAA,UAAK,CAACV,MACpDA,EAAG,UAAU,SAAS,uBAAuB;AAAA,QAAA,GAC5C;AACH,QAAIa,KACF,MAAM,KAAKA,CAAQ,EAAE,QAAQ,CAACC,MAAY;AACxC,UAAIA,aAAmB,gBACjBA,EAAQ,QAAQ,YAAYP,KAC9BO,EAAQ,MAAM,UAAU,IACxBA,EAAQ,UAAU,IAAIlB,EAAO,MAAM,MAEnCkB,EAAQ,MAAM,UAAU,QACxBA,EAAQ,UAAU,OAAOlB,EAAO,MAAM;AAAA,QAG5C,CAAC;AAAA,MAEL;AAAA,MAEA,UAAA,gBAAAM,EAAC,KAAA,EAAG,UAAAM,KAAYD,EAAA,CAAK;AAAA,IAAA;AAAA,EAAA;AAG3B;AAEO,SAASF,EAAW,EAAE,MAAAE,GAAM,UAAAC,KAAmD;AACpF,SACE,gBAAAN;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,iBAAeK;AAAA,MACf,WAAU;AAAA,MACV,OAAO;AAAA,QACL,SAAS;AAAA,MAAA;AAAA,MAGV,UAAAC;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { j as s } from "./index-D3QOS3-Q.js";
|
|
2
|
+
import { BasePlugin as I, Schema as b, InPageEdit as v, Inject as S } from "./index.js";
|
|
3
|
+
import { A as P } from "./ActionButton-DkQu8dfH.js";
|
|
3
4
|
var j = Object.create, h = Object.defineProperty, A = Object.getOwnPropertyDescriptor, x = (r, e) => (e = Symbol[r]) ? e : Symbol.for("Symbol." + r), y = (r) => {
|
|
4
5
|
throw TypeError(r);
|
|
5
6
|
}, O = (r, e, t) => e in r ? h(r, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[e] = t, R = (r, e) => h(r, "name", { value: e, configurable: !0 }), V = (r) => [, , , j(r?.[x("metadata")] ?? null)], z = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], C = (r) => r !== void 0 && typeof r != "function" ? y("Function expected") : r, G = (r, e, t, n, i) => ({ kind: z[r], name: e, metadata: n, addInitializer: (a) => t._ ? y("Already initialized") : i.push(C(a || null)) }), H = (r, e) => O(e, x("metadata"), r[3]), M = (r, e, t, n) => {
|
|
@@ -81,7 +82,7 @@ class u extends (w = I) {
|
|
|
81
82
|
}).description(""),
|
|
82
83
|
"about",
|
|
83
84
|
{}
|
|
84
|
-
), import("./PluginPreferencesUI-
|
|
85
|
+
), import("./PluginPreferencesUI-CHdAGK8T.js").then((e) => {
|
|
85
86
|
const t = this.ctx.plugin(e.PluginPreferencesUI);
|
|
86
87
|
this.addDisposeHandler(() => {
|
|
87
88
|
t.dispose();
|
|
@@ -152,4 +153,4 @@ M(f, 1, u);
|
|
|
152
153
|
export {
|
|
153
154
|
u as PluginPreferences
|
|
154
155
|
};
|
|
155
|
-
//# sourceMappingURL=index-
|
|
156
|
+
//# sourceMappingURL=index-B02kaEy5.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-CL0NhE5n.js","sources":["../src/plugins/preferences/index.tsx"],"sourcesContent":["import { Inject, InPageEdit, Schema } from '@/InPageEdit'\nimport { IPEStorageItem, IPEStorageManager } from '@/services/StorageService'\n\ndeclare module '@/InPageEdit' {\n export interface InPageEdit {\n preferences: PluginPreferences\n }\n}\n\nexport interface InPageEditPreferenceUICategory {\n name: string\n label: string\n description?: string\n index?: number\n}\n\nexport interface InPageEditPreferenceUIRegistryItem {\n name: string\n schema: Schema\n defaults: Record<string, any>\n category: string\n}\n\n@Inject(['sitemeta', 'storage'])\nexport class PluginPreferences extends BasePlugin {\n private db: IPEStorageManager<any>\n public customRegistries: InPageEditPreferenceUIRegistryItem[] = []\n public categoryDefinitions: InPageEditPreferenceUICategory[] = []\n private _defaultPreferences: Record<string, any> = {}\n\n constructor(public ctx: InPageEdit) {\n super(ctx, {}, 'preferences')\n this.db = ctx.storage.createDatabse<any>('preferences', Infinity)\n this.ctx.set('preferences', this)\n }\n\n async start() {\n this.defineCategory({\n name: 'general',\n label: 'General',\n description: 'General settings',\n })\n this.defineCategory({\n name: 'edit',\n label: 'Editing',\n description: 'Settings related to editing content',\n })\n this.defineCategory({\n name: 'about',\n label: 'About',\n description: 'About InPageEdit',\n index: 99,\n })\n\n this.registerCustomConfig(\n 'about',\n Schema.object({\n about: Schema.string()\n .role('html-info')\n .description(\n (\n <div className=\"prose\">\n <h2>✏️ InPageEdit NEXT</h2>\n <i>v{this.ctx.version}</i>\n <h2>Portal</h2>\n <div style=\"display: flex; flex-direction: column; gap: 1rem\">\n <ActionButton\n link=\"https://www.ipe.wiki\"\n buttonProps={{ style: { display: 'block', width: '100%' } }}\n >\n Official Website & Help Center\n </ActionButton>\n <ActionButton\n link=\"https://www.ipe.wiki/update/\"\n buttonProps={{ style: { display: 'block', width: '100%' } }}\n >\n Update Logs\n </ActionButton>\n </div>\n <h2>Join us</h2>\n <ul>\n <li>\n <strong>GitHub</strong>:{' '}\n <a href=\"https://github.com/inpageedit/inpageedit-next\" target=\"_blank\">\n inpageedit/inpageedit-next\n </a>\n </li>\n <li>\n <strong>QQ Group</strong>: 1026023666\n </li>\n </ul>\n <hr />\n <p>🚀 Modular, Extensible Supercharged Plugin for MediaWiki.</p>\n <p>InPageEdit-NEXT Copyright © 2025-present dragon-fish</p>\n </div>\n ).outerHTML\n )\n .default(''),\n }).description(''),\n 'about',\n {}\n )\n\n import('./PluginPreferencesUI').then((module) => {\n const fork = this.ctx.plugin(module.PluginPreferencesUI)\n this.addDisposeHandler(() => {\n fork.dispose()\n })\n })\n }\n\n get<T = any>(key: string, fallback?: () => T | Promise<T>): Promise<T | null> {\n fallback ||= () => {\n const defaultValue = this.getDefaultValue(key)\n this.logger.info('default value used', defaultValue)\n return defaultValue as T\n }\n const value = this.db.get(key, undefined, fallback)\n return value\n }\n\n getDefaultValue(key: string) {\n return (this._defaultPreferences[key] ??= this.loadDefaultConfigs()[key])\n }\n\n set<T = any>(key: string, value: T): Promise<IPEStorageItem<T> | void> {\n const defaultValue = this.getDefaultValue(key)\n if (value === defaultValue) {\n return this.db.delete(key)\n } else {\n return this.db.set(key, value)\n }\n }\n\n async getAll() {\n const data = this.loadDefaultConfigs()\n await this.db.iterate((value: IPEStorageItem, key: string) => {\n data[key] = value\n })\n return data\n }\n\n private loadDefaultConfigs() {\n const data = {} as Record<string, any>\n this.getConfigRegistries().forEach((item) => {\n item.defaults &&\n Object.entries(item.defaults).forEach(([key, val]) => {\n data[key] = val\n this._defaultPreferences[key] = val\n })\n })\n return data\n }\n\n registerCustomConfig(\n name: string,\n schema: Schema,\n category: string,\n defaults: Record<string, any>\n ) {\n this.customRegistries.push({\n name,\n schema,\n category,\n defaults,\n })\n return this\n }\n\n getConfigRegistries(category?: string): InPageEditPreferenceUIRegistryItem[] {\n return Array.from(this.ctx.registry.entries())\n .map<{\n name: string\n schema: Schema\n defaults: Record<string, any>\n }>(([plugin, fork]) => {\n if (plugin === null) {\n return {\n name: 'root',\n schema: (InPageEdit as any)?.PreferencesSchema || null,\n defaults: (InPageEdit as any)?.PreferencesDefaults || {},\n }\n } else {\n return {\n name: plugin.name,\n schema: (plugin as any)?.PreferencesSchema || null,\n defaults: (plugin as any)?.PreferencesDefaults || {},\n }\n }\n })\n .filter((item) => item.schema !== null)\n .map((item) => {\n return {\n ...item,\n category: item.schema.meta.category || 'general',\n }\n })\n .concat(this.customRegistries)\n .filter((item) => !category || item.category === category)\n }\n\n defineCategory(category: InPageEditPreferenceUICategory) {\n const index = this.categoryDefinitions.findIndex((tab) => tab.name === category.name)\n if (index < 0) {\n this.categoryDefinitions.push(category)\n } else {\n this.categoryDefinitions[index] = category\n }\n this.categoryDefinitions.sort((a, b) => {\n return (a.index ?? 0) - (b.index ?? 0)\n })\n return this\n }\n\n getConfigCategories() {\n return this.categoryDefinitions\n }\n}\n"],"names":["_PluginPreferences_decorators","_init","_a","Inject","PluginPreferences","BasePlugin","ctx","Schema","jsxs","jsx","ActionButton","module","fork","key","fallback","defaultValue","value","data","item","val","name","schema","category","defaults","plugin","InPageEdit","index","tab","a","b","__decoratorStart","__decorateElement","__runInitializers"],"mappings":";;;;;;;;;;;;;GAAAA,GAAAC,GAAAC;AAuBAF,IAAA,CAACG,EAAO,CAAC,YAAY,SAAS,CAAC,CAAA;AACxB,MAAMC,WAA0BF,IAAAG,GAAW;AAAA,EAMhD,YAAmBC,GAAiB;AAClC,UAAMA,GAAK,CAAA,GAAI,aAAa,GADX,KAAA,MAAAA,GALnB,KAAQ,KAAR,QACA,KAAO,mBAAyD,CAAA,GAChE,KAAO,sBAAwD,CAAA,GAC/D,KAAQ,sBAA2C,CAAA,GAIjD,KAAK,KAAKA,EAAI,QAAQ,cAAmB,eAAe,KAAQ,GAChE,KAAK,IAAI,IAAI,eAAe,IAAI;AAAA,EAClC;AAAA,EAEA,MAAM,QAAQ;AACZ,SAAK,eAAe;AAAA,MAClB,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IAAA,CACd,GACD,KAAK,eAAe;AAAA,MAClB,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IAAA,CACd,GACD,KAAK,eAAe;AAAA,MAClB,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,OAAO;AAAA,IAAA,CACR,GAED,KAAK;AAAA,MACH;AAAA,MACAC,EAAO,OAAO;AAAA,QACZ,OAAOA,EAAO,OAAA,EACX,KAAK,WAAW,EAChB;AAAA,WAEGC,gBAAAA,EAAC,OAAA,EAAI,WAAU,SACb,UAAA;AAAA,YAAA,gBAAAC,EAAC,QAAG,UAAA,qBAAA,CAAkB;AAAA,8BACrB,KAAA,EAAE,UAAA;AAAA,cAAA;AAAA,cAAE,KAAK,IAAI;AAAA,YAAA,GAAQ;AAAA,YACtB,gBAAAA,EAAC,QAAG,UAAA,SAAA,CAAM;AAAA,YACVD,gBAAAA,EAAC,OAAA,EAAI,OAAM,oDACT,UAAA;AAAA,cAAA,gBAAAC;AAAA,gBAACC;AAAA,gBAAA;AAAA,kBACC,MAAK;AAAA,kBACL,aAAa,EAAE,OAAO,EAAE,SAAS,SAAS,OAAO,SAAO;AAAA,kBACzD,UAAA;AAAA,gBAAA;AAAA,cAAA;AAAA,cAGD,gBAAAD;AAAA,gBAACC;AAAA,gBAAA;AAAA,kBACC,MAAK;AAAA,kBACL,aAAa,EAAE,OAAO,EAAE,SAAS,SAAS,OAAO,SAAO;AAAA,kBACzD,UAAA;AAAA,gBAAA;AAAA,cAAA;AAAA,YAED,GACF;AAAA,YACA,gBAAAD,EAAC,QAAG,UAAA,UAAA,CAAO;AAAA,8BACV,MAAA,EACC,UAAA;AAAA,cAAAD,gBAAAA,EAAC,MAAA,EACC,UAAA;AAAA,gBAAA,gBAAAC,EAAC,YAAO,UAAA,SAAA,CAAM;AAAA,gBAAS;AAAA,gBAAE;AAAA,kCACxB,KAAA,EAAE,MAAK,iDAAgD,QAAO,UAAS,UAAA,6BAAA,CAExE;AAAA,cAAA,GACF;AAAA,gCACC,MAAA,EACC,UAAA;AAAA,gBAAA,gBAAAA,EAAC,YAAO,UAAA,WAAA,CAAQ;AAAA,gBAAS;AAAA,cAAA,EAAA,CAC3B;AAAA,YAAA,GACF;AAAA,8BACC,MAAA,EAAG;AAAA,YACJ,gBAAAA,EAAC,OAAE,UAAA,4DAAA,CAAyD;AAAA,YAC5D,gBAAAA,EAAC,OAAE,UAAA,uDAAA,CAAoD;AAAA,UAAA,EAAA,CACzD,GACA;AAAA,QAAA,EAEH,QAAQ,EAAE;AAAA,MAAA,CACd,EAAE,YAAY,EAAE;AAAA,MACjB;AAAA,MACA,CAAA;AAAA,IAAC,GAGH,OAAO,mCAAuB,EAAE,KAAK,CAACE,MAAW;AAC/C,YAAMC,IAAO,KAAK,IAAI,OAAOD,EAAO,mBAAmB;AACvD,WAAK,kBAAkB,MAAM;AAC3B,QAAAC,EAAK,QAAA;AAAA,MACP,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA,EAEA,IAAaC,GAAaC,GAAoD;AAC5E,WAAAA,UAAa,MAAM;AACjB,YAAMC,IAAe,KAAK,gBAAgBF,CAAG;AAC7C,kBAAK,OAAO,KAAK,sBAAsBE,CAAY,GAC5CA;AAAA,IACT,IACc,KAAK,GAAG,IAAIF,GAAK,QAAWC,CAAQ;AAAA,EAEpD;AAAA,EAEA,gBAAgBD,GAAa;;AAC3B,YAAQX,IAAA,KAAK,qBAALW,OAAAX,EAAAW,KAAkC,KAAK,mBAAA,EAAqBA,CAAG;AAAA,EACzE;AAAA,EAEA,IAAaA,GAAaG,GAA6C;AACrE,UAAMD,IAAe,KAAK,gBAAgBF,CAAG;AAC7C,WAAIG,MAAUD,IACL,KAAK,GAAG,OAAOF,CAAG,IAElB,KAAK,GAAG,IAAIA,GAAKG,CAAK;AAAA,EAEjC;AAAA,EAEA,MAAM,SAAS;AACb,UAAMC,IAAO,KAAK,mBAAA;AAClB,iBAAM,KAAK,GAAG,QAAQ,CAACD,GAAuBH,MAAgB;AAC5D,MAAAI,EAAKJ,CAAG,IAAIG;AAAA,IACd,CAAC,GACMC;AAAA,EACT;AAAA,EAEQ,qBAAqB;AAC3B,UAAMA,IAAO,CAAA;AACb,gBAAK,oBAAA,EAAsB,QAAQ,CAACC,MAAS;AAC3C,MAAAA,EAAK,YACH,OAAO,QAAQA,EAAK,QAAQ,EAAE,QAAQ,CAAC,CAACL,GAAKM,CAAG,MAAM;AACpD,QAAAF,EAAKJ,CAAG,IAAIM,GACZ,KAAK,oBAAoBN,CAAG,IAAIM;AAAA,MAClC,CAAC;AAAA,IACL,CAAC,GACMF;AAAA,EACT;AAAA,EAEA,qBACEG,GACAC,GACAC,GACAC,GACA;AACA,gBAAK,iBAAiB,KAAK;AAAA,MACzB,MAAAH;AAAA,MACA,QAAAC;AAAA,MACA,UAAAC;AAAA,MACA,UAAAC;AAAA,IAAA,CACD,GACM;AAAA,EACT;AAAA,EAEA,oBAAoBD,GAAyD;AAC3E,WAAO,MAAM,KAAK,KAAK,IAAI,SAAS,QAAA,CAAS,EAC1C,IAIE,CAAC,CAACE,GAAQZ,CAAI,MACXY,MAAW,OACN;AAAA,MACL,MAAM;AAAA,MACN,QAASC,GAAoB,qBAAqB;AAAA,MAClD,UAAWA,GAAoB,uBAAuB,CAAA;AAAA,IAAC,IAGlD;AAAA,MACL,MAAMD,EAAO;AAAA,MACb,QAASA,GAAgB,qBAAqB;AAAA,MAC9C,UAAWA,GAAgB,uBAAuB,CAAA;AAAA,IAAC,CAGxD,EACA,OAAO,CAACN,MAASA,EAAK,WAAW,IAAI,EACrC,IAAI,CAACA,OACG;AAAA,MACL,GAAGA;AAAA,MACH,UAAUA,EAAK,OAAO,KAAK,YAAY;AAAA,IAAA,EAE1C,EACA,OAAO,KAAK,gBAAgB,EAC5B,OAAO,CAACA,MAAS,CAACI,KAAYJ,EAAK,aAAaI,CAAQ;AAAA,EAC7D;AAAA,EAEA,eAAeA,GAA0C;AACvD,UAAMI,IAAQ,KAAK,oBAAoB,UAAU,CAACC,MAAQA,EAAI,SAASL,EAAS,IAAI;AACpF,WAAII,IAAQ,IACV,KAAK,oBAAoB,KAAKJ,CAAQ,IAEtC,KAAK,oBAAoBI,CAAK,IAAIJ,GAEpC,KAAK,oBAAoB,KAAK,CAACM,GAAGC,OACxBD,EAAE,SAAS,MAAMC,EAAE,SAAS,EACrC,GACM;AAAA,EACT;AAAA,EAEA,sBAAsB;AACpB,WAAO,KAAK;AAAA,EACd;AACF;AAjMO5B,IAAA6B,EAAA5B,CAAA;AAAME,IAAN2B,6BADP/B,GACaI,CAAA;AAAN4B,EAAA/B,GAAA,GAAMG,CAAA;"}
|
|
1
|
+
{"version":3,"file":"index-B02kaEy5.js","sources":["../src/plugins/preferences/index.tsx"],"sourcesContent":["import { Inject, InPageEdit, Schema } from '@/InPageEdit'\nimport { IPEStorageItem, IPEStorageManager } from '@/services/StorageService'\n\ndeclare module '@/InPageEdit' {\n export interface InPageEdit {\n preferences: PluginPreferences\n }\n}\n\nexport interface InPageEditPreferenceUICategory {\n name: string\n label: string\n description?: string\n index?: number\n}\n\nexport interface InPageEditPreferenceUIRegistryItem {\n name: string\n schema: Schema\n defaults: Record<string, any>\n category: string\n}\n\n@Inject(['sitemeta', 'storage'])\nexport class PluginPreferences extends BasePlugin {\n private db: IPEStorageManager<any>\n public customRegistries: InPageEditPreferenceUIRegistryItem[] = []\n public categoryDefinitions: InPageEditPreferenceUICategory[] = []\n private _defaultPreferences: Record<string, any> = {}\n\n constructor(public ctx: InPageEdit) {\n super(ctx, {}, 'preferences')\n this.db = ctx.storage.createDatabse<any>('preferences', Infinity)\n this.ctx.set('preferences', this)\n }\n\n async start() {\n this.defineCategory({\n name: 'general',\n label: 'General',\n description: 'General settings',\n })\n this.defineCategory({\n name: 'edit',\n label: 'Editing',\n description: 'Settings related to editing content',\n })\n this.defineCategory({\n name: 'about',\n label: 'About',\n description: 'About InPageEdit',\n index: 99,\n })\n\n this.registerCustomConfig(\n 'about',\n Schema.object({\n about: Schema.string()\n .role('html-info')\n .description(\n (\n <div className=\"prose\">\n <h2>✏️ InPageEdit NEXT</h2>\n <i>v{this.ctx.version}</i>\n <h2>Portal</h2>\n <div style=\"display: flex; flex-direction: column; gap: 1rem\">\n <ActionButton\n link=\"https://www.ipe.wiki\"\n buttonProps={{ style: { display: 'block', width: '100%' } }}\n >\n Official Website & Help Center\n </ActionButton>\n <ActionButton\n link=\"https://www.ipe.wiki/update/\"\n buttonProps={{ style: { display: 'block', width: '100%' } }}\n >\n Update Logs\n </ActionButton>\n </div>\n <h2>Join us</h2>\n <ul>\n <li>\n <strong>GitHub</strong>:{' '}\n <a href=\"https://github.com/inpageedit/inpageedit-next\" target=\"_blank\">\n inpageedit/inpageedit-next\n </a>\n </li>\n <li>\n <strong>QQ Group</strong>: 1026023666\n </li>\n </ul>\n <hr />\n <p>🚀 Modular, Extensible Supercharged Plugin for MediaWiki.</p>\n <p>InPageEdit-NEXT Copyright © 2025-present dragon-fish</p>\n </div>\n ).outerHTML\n )\n .default(''),\n }).description(''),\n 'about',\n {}\n )\n\n import('./PluginPreferencesUI').then((module) => {\n const fork = this.ctx.plugin(module.PluginPreferencesUI)\n this.addDisposeHandler(() => {\n fork.dispose()\n })\n })\n }\n\n get<T = any>(key: string, fallback?: () => T | Promise<T>): Promise<T | null> {\n fallback ||= () => {\n const defaultValue = this.getDefaultValue(key)\n this.logger.info('default value used', defaultValue)\n return defaultValue as T\n }\n const value = this.db.get(key, undefined, fallback)\n return value\n }\n\n getDefaultValue(key: string) {\n return (this._defaultPreferences[key] ??= this.loadDefaultConfigs()[key])\n }\n\n set<T = any>(key: string, value: T): Promise<IPEStorageItem<T> | void> {\n const defaultValue = this.getDefaultValue(key)\n if (value === defaultValue) {\n return this.db.delete(key)\n } else {\n return this.db.set(key, value)\n }\n }\n\n async getAll() {\n const data = this.loadDefaultConfigs()\n await this.db.iterate((value: IPEStorageItem, key: string) => {\n data[key] = value\n })\n return data\n }\n\n private loadDefaultConfigs() {\n const data = {} as Record<string, any>\n this.getConfigRegistries().forEach((item) => {\n item.defaults &&\n Object.entries(item.defaults).forEach(([key, val]) => {\n data[key] = val\n this._defaultPreferences[key] = val\n })\n })\n return data\n }\n\n registerCustomConfig(\n name: string,\n schema: Schema,\n category: string,\n defaults: Record<string, any>\n ) {\n this.customRegistries.push({\n name,\n schema,\n category,\n defaults,\n })\n return this\n }\n\n getConfigRegistries(category?: string): InPageEditPreferenceUIRegistryItem[] {\n return Array.from(this.ctx.registry.entries())\n .map<{\n name: string\n schema: Schema\n defaults: Record<string, any>\n }>(([plugin, fork]) => {\n if (plugin === null) {\n return {\n name: 'root',\n schema: (InPageEdit as any)?.PreferencesSchema || null,\n defaults: (InPageEdit as any)?.PreferencesDefaults || {},\n }\n } else {\n return {\n name: plugin.name,\n schema: (plugin as any)?.PreferencesSchema || null,\n defaults: (plugin as any)?.PreferencesDefaults || {},\n }\n }\n })\n .filter((item) => item.schema !== null)\n .map((item) => {\n return {\n ...item,\n category: item.schema.meta.category || 'general',\n }\n })\n .concat(this.customRegistries)\n .filter((item) => !category || item.category === category)\n }\n\n defineCategory(category: InPageEditPreferenceUICategory) {\n const index = this.categoryDefinitions.findIndex((tab) => tab.name === category.name)\n if (index < 0) {\n this.categoryDefinitions.push(category)\n } else {\n this.categoryDefinitions[index] = category\n }\n this.categoryDefinitions.sort((a, b) => {\n return (a.index ?? 0) - (b.index ?? 0)\n })\n return this\n }\n\n getConfigCategories() {\n return this.categoryDefinitions\n }\n}\n"],"names":["_PluginPreferences_decorators","_init","_a","Inject","PluginPreferences","BasePlugin","ctx","Schema","jsxs","jsx","ActionButton","module","fork","key","fallback","defaultValue","value","data","item","val","name","schema","category","defaults","plugin","InPageEdit","index","tab","a","b","__decoratorStart","__decorateElement","__runInitializers"],"mappings":"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"}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { j as l, P as q } from "./index-D3QOS3-Q.js";
|
|
2
|
+
import { BasePlugin as j, Inject as E } from "./index.js";
|
|
3
|
+
var y = Object.create, _ = Object.defineProperty, O = Object.getOwnPropertyDescriptor, k = (e, t) => (t = Symbol[e]) ? t : Symbol.for("Symbol." + e), m = (e) => {
|
|
3
4
|
throw TypeError(e);
|
|
4
|
-
}, Q = (e, t, r) => t in e ? _(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, S = (e, t) => _(e, "name", { value: t, configurable: !0 }), z = (e) => [, , , y(e?.[k("metadata")] ?? null)],
|
|
5
|
-
for (var i = 0, c = e[t >> 1],
|
|
5
|
+
}, Q = (e, t, r) => t in e ? _(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, S = (e, t) => _(e, "name", { value: t, configurable: !0 }), z = (e) => [, , , y(e?.[k("metadata")] ?? null)], I = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], x = (e) => e !== void 0 && typeof e != "function" ? m("Function expected") : e, B = (e, t, r, a, i) => ({ kind: I[e], name: t, metadata: a, addInitializer: (c) => r._ ? m("Already initialized") : i.push(x(c || null)) }), C = (e, t) => Q(t, k("metadata"), e[3]), N = (e, t, r, a) => {
|
|
6
|
+
for (var i = 0, c = e[t >> 1], o = c && c.length; i < o; i++) c[i].call(r);
|
|
6
7
|
return a;
|
|
7
8
|
}, T = (e, t, r, a, i, c) => {
|
|
8
|
-
var
|
|
9
|
+
var o, n, w, s = t & 7, h = !1, P = 0, g = e[P] || (e[P] = []), d = s && (i = i.prototype, s < 5 && (s > 3 || !h) && O(i, r));
|
|
9
10
|
S(i, r);
|
|
10
11
|
for (var u = a.length - 1; u >= 0; u--)
|
|
11
|
-
|
|
12
|
-
return C(e, i), d && _(i, r, d), h ?
|
|
13
|
-
}, f,
|
|
12
|
+
w = B(s, r, n = {}, e[3], g), o = (0, a[u])(i, w), n._ = 1, x(o) && (i = o);
|
|
13
|
+
return C(e, i), d && _(i, r, d), h ? s ^ 4 ? c : d : i;
|
|
14
|
+
}, f, p, b;
|
|
14
15
|
f = [E(["api", "wikiPage", "modal"])];
|
|
15
|
-
class v extends (b =
|
|
16
|
+
class v extends (b = j) {
|
|
16
17
|
constructor(t) {
|
|
17
18
|
super(t, {}, "quickPreview"), this.ctx = t;
|
|
18
19
|
}
|
|
@@ -47,7 +48,7 @@ class v extends (b = q) {
|
|
|
47
48
|
sizeClass: "large"
|
|
48
49
|
}).init();
|
|
49
50
|
i.setTitle("Preview loading..."), i.setContent(
|
|
50
|
-
/* @__PURE__ */ l("section", { children: /* @__PURE__ */ l(
|
|
51
|
+
/* @__PURE__ */ l("section", { children: /* @__PURE__ */ l(q, {}) })
|
|
51
52
|
), i.show(), this.ctx.emit("quickPreview/showModal", {
|
|
52
53
|
ctx: this.ctx,
|
|
53
54
|
text: t,
|
|
@@ -58,17 +59,17 @@ class v extends (b = q) {
|
|
|
58
59
|
data: { parse: c }
|
|
59
60
|
} = await a.preview(t, r);
|
|
60
61
|
i.setTitle(`Preview - ${c.title}`);
|
|
61
|
-
let
|
|
62
|
+
let o = null;
|
|
62
63
|
i.setContent(
|
|
63
64
|
/* @__PURE__ */ l("section", { children: /* @__PURE__ */ l(
|
|
64
65
|
"div",
|
|
65
66
|
{
|
|
66
|
-
ref: (n) =>
|
|
67
|
+
ref: (n) => o = n,
|
|
67
68
|
className: "mw-parser-output",
|
|
68
69
|
innerHTML: c.text
|
|
69
70
|
}
|
|
70
71
|
) })
|
|
71
|
-
), window.mw?.hook("wikipage.content").fire($(
|
|
72
|
+
), window.mw?.hook("wikipage.content").fire($(o)), this.ctx.emit("quickPreview/loaded", {
|
|
72
73
|
ctx: this.ctx,
|
|
73
74
|
modal: i,
|
|
74
75
|
wikiPage: a,
|
|
@@ -77,10 +78,10 @@ class v extends (b = q) {
|
|
|
77
78
|
});
|
|
78
79
|
}
|
|
79
80
|
}
|
|
80
|
-
|
|
81
|
-
v = T(
|
|
82
|
-
N(
|
|
81
|
+
p = z(b);
|
|
82
|
+
v = T(p, 0, "PluginQuickPreview", f, v);
|
|
83
|
+
N(p, 1, v);
|
|
83
84
|
export {
|
|
84
85
|
v as PluginQuickPreview
|
|
85
86
|
};
|
|
86
|
-
//# sourceMappingURL=index-
|
|
87
|
+
//# sourceMappingURL=index-BIFsoDor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-BIFsoDor.js","sources":["../src/plugins/quick-preview/index.tsx"],"sourcesContent":["import { Inject, InPageEdit } from '@/InPageEdit'\nimport { type QuickEditInitPayload } from '@/plugins/quick-edit'\nimport { WikiPage } from '@/models/WikiPage'\nimport { MwApiParams } from 'wiki-saikou'\nimport { PageParseData } from '@/models/WikiPage/types/PageParseData'\n\ndeclare module '@/InPageEdit' {\n interface InPageEdit {\n quickPreview: PluginQuickPreview['quickPreview']\n }\n interface Events {\n 'quickPreview/showModal'(payload: {\n ctx: InPageEdit\n text: string\n modal: SsiModal\n wikiPage: WikiPage\n }): void\n 'quickPreview/loaded'(payload: {\n ctx: InPageEdit\n modal: SsiModal\n wikiPage: WikiPage\n text: string\n parseData: PageParseData\n }): void\n }\n}\n\n@Inject(['api', 'wikiPage', 'modal'])\nexport class PluginQuickPreview extends BasePlugin {\n constructor(public ctx: InPageEdit) {\n super(ctx, {}, 'quickPreview')\n }\n\n protected start(): Promise<void> | void {\n this.ctx.set('quickPreview', this.quickPreview.bind(this))\n this.ctx.on('quickEdit/wikiPage', this.injectQuickEdit.bind(this))\n }\n\n protected stop(): Promise<void> | void {\n this.ctx.off('quickEdit/wikiPage', this.injectQuickEdit.bind(this))\n }\n\n private injectQuickEdit({ ctx, modal, wikiPage }: QuickEditInitPayload) {\n modal.setButtons([\n {\n label: 'Preview',\n side: 'left',\n className: 'btn btn-secondary',\n method: () => {\n this.quickPreview(\n (modal.get$content().find('textarea.editArea').val() as string) || '',\n undefined,\n wikiPage\n )\n },\n },\n ])\n }\n\n async quickPreview(text: string, params?: MwApiParams, wikiPage?: WikiPage) {\n wikiPage ||= this.ctx.wikiPage.newBlankPage({\n title: 'API',\n })\n\n const modal = this.ctx.modal\n .createObject({\n className: 'in-page-edit ipe-quickPreview',\n sizeClass: 'large',\n })\n .init()\n modal.setTitle('Preview loading...')\n modal.setContent(\n (\n <section>\n <ProgressBar />\n </section>\n ) as HTMLElement\n )\n modal.show()\n this.ctx.emit('quickPreview/showModal', {\n ctx: this.ctx,\n text,\n modal,\n wikiPage,\n })\n\n const {\n data: { parse },\n } = await wikiPage.preview(text, params)\n modal.setTitle(`Preview - ${parse.title}`)\n let outputRef: HTMLElement | null = null\n modal.setContent(\n (\n <section>\n <div\n ref={(el) => (outputRef = el)}\n className=\"mw-parser-output\"\n innerHTML={parse.text}\n ></div>\n </section>\n ) as HTMLElement\n )\n window.mw?.hook('wikipage.content').fire($(outputRef!))\n this.ctx.emit('quickPreview/loaded', {\n ctx: this.ctx,\n modal,\n wikiPage,\n text,\n parseData: parse,\n })\n }\n}\n"],"names":["_PluginQuickPreview_decorators","_init","_a","Inject","PluginQuickPreview","BasePlugin","ctx","modal","wikiPage","text","params","jsx","ProgressBar","parse","outputRef","el","__decoratorStart","__decorateElement","__runInitializers"],"mappings":";;;;;;;;;;;;;GAAAA,GAAAC,GAAAC;AA2BAF,IAAA,CAACG,EAAO,CAAC,OAAO,YAAY,OAAO,CAAC,CAAA;AAC7B,MAAMC,WAA2BF,IAAAG,GAAW;AAAA,EACjD,YAAmBC,GAAiB;AAClC,UAAMA,GAAK,CAAA,GAAI,cAAc,GADZ,KAAA,MAAAA;AAAA,EAEnB;AAAA,EAEU,QAA8B;AACtC,SAAK,IAAI,IAAI,gBAAgB,KAAK,aAAa,KAAK,IAAI,CAAC,GACzD,KAAK,IAAI,GAAG,sBAAsB,KAAK,gBAAgB,KAAK,IAAI,CAAC;AAAA,EACnE;AAAA,EAEU,OAA6B;AACrC,SAAK,IAAI,IAAI,sBAAsB,KAAK,gBAAgB,KAAK,IAAI,CAAC;AAAA,EACpE;AAAA,EAEQ,gBAAgB,EAAE,KAAAA,GAAK,OAAAC,GAAO,UAAAC,KAAkC;AACtE,IAAAD,EAAM,WAAW;AAAA,MACf;AAAA,QACE,OAAO;AAAA,QACP,MAAM;AAAA,QACN,WAAW;AAAA,QACX,QAAQ,MAAM;AACZ,eAAK;AAAA,YACFA,EAAM,YAAA,EAAc,KAAK,mBAAmB,EAAE,SAAoB;AAAA,YACnE;AAAA,YACAC;AAAA,UAAA;AAAA,QAEJ;AAAA,MAAA;AAAA,IACF,CACD;AAAA,EACH;AAAA,EAEA,MAAM,aAAaC,GAAcC,GAAsBF,GAAqB;AAC1E,IAAAA,UAAa,KAAK,IAAI,SAAS,aAAa;AAAA,MAC1C,OAAO;AAAA,IAAA,CACR;AAED,UAAMD,IAAQ,KAAK,IAAI,MACpB,aAAa;AAAA,MACZ,WAAW;AAAA,MACX,WAAW;AAAA,IAAA,CACZ,EACA,KAAA;AACH,IAAAA,EAAM,SAAS,oBAAoB,GACnCA,EAAM;AAAA,MAEF,gBAAAI,EAAC,WAAA,EACC,UAAA,gBAAAA,EAACC,GAAA,CAAA,CAAY,EAAA,CACf;AAAA,IAAA,GAGJL,EAAM,KAAA,GACN,KAAK,IAAI,KAAK,0BAA0B;AAAA,MACtC,KAAK,KAAK;AAAA,MACV,MAAAE;AAAA,MACA,OAAAF;AAAA,MACA,UAAAC;AAAA,IAAA,CACD;AAED,UAAM;AAAA,MACJ,MAAM,EAAE,OAAAK,EAAA;AAAA,IAAM,IACZ,MAAML,EAAS,QAAQC,GAAMC,CAAM;AACvC,IAAAH,EAAM,SAAS,aAAaM,EAAM,KAAK,EAAE;AACzC,QAAIC,IAAgC;AACpC,IAAAP,EAAM;AAAA,wBAED,WAAA,EACC,UAAA,gBAAAI;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,KAAK,CAACI,MAAQD,IAAYC;AAAA,UAC1B,WAAU;AAAA,UACV,WAAWF,EAAM;AAAA,QAAA;AAAA,MAAA,EAClB,CACH;AAAA,IAAA,GAGJ,OAAO,IAAI,KAAK,kBAAkB,EAAE,KAAK,EAAEC,CAAU,CAAC,GACtD,KAAK,IAAI,KAAK,uBAAuB;AAAA,MACnC,KAAK,KAAK;AAAA,MACV,OAAAP;AAAA,MACA,UAAAC;AAAA,MACA,MAAAC;AAAA,MACA,WAAWI;AAAA,IAAA,CACZ;AAAA,EACH;AACF;AAnFOZ,IAAAe,EAAAd,CAAA;AAAME,IAANa,8BADPjB,GACaI,CAAA;AAANc,EAAAjB,GAAA,GAAMG,CAAA;"}
|
|
@@ -1,21 +1,22 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
1
|
+
import { j as a, P as y } from "./index-D3QOS3-Q.js";
|
|
2
|
+
import { BasePlugin as S, Inject as j } from "./index.js";
|
|
3
|
+
import { T as F } from "./index-wYcxrK6G.js";
|
|
4
|
+
import { C as v, I as q } from "./InputBox-B-BAGjgs.js";
|
|
5
|
+
import { A as E } from "./ActionButton-DkQu8dfH.js";
|
|
6
|
+
var I = Object.create, h = Object.defineProperty, B = Object.getOwnPropertyDescriptor, _ = (t, e) => (e = Symbol[t]) ? e : Symbol.for("Symbol." + t), b = (t) => {
|
|
6
7
|
throw TypeError(t);
|
|
7
|
-
}, C = (t, e, o) => e in t ? h(t, e, { enumerable: !0, configurable: !0, writable: !0, value: o }) : t[e] = o, T = (t, e) => h(t, "name", { value: e, configurable: !0 }), z = (t) => [, , ,
|
|
8
|
-
for (var r = 0, i = t[e >> 1],
|
|
8
|
+
}, C = (t, e, o) => e in t ? h(t, e, { enumerable: !0, configurable: !0, writable: !0, value: o }) : t[e] = o, T = (t, e) => h(t, "name", { value: e, configurable: !0 }), z = (t) => [, , , I(t?.[_("metadata")] ?? null)], D = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], k = (t) => t !== void 0 && typeof t != "function" ? b("Function expected") : t, O = (t, e, o, n, r) => ({ kind: D[t], name: e, metadata: n, addInitializer: (i) => o._ ? b("Already initialized") : r.push(k(i || null)) }), Q = (t, e) => C(e, _("metadata"), t[3]), N = (t, e, o, n) => {
|
|
9
|
+
for (var r = 0, i = t[e >> 1], c = i && i.length; r < c; r++) i[r].call(o);
|
|
9
10
|
return n;
|
|
10
11
|
}, A = (t, e, o, n, r, i) => {
|
|
11
|
-
var
|
|
12
|
+
var c, s, g, l = e & 7, f = !1, w = 0, x = t[w] || (t[w] = []), d = l && (r = r.prototype, l < 5 && (l > 3 || !f) && B(r, o));
|
|
12
13
|
T(r, o);
|
|
13
14
|
for (var m = n.length - 1; m >= 0; m--)
|
|
14
|
-
g = O(l, o,
|
|
15
|
+
g = O(l, o, s = {}, t[3], x), c = (0, n[m])(r, g), s._ = 1, k(c) && (r = c);
|
|
15
16
|
return Q(t, r), d && h(r, o, d), f ? l ^ 4 ? i : d : r;
|
|
16
17
|
}, M, p, P;
|
|
17
18
|
M = [j(["modal", "sitemeta"])];
|
|
18
|
-
class u extends (P =
|
|
19
|
+
class u extends (P = S) {
|
|
19
20
|
constructor(e) {
|
|
20
21
|
super(e, {}, "quick-move"), this.ctx = e, e.set("quickMove", this.quickMove.bind(this)), e.set("movePage", this.movePage.bind(this));
|
|
21
22
|
}
|
|
@@ -67,7 +68,7 @@ class u extends (P = y) {
|
|
|
67
68
|
quickMove(e) {
|
|
68
69
|
const o = this.ctx.modal.createObject({
|
|
69
70
|
title: "Quick Move",
|
|
70
|
-
content: /* @__PURE__ */ a(
|
|
71
|
+
content: /* @__PURE__ */ a(y, {}),
|
|
71
72
|
className: "quick-move",
|
|
72
73
|
sizeClass: "medium",
|
|
73
74
|
center: !0
|
|
@@ -85,7 +86,7 @@ class u extends (P = y) {
|
|
|
85
86
|
},
|
|
86
87
|
onSubmit: (r) => {
|
|
87
88
|
r.preventDefault();
|
|
88
|
-
const i = new FormData(n),
|
|
89
|
+
const i = new FormData(n), c = {
|
|
89
90
|
from: i.get("from"),
|
|
90
91
|
to: i.get("to"),
|
|
91
92
|
reason: i.get("reason") || "",
|
|
@@ -93,12 +94,12 @@ class u extends (P = y) {
|
|
|
93
94
|
movesubpages: i.get("movesubpages") === "on",
|
|
94
95
|
noredirect: i.get("noredirect") === "on"
|
|
95
96
|
};
|
|
96
|
-
o.setLoadingState(!0), this.movePage(
|
|
97
|
+
o.setLoadingState(!0), this.movePage(c).then(() => {
|
|
97
98
|
location.reload();
|
|
98
|
-
}).catch((
|
|
99
|
+
}).catch((s) => {
|
|
99
100
|
o.setLoadingState(!1), this.ctx.modal.notify("error", {
|
|
100
101
|
title: "Failed to move",
|
|
101
|
-
content:
|
|
102
|
+
content: s instanceof Error ? s.message : String(s)
|
|
102
103
|
});
|
|
103
104
|
});
|
|
104
105
|
},
|
|
@@ -125,7 +126,7 @@ class u extends (P = y) {
|
|
|
125
126
|
this.ctx.sitemeta.hasRight("suppressredirect") && /* @__PURE__ */ a("div", { children: /* @__PURE__ */ a(v, { name: "noredirect", id: "noredirect", checked: e?.noredirect, children: "Move without leaving a redirect" }) }),
|
|
126
127
|
/* @__PURE__ */ a(q, { label: "Reason", id: "reason", name: "reason", value: e?.reason }),
|
|
127
128
|
/* @__PURE__ */ a("div", { children: /* @__PURE__ */ a(
|
|
128
|
-
|
|
129
|
+
E,
|
|
129
130
|
{
|
|
130
131
|
type: "primary",
|
|
131
132
|
buttonProps: {
|
|
@@ -156,4 +157,4 @@ N(p, 1, u);
|
|
|
156
157
|
export {
|
|
157
158
|
u as PluginQuickMove
|
|
158
159
|
};
|
|
159
|
-
//# sourceMappingURL=index-
|
|
160
|
+
//# sourceMappingURL=index-C6PwuH_U.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-C6PwuH_U.js","sources":["../src/plugins/quick-move/index.tsx"],"sourcesContent":["import { Inject, InPageEdit } from '@/InPageEdit'\n\ndeclare module '@/InPageEdit' {\n interface InPageEdit {\n quickMove: PluginQuickMove['quickMove']\n movePage: PluginQuickMove['movePage']\n }\n}\n\nexport interface MovePageOptions {\n from: string\n to: string\n reason?: string\n movetalk?: boolean\n movesubpages?: boolean\n noredirect?: boolean\n}\nexport interface QuickMoveOptions extends Partial<MovePageOptions> {\n lockFromField?: boolean\n lockToField?: boolean\n}\n\n@Inject(['modal', 'sitemeta'])\nexport class PluginQuickMove extends BasePlugin {\n constructor(public ctx: InPageEdit) {\n super(ctx, {}, 'quick-move')\n ctx.set('quickMove', this.quickMove.bind(this))\n ctx.set('movePage', this.movePage.bind(this))\n }\n\n protected start(): Promise<void> | void {\n this.ctx.inject(['toolbox'], (ctx) => {\n this.injectToolbox(ctx)\n })\n }\n\n private injectToolbox(ctx: InPageEdit) {\n const curPageName = window.mw?.config.get('wgPageName') || ''\n const canEdit = window.mw?.config.get('wgIsProbablyEditable')\n ctx.toolbox.addButton({\n id: 'quick-move',\n icon: (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class=\"icon icon-tabler icons-tabler-outline icon-tabler-forms\"\n >\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path d=\"M12 3a3 3 0 0 0 -3 3v12a3 3 0 0 0 3 3\" />\n <path d=\"M6 3a3 3 0 0 1 3 3v12a3 3 0 0 1 -3 3\" />\n <path d=\"M13 7h7a1 1 0 0 1 1 1v8a1 1 0 0 1 -1 1h-7\" />\n <path d=\"M5 7h-1a1 1 0 0 0 -1 1v8a1 1 0 0 0 1 1h1\" />\n <path d=\"M17 12h.01\" />\n <path d=\"M13 12h.01\" />\n </svg>\n ),\n tooltip: 'Quick Move',\n group: 'group2',\n onClick: () => {\n this.quickMove(\n canEdit\n ? {\n lockFromField: true,\n from: curPageName,\n }\n : {}\n )\n },\n })\n }\n\n quickMove(options?: Partial<QuickMoveOptions>) {\n const modal = this.ctx.modal\n .createObject({\n title: 'Quick Move',\n content: (<ProgressBar />) as HTMLElement,\n className: 'quick-move',\n sizeClass: 'medium',\n center: true,\n })\n .init()\n\n let formRef: HTMLFormElement | null = null\n modal.setContent(\n (\n <form\n ref={(el) => (formRef = el)}\n style={{\n display: 'flex',\n flexDirection: 'column',\n gap: '1rem',\n }}\n onSubmit={(e) => {\n e.preventDefault()\n const formData = new FormData(formRef!)\n const options = {\n from: formData.get('from') as string,\n to: formData.get('to') as string,\n reason: (formData.get('reason') as string) || '',\n movetalk: formData.get('movetalk') === 'on',\n movesubpages: formData.get('movesubpages') === 'on',\n noredirect: formData.get('noredirect') === 'on',\n }\n modal.setLoadingState(true)\n this.movePage(options)\n .then(() => {\n location.reload()\n })\n .catch((error) => {\n modal.setLoadingState(false)\n this.ctx.modal.notify('error', {\n title: 'Failed to move',\n content: error instanceof Error ? error.message : String(error),\n })\n })\n }}\n >\n <TwinSwapInput\n inputs={[\n {\n label: 'Move from',\n name: 'from',\n value: options?.from,\n },\n {\n label: 'Move to',\n name: 'to',\n value: options?.to,\n },\n ]}\n />\n <div>\n <CheckBox name=\"movetalk\" id=\"movetalk\" checked={options?.movetalk}>\n Move talk page\n </CheckBox>\n </div>\n <div>\n <CheckBox name=\"movesubpages\" id=\"movesubpages\" checked={options?.movesubpages}>\n Move subpage(s) (up to 100)\n </CheckBox>\n </div>\n {this.ctx.sitemeta.hasRight('suppressredirect') && (\n <div>\n <CheckBox name=\"noredirect\" id=\"noredirect\" checked={options?.noredirect}>\n Move without leaving a redirect\n </CheckBox>\n </div>\n )}\n <InputBox label=\"Reason\" id=\"reason\" name=\"reason\" value={options?.reason} />\n <div>\n <ActionButton\n type=\"primary\"\n buttonProps={{\n style: {\n width: '100%',\n },\n }}\n >\n Move\n </ActionButton>\n </div>\n </form>\n ) as HTMLElement\n )\n\n return modal.show()\n }\n\n async movePage(options: MovePageOptions) {\n const { from, to, reason = '', ...rest } = options\n\n if (!from || !to) {\n throw new Error('From and to titles are required.')\n }\n if (from === to) {\n throw new Error('From and to titles cannot be the same.')\n }\n\n const wikiPage = await this.ctx.wikiPage.newFromTitle(from)\n return wikiPage.moveTo(to, reason, rest)\n }\n}\n"],"names":["_PluginQuickMove_decorators","_init","_a","Inject","PluginQuickMove","BasePlugin","ctx","curPageName","canEdit","jsxs","jsx","options","modal","ProgressBar","formRef","el","e","formData","error","TwinSwapInput","CheckBox","InputBox","ActionButton","from","to","reason","rest","__decoratorStart","__decorateElement","__runInitializers"],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { j as s, F as E, P as Q } from "./index-D3QOS3-Q.js";
|
|
2
|
+
import { BasePlugin as I, Inject as A, Schema as m } from "./index.js";
|
|
2
3
|
import { R as C } from "./Preferences-Bg3J5Ur9.js";
|
|
3
|
-
import { M as U, R as z } from "./RadioBox-
|
|
4
|
-
import { I as D, C as y } from "./
|
|
4
|
+
import { M as U, R as z } from "./RadioBox-CQ9xz5nk.js";
|
|
5
|
+
import { I as D, C as y } from "./InputBox-B-BAGjgs.js";
|
|
5
6
|
import { s as R } from "./sleep-DpyIipK-.js";
|
|
6
7
|
var h = /* @__PURE__ */ ((t) => (t.preferences = "preferences", t.watch = "watch", t.unwatch = "unwatch", t.nochange = "nochange", t))(h || {}), W = Object.create, x = Object.defineProperty, H = Object.getOwnPropertyDescriptor, $ = (t, e) => (e = Symbol[t]) ? e : Symbol.for("Symbol." + t), q = (t) => {
|
|
7
8
|
throw TypeError(t);
|
|
@@ -9,12 +10,12 @@ var h = /* @__PURE__ */ ((t) => (t.preferences = "preferences", t.watch = "watch
|
|
|
9
10
|
for (var i = 0, l = t[e >> 1], o = l && l.length; i < o; i++) l[i].call(r);
|
|
10
11
|
return c;
|
|
11
12
|
}, ee = (t, e, r, c, i, l) => {
|
|
12
|
-
var o, n, u, d = e & 7,
|
|
13
|
+
var o, n, u, d = e & 7, g = !1, a = 0, p = t[a] || (t[a] = []), f = d && (i = i.prototype, d < 5 && (d > 3 || !g) && H(i, r));
|
|
13
14
|
G(i, r);
|
|
14
15
|
for (var v = c.length - 1; v >= 0; v--)
|
|
15
|
-
u = J(d, r, n = {}, t[3],
|
|
16
|
-
return V(t, i), f && x(i, r, f),
|
|
17
|
-
}, M, _,
|
|
16
|
+
u = J(d, r, n = {}, t[3], p), o = (0, c[v])(i, u), n._ = 1, L(o) && (i = o);
|
|
17
|
+
return V(t, i), f && x(i, r, f), g ? d ^ 4 ? l : f : i;
|
|
18
|
+
}, M, _, N;
|
|
18
19
|
M = [A(["sitemeta", "quickEdit"]), C(
|
|
19
20
|
m.object({
|
|
20
21
|
redLinkEdit: m.boolean().description("Show quick edit entry after red links").default(!0)
|
|
@@ -23,7 +24,7 @@ M = [A(["sitemeta", "quickEdit"]), C(
|
|
|
23
24
|
redLinkEdit: !0
|
|
24
25
|
}
|
|
25
26
|
)];
|
|
26
|
-
class w extends (
|
|
27
|
+
class w extends (N = I) {
|
|
27
28
|
constructor(e) {
|
|
28
29
|
const r = e.sitemeta.mwConfig, c = r.wgArticlePath.replace("$1", ""), i = `${location.protocol}//${r.wgServer.split("//")[1]}`;
|
|
29
30
|
super(
|
|
@@ -112,22 +113,22 @@ class w extends (B = I) {
|
|
|
112
113
|
};
|
|
113
114
|
}
|
|
114
115
|
}
|
|
115
|
-
_ = K(
|
|
116
|
+
_ = K(N);
|
|
116
117
|
w = ee(_, 0, "PluginQuickEditInArticleLinks", M, w);
|
|
117
118
|
Z(_, 1, w);
|
|
118
119
|
const P = () => {
|
|
119
120
|
};
|
|
120
|
-
var te = Object.create, b = Object.defineProperty, ie = Object.getOwnPropertyDescriptor,
|
|
121
|
+
var te = Object.create, b = Object.defineProperty, ie = Object.getOwnPropertyDescriptor, B = (t, e) => (e = Symbol[t]) ? e : Symbol.for("Symbol." + t), O = (t) => {
|
|
121
122
|
throw TypeError(t);
|
|
122
|
-
}, re = (t, e, r) => e in t ? b(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r, ne = (t, e) => b(t, "name", { value: e, configurable: !0 }), oe = (t) => [, , , te(t?.[
|
|
123
|
+
}, re = (t, e, r) => e in t ? b(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r, ne = (t, e) => b(t, "name", { value: e, configurable: !0 }), oe = (t) => [, , , te(t?.[B("metadata")] ?? null)], se = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], T = (t) => t !== void 0 && typeof t != "function" ? O("Function expected") : t, ce = (t, e, r, c, i) => ({ kind: se[t], name: e, metadata: c, addInitializer: (l) => r._ ? O("Already initialized") : i.push(T(l || null)) }), ae = (t, e) => re(e, B("metadata"), t[3]), le = (t, e, r, c) => {
|
|
123
124
|
for (var i = 0, l = t[e >> 1], o = l && l.length; i < o; i++) l[i].call(r);
|
|
124
125
|
return c;
|
|
125
126
|
}, de = (t, e, r, c, i, l) => {
|
|
126
|
-
var o, n, u, d = e & 7,
|
|
127
|
+
var o, n, u, d = e & 7, g = !1, a = 0, p = t[a] || (t[a] = []), f = d && (i = i.prototype, d < 5 && (d > 3 || !g) && ie(i, r));
|
|
127
128
|
ne(i, r);
|
|
128
129
|
for (var v = c.length - 1; v >= 0; v--)
|
|
129
|
-
u = ce(d, r, n = {}, t[3],
|
|
130
|
-
return ae(t, i), f && b(i, r, f),
|
|
130
|
+
u = ce(d, r, n = {}, t[3], p), o = (0, c[v])(i, u), n._ = 1, T(o) && (i = o);
|
|
131
|
+
return ae(t, i), f && b(i, r, f), g ? d ^ 4 ? l : f : i;
|
|
131
132
|
}, j, S, F;
|
|
132
133
|
j = [A(["api", "wikiPage", "modal", "preferences"]), C(
|
|
133
134
|
m.object({
|
|
@@ -281,7 +282,7 @@ class k extends (F = I) {
|
|
|
281
282
|
!1
|
|
282
283
|
] });
|
|
283
284
|
n.setContent(d);
|
|
284
|
-
const
|
|
285
|
+
const g = n.generateButton({
|
|
285
286
|
side: "left",
|
|
286
287
|
className: "btn btn-primary submit-btn",
|
|
287
288
|
label: "Submit",
|
|
@@ -305,15 +306,15 @@ class k extends (F = I) {
|
|
|
305
306
|
title: "Submission Successful",
|
|
306
307
|
content: "Your changes have been saved."
|
|
307
308
|
}), a.get("reloadAfterSave") && (await R(500), location.reload());
|
|
308
|
-
}).catch((
|
|
309
|
+
}).catch((p) => {
|
|
309
310
|
this.ctx.modal.notify("error", {
|
|
310
311
|
title: "Submission Error",
|
|
311
|
-
content:
|
|
312
|
+
content: p instanceof Error ? p.message : String(p)
|
|
312
313
|
}), n.setLoadingState(!1);
|
|
313
314
|
});
|
|
314
315
|
}
|
|
315
316
|
});
|
|
316
|
-
n.get$buttons("leftButtons").prepend(
|
|
317
|
+
n.get$buttons("leftButtons").prepend(g), n.setOptions({
|
|
317
318
|
beforeClose: () => {
|
|
318
319
|
const a = u.revisions[0]?.content || "";
|
|
319
320
|
return (d.querySelector("textarea")?.value || "") === a ? !0 : (this.ctx.modal.confirm(
|
|
@@ -406,4 +407,4 @@ le(S, 1, k);
|
|
|
406
407
|
export {
|
|
407
408
|
k as PluginQuickEdit
|
|
408
409
|
};
|
|
409
|
-
//# sourceMappingURL=index-
|
|
410
|
+
//# sourceMappingURL=index-CavCnbOz.js.map
|