Painless fieldtype change of a field. #657
Closed
opened 2021-01-23 17:19:15 +00:00 by mfleeson
·
3 comments
No Branch/Tag Specified
6.x
5.x
4.x
3.x
v6.2.0
v5.2.0
v4.2.0
v6.1.6
v5.1.6
v4.1.5
v6.1.5
v5.1.5
v4.1.4
v6.1.4
v5.1.4
v4.1.3
v6.1.3
v5.1.3
v6.1.2
v5.1.2
v4.1.2
v5.1.1
v4.1.1
v4.1.0
v3.2.5
v5.1.0
v5.0.3
v4.0.3
v3.2.4
v5.0.2
v4.0.2
v3.2.3
v5.0.1
v4.0.1
v3.2.2
v5.0.0
v4.0.0
v3.2.1
v3.2.0
v3.1.28
v3.1.27
v3.1.26
v3.1.24
v3.1.19
v3.1.17
v3.1.15
v3.1.12
v3.1.11
v3.1.10
v3.1.9
v3.1.8
v3.1.7
v3.1.6
v3.1.5
v3.1.4
v3.1.3
v3.1.2
v2.13.1
v2.13.0
v2.12.16
v2.12.15
v2.12.14
v2.12.10
v2.12.9
v2.12.8
v2.12.7
v2.12.6
v2.12.4
v2.12.3
v2.12.2
v2.11.7
v2.11.4
v2.11.3
v2.11.2
v2.11.0
v2.10.13
v2.10.11
v2.10.9
v2.10.5
v2.10.1
v2.10.0
v2.9.21
v2.9.18
v2.9.14
v2.9.11
v2.9.10
v2.9.8
v2.9.7
v2.9.1
v2.9.0
v2.8.5
v2.8.4
v2.8.2
v2.8.0
v2.7.10
v2.7.7
v2.7.6
v2.7.5
v2.7.4
v2.7.1
v2.7.0
v2.6.17
v2.6.16
v2.6.15
v2.6.14
v2.6.13
v2.6.12
v2.6.11
v2.6.10
v2.6.9
v2.6.8
v2.6.7
v2.6.6
v2.6.5
v2.6.3
v2.6.2
v2.6.1
v2.6.0
v2.5.8
v2.5.6
v2.5.5
v2.5.4
v2.5.1
v2.5.0
v2.4.10
v2.4.9
v2.4.8
v2.4.7
v2.4.6
v2.4.5
v2.4.4
v2.4.3
v2.4.2
v2.4.1
v2.4.0
v2.3.10
v2.3.9
v2.3.8
v2.3.7
v2.3.6
v2.3.5
v2.3.4
v2.3.2
v2.3.1
v2.3.0
v2.2.10
v2.2.9
v2.2.6
v2.2.5
v2.2.4
v2.2.3
v2.2.2
v2.2.0
v2.1.21
v2.1.20
v2.1.19
v2.1.18
v2.1.17
v2.1.16
v2.1.14
v2.1.13
v2.1.12
v2.1.11
v2.1.10
v2.1.9
v2.1.8
v2.1.7
v2.1.6
v2.1.5
v2.1.4
v2.1.3
v2.1.2
v2.1.1
v2.1.0
v2.0.9
v2.0.8
No labels
enhancement
Milestone
No items
No Milestone
Major improvement to core (speedup production)
Projects
Clear projects
No projects
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: joomla/Component-Builder#657
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Steps to reproduce the issue
Create a field as text, set a field name, a label and a description.
Decide to change from text to List and all existing fields get reset, field name becomes list, name becomes mylist, description get's emptied.
Expected result
Additional fields to be added such as class=list_class, option=0|Option 1 etc
Actual result
All fields get reset
System information (as much as possible)
Additional comments
Looking at the source, the only reference to mylist which is what the field name gets changed to is in an sql query. It looks like changing the field type just overwrites all of the fields with default one's from the database. Would it be possible to only update fields that haven't been changed?
Sorry that is currently the normal behavior. The way this area works it basically rebuilds the whole sub-from each time you change the field_type.
I can understand that is a pain if you don't know that... and I can understand that it would be great to at least try to carry the current data across. So we could add this to a feature request and start looking at the path.
This is a fully ajax driven area, and yes what we do is absolutely crazy (once you see how it works). But if you know the history of JCB then you will understand why the way I build this area was needed... I tried to keep backward compatibility while moving forward to better GUI.
We are closing this, until we get to code it then we will open this back up.
I added the code to fix this... please test if you can...