\Charcoal\Admin\WidgetCollectionMapWidget

Displays a collection of models on a map.

Summary

Methods
Properties
Constants
setView()
view()
setCollectionLoader()
setObjType()
objType()
setCollectionIdent()
collectionIdentFallback()
collectionIdent()
collectionMetadata()
collectionConfig()
setCollectionConfig()
mergeCollectionConfig()
page()
numPerPage()
numPages()
setCollection()
collection()
createCollection()
objects()
sortObjects()
sortProperties()
objectRows()
hasObjects()
numObjects()
numTotal()
proto()
setDependencies()
setTemplate()
template()
setWidgetId()
widgetId()
setType()
type()
setIdent()
ident()
setDataSources()
dataSources()
dataSourceFilter()
setLabel()
label()
actions()
setShowActions()
showActions()
setShowLabel()
showLabel()
adminUrl()
setBaseUrl()
baseUrl()
setPriority()
priority()
setData()
setApiKey()
apiKey()
setLatProperty()
latProperty()
setLonProperty()
lonProperty()
setPolygonProperty()
polygonProperty()
setPathProperty()
pathProperty()
setInfoboxTemplate()
infoboxTemplate()
mapObjects()
showInfobox()
dataFromRequest()
acceptedRequestData()
dataFromObject()
$widgetId
$infoboxTemplate
DATA_SOURCE_REQUEST
DATA_SOURCE_OBJECT
setModelFactory()
modelFactory()
collectionLoader()
createCollectionLoader()
parseCollectionConfig()
defaultCollectionConfig()
createCollectionConfig()
setupDisplayPropertyValue()
parsePropertyCell()
parseObjectRow()
addDataSources()
acceptedDataSources()
defaultDataSources()
defaultDataSourceFilters()
resolveDataSourceFilter()
mergeDataSources()
getPropertyValue()
$currentObjId
$currentObj
$display
$baseUrl
$adminConfig
N/A
setPropertyDisplayFactory()
propertyDisplayFactory()
formatPolygon()
$modelFactory
$collectionLoader
$objType
$collectionIdent
$collectionConfig
$defaultCollectionConfig
$numTotal
$collection
$propertyDisplayFactory
$proto
$view
$type
$template
$ident
$label
$lang
$showLabel
$showActions
$priority
$dataSources
$dataSourceFilters
$apiKey
$mapObjects
$latProperty
$lonProperty
$polygonProperty
$pathProperty
N/A

Constants

DATA_SOURCE_REQUEST

DATA_SOURCE_REQUEST

DATA_SOURCE_OBJECT

DATA_SOURCE_OBJECT

Properties

$widgetId

$widgetId : string

Type

string

$infoboxTemplate

$infoboxTemplate : string

Type

string

$currentObjId

$currentObjId : mixed

Type

mixed

$currentObj

$currentObj : mixed

Type

mixed

$display

$display : \Charcoal\Admin\Ui\PropertyInputInterface

In memory copy of the PropertyDisplay object

Type

\Charcoal\Admin\Ui\PropertyInputInterface

$baseUrl

$baseUrl : \Psr\Http\Message\UriInterface|string

The base URI.

Type

\Psr\Http\Message\UriInterface|string

$adminConfig

$adminConfig : \Charcoal\Admin\Config

Store a reference to the admin configuration.

Type

\Charcoal\Admin\Config

$modelFactory

$modelFactory : \Charcoal\Factory\FactoryInterface

Type

\Charcoal\Factory\FactoryInterface

$collectionLoader

$collectionLoader : \Charcoal\Loader\CollectionLoader

Type

\Charcoal\Loader\CollectionLoader

$objType

$objType : string

Type

string

$collectionIdent

$collectionIdent : string

Type

string

$collectionConfig

$collectionConfig : array|null

Collection configuration.

Type

array|null

$defaultCollectionConfig

$defaultCollectionConfig : array|null

Default collection configuration.

Type

array|null

$numTotal

$numTotal : integer

Type

integer

$collection

$collection : \Charcoal\Model\Collection

Type

\Charcoal\Model\Collection

$propertyDisplayFactory

$propertyDisplayFactory : \Charcoal\Factory\FactoryInterface

Type

