|
@@ -493,41 +493,39 @@ class Field implements Renderable
|
|
|
*/
|
|
|
public function options($options = [])
|
|
|
{
|
|
|
- $this->options = $this->prepareOptions($options);
|
|
|
+ if ($options instanceof \Closure) {
|
|
|
+ $options = $options->call($this->data(), $this->value());
|
|
|
+ }
|
|
|
+
|
|
|
+ $this->options = array_merge($this->options, Helper::array($options));
|
|
|
|
|
|
return $this;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * @param array|Arrayable $options
|
|
|
+ * @param array $options
|
|
|
*
|
|
|
* @return $this
|
|
|
*/
|
|
|
- public function mergeOptions($options)
|
|
|
+ public function replaceOptions($options)
|
|
|
{
|
|
|
- $this->options = array_merge($this->options, $this->prepareOptions($options));
|
|
|
+ if ($options instanceof \Closure) {
|
|
|
+ $options = $options->call($this->data(), $this->value());
|
|
|
+ }
|
|
|
+
|
|
|
+ $this->options = $options;
|
|
|
|
|
|
return $this;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * Prepare options.
|
|
|
- *
|
|
|
- * @param $options
|
|
|
+ * @param array|Arrayable $options
|
|
|
*
|
|
|
- * @return array|mixed
|
|
|
+ * @return $this
|
|
|
*/
|
|
|
- protected function prepareOptions($options)
|
|
|
+ public function mergeOptions($options)
|
|
|
{
|
|
|
- if ($options instanceof \Closure) {
|
|
|
- $options = $options->call($this->data(), $this->value());
|
|
|
- }
|
|
|
-
|
|
|
- if ($options instanceof Arrayable) {
|
|
|
- $options = $options->toArray();
|
|
|
- }
|
|
|
-
|
|
|
- return $options;
|
|
|
+ return $this->options($options);
|
|
|
}
|
|
|
|
|
|
/**
|