check pos.js
https://github.com/frappe/erpnext/blob/develop/erpnext/accounts/page/pos/pos.js#L26
What you tried?
probably i’m doing something wrong …
frappe.data_import_tool = frappe.data_import_tool.extends({
init: function (wrapper) {
this.onload();
},
onload: function () {
var me = this;
console.log(me);
}
});
if you are creating a new js file for customization. Then you have to include your .js
file in data_import_tool.js
it rise an error while importing:
{% include "frappe/core/page/data_import_tool/data_import_tool.js" %}
Uncaught SyntaxError: Unexpected token %
Cant get to work …do u have any other hint?
can someone help on how to extend DataImportTool page?! i’m really getting frustrated …
@JoEz
After some tries got one solution
Refer Simple JavaScript Inheritance to know more
Write following script in your custom js
file
frappe.CustomDataImportTool = frappe.DataImportTool.extend({
init: function(parent) {
console.log("custom init")
this._super(parent)
this.onload()
},
onload: function(parent) {
console.log(" custom onload")
}
})
You have to call this Class from data_import_tool.js
Changes in data_import_tool.js
{% include path to your custom js' %}
frappe.pages['data-import-tool'].on_page_load = function(wrapper) {
frappe.data_import_tool = new frappe.CustomDataImportTool(wrapper);
}
There is an another way to do it If you have custom app
. Simply add your own data_import_tool.js
include it in app_include_js
via hooks.py
Thx, i’ll have a test on second option …i’ll let you know
HI @Sangram, i’m getting an error:
TypeError: undefined is not an object (evaluating 'frappe.DataImportTool.extend')
Seems DataImportTool is not found
seems like you did something wrong. It is working perfectly for me.
Have you made changes in data_import_tool.js
as I suggested?
Please check it again.
Edit:
include custom js
exactly above the
frappe.pages['data-import-tool'].on_page_load = function(wrapper) {
I think the problem is not on importing in data_import_tool.js
, seems more a problem extending DataImportTool class.
And importing file in js will rise another exception:
SyntaxError: Unexpected token '%'
always getting :
SyntaxError: Unexpected token '%'
Where did you import it?
Import it just before below line as it is executing sequentialy
frappe.pages['data-import-tool'].on_page_load = function(wrapper) {
see
{% include js file %}
frappe.pages['data-import-tool'].on_page_load = function(wrapper) {
frappe.data_import_tool = new frappe.CustomDataImportTool(wrapper);
}
it doesn’t in what line i import, it keep giving me SyntaxError: Unexpected token '%'
error. Not sure why, but seems {% include 'path/to/js/file' %}
is not correct even if it should be …
FrappeTeam …any hint on this? Seems page DataImportTool is not affected by custom js code and can’t be extended …can u suggest some way to fix it?
All day on this …but no results …what version are u using?
I think this is not required. You just need to extend the frappe.DataImportTool
class and make sure to include it in your hooks.py so that it loads after the frappe assets load. That should override the original data import tool.
@netchampfaris Hi there,
i’m trying to extend but it keeps giving me an error:
[Error] TypeError: frappe.DataImportTool.extend is not a function. (In 'frappe.DataImportTool.extend', 'frappe.DataImportTool.extend' is undefined)
this is my code:
frappe.DataImportTool = frappe.DataImportTool.extend({
init: function(parent) {
console.log("custom init")
this._super(parent)
this.onload()
},
onload: function(parent) {
console.log(" custom onload")
}
});
Any hint?