Exemple #1
1
    it("should invoke method on window or document correctly", function () {
        var win = $(window), doc = $(document);

        expect(win.height()).toBe(Dom.viewportHeight());
        expect(win.width()).toBe(Dom.viewportWidth());

        expect(doc.height()).toBe(Dom.docHeight());
        expect(doc.width()).toBe(Dom.docWidth());
    });
Exemple #2
0
        it("对齐居中有效", function () {

            var o = new Overlay({
                width: 400,
                elCls: "popup",
                resize: {
                    handlers: ["t"]
                },
                content: "render by javascript"
            });

            o.set("align", {
                points: ['cc', 'cc']
            });
            o.show();

            expect(parseInt(o.get('el').css('left'), 10))
                .toBeEqual(Math.ceil((Dom.viewportWidth() - o.get('el').outerWidth()) / 2));


            expect(parseInt(o.get('el').css("top"), 10))
                .toBeEqual(Math.ceil((Dom.viewportHeight() - o.get('el').outerHeight()) / 2));

            o.destroy();

        });
Exemple #3
0
        _maximize: function (stop) {
            var self = this,
                editor = self.editor,
                editorEl = editor.get('el'),
                viewportHeight = Dom.viewportHeight(),
                viewportWidth = Dom.viewportWidth(),
                textareaEl = editor.get('textarea'),
                statusHeight = editor.get('statusBarEl') ?
                    editor.get('statusBarEl')[0].offsetHeight : 0,
                toolHeight = editor.get('toolBarEl')[0].offsetHeight;

            if (!ie) {
                Dom.css(doc.body, {
                    width: 0,
                    height: 0,
                    overflow: 'hidden'
                });
            } else {
                doc.body.style.overflow = 'hidden';
            }
            doc.documentElement.style.overflow = 'hidden';

            editorEl.css({
                position: 'absolute',
                zIndex: Editor.baseZIndex(Editor.ZIndexManager.MAXIMIZE),
                width: viewportWidth + 'px'
            });
            iframe.css({
                zIndex: Editor.baseZIndex(Editor.ZIndexManager.MAXIMIZE - 5),
                height: viewportHeight + 'px',
                width: viewportWidth + 'px'
            });
            editorEl.offset({
                left: 0,
                top: 0
            });
            iframe.css({
                left: 0,
                top: 0
            });

            textareaEl.parent().css({
                height: (viewportHeight - statusHeight - toolHeight ) + 'px'
            });


            textareaEl.css({
                height: (viewportHeight - statusHeight - toolHeight ) + 'px'
            });

            if (stop !== true) {
                /*jshint noarg:false*/
                arguments.callee.call(self, true);
            }
        },
Exemple #4
0
        it("对齐居中有效", function () {
            o.set("align", {
                points: ['cc', 'cc']
            });

            o.show();

            expect(parseInt(o.get('el').css('left'), 10))
                .toBeEqual(Math.ceil((Dom.viewportWidth() - o.get('el').outerWidth()) / 2));

            expect(parseInt(o.get('el').css("top"), 10))
                .toBeEqual(Math.ceil((Dom.viewportHeight() - o.get('el').outerHeight()) / 2));

        });
