[kupu-dev] Charmap: uncaught exception

Jordi Martinez jordim at guellconsulting.com
Wed Aug 27 16:37:59 CEST 2008


Hi!
If you remember, the last week I ask for how to create a kupu drawer

Today I make this:

at kupuploneinit.js I add this:

var foneticatool = new FoneticaTool(kupu);
kupu.registerTool('foneticatool', foneticatool);
  
var foneticabutton = new KupuButton(prefix + 'button.kupu-fonetica', 
opendrawer('foneticadrawer'));
kupu.registerTool('foneticabutton', foneticabutton);

var foneticadrawer = new FoneticaDrawer(prefix + 
'div.kupu-foneticadrawer', foneticatool);
drawertool.registerDrawer(prefix + 'foneticadrawer', foneticadrawer , kupu);

at kupu_wysiwyg_support this:

<div id="kupu-foneticadrawer" class="kupu-drawer kupu-foneticadrawer">
    <h1 i18n:translate="foneticadrawer_title">S&iacute;mbols 
fon&egrave;tics</h1>
    <div tal:define="caracters python: [601, 603, 825, 248, 654, 952, 
643, 658, 778, 626, 967]" tal:repeat="caracter caracters">
        <button type="button" tal:attributes="name 
string:Caracter${caracter}; onclick string:javascript: 
this.form['texte'].value = this.form['texte'].value + '&#${caracter};;'" 
tal:content="structure string:&#${caracter};" />
    </div>
    <div class="kupu-dialogbuttons">
        <input type="text" name="texte" />
        <button class="kupu-dialog-button" type="button" 
onclick="drawertool.current_drawer.save()" i18n:translate="">Ok</button>
        <button class="kupu-dialog-button" type="button" 
onclick="drawertool.closeDrawer()" i18n:translate="">Close</button>
    </div>
</div>

at kupubasetools.js this:

function FoneticaTool() {
    this.initialize = function(editor) {
        this.editor = editor
        this.editor.logMessage(_('Fonetica tool initialized'));
    };
   
    this.createFonetica = function() {
        var fonetica = this.editor.getInnerDocument().createElement('span');
        var text = this.editor.getInnerDocument().createTextNode('Holas');
        fonetica.appendChild(text);
        fonetica.className = 'transcripcioFonetica';
        fonetica = this.editor.insertNodeAtSelection(fonetica, 1);
        this.editor.logMessage(_('Fonetica inserted'));
        this.editor.updateState();
        return fonetica;
    };
}

and at kupudrawers.js this:

function FoneticaDrawer(elementid, tool) {
    this.element = getFromSelector(elementid);
   this.tool = tool;
   this.save = function() {
       this.tool.createFonetica();
       this.drawertool.closeDrawer();
   }
};

FoneticaDrawer.prototype = new Drawer;

With this code all is ok except that when I push the ok button this 
exception is raised:

uncaught exception: [Exception... "Component returned failure code: 
0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsISelection.getRangeAt]" nsresult: 
"0x80070057 (NS_ERROR_ILLEGAL_VALUE)" location: "JS frame :: 
http://192.168.1.38:8110/esadir/kupuhelpers.js :: anonymous :: line 443" 
data: no]

Could someone point me where is the error, please?

Thanks a lot!!!!



More information about the kupu-dev mailing list