Quellcode durchsuchen

[ui] add_custom_button will show button in inner toolbar

version-14
Rushabh Mehta vor 10 Jahren
Ursprung
Commit
9035c30492
4 geänderte Dateien mit 27 neuen und 7 gelöschten Zeilen
  1. +5
    -0
      frappe/__init__.py
  2. +5
    -0
      frappe/public/css/form.css
  3. +10
    -7
      frappe/public/js/legacy/form.js
  4. +7
    -0
      frappe/public/less/form.less

+ 5
- 0
frappe/__init__.py Datei anzeigen

@@ -469,6 +469,10 @@ def delete_doc_if_exists(doctype, name):
if db.exists(doctype, name): if db.exists(doctype, name):
delete_doc(doctype, name) delete_doc(doctype, name)


def reload_doctype(doctype):
"""Reload DocType from model (`[module]/[doctype]/[name]/[name].json`) files."""
reload_doc(db.get_value("DocType", doctype, "module"), "doctype", doctype)

def reload_doc(module, dt=None, dn=None, force=False): def reload_doc(module, dt=None, dn=None, force=False):
"""Reload Document from model (`[module]/[doctype]/[name]/[name].json`) files. """Reload Document from model (`[module]/[doctype]/[name]/[name].json`) files.


@@ -477,6 +481,7 @@ def reload_doc(module, dt=None, dn=None, force=False):
:param dn: Document name. :param dn: Document name.
:param force: Reload even if `modified` timestamp matches. :param force: Reload even if `modified` timestamp matches.
""" """

import frappe.modules import frappe.modules
return frappe.modules.reload_doc(module, dt, dn, force=force) return frappe.modules.reload_doc(module, dt, dn, force=force)




+ 5
- 0
frappe/public/css/form.css Datei anzeigen

@@ -11,6 +11,11 @@
padding: 10px 0px; padding: 10px 0px;
border-bottom: 1px solid #d1d8dd; border-bottom: 1px solid #d1d8dd;
} }
.form-inner-toolbar {
padding: 10px 15px;
background-color: #fafbfc;
text-align: right;
}
.form-clickable-section { .form-clickable-section {
border-top: 1px solid #d1d8dd; border-top: 1px solid #d1d8dd;
padding: 10px 15px; padding: 10px 15px;


+ 10
- 7
frappe/public/js/legacy/form.js Datei anzeigen

@@ -98,8 +98,6 @@ _f.Frm.prototype.setup = function() {
page: this.page page: this.page
}); });


this.frm_head = this.toolbar;

// print layout // print layout
this.setup_print_layout(); this.setup_print_layout();


@@ -222,8 +220,8 @@ _f.Frm.prototype.onhide = function() {


_f.Frm.prototype.setup_std_layout = function() { _f.Frm.prototype.setup_std_layout = function() {
this.form_wrapper = $('<div></div>').appendTo(this.layout_main); this.form_wrapper = $('<div></div>').appendTo(this.layout_main);
this.body_header = $("<div>").appendTo(this.form_wrapper);
this.body = $("<div>").appendTo(this.form_wrapper);
this.inner_toolbar = $('<div class="form-inner-toolbar hide"></div>').appendTo(this.form_wrapper);
this.body = $('<div></div>').appendTo(this.form_wrapper);


// only tray // only tray
this.meta.section_style='Simple'; // always simple! this.meta.section_style='Simple'; // always simple!
@@ -324,10 +322,12 @@ _f.Frm.prototype.refresh_header = function() {
frappe.ui.toolbar.recent.add(this.doctype, this.docname, 1); frappe.ui.toolbar.recent.add(this.doctype, this.docname, 1);


// show / hide buttons // show / hide buttons
if(this.frm_head) {
this.frm_head.refresh();
if(this.toolbar) {
this.toolbar.refresh();
} }


this.clear_custom_buttons();

this.show_web_link(); this.show_web_link();
} }


@@ -748,10 +748,13 @@ _f.Frm.prototype.set_footnote = function(txt) {




_f.Frm.prototype.add_custom_button = function(label, fn, icon, toolbar_or_class) { _f.Frm.prototype.add_custom_button = function(label, fn, icon, toolbar_or_class) {
this.page.add_menu_item(label, fn);
return $('<button class="btn btn-default btn-xs" style="margin-left: 10px;">'+__(label)+'</btn>')
.on("click", fn).appendTo(this.inner_toolbar.removeClass("hide"))
//return this.page.add_menu_item(label, fn);
} }


_f.Frm.prototype.clear_custom_buttons = function() { _f.Frm.prototype.clear_custom_buttons = function() {
this.inner_toolbar.empty().addClass("hide");
this.page.clear_user_actions(); this.page.clear_user_actions();
} }




+ 7
- 0
frappe/public/less/form.less Datei anzeigen

@@ -16,6 +16,13 @@
border-bottom: 1px solid @border-color; border-bottom: 1px solid @border-color;
} }


.form-inner-toolbar {
padding: 10px 15px;
background-color: @light-bg;
//border-bottom: 1px solid @border-color;
text-align: right;
}

.form-clickable-section { .form-clickable-section {
border-top: 1px solid @border-color; border-top: 1px solid @border-color;
padding: 10px 15px; padding: 10px 15px;


Laden…
Abbrechen
Speichern