\Alddesign\Crudkit\ClassesPageDescriptor

Definition of a webpage (UI).

Examples for usage are provided in the documentation for CrudkitServiceProvider. Important: all methods marked with "@stackable" (like the constructor and all set methods) can be used like this

$page = new PageDesriptor(...)
        ->setTitleText(...)
        ->addAction(...)
        ->...

...easy

Summary

Methods
Properties
Constants
__construct()
getLookupsCalculated()
getMultipleLookupsCalculated()
getJs()
getCss()
setAllowCreate()
setAllowUpdate()
setAllowDelete()
setAllowExport()
setAllowChart()
setAllowCard()
setConfirmDelete()
setCategory()
setIcon()
setMenu()
setItemsPerPage()
setSummaryColumns()
setCardLinkColumns()
setTitleText()
addLookupColumn()
addAction()
addActionObject()
addSection()
addJs()
addCss()
onOpenList()
onOpenCard()
onOpenCreate()
onOpenUpdate()
onOpenChart()
onBeforeCreate()
onAfterCreate()
onBeforeUpdate()
onAfterUpdate()
onBeforeDelete()
onAfterDelete()
No public properties found
No constants found
No protected methods found
No protected properties found
N/A
No private methods found
No private properties found
N/A

Methods

__construct()

__construct(string  $name, string  $id, \Alddesign\Crudkit\Classes\TableDescriptor  $table, boolean  $menu = true, string  $category = '') : \Alddesign\Crudkit\Classes\PageDescriptor

Constructor

Parameters

string $name

Display name

string $id

Unique name of the page. Allowed characters: a-z, A-Z, 0-9, "_", "-"

\Alddesign\Crudkit\Classes\TableDescriptor $table

Table which is the basis of this page

boolean $menu

Show in menu

string $category

(optional) Name of the category in the menu where this page will be shown

Returns

\Alddesign\Crudkit\Classes\PageDescriptor

getLookupsCalculated()

getLookupsCalculated(array  $record) : array<mixed,\Alddesign\Crudkit\Classes\Lookup>

Gets the Lookup columns and with calculated values.

Parameters

array $record

Returns

array<mixed,\Alddesign\Crudkit\Classes\Lookup>

getMultipleLookupsCalculated()

getMultipleLookupsCalculated(array  $records) : array

Gets the Lookup columns and with calculated values for multiple records

Parameters

array $records

Returns

array

getJs()

getJs() : array

Returns

array

getCss()

getCss() : array

Returns

array

setAllowCreate()

setAllowCreate(\Alddesign\Crudkit\Classes\bool  $value = true) 

Allow/deny to create new records (default = true)

Parameters

\Alddesign\Crudkit\Classes\bool $value

setAllowUpdate()

setAllowUpdate(\Alddesign\Crudkit\Classes\bool  $value = true) 

Allow/deny to update records (default = true)

Parameters

\Alddesign\Crudkit\Classes\bool $value

setAllowDelete()

setAllowDelete(\Alddesign\Crudkit\Classes\bool  $value = true) 

Allow/deny to delete records (default = true)

Parameters

\Alddesign\Crudkit\Classes\bool $value

setAllowExport()

setAllowExport(\Alddesign\Crudkit\Classes\bool  $value = true) 

Allow/deny to export records to csv/xml (default = true)

Parameters

\Alddesign\Crudkit\Classes\bool $value

setAllowChart()

setAllowChart(\Alddesign\Crudkit\Classes\bool  $value = true) 

Allow/deny to show records as chart (default = true)

Parameters

\Alddesign\Crudkit\Classes\bool $value

setAllowCard()

setAllowCard(\Alddesign\Crudkit\Classes\bool  $value = true) 

Allow/deny to show records as card page (default = true)

Parameters

\Alddesign\Crudkit\Classes\bool $value

setConfirmDelete()

setConfirmDelete(\Alddesign\Crudkit\Classes\bool  $value = true) 

Show confirmation dialog before deleting a record (default = true)

Parameters

\Alddesign\Crudkit\Classes\bool $value

setCategory()

setCategory(\Alddesign\Crudkit\Classes\string  $value = '') 

Name of the category in the menu where this page will be shown

Parameters

\Alddesign\Crudkit\Classes\string $value

setIcon()

setIcon(\Alddesign\Crudkit\Classes\string  $value = '') 

Fowt Awesome icon name of this page (visible in menu)

Parameters

\Alddesign\Crudkit\Classes\string $value

setMenu()

setMenu(\Alddesign\Crudkit\Classes\bool  $value = true) 

Show in Menu or not

Parameters

\Alddesign\Crudkit\Classes\bool $value

setItemsPerPage()

