Kirby\Patterns\Pattern::data PHP Method

data() public method

public data ( )
    public function data()
    {
        $data = $this->data;
        $defaults = $this->defaults();
        if (lab::$mode == 'preview') {
            $callback = a::get($this->config(), 'preview');
            $previewData = (array) call($callback);
            $defaults = array_merge($defaults, $previewData);
        }
        foreach ($defaults as $key => $value) {
            if (!isset($this->data[$key]) and !isset(tpl::$data[$key])) {
                if (is_a($value, 'Closure')) {
                    $data[$key] = call($value, [$this]);
                } else {
                    $data[$key] = $value;
                }
            } else {
                if (isset($this->data[$key])) {
                    $data[$key] = $this->data[$key];
                } else {
                    $data[$key] = tpl::$data[$key];
                }
            }
        }
        return $data;
    }