Example #1
0
 $hot.find('.sib-ac-hot-item').click(function(event){
     var data = $(this).data('sib-autocomplete-item');
     oAc._trigger('select', event, {
         node : $(this),
         selected : data
     });
 });
Example #2
0
 blockUI : function(opts){
     
     var bui = $(w).data(D.widgetName + '-blockui');
     if(bui) {
         D.unblockUI();
     }
     bui = new Dialog($.extend(true, {}, defaults, opts, {
         trigger : null,
         closeOnEscape : false,
         closeTpl : null,
         minHeight : 50,
         modal : true,
         position : {
             my : 'center',
             at : 'center',
             of : w,
             collision : 'fit',
             // 保证顶部header和close按钮始终能在可视区域内
             using: function( pos ) {
                 var topOffset = $( this ).css( pos ).offset().top;
                 if ( topOffset < 0 ) {
                     $( this ).css( "top", pos.top - topOffset );
                 }
             }
         },
         draggable : false
     }));
     
     $(w).data(D.widgetName + '-blockui', bui);
     bui.open();
 },
Example #3
0
            _init : function() {
                var state = this.state,
                    opts  = state.options,
                    $page = state.$page = this.$element,
                    tmpl  = '<table cellspacing="0" cellpadding="0" border="0"><tr></tr></table>'+
                            '<div class="a-page-toolbar"></div>'+
                            '<div class="a-page-info"></div>'+
                            '<div style="clear:both;"></div>';

                $page.addClass('a-page').empty().append($(tmpl));
                var $toolbar   = state.$toolbar = $page.find('.a-page-toolbar');
                var $pagetable = state.$pagetable = $page.find('table');
                var $pageinfo  = state.$pageinfo = $page.find('.a-page-info');

                this._buildPagetable();

                /*$el.find('.a-page-list').unbind('.page').bind('change.page', function(){
                    opts.pageSize = $(this).val();
                    opts.onChangePageSize.call(target, opts.pageSize);

                    var pageCount = Math.ceil(opts.total/opts.pageSize);
                    selectPage(target, opts.pageNumber);
                });*/

                this.showInfo();

                if(opts.toolbarTarget) {
                    var $tbContent =  $(opts.toolbarTarget);
                    if(!$tbContent[0] && typeof opts.toolbarTarget === 'string') {
                        $tbContent = $('#' + opts.toolbarTarget);
                    }
                    $toolbar.append($tbContent);
                }
            },
Example #4
0
            show : function( active ) {
                var state = this.state,
                    $el   = this.$element,
                    that  = this,
                    opts  = state.options,
                    $trigger = state.$trigger;

                if(opts.disabled) {
                    return;
                }
                if(this._trigger( "beforeshow", null ) === false) {
                    return;
                }
                //默认第一个
                if(!active || $(active).length <= 0) {
                    active = $trigger.eq(0);
                }
                this._makeActive(active);
                //第一次初始化
                if(!opts.target && !state._hasBuild) {
                    state._hasBuild = true;
                    var content = opts.content,
                        contentCls = '.' + state.mconst.clsPrefix + '-content',
                        $content = this.$element.find(contentCls);
                    if($.isFunction(opts.content)) {
                        content = opts.content.call($trigger[0]);
                    }
                    
                    if(typeof content === 'string') {
                        $content.html(content);
                    } else if(content) {
                        var $cntInner = $(content).show();
                        $cntInner.appendTo($content);
                        //$content.append(content);
                    }
                    this.render();
                }
                //this.$element.show();
                var eventParam = {
                    triggers : $trigger, //可能多个trigger,如果一个则triggers === active
                    activeTrigger : active,
                    popup  : $el
                };
                var fn = function(){
                    that._trigger('showafter', null, eventParam);
                };
                if('slide' == opts.effect) {
                    $el.slideDown(opts.speed || 'normal', fn);
                } else if('fade' == opts.effect) {
                    $el.fadeIn(opts.speed || 'normal', fn);
                } else {
                    $el.show(0, fn);
                    //$el.show(fn);
                }

                this._trigger('show', null, eventParam);
                if(state.$activeTrigger) {
                    this._syncPosition();
                }
            },
