示例#1
0
 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();
 });
示例#2
0
 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);
         }
     }
 }
示例#3
0
    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');
    };
示例#4
0
var Zoom = function(el, url){
  this.thumb = el;
  if (attr(this.thumb, 'data-zoom-overlay')) this.overlay();
  this.padding();
  this.backgroundURL = url;
  this.viewport = {};
};
示例#5
0
 getInSensitive: function(btn, options) {
     var insensitive = getAttribute(btn, 'data-insensitive');
     if (insensitive === "true") {
         options.insensitive = true;
     } else {
         options.insensitive = false;
     }
 },
示例#6
0
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;
};
示例#7
0
 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";
     }
 },
示例#8
0
Zoom.prototype.padding = function(num){
  this._padding = num || attr(this.thumb, 'data-zoom-padding') || 0;
  return this;
};