Exemple #5
0
  _maximize: function(stop) {
  _$jscoverage['/cmd.js'].functionData[9]++;
  _$jscoverage['/cmd.js'].lineData[209]++;
  var self = this, editor = self.editor, editorEl = editor.get('el'), viewportHeight = Dom.viewportHeight(), viewportWidth = Dom.viewportWidth(), textareaEl = editor.get('textarea'), statusHeight = editor.get('statusBarEl') ? editor.get('statusBarEl')[0].offsetHeight : 0, toolHeight = editor.get('toolBarEl')[0].offsetHeight;
  _$jscoverage['/cmd.js'].lineData[219]++;
  if (visit15_219_1(!ie)) {
    _$jscoverage['/cmd.js'].lineData[220]++;
    Dom.css(doc.body, {
  width: 0, 
  height: 0, 
  overflow: 'hidden'});
  } else {
    _$jscoverage['/cmd.js'].lineData[226]++;
    doc.body.style.overflow = 'hidden';
  }
  _$jscoverage['/cmd.js'].lineData[228]++;
  doc.documentElement.style.overflow = 'hidden';
  _$jscoverage['/cmd.js'].lineData[230]++;
  editorEl.css({
  position: 'absolute', 
  zIndex: Editor.baseZIndex(Editor.ZIndexManager.MAXIMIZE), 
  width: viewportWidth + 'px'});
  _$jscoverage['/cmd.js'].lineData[235]++;
  iframe.css({
  zIndex: Editor.baseZIndex(Editor.ZIndexManager.MAXIMIZE - 5), 
  height: viewportHeight + 'px', 
  width: viewportWidth + 'px'});
  _$jscoverage['/cmd.js'].lineData[240]++;
  editorEl.offset({
  left: 0, 
  top: 0});
  _$jscoverage['/cmd.js'].lineData[244]++;
  iframe.css({
  left: 0, 
  top: 0});
  _$jscoverage['/cmd.js'].lineData[249]++;
  textareaEl.parent().css({
  height: (viewportHeight - statusHeight - toolHeight) + 'px'});
  _$jscoverage['/cmd.js'].lineData[254]++;
  textareaEl.css({
  height: (viewportHeight - statusHeight - toolHeight) + 'px'});
  _$jscoverage['/cmd.js'].lineData[258]++;
  if (visit16_258_1(stop !== true)) {
    _$jscoverage['/cmd.js'].lineData[260]++;
    arguments.callee.call(self, true);
  }
}, 
Exemple #6
0
            it("getVisibleRectForElement works", function () {
                var gap = Dom.create("<div style='height: 1500px;width: 100000px;'></div>");
                Dom.append(gap, 'body');

                var getVisibleRectForElement = AlignExtension.__getVisibleRectForElement,
                    test = [];

                test[0] = "<div><div></div></div>";

                test[1] = "<div style='width: 100px;height: 100px;overflow: hidden;'>" +
                    "<div style='position: relative;'></div></div>";

                test[2] = "<div style='width: 100px;height: 100px;overflow: hidden;'>" +
                    "<div>" +
                    "<div style='position: absolute;'></div>" +
                    "</div>" +
                    "</div>";

                test[3] = "<div style='position: relative;width: 100px;" +
                    "height: 100px;overflow: hidden;'>" +
                    "<div>" +
                    "<div style='position: absolute;'></div>" +
                    "</div>" +
                    "</div>";

                var dom = [];

                for (var i = 3; i >= 0; i--) {
                    dom[i] = Dom.create(test[i]);
                    Dom.prepend(dom[i], 'body');
                }

                // 1
                window.scrollTo(10, 10);


                var right = 10 + Dom.viewportWidth(),
                    rect,
                    bottom = 10 + Dom.viewportHeight();

                rect = getVisibleRectForElement(dom[0].firstChild);

                expect(rect.left).toBeEqual(10);
                expect(rect.top).toBeEqual(10);
                expect(rect.right).toBeEqual(right);
                expect(rect.bottom).toBeEqual(bottom);

                window.scrollTo(200, 200);
                rect = getVisibleRectForElement(dom[0].firstChild);

                expect(rect.left).toEqual(200);
                expect(rect.bottom).toEqual(200 + Dom.viewportHeight());
                expect(rect.top).toEqual(200);
                expect(rect.right).toEqual(200 + Dom.viewportWidth());

                Dom.remove(dom[0]);


                // 2
                window.scrollTo(10, 10);
                rect = getVisibleRectForElement(dom[1].firstChild);
                expect(rect).toBeEqualRect({
                    left: 10,
                    top: 10,
                    right: 100,
                    bottom: 100
                });

                window.scrollTo(200, 200);
                rect = getVisibleRectForElement(dom[1].firstChild);
                expect(rect).toBe(null);
                Dom.remove(dom[1]);


                // 3
                window.scrollTo(10, 10);
                rect = getVisibleRectForElement(dom[2].firstChild);
                expect(rect).toBeEqualRect({
                    left: 10,
                    top: 10,
                    right: 100,
                    bottom: 100
                });

                window.scrollTo(200, 200);
                rect = getVisibleRectForElement(dom[2].firstChild);
                expect(rect).toBe(null);
                Dom.remove(dom[2]);


                // 4
                window.scrollTo(10, 10);
                rect = getVisibleRectForElement(dom[3].firstChild);
                expect(rect).toBeEqualRect({
                    left: 10,
                    top: 10,
                    right: 100,
                    bottom: 100
                });

                window.scrollTo(200, 200);
                rect = getVisibleRectForElement(dom[3].firstChild);
                expect(rect).toBe(null);
                Dom.remove(dom[3]);


                Dom.remove(gap);


                waits(200);
                runs(function () {
                    window.scrollTo(0, 0);
                });
            });
