Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
}
// turn the "opts" object into a window.open()-compatible String
var optsStr = [];
for (var key in opts) {
optsStr.push(key + '=' + opts[key]);
}
optsStr = optsStr.join(',');
// every popup window has a unique "name"
var name = opts.name;
// if a "name" was not provided, then create a random one
if (!name) name = 'popup-' + (Math.random() * 0x10000000 | 0).toString(36);
Emitter.call(this);
this.name = name;
this.opts = opts;
this.optsStr = optsStr;
// finally, open and return the popup window
this.window = window.open(src, name, optsStr);
this.focus();
this.interval = setInterval(checkClose(this), interval);
}
this.coords = getOffset(el);
this.url = url;
this._when = false;
this._display = true;
this.throttle = opts.throttle || 200;
this.headers = opts.headers || {};
this.throttledSearch = throttle(this.search.bind(this), this.throttle);
this._key = el.getAttribute('name');
this.formatter = function(item) { return item; };
// Prevents the native autocomplete from showing up
this.el.setAttribute('autocomplete', 'off');
classes(this.el).add('autocomplete');
Emitter.call(this);
this.enable();
}
function View(template, locals) {
if (!(this instanceof View))
return inherit(template, View);
Emitter.call(this);
this.template = template;
this.locals = locals || {};
this.build();
}
function Calendar(date) {
if (!(this instanceof Calendar)) {
return new Calendar(date);
}
Emitter.call(this);
var self = this;
this.el = domify('<div class="calendar"></div>');
this.days = new Days;
this.el.appendChild(this.days.el);
this.on('change', bind(this, this.show));
this.days.on('prev', bind(this, this.prev));
this.days.on('next', bind(this, this.next));
this.days.on('year', bind(this, this.menuChange, 'year'));
this.days.on('month', bind(this, this.menuChange, 'month'));
this.show(date || new Date);
this.days.on('change', function(date){
self.emit('change', date);
});
}
function Notification(options) {
Emitter.call(this);
options = options || {};
this.el = dom(require('./template'));
this.render(options);
if (options.classname) this.el.addClass(options.classname);
if (Notification.effect) this.effect(Notification.effect);
}
function Request(method, url) {
var self = this;
Emitter.call(this);
this._query = this._query || [];
this.method = method;
this.url = url;
this.header = {};
this._header = {};
this.on('end', function(){
var res = new Response(self);
if ('HEAD' == method) res.text = null;
self.callback(null, res);
});
}
function Request(method, url) {
var self = this;
Emitter.call(this);
this._query = this._query || [];
this.method = method;
this.url = url;
this.header = {};
this.set('X-Requested-With', 'XMLHttpRequest');
this.on('end', function(){
self.callback(null, new Response(self.xhr));
});
}
function Request(method, url) {
var self = this;
Emitter.call(this);
this._query = this._query || [];
this.method = method;
this.url = url;
this.header = {};
this._header = {};
this.on('end', function(){
var res = new Response(self);
if ('HEAD' == method) res.text = null;
self.callback(null, res);
});
}
function Request(method, url) {
var self = this;
Emitter.call(this);
this._query = this._query || [];
this.method = method;
this.url = url;
this.header = {};
this._header = {};
this.on('end', function(){
var res = new Response(self);
if ('HEAD' == method) res.text = null;
self.callback(null, res);
});
}
function Request(method, url) {
var self = this;
Emitter.call(this);
this._query = this._query || [];
this.method = method;
this.url = url;
this.header = {};
this._header = {};
this.on('end', function(){
var res = new Response(self);
if ('HEAD' == method) res.text = null;
self.callback(null, res);
});
}