Esempio n. 1
0
 /**
  * Get the class to manage the form element
  * to ensure that the file is loaded only once
  *
  * @param   array   &$srcs   Scripts previously loaded
  * @param   string  $script  Script to load once class has loaded
  * @param   array   &$shim   Dependant class names to load before loading the class - put in requirejs.config shim
  *
  * @return void
  */
 public function formJavascriptClass(&$srcs, $script = '', &$shim = array())
 {
     $ext = FabrikHelperHTML::isDebug() ? '.js' : '-min.js';
     $files = array('media/com_fabrik/js/element' . $ext, 'media/com_fabrik/js/elementlist' . $ext);
     foreach ($files as $file) {
         if (!in_array($file, $srcs)) {
             $srcs[] = $file;
         }
     }
     parent::formJavascriptClass($srcs, $script, $shim);
 }
Esempio n. 2
0
 /**
  * Get the class to manage the form element
  * to ensure that the file is loaded only once
  *
  * @param   array   &$srcs   Scripts previously loaded
  * @param   string  $script  Script to load once class has loaded
  * @param   array   &$shim   Dependant class names to load before loading the class - put in requirejs.config shim
  *
  * @return void|boolean
  */
 public function formJavascriptClass(&$srcs, $script = '', &$shim = array())
 {
     $key = FabrikHelperHTML::isDebug() ? 'element/field/field' : 'element/field/field-min';
     $params = $this->getParams();
     $inputMask = trim($params->get('text_input_mask', ''));
     $geoComplete = $params->get('autocomplete', '0') === '3';
     $s = new stdClass();
     // Even though fab/element is now an AMD defined module we should still keep it in here
     // otherwise (not sure of the reason) jQuery.mask is not defined in field.js
     // Seems OK now - reverting to empty array
     $s->deps = array();
     if (!empty($inputMask)) {
         $folder = 'components/com_fabrik/libs/masked_input/';
         $s->deps[] = $folder . 'jquery.maskedinput';
     }
     if ($geoComplete) {
         $folder = 'components/com_fabrik/libs/googlemaps/geocomplete/';
         $s->deps[] = $folder . 'jquery.geocomplete';
     }
     if (array_key_exists($key, $shim)) {
         $shim[$key]->deps = array_merge($shim[$key]->deps, $s->deps);
     } else {
         $shim[$key] = $s;
     }
     parent::formJavascriptClass($srcs, $script, $shim);
     // $$$ hugh - added this, and some logic in the view, so we will get called on a per-element basis
     return false;
 }
Esempio n. 3
0
 /**
  * Get the class to manage the form element
  * to ensure that the file is loaded only once
  *
  * @param   array   &$srcs   Scripts previously loaded
  * @param   string  $script  Script to load once class has loaded
  * @param   array   &$shim   Dependant class names to load before loading the class - put in requirejs.config shim
  *
  * @return void
  */
 public function formJavascriptClass(&$srcs, $script = '', &$shim = array())
 {
     $mediaFolder = FabrikHelperHTML::getMediaFolder();
     $files = array('Element' => $mediaFolder . '/element.js', 'ElementList' => $mediaFolder . '/elementlist.js');
     $srcs = array_merge($srcs, $files);
     parent::formJavascriptClass($srcs, $script, $shim);
 }
Esempio n. 4
0
 /**
  * Get the class to manage the form element
  * to ensure that the file is loaded only once
  *
  * @param   array   &$srcs   Scripts previously loaded
  * @param   string  $script  Script to load once class has loaded
  * @param   array   &$shim   Dependant class names to load before loading the class - put in requirejs.config shim
  *
  * @return void
  */
 public function formJavascriptClass(&$srcs, $script = '', &$shim = array())
 {
     // Whilst link isn't really an element list we can use its js AddNewEvent method
     $s = new stdClass();
     $s->deps = array('fab/elementlist');
     $shim['element/link/link'] = $s;
     parent::formJavascriptClass($srcs, $script, $shim);
 }
