Opensource Rich Text Editor Widget for Web application

Hi to all,

You can download a Rich Text Editor widget, which it is based on Yahoo RTE v2.9. It is full integrated with the Xojo IDE and it has the following functionality :
Set/Get Html Code
Set/Get Height property
Set/Get Width property
Add/Remove/Set Title panel of control
Add/Remove the bottom panel of control
Set Toolbar backcolor.
Set Visible/Hidden
Set Enable/Disable
Full locking control are working.

This is my 1st Widget for Xojo Web and a lot of others are coming in a few days.

You can download the project with full source, from the following link : Download

I am waiting your feedback for the Xojo WebSDK usage on that widget. Any comments are welcome

Best regards

Antonis

I tried running it in the IDE and the debugger stops with a NilObjectExecption on LoadLibraries in the control’s open event. I found that in App.Open you are calling a method to load the .js files into webfiles, but they are not getting loaded. I added a build script to copy the libjs folder to the debug app’s folder, but it still doesn’t work.

Hi Jay,

Make sure, that the folder /libjs/… is on the same level with the Xojo web executable file. It tries to load the Javascripts libraries on app.open, then to store on share properties (webfiles) and then, on the control open, to try to load them on the client. Check the directory with the JavaScript files.

Comment: In my xojo IDE, I have the setting to run on the same level of application directory.

BR/Antonis

Also, I am planning to store all the external javascript files, inside on the application, so to not needed to read from external files.

BR/Antonis

As I said, I did that. But it still doesn’t work.

I don’t know if it makes a difference, but I’m running this on Mac OS X 10.8.4.

Antonis very good idea! But ditto, I have the same error. Mac OS X 10.8.4. Xojo R3B1

Hi, try to download the following file. I updated the code, so it is not loaded any more from files. I have stored the javascript files on constant variables.

Download file

BR/Antonis

yes, it works ! :slight_smile:

Even on iPad, but this is not practical on iPad, all features are not available. it is annoying, because now there are many users on IOS / Android. But Antonis really thank you for this work!

I am happy that it works. Any comments about the usage of Xojo WebSDK are welcome.

BR/Antonis

Very nice!

Found a bug: After disabling then re-enabling the control, I can no longer edit the content. It won’t even show the text cursor.

Hi Jay,

Can you be more specific about the host ? Because on Windows 7 64Bit with Xojo 2013R2, all the functionality of the buttons are working.

BR/Antonis

Mac OS X 10.8.4. The Enable/Disable button does appear to disable and enable the control, but after cycling through this, I can’t get the editor to respond. The toolbar button appear to respond, but nothing happens, and I can’t edit the content.

Jay,

Can you test the following http://developer.yahoo.com/yui/examples/editor/simple_editor.html, if it is working the Yahoo editor on MAC 10.8.4 ? because on windows browsers (IE,FF,etc), I dont have any problem and maybe it is a bug on Yahoo framework running on MAC.

BR/Antonis

Antonis,

You don’t seem to be following what I am saying. Everything in the editor works correctly until I click the Enable/Disable button. On the first click, everything looks disabled as it should, then on a second click everything looks enabled again, but nothing works. Enabling/disabling the editor is not something that the site you linked to tests.

Jay,

I am following you … please execute the javascript command that I send back to yahoo framework. If you look on FrameworkPropertyChanged (Xojo YUI2RTE Event Handler), for control enabled -> I am sending the following javascript command :

ExecuteJavaScript("RSCustom.yui.RTE."+self.ControlID + ".set('disabled',false)")

Because, we dont have Mac PC on the office and I cannot test that, I am proposing to go on the weblink that I provided before and to run this command on Safari Development tool replacing the “RSCustom.yui.RTE.”+self.ControlID" with the existing Yahoo control ID.

Please tell me, if it is working or not (for disabled the control, change the command set(‘disabled’,true) )

BR/Antonis

Also, I would like to have your feedback and from other mac or ipad/iphone users, if all the button functionality are working or not. On android 4.2 and 4.1, this tool is working perfect.
BR/Antonis

Ok, I have isolated the problem to Firefox. This applies to both Mac and Windows versions of Firefox. It works correctly on Chrome, Safari and IE.

I don’t have a way to execute javascript against the Yahoo site from within Firefox to test it.

@Antonis Vakondios
Tis command you are sending RSCustom.yui.RTE…

You really should read the WebSDK docs and register your own namespace for your controls. If you don’t, you run the risk of clashing with other users controls.

Hi Greg,

Thanks for the advice, the namespace “yui.RTE” is coming from the websdk example. The rest of application flow for the using of Xojo Websdk, is it correct ?

During the implementation, I had issues with the event Shown() on Xojo. According to documentation, this event is called once your control has been received and created by the browser. Then, you may now send commands directly to the control and your framework. But when I tried to sent javascripts commands, I got errors that the object is not available on the DOM. Mean, that the “Shown()” is not working correct. For that error, I used a Yahoo event " afterRendered" with callback function, so I executed the code there for the initialization of control.

BR/Antonis