diff --git a/frappe/patches.txt b/frappe/patches.txt index e34fe93223..9e09d6364f 100644 --- a/frappe/patches.txt +++ b/frappe/patches.txt @@ -320,3 +320,4 @@ frappe.patches.v13_0.remove_custom_link execute:frappe.delete_doc("DocType", "Footer Item") frappe.patches.v13_0.replace_field_target_with_open_in_new_tab frappe.core.doctype.role.patches.v13_set_default_desk_properties +frappe.patches.v13_0.add_switch_theme_to_navbar_settings \ No newline at end of file diff --git a/frappe/patches/v13_0/add_switch_theme_to_navbar_settings.py b/frappe/patches/v13_0/add_switch_theme_to_navbar_settings.py new file mode 100644 index 0000000000..29b99464b5 --- /dev/null +++ b/frappe/patches/v13_0/add_switch_theme_to_navbar_settings.py @@ -0,0 +1,21 @@ +from __future__ import unicode_literals +import frappe + +def execute(): + navbar_settings = frappe.get_single("Navbar Settings") + + if frappe.db.exists('Navbar Item', {'item_label': 'Toggle Theme'}): + return + + for navbar_item in navbar_settings.settings_dropdown[6:]: + navbar_item.idx = navbar_item.idx + 1 + + navbar_settings.append('settings_dropdown', { + 'item_label': 'Toggle Theme', + 'item_type': 'Action', + 'action': 'new frappe.ui.ThemeSwitcher().show()', + 'is_standard': 1, + 'idx': 7 + }) + + navbar_settings.save() \ No newline at end of file diff --git a/frappe/public/js/frappe/form/controls/multiselect_list.js b/frappe/public/js/frappe/form/controls/multiselect_list.js index 4e851b384a..5884a18753 100644 --- a/frappe/public/js/frappe/form/controls/multiselect_list.js +++ b/frappe/public/js/frappe/form/controls/multiselect_list.js @@ -210,7 +210,7 @@ frappe.ui.form.ControlMultiSelectList = frappe.ui.form.ControlData.extend({ ${option.label}
${option.description}
-
+
${frappe.utils.icon('tick', 'xs')}
`; }).join(''); if (!html) { diff --git a/frappe/public/js/frappe/router.js b/frappe/public/js/frappe/router.js index a4e8bc081f..914cf8a74f 100644 --- a/frappe/public/js/frappe/router.js +++ b/frappe/public/js/frappe/router.js @@ -279,7 +279,8 @@ frappe.router = { // ["Form", "Sales Order", "SO-0001"] => /sales-order/SO-0001 // ["Tree", "Account"] = /account/view/tree - const view = route[0].toLowerCase(); + // route[0] is not available for home "/app" + const view = route[0] && route[0].toLowerCase(); if (view === 'list') { if (route[2] && route[2] !== 'list') { const new_route = [this.slug(route[1]), 'view', route[2].toLowerCase()]; diff --git a/frappe/public/scss/desk/controls.scss b/frappe/public/scss/desk/controls.scss index 9748aacb71..1925de7878 100644 --- a/frappe/public/scss/desk/controls.scss +++ b/frappe/public/scss/desk/controls.scss @@ -33,11 +33,49 @@ background-color: var(--control-bg); } +/* multiselect list */ .multiselect-list { .status-text { position: absolute; top: 4px; } + + .dropdown-menu { + width: 100%; + } + + li { + padding: var(--padding-sm); + } + + .selectable-item { + cursor: pointer; + @include flex(flex, space-between, center, null); + .icon { + display: none; + } + } + + .selectable-item.selected { + background-color: var(--yellow-highlight-color); + + .icon { + display: block; + } + } + + .selectable-item:hover, .selectable-item.highlighted { + background-color: var(--fg-hover-color); + } + + .selectable-items { + max-height: 200px; + overflow: auto; + + .multiselect-check { + margin-left: var(--margin-sm); + } + } } .frappe-control { diff --git a/frappe/public/scss/desk/css_variables.scss b/frappe/public/scss/desk/css_variables.scss index 92ac33ad8d..524c7ccd3e 100644 --- a/frappe/public/scss/desk/css_variables.scss +++ b/frappe/public/scss/desk/css_variables.scss @@ -219,10 +219,13 @@ --page-head-height: 75px; --page-bottom-margin: 60px; + // input + --input-height: $input-height; + // timeline --timeline-item-icon-size: 34px; --timeline-item-left-margin: var(--margin-xl); --timeline-item-bottom-margin: var(--margin-sm); --timeline-content-max-width: 700px; - --timeline-left-padding: calc(var(--padding-xl) + var(--timeline-item-icon-size)/2) + --timeline-left-padding: calc(var(--padding-xl) + var(--timeline-item-icon-size)/2); } \ No newline at end of file diff --git a/frappe/public/scss/desk/form.scss b/frappe/public/scss/desk/form.scss index f6813def5d..55f1ec364b 100644 --- a/frappe/public/scss/desk/form.scss +++ b/frappe/public/scss/desk/form.scss @@ -85,9 +85,10 @@ } .like-disabled-input { - min-height: $input-height; + min-height: var(--input-height); border-radius: $border-radius; font-weight: 400; + padding: 8px 12px; cursor: default; color: var(--gray-500); background-color: var(--control-bg);