@guiexpert/demo-table-models 1.0.15 → 1.0.17

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 (87) hide show
  1. package/package.json +6 -3
  2. package/.eslintrc.json +0 -33
  3. package/dist/README.md +0 -106
  4. package/dist/package.json +0 -41
  5. package/patch.js +0 -16
  6. package/src/demodata/header-groups.ts +0 -152
  7. package/src/demodata/many-types.ts +0 -1508
  8. package/src/demodata/orders.ts +0 -1962
  9. package/src/demodata/persons1000.ts +0 -8006
  10. package/src/demodata/tree-persons.ts +0 -161880
  11. package/src/index.ts +0 -26
  12. package/src/lib/createLargeModel.ts +0 -94
  13. package/src/lib/createManyTypesModel.ts +0 -210
  14. package/src/lib/createOrderModel.ts +0 -130
  15. package/src/lib/createSimplePersonModel.ts +0 -265
  16. package/src/lib/createTimeTableModel.ts +0 -353
  17. package/src/lib/crypto/crypto-data.ts +0 -2739
  18. package/src/lib/crypto/crypto-top.if.ts +0 -19
  19. package/src/lib/crypto/generateCryptoModel.ts +0 -102
  20. package/src/lib/crypto/renderer/change-percentage-renderer.ts +0 -30
  21. package/src/lib/crypto/renderer/circulating-supply-renderer.ts +0 -46
  22. package/src/lib/crypto/renderer/coin-icon-renderer.ts +0 -25
  23. package/src/lib/crypto/renderer/name-and-symbol-renderer.ts +0 -31
  24. package/src/lib/crypto/renderer/usd-renderer.ts +0 -26
  25. package/src/lib/crypto/renderer/volumn-24h-renderer.ts +0 -35
  26. package/src/lib/generateHeatMapTableModel.ts +0 -86
  27. package/src/lib/generateHeatmapSeattle.ts +0 -170
  28. package/src/lib/generateHeatmapSeattleData.ts +0 -52565
  29. package/src/lib/generateSimpleModel.ts +0 -31
  30. package/src/lib/generateTreeCheckboxModel.ts +0 -54
  31. package/src/lib/headergroup/generateBigHeadergroupModel.ts +0 -62
  32. package/src/lib/headergroup/generateTeamHeadergroupModel.ts +0 -66
  33. package/src/lib/treepeople/address.if.ts +0 -7
  34. package/src/lib/treepeople/address.ts +0 -14
  35. package/src/lib/treepeople/generateTreePeopleModel.ts +0 -130
  36. package/src/lib/treepeople/person.if.ts +0 -12
  37. package/src/lib/treepeople/person.ts +0 -18
  38. package/src/lib/treepeople/treePeopleData.ts +0 -161878
  39. package/src/model/address.if.ts +0 -7
  40. package/src/model/many-types.if.ts +0 -22
  41. package/src/model/order.if.ts +0 -12
  42. package/src/model/person.if.ts +0 -12
  43. package/src/model/simple-person.if.ts +0 -8
  44. package/tsconfig.json +0 -22
  45. package/tsconfig.lib.json +0 -10
  46. package/tsconfig.spec.json +0 -25
  47. package/vite.config.ts +0 -62
  48. /package/{dist/demodata → demodata}/header-groups.d.ts +0 -0
  49. /package/{dist/demodata → demodata}/many-types.d.ts +0 -0
  50. /package/{dist/demodata → demodata}/orders.d.ts +0 -0
  51. /package/{dist/demodata → demodata}/persons1000.d.ts +0 -0
  52. /package/{dist/demodata → demodata}/tree-persons.d.ts +0 -0
  53. /package/{dist/index.cjs → index.cjs} +0 -0
  54. /package/{dist/index.d.ts → index.d.ts} +0 -0
  55. /package/{dist/index.js → index.js} +0 -0
  56. /package/{dist/lib → lib}/createLargeModel.d.ts +0 -0
  57. /package/{dist/lib → lib}/createManyTypesModel.d.ts +0 -0
  58. /package/{dist/lib → lib}/createOrderModel.d.ts +0 -0
  59. /package/{dist/lib → lib}/createSimplePersonModel.d.ts +0 -0
  60. /package/{dist/lib → lib}/createTimeTableModel.d.ts +0 -0
  61. /package/{dist/lib → lib}/crypto/crypto-data.d.ts +0 -0
  62. /package/{dist/lib → lib}/crypto/crypto-top.if.d.ts +0 -0
  63. /package/{dist/lib → lib}/crypto/generateCryptoModel.d.ts +0 -0
  64. /package/{dist/lib → lib}/crypto/renderer/change-percentage-renderer.d.ts +0 -0
  65. /package/{dist/lib → lib}/crypto/renderer/circulating-supply-renderer.d.ts +0 -0
  66. /package/{dist/lib → lib}/crypto/renderer/coin-icon-renderer.d.ts +0 -0
  67. /package/{dist/lib → lib}/crypto/renderer/name-and-symbol-renderer.d.ts +0 -0
  68. /package/{dist/lib → lib}/crypto/renderer/usd-renderer.d.ts +0 -0
  69. /package/{dist/lib → lib}/crypto/renderer/volumn-24h-renderer.d.ts +0 -0
  70. /package/{dist/lib → lib}/generateHeatMapTableModel.d.ts +0 -0
  71. /package/{dist/lib → lib}/generateHeatmapSeattle.d.ts +0 -0
  72. /package/{dist/lib → lib}/generateHeatmapSeattleData.d.ts +0 -0
  73. /package/{dist/lib → lib}/generateSimpleModel.d.ts +0 -0
  74. /package/{dist/lib → lib}/generateTreeCheckboxModel.d.ts +0 -0
  75. /package/{dist/lib → lib}/headergroup/generateBigHeadergroupModel.d.ts +0 -0
  76. /package/{dist/lib → lib}/headergroup/generateTeamHeadergroupModel.d.ts +0 -0
  77. /package/{dist/lib → lib}/treepeople/address.d.ts +0 -0
  78. /package/{dist/lib → lib}/treepeople/address.if.d.ts +0 -0
  79. /package/{dist/lib → lib}/treepeople/generateTreePeopleModel.d.ts +0 -0
  80. /package/{dist/lib → lib}/treepeople/person.d.ts +0 -0
  81. /package/{dist/lib → lib}/treepeople/person.if.d.ts +0 -0
  82. /package/{dist/lib → lib}/treepeople/treePeopleData.d.ts +0 -0
  83. /package/{dist/model → model}/address.if.d.ts +0 -0
  84. /package/{dist/model → model}/many-types.if.d.ts +0 -0
  85. /package/{dist/model → model}/order.if.d.ts +0 -0
  86. /package/{dist/model → model}/person.if.d.ts +0 -0
  87. /package/{dist/model → model}/simple-person.if.d.ts +0 -0
