Example #1
0
 it('addClass works', function () {
     Dom.addClass(a, 'link-added');
     expect(Dom.hasClass(a, 'link-added')).toBe(true);
     Dom.addClass(a, '.cls-a cls-b');
     expect(Dom.hasClass(a, 'cls-a')).toBe(true);
     expect(Dom.hasClass(a, 'cls-b')).toBe(true);
 });
Example #2
0
 it('replaceClass works', function () {
     a.className = 'link link3';
     // oldCls 有的话替换
     Dom.replaceClass(a, '.link', 'link2');
     expect(Dom.hasClass(a, 'link')).toBe(false);
     expect(Dom.hasClass(a, 'link2')).toBe(true);
     // oldCls 没有的话,仅添加
     Dom.replaceClass(a, 'link4', 'link');
     expect(a.className).toBe('link3 link2 link');
 });
Example #3
0
 it('toggleClass works', function () {
     a.className = 'link link2';
     Dom.toggleClass(a, 'link2');
     expect(Dom.hasClass(a, 'link2')).toBe(false);
     //Dom.toggleClass(a, '.link2',false);
     //expect(Dom.hasClass(a, 'link2')).toBe(false);
     Dom.toggleClass(a, '.link2');
     expect(Dom.hasClass(a, 'link2')).toBe(true);
     // Dom.toggleClass(a, '.link2',true);
     // expect(Dom.hasClass(a, 'link2')).toBe(true);
 });
Example #4
0
            it('can specify existing container', function () {
                var render = Dom.create('<div class="test"></div>');
                Dom.prepend(render, document.body);
                var swf1 = new SWF({
                    src: '../assets/test.swf',
                    render: render,
                    attrs: {
                        width: 300,
                        height: 300
                    },
                    params: {
                        bgcolor: '#d55867'
                    }
                });

                expect(swf1.get('status')).toBe(SWF.Status.SUCCESS);

                expect(Dom.hasClass(swf1.get('swfObject').parentNode, 'test')).toBe(true);

                expect(Dom.first(document.body)).toBe(render);
                expect(render.innerHTML.toLowerCase().indexOf('object')).toBeGreaterThan(0);

                // has id
                expect(swf1.get('html').replace('classid', '').indexOf('id=')).toBe(-1);
                expect(Dom.hasAttr(swf1.get('el'), 'id')).toBeFalsy();

                swf1.destroy();
                waits(300);
                runs(function () {
                    expect(render.innerHTML.toLowerCase()).toBe('');
                });
            });
Example #5
0
 S.each(nodes, function (item, index) {
     if (!self.isReToday && D.hasClass(item, 'timeline-blue-node')) {
         D.css(item, {
             cursor: 'default'
         });
         nodes.splice(index, 1);
     }
 });
Example #6
0
 it('removeClass works', function () {
     a.className = 'link link2 link3 link4 link5';
     Dom.removeClass(a, 'link');
     expect(Dom.hasClass(a, 'link')).toBe(false);
     Dom.removeClass(a, 'link2 link4');
     Dom.removeClass(a, '.link3');
     expect(a.className).toBe('link5');
 });
Example #7
0
Carousel.prototype.current = function() {
  var els = this.el.children
  for (var i = 0; i < els.length; i++) {
    var el = els[i]
    if (el.nodeType != 1) continue // IE < 9
    if (dom.hasClass('visible', el)) return el
  }
  return null
}
Example #8
0
        it('hasClass works', function () {
            a.className = 'link link2\t' + 'link9 link3';
            expect(Dom.hasClass(a, 'link')).toBe(true);
            expect(Dom.hasClass(a, '.link')).toBe(true);
            expect(Dom.hasClass(a, 'link4')).toBe(false);
            expect(Dom.hasClass(a, 'link link3')).toBe(true);
            expect(Dom.hasClass(a, '.link .link3')).toBe(true);
            expect(Dom.hasClass(a, 'link link4')).toBe(false);
            expect(Dom.hasClass(a, '.link .link4')).toBe(false);
            expect(Dom.hasClass(a, 'link9')).toBe(true);

            var test = '<div><a></a><a class="a"></a></div>';
            var n;
            Dom.append(n = Dom.create(test), document.body);
            expect(Dom.hasClass(Dom.query('a', n), '.a')).toBeTruthy();
            Dom.remove(n);

            test = '<div><a></a><a></a></div>';
            Dom.append(n = Dom.create(test), document.body);
            expect(Dom.hasClass(Dom.query('a', n), '.a')).toBeFalsy();
            Dom.remove(n);
        });
