UX: Add simple-list setting type (PR #9970)

AFAIK keyCode is getting deprecated, I know we use it the app, but well if we are writing new code, maybe we should avoid it.

https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode

This is something slightly concerning that you are mixing KVO stuff (removeObject) and non KVO stuff (replace) it all works because in the end you do a set I guess.

Maybe you should consider calling arrayContentDidChange when doing replace, this way it will be consistent: https://api.emberjs.com/ember/3.18/classes/MutableArray/methods/removeObject?anchor=removeObject

Thanks @jjaffeux, the last commit should address most of the outstanding items. I also removed support for inputType == array, that pattern is only used in user fields and I think it should be handled outside of the component (in a future PR).

Minor comment, how does the interface scale as the list grows? Do we collapse the list at some point?

I don’t think we currently collapse the list for any of the list type settings.

My feeling is that any gigantic list on this is probably a misusage and should be handled differently. Maybe we should enforce some max items limit ?

I would not add a max limit here, unless we start seeing complaints. For the vast majority of site settings, the items in the list will remain to a reasonable minimum.

I do think the user fields dropdown lists should be collapsible beyond 20-30 items.