Comments on Grid View Proposal
Navigation
$xwiki.getDocument('Help.SupportPanel.Content').translatedDocument.title
Failed to execute the [include] macro. Cause: [Current user [incubator:XWiki.evalica] doesn't have view rights on document [xwiki:Help.SupportPanel.Content]]. Click on this message for details.
org.xwiki.rendering.macro.MacroExecutionException: Current user [incubator:XWiki.evalica] doesn't have view rights on document [xwiki:Help.SupportPanel.Content]
at org.xwiki.rendering.internal.macro.include.IncludeMacro.execute(IncludeMacro.java:119)
at org.xwiki.rendering.internal.macro.include.IncludeMacro.execute(IncludeMacro.java:59)
at org.xwiki.rendering.internal.transformation.macro.MacroTransformation.transform(MacroTransformation.java:311)
at org.xwiki.rendering.internal.transformation.DefaultRenderingContext.transformInContext(DefaultRenderingContext.java:183)
at org.xwiki.rendering.internal.transformation.DefaultTransformationManager.performTransformations(DefaultTransformationManager.java:88)
at org.xwiki.rendering.async.internal.block.AbstractBlockAsyncRenderer.transform(AbstractBlockAsyncRenderer.java:74)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRenderer.tranform(DefaultBlockAsyncRenderer.java:154)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRenderer.execute(DefaultBlockAsyncRenderer.java:137)
at org.xwiki.rendering.async.internal.block.AbstractBlockAsyncRenderer.render(AbstractBlockAsyncRenderer.java:157)
at org.xwiki.panels.internal.PanelWikiUIExtension.render(PanelWikiUIExtension.java:132)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor$DecoratorWrapper.render(DefaultBlockAsyncRendererExecutor.java:67)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor$DecoratorWrapper.render(DefaultBlockAsyncRendererExecutor.java:49)
at org.xwiki.rendering.async.internal.AsyncRendererJob.runInternal(AsyncRendererJob.java:101)
at org.xwiki.job.AbstractJob.runInContext(AbstractJob.java:246)
at org.xwiki.job.AbstractJob.run(AbstractJob.java:223)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
I like it overall. Here are my remarks:
G: "Warning: columns will vary a lot depending on what the grid is used for. Thus it will not always be possible to know in advance whether an item should align right or left"
If "Grid titles might take 2 lines when they're long" this means there is a width for the column that makes the split. Same for bigger values that don't fit in a field and wrap to the second row. Having this width and height, even if it's in procents %, we can align the text in an appropiate manner "text-align: left | right" and "vertical-align: top"
Each column has a type: none, list, text, hidden. I propose to have separate the text type in two:
- characters: align-left
Grids that will contain predominant characters will describe documents, projects, people, etc
- numbers: align-right
Grids that will contain predominant numbers will describe statistical data, prices, etc
When we talk about numbers is very important that we can scan them rapidly. Having:
124125
244
12,12
5266
322,23
will not help much because they are not aligned like:
123
67
8
G: "Action column -> what does it do? Send the user to inline mode for the document? Given there is already in-place edition, is it necessary?"
the Action column was an example. It is also present in
http://intranet.xwikisas.com/xwiki/bin/view/CRM/ContactsGrid
http://intranet.xwikisas.com/xwiki/bin/view/HolidayRequest/
What types of actions I have?
Per row:
- view entry (inconsistent):
- http://intranet.xwikisas.com/xwiki/bin/view/CRM/ContactsGrid
clicking the link in the first column or "View" in an "Action" column -> takes to the same page
- http://intranet.xwikisas.com/xwiki/bin/view/HolidayRequest/
clicking the link in the first column (User Page); "View" in an "Action" column (Request Page)
Per field:
- edit field - throught the pop-up
The idea is that an "Action" column could be usefull if I want to have a Grid where I can delete the entry, not just view and edit. This behavior could also be done with a checkbox in front of the row (just like in Gmail) and have Actions up (delete, edit, view)
G: "Can data displayed as a link be edited as well?"
The current behavior can't make a field be a link and also edited:
"first_name" : { "type" : "text" , "size" : 10, "link" : "view"},
"telephone" : { "type" : "text" , "size" : 10, "link" : "none"}
The "link" can be "view", "field", "auto", "editor".
To let a field be edited through a popup and also access the link we should:
- replace the clicking space from all the field space
- edit action when the user presses only the "edit" icon (which can be difficult because of the dimension 16x16)
- view action when the user presses the linked object, eq. "Eduard"