@makhmudov.kay/az-editor 0.1.0-beta.10 → 0.1.0-beta.11
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/CHANGELOG.md +5 -0
- package/README.md +2 -2
- package/dist/az-editor.js +20 -0
- package/docs/integration.ru.md +13 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# Изменения
|
|
2
2
|
|
|
3
|
+
## 0.1.0-beta.11
|
|
4
|
+
|
|
5
|
+
- Ctrl+Z отменяет, Ctrl+Y и Ctrl+Shift+Z повторяют действие в активном редакторе. Поддерживаются русская раскладка, Cmd на macOS, фокус на панели форматирования и развёрнутый режим.
|
|
6
|
+
- Сочетания используют историю движка один раз за нажатие. Поля ввода, вложенные диалоги и соседние редакторы сохраняют собственную обработку; режим чтения и `actionsDisabled` блокируют изменение истории документа.
|
|
7
|
+
|
|
3
8
|
## 0.1.0-beta.10
|
|
4
9
|
|
|
5
10
|
- Разворачивание редактора на всю страницу и возврат по кнопке/Escape без пересоздания документа и истории отмены. Поддерживаются `fullscreen`, `onFullscreenChange` и `ui.fullscreen`.
|
package/README.md
CHANGED
|
@@ -14,10 +14,10 @@ React-библиотека для редактирования DOCX и HTML-до
|
|
|
14
14
|
npm install @makhmudov.kay/az-editor@beta
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
Для воспроизводимой установки версии beta.
|
|
17
|
+
Для воспроизводимой установки версии beta.11:
|
|
18
18
|
|
|
19
19
|
```sh
|
|
20
|
-
npm install --save-exact @makhmudov.kay/az-editor@0.1.0-beta.
|
|
20
|
+
npm install --save-exact @makhmudov.kay/az-editor@0.1.0-beta.11
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
Требуются React и React DOM 19, Node.js `^24.15.0 || >=26.0.0` для установки/сборки,
|
package/dist/az-editor.js
CHANGED
|
@@ -2188,6 +2188,26 @@ var it = t(function(e, t) {
|
|
|
2188
2188
|
}
|
|
2189
2189
|
}
|
|
2190
2190
|
return i(() => () => f.current?.abort(), []), i(() => {
|
|
2191
|
+
let t = r.current;
|
|
2192
|
+
if (!t) return;
|
|
2193
|
+
let i = (r) => {
|
|
2194
|
+
if (r.defaultPrevented || r.isComposing || r.altKey || !(r.ctrlKey || r.metaKey)) return;
|
|
2195
|
+
let i = r.code || (r.key.toLowerCase() === "z" ? "KeyZ" : r.key.toLowerCase() === "y" ? "KeyY" : ""), a = i === "KeyZ" ? r.shiftKey ? "redo" : "undo" : i === "KeyY" && !r.shiftKey ? "redo" : null;
|
|
2196
|
+
if (!a || !(r.target instanceof Element) || r.target.closest(".az-editor-content") !== t) return;
|
|
2197
|
+
let o = r.target.closest("input, textarea, select, [contenteditable], [role=\"textbox\"], [role=\"combobox\"], [role=\"spinbutton\"]");
|
|
2198
|
+
if (o && !o.matches(".docx-pages[role=\"textbox\"]")) return;
|
|
2199
|
+
let s = r.target.closest("[role=\"dialog\"], dialog, [role=\"menu\"], [role=\"listbox\"]");
|
|
2200
|
+
if (s && t.contains(s)) return;
|
|
2201
|
+
r.preventDefault(), r.stopImmediatePropagation();
|
|
2202
|
+
let c = n.current?.getEditor(), l = c?.snapshot();
|
|
2203
|
+
!c || !l?.editable || l.isLoading || l.isOpening || l.parseError || e.mode === "view" || e.actionsDisabled || j.state === "loading" || (a === "undo" ? l.canUndo : l.canRedo) && c.exec({ type: a });
|
|
2204
|
+
};
|
|
2205
|
+
return t.addEventListener("keydown", i, !0), () => t.removeEventListener("keydown", i, !0);
|
|
2206
|
+
}, [
|
|
2207
|
+
e.mode,
|
|
2208
|
+
e.actionsDisabled,
|
|
2209
|
+
j.state
|
|
2210
|
+
]), i(() => {
|
|
2191
2211
|
let t = (t) => {
|
|
2192
2212
|
if (t.defaultPrevented || !(t.ctrlKey || t.metaKey) || t.altKey || t.shiftKey || !r.current || !k(r.current, t.target) || window.document.querySelector("[data-az-print-root]") || t.code !== "KeyS" && t.code !== "KeyO" && !(t.code === "KeyP" && I("print"))) return;
|
|
2193
2213
|
let n = t.code === "KeyS" ? e.onSave : t.code === "KeyO" ? e.onOpen : t.code === "KeyP" && I("print") ? () => void z() : void 0;
|
package/docs/integration.ru.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Интеграция Az Editor в React-приложение
|
|
2
2
|
|
|
3
|
-
Руководство описывает API `@makhmudov.kay/az-editor` версии `0.1.0-beta.
|
|
3
|
+
Руководство описывает API `@makhmudov.kay/az-editor` версии `0.1.0-beta.11`.
|
|
4
4
|
Поддержка серверного `page`, описанная ниже, добавлена в beta.5.
|
|
5
5
|
Совместимые исправления разрывов и строк таблиц добавлены в beta.6 и описаны ниже.
|
|
6
6
|
Исправление общей сетки таблиц и более строгая диагностика размеров добавлены в beta.7.
|
|
@@ -129,7 +129,7 @@ npm install @makhmudov.kay/az-editor@beta
|
|
|
129
129
|
Для фиксации опубликованной версии:
|
|
130
130
|
|
|
131
131
|
```sh
|
|
132
|
-
npm install --save-exact @makhmudov.kay/az-editor@0.1.0-beta.
|
|
132
|
+
npm install --save-exact @makhmudov.kay/az-editor@0.1.0-beta.11
|
|
133
133
|
```
|
|
134
134
|
|
|
135
135
|
Тег `beta` может указывать на более новую версию. Сохраняйте lockfile и проверяйте
|
|
@@ -753,6 +753,17 @@ Ctrl/Cmd+S/O/P обрабатываются адаптером внутри ак
|
|
|
753
753
|
приложении. Скрытое меню само по себе не отключает файловые сочетания клавиш.
|
|
754
754
|
Кнопкам своего UI внутри `<form>` задавайте `type="button"`.
|
|
755
755
|
|
|
756
|
+
### Отмена и повтор (beta.11)
|
|
757
|
+
|
|
758
|
+
Ctrl+Z отменяет последнее действие; Ctrl+Y или Ctrl+Shift+Z повторяют отменённое.
|
|
759
|
+
На macOS можно использовать Cmd вместо Ctrl. Сочетания определяются по физическим
|
|
760
|
+
клавишам Z/Y и работают также в русской раскладке, при фокусе на панели редактора,
|
|
761
|
+
при скрытом интерфейсе и после разворачивания на всю страницу.
|
|
762
|
+
|
|
763
|
+
Используется та же история, что у кнопок отмены/повтора. Обрабатывается только
|
|
764
|
+
активный редактор. Поля ввода и вложенные диалоги сохраняют собственные сочетания;
|
|
765
|
+
`mode="view"`, `actionsDisabled` и загрузка документа блокируют отмену/повтор.
|
|
766
|
+
|
|
756
767
|
### Масштаб, тема и язык
|
|
757
768
|
|
|
758
769
|
- `zoom={1}` — 100%; `zoom={1.25}` — 125%. `zoomMode={{ type: 'fixed' }}` закрепляет режим.
|