\Charcoal\Factory\FactoryInterface

$proto

$proto : \Charcoal\Model\ModelInterface

Type

\Charcoal\Model\ModelInterface

$view

$view : \Charcoal\View\ViewInterface

Type

\Charcoal\View\ViewInterface

$type

$type : string

Type

string

$template

$template : string

Type

string

$ident

$ident : string

Type

string

$label

$label : \Charcoal\Translator\Translation|string|null

Type

\Charcoal\Translator\Translation|string|null

$lang

$lang : string

Type

string

$showLabel

$showLabel : boolean

Type

boolean

$showActions

$showActions : boolean

Type

boolean

$priority

$priority : integer

Type

integer

$dataSources

$dataSources : array

Extra data sources to merge when setting data on an entity.

Type

array

$dataSourceFilters

$dataSourceFilters : array

Associative array of source identifiers and options to apply when merging.

Type

array

$apiKey

$apiKey : array

The API key for the mapping service.

Type

array

$mapObjects

$mapObjects : array<mixed,\Charcoal\Model\AbstractModel>

Type

array<mixed,\Charcoal\Model\AbstractModel>

$latProperty

$latProperty : string

The ident of the object's property for the latitude.

Type

string

$lonProperty

$lonProperty : string

The ident of the object's property for the longitude.

Type

string

$polygonProperty

$polygonProperty : string

Type

string

$pathProperty

$pathProperty : string

Type

string

Methods

setView()

setView(\Charcoal\View\ViewInterface|array  $view) : \Charcoal\Admin\Ui\CollectionContainerInterface

Parameters

\Charcoal\View\ViewInterface|array $view

The view instance.

Returns

\Charcoal\Admin\Ui\CollectionContainerInterface

Chainable

view()

view() : \Charcoal\View\ViewInterface

Throws

\Exception

If the view instance is not previously set / injected.

Returns

\Charcoal\View\ViewInterface —

The object's view.

setCollectionLoader()

setCollectionLoader(\Charcoal\Loader\CollectionLoader  $loader) : \Charcoal\Admin\Ui\CollectionContainerInterface

Parameters

\Charcoal\Loader\CollectionLoader $loader

The collection loader.

Returns

\Charcoal\Admin\Ui\CollectionContainerInterface

Chainable

setObjType()

setObjType(string  $objType) : \Charcoal\Admin\Ui\CollectionContainerInterface

Parameters

string $objType

The collection's object type.

Throws

\InvalidArgumentException

If provided argument is not of type 'string'.

Returns

\Charcoal\Admin\Ui\CollectionContainerInterface

Chainable

objType()

objType() : string

Returns

string

setCollectionIdent()

setCollectionIdent(string  $collectionIdent) : \Charcoal\Admin\Ui\CollectionContainerInterface

Set the key for the collection structure to use.

Parameters

string $collectionIdent

The collection identifier.

Throws

\InvalidArgumentException

If the identifier argument is not a string.

Returns

\Charcoal\Admin\Ui\CollectionContainerInterface

Chainable

collectionIdentFallback()

collectionIdentFallback() : string

Retrieve a key for the collection structure to use.

If the collection key is undefined, resolve a fallback.

Returns

string

collectionIdent()

collectionIdent() : string|null

Retrieve the key for the collection structure to use.

Returns

string|null

collectionMetadata()

collectionMetadata() : array

Return the current collection metadata.

Returns

array

collectionConfig()

collectionConfig() : array|null

Retrieve the collection configset.

Returns

array|null

setCollectionConfig()

setCollectionConfig(mixed  $config) : \Charcoal\Admin\Ui\CollectionContainerInterface

Replace the collection's configset with the given parameters.

Parameters

mixed $config

New collection config values.

Returns

\Charcoal\Admin\Ui\CollectionContainerInterface

Chainable

mergeCollectionConfig()

mergeCollectionConfig(array  $config) : self

Merge given parameters into the collection's configset.

Parameters

array $config

New collection config values.

Returns

self

page()

page() : integer

Returns

integer

numPerPage()

numPerPage() : integer

Returns

integer

numPages()

numPages() : integer

Returns

integer

collection()

collection() : \Charcoal\Model\Collection

Returns