setItemsPerPage(\Alddesign\Crudkit\Classes\int  $value = -1) 

Set number of records per page (overrides the crudkit config value). -1 = use curdkit config

Parameters

\Alddesign\Crudkit\Classes\int $value

setSummaryColumns()

setSummaryColumns(array<mixed,string>  $summaryColumnNames) : \Alddesign\Crudkit\Classes\PageDescriptor

Defines which columns are shown in which order on list pages (defaul = all, order = as defined in tables).

Parameters

array<mixed,string> $summaryColumnNames

Returns

\Alddesign\Crudkit\Classes\PageDescriptor

setCardLinkColumns()

setCardLinkColumns(array<mixed,string>  $cardLinkColumnNames) : \Alddesign\Crudkit\Classes\PageDescriptor

Defines which columns are shown as link form list to card page (defaul = first column of Tables PK)

$pageDescriptor->setCardLinkColumns(["id", "name"]);

Parameters

array<mixed,string> $cardLinkColumnNames

Returns

\Alddesign\Crudkit\Classes\PageDescriptor

setTitleText()

setTitleText(string  $text, array<mixed,string>  $pageTypes = array()) : \Alddesign\Crudkit\Classes\PageDescriptor

Defines the title text for specific page types

$pageDescriptor
->setTitleText('Book'); //For all pages
->setTitleText('New Book', ['create']); //Specific page

Parameters

string $text

The text to display

array<mixed,string> $pageTypes

(optional) specifies on which page types ('list', 'card', 'create', 'update', 'chart') this text will be shown.

Returns

\Alddesign\Crudkit\Classes\PageDescriptor

addAction()

addAction(string  $id, string  $label, string  $columnLabel, callable  $callback, boolean  $onList = true, boolean  $onCard = true, string  $faIcon = '', string  $btnClass = '', string  $position = '', string  $fieldname = '', boolean  $enabled = true, boolean  $visible = true,   $data = array()) : \Alddesign\Crudkit\Classes\PageDescriptor

Add a button with a custom action to this page.

Be creative, but take care. Your can write you own php code and use all of crudkits api to manipulate data, etc... (see apidoc-dev):

$callback = function($record, $pageDescriptor, $action) { mail('ceo@mydomain.com', 'Book info', 'Check out our new book: '. $record["name"]); };
$pageDescriptor->addAction('mail', 'Send book-info mail', 'Mail', $callback, true, true, envelope, 'info');
//Next thing: drop table studends;

Parameters

string $id

a identifier for this action (unique per page)

string $label

Label of the button

string $columnLabel

Label of the column in list view

callable $callback

Callback function to execute when pressing the button. This callback has $record, $pageDescriptor, $action(this is what you definde here) as parameters.

boolean $onList

(optional) Show on list page

boolean $onCard

(optional) Show on card page

string $faIcon

(optional) Icon for the Button. (Font Awesome icon name)

string $btnClass

(optional) ''|'default'|'primary'|'info'|'success'|'danger'|'warning'. (Admin LTE Button class)

string $position

(optional) 'top'|'bottom'|'both'|'before-field'|'after-field'|'to-field'. Position on card pages.

string $fieldname

(optional) The reference fieldname for $postion ('before-field'|'after-field'|'to-field')

boolean $enabled

(optional) If the button is enabled

boolean $visible

(optional) If the button is visible

$data

Returns

\Alddesign\Crudkit\Classes\PageDescriptor

addSection()

addSection(string  $title, string  $fromColumnName, string  $toColumnName = '', boolean  $collapsedByDefault = true) : \Alddesign\Crudkit\Classes\PageDescriptor

Adds a section (foldable area with a title) to the card page.

Make sure multiple sections do no overlap. Order of from/toColumnName are interchangeable.

Parameters

string $title

The title to display (unique)

string $fromColumnName
string $toColumnName
boolean $collapsedByDefault

Returns

\Alddesign\Crudkit\Classes\PageDescriptor

addJs()

addJs(string  $url, array  $pageTypes = array(), boolean  $isAssetUrl = true) : \Alddesign\Crudkit\Classes\PageDescriptor

Adds a custom JS file to pages.

Hint: when programming in JS you can get data from the global var "curdkit"

Parameters

string $url

Absolute or relative URL to the JS file

array $pageTypes

Array of page type names fore the JS file to add

boolean $isAssetUrl

Indicates if its a URL to the Laravel asset directory (/public)

Returns

\Alddesign\Crudkit\Classes\PageDescriptor

addCss()

addCss(string  $url, array  $pageTypes = array(), boolean  $isAssetUrl = true) : \Alddesign\Crudkit\Classes\PageDescriptor

Adds a custom CSS file to pages.

Parameters

string $url

