'use strict'; import React from 'react'; import TemplatesCUD from './CUD'; import TemplatesList from './List'; import Share from '../shares/Share'; import Files from "../lib/files"; import MosaicoCUD from './mosaico/CUD'; import MosaicoList from './mosaico/List'; import {ellipsizeBreadcrumbLabel} from "../lib/helpers"; function getMenus(t) { return { 'templates': { title: t('templates'), link: '/templates', panelComponent: TemplatesList, children: { ':templateId([0-9]+)': { title: resolved => t('templateName', {name: ellipsizeBreadcrumbLabel(resolved.template.name)}), resolve: { template: params => `rest/templates/${params.templateId}` }, link: params => `/templates/${params.templateId}/edit`, navs: { ':action(edit|delete)': { title: t('edit'), link: params => `/templates/${params.templateId}/edit`, visible: resolved => resolved.template.permissions.includes('edit'), panelRender: props => }, files: { title: t('files'), link: params => `/templates/${params.templateId}/files`, visible: resolved => resolved.template.permissions.includes('viewFiles'), panelRender: props => }, share: { title: t('share'), link: params => `/templates/${params.templateId}/share`, visible: resolved => resolved.template.permissions.includes('share'), panelRender: props => } } }, create: { title: t('create'), panelRender: props => }, mosaico: { title: t('mosaicoTemplates'), link: '/templates/mosaico', panelComponent: MosaicoList, children: { ':mosaiceTemplateId([0-9]+)': { title: resolved => t('mosaicoTemplateName', {name: ellipsizeBreadcrumbLabel(resolved.mosaicoTemplate.name)}), resolve: { mosaicoTemplate: params => `rest/mosaico-templates/${params.mosaiceTemplateId}` }, link: params => `/templates/mosaico/${params.mosaiceTemplateId}/edit`, navs: { ':action(edit|delete)': { title: t('edit'), link: params => `/templates/mosaico/${params.mosaiceTemplateId}/edit`, visible: resolved => resolved.mosaicoTemplate.permissions.includes('edit'), panelRender: props => }, files: { title: t('files'), link: params => `/templates/mosaico/${params.mosaiceTemplateId}/files`, visible: resolved => resolved.mosaicoTemplate.permissions.includes('viewFiles'), panelRender: props => }, blocks: { title: t('blockThumbnails'), link: params => `/templates/mosaico/${params.mosaiceTemplateId}/blocks`, visible: resolved => resolved.mosaicoTemplate.permissions.includes('viewFiles'), panelRender: props => }, share: { title: t('share'), link: params => `/templates/mosaico/${params.mosaiceTemplateId}/share`, visible: resolved => resolved.mosaicoTemplate.permissions.includes('share'), panelRender: props => } } }, create: { title: t('create'), extraParams: [':wizard?'], panelRender: props => } } } } } }; } export default { getMenus }