New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

dresscode-bricks

Package Overview
Dependencies
Maintainers
1
Versions
26
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dresscode-bricks - npm Package Compare versions

Comparing version 0.2.5 to 0.2.6

77

lib/Bricks/EventsController.js
Bricks.EventsController = Bricks.create({
constructor: function() {
this._listeners = {};
this._listeners = [];
},
on: function(el, events, fn, ctx) {
var names = events.split(',');
for (var i = 0; i < names.length; i++) {
var name = Bricks.String.trim(names[i]);
this._listeners[name] = this._listeners[name] || [];
var handler = function(evt) {
return fn.call(ctx, evt || window.event);
};
this._listeners[name].push([el, fn, ctx, handler]);
if (el.addEventListener) {
el.addEventListener(name, handler, false);
} else if (el.attachEvent) {
el.attachEvent('on' + name, handler);
events = this._normalizeEventTypes(events);
var handler = function(evt) {
return fn.call(ctx, evt || window.event);
};
for (var i = 0; i < events.length; i++) {
var event = typeof events[i] === 'string' ? events[i] : 'action';
var observable = typeof events[i] === 'string' ? el : new events[i](el);
this._listeners.push([el, events[i], fn, ctx, observable, event, handler]);
if (observable.addEventListener) {
observable.addEventListener(event, handler, false);
} else if (observable.attachEvent) {
observable.attachEvent('on' + event, handler);
}

@@ -24,11 +24,12 @@ }

un: function(el, events, fn, ctx) {
var names = events.split(',');
for (var i = 0; i < names.length; i++) {
var name = Bricks.String.trim(names[i]);
var listeners = this._listeners[name] || [];
for (var j = 0; j < listeners.length; j++) {
var listener = listeners[j];
if (listener[0] == el && listener[1] == fn && listener[2] == ctx) {
listeners.splice(j, 1);
this._removeListener(el, name, listener[3]);
events = this._normalizeEventTypes(events);
for (var i = 0; i < events.length; i++) {
for (var j = 0; j < this._listeners.length; j++) {
var item = this._listeners[j];
if (item[0] === el && item[1] === events[i] && item[2] === fn && item[3] === ctx) {
this._listeners.splice(j, 1);
this._removeListener(item[4], item[5], item[6]);
if (typeof item[1] === 'function' && typeof item[4].destroy === 'function') {
item[4].destroy();
}
break;

@@ -41,13 +42,33 @@ }

unAll: function() {
for (var name in this._listeners) {
if (this._listeners.hasOwnProperty(name)) {
for (var i = 0; i < this._listeners[name].length; i++) {
this._removeListener(this._listeners[name][i][0], name, this._listeners[name][i][3]);
for (var i = 0; i < this._listeners.length; i++) {
var item = this._listeners[i];
this._removeListener(item[4], item[5], item[6]);
if (typeof item[1] === 'function' && typeof item[4].destroy === 'function') {
item[4].destroy();
}
}
this._listeners.length = 0;
},
_normalizeEventTypes: function(events) {
if (!Bricks.isArray(events)) {
events = [events];
}
var result = [];
for (var i = 0; i < events.length; i++) {
if (typeof events[i] === 'string') {
var names = events[i].split(',');
for (var j = 0; j < names.length; j++) {
result.push(Bricks.String.trim(names[j]));
}
delete this._listeners[name];
} else if (typeof events[i] === 'function') {
result.push(events[i]);
} else {
throw new TypeError('events parameter must be a string, a constructor or an array of strings and/or constructors.');
}
}
return result;
},
_removeListener: function(el, name, fn) {

@@ -54,0 +75,0 @@ if (el.removeEventListener) {

{
"name": "dresscode-bricks",
"version": "0.2.5",
"version": "0.2.6",
"author": {

@@ -5,0 +5,0 @@ "name": "Kolyaj",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc