Annotation of kupu/roundup/kupuinit.js, revision 1.1.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>