新しい管理グリッドシステムを備えた新しいUIモジュールからJavaScriptを拡張する必要があります。デフォルトのUiコンポーネントを拡張するとヒントが得られ、いくつかのコードを設定できました。
# file: app/code/My/Module/view/adminhtml/web/js/gid/massactions.js
console.log('new massactions.js');
define([
'Magento_Ui/js/grid/massactions'
], function (massactions) {
console.log('before extend');
return massactions.extend({
defaultCallback: function (action, data) {
console.log('custom callback');
}
});
});
ご覧のとおり、3つconsole.logありますが、defaultCallback1つは呼び出されていないため、期待どおりにメソッドを上書きしていませんが、定義が読み込まれたことは確認できます。
公平を期すために、追加した新しいアクションにカスタムコールバックを追加したいと思います。元のmassactions.jsには_getCallback、massactionアイテムのコールバックを取得しようとするがありますが(上書きしようとしているdefaultCallbackへのフォールバック)、を使用しても、そこにコールバックを追加することができませんでしたview/ui_component/sales_order_grid.xml。
どんな助けでも大歓迎です。
更新1:を使用してメソッドを上書きできますmassactions.prototype.defaultCallback = function(){}。これが副次的な効果をもたらすかどうかはわからないので、質問は残しておきます。
グリッドにグリッドを修正してみてください。
—
Mykhailo Shatilov 2017
massactions.prototype.defaultCallback = function。そのような場合、使用せずに何が欠けていextendますか?