Account Suspended
Account Suspended
This Account has been suspended.
Contact your hosting provider for more information.
 All Data Structures Functions Variables Pages
MultiSelectAutoComplete.php
1 <?php
2  /*********************************************************************************
3  * Zurmo is a customer relationship management program developed by
4  * Zurmo, Inc. Copyright (C) 2017 Zurmo Inc.
5  *
6  * Zurmo is free software; you can redistribute it and/or modify it under
7  * the terms of the GNU Affero General Public License version 3 as published by the
8  * Free Software Foundation with the addition of the following permission added
9  * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
10  * IN WHICH THE COPYRIGHT IS OWNED BY ZURMO, ZURMO DISCLAIMS THE WARRANTY
11  * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
12  *
13  * Zurmo is distributed in the hope that it will be useful, but WITHOUT
14  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15  * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Affero General Public License along with
19  * this program; if not, see http://www.gnu.org/licenses or write to the Free
20  * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21  * 02110-1301 USA.
22  *
23  * You can contact Zurmo, Inc. with a mailing address at 27 North Wacker Drive
24  * Suite 370 Chicago, IL 60606. or at email address contact@zurmo.com.
25  *
26  * The interactive user interfaces in original and modified versions
27  * of this program must display Appropriate Legal Notices, as required under
28  * Section 5 of the GNU Affero General Public License version 3.
29  *
30  * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
31  * these Appropriate Legal Notices must retain the display of the Zurmo
32  * logo and Zurmo copyright notice. If the display of the logo is not reasonably
33  * feasible for technical reasons, the Appropriate Legal Notices must display the words
34  * "Copyright Zurmo Inc. 2017. All rights reserved".
35  ********************************************************************************/
36 
42  {
43  public $scriptFile = 'jquery.tokeninput.js';
44 
45  public $cssFile = null;
46 
51  public $name;
52 
57  public $sourceUrl;
58 
59  public $htmlOptions;
60 
65  public $hintText;
66 
71  public $onAdd;
72 
77  public $onDelete;
78 
83  public $propertyToSearch = 'name';
84 
89  public $queryParam = 'term';
90 
95  public $searchDelay = 300;
96 
101  public $minChars = 1;
102 
107  public $resultsLimit = 'null';
108 
113  public $preventDuplicates = 'true';
114 
120 
121  public function run()
122  {
123  $id = $this->getId();
124  $this->htmlOptions['id'] = $id;
125  if (isset($this->htmlOptions['disabled']) && $this->htmlOptions['disabled'] == 'disabled')
126  {
127  $tokenListClassSuffix = ' disabled';
128  }
129  else
130  {
131  $tokenListClassSuffix = '';
132  }
133  echo ZurmoHtml::textField($this->name, null, $this->htmlOptions);
134  $javaScript = "$(document).ready(function () { ";
135  $javaScript .= "$('#$id').tokenInput('{$this->sourceUrl}', { ";
136  $javaScript .= "queryParam: '" . $this->queryParam . "',"; // Not Coding Standard
137  if ($this->hintText != null)
138  {
139  $javaScript .= "hintText: '" . Yii::app()->format->text($this->hintText) . "',"; // Not Coding Standard
140  }
141  if ($this->onAdd != null)
142  {
143  $javaScript .= "onAdd: " . $this->onAdd . ","; // Not Coding Standard
144  }
145  if ($this->onDelete != null)
146  {
147  $javaScript .= "onDelete: " . $this->onDelete . ","; // Not Coding Standard
148  }
149  if ($this->jsonEncodedIdsAndLabels != null)
150  {
151  $javaScript .= "prePopulate: " . $this->jsonEncodedIdsAndLabels . ","; // Not Coding Standard
152  }
153  // Begin Not Coding Standard
154  $javaScript .= "propertyToSearch: '" . $this->propertyToSearch . "',";
155  $javaScript .= "searchDelay: " . $this->searchDelay . ",";
156  $javaScript .= "minChars: " . $this->minChars . ",";
157  $javaScript .= "preventDuplicates: '" . $this->preventDuplicates . "',";
158  $javaScript .= "resultsLimit: '" . $this->resultsLimit . "',";
159  $javaScript .= "classes: {tokenList: 'token-input-list" . $tokenListClassSuffix . "'}";
160  $javaScript .= "});";
161  $javaScript .= "});";
162  // End Not Coding Standard
163  Yii::app()->getClientScript()->registerScript(__CLASS__ . '#' . $id, $javaScript);
164  }
165 
172  protected function resolvePackagePath()
173  {
174  if ($this->scriptUrl === null || $this->themeUrl === null)
175  {
176  $cs = Yii::app()->getClientScript();
177  if ($this->scriptUrl === null)
178  {
179  $this->scriptUrl = Yii::app()->getAssetManager()->publish(
180  Yii::getPathOfAlias('application.extensions.juitokeninput.assets'));
181  }
182  }
183  }
184  }
Generated on Wed Jul 8 2020 07:10:31
Account Suspended
Account Suspended
This Account has been suspended.
Contact your hosting provider for more information.