Adds repository level capability page and adjusts tooltips. #274.
This commit is contained in:
parent
b6d7e1bfc3
commit
5966d31f62
|
@ -41,7 +41,7 @@
|
||||||
},
|
},
|
||||||
content: capability.display_name,
|
content: capability.display_name,
|
||||||
autoHide: false,
|
autoHide: false,
|
||||||
classes: ['tooltip'],
|
classes: ['tooltip', 'repository-tooltip'],
|
||||||
placement: 'auto-start'
|
placement: 'auto-start'
|
||||||
}">
|
}">
|
||||||
{{ capability.display_name }}
|
{{ capability.display_name }}
|
||||||
|
@ -60,7 +60,7 @@
|
||||||
},
|
},
|
||||||
content: capability.description,
|
content: capability.description,
|
||||||
autoHide: false,
|
autoHide: false,
|
||||||
classes: ['tooltip'],
|
classes: ['tooltip', 'repository-tooltip'],
|
||||||
placement: 'auto-start'
|
placement: 'auto-start'
|
||||||
}"
|
}"
|
||||||
v-html="capability.description"/>
|
v-html="capability.description"/>
|
||||||
|
@ -82,7 +82,7 @@
|
||||||
},
|
},
|
||||||
content: props['complete-roles-list'],
|
content: props['complete-roles-list'],
|
||||||
autoHide: false,
|
autoHide: false,
|
||||||
classes: ['tooltip'],
|
classes: ['tooltip', 'repository-tooltip'],
|
||||||
placement: 'auto-start'
|
placement: 'auto-start'
|
||||||
}"
|
}"
|
||||||
v-html="props['complete-roles-list']"/>
|
v-html="props['complete-roles-list']"/>
|
||||||
|
@ -103,7 +103,7 @@
|
||||||
v-tooltip="{
|
v-tooltip="{
|
||||||
content: $i18n.get('edit'),
|
content: $i18n.get('edit'),
|
||||||
autoHide: true,
|
autoHide: true,
|
||||||
classes: ['tooltip'],
|
classes: ['tooltip', 'repository-tooltip'],
|
||||||
placement: 'auto'
|
placement: 'auto'
|
||||||
}"
|
}"
|
||||||
class="icon">
|
class="icon">
|
||||||
|
|
|
@ -124,6 +124,25 @@
|
||||||
<span class="menu-text">{{ $i18n.get('activities') }}</span>
|
<span class="menu-text">{{ $i18n.get('activities') }}</span>
|
||||||
</router-link>
|
</router-link>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<router-link
|
||||||
|
tag="a"
|
||||||
|
:to="this.$routerHelper.getCapabilitiesPath()"
|
||||||
|
:class="activeRoute == 'CapabilitiesPage' ? 'is-active':''">
|
||||||
|
<span
|
||||||
|
v-tooltip="{
|
||||||
|
offset: 4,
|
||||||
|
content: isMenuCompressed ? $i18n.get('capabilities') : '',
|
||||||
|
autoHide: true,
|
||||||
|
classes: ['tooltip', 'repository-tooltip'],
|
||||||
|
placement: 'auto'
|
||||||
|
}"
|
||||||
|
class="icon">
|
||||||
|
<i class="tainacan-icon tainacan-icon-20px tainacan-icon-user"/>
|
||||||
|
</span>
|
||||||
|
<span class="menu-text">{{ $i18n.get('capabilities') }}</span>
|
||||||
|
</router-link>
|
||||||
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<router-link
|
<router-link
|
||||||
tag="a"
|
tag="a"
|
||||||
|
|
|
@ -64,19 +64,23 @@ export default {
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
|
|
||||||
.help-tooltip-header {
|
.help-tooltip-header {
|
||||||
padding: 0.8em 0.8em 0em 0.8em;
|
padding: 0.8rem 0.8rem 0rem 0.8rem;
|
||||||
|
|
||||||
h5 {
|
h5 {
|
||||||
font-size: 14px;
|
font-size: 0.875rem;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.help-tooltip-body {
|
.help-tooltip-body {
|
||||||
padding: 0.8em 1.0em 1.0em 1.0em;
|
padding: 0.5em 1.0rem 1.0rem 1.0rem;
|
||||||
font-size: 11px;
|
|
||||||
font-weight: normal;
|
p {
|
||||||
white-space: normal;
|
font-size: 0.875rem !important;
|
||||||
|
font-weight: normal !important;
|
||||||
|
white-space: normal !important;
|
||||||
|
overflow: visible;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&:before {
|
&:before {
|
||||||
|
|
|
@ -41,50 +41,52 @@ const routes = [
|
||||||
{ path: '/', redirect:'/home' },
|
{ path: '/', redirect:'/home' },
|
||||||
{ path: '/home', name: 'HomePage', component: HomePage, meta: {title: 'Tainacan'} },
|
{ path: '/home', name: 'HomePage', component: HomePage, meta: {title: 'Tainacan'} },
|
||||||
|
|
||||||
{ path: '/collections', name: 'CollectionsPage', component: CollectionsPage, meta: {title: i18nGet('title_repository_collections_page'), icon: 'folder-multiple'} },
|
{ path: '/collections', name: 'CollectionsPage', component: CollectionsPage, meta: { title: i18nGet('title_repository_collections_page') } },
|
||||||
{ path: '/collections/new', name: 'CollectionCreationForm', component: CollectionEditionForm, meta: {title: i18nGet('title_create_collection'), icon: 'folder-multiple'} },
|
{ path: '/collections/new', name: 'CollectionCreationForm', component: CollectionEditionForm, meta: {title: i18nGet('title_create_collection') } },
|
||||||
{ path: '/collections/new/:mapper', name: 'MappedCollectionCreationForm', component: CollectionEditionForm, meta: {title: i18nGet('title_create_collection'), icon: 'folder-multiple'} },
|
{ path: '/collections/new/:mapper', name: 'MappedCollectionCreationForm', component: CollectionEditionForm, meta: {title: i18nGet('title_create_collection') } },
|
||||||
|
|
||||||
{ path: '/collections/:collectionId', component: CollectionPage, meta: {title: i18nGet('title_collection_page'), icon: 'folder-multiple'},
|
{ path: '/collections/:collectionId', component: CollectionPage, meta: {title: i18nGet('title_collection_page') },
|
||||||
children: [
|
children: [
|
||||||
{ path: '', redirect: 'items'},
|
{ path: '', redirect: 'items'},
|
||||||
{ path: 'items', component: ItemsPage, name: 'CollectionItemsPage', meta: {title: i18nGet('title_collection_page'), icon: 'folder-multiple'} },
|
{ path: 'items', component: ItemsPage, name: 'CollectionItemsPage', meta: {title: i18nGet('title_collection_page') } },
|
||||||
{ path: 'items/:itemId/edit', name: 'ItemEditionForm', component: ItemEditionForm, meta: {title: i18nGet('title_edit_item'), icon: 'folder-multiple'} },
|
{ path: 'items/:itemId/edit', name: 'ItemEditionForm', component: ItemEditionForm, meta: {title: i18nGet('title_edit_item') } },
|
||||||
{ path: 'items/new', name: 'CollectionItemCreatePage', component: ItemEditionForm, meta: {title: i18nGet('title_create_item_collection'), icon: 'folder-multiple'} },
|
{ path: 'items/new', name: 'CollectionItemCreatePage', component: ItemEditionForm, meta: {title: i18nGet('title_create_item_collection') } },
|
||||||
{ path: 'items/:itemId', name: 'ItemPage', component: ItemPage, meta: {title: i18nGet('title_item_page'), icon: 'folder-multiple'} },
|
{ path: 'items/:itemId', name: 'ItemPage', component: ItemPage, meta: {title: i18nGet('title_item_page') } },
|
||||||
{ path: 'bulk-add', name: 'CollectionItemBulkAddPage', component: ItemBulkEditionForm, meta: {title: i18nGet('title_item_bulk_add'), icon: 'folder-multiple'} },
|
{ path: 'bulk-add', name: 'CollectionItemBulkAddPage', component: ItemBulkEditionForm, meta: {title: i18nGet('title_item_bulk_add') } },
|
||||||
{ path: 'bulk-add/:groupId', name: 'CollectionItemBulkAddMetadataPage', component: ItemMetadataBulkEditionForm, meta: {title: i18nGet('title_item_bulk_add'), icon: 'folder-multiple'} },
|
{ path: 'bulk-add/:groupId', name: 'CollectionItemBulkAddMetadataPage', component: ItemMetadataBulkEditionForm, meta: {title: i18nGet('title_item_bulk_add') } },
|
||||||
{ path: 'settings', component: CollectionEditionForm, name: 'CollectionEditionForm', meta: {title: i18nGet('title_collection_settings'), icon: 'folder-multiple'} },
|
{ path: 'settings', component: CollectionEditionForm, name: 'CollectionEditionForm', meta: {title: i18nGet('title_collection_settings') } },
|
||||||
{ path: 'metadata', component: MetadataList, name: 'MetadataList', meta: {title: i18nGet('title_collection_metadata_edition'), icon: 'folder-multiple'} },
|
{ path: 'metadata', component: MetadataList, name: 'MetadataList', meta: {title: i18nGet('title_collection_metadata_edition') } },
|
||||||
{ path: 'filters', component: FiltersList, name: 'FiltersList', meta: {title: i18nGet('title_collection_filters_edition'), icon: 'folder-multiple'} },
|
{ path: 'filters', component: FiltersList, name: 'FiltersList', meta: {title: i18nGet('title_collection_filters_edition') } },
|
||||||
{ path: 'activities', component: ActivitiesPage, name: 'CollectionActivitiesPage', meta: {title: i18nGet('title_collection_activities'), icon: 'flash'} },
|
{ path: 'activities', component: ActivitiesPage, name: 'CollectionActivitiesPage', meta: {title: i18nGet('title_collection_activities') } },
|
||||||
{ path: 'capabilities', component: CapabilitiesPage, name: 'CollectionCapabilitiesPage', meta: {title: i18nGet('title_collection_capabilities'), icon: 'flash'} },
|
{ path: 'capabilities', component: CapabilitiesPage, name: 'CollectionCapabilitiesPage', meta: {title: i18nGet('title_collection_capabilities') } },
|
||||||
{ path: 'sequence/:sequenceId', name: 'SavedSequenceEditionForm', component: ItemEditionForm, meta: {title: i18nGet('title_edit_item'), icon: 'folder-multiple'} },
|
{ path: 'sequence/:sequenceId', name: 'SavedSequenceEditionForm', component: ItemEditionForm, meta: {title: i18nGet('title_edit_item') } },
|
||||||
{ path: 'sequence/:sequenceId/:itemPosition', name: 'SequenceEditionForm', component: ItemEditionForm, meta: {title: i18nGet('title_edit_item'), icon: 'folder-multiple'} },
|
{ path: 'sequence/:sequenceId/:itemPosition', name: 'SequenceEditionForm', component: ItemEditionForm, meta: {title: i18nGet('title_edit_item') } },
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
||||||
{ path: '/items', name: 'ItemsPage', component: ItemsPage, meta: {title: i18nGet('title_items_page'), icon: 'file-multiple'} },
|
{ path: '/items', name: 'ItemsPage', component: ItemsPage, meta: {title: i18nGet('title_items_page') } },
|
||||||
{ path: '/items/new', name: 'ItemCreationForm', component: ItemEditionForm, meta: {title: i18nGet('title_create_item'), icon: 'file-multiple'} },
|
{ path: '/items/new', name: 'ItemCreationForm', component: ItemEditionForm, meta: {title: i18nGet('title_create_item') } },
|
||||||
|
|
||||||
{ path: '/filters', name: 'FiltersPage', component: FiltersPage, meta: {title: i18nGet('title_repository_filters_page'), icon: 'filter'} },
|
{ path: '/filters', name: 'FiltersPage', component: FiltersPage, meta: {title: i18nGet('title_repository_filters_page') } },
|
||||||
|
|
||||||
{ path: '/metadata', name: 'MetadataPage', component: MetadataPage, meta: {title: i18nGet('title_repository_metadata_page'), icon: 'format-list-checks'} },
|
{ path: '/metadata', name: 'MetadataPage', component: MetadataPage, meta: {title: i18nGet('title_repository_metadata_page') } },
|
||||||
|
|
||||||
{ path: '/taxonomies', name: 'TaxonomyPage', component: TaxonomyPage, meta: {title: i18nGet('title_taxonomies_page'), icon: 'shape'} },
|
{ path: '/taxonomies', name: 'TaxonomyPage', component: TaxonomyPage, meta: {title: i18nGet('title_taxonomies_page') } },
|
||||||
{ path: '/taxonomies/new', name: 'TaxonomyCreationForm', component: TaxonomyEditionForm, meta: {title: i18nGet('title_create_taxonomy_page'), icon: 'shape'} },
|
{ path: '/taxonomies/new', name: 'TaxonomyCreationForm', component: TaxonomyEditionForm, meta: {title: i18nGet('title_create_taxonomy_page') } },
|
||||||
{ path: '/taxonomies/:taxonomyId/edit', name: 'TaxonomyEditionForm', component: TaxonomyEditionForm, meta: {title: i18nGet('title_taxonomy_edition_page'), icon: 'shape'} },
|
{ path: '/taxonomies/:taxonomyId/edit', name: 'TaxonomyEditionForm', component: TaxonomyEditionForm, meta: {title: i18nGet('title_taxonomy_edition_page') } },
|
||||||
{ path: '/taxonomies/:taxonomyId', redirect: '/taxonomies/:taxonomyId/edit' },
|
{ path: '/taxonomies/:taxonomyId', redirect: '/taxonomies/:taxonomyId/edit' },
|
||||||
|
|
||||||
{ path: '/activities', name: 'ActivitiesPage', component: ActivitiesPage, meta: {title: i18nGet('title_repository_activities_page'), icon: 'flash'} },
|
{ path: '/activities', name: 'ActivitiesPage', component: ActivitiesPage, meta: {title: i18nGet('title_repository_activities_page') } },
|
||||||
|
|
||||||
{ path: '/importers/', name: 'AvailableImportersPage', component: AvailableImportersPage, meta: {title: i18nGet('title_importers_page'), icon: 'import'} },
|
{ path: '/capabilities', component: CapabilitiesPage, name: 'CapabilitiesPage', meta: {title: i18nGet('title_repository_capabilities') } },
|
||||||
{ path: '/importers/:importerSlug', name: 'ImporterEditionForm', component: ImporterEditionForm, meta: {title: i18nGet('title_importer_page'), icon: 'import'} },
|
|
||||||
{ path: '/importers/:importerSlug/:sessionId', name: 'ImporterCreationForm', component: ImporterEditionForm, meta: { title: i18nGet('title_importer_page'), icon: 'import' } },
|
|
||||||
{ path: '/importers/:importerType/:sessionId/mapping/:collectionId', name: 'ImporterMappingForm', component: ImporterMappingForm, meta: {title: i18nGet('title_importer_mapping_page'), icon: 'import'} },
|
|
||||||
|
|
||||||
{ path: '/exporters/', name: 'ExportersPage', component: AvailableExportersPage, meta: {title: i18nGet('title_exporters_page'), icon: 'export'} },
|
{ path: '/importers/', name: 'AvailableImportersPage', component: AvailableImportersPage, meta: {title: i18nGet('title_importers_page') } },
|
||||||
{ path: '/exporters/:exporterSlug', name: 'ExporterEditionForm', component: ExporterEditionForm, meta: {title: i18nGet('title_exporter_page'), icon: 'export'}},
|
{ path: '/importers/:importerSlug', name: 'ImporterEditionForm', component: ImporterEditionForm, meta: {title: i18nGet('title_importer_page') } },
|
||||||
|
{ path: '/importers/:importerSlug/:sessionId', name: 'ImporterCreationForm', component: ImporterEditionForm, meta: { title: i18nGet('title_importer_page') } },
|
||||||
|
{ path: '/importers/:importerType/:sessionId/mapping/:collectionId', name: 'ImporterMappingForm', component: ImporterMappingForm, meta: {title: i18nGet('title_importer_mapping_page') } },
|
||||||
|
|
||||||
|
{ path: '/exporters/', name: 'ExportersPage', component: AvailableExportersPage, meta: {title: i18nGet('title_exporters_page') } },
|
||||||
|
{ path: '/exporters/:exporterSlug', name: 'ExporterEditionForm', component: ExporterEditionForm, meta: {title: i18nGet('title_exporter_page') }},
|
||||||
|
|
||||||
{ path: '*', redirect: '/'}
|
{ path: '*', redirect: '/'}
|
||||||
];
|
];
|
||||||
|
|
|
@ -233,6 +233,9 @@ RouterHelperPlugin.install = function (Vue, options = {}) {
|
||||||
getActivitiesPath(query) {
|
getActivitiesPath(query) {
|
||||||
return '/activities/?' + qs.stringify(query);
|
return '/activities/?' + qs.stringify(query);
|
||||||
},
|
},
|
||||||
|
getCapabilitiesPath() {
|
||||||
|
return '/capabilities';
|
||||||
|
},
|
||||||
getAvailableImportersPath() {
|
getAvailableImportersPath() {
|
||||||
return '/importers';
|
return '/importers';
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div
|
||||||
|
:class="{
|
||||||
|
'repository-level-page': isRepositoryLevel,
|
||||||
|
'page-container': isRepositoryLevel
|
||||||
|
}">
|
||||||
<tainacan-title
|
<tainacan-title
|
||||||
:bread-crumb-items="[{ path: '', label: this.$i18n.get('capabilities') }]"/>
|
:bread-crumb-items="[{ path: '', label: this.$i18n.get('capabilities') }]"/>
|
||||||
|
|
||||||
|
@ -69,6 +73,7 @@
|
||||||
name: 'CapabilitiesPage',
|
name: 'CapabilitiesPage',
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
isRepositoryLevel: false,
|
||||||
isLoading: false,
|
isLoading: false,
|
||||||
roles: [],
|
roles: [],
|
||||||
isFetchingRoles: false,
|
isFetchingRoles: false,
|
||||||
|
@ -156,6 +161,9 @@
|
||||||
mounted() {
|
mounted() {
|
||||||
this.loadCapabilities();
|
this.loadCapabilities();
|
||||||
this.fetchRolesForFiltering();
|
this.fetchRolesForFiltering();
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.isRepositoryLevel = (this.$route.params.collectionId === undefined);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -189,4 +189,4 @@
|
||||||
margin: 1rem auto;
|
margin: 1rem auto;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -132,7 +132,8 @@ return apply_filters( 'tainacan-admin-i18n', [
|
||||||
'title_processes_page' => __( 'Processes', 'tainacan' ),
|
'title_processes_page' => __( 'Processes', 'tainacan' ),
|
||||||
'title_item_bulk_add' => __( 'Bulk Add Items', 'tainacan' ),
|
'title_item_bulk_add' => __( 'Bulk Add Items', 'tainacan' ),
|
||||||
'title_exporter_page' => __( 'Exporter', 'tainacan'),
|
'title_exporter_page' => __( 'Exporter', 'tainacan'),
|
||||||
'title_collection_capabilities' => __( 'Related Capabilities', 'tainacan'),
|
'title_collection_capabilities' => __( 'Capabilities Related to the Collection', 'tainacan'),
|
||||||
|
'title_repository_capabilities' => __( 'Capabilities Related to the Repository', 'tainacan'),
|
||||||
|
|
||||||
// Labels (used mainly on Aria Labels and Inputs)
|
// Labels (used mainly on Aria Labels and Inputs)
|
||||||
'label' => __( 'Label', 'tainacan' ),
|
'label' => __( 'Label', 'tainacan' ),
|
||||||
|
|
|
@ -48,8 +48,8 @@ export const fetchRoles = ({ commit }) => {
|
||||||
// CAPABILITIES
|
// CAPABILITIES
|
||||||
export const fetchCapabilities = ({ commit }, { collectionId } ) => {
|
export const fetchCapabilities = ({ commit }, { collectionId } ) => {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
|
const endpoint = collectionId != undefined ? `/collection/${collectionId}/capabilities` : `/capabilities`
|
||||||
axios.tainacan.get(`/collection/${collectionId}/capabilities`)
|
axios.tainacan.get(endpoint)
|
||||||
.then(res => {
|
.then(res => {
|
||||||
let capabilities = res.data.capabilities;
|
let capabilities = res.data.capabilities;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue