other way to do: elements.activitytext.getAsPlainText

Is there an other way to do this:

var a = elements.activitytext.getAsPlainText();

this method is very handy to get the plainText of an RTF-field.

but now I have to do that in a calculation, in which I can’t touch elements, because they are simpy ‘not seen’

Anyone?

Here is a way to bypass using the RTF Field for calculations:

var rtfEditorKit = new Packages.javax.swing.text.rtf.RTFEditorKit();
var rtfDocument = rtfEditorKit.createDefaultDocument();

var reader = new java.io.StringReader(my_rtf);
//rtfDocument.remove(0, rtfDocument.getLength());
rtfEditorKit.read(reader, rtfDocument, 0);	

globals.rtfcont = rtfDocument.getText(0, rtfDocument.getLength());

wow! thank you! :D
that’ was exactly what I was looking for!

Hi Andrei,

I’m now getting a nullpointer exception, in 3.5.7

Exceptie bij het uitvoeren van berekening: activitytext_plain van tabel activiti
es, fout org.mozilla.javascript.JavaScriptException: java.lang.NullPointerExcept
ion

with this calculation:

var rtfEditorKit = new Packages.javax.swing.text.rtf.RTFEditorKit();
var rtfDocument = rtfEditorKit.createDefaultDocument();

var reader = new java.io.StringReader(activitytext);
//rtfDocument.remove(0, rtfDocument.getLength());
rtfEditorKit.read(reader, rtfDocument, 0);   

return rtfDocument.getText(0, rtfDocument.getLength());

Can you tell me what I’m doing wrong here?

oke think I got it, i’m now first checking IF activity_text contains a value!

here is my code:

if(activitytext) {
	var rtfEditorKit = new Packages.javax.swing.text.rtf.RTFEditorKit();
	var rtfDocument = rtfEditorKit.createDefaultDocument();
	
	var reader = new java.io.StringReader(activitytext);
	//rtfDocument.remove(0, rtfDocument.getLength());
	rtfEditorKit.read(reader, rtfDocument, 0);   
	
	return rtfDocument.getText(0, rtfDocument.getLength());
} else {
	return null
}

Now I get no errors :-)