biso24-editor 1.3.0 → 1.3.2

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.
Files changed (53) hide show
  1. package/CKEditor4/CHANGES.md +2182 -2182
  2. package/CKEditor4/LICENSE.md +1436 -1436
  3. package/CKEditor4/README.md +39 -39
  4. package/CKEditor4/SECURITY.md +10 -10
  5. package/CKEditor4/adapters/jquery.js +158 -158
  6. package/CKEditor4/bender-runner.config.json +16 -16
  7. package/CKEditor4/build-config.js +100 -100
  8. package/CKEditor4/ckeditor.js +30065 -30065
  9. package/CKEditor4/config.js +39 -39
  10. package/CKEditor4/contents.css +161 -161
  11. package/CKEditor4/lang/vi.js +475 -475
  12. package/CKEditor4/plugins/a11yhelp/dialogs/a11yhelp.js +143 -143
  13. package/CKEditor4/plugins/a11yhelp/dialogs/lang/vi.js +122 -122
  14. package/CKEditor4/plugins/custompaste/plugin.js +57 -57
  15. package/CKEditor4/plugins/dialog/dialogDefinition.js +4 -4
  16. package/CKEditor4/plugins/dialog/styles/dialog.css +18 -18
  17. package/CKEditor4/plugins/font/lang/vi.js +14 -14
  18. package/CKEditor4/plugins/font/plugin.js +535 -535
  19. package/CKEditor4/plugins/image2/dialogs/image2.js +558 -558
  20. package/CKEditor4/plugins/image2/lang/vi.js +21 -21
  21. package/CKEditor4/plugins/image2/plugin.js +1716 -1708
  22. package/CKEditor4/plugins/justify/plugin.js +266 -266
  23. package/CKEditor4/plugins/justify_group/plugin.js +64 -64
  24. package/CKEditor4/plugins/lineheight/LICENSE +22 -22
  25. package/CKEditor4/plugins/lineheight/README.md +2 -2
  26. package/CKEditor4/plugins/lineheight/lang/vi.js +3 -3
  27. package/CKEditor4/plugins/lineheight/plugin.js +99 -99
  28. package/CKEditor4/plugins/lineheight/readme.txt +30 -30
  29. package/CKEditor4/plugins/link/dialogs/anchor.js +82 -82
  30. package/CKEditor4/plugins/link/dialogs/link.js +777 -777
  31. package/CKEditor4/plugins/menubutton/plugin.js +99 -99
  32. package/CKEditor4/plugins/pastefromword/filter/default.js +849 -849
  33. package/CKEditor4/plugins/pastetools/filter/common.js +445 -445
  34. package/CKEditor4/plugins/pastetools/filter/image.js +163 -163
  35. package/CKEditor4/plugins/pdffile/plugin.js +36 -36
  36. package/CKEditor4/plugins/placeholder_button/plugin.js +31 -31
  37. package/CKEditor4/plugins/sourcedialog/dialogs/sourcedialog.js +88 -88
  38. package/CKEditor4/plugins/sourcedialog/lang/vi.js +9 -9
  39. package/CKEditor4/plugins/sourcedialog/plugin.js +30 -30
  40. package/CKEditor4/plugins/wordfile/plugin.js +161 -161
  41. package/CKEditor4/skins/moono-lisa/dialog.css +685 -685
  42. package/CKEditor4/skins/moono-lisa/dialog_ie.css +721 -721
  43. package/CKEditor4/skins/moono-lisa/dialog_ie8.css +746 -746
  44. package/CKEditor4/skins/moono-lisa/dialog_iequirks.css +724 -724
  45. package/CKEditor4/skins/moono-lisa/editor.css +1551 -1551
  46. package/CKEditor4/skins/moono-lisa/editor_gecko.css +1556 -1556
  47. package/CKEditor4/skins/moono-lisa/editor_ie.css +1588 -1588
  48. package/CKEditor4/skins/moono-lisa/editor_ie8.css +1639 -1639
  49. package/CKEditor4/skins/moono-lisa/editor_iequirks.css +1632 -1632
  50. package/CKEditor4/skins/moono-lisa/readme.md +46 -46
  51. package/CKEditor4/styles.js +136 -136
  52. package/CKEditor4/vendor/promise.js +385 -385
  53. package/package.json +1 -1
