| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- 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}`;
- }
- }
|