| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- import _ from "lodash";
- export class FolderPageLoader {
- constructor(private backendSrv, private $routeParams) { }
- load(ctrl, folderId, activeChildId) {
- ctrl.navModel = {
- main: {
- icon: 'fa fa-folder-open',
- id: 'manage-folder',
- subTitle: 'Manage folder dashboards & permissions',
- url: '',
- text: '',
- breadcrumbs: [
- { title: 'Dashboards', url: '/dashboards' },
- { title: ' ' },
- ],
- children: [
- {
- active: activeChildId === 'manage-folder-dashboards',
- icon: 'fa fa-fw fa-th-large',
- id: 'manage-folder-dashboards',
- text: 'Dashboards',
- url: '/dashboards'
- },
- {
- active: activeChildId === 'manage-folder-permissions',
- icon: 'fa fa-fw fa-lock',
- id: 'manage-folder-permissions',
- text: 'Permissions',
- url: '/dashboards/permissions'
- },
- {
- active: activeChildId === 'manage-folder-settings',
- icon: 'fa fa-fw fa-cog',
- id: 'manage-folder-settings',
- text: 'Settings',
- url: '/dashboards/settings'
- }
- ]
- }
- };
- return this.backendSrv.getDashboard('db', this.$routeParams.slug).then(result => {
- const folderTitle = result.dashboard.title;
- ctrl.navModel.main.text = '';
- ctrl.navModel.main.breadcrumbs = [
- { title: 'Dashboards', url: '/dashboards' },
- { title: folderTitle }
- ];
- const folderUrl = this.createFolderUrl(folderId, result.meta.type, result.meta.slug);
- const dashTab = _.find(ctrl.navModel.main.children, { id: 'manage-folder-dashboards' });
- dashTab.url = folderUrl;
- const permTab = _.find(ctrl.navModel.main.children, { id: 'manage-folder-permissions' });
- permTab.url = folderUrl + '/permissions';
- const settingsTab = _.find(ctrl.navModel.main.children, { id: 'manage-folder-settings' });
- settingsTab.url = folderUrl + '/settings';
- return result;
- });
- }
- createFolderUrl(folderId: number, type: string, slug: string) {
- return `/dashboards/folder/${folderId}/${slug}`;
- }
- }
|