How to extend admin js in magento 2 by mixinshow to extend .js and .html files in Magento 2Magento2 override admin js fileHow Are the Things Magento 2 calls “mixins” Implemented?How to rewrite widget function with mixins Magento 2.1.1How to override Magento 2 js using Mixins?When to use mixins and when to use map?How to using mixins for “mage/dataPost”?How override the variable which is in existing core js (using mixins)in magento 2Extend a default JS component or Use MixinMagento_Payment/translate not included in requirejs config for mixins
Applying a function to a nested list
Why do freehub and cassette have only one position that matches?
Map one pandas column using two dictionaries
How can I fairly adjudicate the effects of height differences on ranged attacks?
How to implement float hashing with approximate equality
An 'if constexpr branch' does not get discarded inside lambda that is inside a template function
You look catfish vs You look like a catfish?
Junior developer struggles: how to communicate with management?
Visualizing a complicated Region
Power LED from 3.3V Power Pin without Resistor
Why are notes ordered like they are on a piano?
Pigeonhole Principle Problem
Is balancing necessary on a full-wheel change?
The barbers paradox first order logic formalization
Has any spacecraft ever had the ability to directly communicate with civilian air traffic control?
Unidentified items in bicycle tube repair kit
Password expiration with Password manager
What happened to Rhaegal?
What was the state of the German rail system in 1944?
How to reply this mail from potential PhD professor?
CRT Oscilloscope - part of the plot is missing
Why do money exchangers give different rates to different bills
How long can a 35mm film be used/stored before it starts to lose its quality after expiry?
Stark VS Thanos
How to extend admin js in magento 2 by mixins
how to extend .js and .html files in Magento 2Magento2 override admin js fileHow Are the Things Magento 2 calls “mixins” Implemented?How to rewrite widget function with mixins Magento 2.1.1How to override Magento 2 js using Mixins?When to use mixins and when to use map?How to using mixins for “mage/dataPost”?How override the variable which is in existing core js (using mixins)in magento 2Extend a default JS component or Use MixinMagento_Payment/translate not included in requirejs config for mixins
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
I want to overide
Magento_Sales/adminhtml/web/order/create/scripts.js
I wrote require-config.js for this
var config =
config:
mixins:
'Magento_Sales/adminhtml/web/order/create/scripts.js':
'Magento_Sales/web/order/create/scripts-mixins.js': true
;
My implementation is in file
Magento_Sales/web/order/create/scripts-mixins.js
define([
"jquery",
'Magento_Ui/js/modal/confirm',
'Magento_Ui/js/modal/alert',
"mage/translate",
"prototype",
"Magento_Catalog/catalog/product/composite/configure",
'Magento_Ui/js/lib/view/utils/async'
], function(jQuery, confirm, alert)
return AdminOrder.prototype =
setCustomerId : function(id)
return false;
this.customerId = id;
this.loadArea('header', true);
$(this.getAreaId('header')).callback = 'setCustomerAfter';
$('back_order_top_button').hide();
$('reset_order_top_button').show();
);
But its not working.
its always executing parent class function.
magento2 javascript uicomponent prototype-js mixins
add a comment |
I want to overide
Magento_Sales/adminhtml/web/order/create/scripts.js
I wrote require-config.js for this
var config =
config:
mixins:
'Magento_Sales/adminhtml/web/order/create/scripts.js':
'Magento_Sales/web/order/create/scripts-mixins.js': true
;
My implementation is in file
Magento_Sales/web/order/create/scripts-mixins.js
define([
"jquery",
'Magento_Ui/js/modal/confirm',
'Magento_Ui/js/modal/alert',
"mage/translate",
"prototype",
"Magento_Catalog/catalog/product/composite/configure",
'Magento_Ui/js/lib/view/utils/async'
], function(jQuery, confirm, alert)
return AdminOrder.prototype =
setCustomerId : function(id)
return false;
this.customerId = id;
this.loadArea('header', true);
$(this.getAreaId('header')).callback = 'setCustomerAfter';
$('back_order_top_button').hide();
$('reset_order_top_button').show();
);
But its not working.
its always executing parent class function.
magento2 javascript uicomponent prototype-js mixins
add a comment |
I want to overide
Magento_Sales/adminhtml/web/order/create/scripts.js
I wrote require-config.js for this
var config =
config:
mixins:
'Magento_Sales/adminhtml/web/order/create/scripts.js':
'Magento_Sales/web/order/create/scripts-mixins.js': true
;
My implementation is in file
Magento_Sales/web/order/create/scripts-mixins.js
define([
"jquery",
'Magento_Ui/js/modal/confirm',
'Magento_Ui/js/modal/alert',
"mage/translate",
"prototype",
"Magento_Catalog/catalog/product/composite/configure",
'Magento_Ui/js/lib/view/utils/async'
], function(jQuery, confirm, alert)
return AdminOrder.prototype =
setCustomerId : function(id)
return false;
this.customerId = id;
this.loadArea('header', true);
$(this.getAreaId('header')).callback = 'setCustomerAfter';
$('back_order_top_button').hide();
$('reset_order_top_button').show();
);
But its not working.
its always executing parent class function.
magento2 javascript uicomponent prototype-js mixins
I want to overide
Magento_Sales/adminhtml/web/order/create/scripts.js
I wrote require-config.js for this
var config =
config:
mixins:
'Magento_Sales/adminhtml/web/order/create/scripts.js':
'Magento_Sales/web/order/create/scripts-mixins.js': true
;
My implementation is in file
Magento_Sales/web/order/create/scripts-mixins.js
define([
"jquery",
'Magento_Ui/js/modal/confirm',
'Magento_Ui/js/modal/alert',
"mage/translate",
"prototype",
"Magento_Catalog/catalog/product/composite/configure",
'Magento_Ui/js/lib/view/utils/async'
], function(jQuery, confirm, alert)
return AdminOrder.prototype =
setCustomerId : function(id)
return false;
this.customerId = id;
this.loadArea('header', true);
$(this.getAreaId('header')).callback = 'setCustomerAfter';
$('back_order_top_button').hide();
$('reset_order_top_button').show();
);
But its not working.
its always executing parent class function.
magento2 javascript uicomponent prototype-js mixins
magento2 javascript uicomponent prototype-js mixins
edited Apr 26 at 11:24
Deepak Rai
asked Apr 26 at 11:13
Deepak RaiDeepak Rai
58511232
58511232
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
You may not use js mixin for the particular js file you try to override (i.e /vendor/magento/module-sales/view/adminhtml/web/order/create/scripts.js). Also, your require-config.js declaration is wrong but this not matter since mixin will not work for the js file /vendor/magento/module-sales/view/adminhtml/web/order/create/scripts.js
You may try below steps to override this AdminOrder class of the scripts.js file
I assume you are using a custom Module "Company_MyModule"
Step 1)
Create a xml file sales_order_create_index.xml under /app/code/Company/MyModule/view/adminhtml/layout
File : /app/code/Company/MyModule/view/adminhtml/layout/sales_order_create_index.xml
<?xml version="1.0"?>
<!--
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<referenceContainer name="js">
<block class="MagentoBackendBlockTemplate" template="Company_MyModule::order/create/js.phtml" name="create2"/>
</referenceContainer>
</page>
step 2)
Create a phtml file js.phtml under /app/code/Company/MyModule/view/adminhtml/templates/order/create
File : /app/code/Company/MyModule/view/adminhtml/templates/order/create/js.phtml
<script>
require([
"prototype",
"Company_MyModule/js/order/create/scripts"
], function()
);
</script>
step 3)
Create js file scripts.js under /app/code/Company/MyModule/view/adminhtml/web/js/order/create to override AdminOrder class.
File: /app/code/Company/MyModule/view/adminhtml/web/js/order/create/scripts.js
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
/* global AdminOrder */
define([
'jquery',
'Magento_Sales/order/create/scripts'
], function (jQuery)
'use strict';
AdminOrder.prototype.setCustomerId = function(id)
//console.log("override setCustomerId called");
return false;
this.customerId = id;
this.loadArea('header', true);
$(this.getAreaId('header')).callback = 'setCustomerAfter';
$('back_order_top_button').hide();
$('reset_order_top_button').show();
);
step 4)
Clear your Magento Cache and alson remove adminhtml static files also.
php bin/magento cache:clean
sudo rm -rf pub/static/adminhtml/*
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "479"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f272577%2fhow-to-extend-admin-js-in-magento-2-by-mixins%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You may not use js mixin for the particular js file you try to override (i.e /vendor/magento/module-sales/view/adminhtml/web/order/create/scripts.js). Also, your require-config.js declaration is wrong but this not matter since mixin will not work for the js file /vendor/magento/module-sales/view/adminhtml/web/order/create/scripts.js
You may try below steps to override this AdminOrder class of the scripts.js file
I assume you are using a custom Module "Company_MyModule"
Step 1)
Create a xml file sales_order_create_index.xml under /app/code/Company/MyModule/view/adminhtml/layout
File : /app/code/Company/MyModule/view/adminhtml/layout/sales_order_create_index.xml
<?xml version="1.0"?>
<!--
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<referenceContainer name="js">
<block class="MagentoBackendBlockTemplate" template="Company_MyModule::order/create/js.phtml" name="create2"/>
</referenceContainer>
</page>
step 2)
Create a phtml file js.phtml under /app/code/Company/MyModule/view/adminhtml/templates/order/create
File : /app/code/Company/MyModule/view/adminhtml/templates/order/create/js.phtml
<script>
require([
"prototype",
"Company_MyModule/js/order/create/scripts"
], function()
);
</script>
step 3)
Create js file scripts.js under /app/code/Company/MyModule/view/adminhtml/web/js/order/create to override AdminOrder class.
File: /app/code/Company/MyModule/view/adminhtml/web/js/order/create/scripts.js
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
/* global AdminOrder */
define([
'jquery',
'Magento_Sales/order/create/scripts'
], function (jQuery)
'use strict';
AdminOrder.prototype.setCustomerId = function(id)
//console.log("override setCustomerId called");
return false;
this.customerId = id;
this.loadArea('header', true);
$(this.getAreaId('header')).callback = 'setCustomerAfter';
$('back_order_top_button').hide();
$('reset_order_top_button').show();
);
step 4)
Clear your Magento Cache and alson remove adminhtml static files also.
php bin/magento cache:clean
sudo rm -rf pub/static/adminhtml/*
add a comment |
You may not use js mixin for the particular js file you try to override (i.e /vendor/magento/module-sales/view/adminhtml/web/order/create/scripts.js). Also, your require-config.js declaration is wrong but this not matter since mixin will not work for the js file /vendor/magento/module-sales/view/adminhtml/web/order/create/scripts.js
You may try below steps to override this AdminOrder class of the scripts.js file
I assume you are using a custom Module "Company_MyModule"
Step 1)
Create a xml file sales_order_create_index.xml under /app/code/Company/MyModule/view/adminhtml/layout
File : /app/code/Company/MyModule/view/adminhtml/layout/sales_order_create_index.xml
<?xml version="1.0"?>
<!--
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<referenceContainer name="js">
<block class="MagentoBackendBlockTemplate" template="Company_MyModule::order/create/js.phtml" name="create2"/>
</referenceContainer>
</page>
step 2)
Create a phtml file js.phtml under /app/code/Company/MyModule/view/adminhtml/templates/order/create
File : /app/code/Company/MyModule/view/adminhtml/templates/order/create/js.phtml
<script>
require([
"prototype",
"Company_MyModule/js/order/create/scripts"
], function()
);
</script>
step 3)
Create js file scripts.js under /app/code/Company/MyModule/view/adminhtml/web/js/order/create to override AdminOrder class.
File: /app/code/Company/MyModule/view/adminhtml/web/js/order/create/scripts.js
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
/* global AdminOrder */
define([
'jquery',
'Magento_Sales/order/create/scripts'
], function (jQuery)
'use strict';
AdminOrder.prototype.setCustomerId = function(id)
//console.log("override setCustomerId called");
return false;
this.customerId = id;
this.loadArea('header', true);
$(this.getAreaId('header')).callback = 'setCustomerAfter';
$('back_order_top_button').hide();
$('reset_order_top_button').show();
);
step 4)
Clear your Magento Cache and alson remove adminhtml static files also.
php bin/magento cache:clean
sudo rm -rf pub/static/adminhtml/*
add a comment |
You may not use js mixin for the particular js file you try to override (i.e /vendor/magento/module-sales/view/adminhtml/web/order/create/scripts.js). Also, your require-config.js declaration is wrong but this not matter since mixin will not work for the js file /vendor/magento/module-sales/view/adminhtml/web/order/create/scripts.js
You may try below steps to override this AdminOrder class of the scripts.js file
I assume you are using a custom Module "Company_MyModule"
Step 1)
Create a xml file sales_order_create_index.xml under /app/code/Company/MyModule/view/adminhtml/layout
File : /app/code/Company/MyModule/view/adminhtml/layout/sales_order_create_index.xml
<?xml version="1.0"?>
<!--
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<referenceContainer name="js">
<block class="MagentoBackendBlockTemplate" template="Company_MyModule::order/create/js.phtml" name="create2"/>
</referenceContainer>
</page>
step 2)
Create a phtml file js.phtml under /app/code/Company/MyModule/view/adminhtml/templates/order/create
File : /app/code/Company/MyModule/view/adminhtml/templates/order/create/js.phtml
<script>
require([
"prototype",
"Company_MyModule/js/order/create/scripts"
], function()
);
</script>
step 3)
Create js file scripts.js under /app/code/Company/MyModule/view/adminhtml/web/js/order/create to override AdminOrder class.
File: /app/code/Company/MyModule/view/adminhtml/web/js/order/create/scripts.js
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
/* global AdminOrder */
define([
'jquery',
'Magento_Sales/order/create/scripts'
], function (jQuery)
'use strict';
AdminOrder.prototype.setCustomerId = function(id)
//console.log("override setCustomerId called");
return false;
this.customerId = id;
this.loadArea('header', true);
$(this.getAreaId('header')).callback = 'setCustomerAfter';
$('back_order_top_button').hide();
$('reset_order_top_button').show();
);
step 4)
Clear your Magento Cache and alson remove adminhtml static files also.
php bin/magento cache:clean
sudo rm -rf pub/static/adminhtml/*
You may not use js mixin for the particular js file you try to override (i.e /vendor/magento/module-sales/view/adminhtml/web/order/create/scripts.js). Also, your require-config.js declaration is wrong but this not matter since mixin will not work for the js file /vendor/magento/module-sales/view/adminhtml/web/order/create/scripts.js
You may try below steps to override this AdminOrder class of the scripts.js file
I assume you are using a custom Module "Company_MyModule"
Step 1)
Create a xml file sales_order_create_index.xml under /app/code/Company/MyModule/view/adminhtml/layout
File : /app/code/Company/MyModule/view/adminhtml/layout/sales_order_create_index.xml
<?xml version="1.0"?>
<!--
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<referenceContainer name="js">
<block class="MagentoBackendBlockTemplate" template="Company_MyModule::order/create/js.phtml" name="create2"/>
</referenceContainer>
</page>
step 2)
Create a phtml file js.phtml under /app/code/Company/MyModule/view/adminhtml/templates/order/create
File : /app/code/Company/MyModule/view/adminhtml/templates/order/create/js.phtml
<script>
require([
"prototype",
"Company_MyModule/js/order/create/scripts"
], function()
);
</script>
step 3)
Create js file scripts.js under /app/code/Company/MyModule/view/adminhtml/web/js/order/create to override AdminOrder class.
File: /app/code/Company/MyModule/view/adminhtml/web/js/order/create/scripts.js
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
/* global AdminOrder */
define([
'jquery',
'Magento_Sales/order/create/scripts'
], function (jQuery)
'use strict';
AdminOrder.prototype.setCustomerId = function(id)
//console.log("override setCustomerId called");
return false;
this.customerId = id;
this.loadArea('header', true);
$(this.getAreaId('header')).callback = 'setCustomerAfter';
$('back_order_top_button').hide();
$('reset_order_top_button').show();
);
step 4)
Clear your Magento Cache and alson remove adminhtml static files also.
php bin/magento cache:clean
sudo rm -rf pub/static/adminhtml/*
answered Apr 26 at 15:10
Pritam Info 24Pritam Info 24
88217
88217
add a comment |
add a comment |
Thanks for contributing an answer to Magento Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f272577%2fhow-to-extend-admin-js-in-magento-2-by-mixins%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown