Conversation
a82c076 to
f4f1ed3
Compare
f4f1ed3 to
4c2a78e
Compare
447a3ef to
89999f3
Compare
|
Hi @oliversamoila, I think you should discuss with @thibsy how to proceed in the future with this PR 🙈 But we need this! |
|
@thibsy Ich würde hier gerne eine bezahlte Priorisierung anbringen 💰 aus dem T&A Budget, wenn es was bringt. |
|
Als Produktmanager von ILIAS unterstütze ich diesen PR ausdrücklich. Bekommen wir damit auch das Problem gelöst, dass man bei der neuen Tabelle nicht mehr die Zahl der Eintrräge sieht? |
|
Soweit ich das verstanden habe, sollte das auch die Zahl der Spalten oder Linien zählen können. Falls ich das falsch verstanden habe, wäre das auch noch sinnvoll @thibsy & @oliversamoila 👯 |
|
Hi @dsstrassner, Das würde in der Tat helfen – vielen Dank für dein Angebot! Bei dieser Gelegenheit möchte ich kurz hervorheben, dass viel Arbeit in die UI-Koordination fliesst die pro bono erfolgt. Dadurch, kombiniert mit den aktuellen Gegebenheiten im Verein, ist unsere Kapazität derzeit eingeschränkt. Es ist deswegen enorm wichtig, dass es Institutionen gibt wie die Universität Hohenheim, die Leibniz Universität Hannover und die Universität Bern, die nicht nur neue Features, sondern den gesamten Prozess mitfinanzieren und unterstützen. Das bedeutet nicht, dass PRs erst berücksichtigt werden, sobald Gelder fliessen. Vielmehr wird dadurch Kapazität geschaffen, die damit allen Beiträgen zugutekommt. Freundliche Grüsse |
thibsy
left a comment
There was a problem hiding this comment.
Hi @nhaagen,
Thanks a lot for your contribution to the UI framework!
To answer @matthiaskunkel's question first: yes and no, it will be technically possible to create a summary-row that gives you the information of how many entries are rendered up to some point. But the current proposal lacks a concept for how we display summaries that are not tied to any of the columns. Currently a summary is directly tied to a column and it will not be visible otherwise. This could lead to some implications if the mechanic is 'misused' for another purpose than summarising a column.
About the concrete changes, please answer the following questions:
- Row commonalities: could you explain why you kept the
C\Table\DataRowandC\Table\SummaryRowstrictly separated? Why not use a common interface for rows here?
Please consider the following suggestions. You do not need to follow them, but please indicate shortly why you prefer to do otherwise:
-
C\Table\DataRetrievalWithHeaderSummary: I believe this interface and its addition to the<thead>element will be used wrong most of the time. As in your example, I will argue that the semantics of WHATWG do not match: "The thead element represents the block of rows that consist of the column labels (headers) and any ancillary non-header cells [...]". I believe your summary is not ancillary because it, per definition, is a summary of the data contained inside the tbody element, thus it should be summarised there instead. Since you already introduced a mechanic for this, I suggest to simply drop this interface again and let consumers yield a summary row before the other ones, if this position really matters. If there is good reason to keep this, the intent and background of it should be well documented on the interfaces.
Please implement the following changes:
-
DataRetrievalWithHeaderSummary::getHeaderSummary(): only if we really need to keep this interface: please provide an instance of theILIAS\Data\Facroryas first argument, so consumers do not need to inject this themselves. -
tpl.datatable.html: only if we really keep this mechanic: please change the<th>to a<td>for the ancillary information. -
DataRowBuilder::buildSummaryRow(): you create an inline instance of theILIAS\Data\Facrorythere. Please use proper DI and inject it though all necessary layers starting from the bootstrap. - Duplicate code: please get rid of the duplicated code inside
I\Table\DataRowandI\Table\SummaryRow, either by creating a base class or using traits. -
I\Table\Renderer::fillCells(): please refactor this method and split the rendering aspects into separate functions for row commonalities and data- and summary-row specifics. - Method signatures: please update the method signatures of your data retrievals (interface and example), there has been a change from
?arraytomixed. -
C\Table\SummaryRow::getColumns(): you need to either import the appropriateColumnclass or use an FQDN there (PHPDoc). - Unit tests: please provide at least one deliberate rendering test of the new summary row. Even better in different variations (table with multi-actions / single-actions / both).
- Rebase: please rebase this onto latest trunk to resolve conflicts.
Kind regards,
@thibsy (as UI coordinator)
|
@nhaagen let us know if we (as in the ILIAS community) should take over from here. |
|
@dsstrassner yes, of course! |
|
Hi @thisby and all,
The common interface for rows is on the agenda for quite a long time now, and from my point of view
The HeaderSummmary is a special case to provide information about the whole data, not just the visible rows, and therefore should have a special place to optimize queries.
Thank you for your remarks, I will have a deeper look soon and provide an iteration. |
|
Hi @nhaagen, Thx for the feedback and for continuing your work.
I am looking forward to the next iteration. Kind regards, |
89999f3 to
25a89c9
Compare
|
aa72546 to
dc0a24d
Compare
dc0a24d to
89d2a93
Compare
|
Hi @thibsy , I think this is good for the next round. |
Sparked by https://mantis.ilias.de/view.php?id=45093, this adds SummaryRows to the DataTable.