Skip to content

Commit c58020b

Browse files
authored
refactor(Editform*): remove targetClassVe; change mount point for VE (qiuwenbaike#1702)
* refactor(Editform*): remove targetClassVe; change mount point for VE
1 parent 438b323 commit c58020b

File tree

11 files changed

+72
-266
lines changed

11 files changed

+72
-266
lines changed

dist/Editform_AiAssisted/Editform_AiAssisted.js

Lines changed: 5 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/Editform_Attribution/Editform_Attribution.js

Lines changed: 24 additions & 105 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Editform_AiAssisted/modules/processVisualEditor.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,18 @@
11
import * as OPTIONS from '~/Editform_AiAssisted/options.json';
22
import {getMessage} from './i18n';
33

4-
const processVisualEditor = ($body: JQuery<HTMLBodyElement>): void => {
4+
const processVisualEditor = (): void => {
55
// Guard against double inclusions
66
if (mw.config.get(OPTIONS.configKeyVe)) {
77
return;
88
}
99

10-
const $targetElement: JQuery = $body.find(`.${OPTIONS.targetClassVe}`);
11-
if (!$targetElement.length) {
12-
return;
13-
}
14-
1510
const {target} = window.ve.init;
1611
const {saveDialog, saveFields} = target;
1712
const {$saveCheckboxes} = saveDialog;
13+
if (!$saveCheckboxes.length) {
14+
return;
15+
}
1816

1917
// Set guard
2018
mw.config.set(OPTIONS.configKeyVe, true);

src/Editform_AiAssisted/options.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,5 @@
33
"configKey": "gadget-Editform_AiAssisted__Initialized",
44
"configKeyVe": "gadget-Editform_AiAssisted__Initialized__VE",
55
"inputId": "editform_ai_assisted",
6-
"targetClassVe": "ve-ui-mwSaveDialog-checkboxes",
76
"targetWikiEditor": ".editCheckboxes .oo-ui-horizontalLayout"
87
}

src/Editform_Attribution/modules/i18n.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,17 @@ const getI18nMessages = () => {
1717
'zh-hant': '許可證',
1818
}),
1919
'Sources and Licenses': localize({
20-
en: 'Sources and Licenses',
21-
'zh-hans': '内容来源及许可证',
22-
'zh-hant': '內容來源及許可證',
20+
en: 'Sources and licenses of third-party content',
21+
'zh-hans': '第三方内容的来源及许可证',
22+
'zh-hant': '第三方內容的來源及許可證',
2323
}),
2424
'Other License': localize({
2525
en: 'Other license',
2626
'zh-hans': '其他许可证',
2727
'zh-hant': '其他許可證',
2828
}),
2929
'Replace With License': localize({
30-
en: ' (Replace With license name and URL)',
30+
en: ' (Replace with license name and URL)',
3131
'zh-hans': '(替换为许可证名称和网址)',
3232
'zh-hant': '(替換爲許可證名稱和網址)',
3333
}),

src/Editform_Attribution/modules/processVisualEditor.ts

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,26 @@
11
import * as OPTIONS from '~/Editform_Attribution/options.json';
2-
import {generateVisualEditorCheckboxLayout} from './util/generateCheckboxLayout';
3-
import {getMessage} from './i18n';
2+
import {generateVisualEditorLayout} from './util/generateLayout';
43

54
const processVisualEditor = ({$body}: {$body: JQuery<HTMLBodyElement>}): void => {
65
// Guard against double inclusions
76
if (mw.config.get(OPTIONS.configKeyVe)) {
87
return;
98
}
109

11-
const $target: JQuery = $body.find(`.${OPTIONS.targetClassVe}`);
12-
if (!$target.length) {
10+
const {target} = window.ve.init;
11+
const {saveDialog} = target;
12+
const {$saveOptions} = saveDialog;
13+
if (!$saveOptions.length) {
1314
return;
1415
}
1516

17+
// Set guard
1618
mw.config.set(OPTIONS.configKeyVe, true);
1719

18-
const $layout = generateVisualEditorCheckboxLayout({
19-
inputId: OPTIONS.inputId,
20-
label: getMessage('ThirdPartyContentContained'),
21-
// changeTag: OPTIONS.changeTag,
22-
$body,
23-
});
20+
const $layout = generateVisualEditorLayout({$body});
2421

2522
if (!$body.find(`#${OPTIONS.inputId}`).length) {
26-
$target.append($layout);
23+
$saveOptions.append($layout);
2724
}
2825

2926
// Reinitialization is required for switching between VisualEditor and New Wikitext Editor (2017)

src/Editform_Attribution/modules/processWikiEditor.ts

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import * as OPTIONS from '~/Editform_Attribution/options.json';
2-
import {generateWikiEditorCheckboxLayout} from './util/generateCheckboxLayout';
3-
import {getMessage} from './i18n';
2+
import {generateWikiEditorLayout} from './util/generateLayout';
43

54
const processWikiEditor = ({$body, $editForm}: {$body: JQuery<HTMLBodyElement>; $editForm: JQuery}): void => {
65
// Guard against double inclusions
@@ -15,13 +14,7 @@ const processWikiEditor = ({$body, $editForm}: {$body: JQuery<HTMLBodyElement>;
1514

1615
mw.config.set(OPTIONS.configKey, true);
1716

18-
const $layout = generateWikiEditorCheckboxLayout({
19-
inputId: OPTIONS.inputId,
20-
label: getMessage('ThirdPartyContentContained'),
21-
// changeTag: OPTIONS.changeTag,
22-
$body,
23-
$editForm,
24-
});
17+
const $layout = generateWikiEditorLayout({$body, $editForm});
2518

2619
if (!$body.find(`#${OPTIONS.inputId}`).length) {
2720
$target.after($layout);

src/Editform_Attribution/modules/util/generateCheckboxLayout.ts

Lines changed: 0 additions & 70 deletions
This file was deleted.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import * as OPTIONS from '~/Editform_Attribution/options.json';
2+
import {generateTextInputWithDropdown} from './generateTextInputWithDropdown';
3+
4+
interface LayoutProps {
5+
$body: JQuery<HTMLElement>;
6+
}
7+
8+
const generateVisualEditorLayout = ({$body}: LayoutProps): JQuery<HTMLElement> => {
9+
const {target} = window.ve.init;
10+
const $wpSummary = target.saveDialog.editSummaryInput.$input;
11+
const textInputWithDropdown = generateTextInputWithDropdown({$body, $wpSummary});
12+
const $layout = $('<div>').attr('id', OPTIONS.inputId).append(textInputWithDropdown.$element);
13+
14+
return $layout;
15+
};
16+
17+
const generateWikiEditorLayout = ({$body, $editForm}: LayoutProps & {$editForm: JQuery}): JQuery<HTMLElement> => {
18+
const $wpSummary = $editForm.find('input[name=wpSummary]');
19+
const textInputWithDropdown = generateTextInputWithDropdown({$body, $wpSummary});
20+
const $layout = $('<div>').attr('id', OPTIONS.inputId).append(textInputWithDropdown.$element);
21+
22+
return $layout;
23+
};
24+
25+
export {generateVisualEditorLayout, generateWikiEditorLayout};

src/Editform_Attribution/modules/util/modifyChangeTag.ts

Lines changed: 0 additions & 52 deletions
This file was deleted.

0 commit comments

Comments
 (0)