Backend\Classes\VueComponentBase

Extends:

Vue component base class.

Each component must include two files: vuecomponents/mycomponents

  • partials/mycomponents.htm
  • assets/js/mycomponents.js

The optional CSS file is loaded automatically if presented: vuecomponents/mycomponents

  • assets/css/mycomponents.css

Components can have subcomponents. Each subcomponent must be presented with a JavaScript file and partial.

Public properties

public array $vars

vars is a list of variables to pass to the page

public string $layout

layout to use for the view

public bool $suppressLayout

suppressLayout prevents the use of a layout

public string $assetPath

Specifies a path to the asset directory.

Show inherited public properties

Inherited public properties

Protected properties

protected Backend\Classes\Controller $controller

Backend controller object.

protected array $require

A list of Vue component class names required for this component.

protected string|array $viewPath

viewPath specifies a path to the views directory

protected string $layoutPath

layoutPath specifies a path to the layout directory

protected array $assets

Collection of assets to display in the layout.

protected array $assetBundles

Collection of combined and prioritized assets.

Show inherited protected properties

Inherited protected properties

Public methods

public void __construct(Backend\Classes\Controller $controller)

Constructor

Parameters

public void addCss($name, $attributes=array())

addCss includes a StyleSheet asset to the asset list

Parameters
  • $name
  • $attributes

public void addCssBundle($name, $attributes=array())

addCssBundle includes a CSS asset to the bundled combiner stream

Parameters
  • $name
  • $attributes

public void addJs($name, $attributes=array())

addJs includes a JavaScript asset to the asset list

Parameters
  • $name
  • $attributes

public void addJsBundle($name, $attributes=array())

addJsBundle includes a JS asset to the bundled combiner stream

Parameters
  • $name
  • $attributes

public void addRss($name, $attributes=array())

addRss adds an RSS link asset to the asset list. Call $this->makeAssets() in a view to output corresponding markup.

Parameters
  • $name
  • $attributes

public void addViewPath(string|array $path)

addViewPath prepends a path on the available view path locations

Parameters
  • string|array $path

public void combineAssets($assets, $localPath='')

combineAssets runs asset paths through the Asset Combiner

Parameters
  • $assets
  • $localPath

public void flushAssets()

Disables the use, and subequent broadcast, of assets. This is useful to call during an AJAX request to speed things up. This method works by specifically targeting the hasAssetsDefined method.

public string getAssetPath(string $fileName, string $assetPath=NULL)

Locates a file based on it's definition. If the file starts with a forward slash, it will be returned in context of the application public path, otherwise it will be returned in context of the asset path.

Parameters
  • string $fileName - File to load.
  • string $assetPath - Explicitly define an asset path.

public array getAssetPaths()

Returns an array of all registered asset paths.

public void getDependencies()

public void getSubcomponents()

public string getViewPath(string $fileName, mixed $viewPath=NULL)

getViewPath locates a file based on its definition. The file name can be prefixed with a symbol (~|$) to return in context of the application or plugin base path, otherwise it will be returned in context of this object view path.

Parameters
  • string $fileName - File to load.
  • mixed $viewPath - Explicitly define a view path.

public array getViewPaths()

getViewPaths returns the active view path locations

public string guessViewPath(string $suffix='', bool $isPublic=false)

guessViewPath guesses the package path for the called class

Parameters
  • string $suffix - An extra path to attach to the end
  • bool $isPublic - Returns public path instead of an absolute one

public string guessViewPathFrom(string $class, string $suffix='', bool $isPublic=false)

guessViewPathFrom guesses the package path from a specified class

Parameters
  • string $class - Class to guess path from.
  • string $suffix - An extra path to attach to the end
  • bool $isPublic - Returns public path instead of an absolute one

public void hasAssetsDefined()

hasAssetsDefined returns true if assets any have been added

public string makeAssets(string $type=NULL)

Outputs <link> and <script> tags to load assets previously added with addJs and addCss method calls

Parameters
  • string $type - Return an asset collection of a given type (css, rss, js) or null for all.

public string makeFileContents(string $filePath, array $extraParams=array())

makeFileContents includes a file path using output buffering

Parameters
  • string $filePath - Absolute path to the view file.
  • array $extraParams - Parameters that should be available to the view.

public mixed makeLayout(string $name=NULL, array $params=array(), bool $throwException=true)

makeLayout renders a layout

Parameters
  • string $name - Specifies the layout name. If this parameter is omitted, the $layout property will be used.
  • array $params - Parameter variables to pass to the view.
  • bool $throwException - Throw an exception if the layout is not found

public string makeLayoutPartial(string $partial, array $params=array())

makeLayoutPartial renders a layout partial

Parameters
  • string $partial - The view to load.
  • array $params - Parameter variables to pass to the view.

public mixed makePartial(string $partial, array $params=array(), bool $throwException=true)

makePartial renders a partial file contents located in the views folder

Parameters
  • string $partial - The view to load.
  • array $params - Parameter variables to pass to the view.
  • bool $throwException - Throw an exception if the partial is not found.

public string makeView(string $view)

makeView loads a view with the name specified. Applies layout if its name is provided by the parent object. The view file must be situated in the views directory, and has the extension "htm"

Parameters
  • string $view - Specifies the view name, without extension. Eg: "index".

public string makeViewContent(string $contents, string $layout=NULL)

makeViewContent renders supplied contents inside a layout

Parameters
  • string $contents - The inner contents as a string.
  • string $layout - Specifies the layout name.

public void render()

Renders the default component partial.

public void renderSubcomponent($name)
Parameters
  • $name

Show inherited public methods

Inherited public methods

Protected methods

protected void combineBundledAssets($type)

combineBundledAssets spins over every bundle definition and combines them to an asset

Parameters
  • $type

protected string getAssetEntryBuildPath(array $asset)

Internal helper, attaches a build code to an asset path

Parameters
  • array $asset - Stored asset array

protected string getAssetScheme(string $asset)

Internal helper, get asset scheme

Parameters
  • string $asset - Specifies a path (URL) to the asset.

protected void getComponentBaseName()

protected void getLocalPath($relativePath)

getLocalPath converts a relative path to a local path

Parameters
  • $relativePath

protected void handleViewException($e, $obLevel)

handleViewException handles a view exception

Parameters
  • $e
  • $obLevel

protected void loadAssets()

Adds component specific asset files. Use $this->addJs() and $this->addCss() to register new assets to include on the page. The default component script and CSS file are loaded automatically.

protected void loadDefaultAssets()

protected void loadDependencyAssets()

Adds dependency assets required for the component. This method is called before the component's default resources are loaded. Use $this->addJs() and $this->addCss() to register new assets to include on the page.

protected void prepareVars()

Prepares variables required by the component's partials

protected void registerSubcomponent(string $name)

Adds a subcomponent.

Parameters
  • string $name - The component name. A JavaScript file and partial with the same name must exist.

protected void registerSubcomponents()

protected void removeDuplicates()

Removes duplicate assets from the entire collection.

protected void renderAssetAttributes($type, $asset)

renderAssetAttributes takes an asset definition and returns the necessary HTML output

Parameters
  • $type
  • $asset

Show inherited protected methods

Inherited protected methods

  • protected boolean extendableIsAccessible(mixed $class, string $propertyName) - defined in October\Rain\Extension\Extendable. Checks if a property is accessible, property equivalent of is_callable().
  • protected void extensionExtractMethods(string $extensionName, object $extensionObject) - defined in October\Rain\Extension\Extendable. Extracts the available methods from a behavior and adds it to the.