1
+ import { Component , ElementRef , Inject , NgZone , OnDestroy , OnInit , ViewChild } from '@angular/core' ;
2
+ import { MatSelectChange , MatSelectModule } from '@angular/material/select' ;
1
3
import {
2
- Component ,
3
- ElementRef ,
4
- Inject ,
5
- NgZone ,
6
- OnDestroy ,
7
- OnInit ,
8
- ViewChild
9
- } from '@angular/core' ;
10
- import { MatSelectChange , MatSelectModule } from '@angular/material/select' ;
11
- import {
12
- KtdDragEnd ,
13
- KtdDragStart ,
14
- ktdGridCompact ,
15
- KtdGridComponent ,
16
- KtdGridLayout ,
17
- KtdGridLayoutItem ,
18
- KtdResizeEnd ,
19
- KtdResizeStart ,
20
- ktdTrackById ,
21
- KtdGridItemComponent ,
22
- KtdGridItemPlaceholder
4
+ KtdDragEnd , KtdDragStart , ktdGridCompact , KtdGridComponent , KtdGridItemComponent , KtdGridItemPlaceholder , KtdGridLayout , KtdGridLayoutItem ,
5
+ KtdResizeEnd , KtdResizeStart , ktdTrackById
23
6
} from '@katoid/angular-grid-layout' ;
24
- import { ktdArrayRemoveItem } from '../utils' ;
25
- import { DOCUMENT , NgClass , NgFor , NgIf } from '@angular/common' ;
26
- import { MatCheckboxModule } from '@angular/material/checkbox' ;
27
- import { KtdFooterComponent } from '../components/footer/footer.component' ;
28
- import { ColorPickerModule } from 'ngx-color-picker' ;
29
- import { MatChipsModule } from '@angular/material/chips' ;
30
- import { MatInputModule } from '@angular/material/input' ;
31
- import { MatOptionModule } from '@angular/material/core' ;
32
- import { MatFormFieldModule } from '@angular/material/form-field' ;
33
- import { MatButtonModule } from '@angular/material/button' ;
34
- import { ktdGetOS } from './multi-item-handler.utils' ;
7
+ import { ktdArrayRemoveItem } from '../utils' ;
8
+ import { DOCUMENT , NgClass , NgFor } from '@angular/common' ;
9
+ import { MatCheckboxModule } from '@angular/material/checkbox' ;
10
+ import { KtdFooterComponent } from '../components/footer/footer.component' ;
11
+ import { ColorPickerModule } from 'ngx-color-picker' ;
12
+ import { MatChipsModule } from '@angular/material/chips' ;
13
+ import { MatInputModule } from '@angular/material/input' ;
14
+ import { MatOptionModule } from '@angular/material/core' ;
15
+ import { MatFormFieldModule } from '@angular/material/form-field' ;
16
+ import { MatButtonModule } from '@angular/material/button' ;
17
+ import { ktdGetOS } from './multi-item-handler.utils' ;
18
+ import { fromEvent , merge , Subscription } from 'rxjs' ;
19
+ import { debounceTime } from 'rxjs/operators' ;
20
+
21
+ const realLifeLayout : KtdGridLayout = [
22
+ { id : '0' , x : 0 , y : 0 , w : 62 , h : 3 } ,
23
+ { id : '1' , x : 15 , y : 5 , w : 17 , h : 4 } ,
24
+ { id : '2' , x : 1 , y : 11 , w : 61 , h : 1 } ,
25
+ { id : '3' , x : 1 , y : 12 , w : 15 , h : 1 } ,
26
+ { id : '4' , x : 1 , y : 13 , w : 8 , h : 3 } ,
27
+ { id : '5' , x : 9 , y : 13 , w : 7 , h : 3 } ,
28
+ { id : '6' , x : 16 , y : 12 , w : 15 , h : 1 } ,
29
+ { id : '7' , x : 16 , y : 13 , w : 8 , h : 3 } ,
30
+ { id : '8' , x : 24 , y : 13 , w : 7 , h : 3 } ,
31
+ { id : '9' , x : 31 , y : 12 , w : 15 , h : 1 } ,
32
+ { id : '10' , x : 31 , y : 13 , w : 8 , h : 3 } ,
33
+ { id : '11' , x : 39 , y : 13 , w : 7 , h : 3 } ,
34
+ { id : '12' , x : 46 , y : 12 , w : 15 , h : 1 } ,
35
+ { id : '13' , x : 46 , y : 17 , w : 8 , h : 3 } ,
36
+ { id : '14' , x : 54 , y : 13 , w : 7 , h : 3 } ,
37
+ { id : '15' , x : 1 , y : 16 , w : 15 , h : 1 } ,
38
+ { id : '16' , x : 1 , y : 17 , w : 8 , h : 3 } ,
39
+ { id : '17' , x : 9 , y : 17 , w : 7 , h : 3 } ,
40
+ { id : '18' , x : 16 , y : 16 , w : 15 , h : 1 } ,
41
+ { id : '19' , x : 16 , y : 17 , w : 8 , h : 3 } ,
42
+ { id : '20' , x : 24 , y : 17 , w : 7 , h : 3 } ,
43
+ { id : '21' , x : 31 , y : 16 , w : 15 , h : 1 } ,
44
+ { id : '22' , x : 31 , y : 17 , w : 8 , h : 3 } ,
45
+ { id : '23' , x : 39 , y : 17 , w : 7 , h : 3 } ,
46
+ { id : '24' , x : 46 , y : 16 , w : 15 , h : 1 } ,
47
+ { id : '25' , x : 46 , y : 13 , w : 8 , h : 3 } ,
48
+ { id : '26' , x : 1 , y : 21 , w : 60 , h : 1 } ,
49
+ { id : '27' , x : 0 , y : 9 , w : 62 , h : 1 } ,
50
+ { id : '28' , x : 32 , y : 5 , w : 16 , h : 4 } ,
51
+ { id : '29' , x : 1 , y : 22 , w : 15 , h : 1 } ,
52
+ { id : '30' , x : 1 , y : 23 , w : 8 , h : 3 } ,
53
+ { id : '31' , x : 9 , y : 23 , w : 7 , h : 3 } ,
54
+ { id : '32' , x : 1 , y : 31 , w : 60 , h : 1 } ,
55
+ { id : '33' , x : 1 , y : 41 , w : 59 , h : 1 } ,
56
+ { id : '34' , x : 16 , y : 22 , w : 15 , h : 1 } ,
57
+ { id : '35' , x : 16 , y : 23 , w : 8 , h : 3 } ,
58
+ { id : '36' , x : 24 , y : 23 , w : 7 , h : 3 } ,
59
+ { id : '37' , x : 31 , y : 32 , w : 15 , h : 1 } ,
60
+ { id : '38' , x : 31 , y : 23 , w : 8 , h : 3 } ,
61
+ { id : '39' , x : 39 , y : 23 , w : 7 , h : 3 } ,
62
+ { id : '40' , x : 46 , y : 22 , w : 15 , h : 1 } ,
63
+ { id : '41' , x : 46 , y : 23 , w : 8 , h : 3 } ,
64
+ { id : '42' , x : 54 , y : 23 , w : 7 , h : 3 } ,
65
+ { id : '43' , x : 12 , y : 49 , w : 50 , h : 8 } ,
66
+ { id : '44' , x : 0 , y : 50 , w : 12 , h : 2 } ,
67
+ { id : '45' , x : 0 , y : 52 , w : 6 , h : 4 } ,
68
+ { id : '46' , x : 6 , y : 52 , w : 6 , h : 4 } ,
69
+ { id : '47' , x : 0 , y : 49 , w : 12 , h : 1 } ,
70
+ { id : '48' , x : 0 , y : 48 , w : 62 , h : 1 } ,
71
+ { id : '49' , x : 0 , y : 98 , w : 12 , h : 2 } ,
72
+ { id : '50' , x : 0 , y : 100 , w : 6 , h : 4 } ,
73
+ { id : '51' , x : 6 , y : 100 , w : 6 , h : 4 } ,
74
+ { id : '52' , x : 1 , y : 26 , w : 15 , h : 1 } ,
75
+ { id : '53' , x : 1 , y : 27 , w : 8 , h : 3 } ,
76
+ { id : '54' , x : 9 , y : 27 , w : 7 , h : 3 } ,
77
+ { id : '55' , x : 1 , y : 32 , w : 15 , h : 1 } ,
78
+ { id : '56' , x : 1 , y : 36 , w : 15 , h : 1 } ,
79
+ { id : '57' , x : 1 , y : 33 , w : 8 , h : 3 } ,
80
+ { id : '58' , x : 9 , y : 33 , w : 7 , h : 3 } ,
81
+ { id : '59' , x : 31 , y : 33 , w : 8 , h : 3 } ,
82
+ { id : '60' , x : 16 , y : 32 , w : 15 , h : 1 } ,
83
+ { id : '61' , x : 39 , y : 33 , w : 7 , h : 3 } ,
84
+ { id : '62' , x : 31 , y : 22 , w : 15 , h : 1 } ,
85
+ { id : '63' , x : 16 , y : 33 , w : 8 , h : 3 } ,
86
+ { id : '64' , x : 54 , y : 33 , w : 7 , h : 3 } ,
87
+ { id : '65' , x : 24 , y : 33 , w : 7 , h : 3 } ,
88
+ { id : '66' , x : 46 , y : 33 , w : 8 , h : 3 } ,
89
+ { id : '67' , x : 46 , y : 32 , w : 15 , h : 1 } ,
90
+ { id : '68' , x : 1 , y : 37 , w : 8 , h : 3 } ,
91
+ { id : '69' , x : 9 , y : 37 , w : 7 , h : 3 } ,
92
+ { id : '70' , x : 16 , y : 36 , w : 15 , h : 1 } ,
93
+ { id : '71' , x : 31 , y : 36 , w : 15 , h : 1 } ,
94
+ { id : '72' , x : 24 , y : 37 , w : 7 , h : 3 } ,
95
+ { id : '73' , x : 39 , y : 37 , w : 7 , h : 3 } ,
96
+ { id : '74' , x : 46 , y : 36 , w : 15 , h : 1 } ,
97
+ { id : '75' , x : 16 , y : 37 , w : 8 , h : 3 } ,
98
+ { id : '76' , x : 31 , y : 37 , w : 8 , h : 3 } ,
99
+ { id : '77' , x : 1 , y : 42 , w : 15 , h : 1 } ,
100
+ { id : '78' , x : 1 , y : 43 , w : 8 , h : 3 } ,
101
+ { id : '79' , x : 9 , y : 43 , w : 7 , h : 3 } ,
102
+ { id : '80' , x : 31 , y : 42 , w : 15 , h : 1 } ,
103
+ { id : '81' , x : 46 , y : 42 , w : 15 , h : 1 } ,
104
+ { id : '82' , x : 16 , y : 42 , w : 15 , h : 1 } ,
105
+ { id : '83' , x : 24 , y : 43 , w : 7 , h : 3 } ,
106
+ { id : '84' , x : 16 , y : 43 , w : 8 , h : 3 } ,
107
+ { id : '85' , x : 39 , y : 43 , w : 7 , h : 3 } ,
108
+ { id : '86' , x : 54 , y : 43 , w : 7 , h : 3 } ,
109
+ { id : '87' , x : 31 , y : 43 , w : 8 , h : 3 } ,
110
+ { id : '88' , x : 46 , y : 43 , w : 8 , h : 3 } ,
111
+ { id : '89' , x : 0 , y : 56 , w : 12 , h : 2 } ,
112
+ { id : '90' , x : 12 , y : 57 , w : 50 , h : 8 } ,
113
+ { id : '91' , x : 0 , y : 60 , w : 6 , h : 4 } ,
114
+ { id : '92' , x : 6 , y : 60 , w : 6 , h : 4 } ,
115
+ { id : '93' , x : 0 , y : 58 , w : 12 , h : 2 } ,
116
+ { id : '94' , x : 0 , y : 66 , w : 12 , h : 2 } ,
117
+ { id : '95' , x : 0 , y : 68 , w : 6 , h : 4 } ,
118
+ { id : '96' , x : 6 , y : 68 , w : 6 , h : 4 } ,
119
+ { id : '97' , x : 0 , y : 74 , w : 12 , h : 2 } ,
120
+ { id : '98' , x : 0 , y : 76 , w : 6 , h : 4 } ,
121
+ { id : '99' , x : 6 , y : 76 , w : 6 , h : 4 } ,
122
+ { id : '100' , x : 0 , y : 82 , w : 12 , h : 2 } ,
123
+ { id : '101' , x : 0 , y : 84 , w : 6 , h : 4 } ,
124
+ { id : '102' , x : 6 , y : 84 , w : 6 , h : 4 } ,
125
+ { id : '103' , x : 0 , y : 90 , w : 12 , h : 2 } ,
126
+ { id : '104' , x : 0 , y : 92 , w : 6 , h : 4 } ,
127
+ { id : '105' , x : 6 , y : 92 , w : 6 , h : 4 } ,
128
+ { id : '106' , x : 16 , y : 26 , w : 15 , h : 1 } ,
129
+ { id : '107' , x : 16 , y : 27 , w : 8 , h : 3 } ,
130
+ { id : '108' , x : 24 , y : 27 , w : 7 , h : 3 } ,
131
+ { id : '109' , x : 0 , y : 80 , w : 12 , h : 2 } ,
132
+ { id : '110' , x : 0 , y : 72 , w : 12 , h : 2 } ,
133
+ { id : '111' , x : 0 , y : 88 , w : 12 , h : 2 } ,
134
+ { id : '112' , x : 0 , y : 64 , w : 12 , h : 2 } ,
135
+ { id : '113' , x : 0 , y : 96 , w : 12 , h : 2 } ,
136
+ { id : '114' , x : 0 , y : 104 , w : 12 , h : 2 } ,
137
+ { id : '115' , x : 0 , y : 106 , w : 12 , h : 2 } ,
138
+ { id : '116' , x : 6 , y : 108 , w : 6 , h : 4 } ,
139
+ { id : '117' , x : 0 , y : 108 , w : 6 , h : 4 } ,
140
+ { id : '118' , x : 0 , y : 112 , w : 12 , h : 2 } ,
141
+ { id : '119' , x : 0 , y : 120 , w : 12 , h : 2 } ,
142
+ { id : '120' , x : 0 , y : 128 , w : 12 , h : 2 } ,
143
+ { id : '121' , x : 0 , y : 144 , w : 12 , h : 2 } ,
144
+ { id : '122' , x : 0 , y : 114 , w : 12 , h : 2 } ,
145
+ { id : '123' , x : 0 , y : 116 , w : 6 , h : 4 } ,
146
+ { id : '124' , x : 6 , y : 116 , w : 6 , h : 4 } ,
147
+ { id : '125' , x : 0 , y : 122 , w : 12 , h : 2 } ,
148
+ { id : '126' , x : 0 , y : 130 , w : 12 , h : 2 } ,
149
+ { id : '127' , x : 0 , y : 124 , w : 6 , h : 4 } ,
150
+ { id : '128' , x : 6 , y : 124 , w : 6 , h : 4 } ,
151
+ { id : '129' , x : 0 , y : 132 , w : 6 , h : 4 } ,
152
+ { id : '130' , x : 6 , y : 132 , w : 6 , h : 4 } ,
153
+ { id : '131' , x : 0 , y : 136 , w : 12 , h : 2 } ,
154
+ { id : '132' , x : 0 , y : 138 , w : 12 , h : 2 } ,
155
+ { id : '133' , x : 6 , y : 140 , w : 6 , h : 4 } ,
156
+ { id : '134' , x : 0 , y : 140 , w : 6 , h : 4 } ,
157
+ { id : '135' , x : 0 , y : 146 , w : 12 , h : 2 } ,
158
+ { id : '136' , x : 0 , y : 148 , w : 6 , h : 4 } ,
159
+ { id : '137' , x : 6 , y : 148 , w : 6 , h : 4 } ,
160
+ { id : '138' , x : 0 , y : 154 , w : 12 , h : 2 } ,
161
+ { id : '139' , x : 0 , y : 156 , w : 6 , h : 4 } ,
162
+ { id : '140' , x : 6 , y : 156 , w : 6 , h : 4 } ,
163
+ { id : '141' , x : 0 , y : 170 , w : 12 , h : 2 } ,
164
+ { id : '142' , x : 0 , y : 164 , w : 6 , h : 4 } ,
165
+ { id : '143' , x : 6 , y : 164 , w : 6 , h : 4 } ,
166
+ { id : '144' , x : 0 , y : 160 , w : 12 , h : 2 } ,
167
+ { id : '145' , x : 0 , y : 152 , w : 12 , h : 2 } ,
168
+ { id : '146' , x : 0 , y : 162 , w : 12 , h : 2 } ,
169
+ { id : '147' , x : 0 , y : 168 , w : 12 , h : 2 } ,
170
+ { id : '148' , x : 0 , y : 176 , w : 12 , h : 2 } ,
171
+ { id : '149' , x : 6 , y : 172 , w : 6 , h : 4 } ,
172
+ { id : '150' , x : 0 , y : 172 , w : 6 , h : 4 } ,
173
+ { id : '151' , x : 0 , y : 186 , w : 12 , h : 2 } ,
174
+ { id : '152' , x : 0 , y : 210 , w : 12 , h : 2 } ,
175
+ { id : '153' , x : 0 , y : 212 , w : 6 , h : 4 } ,
176
+ { id : '154' , x : 6 , y : 212 , w : 6 , h : 4 } ,
177
+ { id : '155' , x : 0 , y : 218 , w : 12 , h : 2 } ,
178
+ { id : '156' , x : 0 , y : 220 , w : 6 , h : 4 } ,
179
+ { id : '157' , x : 6 , y : 220 , w : 6 , h : 4 } ,
180
+ { id : '158' , x : 0 , y : 226 , w : 12 , h : 2 } ,
181
+ { id : '159' , x : 0 , y : 228 , w : 6 , h : 4 } ,
182
+ { id : '160' , x : 6 , y : 228 , w : 6 , h : 4 } ,
183
+ { id : '161' , x : 0 , y : 234 , w : 12 , h : 2 } ,
184
+ { id : '162' , x : 0 , y : 236 , w : 6 , h : 4 } ,
185
+ { id : '163' , x : 6 , y : 236 , w : 6 , h : 4 } ,
186
+ { id : '164' , x : 0 , y : 178 , w : 12 , h : 2 } ,
187
+ { id : '165' , x : 0 , y : 184 , w : 12 , h : 2 } ,
188
+ { id : '166' , x : 0 , y : 194 , w : 12 , h : 2 } ,
189
+ { id : '167' , x : 0 , y : 192 , w : 12 , h : 2 } ,
190
+ { id : '168' , x : 0 , y : 196 , w : 6 , h : 4 } ,
191
+ { id : '169' , x : 6 , y : 196 , w : 6 , h : 4 } ,
192
+ { id : '170' , x : 0 , y : 200 , w : 12 , h : 2 } ,
193
+ { id : '171' , x : 0 , y : 202 , w : 12 , h : 2 } ,
194
+ { id : '172' , x : 0 , y : 208 , w : 12 , h : 2 } ,
195
+ { id : '173' , x : 0 , y : 232 , w : 12 , h : 2 } ,
196
+ { id : '174' , x : 0 , y : 224 , w : 12 , h : 2 } ,
197
+ { id : '175' , x : 0 , y : 216 , w : 12 , h : 2 } ,
198
+ { id : '176' , x : 54 , y : 17 , w : 7 , h : 3 } ,
199
+ { id : '177' , x : 12 , y : 65 , w : 50 , h : 8 } ,
200
+ { id : '178' , x : 12 , y : 73 , w : 50 , h : 8 } ,
201
+ { id : '179' , x : 12 , y : 81 , w : 50 , h : 8 } ,
202
+ { id : '180' , x : 46 , y : 37 , w : 8 , h : 3 } ,
203
+ { id : '181' , x : 12 , y : 89 , w : 50 , h : 8 } ,
204
+ { id : '182' , x : 12 , y : 97 , w : 50 , h : 8 } ,
205
+ { id : '183' , x : 12 , y : 105 , w : 50 , h : 8 } ,
206
+ { id : '184' , x : 12 , y : 113 , w : 50 , h : 8 } ,
207
+ { id : '185' , x : 12 , y : 121 , w : 50 , h : 8 } ,
208
+ { id : '186' , x : 12 , y : 129 , w : 50 , h : 8 } ,
209
+ { id : '187' , x : 12 , y : 137 , w : 50 , h : 8 } ,
210
+ { id : '188' , x : 12 , y : 145 , w : 50 , h : 8 } ,
211
+ { id : '189' , x : 12 , y : 153 , w : 50 , h : 8 } ,
212
+ { id : '190' , x : 12 , y : 161 , w : 50 , h : 8 } ,
213
+ { id : '191' , x : 12 , y : 169 , w : 50 , h : 8 } ,
214
+ { id : '192' , x : 12 , y : 177 , w : 50 , h : 8 } ,
215
+ { id : '193' , x : 6 , y : 180 , w : 6 , h : 4 } ,
216
+ { id : '194' , x : 0 , y : 180 , w : 6 , h : 4 } ,
217
+ { id : '195' , x : 6 , y : 188 , w : 6 , h : 4 } ,
218
+ { id : '196' , x : 0 , y : 188 , w : 6 , h : 4 } ,
219
+ { id : '197' , x : 12 , y : 185 , w : 50 , h : 8 } ,
220
+ { id : '198' , x : 12 , y : 193 , w : 50 , h : 8 } ,
221
+ { id : '199' , x : 12 , y : 209 , w : 50 , h : 8 } ,
222
+ { id : '200' , x : 12 , y : 201 , w : 50 , h : 8 } ,
223
+ { id : '201' , x : 12 , y : 217 , w : 50 , h : 8 } ,
224
+ { id : '202' , x : 12 , y : 225 , w : 50 , h : 8 } ,
225
+ { id : '203' , x : 12 , y : 233 , w : 50 , h : 8 } ,
226
+ { id : '204' , x : 0 , y : 30 , w : 62 , h : 1 } ,
227
+ { id : '205' , x : 0 , y : 46 , w : 62 , h : 2 } ,
228
+ { id : '206' , x : 0 , y : 20 , w : 62 , h : 1 } ,
229
+ { id : '207' , x : 0 , y : 40 , w : 62 , h : 1 } ,
230
+ { id : '208' , x : 54 , y : 37 , w : 7 , h : 3 } ,
231
+ { id : '209' , x : 0 , y : 10 , w : 62 , h : 1 } ,
232
+ { id : '210' , x : 46 , y : 26 , w : 15 , h : 1 } ,
233
+ { id : '211' , x : 31 , y : 26 , w : 15 , h : 1 } ,
234
+ { id : '212' , x : 31 , y : 27 , w : 8 , h : 3 } ,
235
+ { id : '213' , x : 46 , y : 27 , w : 8 , h : 3 } ,
236
+ { id : '214' , x : 54 , y : 27 , w : 7 , h : 3 } ,
237
+ { id : '215' , x : 39 , y : 27 , w : 7 , h : 3 } ,
238
+ { id : '216' , x : 0 , y : 3 , w : 62 , h : 2 } ,
239
+ { id : '217' , x : 0 , y : 204 , w : 6 , h : 4 } ,
240
+ { id : '218' , x : 6 , y : 204 , w : 6 , h : 4 }
241
+ ] ;
242
+ const realLifeLayoutSmall : KtdGridLayout = [
243
+ { id : '2' , x : 1 , y : 0 , w : 61 , h : 1 } ,
244
+ { id : '3' , x : 1 , y : 1 , w : 15 , h : 1 } ,
245
+ { id : '4' , x : 1 , y : 2 , w : 8 , h : 3 } ,
246
+ { id : '5' , x : 9 , y : 2 , w : 7 , h : 3 } ,
247
+ { id : '6' , x : 16 , y : 1 , w : 15 , h : 1 } ,
248
+ { id : '7' , x : 16 , y : 2 , w : 8 , h : 3 } ,
249
+ { id : '8' , x : 24 , y : 2 , w : 7 , h : 3 } ,
250
+ { id : '9' , x : 31 , y : 1 , w : 15 , h : 1 } ,
251
+ { id : '10' , x : 31 , y : 2 , w : 8 , h : 3 } ,
252
+ { id : '11' , x : 39 , y : 2 , w : 7 , h : 3 } ,
253
+ { id : '12' , x : 46 , y : 1 , w : 15 , h : 1 } ,
254
+ { id : '13' , x : 46 , y : 6 , w : 8 , h : 3 } ,
255
+ { id : '14' , x : 54 , y : 2 , w : 7 , h : 3 } ,
256
+ { id : '15' , x : 1 , y : 5 , w : 15 , h : 1 } ,
257
+ { id : '16' , x : 1 , y : 6 , w : 8 , h : 3 } ,
258
+ { id : '17' , x : 9 , y : 6 , w : 7 , h : 3 } ,
259
+ { id : '18' , x : 16 , y : 5 , w : 15 , h : 1 } ,
260
+ { id : '19' , x : 16 , y : 6 , w : 8 , h : 3 } ,
261
+ { id : '20' , x : 24 , y : 6 , w : 7 , h : 3 } ,
262
+ { id : '21' , x : 31 , y : 5 , w : 15 , h : 1 } ,
263
+ { id : '22' , x : 31 , y : 6 , w : 8 , h : 3 } ,
264
+ { id : '23' , x : 39 , y : 6 , w : 7 , h : 3 } ,
265
+ { id : '24' , x : 46 , y : 5 , w : 15 , h : 1 } ,
266
+ { id : '25' , x : 46 , y : 2 , w : 8 , h : 3 } ,
267
+ { id : '32' , x : 1 , y : 9 , w : 60 , h : 1 } ,
268
+ { id : '39' , x : 54 , y : 6 , w : 7 , h : 3 }
269
+ ] ;
35
270
36
271
@Component ( {
37
272
standalone : true ,
@@ -59,25 +294,14 @@ export class KtdMultiItemHandlerComponent implements OnInit, OnDestroy {
59
294
@ViewChild ( KtdGridComponent , { static : true } ) grid : KtdGridComponent ;
60
295
trackById = ktdTrackById ;
61
296
62
- cols = 12 ;
63
- rowHeight = 50 ;
297
+ cols = 62 ;
298
+ rowHeight = 32 ;
64
299
compactType : 'vertical' | 'horizontal' | null = 'vertical' ;
65
300
preventCollision = false ;
66
301
selectedItems : string [ ] = [ ] ;
67
- layout : KtdGridLayout = [
68
- { id : '0' , x : 5 , y : 0 , w : 2 , h : 3 } ,
69
- { id : '1' , x : 2 , y : 2 , w : 1 , h : 2 } ,
70
- { id : '2' , x : 3 , y : 7 , w : 1 , h : 2 } ,
71
- { id : '3' , x : 2 , y : 0 , w : 3 , h : 2 } ,
72
- { id : '4' , x : 5 , y : 3 , w : 2 , h : 3 } ,
73
- { id : '5' , x : 0 , y : 4 , w : 1 , h : 3 } ,
74
- { id : '6' , x : 9 , y : 0 , w : 2 , h : 4 } ,
75
- { id : '7' , x : 9 , y : 4 , w : 2 , h : 2 } ,
76
- { id : '8' , x : 3 , y : 2 , w : 2 , h : 5 } ,
77
- { id : '9' , x : 7 , y : 0 , w : 1 , h : 3 } ,
78
- { id : '10' , x : 2 , y : 4 , w : 1 , h : 4 } ,
79
- { id : '11' , x : 0 , y : 0 , w : 2 , h : 4 }
80
- ] ;
302
+ layout : KtdGridLayout = realLifeLayout ;
303
+
304
+ resizeSubscription : Subscription ;
81
305
82
306
private _isDraggingResizing : boolean = false ;
83
307
@@ -89,9 +313,20 @@ export class KtdMultiItemHandlerComponent implements OnInit, OnDestroy {
89
313
// this.ngZone.onUnstable.subscribe(() => console.log('UnStable'));
90
314
}
91
315
92
- ngOnInit ( ) { }
316
+ ngOnInit ( ) {
317
+ this . resizeSubscription = merge (
318
+ fromEvent ( window , 'resize' ) ,
319
+ fromEvent ( window , 'orientationchange' )
320
+ ) . pipe (
321
+ debounceTime ( 50 ) ,
322
+ ) . subscribe ( ( ) => {
323
+ this . grid . resize ( ) ;
324
+ } ) ;
325
+ }
93
326
94
- ngOnDestroy ( ) { }
327
+ ngOnDestroy ( ) {
328
+ this . resizeSubscription . unsubscribe ( ) ;
329
+ }
95
330
96
331
onDragStarted ( event : KtdDragStart ) {
97
332
this . _isDraggingResizing = true ;
@@ -132,12 +367,13 @@ export class KtdMultiItemHandlerComponent implements OnInit, OnDestroy {
132
367
const layout : KtdGridLayout = [ ] ;
133
368
for ( let i = 0 ; i < this . cols ; i ++ ) {
134
369
const y = Math . ceil ( Math . random ( ) * 4 ) + 1 ;
370
+ const width = 10 ;
135
371
layout . push ( {
136
372
x :
137
- Math . round ( Math . random ( ) * Math . floor ( this . cols / 2 - 1 ) ) *
138
- 2 ,
373
+ Math . round ( Math . random ( ) * Math . floor ( this . cols / width - 1 ) ) *
374
+ width ,
139
375
y : Math . floor ( i / 6 ) * y ,
140
- w : 2 ,
376
+ w : width ,
141
377
h : y ,
142
378
id : i . toString ( )
143
379
// static: Math.random() < 0.05
0 commit comments