Default WebSocket used to query given domain classes with Unlimited depth of relationship + unlimited direct relationships. Either as dependent multi-select or autoComplete or maybe combination.
Grails plugin that uses default WebSocket technology to interact with your domainClasses and produce dependent form / options that depend on one another. The format to define select functionality / auto complete are identical. Auto complete requires additional boolean values to be passed to make it auto complete.Select box dependencies data comes from WebSocket Client running within your application (as part of the plugin)AutoComplete input areas use HTML5 dataList, data for dataList provided by backend WebSocket Connection. The information that appears on your front end web page is passed via websockets, with your page being the front-end connection receving JSON results. The DOM object will only contain selected items and their dependent selected lists at any one time.This is a secure way of interacting with any of your given domainClasses that have a hasMany/belongsTo(full / loose) dependencies supported.When selections are made the backend initially keeps a map of user definitions per call/job. When a request comes in, the format is this is my divId and this is my current selected value.The backend then finds the relevant map that has the domain details for this call and passes the value to process.It then returns the full dependent result set as JSON through websockets (this being the backend user connected via the ClientProcess.groovy). To the front end webpage user. The webpage user picks up JSON result set and ammends either the select or dataList options list relevant divId.