Esempio n. 5
0
 /**
  * Get the class to manage the form element
  * to ensure that the file is loaded only once
  *
  * @param   array   &$srcs   Scripts previously loaded
  * @param   string  $script  Script to load once class has loaded
  * @param   array   &$shim   Dependant class names to load before loading the class - put in requirejs.config shim
  *
  * @return void
  */
 public function formJavascriptClass(&$srcs, $script = '', &$shim = array())
 {
     $s = new stdClass();
     $s->deps = array('fab/element');
     $params = $this->getParams();
     if ($params->get('ajax_upload')) {
         $runtimes = $params->get('ajax_runtime', 'html5');
         $folder = 'element/fileupload/lib/plupload/js/';
         $plupShim = new stdClass();
         $plupShim->deps = array($folder . 'plupload');
         $s->deps[] = $folder . 'plupload';
         if (strstr($runtimes, 'html5')) {
             $s->deps[] = $folder . 'plupload.html5';
             $shim[$folder . 'plupload.html5'] = $plupShim;
         }
         if (strstr($runtimes, 'html4')) {
             $s->deps[] = $folder . 'plupload.html4';
             $shim[$folder . 'plupload.html4'] = $plupShim;
         }
         if (strstr($runtimes, 'flash')) {
             $s->deps[] = $folder . 'plupload.flash';
             $shim[$folder . 'plupload.flash'] = $plupShim;
         }
         if (strstr($runtimes, 'silverlight')) {
             $s->deps[] = $folder . 'plupload.silverlight';
             $shim[$folder . 'plupload.silverlight'] = $plupShim;
         }
         if (strstr($runtimes, 'browserplus')) {
             $s->deps[] = $folder . 'plupload.browserplus';
             $shim[$folder . 'plupload.browserplus'] = $plupShim;
         }
     }
     if (array_key_exists('element/fileupload/fileupload', $shim) && isset($shim['element/fileupload/fileupload']->deps)) {
         $shim['element/fileupload/fileupload']->deps = array_values(array_unique(array_merge($shim['element/fileupload/fileupload']->deps, $s->deps)));
     } else {
         $shim['element/fileupload/fileupload'] = $s;
     }
     if ($this->requiresSlideshow()) {
         FabrikHelperHTML::slideshow();
     }
     parent::formJavascriptClass($srcs, $script, $shim);
     // $$$ hugh - added this, and some logic in the view, so we will get called on a per-element basis
     return false;
 }
Esempio n. 6
0
 /**
  * Get the class to manage the form element
  * to ensure that the file is loaded only once
  *
  * @param   array  &$srcs  Scripts previously loaded
  * @param   string $script Script to load once class has loaded
  * @param   array  &$shim  Dependant class names to load before loading the class - put in requirejs.config shim
  *
  * @return void
  */
 public function formJavascriptClass(&$srcs, $script = '', &$shim = array())
 {
     $key = FabrikHelperHTML::isDebug() ? 'element/digsig/digsig' : 'element/digsig/digsig-min';
     $s = new stdClass();
     $s->deps = array();
     $folder = 'element/digsig/libs/signature-pad/';
     $digsigShim = new stdClass();
     $digsigShim->deps = array($folder . 'jquery.signaturepad');
     $s->deps[] = $folder . 'jquery.signaturepad';
     $s->deps[] = $folder . 'flashcanvas';
     $shim[$folder . 'flashcanvas'] = $digsigShim;
     $s->deps[] = $folder . 'json2';
     $shim[$folder . 'json2'] = $digsigShim;
     $shim[$key] = $s;
     FabrikHelperHTML::stylesheet(COM_FABRIK_LIVESITE . 'plugins/fabrik_element/digsig/libs/signature-pad/jquery.signaturepad.css');
     parent::formJavascriptClass($srcs, $script, $shim);
     // $$$ hugh - added this, and some logic in the view, so we will get called on a per-element basis
     return false;
 }
Esempio n. 7
0
 /**
  * Get the class to manage the form element
  * to ensure that the file is loaded only once
  *
  * @param   array   &$srcs   Scripts previously loaded
  * @param   string  $script  Script to load once class has loaded
  * @param   array   &$shim   Dependant class names to load before loading the class - put in requirejs.config shim
  *
  * @return void
  */
 public function formJavascriptClass(&$srcs, $script = '', &$shim = array())
 {
     $params = $this->getParams();
     $input_mask = trim($params->get('text_input_mask', ''));
     if (!empty($input_mask)) {
         $s = new stdClass();
         $s->deps = array('fab/element');
         $folder = 'components/com_fabrik/libs/masked_input/';
         $s->deps[] = $folder . 'jquery.maskedinput';
         $shim['element/field/field'] = $s;
     }
     parent::formJavascriptClass($srcs, $script, $shim);
     // $$$ hugh - added this, and some logic in the view, so we will get called on a per-element basis
     return false;
 }
Esempio n. 8
0
 /**
  * Get the class to manage the form element
  * to ensure that the file is loaded only once
  *
  * @param   array   &$srcs   Scripts previously loaded
  * @param   string  $script  Script to load once class has loaded
  * @param   array   &$shim   Dependant class names to load before loading the class - put in requirejs.config shim
  *
  * @return void|boolean
  */
 public function formJavascriptClass(&$srcs, $script = '', &$shim = array())
 {
     $params = $this->getParams();
     $inputMask = trim($params->get('text_input_mask', ''));
     $geocomplete = $params->get('autocomplete', '0') === '3';
     $s = new stdClass();
     $s->deps = array('fab/element');
     if (!empty($inputMask)) {
         $folder = 'components/com_fabrik/libs/masked_input/';
         $s->deps[] = $folder . 'jquery.maskedinput';
     }
     if ($geocomplete) {
         $folder = 'components/com_fabrik/libs/googlemaps/geocomplete/';
         $s->deps[] = $folder . 'jquery.geocomplete';
     }
     if (count($s->deps) > 1) {
         if (array_key_exists('element/field/field', $shim)) {
             $shim['element/field/field']->deps = array_merge($shim['element/field/field']->deps, $s->deps);
         } else {
             $shim['element/field/field'] = $s;
         }
     }
     parent::formJavascriptClass($srcs, $script, $shim);
     // $$$ hugh - added this, and some logic in the view, so we will get called on a per-element basis
     return false;
 }