Exemple #7
0
KISSY.add('editor-plugins/lib/maximize/cmd',["editor","event/dom","util","ua","node","dom"],function(S ,require, exports, module) {function e(e){this.editor=e}var t,i=require("editor"),o=require("event/dom"),r=require("util"),s=require("ua"),a=s.ie,n=document,d=require("node"),l=require("dom"),f="editor-toolbar-padding",c=function(){t||(t=d('<iframe  style="position:absolute;top:-9999px;left:-9999px;" frameborder="0">').prependTo(n.body,void 0))};r.augment(e,{restoreWindow:function(){var e=this,t=e.editor;t.fire("beforeRestoreWindow")!==!1&&e._resize&&(o.remove(window,"resize",e._resize),e._resize.stop(),e._resize=0,e._saveEditorStatus(),e._restoreState(),setTimeout(function(){e._restoreEditorStatus(),t.notifySelectionChange(),t.fire("afterRestoreWindow")},30))},_restoreState:function(){var e=this,i=e.editor,o=i.get("textarea"),r=e._savedParents;if(r){for(var s=0;s<r.length;s++){var d=r[s];d.el.css("position",d.position)}e._savedParents=null}o.parent().css({height:e.iframeHeight}),o.css({height:e.iframeHeight}),l.css(n.body,{width:"",height:"",overflow:""}),n.documentElement.style.overflow="";var c=i.get("el")[0].style;c.position="static",c.width=e.editorElWidth,t.css({left:"-99999px",top:"-99999px"}),window.scrollTo(e.scrollLeft,e.scrollTop),8>a&&i.get("toolBarEl").removeClass(i.get("prefixCls")+f,void 0)},_saveSate:function(){var e=this,t=e.editor,i=[],o=t.get("el");e.iframeHeight=t.get("textarea").parent().style("height"),e.editorElWidth=o.style("width"),e.scrollLeft=l.scrollLeft(),e.scrollTop=l.scrollTop(),window.scrollTo(0,0);for(var r=o.parent();r;){var s=r.css("position");"static"!==s&&(i.push({el:r,position:s}),r.css("position","static")),r=r.parent()}e._savedParents=i,8>a&&t.get("toolBarEl").addClass(t.get("prefixCls")+f,void 0)},_saveEditorStatus:function(){var e=this,t=e.editor;if(e.savedRanges=null,s.gecko&&t.__iframeFocus){var i=t.getSelection();e.savedRanges=i&&i.getRanges()}},_restoreEditorStatus:function(){var e=this,t=e.editor,i=t.getSelection(),o=e.savedRanges;if(s.gecko&&t.activateGecko(),o&&i&&i.selectRanges(o),t.__iframeFocus&&i){var r=i.getStartElement();r&&r.scrollIntoView(void 0,{alignWithTop:!1,allowHorizontalScroll:!0,onlyScrollIfNeeded:!0})}},_maximize:function(e){var o=this,r=o.editor,s=r.get("el"),d=l.viewportHeight(),f=l.viewportWidth(),c=r.get("textarea"),h=r.get("statusBarEl")?r.get("statusBarEl")[0].offsetHeight:0,u=r.get("toolBarEl")[0].offsetHeight;a?n.body.style.overflow="hidden":l.css(n.body,{width:0,height:0,overflow:"hidden"}),n.documentElement.style.overflow="hidden",s.css({position:"absolute",zIndex:i.baseZIndex(i.ZIndexManager.MAXIMIZE),width:f+"px"}),t.css({zIndex:i.baseZIndex(i.ZIndexManager.MAXIMIZE-5),height:d+"px",width:f+"px"}),s.offset({left:0,top:0}),t.css({left:0,top:0}),c.parent().css({height:d-h-u+"px"}),c.css({height:d-h-u+"px"}),e!==!0&&arguments.callee.call(o,!0)},_real:function(){var e=this,t=e.editor;e._resize||(e._saveEditorStatus(),e._saveSate(),e._maximize(),e._resize||(e._resize=r.buffer(function(){e._maximize(),t.fire("afterMaximizeWindow")},100)),o.on(window,"resize",e._resize),setTimeout(function(){e._restoreEditorStatus(),t.notifySelectionChange(),t.fire("afterMaximizeWindow")},30))},maximizeWindow:function(){var e=this,t=e.editor;t.fire("beforeMaximizeWindow")!==!1&&(c(),e._real())},destroy:function(){var e=this;e._resize&&(o.remove(window,"resize",e._resize),e._resize.stop(),e._resize=0)}}),module.exports={init:function(t){if(!t.hasCommand("maximizeWindow")){var i=new e(t);t.addCommand("maximizeWindow",{exec:function(){i.maximizeWindow()}}),t.addCommand("restoreWindow",{exec:function(){i.restoreWindow()}})}}};});