We now have quite a few CRUD-authority-records pages in various modules' settings – loan-types and material-types in ui-items, patron-groups in ui-users – and more to come (e.g. address-types in ). That's resulting in code duplication.
We should abstract out the generic parts of these facilities, provide a generic authority-record-CRUDding component, and rework the various CRUD areas (including the new one) to use it.
All done, so far as the three existing authority-list settings pages are concerned (two in ui-items, one in ui-users). Next will be CRUD Address Types () and CRUD Shelving Locations v1 (), build on the same substrate.
Matt Connolly June 29, 2017 at 7:42 PM
I like it!
Mike Taylor June 29, 2017 at 5:13 PM
In ui-items I have now created a generic <AuthorityList> component, and reimplemented <LoanTypesSettings> and <MaterialTypesSettings> as one-liners that invoke it. (Admittedly the value of "one" here is 19, which is a shame.)
Tomorrow, I will move the general component into stripes-components and reimplement < PatronGroupsSettings> in ui-users to also use it.
Mike Taylor June 28, 2017 at 5:29 PM
I already did that
Matt Connolly June 28, 2017 at 4:59 PM
I linked this issue to , where I'd intended to circle back around at some point and modify PatronGroupsSettings to use EditableList as well.
We now have quite a few CRUD-authority-records pages in various modules' settings – loan-types and material-types in ui-items, patron-groups in ui-users – and more to come (e.g. address-types in ). That's resulting in code duplication.
We should abstract out the generic parts of these facilities, provide a generic authority-record-CRUDding component, and rework the various CRUD areas (including the new one) to use it.