|
Apache/2.4.41 (Ubuntu) Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) server ip : 62.171.164.128 | your ip : 127.0.0.1 safemode OFF > / home / a / home / dev2.destoffenstraat.com / lib / web / mage / adminhtml / |
Filename | /home/a/home/dev2.destoffenstraat.com/lib/web/mage/adminhtml/events.js |
Size | 7.52 kb |
Permission | rw-r--r-- |
Owner | root : root |
Create time | 21-Aug-2025 12:26 |
Last modified | 28-Jan-2025 06:45 |
Last accessed | 23-Aug-2025 14:42 |
Actions | edit | rename | delete | download (gzip) |
View | text | code | image |
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
/* global varienEvents */
/* eslint-disable strict */
define([
'Magento_Ui/js/modal/alert',
'prototype'
], function (alert) {
// from http://www.someelement.com/2007/03/eventpublisher-custom-events-la-pubsub.html
window.varienEvents = Class.create();
varienEvents.prototype = {
/**
* Initialize.
*/
initialize: function () {
this.arrEvents = {};
this.eventPrefix = '';
},
/**
* Attaches a {handler} function to the publisher's {eventName} event for execution upon the event firing
* @param {String} eventName
* @param {Function} handler
* @param {Boolean} [asynchFlag] - Defaults to false if omitted.
* Indicates whether to execute {handler} asynchronously (true) or not (false).
*/
attachEventHandler: function (eventName, handler) {
var asynchVar, handlerObj;
if (typeof handler == 'undefined' || handler == null) {
return;
}
eventName += this.eventPrefix;
// using an event cache array to track all handlers for proper cleanup
if (this.arrEvents[eventName] == null) {
this.arrEvents[eventName] = [];
}
//create a custom object containing the handler method and the asynch flag
asynchVar = arguments.length > 2 ? arguments[2] : false;
handlerObj = {
method: handler,
asynch: asynchVar
};
this.arrEvents[eventName].push(handlerObj);
},
/**
* Removes a single handler from a specific event
* @param {String} eventName - The event name to clear the handler from
* @param {Function} handler - A reference to the handler function to un-register from the event
*/
removeEventHandler: function (eventName, handler) {
eventName += this.eventPrefix;
if (this.arrEvents[eventName] != null) {
this.arrEvents[eventName] = this.arrEvents[eventName].reject(function (obj) {
return obj.method == handler; //eslint-disable-line eqeqeq
});
}
},
/**
* Removes all handlers from a single event
* @param {String} eventName - The event name to clear handlers from
*/
clearEventHandlers: function (eventName) {
eventName += this.eventPrefix;
this.arrEvents[eventName] = null;
},
/**
* Removes all handlers from ALL events
*/
clearAllEventHandlers: function () {
this.arrEvents = {};
},
/**
* Collect and modify value of arg synchronously in succession and return its new value.
* In order to use, call attachEventHandler and add function handlers with eventName.
* Then call fireEventReducer with eventName and any argument to have its value accumulatively modified.
* Event handlers will be applied to argument in order of first attached to last attached.
* @param {String} eventName
* @param {*} arg
*/
fireEventReducer: function (eventName, arg) {
var evtName = eventName + this.eventPrefix,
result = arg,
len,
i;
if (!this.arrEvents[evtName]) {
return result;
}
len = this.arrEvents[evtName].length; //optimization
for (i = 0; i < len; i++) {
/* eslint-disable max-depth */
try {
result = this.arrEvents[evtName][i].method(result);
} catch (e) {
if (this.id) {
alert({
content: 'error: error in ' + this.id + '.fireEventReducer():\n\nevent name: ' +
eventName + '\n\nerror message: ' + e.message
});
} else {
alert({
content: 'error: error in [unknown object].fireEventReducer():\n\nevent name: ' +
eventName + '\n\nerror message: ' + e.message
});
}
}
/* eslint-disable max-depth */
}
return result;
},
/**
* Fires the event {eventName}, resulting in all registered handlers to be executed.
* It also collects and returns results of all non-asynchronous handlers
* @param {String} eventName - The name of the event to fire
* @param {Object} [args] - Any object, will be passed into the handler function as the only argument
* @return {Array}
*/
fireEvent: function (eventName) {
var evtName = eventName + this.eventPrefix,
results = [],
result, len, i, eventArgs, method, eventHandler;
if (this.arrEvents[evtName] != null) {
len = this.arrEvents[evtName].length; //optimization
for (i = 0; i < len; i++) {
/* eslint-disable max-depth */
try {
if (arguments.length > 1) {
if (this.arrEvents[evtName][i].asynch) {
eventArgs = arguments[1];
method = this.arrEvents[evtName][i].method.bind(this);
setTimeout(function () { //eslint-disable-line no-loop-func
method(eventArgs);
}, 10);
} else {
result = this.arrEvents[evtName][i].method(arguments[1]);
}
} else {
if (this.arrEvents[evtName][i].asynch) { //eslint-disable-line no-lonely-if
eventHandler = this.arrEvents[evtName][i].method;
setTimeout(eventHandler, 1);
} else if (
this.arrEvents &&
this.arrEvents[evtName] &&
this.arrEvents[evtName][i] &&
this.arrEvents[evtName][i].method
) {
result = this.arrEvents[evtName][i].method();
}
}
results.push(result);
}
catch (e) {
if (this.id) {
alert({
content: 'error: error in ' + this.id + '.fireEvent():\n\nevent name: ' +
eventName + '\n\nerror message: ' + e.message
});
} else {
alert({
content: 'error: error in [unknown object].fireEvent():\n\nevent name: ' +
eventName + '\n\nerror message: ' + e.message
});
}
}
/* eslint-enable max-depth */
}
}
return results;
}
};
window.varienGlobalEvents = new varienEvents(); //jscs:ignore requireCapitalizedConstructors
return window.varienGlobalEvents;
});
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
/* global varienEvents */
/* eslint-disable strict */
define([
'Magento_Ui/js/modal/alert',
'prototype'
], function (alert) {
// from http://www.someelement.com/2007/03/eventpublisher-custom-events-la-pubsub.html
window.varienEvents = Class.create();
varienEvents.prototype = {
/**
* Initialize.
*/
initialize: function () {
this.arrEvents = {};
this.eventPrefix = '';
},
/**
* Attaches a {handler} function to the publisher's {eventName} event for execution upon the event firing
* @param {String} eventName
* @param {Function} handler
* @param {Boolean} [asynchFlag] - Defaults to false if omitted.
* Indicates whether to execute {handler} asynchronously (true) or not (false).
*/
attachEventHandler: function (eventName, handler) {
var asynchVar, handlerObj;
if (typeof handler == 'undefined' || handler == null) {
return;
}
eventName += this.eventPrefix;
// using an event cache array to track all handlers for proper cleanup
if (this.arrEvents[eventName] == null) {
this.arrEvents[eventName] = [];
}
//create a custom object containing the handler method and the asynch flag
asynchVar = arguments.length > 2 ? arguments[2] : false;
handlerObj = {
method: handler,
asynch: asynchVar
};
this.arrEvents[eventName].push(handlerObj);
},
/**
* Removes a single handler from a specific event
* @param {String} eventName - The event name to clear the handler from
* @param {Function} handler - A reference to the handler function to un-register from the event
*/
removeEventHandler: function (eventName, handler) {
eventName += this.eventPrefix;
if (this.arrEvents[eventName] != null) {
this.arrEvents[eventName] = this.arrEvents[eventName].reject(function (obj) {
return obj.method == handler; //eslint-disable-line eqeqeq
});
}
},
/**
* Removes all handlers from a single event
* @param {String} eventName - The event name to clear handlers from
*/
clearEventHandlers: function (eventName) {
eventName += this.eventPrefix;
this.arrEvents[eventName] = null;
},
/**
* Removes all handlers from ALL events
*/
clearAllEventHandlers: function () {
this.arrEvents = {};
},
/**
* Collect and modify value of arg synchronously in succession and return its new value.
* In order to use, call attachEventHandler and add function handlers with eventName.
* Then call fireEventReducer with eventName and any argument to have its value accumulatively modified.
* Event handlers will be applied to argument in order of first attached to last attached.
* @param {String} eventName
* @param {*} arg
*/
fireEventReducer: function (eventName, arg) {
var evtName = eventName + this.eventPrefix,
result = arg,
len,
i;
if (!this.arrEvents[evtName]) {
return result;
}
len = this.arrEvents[evtName].length; //optimization
for (i = 0; i < len; i++) {
/* eslint-disable max-depth */
try {
result = this.arrEvents[evtName][i].method(result);
} catch (e) {
if (this.id) {
alert({
content: 'error: error in ' + this.id + '.fireEventReducer():\n\nevent name: ' +
eventName + '\n\nerror message: ' + e.message
});
} else {
alert({
content: 'error: error in [unknown object].fireEventReducer():\n\nevent name: ' +
eventName + '\n\nerror message: ' + e.message
});
}
}
/* eslint-disable max-depth */
}
return result;
},
/**
* Fires the event {eventName}, resulting in all registered handlers to be executed.
* It also collects and returns results of all non-asynchronous handlers
* @param {String} eventName - The name of the event to fire
* @param {Object} [args] - Any object, will be passed into the handler function as the only argument
* @return {Array}
*/
fireEvent: function (eventName) {
var evtName = eventName + this.eventPrefix,
results = [],
result, len, i, eventArgs, method, eventHandler;
if (this.arrEvents[evtName] != null) {
len = this.arrEvents[evtName].length; //optimization
for (i = 0; i < len; i++) {
/* eslint-disable max-depth */
try {
if (arguments.length > 1) {
if (this.arrEvents[evtName][i].asynch) {
eventArgs = arguments[1];
method = this.arrEvents[evtName][i].method.bind(this);
setTimeout(function () { //eslint-disable-line no-loop-func
method(eventArgs);
}, 10);
} else {
result = this.arrEvents[evtName][i].method(arguments[1]);
}
} else {
if (this.arrEvents[evtName][i].asynch) { //eslint-disable-line no-lonely-if
eventHandler = this.arrEvents[evtName][i].method;
setTimeout(eventHandler, 1);
} else if (
this.arrEvents &&
this.arrEvents[evtName] &&
this.arrEvents[evtName][i] &&
this.arrEvents[evtName][i].method
) {
result = this.arrEvents[evtName][i].method();
}
}
results.push(result);
}
catch (e) {
if (this.id) {
alert({
content: 'error: error in ' + this.id + '.fireEvent():\n\nevent name: ' +
eventName + '\n\nerror message: ' + e.message
});
} else {
alert({
content: 'error: error in [unknown object].fireEvent():\n\nevent name: ' +
eventName + '\n\nerror message: ' + e.message
});
}
}
/* eslint-enable max-depth */
}
}
return results;
}
};
window.varienGlobalEvents = new varienEvents(); //jscs:ignore requireCapitalizedConstructors
return window.varienGlobalEvents;
});