protected function callExtendedField($abstract, $arguments = [])
    {
        if ($abstract instanceof \Closure) {
            return $this->as($abstract);
        }

        if (is_string($abstract) && class_exists($abstract)) {
            /** @var AbstractField $extend */
            $extend = new $abstract();
        }

        if ($abstract instanceof AbstractField) {
            /** @var AbstractField $extend */
            $extend = $abstract;
        }

        if (!isset($extend)) {
            admin_warning("[$abstract] is not a valid Show field.");

            return $this;
        }

        if (!$extend->escape) {
            $this->unescape();
        }

        $field = $this;

        return $this->as(function ($value) use ($extend, $field, $arguments) {
            if (!$extend->border) {
                $field->border = false;
            }

            $extend->setValue($value)->setModel($this);

            return $extend->render(...$arguments);
        });
    }
protected function callExtendedField($abstract, $arguments = [])
    {
        if ($abstract instanceof \Closure) {
            return $this->as($abstract);
        }

        if (is_string($abstract) && class_exists($abstract)) {
            /** @var AbstractField $extend */
            $extend = new $abstract();
        }

        if ($abstract instanceof AbstractField) {
            /** @var AbstractField $extend */
            $extend = $abstract;
        }

        if (!isset($extend)) {
            admin_warning("[$abstract] is not a valid Show field.");

            return $this;
        }

        if (!$extend->escape) {
            $this->unescape();
        }

        $field = $this;

        return $this->as(function ($value) use ($extend, $field, $arguments) {
            if (!$extend->border) {
                $field->border = false;
            }

            $extend->setValue($value)->setModel($this);

            return $extend->render(...$arguments);
        });
    }
protected function callExtendedField ( $ abstract , $ arguments = [ ] ) { if ( $ abstract instanceof \ Closure ) { return $ this -> as ( $ abstract ) ; } if ( is_string ( $ abstract ) && class_exists ( $ abstract ) ) { /** @var AbstractField $extend */ $ extend = new $ abstract ( ) ; } if ( $ abstract instanceof AbstractField ) { /** @var AbstractField $extend */ $ extend = $ abstract ; } if ( ! isset ( $ extend ) ) { admin_warning ( "[$abstract] is not a valid Show field." ) ; return $ this ; } if ( ! $ extend -> escape ) { $ this -> unescape ( ) ; } $ field = $ this ; return $ this -> as ( function ( $ value ) use ( $ extend , $ field , $ arguments ) { if ( ! $ extend -> border ) { $ field -> border = false ; } $ extend -> setValue ( $ value ) -> setModel ( $ this ) ; return $ extend -> render ( ... $ arguments ) ; } ) ; }
Call extended field.

@param string|AbstractField|\Closure $abstract
@param array                         $arguments

@return Field
Call extended field .