Example #5
0
 render : function (oAc, results, $hot, options) {
     //生成html
     var $table = $('<table></table>');
     var $tr,
         opts = options || {},
         colNum = opts.colNum || 4,
         itemWidth = opts.itemWidth || 'auto',
         self = this;
     $.each(results, function(i, item){
         if(i % colNum == 0) {
             $tr = $('<tr></tr>').appendTo($table);
         }
         var $td = $('<td><a href="javascript:void(0)"></a></td>').appendTo($tr);
         var $a = $td.find('a').addClass('sib-ac-hot-item');
         $td.outerWidth(itemWidth);
         $a.data('sib-autocomplete-item', item);
         
         if(typeof opts.itemFormatter === 'function') {
             var node = opts.itemFormatter.call($a[0], item, $a);
             if(node && typeof node === 'string') {
                 $a.html(node);
             } else if(node) {
                 $a.append(node);
             }
         } else {
             $a.text(item.label);
         }
     });
     $hot.append($table);
     $hot.addClass('sib-ac-hot-table');
     $hot.find('table tr:even').addClass('sib-ac-hot-table-even');
     var leave = colNum - results.length % colNum;
     $('<td></td>').appendTo($tr).attr('colspan', leave);
     
 },
Example #6
0
 state.$view.find(dselector).each(function(i, item){
     if($(item).outerHeight() > maxOuterH){
         maxOuterH = $(item).outerHeight();
     }
     if($(item).is(':visible')) {
         isVisible = true;
     }
 });
Example #7
0
 formatter : function(val, row, td){
     /*var $chk = $('<input type="checkbox" name="hello_abc" />').click(function(e){
         e.stopPropagation();
     });
     $chk.data('state', row);*/
     var $expander = $('<div class="a-datagrid-row-expander a-datagrid-row-expand" />');
     $(td).append($expander);
 }
Example #8
0
 unblockUI : function(){
     var d = $(w).data(D.widgetName + '-blockui');
     if(d) {
         d.close();
         d.destroy();
     }
     $(w).data(D.widgetName + '-blockui', null);
 }
Example #9
0
            _buildHTML : function(){
                var state = this.state,
                    $el   = this.$element,
                    opts  = state.options,
                    $zwinwrap  = state.$zwinwrap  = $el.find('[data-iz-wwrapper]'),
                    $zwintitle = state.$zwintitle = $el.find('[data-iz-wtitle]'),
                    $zwinimage = state.$zwinimage = $el.find('[data-iz-wimage]'),
                    si = state.options.smallimage;

                
                if(isIE6){
                    state.$ieframe = $('<iframe class="zoomIframe" src="javascript:\'\';" marginwidth="0" marginheight="0" align="bottom" scrolling="no" frameborder="0" ></iframe>');
                }
                if (opts.type == 'innerzoom') {
                    $el.css({
                        cursor: 'default'
                    });
                    var thickness = (si.bleft == 0) ? 1 : si.bleft;
                    $zwinwrap.css({
                        borderWidth: thickness + 'px'
                    });
                }

                $zwinwrap.css({
                    width: Math.round(opts.zoomWidth) + 'px'
                });
                $zwinimage.css({
                    width: '100%',
                    height: Math.round(opts.zoomHeight) + 'px'
                });
                //zoom title
                $zwintitle.css({
                    width: '100%',
                    position: 'absolute'
                });

                $zwintitle.hide();
                /*if (settings.title && zoomtitle.length > 0) {
                    $('.zoomWrapperTitle', this.node).html(zoomtitle).show();
                }*/
                $(opts.parentNode).append($el);
                $el.css({
                    position: 'absolute',
                    zIndex: 5001
                });
                this.setPosition();
                $el.hide();
            }
Example #10
0
            _initBtns : function(){
                var state = this.state,
                    $el   = this.$element,
                    $d    = state.$dialog,
                    opts  = state.options,
                    self  = this;

                if(!$.isArray(opts.btns) || !opts.btns.length) return;
                
                var $btns = $(SIB.unite(btnTpl, state.mconst));
                $d.append($btns);
                $.each(opts.btns, function(i, btn){
                    var $btn = $(btn.tpl);
                    $btn.appendTo($btns);
                    if($.isFunction(btn.click)) {
                        $btn.on('click', $.proxy(btn.click, self));
                    }
                    if(btn.autoFocus) {
                        $btn.focus();
                    }

                    if(btn.align && $.inArray(btn.align, ['left', 'center', 'right'])) {
                        $btns.css('text-align', btn.align);
                        //$btn.addClass('sib-' + opts.align);
                    }
                });
            }