Absolute or relative URL to the CSS file

array $pageTypes

Array of page type names fore the CSS file to add

boolean $isAssetUrl

Indicates if its a URL to the Laravel asset directory (/public)

Returns

\Alddesign\Crudkit\Classes\PageDescriptor

onOpenList()

onOpenList(callable  $callback) 

Register event handler. Occours before a list page is beeing opened.

//Reference parametes (&) can be modified inside the function. Very powerfull.
//$viewData is an array with all the data sent to the view. Too much to explain. $viewData['records'] for example is interesting
$callback = function(&$pageDescriptor, &$tableDescriptor, &$viewData){...};
$pageDescriptor->onOpenList($callback);

Parameters

callable $callback

onOpenCard()

onOpenCard(callable  $callback) 

Register event handler. Occours before a card page is beeing openend.

//Reference parametes (&) can be modified inside the function. Very powerfull.
//$viewData is an array with all the data sent to the view. Too much to explain. $viewData['record'] for example is interesting
$callback = function(&$pageDescriptor, &$tableDescriptor, &$viewData){...};
$pageDescriptor->onOpenCard($callback);

Parameters

callable $callback

onOpenCreate()

onOpenCreate(callable  $callback) 

Register event handler. Occours before a create page is beeing opened.

//Reference parametes (&) can be modified inside the function. Very powerfull.
//$viewData is an array with all the data sent to the view. Too much to explain. $viewData['record'] for example is interesting
$callback = function(&$pageDescriptor, &$tableDescriptor, &$viewData){...};
$pageDescriptor->onOpenCreate($callback);

Parameters

callable $callback

onOpenUpdate()

onOpenUpdate(callable  $callback) 

Register event handler. Occours before a update page is beeing opened.

//Reference parametes (&) can be modified inside the function. Very powerfull.
//$viewData is an array with all the data sent to the view. Too much to explain. $viewData['record'] for example is interesting
$callback = function(&$pageDescriptor, &$tableDescriptor, &$viewData){...};
$pageDescriptor->onOpenUpdate($callback);

Parameters

callable $callback

onOpenChart()

onOpenChart(callable  $callback) 

Register event handler. Occours before a page is beeing openend as a Chart.

//Reference parametes (&) can be modified inside the function. Very powerfull.
//$viewData is an array with all the data sent to the view. Too much to explain. $viewData['record'] for example is interesting
$callback = function(&$pageDescriptor, &$tableDescriptor, &$viewData){...};
$pageDescriptor->onOpenChart($callback);

Parameters

callable $callback

onBeforeCreate()

onBeforeCreate(callable  $callback) 

Register event handler. Occours before a record will be inserted into the database.

//Reference parametes (&) can be modified inside the function. Very powerfull.
$callback = function(&$pageDescriptor, &$tableDescriptor, &$records){...};
$pageDescriptor->onBeforeCreate($callback);

Parameters

callable $callback

onAfterCreate()

onAfterCreate(callable  $callback) 

Register event handler. Occours after a record has been inserted into the database.

//Reference parametes (&) can be modified inside the function. Very powerfull.
$callback = function(&$pageDescriptor, &$tableDescriptor, &$records){...};
$pageDescriptor->onAfterCreate($callback);

Parameters

callable $callback

onBeforeUpdate()

onBeforeUpdate(callable  $callback) 

Register event handler. Occours before a record will be updated in the database.

//Reference parametes (&) can be modified inside the function. Very powerfull.
$callback = function(&$pageDescriptor, &$tableDescriptor, &$records){...};
$pageDescriptor->onBeforeUpdate($callback);

Parameters

callable $callback

onAfterUpdate()

onAfterUpdate(callable  $callback) 

Register event handler. Occours after a record has been updated in the database.

//Reference parametes (&) can be modified inside the function. Very powerfull.
$callback = function(&$pageDescriptor, &$tableDescriptor, &$records){...};
$pageDescriptor->onAfterUpdate($callback);

Parameters

callable $callback

onBeforeDelete()

onBeforeDelete(callable  $callback) 

Register event handler. Occours before a record will be deleted from the database.

//Reference parametes (&) can be modified inside the function. Very powerfull.
$callback = function(&$pageDescriptor, &$tableDescriptor, &$records){...};
$pageDescriptor->onBeforeDelete($callback);

Parameters

callable $callback

onAfterDelete()

onAfterDelete(callable  $callback) 

Register event handler. Occours after a record has been deleted from the database.

//Reference parametes (&) can be modified inside the function. Very powerfull.
$callback = function(&$pageDescriptor, &$tableDescriptor, &$records){...};
$pageDescriptor->onAfterDelete($callback);

Parameters

callable $callback

Callback function which is beeing called if this event occours.