Example #1
0
 /**
  * [Node] Add/Edit Form
  *
  * @param	\IPS\Helpers\Form	$form	The form
  * @return	void
  */
 public function form(&$form)
 {
     $form->attributes['data-controller'] = 'membermap.admin.membermap.groupform';
     /* Build form */
     $form->add(new \IPS\Helpers\Form\Translatable('group_name', NULL, TRUE, array('app' => 'membermap', 'key' => $this->id ? "membermap_marker_group_{$this->id}" : NULL)));
     $form->add(new \IPS\Helpers\Form\YesNo('group_moderate', $this->id ? $this->moderate : FALSE, FALSE));
     if ($this->type == 'custom') {
         $radioOpt = array();
         $colours = array('red', 'darkred', 'lightred', 'orange', 'beige', 'green', 'darkgreen', 'lightgreen', 'blue', 'darkblue', 'lightblue', 'purple', 'darkpurple', 'pink', 'cadetblue', 'gray', 'lightgray', 'black', 'white');
         $icon = $this->id ? $this->pin_icon : 'fa-globe';
         $iconColour = $this->id ? $this->pin_colour : '#FFFFFF';
         $bgColour = $this->id ? $this->pin_bg_colour : 'red';
         /* Selected a valid colour? */
         $bgColour = in_array($bgColour, $colours) ? $bgColour : 'red';
         foreach ($colours as $c) {
             $radioOpt[$c] = \IPS\Theme::i()->resource("awesome-marker-icon-{$c}.png", "membermap", 'admin');
         }
         $form->add(new \IPS\Helpers\Form\Text('group_pin_icon', $icon, TRUE));
         $form->add(new \IPS\Helpers\Form\Color('group_pin_colour', $iconColour, TRUE));
         $form->add(new \IPS\Helpers\Form\Radio('group_pin_bg_colour', $bgColour, TRUE, array('options' => $radioOpt, 'parse' => 'image', 'descriptions' => array('white' => \IPS\Member::loggedIn()->language()->addToStack('group_pin_bg_colour_white')))));
         $form->addDummy('group_marker_example', "<span class='awesome-marker awesome-marker-icon-{$bgColour}' id='markerExample'><i class='fa fa-fw {$icon}' style='color: {$iconColour}'></i></span>");
     }
 }