Example #11
0
            setCenter : function(){
                var state = this.state,
                    opts  = state.options,
                    $el   = this.$element,
                    si    = state.smallimage,
                    siRegion = si.getRegion(),
                    region = state.region;
                //calculating center position
                region.top = (siRegion.oh - region.h - 2) / 2;
                region.left = (siRegion.ow - region.w - 2) / 2;
                //centering lens
                $el.css({
                    top: region.top,
                    left: region.left
                });
                if (opts.type == 'reverse') {
                    $(this.image).css({
                        position: 'absolute',
                        display: 'block',
                        left: -(region.left + 1 - si.bleft) + 'px',
                        top: -(region.top + 1 - si.btop) + 'px'
                    });
                }

                this._trigger('lensposchange');
            },
Example #12
0
            _prepareOption : function() {
                var state = this.state,
                    opts = state.options,
                    $el = this.$element,
                    self = this;

                state.zIndex = +opts.zIndex;
                state.$dialog  = $el;
                state.$header  = $el.find('>[data-role=header]');
                state.$close   = $el.find('>[data-role=close]');
                state.$content = $el.find('>[data-role=content]');
                if(opts.trigger) {
                    var $t = $(opts.trigger);
                    state.$trigger = $t.length > 0 ? $t : null;
                }

                //内容类型
                state.contentType = getType();
                
                function getType() {
                    var type = '';
                    if (/^(https?:\/\/|\/|\.\/|\.\.\/)/.test(opts.content)) {
                        type = "iframe";
                    }
                    return type;
                }
            },
Example #13
0
            _prepareOption : function() {
                var state = this.state,
                    opts  = state.options,
                    $el   = this.$element;

                var $img = $el.find('img:eq(0)');
                state.$img  = $img;
                state.title = $el.attr('title');
                state.imgTitle = $img.attr('title');
                
                state.zoom_active = false;
                state.largeimageloading = false; //tell us if large image is loading
                state.largeimageloaded = false; //tell us if large image is loaded
                state.mouseDown = false;
                state.thumbActiveCls = SIB.unite(opts.thumbActiveCls, this.constructor);
                state.$thumbs = $(opts.thumbs);
                state.$thumb;   //当前

                $el.on('click', function (e) {
                    /*e.preventDefault();
                    return false;*/
                    var href = opts.href
                    if($.isFunction(opts.href)) {
                        href = opts.href($el, state.$img, state.$thumb);
                    }
                    if(href) {
                        $el.attr('href', href);
                    }
                });

                if ($.inArray($.trim(opts.type), ALL_TYPES) < 0) {
                    opts.type = 'standard';
                }
            },
Example #14
0
 $.each(items, function(i, item) {
     var cls = ['sib-calendar-date-item', 'sib-calendar-date-item-'+DAY_LABELS[item.day]],
         label = item.label;
     if(!item.available) {
         cls.push('sib-item-disabled');
     }
     if(item.className) {
         cls.push(item.className);
     }
     if(item.isPrevMonth || item.isNextMonth) {
         
         if(!opts.selectOtherMonths) {
             cls.shift();
         }
         if(!opts.showOtherMonths) {
             label = '';
             cls = [];
         }
     }
     var tdStr = SIB.unite(cellTmpl, {
         //itemRole : item.role,
         itemCls  : cls.join(' '),
         itemValue : item.value,
         itemLabel : label//opts.showOtherMonths ? item.label : ''
     });
     var $item = $(tdStr);
     $item.data('date', item.value);
     $tr.append($item);
 });
Example #15
0
 $thumbs.each(function(i){
     if(opts.preloadImages) {
         var img = new Image();
         thumb_preload[i] = img;
         img.src = $(this).attr('data-iz-large');
     }
 });
