Annotation of kupuMPIWG/roundup/kupuinit.js, revision 1.1

1.1     ! dwinter     1: /* here's where the customized initialization will be done */
        !             2: 
        !             3: function RoundupLinkTool() {
        !             4:     this.createLinkHandler = function(event) {
        !             5:         /* create a link according to a url entered in a popup */
        !             6:         var linkWindow = openPopup('_file/kupu/common/popups/link.html', 300, 200);
        !             7:         linkWindow.linktool = this;
        !             8:         linkWindow.focus();
        !             9:     };
        !            10: };
        !            11: 
        !            12: RoundupLinkTool.prototype = new LinkTool;
        !            13: 
        !            14: function RoundupImageTool() {
        !            15:     this.createImageHandler = function(event) {
        !            16:         /* create an image according to a url entered in a popup */
        !            17:         var imageWindow = openPopup('_file/kupu/common/popups/image.html', 300, 200);
        !            18:         imageWindow.imagetool = this;
        !            19:         imageWindow.focus();
        !            20:     };
        !            21: };
        !            22: 
        !            23: RoundupImageTool.prototype = new ImageTool;
        !            24: 
        !            25: function initKupu(iframe) {
        !            26:     /* Although this is meant to be a sample implementation, it can
        !            27:         be used out-of-the box to run the sample pagetemplate or for simple
        !            28:         implementations that just don't use some elements. When you want
        !            29:         to do some customization, this should probably be overridden. For 
        !            30:         larger customization actions you will have to subclass or roll your 
        !            31:         own UI object.
        !            32:     */
        !            33: 
        !            34:     // first we create a logger
        !            35:     var l = new DummyLogger();
        !            36:     
        !            37:     // now some config values
        !            38:     // XXX To mimic the 'old' behaviour, vars should be retrieved from the 
        !            39:     // iframe (attributes)
        !            40:     var src = iframe.getAttribute('src');
        !            41:     var dst = iframe.getAttribute('dst');
        !            42:     if (!dst) {
        !            43:         dst = '..';
        !            44:     }
        !            45:     var use_css = (iframe.getAttribute('usecss') != "0");
        !            46:     var reload_src = (iframe.getAttribute('reloadsrc') == "1");
        !            47:     var strict_output = (iframe.getAttribute('strict_output') == "1");
        !            48:     var content_type = 'application/xhtml+xml';
        !            49:     if (iframe.getAttribute('content_type')) {
        !            50:         content_type = iframe.getAttribute('content_type');
        !            51:     };
        !            52:     
        !            53:     var conf = {'src': src,
        !            54:                 'dst': dst,
        !            55:                 'use_css': use_css,
        !            56:                 'reload_after_save': reload_src,
        !            57:                 'strict_output': strict_output,
        !            58:                 'content_type': content_type
        !            59:                 };
        !            60:     
        !            61:     // the we create the document, hand it over the id of the iframe
        !            62:     var doc = new KupuDocument(iframe);
        !            63:     
        !            64:     // now we can create the controller
        !            65:     var kupu = new KupuEditor(doc, conf, l);
        !            66: 
        !            67:     // add the contextmenu
        !            68:     var cm = new ContextMenu();
        !            69:     kupu.setContextMenu(cm);
        !            70: 
        !            71:     var listtool = new ListTool('kupu-list-ul-addbutton', 'kupu-list-ol-addbutton', 'kupu-ulstyles', 'kupu-olstyles');
        !            72:     kupu.registerTool('listtool', listtool);
        !            73:     
        !            74:     var linktool = new RoundupLinkTool();
        !            75:     kupu.registerTool('linktool', linktool);
        !            76: 
        !            77:     var imagetool = new RoundupImageTool();
        !            78:     kupu.registerTool('imagetool', imagetool);
        !            79: 
        !            80:     // now we can create a UI object which we can use from the UI
        !            81:     var ui = new KupuUI('kupu-tb-styles');
        !            82: 
        !            83:     // the ui must be registered to the editor as well so it can be notified
        !            84:     // of state changes
        !            85:     kupu.registerTool('ui', ui); // XXX Should this be a different method?
        !            86: 
        !            87:     // register some cleanup filter
        !            88:     // remove tags that aren't in the XHTML DTD
        !            89:     var nonxhtmltagfilter = new NonXHTMLTagFilter();
        !            90:     kupu.registerFilter(nonxhtmltagfilter);
        !            91: 
        !            92:     return kupu;
        !            93: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>