Example #9
0
            E.on(elList, 'click', function(ev) {
                var target = ev.target,
                    itemCls = TEMPLATES.prefixCls + "item";
                if(!D.hasClass(target, itemCls)) {
                    target = D.parent(target, itemCls);
                }

                if(!target) return;
                ev.stopPropagation();

                var _id = D.attr(target, 'data-id');
                self.fire('itemSelect', {id: _id})
            });
Example #10
0
 input.addEventListener('keyup', function(evt) {
     if (evt.keyCode == 13) {
         evt.preventDefault();
         evt.stopPropagation();
         if ($.hasClass( elem, 'list' )) {
             $.removeClass( elem, 'list' );
             that.value = autocompleteProposals[0];
         }
         else if (that.valid !== false) {
             DB.fire( that, 'value', input.value );
             DB.fire( that, 'action', input.value );
         }
     }
     else if (evt.keyCode == 27) {
         $.removeClass( elem, "list" );
         autocompleteShift = 0;
         evt.preventDefault();
         evt.stopPropagation();
     }
     else if (evt.keyCode == 40 && $.hasClass( elem, 'list' )) {
         autocompleteShift = (autocompleteShift + 1) % autocompleteProposals.length;
         complete();
         evt.preventDefault();
         evt.stopPropagation();
     }
     else if (evt.keyCode == 38 && $.hasClass( elem, 'list' )) {
         autocompleteShift = (autocompleteShift + autocompleteProposals.length - 1)
             % autocompleteProposals.length;
         complete();
         evt.preventDefault();
         evt.stopPropagation();
     }
     else {
         autocompleteShift = 0;
         complete();
         actionUpdateValue.fire();
     }
 });
Example #11
0
 }, undefined), paging = t.closest(function (node) {
     return self._xiamiaList.contains(node) && Dom.hasClass(node, prefixCls + 'editor-xiami-page-item');
 }, undefined);