@@ -1,265 +0,0 @@
1
- import {
2
- AreaObjectMap,
3
- CellRendererIf,
4
- ColumnDef,
5
- ColumnDefIf,
6
- px100,
7
- px120,
8
- px150,
9
- px250,
10
- px300,
11
- TableFactory,
12
- TableModelIf,
13
- TableOptions,
14
- TableOptionsIf
15
- } from "@guiexpert/table";
16
-
17
- export interface SimplePersonIf {
18
- id: number;
19
- firstName: string;
20
- lastName: string;
21
- email: string;
22
- gender: string;
23
- ipAddress: string;
24
- }
25
-
26
- export function createTableRows(): SimplePersonIf[] {
27
- return [
28
- {
29
- "id": 1,
30
- "firstName": "Mirilla",
31
- "lastName": "Reide",
32
- "email": "mreide0@tripod.com",
33
- "gender": "Female",
34
- "ipAddress": "84.193.221.115"
35
- },
36
- {
37
- "id": 2,
38
- "firstName": "Lexie",
39
- "lastName": "Ouldcott",
40
- "email": "louldcott1@yahoo.co.jp",
41
- "gender": "Female",
42
- "ipAddress": "179.69.88.24"
43
- },
44
- {
45
- "id": 3,
46
- "firstName": "Muffin",
47
- "lastName": "Lisett",
48
- "email": "mlisett2@aboutads.info",
49
- "gender": "Female",
50
- "ipAddress": "86.37.98.14"
51
- },
52
- {
53
- "id": 4,
54
- "firstName": "Gertrudis",
55
- "lastName": "Mandrey",
56
- "email": "gmandrey3@nbcnews.com",
57
- "gender": "Genderfluid",
58
- "ipAddress": "15.39.203.38"
59
- },
60
- {
61
- "id": 5,
62
- "firstName": "Marlee",
63
- "lastName": "Russam",
64
- "email": "mrussam4@deliciousdays.com",
65
- "gender": "Agender",
66
- "ipAddress": "132.38.90.220"
67
- },
68
- {
69
- "id": 6,
70
- "firstName": "Romona",
71
- "lastName": "Winnett",
72
- "email": "rwinnett5@independent.co.uk",
73
- "gender": "Female",
74
- "ipAddress": "40.56.254.111"
75
- },
76
- {
77
- "id": 7,
78
- "firstName": "Hillary",
79
- "lastName": "Cranney",
80
- "email": "hcranney6@washington.edu",
81
- "gender": "Male",
82
- "ipAddress": "45.51.211.4"
83
- },
84
- {
85
- "id": 8,
86
- "firstName": "Pat",
87
- "lastName": "Ribbon",
88
- "email": "pribbon7@tiny.cc",
89
- "gender": "Male",
90
- "ipAddress": "182.47.199.240"
91
- },
92
- {
93
- "id": 9,
94
- "firstName": "Linzy",
95
- "lastName": "Olensby",
96
- "email": "lolensby8@free.fr",
97
- "gender": "Female",
98
- "ipAddress": "99.184.96.163"
99
- },
100
- {
101
- "id": 10,
102
- "firstName": "Garold",
103
- "lastName": "Jocic",
104
- "email": "gjocic9@ocn.ne.jp",
105
- "gender": "Male",
106
- "ipAddress": "11.10.161.248"
107
- },
108
- {
109
- "id": 11,
110
- "firstName": "Jemie",
111
- "lastName": "O' Shea",
112
- "email": "josheaa@acquirethisname.com",
113
- "gender": "Genderfluid",
114
- "ipAddress": "212.229.101.149"
115
- },
116
- {
117
- "id": 12,
118
- "firstName": "Shandeigh",
119
- "lastName": "Umbers",
120
- "email": "sumbersb@google.ca",
121
- "gender": "Female",
122
- "ipAddress": "156.118.216.80"
123
- },
124
- {
125
- "id": 13,
126
- "firstName": "Rosamond",
127
- "lastName": "Bulluck",
128
- "email": "rbulluckc@imageshack.us",
129
- "gender": "Female",
130
- "ipAddress": "97.45.97.187"
131
- },
132
- {
133
- "id": 14,
134
- "firstName": "Elfie",
135
- "lastName": "Keelin",
136
- "email": "ekeelind@desdev.cn",
137
- "gender": "Female",
138
- "ipAddress": "105.68.243.40"
139
- },
140
- {
141
- "id": 15,
142
- "firstName": "Georges",
143
- "lastName": "Talbot",
144
- "email": "gtalbote@cnn.com",
145
- "gender": "Male",
146
- "ipAddress": "58.24.213.107"
147
- },
148
- {
149
- "id": 16,
150
- "firstName": "Alard",
151
- "lastName": "McGrane",
152
- "email": "amcgranef@adobe.com",
153
- "gender": "Male",
154
- "ipAddress": "100.71.86.142"
155
- },
156
- {
157
- "id": 17,
158
- "firstName": "Emmanuel",
159
- "lastName": "Chave",
160
- "email": "echaveg@washington.edu",
161
- "gender": "Male",
162
- "ipAddress": "81.77.217.55"
163
- },
164
- {
165
- "id": 18,
166
- "firstName": "Tobie",
167
- "lastName": "Passie",
168
- "email": "tpassieh@tripod.com",
169
- "gender": "Male",
170
- "ipAddress": "201.217.85.157"
171
- },
172
- {
173
- "id": 19,
174
- "firstName": "Nappie",
175
- "lastName": "Ridge",
176
- "email": "nridgei@wordpress.org",
177
- "gender": "Male",
178
- "ipAddress": "35.13.53.11"
179
- },
180
- {
181
- "id": 20,
182
- "firstName": "Meredeth",
183
- "lastName": "Siviter",
184
- "email": "msiviterj@google.com.hk",
185
- "gender": "Male",
186
- "ipAddress": "253.119.92.236"
187
- },
188
- {
189
- "id": 21,
190
- "firstName": "Abra",
191
- "lastName": "Hysom",
192
- "email": "ahysomk@123-reg.co.uk",
193
- "gender": "Female",
194
- "ipAddress": "119.247.49.190"
195
- },
196
- {
197
- "id": 22,
198
- "firstName": "Merwin",
199
- "lastName": "Leele",
200
- "email": "mleelel@blogtalkradio.com",
201
- "gender": "Male",
202
- "ipAddress": "170.61.225.163"
203
- }
204
- ];
205
- }
206
-
207
- export function createColumnDefs(): ColumnDefIf[] {
208
- return [
209
- new ColumnDef("firstName", "First Name", px120),
210
- new ColumnDef("lastName", "Last Name"),
211
-
212
- ColumnDef.create({
213
- property: "gender",
214
- headerLabel: "Gender",
215
- width: px100,
216
- bodyClasses: ["ge-table-text-align-left"]
217
- }),
218
-
219
- ColumnDef.create({
220
- property: "email",
221
- headerLabel: "Email",
222
- width: px300,
223
- bodyClasses: ["ge-table-text-align-left"]
224
- }),
225
-
226
- new ColumnDef("ipAddress", "IP", px150),
227
-
228
- ColumnDef.create({
229
- property: "id",
230
- headerLabel: "ID",
231
- width: px250,
232
- // bodyRenderer: actionRenderer,
233
- bodyClasses: ["ge-table-text-align-left"]
234
- })
235
- ];
236
- }
237
-
238
- export function createTableOptions(): TableOptions {
239
- const tableOptions: TableOptionsIf = {
240
- ...new TableOptions(),
241
- hoverColumnVisible: false,
242
- defaultRowHeights: {
243
- header: 40,
244
- body: 34,
245
- footer: 0
246
- }
247
- };
248
- return tableOptions;
249
- }
250
-
251
- export function createSimplePersonModel(): TableModelIf {
252
- const tableOptions = createTableOptions();
253
- const rows: SimplePersonIf[] = createTableRows();
254
- const columnDefs: ColumnDefIf[] = createColumnDefs();
255
- return TableFactory.createTableModel({
256
- rows,
257
- columnDefs,
258
- tableOptions,
259
- fixedLeftColumnCount: 0
260
- });
261
- }
262
-
263
- export function applyBodyRenderer(columnDef: ColumnDefIf, bodyRenderer: CellRendererIf) {
264
- columnDef.rendererMap = new AreaObjectMap<CellRendererIf>(undefined, bodyRenderer, undefined);
265
- }
@@ -1,353 +0,0 @@
1
- import {
2
- AreaModelArrayOfArrays,
3
- AreaModelObjectArrayWithColumndefs,
4
- ColumnDef,
5
- ColumnDefIf,
6
- DateToTecCellRenderer,
7
- Size,
8
- TableFactory,
9
- TableModelIf,
10
- TableOptions,
11
- TrueFalseCellRenderer
12
- } from "@guiexpert/table";
13
-
14
-
15
- export interface TeamIf {
16
- name: string,
17
- active: boolean
18
- }
19
-
20
- export interface TeamDataIf {
21
- id?: number,
22
- city?: string,
23
- location?: string,
24
- team?: TeamIf,
25
- data?: [number, number, number, number, number, number, number, number, number, number, number, number],
26
- updatedAt?: Date,
27
- }
28
-
29
- export const data: TeamDataIf[] = (
30
- [
31
- {
32
- id: 1,
33
- city: "London",
34
- location: "Building A",
35
- team: { name: "Team LAA", active: true },
36
- data: [123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
37
- },
38
- {
39
- id: 2,
40
- city: "London",
41
- location: "Building A",
42
- team: { name: "Team LAB", active: true },
43
- data: [0, 432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
44
- },
45
- {
46
- id: 3,
47
- city: "London",
48
- location: "Building A",
49
- team: { name: "Team LAC", active: false },
50
- data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
51
- },
52
- {
53
- id: 4,
54
- city: "London",
55
- location: "Building A",
56
- team: { name: "Team LAD", active: true },
57
- data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
58
- },
59
- {
60
- id: 5,
61
- city: "London",
62
- location: "Building B",
63
- team: { name: "Team LBA", active: true },
64
- data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
65
- },
66
- {
67
- id: 6,
68
- city: "London",
69
- location: "Building B",
70
- team: { name: "Team LBB", active: true },
71
- data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
72
- },
73
- {
74
- id: 7,
75
- city: "London",
76
- location: "Building B",
77
- team: { name: "Team LBC", active: true },
78
- data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
79
- },
80
- {
81
- id: 8,
82
- city: "New York",
83
- location: "Building A",
84
- team: { name: "Team NAA", active: true },
85
- data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
86
- },
87
- {
88
- id: 9,
89
- city: "New York",
90
- location: "Building A",
91
- team: { name: "Team NAB", active: false },
92
- data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
93
- },
94
- {
95
- id: 10,
96
- city: "New York",
97
- location: "Building A",
98
- team: { name: "Team NAC", active: true },
99
- data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
100
- },
101
- {
102
- id: 11,
103
- city: "New York",
104
- location: "Building A",
105
- team: { name: "Team NAD", active: true },
106
- data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
107
- },
108
- {
109
- id: 12,
110
- city: "New York",
111
- location: "Building B",
112
- team: { name: "Team NBA", active: true },
113
- data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
114
- },
115
- {
116
- id: 13,
117
- city: "New York",
118
- location: "Building B",
119
- team: { name: "Team NBB", active: true },
120
- data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
121
- },
122
- {
123
- id: 14,
124
- city: "New York",
125
- location: "Building B",
126
- team: { name: "Team NBC", active: true },
127
- data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
128
- },
129
- {
130
- id: 15,
131
- city: "Tokio",
132
- location: "Building A",
133
- team: { name: "Team TAA", active: true },
134
- data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
135
- },
136
- {
137
- id: 16,
138
- city: "Tokio",
139
- location: "Building A",
140
- team: { name: "Team TAB", active: true },
141
- data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
142
- },
143
- {
144
- id: 17,
145
- city: "Tokio",
146
- location: "Building B",
147
- team: { name: "Team TBA", active: true },
148
- data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
149
- },
150
- {
151
- id: 18,
152
- city: "Tokio",
153
- location: "Building B",
154
- team: { name: "Team TBB", active: true },
155
- data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
156
- },
157
- {
158
- id: 19,
159
- city: "Tokio",
160
- location: "Building C",
161
- team: { name: "Team TCA", active: true },
162
- data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
163
- },
164
- {
165
- id: 20,
166
- city: "Tokio",
167
- location: "Building C",
168
- team: { name: "Team TCB", active: true },
169
- data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
170
- },
171
- {
172
- id: 21,
173
- city: "Tokio",
174
- location: "Building C",
175
- team: { name: "Team TCC", active: true },
176
- data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
177
- }
178
- ] as TeamDataIf[])
179
- .map(r => {
180
- r.updatedAt = new Date();
181
- return r;
182
- });
183
-
184
- /*
185
- export function createTreeTableRows(): TreeRow<TeamDataIf>[] {
186
- const rows = data
187
- .map(r => new TreeRow<TeamDataIf>(r, true, [], undefined));
188
- const ret: TreeRow<TeamDataIf>[] = [];
189
-
190
- const map = {};
191
- for (const r of rows) {
192
- const key = r.data.city;
193
- // @ts-ignore
194
- if (!map[key]) map[key] = [];
195
- // @ts-ignore
196
- map[key] = r;
197
- }
198
- for (const mapKey in map) {
199
- // @ts-ignore
200
- const tr = new TreeRow({ city: mapKey }, true, map[mapKey], undefined);
201
- ret.push(tr);
202
- }
203
-
204
- return ret;
205
- }
206
- */
207
- const columnDefs: ColumnDefIf[] = [
208
- new ColumnDef("city", "City", new Size(90, "px")),
209
- new ColumnDef("location", "Location", new Size(100, "px")),
210
- new ColumnDef("team.name", "Team", new Size(100, "px")),
211
- ColumnDef.create({
212
- property: "team.active",
213
- headerLabel: "Active",
214
- width: new Size(60, "px"),
215
- bodyRenderer: new TrueFalseCellRenderer()
216
- }),
217
- new ColumnDef("data.0", "00", new Size(60, "px")),
218
- new ColumnDef("data.1", "15", new Size(60, "px")),
219
- new ColumnDef("data.2", "30", new Size(60, "px")),
220
- new ColumnDef("data.3", "45", new Size(60, "px")),
221
- new ColumnDef("data.4", "00", new Size(60, "px")),
222
- new ColumnDef("data.5", "15", new Size(60, "px")),
223
- new ColumnDef("data.6", "30", new Size(60, "px")),
224
- new ColumnDef("data.7", "45", new Size(60, "px")),
225
- new ColumnDef("data.8", "00", new Size(60, "px")),
226
- new ColumnDef("data.9", "15", new Size(60, "px")),
227
- new ColumnDef("data.10", "30", new Size(60, "px")),
228
- new ColumnDef("data.11", "45", new Size(60, "px")),
229
- ColumnDef.create({
230
- property: "updatedAt",
231
- headerLabel: "Updated at",
232
- width: new Size(175, "px"),
233
- bodyRenderer: new DateToTecCellRenderer()
234
- })
235
- ];
236
- export const COL_IDX_UPDATED_AT = columnDefs.length - 1;
237
-
238
- export const tableOptions = {
239
- ...new TableOptions(),
240
- hoverRowVisible: false,
241
- hoverColumnVisible: false,
242
- defaultRowHeights: {
243
- header: 34,
244
- body: 34,
245
- footer: 34
246
- },
247
- columnsDraggable: false,
248
- columnsResizable: true
249
- };
250
-
251
- export function createTimeTableModel(): TableModelIf {
252
-
253
-
254
- const defaultRowHeights = tableOptions.defaultRowHeights;
255
- return TableFactory.createTableModel({
256
- headerAreaModel: new TimeTableHeaderModel(defaultRowHeights.header),
257
- bodyAreaModel: new TimeTableBodyModel(defaultRowHeights.body),
258
- footerAreaModel: new TimeTableFooterModel(defaultRowHeights.footer),
259
- columnDefs,
260
- fixedLeftColumnCount: 2,
261
- fixedRightColumnCount: 1,
262
- defaultRowHeights,
263
- columnCount: columnDefs.length
264
- });
265
- }
266
-
267
- class TimeTableBodyModel extends AreaModelObjectArrayWithColumndefs<TeamDataIf> {
268
- constructor(rowHeight: number) {
269
- super("body", data, columnDefs, rowHeight);
270
- }
271
-
272
- override getRowspanAt(rowIndex: number, columnIndex: number): number {
273
- if (columnIndex === 0 || columnIndex == 1) {
274
- const v = this.getValueAt(rowIndex, columnIndex);
275
- if (rowIndex === 0 || v !== this.getValueAt(rowIndex - 1, columnIndex)) {
276
- return this.countNextWithValue(rowIndex, columnIndex, v);
277
- }
278
- }
279
- return 1;
280
- }
281
-
282
- private countNextWithValue(rowIndex: number, columnIndex: number, value: any): number {
283
- let ret = 1;
284
- while (value === this.getValueAt(rowIndex + ret, columnIndex)) {
285
- ret++;
286
- }
287
- return ret;
288
- }
289
- }
290
-
291
- class TimeTableHeaderModel extends AreaModelArrayOfArrays<string> {
292
- constructor(rowHeight: number) {
293
- super(
294
- "header",
295
- [
296
- ["City", "Location", "Team", "", "08:00 - 09:00", "", "", "", "09:00 - 10:00", "", "", "", "10:00 - 11:00", "", "", "", "Updated At"],
297
- ["", "", "Name", "Active", "00", "15", "30", "45", "00", "15", "30", "45", "00", "15", "30", "45", ""]
298
- ],
299
- rowHeight
300
- );
301
- }
302
-
303
- override getColspanAt(rowIndex: number, columnIndex: number): number {
304
- if (rowIndex === 0) {
305
- if (columnIndex === 2 || columnIndex === 2) {
306
- return 2;
307
- }
308
- if (columnIndex === 4 || columnIndex === 8 || columnIndex === 12) {
309
- return 4;
310
- }
311
- }
312
- return 1;
313
- }
314
-
315
- override getRowspanAt(rowIndex: number, columnIndex: number): number {
316
- if (rowIndex === 0) {
317
- if (columnIndex === 0 || columnIndex === 1 || columnIndex === 16) {
318
- return 2;
319
- }
320
- }
321
- return 1;
322
- }
323
-
324
- override getCustomClassesAt(_rowIndex: number, _columnIndex: number): string[] {
325
- return ["ge-font-weight-bold"];
326
- }
327
- }
328
-
329
-
330
- class TimeTableFooterModel extends AreaModelArrayOfArrays<string> {
331
- constructor(rowHeight: number) {
332
- super(
333
- "footer",
334
- [["", "", "Sum of Quarters:", "", "123", "432", "", "", "", "", "", "", "", "", "", "", ""]],
335
- rowHeight
336
- );
337
- }
338
-
339
- override getColspanAt(_rowIndex: number, columnIndex: number): number {
340
- if (columnIndex == 0 || columnIndex == 2) {
341
- return 2;
342
- }
343
- return 1;
344
- }
345
-
346
-
347
- override getCustomClassesAt(_rowIndex: number, columnIndex: number): string[] {
348
- if (columnIndex === 2) return ["ge-text-align-right", "ge-font-weight-bold"];
349
- return [];
350
- }
351
-
352
- }
353
-