Get Definition Array for requested Widget Type

@return array
770776
public function description()
    {
        //====================================================================//
        // Stack Trace
        Splash::log()->trace();

        //====================================================================//
        // Build & Return Widget Description Array
        return array(
            //====================================================================//
            // General Object definition
            "type" => $this->getType(),                   // Widget Type Name
            "name" => $this->getName(),                   // Widget Display Neme
            "description" => $this->getDesc(),                   // Widget Descritioon
            "icon" => $this->getIcon(),                   // Widget Icon
            "disabled" => $this->getIsDisabled(),             // Is This Widget Enabled or Not?
            //====================================================================//
            // Widget Default Options
            "options" => $this->getOptions(),                // Widget Default Options Array
            //====================================================================//
            // Widget Parameters
            "parameters" => $this->getParameters(),             // Widget Default Options Array
        );
    }
20973
protected function getRouteDefinitions()
    {
        $scanner = $this->laravel->make('annotations.model.scanner');

        $scanner->setClassesToScan($this->provider->modelScans());

        return '<?php '.PHP_EOL.PHP_EOL.$scanner->getModelDefinitions().PHP_EOL;
    }
869187
public static function getTypes(): array
    {
        return [
            self::TYPE_DELIVERY => self::TYPE_DELIVERY,
            self::TYPE_SALE => self::TYPE_SALE,
            self::TYPE_REGULATION => self::TYPE_REGULATION,
            self::TYPE_RETURN => self::TYPE_RETURN,
        ];
    }
48542
public function getWidgetContainerConfigs()
    {
        $configs = array();

        $widgetContainerConfigs = $this->getAllWidgetContainerConfigClassNames();
        foreach ($widgetContainerConfigs as $widgetClass) {
            $configs[] = StaticContainer::get($widgetClass);
        }

        return $configs;
    }
129132
public function getFormType()
    {
        return sprintf(
            '%s%s\\Form\Type\\%s\\FiltersType',
            $this->getVariable('namespace_prefix') ? $this->getVariable('namespace_prefix') . '\\' : '',
            $this->getVariable('bundle_name'),
            $this->getBaseGeneratorName()
        );
    }
1148055
public function listDataTypesOptions() {
    $data = $this->loadDataTypeData();

    $return = [];
    foreach ($data as $id => $data_item) {
      $return[$id] = $data_item['label'];
    }

    return $return;
  }
381655
public function getUsedTypeIds()
    {
        $types = array();

        $db   = $this->getDb();
        $rows = $db->fetchAll("SELECT DISTINCT `type` as typeid FROM " . $this->table);

        foreach ($rows as $row) {
            $types[] = $row['typeid'];
        }

        return $types;
    }
1024467
function widgetsLayout(): array
    {
        if(!$this->layoutBuilt) {
            $this->buildWidgetsLayout();
            $this->layoutBuilt = true;
        }

        return [
            "rows" => collect($this->rows)->map(function(DashboardLayoutRow $row) {
                return $row->toArray();
            })->all()
        ];
    }
806914
public function getPluginNames() {
    $definitions = $this->getDefinitions();
    $plugin_names = [];

    foreach ($definitions as $definition) {
      $name = $definition['name']->getUntranslatedString();
      $plugin_names[$definition['id']] = $name;
    }

    return $plugin_names;
  }
925600
protected function getTypes()
    {
        return array(
            self::CLASS_NAME,
            self::CSS_SELECTOR,
            self::ID,
            self::NAME,
            self::LINK_TEXT,
            self::PARTIAL_LINK_TEXT,
            self::TAG_NAME,
            self::XPATH
        );
    }
91125
public function options()
    {
        $params = $this->params;
        return [
            'id'      => isset($params['id']) ? $params['id'] : null,
            'data'    => isset($params['data']) ? $params['data'] : null,
            'widgets' => isset($params['widgets']) ? $params['widgets'] : null,
        ];
    }
112273
public function getTypes()
    {
        return array_reduce(
            $this->_models,
            function ($result, $item) {
                $result[$item['type']] = $item['type'];
                return $result;
            },
            []
        );
    }
1006507
public function getDefinedOptions()
    {
        if (! $this->defined) {
            return null;
        }

        if ($this->defined instanceof ConfigInterface) {
            return $this->defined->getArrayCopy();
        }

        return (array)$this->defined;
    }
388365
public function getWidgetOptions() {
    $options = new \stdClass;
    foreach (array('width','height','disabled','scrollAnimationDuration','enabledHover','collapsible','animationType','enableScrollAnimation','contentTransitionDuration','toggleMode','selectedItem','position','selectionTracker','scrollable','scrollPosition','scrollStep','autoHeight','showCloseButtons','closeButtonSize','initTabContent','keyboardNavigation','reorder','enableDropAnimation','dropAnimationDuration') as $option) {
      if ($this->$option !== "__spec__undefined") {
        $options->$option = $this->$option;
      }
    }
    return $options;
  }
1238497
public function getUniqueId()
    {
        $parameters = $this->getParameters();
        unset($parameters['module']);
        unset($parameters['action']);

        return WidgetsList::getWidgetUniqueId($this->getModule(), $this->getAction(), $parameters);
    }
26581
public function getDataArray()
    {
        $arr = array(
            '@context' => $this->context,
            '@type' => $this->type,
        );

        foreach($this->properties as $name => $property) {
            if ($property instanceof Interfaces\IElement) {
                $arr[$name] = $property->getDataArray();
            } else {
                $arr[$name] = $property;
            }
        }
        return $arr;
    }
809006
public function widgetDataForJs()
    {
        return [
            'colors'  => $this->colors(),
            'options' => [
                'xAxis' => empty($this->categories()) ? null : [
                    [
                        'type' => 'category',
                        'data' => $this->categories()
                    ]
                ],
                'yAxis' => empty($this->categories()) ? null : [
                    [
                        'type'      => 'value',
                        'splitArea' => ['show' => true]
                    ]
                ],
                'series' => $this->series()
            ]
        ];
    }