Selaa lähdekoodia

Merge pull request #12872 from surajshetty3416/copy-doc-without-boundaries

version-14
Suraj Shetty 4 vuotta sitten
committed by GitHub
vanhempi
commit
85ad358a83
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
2 muutettua tiedostoa jossa 40 lisäystä ja 1 poistoa
  1. +34
    -0
      frappe/public/js/frappe/desk.js
  2. +6
    -1
      frappe/public/js/frappe/form/toolbar.js

+ 34
- 0
frappe/public/js/frappe/desk.js Näytä tiedosto

@@ -51,6 +51,7 @@ frappe.Application = Class.extend({
this.set_fullwidth_if_enabled();
this.add_browser_class();
this.setup_energy_point_listeners();
this.setup_copy_doc_listener();

frappe.ui.keys.setup();

@@ -606,6 +607,39 @@ frappe.Application = Class.extend({
frappe.show_alert(message);
});
},

setup_copy_doc_listener() {
$('body').on('paste', (e) => {
try {
let clipboard_data = e.clipboardData || window.clipboardData || e.originalEvent.clipboardData;
let pasted_data = clipboard_data.getData('Text');
let doc = JSON.parse(pasted_data);
if (doc.doctype) {
e.preventDefault();
let sleep = (time) => {
return new Promise((resolve) => setTimeout(resolve, time));
};

frappe.dom.freeze(__('Creating {0}', [doc.doctype]) + '...');
// to avoid abrupt UX
// wait for activity feedback
sleep(500).then(() => {
let res = frappe.model.with_doctype(doc.doctype, () => {
let newdoc = frappe.model.copy_doc(doc);
newdoc.__newname = doc.name;
newdoc.idx = null;
newdoc.__run_link_triggers = false;
frappe.set_route('Form', newdoc.doctype, newdoc.name);
frappe.dom.unfreeze();
});
res && res.fail(frappe.dom.unfreeze);
});
}
} catch (e) {
//
}
});
}
});

frappe.get_module = function(m, default_module) {


+ 6
- 1
frappe/public/js/frappe/form/toolbar.js Näytä tiedosto

@@ -278,13 +278,18 @@ frappe.ui.form.Toolbar = class Toolbar {
}, true)
}

// copy
// duplicate
if(in_list(frappe.boot.user.can_create, me.frm.doctype) && !me.frm.meta.allow_copy) {
this.page.add_menu_item(__("Duplicate"), function() {
me.frm.copy_doc();
}, true);
}

// copy doc to clipboard
this.page.add_menu_item(__("Copy to Clipboard"), function() {
frappe.utils.copy_to_clipboard(JSON.stringify(me.frm.doc));
}, true);

// rename
if(this.can_rename()) {
this.page.add_menu_item(__("Rename"), function() {


Ladataan…
Peruuta
Tallenna