\Charcoal\Model\Collection

createCollection()

createCollection(array  $data = null) : \Charcoal\Loader\CollectionLoader

Parameters

array $data

Optional collection data.

Throws

\Exception

If the object type of the colletion has not been set.

Returns

\Charcoal\Loader\CollectionLoader

objects()

objects() : array

Returns

array

sortObjects()

sortObjects() : array

Sort the objects before they are displayed as rows.

This method is useful for classes using this trait.

Returns

array

sortProperties()

sortProperties() : array

Sort the properties before they are displayed as columns.

This method is useful for classes using this trait.

Returns

array

objectRows()

objectRows() : array

Supplies properties for objects in table template specific to object configuration.

Returns

array —

This metod is a generator.

hasObjects()

hasObjects() : boolean

Returns

boolean

numObjects()

numObjects() : integer

Returns

integer

numTotal()

numTotal() : integer

Throws

\Exception

If obj type was not set.

Returns

integer

proto()

proto(boolean  $reload = false) : object

Parameters

boolean $reload

If true, reload will be forced.

Throws

\InvalidArgumentException

If the object type is not defined / can not create prototype.

Returns

object

setDependencies()

setDependencies(\Pimple\Container  $container) : void

Inject dependencies from a DI Container.

Parameters

\Pimple\Container $container

A dependencies container instance.

setTemplate()

setTemplate(string  $template) : \Charcoal\Admin\UiItemInterface

Parameters

string $template

The UI item's template (identifier).

Throws

\InvalidArgumentException

If the template identifier is not a string.

Returns

\Charcoal\Admin\UiItemInterface —

Chainable

template()

template() : string

Returns

string

setWidgetId()

setWidgetId(string  $widgetId) : \Charcoal\Admin\AdminWidget

Parameters

string $widgetId

The widget identifier.

Returns

\Charcoal\Admin\AdminWidget

Chainable

widgetId()

widgetId() : string

Returns

string

setType()

setType(string  $type) : \Charcoal\Admin\AdminWidget

Parameters

string $type

The widget type.

Throws

\InvalidArgumentException

If the argument is not a string.

Returns

\Charcoal\Admin\AdminWidget

Chainable

type()

type() : string

Returns

string

setIdent()

setIdent(string  $ident) : \Charcoal\Admin\AdminWidget

Parameters

string $ident

The widget ident.

Throws

\InvalidArgumentException

If the ident is not a string.

Returns

\Charcoal\Admin\AdminWidget

(Chainable)

ident()

ident() : string

Returns

string

setDataSources()

setDataSources(mixed  $sources) : \Charcoal\Admin\AdminWidget

Set extra data sources to merge when setting data on an entity.

Parameters

mixed $sources

One or more data source identifiers to merge data from. Pass NULL to reset the entity back to default sources. Pass FALSE, an empty string or array to disable extra sources.

Returns

\Charcoal\Admin\AdminWidget

Chainable

dataSources()

dataSources() : array<mixed,string>

Retrieve the extra data sources to merge when setting data on an entity.

Returns

array<mixed,string>

dataSourceFilter()

dataSourceFilter(string  $sourceIdent) : callable|null

Retrieve the callable filter for the given data source.

Parameters

string $sourceIdent

A data source identifier.

Throws

\InvalidArgumentException

If the data source is invalid.

Returns

callable|null —

Returns a callable variable.

setLabel()

setLabel(mixed  $label) : \Charcoal\Admin\AdminWidget

Parameters

mixed $label

The label.

Returns

\Charcoal\Admin\AdminWidget

Chainable

label()

label() : \Charcoal\Translator\Translation|string|null

Returns

\Charcoal\Translator\Translation|string|null

actions()

actions() : array

Returns

array

setShowActions()

setShowActions(boolean  $show) : \Charcoal\Admin\AdminWidget

Parameters

boolean $show

The show actions flag.

Returns

\Charcoal\Admin\AdminWidget

Chainable

showActions()

showActions() : boolean

Returns

boolean

setShowLabel()

setShowLabel(boolean  $show) : \Charcoal\Admin\AdminWidget

Parameters

boolean $show

The show label flag.

Returns

\Charcoal\Admin\AdminWidget

Chainable

showLabel()

