Move cookie getter and setter to utils
The previous behavior was to render the non-initial field in a more condensed representation. This tends to denote the non-initial fields are less important the first one, which should not be the case. The fix introduces a `ConceptForm` level option `condense` that when set to true will use the legacy behavior of condensing the non-initial fields. By default this option is false. To use the legacy behavior, simply set the `concepts.defaults.form.condense` to true to apply to all concepts. Fix #360
Remove empty value/placeholder from single select list
Remove code that handled exports for cookie-less Serrano versions
When `control.ready()` is called, two events are now called `beforeready` which is called prior to the deferred object is resolved and `ready` which is called after the deferred object is resolved. The initial state of the control and binding the context occur during the `beforeready` event to ensure other views can bind to the ready event (or deferred object) once everything is setup. Fix #434
The real issue was handling aborted requests. A status of '0' denotes the request was initialized but not yet sent. Aborted requests are intentional and should not cause error messages to appear.
Buttons in the 20px bottom margin were inaccessible.
This falls back to setting the value if Serrano < 2.3.2 since it would cause a 422 error. It prints a warning to the console since this will cause a buggy experience for non-primitive data fields.
Increase max Serrano version to 2.3.2
In most cases, the label and value are the same, however for the cases where the value is a surrogate identifier, the label is the preferred string to be rendered when representing a list of values. Fix #428
Previously the control took a ContextNodeModel instance and could freely manipulate it. However this led to inconsistent data if the control failed to set/get certain properties. Furthermore, exposing the context object to the control directly created a hard dependency between the context and control APIs. This refactor removes exposure of the context to the control view. It is no longer passed as an option to the control during initialization. The interaction between the control and the context solely works with bi-directional 'change' events. To facilitate setting the initial state of the control, controls now support the `wait`, `ready`, and `when` methods. For asynchronous operations that *must* complete prior to the initial state being set, the control can call `wait()` on itself followed by `ready()` when it is ready to receive the initial state of the context. Likewise, dependents of controls that require it's initial state to be set can call `when` on the control which returns a promise object that will be resolved or rejected at a later time. Third-party controls should be update to remove the call to `bindContext` and make use of the `wait` and `ready` methods when working with async operations. Fix #415
This was the previous behavior, but had been changed in 537d61e by accident.