@talrace/ngx-noder 0.0.28 → 0.0.29
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/assets/drag-and-drop-cursor.png +0 -0
- package/fesm2022/talrace-ngx-noder.mjs +409 -71
- package/fesm2022/talrace-ngx-noder.mjs.map +1 -1
- package/lib/editor/content/helpers/format.helper.d.ts +1 -0
- package/lib/editor/content/helpers/indexed-element.helper.d.ts +1 -0
- package/lib/editor/content/helpers/link.helper.d.ts +1 -0
- package/lib/editor/display/layers/cursor.layer.d.ts +1 -0
- package/lib/editor/display/render-changes.interface.d.ts +1 -0
- package/lib/editor/display/render-changes.model.d.ts +1 -0
- package/lib/editor/display/renderer.d.ts +5 -0
- package/lib/editor/display/virtual.renderer.d.ts +4 -0
- package/lib/editor/execution/edit.session.d.ts +5 -0
- package/lib/editor/execution/editor.d.ts +14 -2
- package/lib/editor/gadgets/drag-and-drop/drag-and-drop.d.ts +21 -0
- package/lib/editor/gadgets/history/operation-history.d.ts +3 -0
- package/lib/editor/gadgets/history/operation.type.d.ts +2 -1
- package/lib/editor/operations/enums/command-type.enum.d.ts +2 -1
- package/lib/editor/operations/helpers/contents-operations.helper.d.ts +5 -0
- package/lib/editor/operations/operations-helper.helper.d.ts +4 -1
- package/lib/editor/operations/save-commands.helper.d.ts +2 -0
- package/lib/editor/operations/target-operations.helper.d.ts +3 -1
- package/lib/models/generated/command.model.d.ts +2 -0
- package/lib/models/generated/link.model.d.ts +2 -0
- package/lib/models/generated/move-range.model.d.ts +9 -0
- package/lib/models/generated/text-style.model.d.ts +1 -0
- package/package.json +1 -1
- package/src/scss/base-editor.scss +15 -2
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { FormatModel } from '../../../models/generated/format.model';
|
|
2
2
|
export declare class FormatHelper {
|
|
3
3
|
static sliceSection(formats: FormatModel[], startIndex: number, endIndex: number): FormatModel[];
|
|
4
|
+
static shiftIndexes(formats: FormatModel[], offset: number): void;
|
|
4
5
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { InsertIndexInterface } from '../../../editor/positioning/insert-index.interface';
|
|
2
2
|
export declare class IndexedElementHelper {
|
|
3
3
|
static sliceSection<T extends InsertIndexInterface>(elements: T[], startIndex: number, endIndex: number): T[];
|
|
4
|
+
static shiftIndexes<T extends InsertIndexInterface>(elements: T[], offset: number): void;
|
|
4
5
|
}
|
|
@@ -2,6 +2,7 @@ import { FormatModel } from './../../../models/generated/format.model';
|
|
|
2
2
|
import { LinkModel } from '../../../models/generated/link.model';
|
|
3
3
|
export declare class LinkHelper {
|
|
4
4
|
static sliceSection(links: LinkModel[], start: number, end: number): LinkModel[];
|
|
5
|
+
static shiftIndexes(links: LinkModel[], offset: number): void;
|
|
5
6
|
static sliceFormats(links: LinkModel[], startIndex: number, endIndex: number): FormatModel[];
|
|
6
7
|
private static getPartialLink;
|
|
7
8
|
}
|
|
@@ -12,6 +12,7 @@ export declare class CursorLayer {
|
|
|
12
12
|
constructor(parentElement: HTMLElement, session: EditSession);
|
|
13
13
|
hideCursor(): void;
|
|
14
14
|
showCursor(): void;
|
|
15
|
+
showStaticCursor(): void;
|
|
15
16
|
detectVisibility(): void;
|
|
16
17
|
update(config: ILayerConfig): void;
|
|
17
18
|
getPixelPosition(position?: CursorParagraph): CursorPosition;
|
|
@@ -15,6 +15,7 @@ export declare class Renderer extends EventEmitting {
|
|
|
15
15
|
cursorLayer: CursorLayer;
|
|
16
16
|
textLayer: TextLayer;
|
|
17
17
|
selectionLayer: SelectionLayer;
|
|
18
|
+
dragAndDropSelectionLayer: SelectionLayer;
|
|
18
19
|
loop: RenderLoop;
|
|
19
20
|
textarea: HTMLElement;
|
|
20
21
|
layerConfig: ILayerConfig;
|
|
@@ -31,6 +32,8 @@ export declare class Renderer extends EventEmitting {
|
|
|
31
32
|
updateLines(firstRow: number, lastRow: number): void;
|
|
32
33
|
moveTextAreaToCursor(): void;
|
|
33
34
|
updateSelection(range: Range): void;
|
|
35
|
+
updateDragAndDropSelection(range: Range | null): void;
|
|
36
|
+
clearDragAndDropSelection(): void;
|
|
34
37
|
/**
|
|
35
38
|
* Triggers a full update of the text, for all the rows.
|
|
36
39
|
**/
|
|
@@ -45,12 +48,14 @@ export declare class Renderer extends EventEmitting {
|
|
|
45
48
|
*/
|
|
46
49
|
screenToTextCoordinatesUsingBoundary(x: number, y: number, rect?: DOMRect): CursorParagraph;
|
|
47
50
|
showCursor(): void;
|
|
51
|
+
showStaticCursor(): void;
|
|
48
52
|
hideCursor(): void;
|
|
49
53
|
destroy(): void;
|
|
50
54
|
renderFull(): void;
|
|
51
55
|
renderText(): void;
|
|
52
56
|
renderCursor(): void;
|
|
53
57
|
renderSelection(): void;
|
|
58
|
+
renderDragAndDropSelection(): void;
|
|
54
59
|
private computeLayerConfig;
|
|
55
60
|
private pagesCountChangedHandler;
|
|
56
61
|
private createContentContainer;
|
|
@@ -46,6 +46,8 @@ export declare class VirtualRenderer {
|
|
|
46
46
|
updateCachedSize(force: boolean, width: number, height: number): RenderChangesModel;
|
|
47
47
|
moveTextAreaToCursor(): void;
|
|
48
48
|
updateSelection(range: Range): void;
|
|
49
|
+
updateDragAndDropSelection(range: Range): void;
|
|
50
|
+
clearDragAndDropSelection(): void;
|
|
49
51
|
/**
|
|
50
52
|
* Triggers a full update of the text, for all the rows.
|
|
51
53
|
**/
|
|
@@ -61,6 +63,7 @@ export declare class VirtualRenderer {
|
|
|
61
63
|
screenToTextCoordinatesUsingBoundary(x: number, y: number, rect?: DOMRect): CursorParagraph;
|
|
62
64
|
showCursor(): void;
|
|
63
65
|
hideCursor(): void;
|
|
66
|
+
showStaticCursor(): void;
|
|
64
67
|
destroy(): void;
|
|
65
68
|
private computeLayerConfig;
|
|
66
69
|
private createScroller;
|
|
@@ -70,4 +73,5 @@ export declare class VirtualRenderer {
|
|
|
70
73
|
private renderText;
|
|
71
74
|
private renderCursor;
|
|
72
75
|
private renderSelection;
|
|
76
|
+
private renderDragAndDropSelection;
|
|
73
77
|
}
|
|
@@ -23,6 +23,7 @@ import { InsertTableModel } from '../../models/generated/insert-table.model';
|
|
|
23
23
|
import { InsertTabModel } from '../../models/generated/insert-tab.model';
|
|
24
24
|
import { LinkDataModel } from '../../models/generated/link-data.model';
|
|
25
25
|
import { LinkModel } from '../../models/generated/link.model';
|
|
26
|
+
import { MoveRangeModel } from '../../models/generated/move-range.model';
|
|
26
27
|
import { NumberingLevelModel } from '../../models/generated/numbering-level.model';
|
|
27
28
|
import { NumberingModel } from '../../models/generated/numbering.model';
|
|
28
29
|
import { PageType } from '../components/edges/page-type.enum';
|
|
@@ -108,6 +109,10 @@ export declare class EditSession {
|
|
|
108
109
|
insertLink(position: CursorParagraph, linkData: LinkDataModel): CursorParagraph;
|
|
109
110
|
insertTable(position: CursorParagraph, tableModel: InsertTableModel): CursorParagraph;
|
|
110
111
|
insertParagraph(position: CursorParagraph, paragraphModel: InsertParagraphModel): CursorParagraph;
|
|
112
|
+
removeMoveRange(moveModel: MoveRangeModel): RestoreModel;
|
|
113
|
+
restoreMoveRange(restoreModel: RestoreModel, moveModel: MoveRangeModel, _sourceSessionId: number): Range;
|
|
114
|
+
isPositionInRange(position: CursorParagraph, range: Range): boolean;
|
|
115
|
+
createRestoreFromSlice(paragraphStart: number, indexInStart: number, paragraphEnd: number, indexInEnd: number): RestoreModel;
|
|
111
116
|
addComponent<T extends BaseNoderComponent>(customElements: ComponentRef<T>[], model: CustomContent, componentType: Type<T>): void;
|
|
112
117
|
applyToolbarStyles(): void;
|
|
113
118
|
getStyleForCursor(index: number): TextStyleModel[];
|
|
@@ -7,6 +7,7 @@ import { CommandsService } from '../operations/commands.service';
|
|
|
7
7
|
import { CreateEdgesModel } from '../../models/generated/create-edges.model';
|
|
8
8
|
import { DocumentHandler } from '../interaction/document.handler';
|
|
9
9
|
import { DocxModel } from '../../models/generated/docx.model';
|
|
10
|
+
import { DragAndDrop } from '../gadgets/drag-and-drop/drag-and-drop';
|
|
10
11
|
import { EdgeType } from '../components/edges/edge-type.enum';
|
|
11
12
|
import { EditorService } from '../interaction/editor.service';
|
|
12
13
|
import { EditSession } from './edit.session';
|
|
@@ -24,6 +25,7 @@ import { InsertTabModel } from '../../models/generated/insert-tab.model';
|
|
|
24
25
|
import { LinkDataModel } from '../../models/generated/link-data.model';
|
|
25
26
|
import { LinkModel } from '../../models/generated/link.model';
|
|
26
27
|
import { MouseHandler } from '../interaction/mouse.handler';
|
|
28
|
+
import { MoveRangeModel } from '../../models/generated/move-range.model';
|
|
27
29
|
import { NumberingLevelModel } from '../../models/generated/numbering-level.model';
|
|
28
30
|
import { Operation } from '../gadgets/history/operation.type';
|
|
29
31
|
import { OperationHistory } from '../gadgets/history/operation-history';
|
|
@@ -38,6 +40,7 @@ import { RestoreModel } from '../../models/generated/restore.model';
|
|
|
38
40
|
import { SearchOptions } from '../gadgets/search/search';
|
|
39
41
|
import { SearchIteration } from '../gadgets/search/search-iteration.interface';
|
|
40
42
|
import { Selection } from '../positioning/selection';
|
|
43
|
+
import { SessionModel } from '../execution/targeting/session.model';
|
|
41
44
|
import { TargetModel } from '../../models/generated/target.model';
|
|
42
45
|
import { TextStyleModel } from '../../models/generated/text-style.model';
|
|
43
46
|
import { VirtualRenderer } from '../display/virtual.renderer';
|
|
@@ -67,6 +70,7 @@ export declare class Editor {
|
|
|
67
70
|
mouseHandler: MouseHandler;
|
|
68
71
|
inputHandler: InputHandler;
|
|
69
72
|
documentHandler: DocumentHandler;
|
|
73
|
+
dragAndDrop: DragAndDrop;
|
|
70
74
|
subscriptions: Subscription[];
|
|
71
75
|
private search;
|
|
72
76
|
private textInput;
|
|
@@ -132,8 +136,8 @@ export declare class Editor {
|
|
|
132
136
|
saveAddNumberingToHistory(templateLevels: NumberingLevelModel[], startIndex: number, endIndex: number): void;
|
|
133
137
|
saveRemoveNumberingToHistory(startIndex: number, endIndex: number): void;
|
|
134
138
|
private saveApplyImageStyleToHistory;
|
|
139
|
+
saveMoveRangeToHistory(redoModel: MoveRangeModel, sourceSession: SessionModel, sourceRange: Range): void;
|
|
135
140
|
private saveReplaceToHistory;
|
|
136
|
-
private createRestoreFromSlice;
|
|
137
141
|
createCustomElement(data: ElementDataModel): void;
|
|
138
142
|
removeSelected(): void;
|
|
139
143
|
removeParagraphAndSetParagraphToNumbering(): void;
|
|
@@ -150,17 +154,23 @@ export declare class Editor {
|
|
|
150
154
|
onFocus(): void;
|
|
151
155
|
onMouseClick(event: MouseEvent): void;
|
|
152
156
|
onLeftClick(event: MouseEvent): void;
|
|
157
|
+
onSelectionLeftClick(event: MouseEvent): void;
|
|
158
|
+
onShortLeftClick(event: MouseEvent, isSelectionClick?: boolean): void;
|
|
153
159
|
onDoubleClick(event: MouseEvent): void;
|
|
154
160
|
onTripleClick(event: MouseEvent): void;
|
|
155
161
|
onQuadClick(event: MouseEvent): void;
|
|
156
162
|
onMouseWheel(event: WheelEvent): void;
|
|
163
|
+
onDragStart(): void;
|
|
164
|
+
onDragMove(event: MouseEvent): void;
|
|
165
|
+
onDragDrop(sourceSession: SessionModel, sourceRange: Range): void;
|
|
166
|
+
moveRange(model: MoveRangeModel): void;
|
|
157
167
|
getLinkModel(event: MouseEvent): LinkModel;
|
|
158
168
|
setCurrentSession(element: HTMLElement): HTMLElement | null;
|
|
159
169
|
getCustomElement(element: HTMLElement): HTMLElement | null;
|
|
160
170
|
isInsideEdge(element: HTMLElement | null): boolean;
|
|
161
171
|
getParentEdge(element: HTMLElement | null): HTMLElement | null;
|
|
162
172
|
/**
|
|
163
|
-
* Returns the string of text
|
|
173
|
+
* Returns the string of text range.
|
|
164
174
|
*/
|
|
165
175
|
getSelectedText(): string;
|
|
166
176
|
initMainSession(): void;
|
|
@@ -212,6 +222,8 @@ export declare class Editor {
|
|
|
212
222
|
undoSubscription(): Subscription;
|
|
213
223
|
redoSubscription(): Subscription;
|
|
214
224
|
removeLeftSubscription(): Subscription;
|
|
225
|
+
private dragMoveSubscription;
|
|
226
|
+
private dragDropSubscription;
|
|
215
227
|
private printSubscription;
|
|
216
228
|
private cutSelectedSubscription;
|
|
217
229
|
private copySelectedSubscription;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Subject } from 'rxjs';
|
|
2
|
+
import { Range } from '../../positioning/range';
|
|
3
|
+
import { SessionModel } from '../../execution/targeting/session.model';
|
|
4
|
+
export declare class DragAndDrop {
|
|
5
|
+
private editorContainer;
|
|
6
|
+
onMove$: Subject<MouseEvent>;
|
|
7
|
+
onDrop$: Subject<{
|
|
8
|
+
sourceSession: SessionModel;
|
|
9
|
+
sourceRange: Range;
|
|
10
|
+
}>;
|
|
11
|
+
private isDragging;
|
|
12
|
+
private mouseMove$;
|
|
13
|
+
private mouseUp$;
|
|
14
|
+
private sourceSession;
|
|
15
|
+
private sourceRange;
|
|
16
|
+
constructor(editorContainer: HTMLElement);
|
|
17
|
+
onStart(session: SessionModel, range: Range): void;
|
|
18
|
+
destroyListeners(): void;
|
|
19
|
+
private onEnd;
|
|
20
|
+
private initListeners;
|
|
21
|
+
}
|
|
@@ -9,12 +9,14 @@ import { InsertLinkModel } from '../../../models/generated/insert-link.model';
|
|
|
9
9
|
import { InsertParagraphModel } from '../../../models/generated/insert-paragraph.model';
|
|
10
10
|
import { InsertTableModel } from '../../../models/generated/insert-table.model';
|
|
11
11
|
import { InsertTabModel } from '../../../models/generated/insert-tab.model';
|
|
12
|
+
import { MoveRangeModel } from '../../../models/generated/move-range.model';
|
|
12
13
|
import { NumberingLevelModel } from '../../../models/generated/numbering-level.model';
|
|
13
14
|
import { NumberingModel } from '../../../models/generated/numbering.model';
|
|
14
15
|
import { Operation } from './operation.type';
|
|
15
16
|
import { PageType } from '../../components/edges/page-type.enum';
|
|
16
17
|
import { ParagraphModel } from '../../../models/generated/paragraph.model';
|
|
17
18
|
import { ParagraphStyleModel } from '../../../models/generated/paragraph-style.model';
|
|
19
|
+
import { Range } from '../../positioning/range';
|
|
18
20
|
import { RegulatorService } from '../../execution/regulator.service';
|
|
19
21
|
import { RemoveParagraphAndAddNumberingModel } from '../../../models/generated/remove-paragraph-and-add-numbering.model';
|
|
20
22
|
import { ReplaceModel } from '../../../models/generated/replace.model';
|
|
@@ -51,6 +53,7 @@ export declare class OperationHistory {
|
|
|
51
53
|
pushApplyImageStyle(previous: ImageModel, current: ImageModel): void;
|
|
52
54
|
pushAddNumbering(startIndex: number, endIndex: number, levels: NumberingLevelModel[], paragraphs: ParagraphModel[], numberings: NumberingModel[]): void;
|
|
53
55
|
pushRemoveNumberings(startIndex: number, endIndex: number, numberings: NumberingModel[], paragraphs: ParagraphModel[]): void;
|
|
56
|
+
pushMoveRange(restore: MoveRangeModel, replace: MoveRangeModel, selection: Range): void;
|
|
54
57
|
pushReplace(restore: RestoreModel, replace: ReplaceModel): void;
|
|
55
58
|
pushRemoveParagraphAndSetParagraphToNumbering(restore: RestoreParagraphAndAddNumberingModel, remove: RemoveParagraphAndAddNumberingModel): void;
|
|
56
59
|
pushCreateEdges(pageType: PageType): void;
|
|
@@ -13,6 +13,7 @@ import { InsertTableModel } from '../../../models/generated/insert-table.model';
|
|
|
13
13
|
import { InsertTableRowsModel } from '../../../models/generated/insert-table-rows.model';
|
|
14
14
|
import { InsertTabModel } from '../../../models/generated/insert-tab.model';
|
|
15
15
|
import { InsertTextModel } from '../../../models/generated/insert-text.model';
|
|
16
|
+
import { MoveRangeModel } from '../../../models/generated/move-range.model';
|
|
16
17
|
import { RemoveEdgesModel } from '../../../models/generated/remove-edges.model';
|
|
17
18
|
import { RemoveNumberingsModel } from '../../../models/generated/remove-numberings.model';
|
|
18
19
|
import { RemoveParagraphAndAddNumberingModel } from '../../../models/generated/remove-paragraph-and-add-numbering.model';
|
|
@@ -26,4 +27,4 @@ import { RestoreParagraphAndAddNumberingModel } from '../../../models/generated/
|
|
|
26
27
|
import { RestoreParagraphStylesModel } from '../../../models/generated/restore-paragraph-styles.model';
|
|
27
28
|
import { RestoreTableModel } from '../../../models/generated/restore-table.model';
|
|
28
29
|
import { RestoreTextStylesModel } from '../../../models/generated/restore-text-styles.model';
|
|
29
|
-
export type Operation = InsertTextModel | DeleteModel | InsertStyledTextModel | RestoreModel | ApplyTextStyleModel | RestoreTextStylesModel | RestoreParagraphStylesModel | InsertElementModel | InsertBreakModel | ApplyImageStyleModel | AddNumberingModel | RestoreNumberingsModel | InsertParagraphModel | InsertTabModel | InsertTableColumnsModel | InsertTableRowsModel | RemoveTableColumnsModel | RemoveTableRowsModel | ResizeTableColumnsModel | RestoreTableModel | InsertTableModel | InsertImageModel | RemoveNumberingsModel | ReplaceModel | CreateEdgesModel | RemoveEdgesModel | RemoveParagraphAndAddNumberingModel | RestoreParagraphAndAddNumberingModel;
|
|
30
|
+
export type Operation = InsertTextModel | DeleteModel | InsertStyledTextModel | RestoreModel | ApplyTextStyleModel | RestoreTextStylesModel | RestoreParagraphStylesModel | InsertElementModel | InsertBreakModel | ApplyImageStyleModel | AddNumberingModel | RestoreNumberingsModel | InsertParagraphModel | InsertTabModel | InsertTableColumnsModel | InsertTableRowsModel | RemoveTableColumnsModel | RemoveTableRowsModel | ResizeTableColumnsModel | RestoreTableModel | InsertTableModel | InsertImageModel | RemoveNumberingsModel | ReplaceModel | MoveRangeModel | CreateEdgesModel | RemoveEdgesModel | RemoveParagraphAndAddNumberingModel | RestoreParagraphAndAddNumberingModel;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ContentsInterface } from '../../../editor/content/contents.interface';
|
|
2
|
+
import { RestoreModel } from '../../../models/generated/restore.model';
|
|
3
|
+
export declare class ContentsOperationsHelper {
|
|
4
|
+
static GetRestoreFromSlice(contents: ContentsInterface, startIndex: number, count: number): RestoreModel;
|
|
5
|
+
}
|
|
@@ -9,6 +9,7 @@ import { ImageDataModel } from '../../models/generated/image-data.model';
|
|
|
9
9
|
import { InsertElementModel } from '../../models/generated/insert-element.model';
|
|
10
10
|
import { InsertParagraphModel } from '../../models/generated/insert-paragraph.model';
|
|
11
11
|
import { InsertTableModel } from '../../models/generated/insert-table.model';
|
|
12
|
+
import { MoveRangeModel } from '../../models/generated/move-range.model';
|
|
12
13
|
import { NumberingLevelModel } from '../../models/generated/numbering-level.model';
|
|
13
14
|
import { NumberingModel } from '../../models/generated/numbering.model';
|
|
14
15
|
import { PageType } from '../components/edges/page-type.enum';
|
|
@@ -22,7 +23,9 @@ import { TableModel } from '../../models/generated/table.model';
|
|
|
22
23
|
import { TextStyleModel } from '../../models/generated/text-style.model';
|
|
23
24
|
export declare class OperationsHelper {
|
|
24
25
|
static applyOperations(document: DocxModel, commands: CommandModel[]): void;
|
|
25
|
-
static
|
|
26
|
+
static moveRange(document: DocxModel, model: MoveRangeModel): void;
|
|
27
|
+
static removeMoveRange(sourceContents: ContentsInterface, model: MoveRangeModel): RestoreModel;
|
|
28
|
+
static restoreMoveRange(targetContents: ContentsInterface, model: MoveRangeModel, restoreContents: RestoreModel): number;
|
|
26
29
|
static getContentWidth(document: DocxModel, contents: ContentsInterface): number;
|
|
27
30
|
static insertText(document: ContentsInterface, text: string, index: number): void;
|
|
28
31
|
static insertParagraph(document: ContentsInterface, index: number, model: InsertParagraphModel, contentWidth: number): string;
|
|
@@ -8,6 +8,7 @@ import { InsertLinkModel } from '../../models/generated/insert-link.model';
|
|
|
8
8
|
import { InsertParagraphModel } from '../../models/generated/insert-paragraph.model';
|
|
9
9
|
import { InsertTableModel } from '../../models/generated/insert-table.model';
|
|
10
10
|
import { InsertTabModel } from '../../models/generated/insert-tab.model';
|
|
11
|
+
import { MoveRangeModel } from '../../models/generated/move-range.model';
|
|
11
12
|
import { NumberingLevelModel } from '../../models/generated/numbering-level.model';
|
|
12
13
|
import { ParagraphModel } from '../../models/generated/paragraph.model';
|
|
13
14
|
import { ParagraphStyleModel } from '../../models/generated/paragraph-style.model';
|
|
@@ -46,6 +47,7 @@ export declare class SaveCommandsHelper {
|
|
|
46
47
|
static getRestoreParagraphStylesCommand(paragraphs: ParagraphModel[], targets: TargetModel[]): CommandModel;
|
|
47
48
|
static getRestoreCommand(restoreModel: RestoreModel, targets: TargetModel[]): CommandModel;
|
|
48
49
|
static getRestoreTableCommand(restoreTable: RestoreTableModel, targets: TargetModel[]): CommandModel;
|
|
50
|
+
static getMoveRangeCommand(model: MoveRangeModel, targets: TargetModel[]): CommandModel;
|
|
49
51
|
static getReplaceCommand(model: ReplaceModel, targets: TargetModel[]): CommandModel;
|
|
50
52
|
static getRemoveParagraphAndAddNumberingCommand(model: RemoveParagraphAndAddNumberingModel, targets: TargetModel[]): CommandModel;
|
|
51
53
|
static getRestoreParagraphAndAddNumberingCommand(model: RestoreParagraphAndAddNumberingModel, targets: TargetModel[]): CommandModel;
|
|
@@ -2,5 +2,7 @@ import { ContentsInterface } from '../content/contents.interface';
|
|
|
2
2
|
import { DocxModel } from '../../models/generated/docx.model';
|
|
3
3
|
import { TargetModel } from '../../models/generated/target.model';
|
|
4
4
|
export declare class TargetOperationsHelper {
|
|
5
|
-
static getContents(
|
|
5
|
+
static getContents(document: DocxModel, targets: TargetModel[]): ContentsInterface;
|
|
6
|
+
static isSame(first: TargetModel[], second: TargetModel[]): boolean;
|
|
7
|
+
static getTargetContents(contents: ContentsInterface, target: TargetModel, document: DocxModel): ContentsInterface;
|
|
6
8
|
}
|
|
@@ -15,6 +15,7 @@ import { InsertTableModel } from './insert-table.model';
|
|
|
15
15
|
import { InsertTableRowsModel } from './insert-table-rows.model';
|
|
16
16
|
import { InsertTabModel } from './insert-tab.model';
|
|
17
17
|
import { InsertTextModel } from './insert-text.model';
|
|
18
|
+
import { MoveRangeModel } from './move-range.model';
|
|
18
19
|
import { RemoveEdgesModel } from './remove-edges.model';
|
|
19
20
|
import { RemoveNumberingsModel } from './remove-numberings.model';
|
|
20
21
|
import { RemoveParagraphAndAddNumberingModel } from './remove-paragraph-and-add-numbering.model';
|
|
@@ -49,6 +50,7 @@ export declare class CommandModel {
|
|
|
49
50
|
insertTableColumns: InsertTableColumnsModel;
|
|
50
51
|
insertTableRows: InsertTableRowsModel;
|
|
51
52
|
insertText: InsertTextModel;
|
|
53
|
+
moveRange: MoveRangeModel;
|
|
52
54
|
removeEdges: RemoveEdgesModel;
|
|
53
55
|
removeNumberings: RemoveNumberingsModel;
|
|
54
56
|
removeParagraphAndAddNumbering: RemoveParagraphAndAddNumberingModel;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TargetModel } from './target.model';
|
|
2
|
+
export declare class MoveRangeModel {
|
|
3
|
+
sourceCount: number;
|
|
4
|
+
sourceStartIndex: number;
|
|
5
|
+
sourceTargets: TargetModel[];
|
|
6
|
+
targetIndex: number;
|
|
7
|
+
targetTargets: TargetModel[];
|
|
8
|
+
constructor(fields?: Partial<MoveRangeModel>);
|
|
9
|
+
}
|
package/package.json
CHANGED
|
@@ -51,6 +51,10 @@ div.ngx-colors-overlay.noder-color-picker-overlay .opened .colors {
|
|
|
51
51
|
text-align: left;
|
|
52
52
|
width: 100%;
|
|
53
53
|
height: 100%;
|
|
54
|
+
|
|
55
|
+
&.drag-and-drop-progress {
|
|
56
|
+
cursor: url('../../assets/drag-and-drop-cursor.png') 0 0, move;
|
|
57
|
+
}
|
|
54
58
|
}
|
|
55
59
|
|
|
56
60
|
.noder-scroller {
|
|
@@ -59,9 +63,13 @@ div.ngx-colors-overlay.noder-color-picker-overlay .opened .colors {
|
|
|
59
63
|
top: 0;
|
|
60
64
|
bottom: 0;
|
|
61
65
|
user-select: none;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.edit-container:not(.drag-and-drop-progress) .noder-scroller {
|
|
62
69
|
cursor: text;
|
|
63
70
|
}
|
|
64
71
|
|
|
72
|
+
|
|
65
73
|
.noder-scrollbar {
|
|
66
74
|
overflow: hidden scroll;
|
|
67
75
|
contain: strict;
|
|
@@ -266,8 +274,13 @@ div.ngx-colors-overlay.noder-color-picker-overlay .opened .colors {
|
|
|
266
274
|
z-index: 5;
|
|
267
275
|
}
|
|
268
276
|
|
|
269
|
-
.noder-selection-layer
|
|
270
|
-
|
|
277
|
+
.noder-selection-layer {
|
|
278
|
+
&.drag-and-drop-selection,
|
|
279
|
+
&.text-selection {
|
|
280
|
+
.noder-selection {
|
|
281
|
+
background-color: rgb(94, 168, 247, 0.4);
|
|
282
|
+
}
|
|
283
|
+
}
|
|
271
284
|
}
|
|
272
285
|
|
|
273
286
|
.noder-selection-layer.notes-highlight .noder-selection {
|