showLabel() : boolean

Returns

boolean

adminUrl()

adminUrl() : \Psr\Http\Message\UriInterface|string

Retrieve the base URI of the administration area.

Returns

\Psr\Http\Message\UriInterface|string

setBaseUrl()

setBaseUrl(\Psr\Http\Message\UriInterface|string  $uri) : self

Set the base URI of the application.

Parameters

\Psr\Http\Message\UriInterface|string $uri

The base URI.

Returns

self

baseUrl()

baseUrl() : \Psr\Http\Message\UriInterface|string

Retrieve the base URI of the application.

Returns

\Psr\Http\Message\UriInterface|string

setPriority()

setPriority(integer  $priority) : \Charcoal\Admin\AdminWidget

Parameters

integer $priority

The widget's sorting priority.

Returns

\Charcoal\Admin\AdminWidget

Chainable

priority()

priority() : integer

Returns

integer

setApiKey()

setApiKey(string  $key) : self

Sets the API key for the mapping service.

Parameters

string $key

An API key.

Returns

self

apiKey()

apiKey() : string

Retrieve API key for the mapping service.

Returns

string

setLatProperty()

setLatProperty(string  $p) : \Charcoal\Admin\Widget\MapWidget

Parameters

string $p

The latitude property ident.

Returns

\Charcoal\Admin\Widget\MapWidget

Chainable

latProperty()

latProperty() : string

Returns

string

setLonProperty()

setLonProperty(string  $p) : \Charcoal\Admin\Widget\MapWidget

Parameters

string $p

The longitude property ident.

Returns

\Charcoal\Admin\Widget\MapWidget

Chainable

lonProperty()

lonProperty() : string

Returns

string

setPolygonProperty()

setPolygonProperty(string  $p) : \Charcoal\Admin\Widget\MapWidget

Parameters

string $p

The polygon property ident.

Returns

\Charcoal\Admin\Widget\MapWidget

Chainable

polygonProperty()

polygonProperty() : string

Returns

string

setPathProperty()

setPathProperty(string  $p) : \Charcoal\Admin\Widget\MapWidget

Parameters

string $p

The path property ident.

Returns

\Charcoal\Admin\Widget\MapWidget

Chainable

pathProperty()

pathProperty() : string

Returns

string

setInfoboxTemplate()

setInfoboxTemplate(string  $template) : \Charcoal\Admin\Widget\CollectionMapWidget

Parameters

string $template

The infobox template ident.

Returns

\Charcoal\Admin\Widget\CollectionMapWidget

Chainable

infoboxTemplate()

infoboxTemplate() : string

Returns

string

mapObjects()

mapObjects() : \Charcoal\Admin\Widget\Collection

Return all the objs with geographical information

Throws

\UnexpectedValueException

If the object type of the colletion is missing.

Returns

\Charcoal\Admin\Widget\Collection

showInfobox()

showInfobox() : boolean

Returns

boolean

dataFromRequest()

dataFromRequest() : array

Fetch metadata from the current request.

Returns

array

acceptedRequestData()

acceptedRequestData() : array

Retrieve the accepted metadata from the current request.

Returns

array

dataFromObject()

dataFromObject() : array

Fetch metadata from the current object type.

Returns

array

setModelFactory()

setModelFactory(\Charcoal\Factory\FactoryInterface  $factory) : \Charcoal\Admin\AdminScript

Parameters

\Charcoal\Factory\FactoryInterface $factory

The factory used to create models.

Returns

\Charcoal\Admin\AdminScript

Chainable

modelFactory()

modelFactory() : \Charcoal\Factory\FactoryInterface

Returns

\Charcoal\Factory\FactoryInterface —

The model factory.

collectionLoader()

collectionLoader() : \Charcoal\Loader\CollectionLoader

Safe Collection Loader getter.

Create the loader if it was not set / injected.

Returns

\Charcoal\Loader\CollectionLoader

createCollectionLoader()

createCollectionLoader() : \Charcoal\Loader\CollectionLoader

Create a collection loader.

Returns

\Charcoal\Loader\CollectionLoader

parseCollectionConfig()

parseCollectionConfig(array  $config) : array

Stub: Parse given parameters into the collection's config set.

