Ninad Pundalik a écrit : (...)
I'm yet to begin work on Inline editing. I am starting that in a couple of hours.
I remember reading a thread on this mailing list where possible options to enable inline editing were discussed, but I could not find that thread in the archives. I have these two ideas in mind:
- User clicks on the edit button in a row. Inline editing is
activated and input fields are shown in place of the previous data. The edit button might be highlighted or a different icon could be used, to show that editing for that row is in progress.
- The user modifies the data, and clicks on the edit button again. An
Ajax request is fired off.
- If the request completes successfully, the input fields are
hidden/removed and the table shows the new data in that field/row.
Sorry to shoot more questions than answers here, here we go:
* does it mean that on a js-enabled browser, I would not be able to edit in a traditional way?
* sometimes, data in Browse mode is truncated (see $cfg['LimitChars']) but inline editing should permit to edit the complete data
* data can be transformed (see http://www.phpmyadmin.net/documentation/Documentation.html#transformations)
* the display options can alter the data (partial/full text, relation key/relational display field, etc)
* should a new inline edit icon be displayed along with the current one, or should you use the same icon?
* what would happen with the rows checkbox which permit to edit the marked rows?
- User clicks on the edit button for row1. Inline editing is
activated same as above.
- User modifies the data, and clicks on the edit button again. No
Ajax request is fired off, but a 'Save Changes' button is appended after the data table.
- User modifies row2, same as row1 (or for that matter, any number of rows).
- Once he is satisfied with the changes, he clicks on the save changes
button and the ajax request is fired off, saving changes.
Is there another possible idea for inline editing? And, which is the best from them all? I'll start modifying libraries/display_tbl.lib.php to include the input fields and start working on the first idea, till we are sure which idea is better. It can be further developed into the second idea with a few changes.