1
+ import { LayoutViewer , PageLayoutViewer , DocumentHelper } from '../../src/index' ;
2
+ import { DocumentEditor } from '../../src/document-editor/document-editor' ;
3
+ import { createElement } from '@syncfusion/ej2-base' ;
4
+ import { TestHelper } from '../test-helper.spec' ;
5
+ import { Selection } from '../../src/index' ;
6
+ import { TextPosition } from '../../src/index' ;
7
+ import { Point } from '../../src/document-editor/implementation/editor/editor-helper' ;
8
+ import { Editor } from '../../src/index' ;
9
+ import { EditorHistory } from '../../src/document-editor/implementation/editor-history/editor-history' ;
10
+ import { TableWidget , TableRowWidget , TableCellWidget } from '../../src/index' ;
11
+
12
+
13
+ describe ( 'Selection based Table middle Cell resize validation' , ( ) => {
14
+ let editor : DocumentEditor = undefined ;
15
+ let documentHelper : DocumentHelper ;
16
+ beforeAll ( ( ) : void => {
17
+ let ele : HTMLElement = createElement ( 'div' , {
18
+ id : 'container' ,
19
+ styles : 'width:100%;height:100%'
20
+ } ) ;
21
+ document . body . appendChild ( ele ) ;
22
+ editor = new DocumentEditor ( { enableEditor : true , enableSelection : true , isReadOnly : false } ) ;
23
+ DocumentEditor . Inject ( Editor , Selection , EditorHistory ) ; editor . enableEditorHistory = true ;
24
+ ( editor . documentHelper as any ) . containerCanvasIn = TestHelper . containerCanvas ;
25
+ ( editor . documentHelper as any ) . selectionCanvasIn = TestHelper . selectionCanvas ;
26
+ ( editor . documentHelper . render as any ) . pageCanvasIn = TestHelper . pageCanvas ;
27
+ ( editor . documentHelper . render as any ) . selectionCanvasIn = TestHelper . pageSelectionCanvas ;
28
+ editor . appendTo ( '#container' ) ;
29
+ } ) ;
30
+ afterAll ( ( done ) : void => {
31
+ editor . destroy ( ) ;
32
+ editor = undefined ;
33
+ document . body . removeChild ( document . getElementById ( 'container' ) ) ;
34
+ document . body . innerHTML = '' ;
35
+ setTimeout ( function ( ) {
36
+ done ( ) ;
37
+ } , 1000 ) ;
38
+ } ) ;
39
+ it ( 'Resize At middle cell' , ( ) => {
40
+ console . log ( 'Resize At middle cell' ) ;
41
+ documentHelper = editor . documentHelper ;
42
+ editor . openBlank ( ) ;
43
+ editor . editor . insertTable ( 2 , 2 ) ;
44
+ editor . selection . select ( '0;0;0;0;0;0' , '0;0;0;1;0;1' ) ;
45
+ editor . editorModule . tableResize . currentResizingTable = editor . selection . start . paragraph . associatedCell . ownerTable ;
46
+ editor . editorModule . tableResize . resizeNode = 0 ;
47
+ documentHelper . isRowOrCellResizing = true ;
48
+ editor . editorModule . tableResize . resizerPosition = 1 ;
49
+ editor . editorModule . tableResize . startingPoint = new Point ( 408 , 105 ) ;
50
+ let point : Point = new Point ( 499 , 103 ) ;
51
+ editor . editorModule . tableResize . handleResizing ( point ) ;
52
+ expect ( ( ( editor . editorModule . tableResize . currentResizingTable . childWidgets [ 0 ] as TableRowWidget ) . childWidgets [ 1 ] as TableCellWidget ) . cellFormat . cellWidth ) . toBe ( 143 ) ;
53
+ } ) ;
54
+
55
+ } ) ;
56
+
57
+ describe ( 'Selection based Table Last Cell resize validation' , ( ) => {
58
+ let editor : DocumentEditor = undefined ;
59
+ let documentHelper : DocumentHelper ;
60
+ beforeAll ( ( ) : void => {
61
+ let ele : HTMLElement = createElement ( 'div' , {
62
+ id : 'container' ,
63
+ styles : 'width:100%;height:100%'
64
+ } ) ;
65
+ document . body . appendChild ( ele ) ;
66
+ editor = new DocumentEditor ( { enableEditor : true , enableSelection : true , isReadOnly : false } ) ;
67
+ DocumentEditor . Inject ( Editor , Selection , EditorHistory ) ; editor . enableEditorHistory = true ;
68
+ ( editor . documentHelper as any ) . containerCanvasIn = TestHelper . containerCanvas ;
69
+ ( editor . documentHelper as any ) . selectionCanvasIn = TestHelper . selectionCanvas ;
70
+ ( editor . documentHelper . render as any ) . pageCanvasIn = TestHelper . pageCanvas ;
71
+ ( editor . documentHelper . render as any ) . selectionCanvasIn = TestHelper . pageSelectionCanvas ;
72
+ editor . appendTo ( '#container' ) ;
73
+ } ) ;
74
+ afterAll ( ( done ) : void => {
75
+ editor . destroy ( ) ;
76
+ editor = undefined ;
77
+ document . body . removeChild ( document . getElementById ( 'container' ) ) ;
78
+ document . body . innerHTML = '' ;
79
+ setTimeout ( function ( ) {
80
+ done ( ) ;
81
+ } , 1000 ) ;
82
+ } ) ;
83
+ it ( 'Resize At Last cell' , ( ) => {
84
+ console . log ( 'Resize At Last cell' ) ;
85
+ documentHelper = editor . documentHelper ;
86
+ editor . openBlank ( ) ;
87
+ editor . editor . insertTable ( 2 , 2 ) ;
88
+ editor . selection . select ( '0;0;1;0;0;0' , '0;0;1;1;0;1' ) ;
89
+ editor . editorModule . tableResize . currentResizingTable = editor . selection . start . paragraph . associatedCell . ownerTable ;
90
+ editor . editorModule . tableResize . resizeNode = 0 ;
91
+ documentHelper . isRowOrCellResizing = true ;
92
+ editor . editorModule . tableResize . resizerPosition = 2 ;
93
+ editor . editorModule . tableResize . startingPoint = new Point ( 719 , 127 ) ;
94
+ let point : Point = new Point ( 500 , 123 ) ;
95
+ editor . editorModule . tableResize . handleResizing ( point ) ;
96
+ expect ( ( ( editor . editorModule . tableResize . currentResizingTable . childWidgets [ 1 ] as TableRowWidget ) . childWidgets [ 1 ] as TableCellWidget ) . cellFormat . cellWidth ) . toBe ( 15 ) ;
97
+ } ) ;
98
+
99
+ } ) ;
100
+
101
+ describe ( 'Selection based Table first Cell resize validation' , ( ) => {
102
+ let editor : DocumentEditor = undefined ;
103
+ let documentHelper : DocumentHelper ;
104
+ beforeAll ( ( ) : void => {
105
+ let ele : HTMLElement = createElement ( 'div' , {
106
+ id : 'container' ,
107
+ styles : 'width:100%;height:100%'
108
+ } ) ;
109
+ document . body . appendChild ( ele ) ;
110
+ editor = new DocumentEditor ( { enableEditor : true , enableSelection : true , isReadOnly : false } ) ;
111
+ DocumentEditor . Inject ( Editor , Selection , EditorHistory ) ; editor . enableEditorHistory = true ;
112
+ ( editor . documentHelper as any ) . containerCanvasIn = TestHelper . containerCanvas ;
113
+ ( editor . documentHelper as any ) . selectionCanvasIn = TestHelper . selectionCanvas ;
114
+ ( editor . documentHelper . render as any ) . pageCanvasIn = TestHelper . pageCanvas ;
115
+ ( editor . documentHelper . render as any ) . selectionCanvasIn = TestHelper . pageSelectionCanvas ;
116
+ editor . appendTo ( '#container' ) ;
117
+ } ) ;
118
+ afterAll ( ( done ) : void => {
119
+ editor . destroy ( ) ;
120
+ editor = undefined ;
121
+ document . body . removeChild ( document . getElementById ( 'container' ) ) ;
122
+ document . body . innerHTML = '' ;
123
+ setTimeout ( function ( ) {
124
+ done ( ) ;
125
+ } , 1000 ) ;
126
+ } ) ;
127
+ it ( 'Resize At first cell' , ( ) => {
128
+ console . log ( 'Resize At first cell' ) ;
129
+ documentHelper = editor . documentHelper ;
130
+ editor . openBlank ( ) ;
131
+ editor . editor . insertTable ( 2 , 2 ) ;
132
+ editor . selection . select ( '0;0;1;0;0;0' , '0;0;1;1;0;1' ) ;
133
+ editor . editorModule . tableResize . currentResizingTable = editor . selection . start . paragraph . associatedCell . ownerTable ;
134
+ editor . editorModule . tableResize . resizeNode = 0 ;
135
+ documentHelper . isRowOrCellResizing = true ;
136
+ editor . editorModule . tableResize . resizerPosition = 0 ;
137
+ editor . editorModule . tableResize . startingPoint = new Point ( 96 , 122 ) ;
138
+ let point : Point = new Point ( 191 , 124 ) ;
139
+ editor . editorModule . tableResize . handleResizing ( point ) ;
140
+ expect ( ( ( editor . editorModule . tableResize . currentResizingTable . childWidgets [ 1 ] as TableRowWidget ) . childWidgets [ 0 ] as TableCellWidget ) . cellFormat . cellWidth ) . toBe ( 139 ) ;
141
+ } ) ;
142
+ } ) ;
0 commit comments