public function Drawing::getSettingsForm in Geolocation Field 8.2
Same name and namespace in other branches
- 8.3 modules/geolocation_google_maps/src/Plugin/geolocation/MapFeature/Drawing.php \Drupal\geolocation_google_maps\Plugin\geolocation\MapFeature\Drawing::getSettingsForm()
Provide a generic map settings form array.
Parameters
array $settings: The current map settings.
array $parents: Form specific optional prefix.
Return value
array A form array to be integrated in whatever.
Overrides MapFeatureBase::getSettingsForm
File
- modules/
geolocation_google_maps/ src/ Plugin/ geolocation/ MapFeature/ Drawing.php, line 50
Class
- Drawing
- Provides Drawing.
Namespace
Drupal\geolocation_google_maps\Plugin\geolocation\MapFeatureCode
public function getSettingsForm(array $settings, array $parents) {
$settings = $this
->getSettings($settings);
$states_prefix = array_shift($parents) . '[' . implode($parents, '][') . ']';
$form['polyline'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Draw polyline'),
'#description' => $this
->t('A polyline is a linear overlay of connected line segments on the map.'),
'#default_value' => $settings['polyline'],
];
$form['strokeColor'] = [
'#type' => 'textfield',
'#title' => $this
->t('Stroke color'),
'#description' => $this
->t('The stroke color. All CSS3 colors are supported except for extended named colors.'),
'#size' => 4,
'#default_value' => $settings['strokeColor'],
'#states' => [
'visible' => [
[
'input[name="' . $states_prefix . '[polyline]"]' => [
'checked' => TRUE,
],
],
[
'input[name="' . $states_prefix . '[polygon]"]' => [
'checked' => TRUE,
],
],
],
],
];
$form['strokeOpacity'] = [
'#type' => 'textfield',
'#title' => $this
->t('Stroke opacity'),
'#description' => $this
->t('The stroke opacity between 0.0 and 1.0.'),
'#size' => 2,
'#default_value' => $settings['strokeOpacity'],
'#states' => [
'visible' => [
[
'input[name="' . $states_prefix . '[polyline]"]' => [
'checked' => TRUE,
],
],
[
'input[name="' . $states_prefix . '[polygon]"]' => [
'checked' => TRUE,
],
],
],
],
];
$form['strokeWeight'] = [
'#type' => 'textfield',
'#title' => $this
->t('Stroke weight'),
'#description' => $this
->t('The stroke width in pixels.'),
'#size' => 2,
'#default_value' => $settings['strokeWeight'],
'#states' => [
'visible' => [
[
'input[name="' . $states_prefix . '[polyline]"]' => [
'checked' => TRUE,
],
],
[
'input[name="' . $states_prefix . '[polygon]"]' => [
'checked' => TRUE,
],
],
],
],
];
$form['geodesic'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Geodesic lines'),
'#description' => $this
->t('When true, edges of the polygon are interpreted as geodesic and will follow the curvature of the Earth. When false, edges of the polygon are rendered as straight lines in screen space.'),
'#default_value' => $settings['geodesic'],
'#states' => [
'visible' => [
[
'input[name="' . $states_prefix . '[polyline]"]' => [
'checked' => TRUE,
],
],
[
'input[name="' . $states_prefix . '[polygon]"]' => [
'checked' => TRUE,
],
],
],
],
];
$form['polygon'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Draw polygon'),
'#description' => $this
->t('Polygons form a closed loop and define a filled region.'),
'#default_value' => $settings['polygon'],
];
$form['fillColor'] = [
'#type' => 'textfield',
'#title' => $this
->t('Fill color'),
'#description' => $this
->t('The fill color. All CSS3 colors are supported except for extended named colors.'),
'#size' => 4,
'#default_value' => $settings['fillColor'],
'#states' => [
'visible' => [
'input[name="' . $states_prefix . '[polygon]"]' => [
'checked' => TRUE,
],
],
],
];
$form['fillOpacity'] = [
'#type' => 'textfield',
'#title' => $this
->t('Fill opacity'),
'#description' => $this
->t('The fill opacity between 0.0 and 1.0.'),
'#size' => 4,
'#default_value' => $settings['fillOpacity'],
'#states' => [
'visible' => [
'input[name="' . $states_prefix . '[polygon]"]' => [
'checked' => TRUE,
],
],
],
];
return $form;
}