MCPcopy Index your code
hub / github.com/massCodeIO/massCode / createSortMenuItems

Function createSortMenuItems

src/main/menu/main.ts:383–428  ·  view source on GitHub ↗
(context: MainMenuContext)

Source from the content-addressed store, hash-verified

381}
382
383function createSortMenuItems(context: MainMenuContext): MenuConfig[] {
384 if (!context.view.contentSortField || !context.view.contentSortOrder) {
385 return []
386 }
387
388 const sortLabels: Record<MainMenuContentSortField, string> = {
389 updatedAt: i18n.t('menu:view.sortBy.dateModified'),
390 createdAt: i18n.t('menu:view.sortBy.dateCreated'),
391 name: i18n.t('menu:view.sortBy.name'),
392 }
393 const orderLabels: Record<MainMenuContentSortOrder, string> = {
394 ASC: i18n.t('menu:view.sortOrder.ascending'),
395 DESC: i18n.t('menu:view.sortOrder.descending'),
396 }
397
398 const sortItems = (Object.keys(sortLabels) as MainMenuContentSortField[]).map(
399 sortField => ({
400 label: sortLabels[sortField],
401 type: 'radio' as const,
402 checked: context.view.contentSortField === sortField,
403 click: () => send('main-menu:set-content-sort-field', sortField),
404 }),
405 )
406 const orderItems = (
407 Object.keys(orderLabels) as MainMenuContentSortOrder[]
408 ).map(sortOrder => ({
409 label: orderLabels[sortOrder],
410 type: 'radio' as const,
411 checked: context.view.contentSortOrder === sortOrder,
412 click: () => send('main-menu:set-content-sort-order', sortOrder),
413 }))
414
415 return [
416 {
417 label: i18n.t('menu:view.sortBy.label'),
418 enabled: false,
419 },
420 ...sortItems,
421 { type: 'separator' as const },
422 {
423 label: i18n.t('menu:view.sortOrder.label'),
424 enabled: false,
425 },
426 ...orderItems,
427 ]
428}
429
430function createViewMenuItems(context: MainMenuContext): MenuConfig[] {
431 const items = createLayoutMenuItems(context)

Callers 1

createViewMenuItemsFunction · 0.85

Calls 1

sendFunction · 0.90

Tested by

no test coverage detected