fix(minor): workspace parent should be name, not title
This commit is contained in:
parent
0b902d1ea6
commit
09e6940f3a
3 changed files with 30 additions and 29 deletions
|
|
@ -165,7 +165,7 @@ frappe.router = {
|
|||
|
||||
if (frappe.workspaces[route[0]]) {
|
||||
// public workspace
|
||||
route = ["Workspaces", frappe.workspaces[route[0]].title];
|
||||
route = ["Workspaces", frappe.workspaces[route[0]].name];
|
||||
} else if (route[0] == "private") {
|
||||
// private workspace
|
||||
let private_workspace = route[1] && `${route[1]}-${frappe.user.name.toLowerCase()}`;
|
||||
|
|
@ -173,7 +173,7 @@ frappe.router = {
|
|||
frappe.msgprint(__("Workspace <b>{0}</b> does not exist", [route[1]]));
|
||||
return ["Workspaces"];
|
||||
}
|
||||
route = ["Workspaces", "private", frappe.workspaces[private_workspace].title];
|
||||
route = ["Workspaces", "private", frappe.workspaces[private_workspace].name];
|
||||
} else if (this.routes[route[0]]) {
|
||||
// route
|
||||
route = await this.set_doctype_route(route);
|
||||
|
|
@ -473,9 +473,7 @@ frappe.router = {
|
|||
|
||||
if (workspace) {
|
||||
return (
|
||||
"/app/" +
|
||||
(workspace.public ? "" : "private/") +
|
||||
frappe.router.slug(workspace.title)
|
||||
"/app/" + (workspace.public ? "" : "private/") + frappe.router.slug(workspace.name)
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -173,7 +173,7 @@ frappe.ui.Sidebar = class Sidebar {
|
|||
frappe.workspace_list = [];
|
||||
for (let page of this.all_pages) {
|
||||
frappe.workspaces[frappe.router.slug(page.name)] = {
|
||||
title: page.title,
|
||||
name: page.name,
|
||||
public: page.public,
|
||||
};
|
||||
|
||||
|
|
@ -190,14 +190,14 @@ frappe.ui.Sidebar = class Sidebar {
|
|||
|
||||
let app_workspaces = frappe.boot.app_data_map[frappe.current_app || "frappe"].workspaces;
|
||||
|
||||
let parent_pages = this.all_pages.filter((p) => !p.parent_page).uniqBy((p) => p.title);
|
||||
let parent_pages = this.all_pages.filter((p) => !p.parent_page).uniqBy((p) => p.name);
|
||||
parent_pages = [
|
||||
...parent_pages.filter(
|
||||
(p) =>
|
||||
!p.public &&
|
||||
(app_workspaces.includes(p.title) || p.app === frappe.current_app || !p.app)
|
||||
(app_workspaces.includes(p.name) || p.app === frappe.current_app || !p.app)
|
||||
),
|
||||
...parent_pages.filter((p) => p.public && app_workspaces.includes(p.title)),
|
||||
...parent_pages.filter((p) => p.public && app_workspaces.includes(p.name)),
|
||||
];
|
||||
|
||||
this.build_sidebar_section("All", parent_pages);
|
||||
|
|
@ -257,13 +257,15 @@ frappe.ui.Sidebar = class Sidebar {
|
|||
item.selected = is_current_page;
|
||||
|
||||
if (is_current_page) {
|
||||
this.current_page = { name: item.title, public: item.public };
|
||||
this.current_page = { name: item.name, public: item.public };
|
||||
}
|
||||
|
||||
let $item_container = this.sidebar_item_container(item);
|
||||
let sidebar_control = $item_container.find(".sidebar-item-control");
|
||||
|
||||
let child_items = this.all_pages.filter((page) => page.parent_page == item.title);
|
||||
let child_items = this.all_pages.filter(
|
||||
(page) => page.parent_page == item.name || page.parent_page == item.title
|
||||
);
|
||||
if (child_items.length > 0) {
|
||||
let child_container = $item_container.find(".sidebar-child-item");
|
||||
child_container.addClass("hidden");
|
||||
|
|
@ -271,7 +273,7 @@ frappe.ui.Sidebar = class Sidebar {
|
|||
}
|
||||
|
||||
$item_container.appendTo(container);
|
||||
this.sidebar_items[item.public ? "public" : "private"][item.title] = $item_container;
|
||||
this.sidebar_items[item.public ? "public" : "private"][item.name] = $item_container;
|
||||
|
||||
if ($item_container.parent().hasClass("hidden") && is_current_page) {
|
||||
$item_container.parent().toggleClass("hidden");
|
||||
|
|
@ -338,7 +340,9 @@ frappe.ui.Sidebar = class Sidebar {
|
|||
|
||||
if (
|
||||
this.all_pages.some(
|
||||
(e) => e.parent_page == item.title && (e.is_hidden == 0 || !this.is_read_only)
|
||||
(e) =>
|
||||
(e.parent_page == item.title || e.parent_page == item.name) &&
|
||||
(e.is_hidden == 0 || !this.is_read_only)
|
||||
)
|
||||
) {
|
||||
$drop_icon.removeClass("hidden");
|
||||
|
|
|
|||
|
|
@ -155,12 +155,12 @@ frappe.views.Workspace = class Workspace {
|
|||
|
||||
if (frappe.boot.user.default_workspace) {
|
||||
default_page = {
|
||||
name: frappe.boot.user.default_workspace.title,
|
||||
name: frappe.boot.user.default_workspace.name,
|
||||
public: frappe.boot.user.default_workspace.public,
|
||||
};
|
||||
} else if (
|
||||
localStorage.current_page &&
|
||||
this.sidebar.all_pages.filter((page) => page.title == localStorage.current_page)
|
||||
this.sidebar.all_pages.filter((page) => page.name == localStorage.current_page)
|
||||
.length != 0
|
||||
) {
|
||||
default_page = {
|
||||
|
|
@ -169,7 +169,7 @@ frappe.views.Workspace = class Workspace {
|
|||
};
|
||||
} else if (Object.keys(this.sidebar.all_pages).length !== 0) {
|
||||
default_page = {
|
||||
name: this.sidebar.all_pages[0].title,
|
||||
name: this.sidebar.all_pages[0].name,
|
||||
public: this.sidebar.all_pages[0].public,
|
||||
};
|
||||
} else {
|
||||
|
|
@ -193,7 +193,7 @@ frappe.views.Workspace = class Workspace {
|
|||
if (this.sidebar.all_pages.length) {
|
||||
this.create_page_skeleton();
|
||||
|
||||
let current_page = this.sidebar.all_pages.filter((p) => p.title == page.name)[0];
|
||||
let current_page = this.sidebar.all_pages.filter((p) => p.name == page.name)[0];
|
||||
this._page = current_page;
|
||||
let app =
|
||||
this._page.app || frappe.boot.module_app[frappe.router.slug(this._page.module)];
|
||||
|
|
@ -266,7 +266,7 @@ frappe.views.Workspace = class Workspace {
|
|||
}
|
||||
|
||||
setup_actions(page) {
|
||||
let current_page = this.sidebar.all_pages.filter((p) => p.title == page.name)[0];
|
||||
let current_page = this.sidebar.all_pages.filter((p) => p.name == page.name)[0];
|
||||
|
||||
if (!this.is_read_only) {
|
||||
this.setup_customization_buttons(current_page);
|
||||
|
|
@ -352,7 +352,7 @@ frappe.views.Workspace = class Workspace {
|
|||
var me = this;
|
||||
let old_item = item;
|
||||
let parent_pages = this.sidebar.all_pages;
|
||||
let idx = parent_pages.findIndex((x) => x == item.title);
|
||||
let idx = parent_pages.findIndex((x) => x == item.name);
|
||||
if (idx !== -1) parent_pages.splice(idx, 1);
|
||||
const d = new frappe.ui.Dialog({
|
||||
title: __("Update Details"),
|
||||
|
|
@ -387,9 +387,6 @@ frappe.views.Workspace = class Workspace {
|
|||
d.set_df_property("indicator_color", "hidden", this.get_value() ? 1 : 0);
|
||||
},
|
||||
},
|
||||
{
|
||||
fieldtype: "Column Break",
|
||||
},
|
||||
{
|
||||
label: __("Icon"),
|
||||
fieldtype: "Icon",
|
||||
|
|
@ -432,9 +429,13 @@ frappe.views.Workspace = class Workspace {
|
|||
});
|
||||
|
||||
if (this.make_page_selected) {
|
||||
let pre_url = values.is_public ? "" : "private/";
|
||||
let route = pre_url + frappe.router.slug(values.title);
|
||||
frappe.set_route(route);
|
||||
if (values.is_public) {
|
||||
frappe.set_route(frappe.router.slug(values.name));
|
||||
} else {
|
||||
frappe.set_route(
|
||||
"private/" + frappe.router.slug(values.name.split("-").at(-1))
|
||||
);
|
||||
}
|
||||
|
||||
this.make_page_selected = false;
|
||||
}
|
||||
|
|
@ -736,15 +737,13 @@ frappe.views.Workspace = class Workspace {
|
|||
get_parent_pages(page) {
|
||||
this.public_parent_pages = [
|
||||
"",
|
||||
...this.sidebar.all_pages
|
||||
.filter((p) => p.public && !p.parent_page)
|
||||
.map((p) => p.title),
|
||||
...this.sidebar.all_pages.filter((p) => p.public && !p.parent_page).map((p) => p.name),
|
||||
];
|
||||
this.private_parent_pages = [
|
||||
"",
|
||||
...this.sidebar.all_pages
|
||||
.filter((p) => !p.public && !p.parent_page)
|
||||
.map((p) => p.title),
|
||||
.map((p) => p.name),
|
||||
];
|
||||
|
||||
if (page) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue