[TYPO3-dev] Feedback Request: Inline-Relational-Record-Editing
David Bruehlmeier
typo3 at bruehlmeier.com
Thu Nov 16 19:06:00 CET 2006
Hi Olly,
>> - The 'Display Change History / Undo' icon doesn't work
>
> This function was completely remove from the editing view. If we would
> keep on using this, a new window with the history would pop-up. You
> could make your changes, but then, the TCEforms editing view has to be
> reloaded individually, not completely.
> I think in that case it's better to use this functionality on the list-view.
>
Totally agree. No need to have it here.
>> - The 'Hide Record' icon doesn't work
>
> Clicking the icon only toggles the "hidden" field of the child record.
> On clicking the save button this is transfered via TCEmain to the storage.
>
OK, understood.
>> - Deleting the record works, but I noticed that the record only gets
>> deleted once the 'master' record is saved. This is IMO againgst user
>> 'intuition'. The systems asks the user if he wants to delete the record,
>> he answers yes; the expectation is that after answering yes, the record
>> is deleted.
>
> Yes, that's correct. Every action in IRRE is stored on clicking the save
> button. Deleting on never saved child records is a "removing from the
> DOM structure", deleting on saved child records is a "mark to be deleted
> on hit the save button and hide in current view".
>
> If it would be deleted directly, all other fields and records should be
> stored immediately to the database. So this would also affect the
> fields, that are not handled by Inline-Relational-Record-Editing.
> It would be possible, but needs a generalized concept for autosaving
> data in TYPO3 - what if your browser crashes, where should the system
> set it's reentry point for editing?
>
> This could be a feature for the future of IRRE/TYPO3.
OK, I know understand the logic behind this. Autosaving would definitely
have to be a general TYPO3 topic, and I could imagine that there are
also strong cons against it.
>> - The 'child'-record in my example has a type-field which refreshes the
>> screen. So when I create a new 'child'-record and change the type, the
>> screen reloads and the new record is saved (TYPO3 standard behaviour).
>> After this reload however, it would be nice if the new record was
>> expanded again so I can continue to edit the new record.
>
> Hum, good point. I'm not happy with reloading the page. Perhaps I can
> find a solution that catches the "requestUpdate" fields and handle it
> via AJAX. But this is also a general TYPO3 issue, and does not only
> depend on IRRE. Well, give it a try... ;)
Yes, you're right; the reloading is not nice but it's again a general
TYPO3 behaviour. Only changing it for IRRE does not make much sense. But
it would definitely be a *great* feature for the "regular" TCEforms! :-)
>> - It would be nice if the appearance of the header of a child record
>> could be configured (styling, which buttons are available). Maybe even
>> place a hook after everything is rendered so everything can be
>> individually influenced?
>
> What do you mean by "styling", setting the HTML attribute "style" on
> your own? Please give me an example, what button you'd like to hide.
Styling: I guess what I'm talking about lies in the function
getSingleField_typeInline_renderForeignRecordHeader() in
t3lib_tceforms_inline.php. Towards the end of the function, you are
building the table for the header, which I would like to be able to
style (to set the class attribute). Actually, I just saw that this is
marked with a FIXME... :-) Perhaps for the final version I can do this
through regular skinning?
Buttons: If I'm not mistaken, the 'buttons' are rendered in
getSingleField_typeInline_renderForeignRecordHeaderControl(). It would
be nice if every single one of these 'buttons' could be 'activated'
explicitly.
E.g. The only buttons I want to be rendered are the 'info' and the
'hide' buttons:
...
'appearance' => Array (
'collapseAll' => 1,
'showHeaderButtons' => Array (
'info' => 1,
'hide' => 1,
),
),
...
If I don't want any buttons, the config might look like this:
...
'appearance' => Array (
'collapseAll' => 1,
'showHeaderButtons' => Array (
),
),
...
If the 'showHeaderButtons' is missing, then all the buttons are
displayed just like in the list view (perhaps with the exception of the
history, as mentioned above).
>> Getting the label of the record
>> -------------------------------
>
> The suggested user function would be great. I think currently your
> creating the "label" fields on tx_partner using a TCEmain hook to get
> the label field update on saving a record. Of course IRRE can't access
> this, because IRRE mostly comes to action, when the records are not
> completely saved. But it would work with a userfunction, that is called
> via AJAX.
Actually, the solution to build and save the label as an actual field in
the database was only a workaround since I didn't see any other way to
form a 'complex' label, e.g. by using the proposed hook. If there was
such a functionality, I would definitely refrain from saving the label,
since it's really just redundant information.
As for the AJAX-call: IMO this is not even necessary. When I create a
new child-record, the label is simply blank, which is perfectly ok.
After saving the whole "page", the screen is reloaded anyway and the
label could be built w/o using AJAX by the proposed hook.
> Thanks for your help!
Thank for your coding! :-)
Greetings,
Dave.
More information about the TYPO3-dev
mailing list