Example #12
0
 var t = $(ev.target), add = t.closest(function (node) {
         return self._xiamiaList.contains(node) && Dom.hasClass(node, prefixCls + 'editor-xiami-add');
     }, undefined), paging = t.closest(function (node) {
Example #13
0
KISSY.add('kg/editor-plugins/1.1.0/xiami-music/dialog',["util","editor","../flash/dialog","../menubutton","dom","node"],function(S ,require, exports, module) {function i(i,t){return i.length>t&&(i=i.substring(0,t)+"..."),i}function t(){t.superclass.constructor.apply(this,arguments)}function e(i,t,e){return'<a class="{prefixCls}editor-xiami-page-item {prefixCls}editor-button ks-inline-block'+(i===t?" {prefixCls}editor-xiami-curpage":"")+'" data-value="'+t+'" href="#">'+(e||t)+"</a>"}function a(i){return r.urlDecode(i.song_name)+" - "+r.urlDecode(i.artist_name)}var r=require("util"),l=require("editor"),s=require("../flash/dialog"),o=require("../menubutton"),n=require("dom"),d=require("node"),p=l.Utils,m=p.debugUrl("theme/tao-loading.gif"),x="http://www.xiami.com/app/nineteen/search/key/{key}/page/{page}",u="ke_xiami",c="xiami-music",g="搜 索",f="输入歌曲名、专辑名、艺人名",h=0,v='<div style="padding:40px 0 70px 0;"><form action="#" class="{prefixCls}editor-xiami-form" style="margin:0 20px;"><p class="{prefixCls}editor-xiami-title"></p><p class="{prefixCls}editor-xiami-url-wrap"><input class="{prefixCls}editor-xiami-url {prefixCls}editor-input" style="width:370px;"/> &nbsp;  <a class="{prefixCls}editor-xiami-submit {prefixCls}editor-button ks-inline-block">'+g+'</a></p><p style="margin:10px 0"><label>对 齐: <select class="{prefixCls}editor-xiami-align" title="对齐"><option value="none">无</option><option value="left">左对齐</option><option value="right">右对齐</option></select></label><label style="margin-left:70px;">间距:  <input  data-verify="^\\d+$"  data-warning="间距请输入非负整数" class="{prefixCls}editor-xiami-margin {prefixCls}editor-input" style="width:60px;" value="'+h+'"/> 像素</label></p></form><div class="{prefixCls}editor-xiami-list"></div></div>',_='<div style="padding:5px 20px 20px;"><a class="{prefixCls}editor-xiami-ok {prefixCls}editor-button ks-inline-block" style="margin-right:20px;">确&nbsp;定</a><a class="{prefixCls}editor-xiami-cancel {prefixCls}editor-button ks-inline-block">取&nbsp;消</a></div>';r.extend(t,s,{_config:function(){var i=this,t=i.editor,e=t.get("prefixCls");i._cls=u,i._type=c,i._title="虾米音乐",i._bodyHTML=r.substitute(v,{prefixCls:e}),i._footHTML=r.substitute(_,{prefixCls:e})},_initD:function(){function i(i){var e=c.val();if(e.replace(/[^\x00-\xff]/g,"@@").length>30)return void window.alert("长度上限30个字符(1个汉字=2个字符)");if(!r.trim(e)||e===f)return void window.alert("不能为空!");t._xiamiSubmit.addClass(a+"editor-button-disabled",void 0);var l=r.substitute(x,{key:encodeURIComponent(c.val()),page:i});t._xiamiaList.html('<img style="display:block;width:32px;height:32px;margin:5px auto 0 auto;" src="'+m+'"/><p style="width: 130px; margin: 15px auto 0; color: rgb(150, 150, 150);">正在搜索,请稍候......</p>'),t._xiamiaList.show(),require(["io"],function(e){e({cache:!1,url:l,dataType:"jsonp",success:function(e){e.page=i,t._listSearch(e)},error:function(){t._xiamiSubmit.removeClass(a+"editor-button-disabled",void 0);var i='<p style="text-align:center;margin:10px 0;">不好意思,超时了,请重试!</p>';t._xiamiaList.html(i)}})})}var t=this,e=t.editor,a=e.get("prefixCls"),s=t.dialog,p=s.get("el"),u=s.get("footer"),c=p.one("."+a+"editor-xiami-url");t.dAlign=o.Select.decorate(p.one("."+a+"editor-xiami-align"),{prefixCls:"ks-editor-big-",width:80,menuCfg:{prefixCls:"ks-editor-",render:p}}),t.addRes(t.dAlign),t._xiamiInput=c,l.Utils.placeholder(c,f),t.addRes(c),t._xiamiaList=p.one("."+a+"editor-xiami-list"),t._xiamiSubmit=p.one("."+a+"editor-xiami-submit"),t._xiamiSubmit.on("click",function(e){t._xiamiSubmit.hasClass("ks-editor-button-disabled",void 0)||i(1),e.halt()}),t.addRes(t._xiamiSubmit),c.on("keydown",function(t){13===t.keyCode&&i(1)}),t.dMargin=p.one("."+a+"editor-xiami-margin"),t._xiamiUrlWrap=p.one("."+a+"editor-xiami-url-wrap"),t._xiamiTitle=p.one("."+a+"editor-xiami-title");var g=u.one("."+a+"editor-xiami-ok");u.one("."+a+"editor-xiami-cancel").on("click",function(i){s.hide(),i.halt()}),t.addRes(u),g.on("click",function(i){var a=t.selectedFlash,r=e.restoreRealElement(a);t._dinfo={url:t._getFlashUrl(r),attrs:{title:a.attr("title"),style:"margin:"+(parseInt(t.dMargin.val(),10)||0)+"px;float:"+t.dAlign.get("value")+";"}},t._gen(),i.halt()},t),t.addRes(g),t._xiamiaList.on("click",function(e){e.preventDefault();var r=d(e.target),l=r.closest(function(i){return t._xiamiaList.contains(i)&&n.hasClass(i,a+"editor-xiami-add")},void 0),s=r.closest(function(i){return t._xiamiaList.contains(i)&&n.hasClass(i,a+"editor-xiami-page-item")},void 0);l?(t._dinfo={url:"http://www.xiami.com/widget/"+l.attr("data-value")+"/singlePlayer.swf",attrs:{title:l.attr("title"),style:"margin:"+(parseInt(t.dMargin.val(),10)||0)+"px;float:"+t.dAlign.get("value")+";"}},t._gen()):s&&i(parseInt(s.attr("data-value"),10)),e.halt()}),t.addRes(t._xiamiaList)},_listSearch:function(t){var l,s=this,o=s.editor,n=o.get("prefixCls"),d=t.results,p="";if(t.key===r.trim(s._xiamiInput.val())){if(s._xiamiSubmit.removeClass(n+"editor-button-disabled",void 0),d&&d.length){for(p="<ul>",l=0;l<d.length;l++){var m=d[l],x=a(m);p+='<li title="'+x+'"><span class="'+n+'editor-xiami-song">'+i(x,35)+'</span><a href="#" title="'+x+'" class="'+n+'editor-xiami-add" data-value="'+(m.album_id+"_"+m.song_id)+'">添加</a></li>'}p+="</ul>";var u=t.page,c=Math.floor(t.total/8),g=u-1,f=u+1;if(c>1){for(p+='<p class="'+n+'editor-xiami-paging">',2>=g&&(f=Math.min(2-g+f,c-1),g=2),f=Math.min(f,c-1),f===c-1&&(g=Math.max(2,f-3)),1!==u&&(p+=e(u,u-1,"上一页")),p+=e(u,1,"1"),2!==g&&(p+='<span class="'+n+'editor-xiami-page-more">...</span>'),l=g;f>=l;l++)p+=e(u,l,void 0);f!==c&&(f!==c-1&&(p+='<span class="'+n+'editor-xiami-page-more">...</span>'),p+=e(u,c,c)),u!==c&&(p+=e(u,u+1,"下一页")),p+="</p>"}}else p='<p style="text-align:center;margin:10px 0;">不好意思,没有找到结果!</p>';s._xiamiaList.html(r.substitute(p,{prefixCls:n}))}},_updateD:function(){var i=this,t=i.editor,e=t.get("prefixCls"),a=i.selectedFlash;a?(i._xiamiInput.val(a.attr("title")),i._xiamiTitle.html(a.attr("title")),i.dAlign.set("value",a.css("float")),i.dMargin.val(parseInt(a.style("margin"),10)||0),i._xiamiUrlWrap.hide(),i.dialog.get("footer").show(),i._xiamiTitle.show()):(l.Utils.resetInput(i._xiamiInput),i.dAlign.set("value","none"),i.dMargin.val(h),i._xiamiUrlWrap.show(),i.dialog.get("footer").hide(),i._xiamiTitle.hide(),i._xiamiSubmit.removeClass(e+"editor-button-disabled",void 0)),i._xiamiaList.hide(),i._xiamiaList.html("")},_getDInfo:function(){var i=this;return r.mix(i._dinfo.attrs,{width:257,height:33}),i._dinfo}}),module.exports=t;});
Example #14
0
 _toggleScrobbled: function() {
     return this._setScrobbleState( !dom.hasClass( scrobble, this.CLASS_NAMES.scrobbled ) );
 },
Example #15
0
 _toggleError: function() {
     return this._setErrorState( !dom.hasClass( scrobble, 'errors' ) );
 },