@@ -1,143 +1,143 @@
1
- /*
2
- Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
3
- For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
- */
5
- CKEDITOR.dialog.add('a11yHelp', function (f) {
6
- function m(a) {
7
- for (var b, c, h = [], d = 0; d < g.length; d++)
8
- (c = g[d]), (b = a / g[d]), 1 < b && 2 >= b && ((a -= c), h.push(e[c]));
9
- h.push(e[a] || String.fromCharCode(a));
10
- return h.join('+');
11
- }
12
- function t(a, b) {
13
- var c = f.getCommandKeystroke(b, !0);
14
- return c.length ? CKEDITOR.tools.array.map(c, m).join(' / ') : a;
15
- }
16
- var a = f.lang.a11yhelp,
17
- b = f.lang.common.keyboard,
18
- p = CKEDITOR.tools.getNextId(),
19
- q = /\$\{(.*?)\}/g,
20
- g = [CKEDITOR.ALT, CKEDITOR.SHIFT, CKEDITOR.CTRL],
21
- e = {
22
- 8: b[8],
23
- 9: a.tab,
24
- 13: b[13],
25
- 16: b[16],
26
- 17: b[17],
27
- 18: b[18],
28
- 19: a.pause,
29
- 20: a.capslock,
30
- 27: a.escape,
31
- 33: a.pageUp,
32
- 34: a.pageDown,
33
- 35: b[35],
34
- 36: b[36],
35
- 37: a.leftArrow,
36
- 38: a.upArrow,
37
- 39: a.rightArrow,
38
- 40: a.downArrow,
39
- 45: a.insert,
40
- 46: b[46],
41
- 91: a.leftWindowKey,
42
- 92: a.rightWindowKey,
43
- 93: a.selectKey,
44
- 96: a.numpad0,
45
- 97: a.numpad1,
46
- 98: a.numpad2,
47
- 99: a.numpad3,
48
- 100: a.numpad4,
49
- 101: a.numpad5,
50
- 102: a.numpad6,
51
- 103: a.numpad7,
52
- 104: a.numpad8,
53
- 105: a.numpad9,
54
- 106: a.multiply,
55
- 107: a.add,
56
- 109: a.subtract,
57
- 110: a.decimalPoint,
58
- 111: a.divide,
59
- 112: a.f1,
60
- 113: a.f2,
61
- 114: a.f3,
62
- 115: a.f4,
63
- 116: a.f5,
64
- 117: a.f6,
65
- 118: a.f7,
66
- 119: a.f8,
67
- 120: a.f9,
68
- 121: a.f10,
69
- 122: a.f11,
70
- 123: a.f12,
71
- 144: a.numLock,
72
- 145: a.scrollLock,
73
- 186: a.semiColon,
74
- 187: a.equalSign,
75
- 188: a.comma,
76
- 189: a.dash,
77
- 190: a.period,
78
- 191: a.forwardSlash,
79
- 192: a.graveAccent,
80
- 219: a.openBracket,
81
- 220: a.backSlash,
82
- 221: a.closeBracket,
83
- 222: a.singleQuote,
84
- };
85
- e[CKEDITOR.ALT] = b[18];
86
- e[CKEDITOR.SHIFT] = b[16];
87
- e[CKEDITOR.CTRL] = CKEDITOR.env.mac ? b[224] : b[17];
88
- return {
89
- title: a.title,
90
- minWidth: 600,
91
- minHeight: 400,
92
- contents: [
93
- {
94
- id: 'info',
95
- label: f.lang.common.generalTab,
96
- expand: !0,
97
- elements: [
98
- {
99
- type: 'html',
100
- id: 'legends',
101
- style: 'white-space:normal;',
102
- focus: function () {
103
- this.getElement().focus();
104
- },
105
- html:
106
- (function () {
107
- for (
108
- var b =
109
- '\x3cdiv class\x3d"cke_accessibility_legend" role\x3d"document" aria-labelledby\x3d"' +
110
- p +
111
- '_arialbl" tabIndex\x3d"-1"\x3e%1\x3c/div\x3e\x3cspan id\x3d"' +
112
- p +
113
- '_arialbl" class\x3d"cke_voice_label"\x3e' +
114
- a.contents +
115
- ' \x3c/span\x3e',
116
- e = [],
117
- c = a.legend,
118
- h = c.length,
119
- d = 0;
120
- d < h;
121
- d++
122
- ) {
123
- for (var f = c[d], g = [], r = f.items, m = r.length, n = 0; n < m; n++) {
124
- var k = r[n],
125
- l = CKEDITOR.env.edge && k.legendEdge ? k.legendEdge : k.legend,
126
- l = l.replace(q, t);
127
- l.match(q) ||
128
- g.push('\x3cdt\x3e%1\x3c/dt\x3e\x3cdd\x3e%2\x3c/dd\x3e'.replace('%1', k.name).replace('%2', l));
129
- }
130
- e.push(
131
- '\x3ch1\x3e%1\x3c/h1\x3e\x3cdl\x3e%2\x3c/dl\x3e'.replace('%1', f.name).replace('%2', g.join('')),
132
- );
133
- }
134
- return b.replace('%1', e.join(''));
135
- })() +
136
- '\x3cstyle type\x3d"text/css"\x3e.cke_accessibility_legend{width:600px;height:400px;padding-right:5px;overflow-y:auto;overflow-x:hidden;}.cke_browser_quirks .cke_accessibility_legend,{height:390px}.cke_accessibility_legend *{white-space:normal;}.cke_accessibility_legend h1{font-size: 20px;border-bottom: 1px solid #AAA;margin: 5px 0px 15px;}.cke_accessibility_legend dl{margin-left: 5px;}.cke_accessibility_legend dt{font-size: 13px;font-weight: bold;}.cke_accessibility_legend dd{margin:10px}\x3c/style\x3e',
137
- },
138
- ],
139
- },
140
- ],
141
- buttons: [CKEDITOR.dialog.cancelButton],
142
- };
143
- });
1
+ /*
2
+ Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
3
+ For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ CKEDITOR.dialog.add('a11yHelp', function (f) {
6
+ function m(a) {
7
+ for (var b, c, h = [], d = 0; d < g.length; d++)
8
+ (c = g[d]), (b = a / g[d]), 1 < b && 2 >= b && ((a -= c), h.push(e[c]));
9
+ h.push(e[a] || String.fromCharCode(a));
10
+ return h.join('+');
11
+ }
12
+ function t(a, b) {
13
+ var c = f.getCommandKeystroke(b, !0);
14
+ return c.length ? CKEDITOR.tools.array.map(c, m).join(' / ') : a;
15
+ }
16
+ var a = f.lang.a11yhelp,
17
+ b = f.lang.common.keyboard,
18
+ p = CKEDITOR.tools.getNextId(),
19
+ q = /\$\{(.*?)\}/g,
20
+ g = [CKEDITOR.ALT, CKEDITOR.SHIFT, CKEDITOR.CTRL],
21
+ e = {
22
+ 8: b[8],
23
+ 9: a.tab,
24
+ 13: b[13],
25
+ 16: b[16],
26
+ 17: b[17],
27
+ 18: b[18],
28
+ 19: a.pause,
29
+ 20: a.capslock,
30
+ 27: a.escape,
31
+ 33: a.pageUp,
32
+ 34: a.pageDown,
33
+ 35: b[35],
34
+ 36: b[36],
35
+ 37: a.leftArrow,
36
+ 38: a.upArrow,
37
+ 39: a.rightArrow,
38
+ 40: a.downArrow,
39
+ 45: a.insert,
40
+ 46: b[46],
41
+ 91: a.leftWindowKey,
42
+ 92: a.rightWindowKey,
43
+ 93: a.selectKey,
44
+ 96: a.numpad0,
45
+ 97: a.numpad1,
46
+ 98: a.numpad2,
47
+ 99: a.numpad3,
48
+ 100: a.numpad4,
49
+ 101: a.numpad5,
50
+ 102: a.numpad6,
51
+ 103: a.numpad7,
52
+ 104: a.numpad8,
53
+ 105: a.numpad9,
54
+ 106: a.multiply,
55
+ 107: a.add,
56
+ 109: a.subtract,
57
+ 110: a.decimalPoint,
58
+ 111: a.divide,
59
+ 112: a.f1,
60
+ 113: a.f2,
61
+ 114: a.f3,
62
+ 115: a.f4,
63
+ 116: a.f5,
64
+ 117: a.f6,
65
+ 118: a.f7,
66
+ 119: a.f8,
67
+ 120: a.f9,
68
+ 121: a.f10,
69
+ 122: a.f11,
70
+ 123: a.f12,
71
+ 144: a.numLock,
72
+ 145: a.scrollLock,
73
+ 186: a.semiColon,
74
+ 187: a.equalSign,
75
+ 188: a.comma,
76
+ 189: a.dash,
77
+ 190: a.period,
78
+ 191: a.forwardSlash,
79
+ 192: a.graveAccent,
80
+ 219: a.openBracket,
81
+ 220: a.backSlash,
82
+ 221: a.closeBracket,
83
+ 222: a.singleQuote,
84
+ };
85
+ e[CKEDITOR.ALT] = b[18];
86
+ e[CKEDITOR.SHIFT] = b[16];
87
+ e[CKEDITOR.CTRL] = CKEDITOR.env.mac ? b[224] : b[17];
88
+ return {
89
+ title: a.title,
90
+ minWidth: 600,
91
+ minHeight: 400,
92
+ contents: [
93
+ {
94
+ id: 'info',
95
+ label: f.lang.common.generalTab,
96
+ expand: !0,
97
+ elements: [
98
+ {
99
+ type: 'html',
100
+ id: 'legends',
101
+ style: 'white-space:normal;',
102
+ focus: function () {
103
+ this.getElement().focus();
104
+ },
105
+ html:
106
+ (function () {
107
+ for (
108
+ var b =
109
+ '\x3cdiv class\x3d"cke_accessibility_legend" role\x3d"document" aria-labelledby\x3d"' +
110
+ p +
111
+ '_arialbl" tabIndex\x3d"-1"\x3e%1\x3c/div\x3e\x3cspan id\x3d"' +
112
+ p +
113
+ '_arialbl" class\x3d"cke_voice_label"\x3e' +
114
+ a.contents +
115
+ ' \x3c/span\x3e',
116
+ e = [],
117
+ c = a.legend,
118
+ h = c.length,
119
+ d = 0;
120
+ d < h;
121
+ d++
122
+ ) {
123
+ for (var f = c[d], g = [], r = f.items, m = r.length, n = 0; n < m; n++) {
124
+ var k = r[n],
125
+ l = CKEDITOR.env.edge && k.legendEdge ? k.legendEdge : k.legend,
126
+ l = l.replace(q, t);
127
+ l.match(q) ||
128
+ g.push('\x3cdt\x3e%1\x3c/dt\x3e\x3cdd\x3e%2\x3c/dd\x3e'.replace('%1', k.name).replace('%2', l));
129
+ }
130
+ e.push(
131
+ '\x3ch1\x3e%1\x3c/h1\x3e\x3cdl\x3e%2\x3c/dl\x3e'.replace('%1', f.name).replace('%2', g.join('')),
132
+ );
133
+ }
134
+ return b.replace('%1', e.join(''));
135
+ })() +
136
+ '\x3cstyle type\x3d"text/css"\x3e.cke_accessibility_legend{width:600px;height:400px;padding-right:5px;overflow-y:auto;overflow-x:hidden;}.cke_browser_quirks .cke_accessibility_legend,{height:390px}.cke_accessibility_legend *{white-space:normal;}.cke_accessibility_legend h1{font-size: 20px;border-bottom: 1px solid #AAA;margin: 5px 0px 15px;}.cke_accessibility_legend dl{margin-left: 5px;}.cke_accessibility_legend dt{font-size: 13px;font-weight: bold;}.cke_accessibility_legend dd{margin:10px}\x3c/style\x3e',
137
+ },
138
+ ],
139
+ },
140
+ ],
141
+ buttons: [CKEDITOR.dialog.cancelButton],
142
+ };
143
+ });
@@ -1,122 +1,122 @@
1
- /*
2
- Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
3
- For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
- */
5
- CKEDITOR.plugins.setLang('a11yhelp', 'vi', {
6
- title: 'Hướng dẫn trợ năng',
7
- contents: 'Nội dung Hỗ trợ. Nhấn ESC để đóng hộp thoại.',
8
- legend: [
9
- {
10
- name: 'Chung',
11
- items: [
12
- {
13
- name: 'Thanh công cụ soạn thảo',
14
- legend:
15
- 'Nhấn ${toolbarFocus} để điều hướng đến thanh công cụ. Nhấn TAB và SHIFT+TAB để chuyển đến nhóm thanh công cụ khác. Nhấn MŨI TÊN PHẢI hoặc MŨI TÊN TRÁI để chuyển sang nút khác trên thanh công cụ. Nhấn PHÍM CÁCH hoặc ENTER để kích hoạt nút trên thanh công cụ.',
16
- },
17
- {
18
- name: 'Hộp thoại Biên t',
19
- legend:
20
- 'Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively.',
21
- },
22
- {
23
- name: 'Trình đơn Ngữ cảnh cBộ soạn thảo',
24
- legend:
25
- 'Nhấn ${contextMenu} hoặc PHÍM ỨNG DỤNG để mở thực đơn ngữ cảnh. Sau đó nhấn TAB hoặc MŨI TÊN XUỐNG để di chuyển đến tuỳ chọn tiếp theo của thực đơn. Nhấn SHIFT+TAB hoặc MŨI TÊN LÊN để quay lại tuỳ chọn trước. Nhấn DẤU CÁCH hoặc ENTER để chọn tuỳ chọn của thực đơn. Nhấn DẤU CÁCH hoặc ENTER hoặc MŨI TÊN SANG PHẢI để mở thực đơn con của tuỳ chọn hiện tại. Nhấn ESC hoặc MŨI TÊN SANG TRÁI để quay trở lại thực đơn gốc. Nhấn ESC để đóng thực đơn ngữ cảnh.',
26
- },
27
- {
28
- name: 'Hộp danh sách trình biên tập',
29
- legend:
30
- 'Trong một danh sách chọn, di chuyển đối tượng tiếp theo với phím TAB hoặc phím mũi tên hướng xuống. Di chuyển đến đối tượng trước đó bằng cách nhấn tổ hợp phím SHIFT+TAB hoặc mũi tên hướng lên. Phím khoảng cách hoặc phím ENTER để chọn các tùy chọn trong danh sách. Nhấn phím ESC để đóng lại danh sách chọn.',
31
- },
32
- {
33
- name: 'Thanh đường dẫn các đối tượng',
34
- legend:
35
- 'Nhấn ${elementsPathFocus} để điều hướng các đối tượng trong thanh đường dẫn. Di chuyển đến đối tượng tiếp theo bằng phím TAB hoặc phím mũi tên bên phải. Di chuyển đến đối tượng trước đó bằng tổ hợp phím SHIFT+TAB hoặc phím mũi tên bên trái. Nhấn phím khoảng cách hoặc ENTER để chọn đối tượng trong trình soạn thảo.',
36
- },
37
- ],
38
- },
39
- {
40
- name: 'Lệnh',
41
- items: [
42
- { name: 'Làm lại lện', legend: 'Ấn ${undo}' },
43
- { name: 'Làm lại lệnh', legend: 'Ấn ${redo}' },
44
- { name: 'Lệnh in đậm', legend: 'Ấn ${bold}' },
45
- { name: 'Lệnh in nghiêng', legend: 'Ấn ${italic}' },
46
- { name: 'Lệnh gạch dưới', legend: 'Ấn ${underline}' },
47
- { name: 'Lệnh liên kết', legend: 'Nhấn ${link}' },
48
- { name: 'Lệnh hiển thị thanh công cụ', legend: 'Nhấn${toolbarCollapse}' },
49
- {
50
- name: 'Truy cập đến lệnh tập trung vào khoảng cách trước đó',
51
- legend:
52
- 'Ấn ${accessPreviousSpace} để truy cập đến phần tập trung khoảng cách sau phần còn sót lại của khoảng cách gần nhất vốn không tác động đến được , thí dụ: hai yếu tố điều chỉnh HR. Lặp lại các phím kết họep này để vươn đến phần khoảng cách.',
53
- },
54
- {
55
- name: 'Truy cập phần đối tượng lệnh khoảng trống',
56
- legend:
57
- 'Ấn ${accessNextSpace} để truy cập đến phần tập trung khoảng cách sau phần còn sót lại của khoảng cách gần nhất vốn không tác động đến được , thí dụ: hai yếu tố điều chỉnh HR. Lặp lại các phím kết họep này để vươn đến phần khoảng cách.',
58
- },
59
- { name: 'Trợ giúp liên quan', legend: 'Nhấn ${a11yHelp}' },
60
- {
61
- name: ' Paste as plain text',
62
- legend: 'Press ${pastetext}',
63
- legendEdge: 'Press ${pastetext}, followed by ${paste}',
64
- },
65
- ],
66
- },
67
- ],
68
- tab: 'Phím Tab',
69
- pause: 'Phím Pause',
70
- capslock: 'Phím Caps Lock',
71
- escape: 'Phím Escape',
72
- pageUp: 'Phím Page Up',
73
- pageDown: 'Phím Page Down',
74
- leftArrow: 'Phím Left Arrow',
75
- upArrow: 'Phím Up Arrow',
76
- rightArrow: 'Phím Right Arrow',
77
- downArrow: 'Phím Down Arrow',
78
- insert: 'Chèn',
79
- leftWindowKey: 'Phím Left Windows',
80
- rightWindowKey: 'Phím Right Windows ',
81
- selectKey: 'Chọn phím',
82
- numpad0: 'Phím 0',
83
- numpad1: 'Phím 1',
84
- numpad2: 'Phím 2',
85
- numpad3: 'Phím 3',
86
- numpad4: 'Phím 4',
87
- numpad5: 'Phím 5',
88
- numpad6: 'Phím 6',
89
- numpad7: 'Phím 7',
90
- numpad8: 'Phím 8',
91
- numpad9: 'Phím 9',
92
- multiply: 'Nhân',
93
- add: 'Thêm',
94
- subtract: 'Trừ',
95
- decimalPoint: 'Điểm số thập phân',
96
- divide: 'Chia',
97
- f1: 'F1',
98
- f2: 'F2',
99
- f3: 'F3',
100
- f4: 'F4',
101
- f5: 'F5',
102
- f6: 'F6',
103
- f7: 'F7',
104
- f8: 'F8',
105
- f9: 'F9',
106
- f10: 'F10',
107
- f11: 'F11',
108
- f12: 'F12',
109
- numLock: 'Num Lock',
110
- scrollLock: 'Scroll Lock',
111
- semiColon: 'Dấu chấm phẩy',
112
- equalSign: 'Đăng nhập bằng',
113
- comma: 'Dấu phẩy',
114
- dash: 'Dấu gạch ngang',
115
- period: 'Phím .',
116
- forwardSlash: 'Phím /',
117
- graveAccent: 'Phím `',
118
- openBracket: 'Open Bracket',
119
- backSlash: 'Dấu gạch chéo ngược',
120
- closeBracket: 'Gần giá đỡ',
121
- singleQuote: 'Trích dẫn',
122
- });
1
+ /*
2
+ Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
3
+ For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */
5
+ CKEDITOR.plugins.setLang('a11yhelp', 'vi', {
6
+ title: 'Hướng dẫn trợ năng',
7
+ contents: 'Nội dung Hỗ trợ. Nhấn ESC để đóng hộp thoại.',
8
+ legend: [
9
+ {
10
+ name: 'Chung',
11
+ items: [
12
+ {
13
+ name: 'Thanh công cụ soạn thảo',
14
+ legend:
15
+ 'Nhấn ${toolbarFocus} để điều hướng đến thanh công cụ. Nhấn TAB và SHIFT+TAB để chuyển đến nhóm thanh công cụ khác. Nhấn MŨI TÊN PHẢI hoặc MŨI TÊN TRÁI để chuyển sang nút khác trên thanh công cụ. Nhấn PHÍM CÁCH hoặc ENTER để kích hoạt nút trên thanh công cụ.',
16
+ },
17
+ {
18
+ name: 'Hộp thoại Biên t',
19
+ legend:
20
+ 'Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively.',
21
+ },
22
+ {
23
+ name: 'Trình đơn Ngữ cảnh cBộ soạn thảo',
24
+ legend:
25
+ 'Nhấn ${contextMenu} hoặc PHÍM ỨNG DỤNG để mở thực đơn ngữ cảnh. Sau đó nhấn TAB hoặc MŨI TÊN XUỐNG để di chuyển đến tuỳ chọn tiếp theo của thực đơn. Nhấn SHIFT+TAB hoặc MŨI TÊN LÊN để quay lại tuỳ chọn trước. Nhấn DẤU CÁCH hoặc ENTER để chọn tuỳ chọn của thực đơn. Nhấn DẤU CÁCH hoặc ENTER hoặc MŨI TÊN SANG PHẢI để mở thực đơn con của tuỳ chọn hiện tại. Nhấn ESC hoặc MŨI TÊN SANG TRÁI để quay trở lại thực đơn gốc. Nhấn ESC để đóng thực đơn ngữ cảnh.',
26
+ },
27
+ {
28
+ name: 'Hộp danh sách trình biên tập',
29
+ legend:
30
+ 'Trong một danh sách chọn, di chuyển đối tượng tiếp theo với phím TAB hoặc phím mũi tên hướng xuống. Di chuyển đến đối tượng trước đó bằng cách nhấn tổ hợp phím SHIFT+TAB hoặc mũi tên hướng lên. Phím khoảng cách hoặc phím ENTER để chọn các tùy chọn trong danh sách. Nhấn phím ESC để đóng lại danh sách chọn.',
31
+ },
32
+ {
33
+ name: 'Thanh đường dẫn các đối tượng',
34
+ legend:
35
+ 'Nhấn ${elementsPathFocus} để điều hướng các đối tượng trong thanh đường dẫn. Di chuyển đến đối tượng tiếp theo bằng phím TAB hoặc phím mũi tên bên phải. Di chuyển đến đối tượng trước đó bằng tổ hợp phím SHIFT+TAB hoặc phím mũi tên bên trái. Nhấn phím khoảng cách hoặc ENTER để chọn đối tượng trong trình soạn thảo.',
36
+ },
37
+ ],
38
+ },
39
+ {
40
+ name: 'Lệnh',
41
+ items: [
42
+ { name: 'Làm lại lện', legend: 'Ấn ${undo}' },
43
+ { name: 'Làm lại lệnh', legend: 'Ấn ${redo}' },
44
+ { name: 'Lệnh in đậm', legend: 'Ấn ${bold}' },
45
+ { name: 'Lệnh in nghiêng', legend: 'Ấn ${italic}' },
46
+ { name: 'Lệnh gạch dưới', legend: 'Ấn ${underline}' },
47
+ { name: 'Lệnh liên kết', legend: 'Nhấn ${link}' },
48
+ { name: 'Lệnh hiển thị thanh công cụ', legend: 'Nhấn${toolbarCollapse}' },
49
+ {
50
+ name: 'Truy cập đến lệnh tập trung vào khoảng cách trước đó',
51
+ legend:
52
+ 'Ấn ${accessPreviousSpace} để truy cập đến phần tập trung khoảng cách sau phần còn sót lại của khoảng cách gần nhất vốn không tác động đến được , thí dụ: hai yếu tố điều chỉnh HR. Lặp lại các phím kết họep này để vươn đến phần khoảng cách.',
53
+ },
54
+ {
55
+ name: 'Truy cập phần đối tượng lệnh khoảng trống',
56
+ legend:
57
+ 'Ấn ${accessNextSpace} để truy cập đến phần tập trung khoảng cách sau phần còn sót lại của khoảng cách gần nhất vốn không tác động đến được , thí dụ: hai yếu tố điều chỉnh HR. Lặp lại các phím kết họep này để vươn đến phần khoảng cách.',
58
+ },
59
+ { name: 'Trợ giúp liên quan', legend: 'Nhấn ${a11yHelp}' },
60
+ {
61
+ name: ' Paste as plain text',
62
+ legend: 'Press ${pastetext}',
63
+ legendEdge: 'Press ${pastetext}, followed by ${paste}',
64
+ },
65
+ ],
66
+ },
67
+ ],
68
+ tab: 'Phím Tab',
69
+ pause: 'Phím Pause',
70
+ capslock: 'Phím Caps Lock',
71
+ escape: 'Phím Escape',
72
+ pageUp: 'Phím Page Up',
73
+ pageDown: 'Phím Page Down',
74
+ leftArrow: 'Phím Left Arrow',
75
+ upArrow: 'Phím Up Arrow',
76
+ rightArrow: 'Phím Right Arrow',
77
+ downArrow: 'Phím Down Arrow',
78
+ insert: 'Chèn',
79
+ leftWindowKey: 'Phím Left Windows',
80
+ rightWindowKey: 'Phím Right Windows ',
81
+ selectKey: 'Chọn phím',
82
+ numpad0: 'Phím 0',
83
+ numpad1: 'Phím 1',
84
+ numpad2: 'Phím 2',
85
+ numpad3: 'Phím 3',
86
+ numpad4: 'Phím 4',
87
+ numpad5: 'Phím 5',
88
+ numpad6: 'Phím 6',
89
+ numpad7: 'Phím 7',
90
+ numpad8: 'Phím 8',
91
+ numpad9: 'Phím 9',
92
+ multiply: 'Nhân',
93
+ add: 'Thêm',
94
+ subtract: 'Trừ',
95
+ decimalPoint: 'Điểm số thập phân',
96
+ divide: 'Chia',
97
+ f1: 'F1',
98
+ f2: 'F2',
99
+ f3: 'F3',
100
+ f4: 'F4',
101
+ f5: 'F5',
102
+ f6: 'F6',
103
+ f7: 'F7',
104
+ f8: 'F8',
105
+ f9: 'F9',
106
+ f10: 'F10',
107
+ f11: 'F11',
108
+ f12: 'F12',
109
+ numLock: 'Num Lock',
110
+ scrollLock: 'Scroll Lock',
111
+ semiColon: 'Dấu chấm phẩy',
112
+ equalSign: 'Đăng nhập bằng',
113
+ comma: 'Dấu phẩy',
114
+ dash: 'Dấu gạch ngang',
115
+ period: 'Phím .',
116
+ forwardSlash: 'Phím /',
117
+ graveAccent: 'Phím `',
118
+ openBracket: 'Open Bracket',
119
+ backSlash: 'Dấu gạch chéo ngược',
120
+ closeBracket: 'Gần giá đỡ',
121
+ singleQuote: 'Trích dẫn',
122
+ });
@@ -1,57 +1,57 @@
1
- CKEDITOR.plugins.add('custompaste', {
2
- requires: 'clipboard',
3
- init: function (editor) {
4
- const isLink = (str) => {
5
- var urlRegex =
6
- '^(?!mailto:)(?:(?:http|https|ftp)://)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$';
7
- var url = new RegExp(urlRegex, 'i');
8
- return str.length < 2083 && url.test(str);
9
- };
10
-
11
- // Load for non-IE.
12
- if (CKEDITOR.env.ie) return;
13
- editor.on('paste', (e) => {
14
- if (e.data?.type === 'html') {
15
- const dataTransfer = e.data.dataTransfer;
16
- let htmlValue = dataTransfer.getData('text/html');
17
- // let filesCount = dataTransfer.getFilesCount();
18
- if (
19
- htmlValue &&
20
- e.editor.activeFilter &&
21
- e.editor.activeFilter.check('img[src]') &&
22
- CKEDITOR.pasteFilters.image
23
- ) {
24
- const listImages = CKEDITOR.pasteFilters.image.extractTagsFromHtml(htmlValue);
25
- const rtfData = dataTransfer.getData('text/rtf');
26
- htmlValue =
27
- 0 === listImages.length
28
- ? htmlValue
29
- : rtfData
30
- ? CKEDITOR.pasteFilters.image.format(htmlValue, rtfData, listImages)
31
- : CKEDITOR.pasteFilters.image.formatBlob(e.editor, htmlValue, listImages);
32
- }
33
- var filter = new CKEDITOR.filter(true);
34
- filter.allow({
35
- $1: {
36
- elements: CKEDITOR.dtd,
37
- attributes: true,
38
- styles: true,
39
- classes: true,
40
- },
41
- });
42
- var fragment = CKEDITOR.htmlParser.fragment.fromHtml(htmlValue);
43
- var writer = new CKEDITOR.htmlParser.basicWriter();
44
- filter.applyTo(fragment);
45
- fragment.writeHtml(writer);
46
- if (htmlValue) {
47
- //filesCount === 1
48
- e.data.dataValue = writer.getHtml();
49
- }
50
- } else if (e.data?.type === 'text') {
51
- if (e.data.dataValue && isLink(e.data.dataValue)) {
52
- e.data.dataValue = `<a href="${e.data.dataValue}">${e.data.dataValue}</a>`;
53
- }
54
- }
55
- });
56
- },
57
- });
1
+ CKEDITOR.plugins.add('custompaste', {
2
+ requires: 'clipboard',
3
+ init: function (editor) {
4
+ const isLink = (str) => {
5
+ var urlRegex =
6
+ '^(?!mailto:)(?:(?:http|https|ftp)://)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$';
7
+ var url = new RegExp(urlRegex, 'i');
8
+ return str.length < 2083 && url.test(str);
9
+ };
10
+
11
+ // Load for non-IE.
12
+ if (CKEDITOR.env.ie) return;
13
+ editor.on('paste', (e) => {
14
+ if (e.data?.type === 'html') {
15
+ const dataTransfer = e.data.dataTransfer;
16
+ let htmlValue = dataTransfer.getData('text/html');
17
+ // let filesCount = dataTransfer.getFilesCount();
18
+ if (
19
+ htmlValue &&
20
+ e.editor.activeFilter &&
21
+ e.editor.activeFilter.check('img[src]') &&
22
+ CKEDITOR.pasteFilters.image
23
+ ) {
24
+ const listImages = CKEDITOR.pasteFilters.image.extractTagsFromHtml(htmlValue);
25
+ const rtfData = dataTransfer.getData('text/rtf');
26
+ htmlValue =
27
+ 0 === listImages.length
28
+ ? htmlValue
29
+ : rtfData
30
+ ? CKEDITOR.pasteFilters.image.format(htmlValue, rtfData, listImages)
31
+ : CKEDITOR.pasteFilters.image.formatBlob(e.editor, htmlValue, listImages);
32
+ }
33
+ var filter = new CKEDITOR.filter(true);
34
+ filter.allow({
35
+ $1: {
36
+ elements: CKEDITOR.dtd,
37
+ attributes: true,
38
+ styles: true,
39
+ classes: true,
40
+ },
41
+ });
42
+ var fragment = CKEDITOR.htmlParser.fragment.fromHtml(htmlValue);
43
+ var writer = new CKEDITOR.htmlParser.basicWriter();
44
+ filter.applyTo(fragment);
45
+ fragment.writeHtml(writer);
46
+ if (htmlValue) {
47
+ //filesCount === 1
48
+ e.data.dataValue = writer.getHtml();
49
+ }
50
+ } else if (e.data?.type === 'text') {
51
+ if (e.data.dataValue && isLink(e.data.dataValue)) {
52
+ e.data.dataValue = `<a href="${e.data.dataValue}">${e.data.dataValue}</a>`;
53
+ }
54
+ }
55
+ });
56
+ },
57
+ });
@@ -1,4 +1,4 @@
1
- /*
2
- Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
3
- For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
- */
1
+ /*
2
+ Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
3
+ For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
4
+ */