Rich text custom renderer issues

  • 2
  • Problem
  • Updated 2 years ago
  • In Progress
I have a custom renderer that displays edit components for multiple fields in an object: a picklist, a rich text and a checkbox that all appear in a single table cell.  

My first problem is that I can only get the rich text to render if it is the parameter for the custom renderer (i.e. the custom renderer is on the rich text field). 
var $ = skuid.$,
   field = arguments[0],
  value = arguments[1];
var textAreaElement = skuid.ui.fieldRenderers.TEXTAREA.edit(field, value);
field.element.append(textAreaElement);
That works okay, but only because "field" is the rich text field. If the custom render was on a different field (e.g. the picklist or checkbox), is there still a way to call the field renderer on the rich text? What if I wanted to render 2 rich text fields in a single custom renderer?

My second problem, which is more pressing, is that I need to get a reference to the inline CKEDITOR object that has been generated for the rich text field. I need to add an onChange event to it and customise it in other ways. Because it's an inline CKEDITOR it's no longer a textarea at all, so I can't do that the usual way. How can I get that reference?
Photo of Ryan Paddy

Ryan Paddy

  • 578 Points 500 badge 2x thumb

Posted 2 years ago

  • 2
Photo of Christine Jessen

Christine Jessen

  • 670 Points 500 badge 2x thumb
Hi Ryan!

Thank you for your question.  I'm trying to understand how you have your table / model configured.  Do you have one cell in a row of the table that contains all three items (a picklist, a rich text, and a checkbox), and you want to set this entire cell into edit mode?  

As for the CKEDITOR, take a look at this thread:
https://community.skuid.com/skuid/topics/change-ckeditor-default-configuration

Hopefully this answers your question on how to access and edit the CKEDITOR object.  

Thanks!
Christine
Photo of Ryan Paddy

Ryan Paddy

  • 578 Points 500 badge 2x thumb
Thanks Christine,

Yes, I have one cell in a row of a table with multiple fields inside it. I am trying to make one of them a rich text field.

I can do that so long the rich text field is the field that cell of the table is set to, making it the field parameter for the custom renderer. As I mentioned, this wouldn't work if I wanted to render multiple rich text fields inside a single cell, however I don't need that at the moment. 

Thanks for the link. I'm not sure whether that will give me access to the onChange event for the rich text field, but I will have a look. 

Cheers,

Ryan