Example #16
0
            _prepareOption : function() {
                var state = this.state,
                    $el   = this.$element,
                    opts  = state.options,
                    pad   = opts.padding,
                    $c    = state.$container;

                state.disabled = false;
                if (opts.minWidth && opts.minWidth > 0 && $(w).width() <= opts.minWidth) {
                    this.destroy();
                    return;
                }

                var offset  = $el.offset();
                var cOffset = $c.offset();
                var pOffset = $el.offsetParent().offset();

                state.from = {
                    top  : cOffset.top - pad.top,
                    left : cOffset.left - pad.left
                };
                state.to = {
                    top  : cOffset.top + $c.height() - $el.outerHeight(true) - pad.bottom,
                    left : cOffset.left + $c.width() - $el.outerWidth(true) - pad.right
                };
                state.end = {
                    top  : cOffset.top + $c.height(),
                    left : cOffset.left + $c.width()
                }
                state.pOffset = pOffset;
                
                if(typeof $.easing[opts.easing] !== 'function') {
                    opts.easing = 'swing';
                }
            },
Example #17
0
 hide : function () {
     var $el = this.$element;
     $(this.state.image).css({
         'opacity': 1
     });
     $el.hide();
 },
Example #18
0
            _createIframe: function() {
                var state = this.state,
                    self  = this,
                    $content = state.$content;

                var $iframe = state.$iframe = $("<iframe>", {
                    src: "javascript:'';",
                    scrolling: "no",
                    frameborder: "no",
                    allowTransparency: "true",
                    css: {
                        border: "none",
                        width: "100%",
                        display: "block",
                        height: "100%",
                        overflow: "hidden"
                    }
                }).appendTo($content);
                // 给 iframe 绑一个 close 事件
                // iframe 内部可通过 window.frameElement.trigger('close') 关闭
                Events.mixTo($iframe[0]);
                $iframe[0].on('close', function(data){
                    self.close(null, data);
                });
            },
Example #19
0
            _prepareOption : function() {
                var state = this.state,
                    opts  = state.options;

                state.$trigger = $(opts.trigger);
                state.$popup = this.$element;
            },
Example #20
0
            _init : function() {
                var state = this.state,
                    opts  = state.options,
                    $page = state.$page = this.$element,
                    clsPrefix = state.mconst.clsPrefix;

                state.$parentNode = $(opts.appendTo);
                state.ALL_CLASS = {
                    INFO  : clsPrefix + '-info',
                    ITEM  : clsPrefix + '-item',
                    FIRST : clsPrefix + '-first',
                    PREV  : clsPrefix + '-prev',
                    NEXT  : clsPrefix + '-next',
                    LAST  : clsPrefix + '-last',
                    ELLIPSIS : clsPrefix + '-ellipsis',
                    WHICH : clsPrefix + '-which',
                    GOTO  : clsPrefix + '-goto',
                    CURRENT : clsPrefix + '-current',
                    DISABLED : clsPrefix + '-disabled'
                }
                if(opts.theme && typeof opts.theme === 'string') {
                    $page.addClass(opts.theme);
                }
                state.totalPages = parseInt(opts.totalPages);
                if(state.totalPages <= 0) {
                    state.totalPages = Math.ceil(opts.totalRecords/opts.pageSize) || 0;
                }

                this._buildPage();
                this.render();
            },
Example #21
0
            _init : function() {
                var state = this.state,
                    $el   = this.$element,
                    opts  = state.options,
                    $c;
                //就算refresh也不改变的值放init里初始化,如origStyle
                //如果父级节点没有匹配的,则搜索所有的(不一定是父级元素)
                $c = state.$container = opts.container ? $($el.closest(opts.container)[0] || $(opts.container)) : $(d.body);
                if(!$c || !$c.length) {
                    $c = state.$container = $(d.body);
                }
                state.origStyle = $el.attr('style') || '';//保存style

                this._prepareOption();
                this._buildHTML();
                this._bindEvent();
            },
Example #22
0
 'click ul.hot-tab-nav>li' : function( ev ){
     var $this = $(ev.currentTarget);
     var index = $this.attr('data-nav-index');
     $hot.find('.hot-tab-nav li').removeClass('hot-tab-selected');
     $this.addClass('hot-tab-selected');
     $hot.find('.hot-tab-panel').hide();
     $hot.find('.hot-tab-panel[data-panel-index='+index+']').show();
 }
Example #23
0
 _hideOverlayByClickOut : function(){
     var state = this.state;
     $(d).click(function( event ){
         if(SIB.isOutSide(event.target, [state.$combo, state.$overlay])) {
             state.$overlay.hide();
         }
     });
 },
