Skip to content

Commit 5aa92db

Browse files
authored
Merge pull request #1385 from nextcloud-libraries/chore/drop-deprecated-new-menu
2 parents 621e4a8 + 54ddae7 commit 5aa92db

3 files changed

Lines changed: 31 additions & 38 deletions

File tree

__tests__/index.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ describe('NewFileMenu methods', () => {
8787
id: 'empty-file',
8888
displayName: 'Create empty file',
8989
templateName: 'New file.txt',
90-
iconClass: 'icon-filetype-text',
90+
iconSvgInline: '<svg></svg>',
9191
handler: () => {},
9292
} as NewMenuEntry
9393

__tests__/newFileMenu.spec.ts

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ describe('NewMenu addEntry', () => {
3737
id: 'empty-file',
3838
displayName: 'Create empty file',
3939
templateName: 'New file.txt',
40-
iconClass: 'icon-filetype-text',
40+
iconSvgInline: '<svg></svg>',
4141
handler: () => {},
4242
}
4343
newFileMenu.registerEntry(entry)
@@ -53,7 +53,7 @@ describe('NewMenu addEntry', () => {
5353
id: 'empty-file',
5454
displayName: 'Create empty file',
5555
templateName: 'New file.txt',
56-
iconClass: 'icon-filetype-text',
56+
iconSvgInline: '<svg></svg>',
5757
handler: () => {},
5858
}
5959
newFileMenu.registerEntry(entry1)
@@ -65,7 +65,7 @@ describe('NewMenu addEntry', () => {
6565
id: 'image',
6666
displayName: 'Create new image',
6767
templateName: 'New drawing.png',
68-
iconClass: 'icon-filetype-image',
68+
iconSvgInline: '<svg></svg>',
6969
handler: () => {},
7070
}
7171
newFileMenu.registerEntry(entry2)
@@ -77,7 +77,7 @@ describe('NewMenu addEntry', () => {
7777
id: 'folder',
7878
displayName: 'New folder',
7979
templateName: 'New folder',
80-
iconClass: 'icon-folder',
80+
iconSvgInline: '<svg></svg>',
8181
handler: () => {},
8282
}
8383
newFileMenu.registerEntry(entry3)
@@ -92,7 +92,7 @@ describe('NewMenu addEntry', () => {
9292
id: 'empty-file',
9393
displayName: 'Create empty file',
9494
templateName: 'New file.txt',
95-
iconClass: 'icon-filetype-text',
95+
iconSvgInline: '<svg></svg>',
9696
handler: () => {},
9797
}
9898
newFileMenu.registerEntry(entry)
@@ -137,7 +137,7 @@ describe('NewMenu addEntry', () => {
137137
id: 123456,
138138
displayName: '123456',
139139
templateName: 'New file.txt',
140-
iconClass: 'icon-filetype-text',
140+
iconSvgInline: '<svg></svg>',
141141
handler: () => {},
142142
} as unknown as NewMenuEntry)
143143
}).toThrowError('Invalid id or displayName property')
@@ -147,7 +147,7 @@ describe('NewMenu addEntry', () => {
147147
id: 'empty-file',
148148
displayName: 123456,
149149
templateName: 'New file.txt',
150-
iconClass: 'icon-filetype-text',
150+
iconSvgInline: '<svg></svg>',
151151
handler: () => {},
152152
} as unknown as NewMenuEntry)
153153
}).toThrowError('Invalid id or displayName property')
@@ -157,7 +157,7 @@ describe('NewMenu addEntry', () => {
157157
id: 'empty-file',
158158
displayName: '123456',
159159
templateName: 'New file.txt',
160-
iconClass: 123456,
160+
iconSvgInline: 123456,
161161
handler: () => {},
162162
} as unknown as NewMenuEntry)
163163
}).toThrowError('Invalid icon provided')
@@ -177,7 +177,7 @@ describe('NewMenu addEntry', () => {
177177
id: 'empty-file',
178178
displayName: '123456',
179179
templateName: 'New file.txt',
180-
iconClass: 'icon-filetype-text',
180+
iconSvgInline: '<svg></svg>',
181181
enabled: true,
182182
handler: () => {},
183183
} as unknown as NewMenuEntry)
@@ -188,7 +188,7 @@ describe('NewMenu addEntry', () => {
188188
id: 'empty-file',
189189
displayName: '123456',
190190
templateName: 'New file.txt',
191-
iconClass: 'icon-filetype-text',
191+
iconSvgInline: '<svg></svg>',
192192
order: true,
193193
handler: () => {},
194194
} as unknown as NewMenuEntry)
@@ -199,7 +199,7 @@ describe('NewMenu addEntry', () => {
199199
id: 'empty-file',
200200
displayName: '123456',
201201
templateName: 'New file.txt',
202-
iconClass: 'icon-filetype-text',
202+
iconSvgInline: '<svg></svg>',
203203
handler: 'handler',
204204
} as unknown as NewMenuEntry)
205205
}).toThrowError('Invalid handler property')
@@ -211,7 +211,7 @@ describe('NewMenu addEntry', () => {
211211
id: 'empty-file',
212212
displayName: 'Create empty file',
213213
templateName: 'New file.txt',
214-
iconClass: 'icon-filetype-text',
214+
iconSvgInline: '<svg></svg>',
215215
handler: () => {},
216216
}
217217
newFileMenu.registerEntry(entry)
@@ -228,7 +228,7 @@ describe('NewMenu addEntry', () => {
228228
category: NewMenuEntryCategory.Other,
229229
displayName: 'Create empty file',
230230
templateName: 'New file.txt',
231-
iconClass: 'icon-filetype-text',
231+
iconSvgInline: '<svg></svg>',
232232
handler: () => {},
233233
}
234234
newFileMenu.registerEntry(entry)
@@ -246,7 +246,7 @@ describe('NewMenu removeEntry', () => {
246246
id: 'empty-file',
247247
displayName: 'Create empty file',
248248
templateName: 'New file.txt',
249-
iconClass: 'icon-filetype-text',
249+
iconSvgInline: '<svg></svg>',
250250
handler: () => {},
251251
}
252252
newFileMenu.registerEntry(entry)
@@ -265,7 +265,7 @@ describe('NewMenu removeEntry', () => {
265265
id: 'empty-file',
266266
displayName: 'Create empty file',
267267
templateName: 'New file.txt',
268-
iconClass: 'icon-filetype-text',
268+
iconSvgInline: '<svg></svg>',
269269
handler: () => {},
270270
}
271271
newFileMenu.registerEntry(entry)
@@ -295,7 +295,7 @@ describe('NewMenu getEntries filter', () => {
295295
id: 'empty-file',
296296
displayName: 'Create empty file',
297297
templateName: 'New file',
298-
iconClass: 'icon-file',
298+
iconSvgInline: '<svg></svg>',
299299
enabled: folder => (folder.permissions & Permission.CREATE) !== 0,
300300
handler: () => {},
301301
}
@@ -305,7 +305,7 @@ describe('NewMenu getEntries filter', () => {
305305
id: 'empty-text-md',
306306
displayName: 'Create new markdown file',
307307
templateName: 'New text.md',
308-
iconClass: 'icon-filetype-text',
308+
iconSvgInline: '<svg></svg>',
309309
enabled: folder => (folder.permissions & Permission.CREATE) !== 0,
310310
handler: () => {},
311311
}
@@ -331,7 +331,7 @@ describe('NewMenu getEntries filter', () => {
331331
id: 'empty-file',
332332
displayName: 'Create empty file',
333333
templateName: 'New file',
334-
iconClass: 'icon-file',
334+
iconSvgInline: '<svg></svg>',
335335
enabled: folder => (folder.permissions & Permission.CREATE) !== 0,
336336
handler: () => {},
337337
}
@@ -341,7 +341,7 @@ describe('NewMenu getEntries filter', () => {
341341
id: 'empty-text-md',
342342
displayName: 'Create new markdown file',
343343
templateName: 'New text.md',
344-
iconClass: 'icon-filetype-text',
344+
iconSvgInline: '<svg></svg>',
345345
enabled: folder => (folder.permissions & Permission.CREATE) !== 0,
346346
handler: () => {},
347347
}
@@ -365,7 +365,7 @@ describe('NewMenu getEntries filter', () => {
365365
id: 'empty-file',
366366
displayName: 'Create template',
367367
templateName: 'New file',
368-
iconClass: 'icon-file',
368+
iconSvgInline: '<svg></svg>',
369369
handler: () => {},
370370
}
371371
newFileMenu.registerEntry(entry1)
@@ -374,7 +374,7 @@ describe('NewMenu getEntries filter', () => {
374374
id: 'empty-text-md',
375375
displayName: 'Create new markdown file',
376376
templateName: 'New text.md',
377-
iconClass: 'icon-filetype-text',
377+
iconSvgInline: '<svg></svg>',
378378
enabled: folder => (folder.permissions & Permission.CREATE) !== 0,
379379
handler: () => {},
380380
}
@@ -405,7 +405,7 @@ describe('NewMenu sort test', () => {
405405
id: 'empty-file',
406406
displayName: 'Create empty file',
407407
templateName: 'New file.txt',
408-
iconClass: 'icon-filetype-text',
408+
iconSvgInline: '<svg></svg>',
409409
order: 3,
410410
handler: () => {},
411411
}
@@ -414,7 +414,7 @@ describe('NewMenu sort test', () => {
414414
id: 'image',
415415
displayName: 'Create new image',
416416
templateName: 'New drawing.png',
417-
iconClass: 'icon-filetype-image',
417+
iconSvgInline: '<svg></svg>',
418418
order: 2,
419419
handler: () => {},
420420
}
@@ -423,7 +423,7 @@ describe('NewMenu sort test', () => {
423423
id: 'folder',
424424
displayName: 'New folder',
425425
templateName: 'New folder',
426-
iconClass: 'icon-folder',
426+
iconSvgInline: '<svg></svg>',
427427
order: 1,
428428
handler: () => {},
429429
}
@@ -444,15 +444,15 @@ describe('NewMenu sort test', () => {
444444
id: 'empty-file',
445445
displayName: 'Create empty file',
446446
templateName: 'New file.txt',
447-
iconClass: 'icon-filetype-text',
447+
iconSvgInline: '<svg></svg>',
448448
handler: () => {},
449449
}
450450

451451
const entry2 = {
452452
id: 'image',
453453
displayName: 'Create new image 2',
454454
templateName: 'New drawing.png',
455-
iconClass: 'icon-filetype-image',
455+
iconSvgInline: '<svg></svg>',
456456
order: 1,
457457
handler: () => {},
458458
}
@@ -461,7 +461,7 @@ describe('NewMenu sort test', () => {
461461
id: 'folder',
462462
displayName: 'New folder',
463463
templateName: 'New folder',
464-
iconClass: 'icon-folder',
464+
iconSvgInline: '<svg></svg>',
465465
order: 0,
466466
handler: () => {},
467467
}
@@ -470,7 +470,7 @@ describe('NewMenu sort test', () => {
470470
id: 'image2',
471471
displayName: 'Create new image 1',
472472
templateName: 'New drawing 2.png',
473-
iconClass: 'icon-filetype-image',
473+
iconSvgInline: '<svg></svg>',
474474
order: 1,
475475
handler: () => {},
476476
}

lib/newMenu/NewMenu.ts

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,6 @@ export interface NewMenuEntry {
5151
*/
5252
iconSvgInline?: string
5353

54-
/**
55-
* Existing icon css class
56-
* @deprecated use iconSvgInline instead
57-
*/
58-
iconClass?: string
59-
6054
/** Order of the entry in the menu */
6155
order?: number
6256

@@ -109,7 +103,7 @@ export class NewMenu {
109103
}
110104

111105
private validateEntry(entry: NewMenuEntry) {
112-
if (!entry.id || !entry.displayName || !(entry.iconSvgInline || entry.iconClass) || !entry.handler) {
106+
if (!entry.id || !entry.displayName || !entry.iconSvgInline || !entry.handler) {
113107
throw new Error('Invalid entry')
114108
}
115109

@@ -118,8 +112,7 @@ export class NewMenu {
118112
throw new Error('Invalid id or displayName property')
119113
}
120114

121-
if ((entry.iconClass && typeof entry.iconClass !== 'string')
122-
|| (entry.iconSvgInline && typeof entry.iconSvgInline !== 'string')) {
115+
if (entry.iconSvgInline && typeof entry.iconSvgInline !== 'string') {
123116
throw new Error('Invalid icon provided')
124117
}
125118

0 commit comments

Comments
 (0)