When you save the data from your edit-page the data gets send to the server by a ajax-request which is OK. however it can use some further testing.
- I think things can go wrong you leave drop-down (non-required) foreign-keys empty.
- When saving without filling all required fields (of all tab-pages), it would be nice if you would jump to the first tab-page which has a empty-required field.
- when you successfully save, you get back the primary-key of the saved item. This is used to set the primary key for new-items, which works out OK. However when you click in your grid from the list-view on Add-New it will try to open the same tab-panel again, even though it now has a new id. Very strange...
- Besides having an Id of the primary key, the edit-panel should also have a tag for its module-name, since you probably want your tabpanel to be able to open multiple items from different modules. (else you are not able to open both city-id-1 and country-id-1)
Maybe more?