Example #24
0
 'click .hot-tab-item' : function( ev ){
     var $this = $(ev.currentTarget);
     var data = $this.data('sib-autocomplete-item');
     oAc._trigger('select', event, {
         node : $this,
         selected : data
     });
 }
Example #25
0
            setPosition : function(e){
                var state = this.state,
                    opts  = state.options,
                    $el   = this.$element,
                    si    = state.smallimage,
                    siRegion = si.getRegion(),
                    region = state.region,
                    x = e.pageX,
                    y = e.pageY,
                    lensleft = 0,
                    lenstop = 0;

                function overleft() {
                    return x - (region.w) / 2 < siRegion.pos.l; 
                }

                function overright() {
                    return x + (region.w) / 2 > siRegion.pos.r; 
                }

                function overtop() {
                    return y - (region.h) / 2 < siRegion.pos.t; 
                }

                function overbottom() {
                    return y + (region.h) / 2 > siRegion.pos.b; 
                }

                lensleft = x + siRegion.bleft - siRegion.pos.l - (region.w + 2) / 2;
                lenstop  = y + siRegion.btop  - siRegion.pos.t - (region.h + 2) / 2;
                if (overleft()) {
                    lensleft = siRegion.bleft - 1;
                } else if (overright()) {
                    lensleft = siRegion.w + siRegion.bleft - region.w - 1;
                }
                if (overtop()) {
                    lenstop = siRegion.btop - 1;
                } else if (overbottom()) {
                    lenstop = siRegion.h + siRegion.btop - region.h - 1;
                }

                region.left = lensleft;
                region.top = lenstop;
                $el.css({
                    'left': lensleft + 'px',
                    'top': lenstop + 'px'
                });
                if (opts.type == 'reverse') {
                    $(state.image).css({
                        position: 'absolute',
                        display: 'block',
                        left: -(region.left + 1 - siRegion.bleft) + 'px',
                        top: -(region.top + 1 - siRegion.btop) + 'px'
                    });
                }

                this._trigger('lensposchange');
            },
Example #26
0
 $thumbs.bind(opts.thumbsTriggerType, function(e){
     e.preventDefault();
     if($(this).hasClass(state.thumbActiveCls)) {
         return false;
     }
     $thumbs.removeClass(state.thumbActiveCls);
     self.swapThumb(this);
     return false;
 });
Example #27
0
 function renderItem(arr) {
     /** 分页展示页码个数end **/
     if(arr && arr.length) {
         for(var i = 0; i < arr.length; i++) {
             if('.' == arr[i]) {
                 $(Sib.unite(infoTmpl, {cls : state.ALL_CLASS.ELLIPSIS})).html('...').appendTo($page);
             } else {
                 var cls = state.ALL_CLASS.ITEM + ' ' + (arr[i] == opts.current ? state.ALL_CLASS.CURRENT : '');
                 var itemData = {
                     value : arr[i], 
                     label : arr[i],
                     cls : cls
                 };
                 $(Sib.unite(itemTmpl, itemData)).appendTo($page);
             }
         }
     }
 }
Example #28
0
 'click .a-datagrid-row-expander' : function( ev ){
     var $t = $(ev.currentTarget),
         rowIndex = $t.closest('tr.a-datagrid-row').attr('a-datagrid-row-index');
     if($t.hasClass('a-datagrid-row-expand')) {
         oGrid.expandRow(rowIndex);
     } else {
         oGrid.collapseRow(rowIndex);
     }
     ev.stopPropagation();
 } 
Example #29
0
 function getWeekHeader() {
     var tmpStr = SIB.unite(dayTmpl, {
         cls : 'sib-calendar-week',
         //itemValue : item.value,
         itemLabel : DAY_LABELS[7]
     });
     var $td = $(tmpStr);
     self.i18nHtml($td, DAY_LABELS[7]);
     return $td;
 }
Example #30
0
 'click' : function( event ){
     var $ct = $(event.currentTarget),
         dataName = state.mconst.clsPrefix + '-trigger-active',
         active = $ct.data(dataName);
     if(active === true) {
         this.hide();
     } else {
         this.show($ct);
     }
 }