1

I am trying to have a table like view for my component, however I don't want to use the table component. Since, the table will save the data as html with tags and its difficult for me to read the data inside the rows. Traversing through or and so on.

If not, I was thinking to have a multifield component, which has one set header (for table header row) and the rest of the fields below will be mutlifield, we can keep adding as many rows as we want.

At present, i have something like

  • Name - value
  • Path - value
  • Type - value

The above entire thing is one value in the mutltifield. I can add multiple fields like the above.

but the ui looks clunky if we do it this way. I'd rather have a table like format.

if anyone has any suggestions I'm open to them.

Thanks

Imran Saeed
  • 3,414
  • 1
  • 16
  • 27
calculus
  • 87
  • 15
  • Table like format for your author dialogue? – Imran Saeed Jul 13 '17 at 12:11
  • @i.net the component dialog – calculus Jul 13 '17 at 14:56
  • In my last project we had the same issue. We decided to use AEM's table editor, and in the sling model we used a HTML parser to read the table and output it again in the way we needed it. I will see, if I can extract it in a more generic way and publish the parser as an re-usable service. – Alexander Berndt Jul 14 '17 at 19:12
  • @AlexanderBerndt thanks for that. I hadn't checked your suggestion and tried similar solution. cheers! – calculus Jul 28 '17 at 13:07

1 Answers1

2

Your best bet will be to use CSS to override the look and feel for your custom multi-field and AEM's multi-field management UI.

You can probably make it look and feel like a fluent grid by changing the spacing between the edit fields and dimming the borders.

Making one monolithic custom extension to look and feel like a grid/table will be too complex and introduces the risk of deviating from node structure so I won't recommend that unless you are planning to take over the component's properties dialogues in authoring mode.

Imran Saeed
  • 3,414
  • 1
  • 16
  • 27