Parameters

array $config

New collection config values.

Returns

array

defaultCollectionConfig()

defaultCollectionConfig() : array|null

Retrieve the default collection configuration.

The default configset is determined by the collection ident and object type, if assigned.

Returns

array|null

createCollectionConfig()

createCollectionConfig() : mixed

Stub: reimplement in classes using this trait.

Returns

mixed

setupDisplayPropertyValue()

setupDisplayPropertyValue(\Charcoal\Model\ModelInterface  $object, \Charcoal\Property\PropertyInterface  $property) : void

Setup the property's display value before its assigned to the object row.

This method is useful for classes using this trait.

Parameters

\Charcoal\Model\ModelInterface $object

The current row's object.

\Charcoal\Property\PropertyInterface $property

The current property.

parsePropertyCell()

parsePropertyCell(\Charcoal\Model\ModelInterface  $object, \Charcoal\Property\PropertyInterface  $property, string  $propertyValue) : array

Filter the property before its assigned to the object row.

This method is useful for classes using this trait.

Parameters

\Charcoal\Model\ModelInterface $object

The current row's object.

\Charcoal\Property\PropertyInterface $property

The current property.

string $propertyValue

The property $key's display value.

Returns

array

parseObjectRow()

parseObjectRow(\Charcoal\Model\ModelInterface  $object, array  $objectProperties) : array

Filter the object before its assigned to the row.

This method is useful for classes using this trait.

Parameters

\Charcoal\Model\ModelInterface $object

The current row's object.

array $objectProperties

The $object's display properties.

Returns

array

addDataSources()

addDataSources(mixed  $sourceIdent, mixed  $sourceFilter = null) : \Charcoal\Admin\AdminWidget

Set extra data sources to merge when setting data on an entity.

Parameters

mixed $sourceIdent

The data source identifier.

mixed $sourceFilter

Optional filter to apply to the source's data.

Throws

\InvalidArgumentException

If the data source is invalid.

Returns

\Charcoal\Admin\AdminWidget

Chainable

acceptedDataSources()

acceptedDataSources() : array<mixed,string>

Retrieve the available data sources (when setting data on an entity).

Returns

array<mixed,string>

defaultDataSources()

defaultDataSources() : array<mixed,string>

Retrieve the default data sources (when setting data on an entity).

Returns

array<mixed,string>

defaultDataSourceFilters()

defaultDataSourceFilters() : array

Retrieve the default data source filters (when setting data on an entity).

Returns

array

resolveDataSourceFilter()

resolveDataSourceFilter(mixed  $toResolve) : callable|null

Retrieve the default data source filters (when setting data on an entity).

Note: Adapted from \Slim\CallableResolver.

Parameters

mixed $toResolve

A callable used when merging data.

Returns

callable|null

mergeDataSources()

mergeDataSources(array|\Charcoal\Admin\ArrayInterface  $dataset = null) : \Charcoal\Admin\AdminWidget

Retrieve the available data sources (when setting data on an entity).

Parameters

array|\Charcoal\Admin\ArrayInterface $dataset

The entity data.

Returns

\Charcoal\Admin\AdminWidget

Chainable

getPropertyValue()

getPropertyValue(\Charcoal\Model\ModelInterface  $obj, string  $key) : mixed

Parameters

\Charcoal\Model\ModelInterface $obj

The object with the latitude property.

string $key

The property to retrieve.

Throws

\InvalidArgumentException

If the data key is missing.

Returns

mixed

setPropertyDisplayFactory()

setPropertyDisplayFactory(\Charcoal\Factory\FactoryInterface  $factory) : \Charcoal\Admin\Ui\CollectionContainerInterface

Parameters

\Charcoal\Factory\FactoryInterface $factory

The property display factory.

Returns

\Charcoal\Admin\Ui\CollectionContainerInterface

Chainable

propertyDisplayFactory()

propertyDisplayFactory() : \Charcoal\Factory\FactoryInterface

Throws

\Exception

If the property display factory was not previously injected / set.

Returns

\Charcoal\Factory\FactoryInterface

formatPolygon()

formatPolygon(mixed  $rawPolygon) : string

Parameters

mixed $rawPolygon

The polygon information.

Returns

string