return delegate.bind(document, '[data-modal-id]', 'click', function(e){ prevent(e); var el = e.delegateTarget || target(e); var _id = attr(el, 'data-modal-id'); var newModal = new Modal(document.getElementById(_id)); newModal.show(); });
setOrder: function(options) { for (var i = 0, il = buttons.els.length; i < il; i++) { var btn = buttons.els[i]; if (getAttribute(btn, 'data-sort') !== options.valueName) { continue; } var predefinedOrder = getAttribute(btn, 'data-order'); if (predefinedOrder == "asc" || predefinedOrder == "desc") { if (predefinedOrder == options.order) { classes(btn).add(options.order); } } else { classes(btn).add(options.order); } } }
var sort = function() { list.trigger('sortStart'); options = {}; var target = arguments[0].currentTarget || arguments[0].srcElement || undefined; if (target) { options.valueName = getAttribute(target, 'data-sort'); buttons.getInSensitive(target, options); options.order = buttons.getOrder(target); } else { options = arguments[1] || options; options.valueName = arguments[0]; options.order = options.order || "asc"; options.insensitive = (typeof options.insensitive == "undefined") ? true : options.insensitive; } buttons.clear(); buttons.setOrder(options); options.sortFunction = options.sortFunction || list.sortFunction; list.items.sort(function(a, b) { return options.sortFunction(a, b, options); }); list.update(); list.trigger('sortComplete'); };
var Zoom = function(el, url){ this.thumb = el; if (attr(this.thumb, 'data-zoom-overlay')) this.overlay(); this.padding(); this.backgroundURL = url; this.viewport = {}; };
getInSensitive: function(btn, options) { var insensitive = getAttribute(btn, 'data-insensitive'); if (insensitive === "true") { options.insensitive = true; } else { options.insensitive = false; } },
Zoom.prototype.getDimensions = function(fn){ var pos = this.thumb.getBoundingClientRect(); this.origin = { x : pos.left, y : pos.top, w : this.thumb.clientWidth, h : this.thumb.clientHeight }; this.src = attr(this.thumb, 'data-zoom-url') || this.backgroundURL; return this; };
getOrder: function(btn) { var predefinedOrder = getAttribute(btn, 'data-order'); if (predefinedOrder == "asc" || predefinedOrder == "desc") { return predefinedOrder; } else if (classes(btn).has('desc')) { return "asc"; } else if (classes(btn).has('asc')) { return "desc"; } else { return "asc"; } },
Zoom.prototype.padding = function(num){ this._padding = num || attr(this.thumb, 'data-zoom-padding') || 0; return this; };