dolibarr  17.0.4
Functions
ajax.lib.php File Reference

Page called to enhance interface with Javascript and Ajax features. More...

Go to the source code of this file.

Functions

 ajax_autocompleter ($selected, $htmlname, $url, $urloption='', $minLength=2, $autoselect=0, $ajaxoptions=array(), $moreparams='')
 Generic function that return javascript to add to a page to transform a common input field into an autocomplete field by calling an Ajax page (ex: /societe/ajax/ajaxcompanies.php). More...
 
 ajax_multiautocompleter ($htmlname, $fields, $url, $option='', $minLength=2, $autoselect=0)
 Generic function that return javascript to add to a page to transform a common input field into an autocomplete field by calling an Ajax page (ex: core/ajax/ziptown.php). More...
 
 ajax_dialog ($title, $message, $w=350, $h=150)
 Show an ajax dialog. More...
 
 ajax_combobox ($htmlname, $events=array(), $minLengthToAutocomplete=0, $forcefocus=0, $widthTypeOfAutocomplete='resolve', $idforemptyvalue='-1', $morecss='')
 Convert a html select field into an ajax combobox. More...
 
 ajax_constantonoff ($code, $input=array(), $entity=null, $revertonoff=0, $strict=0, $forcereload=0, $marginleftonlyshort=2, $forcenoajax=0, $setzeroinsteadofdel=0, $suffix='', $mode='')
 On/off button for constant. More...
 
 ajax_object_onoff ($object, $code, $field, $text_on, $text_off, $input=array(), $morecss='', $htmlname='')
 On/off button to change status of an object This is called when MAIN_DIRECT_STATUS_UPDATE is set and it use tha ajax service objectonoff.php. More...
 

Detailed Description

Page called to enhance interface with Javascript and Ajax features.

Definition in file ajax.lib.php.

Function Documentation

◆ ajax_autocompleter()

ajax_autocompleter (   $selected,
  $htmlname,
  $url,
  $urloption = '',
  $minLength = 2,
  $autoselect = 0,
  $ajaxoptions = array(),
  $moreparams = '' 
)

Generic function that return javascript to add to a page to transform a common input field into an autocomplete field by calling an Ajax page (ex: /societe/ajax/ajaxcompanies.php).

The HTML field must be an input text with id=search_$htmlname. This use the jQuery "autocomplete" function. If we want to use the select2, we must also convert the input into select on funcntions that call this method.

Parameters
string$selectedPreselected value
string$htmlnameHTML name of input field
string$urlAjax Url to call for request: /path/page.php. Must return a json array ('key'=>id, 'value'=>String shown into input field once selected, 'label'=>String shown into combo list)
string$urloptionMore parameters on URL request
int$minLengthMinimum number of chars to trigger that Ajax search
int$autoselectAutomatic selection if just one value (trigger("change") on field is done if search return only 1 result)
array$ajaxoptionsMultiple options array
  • Ex: array('update'=>array('field1','field2'...)) will reset field1 and field2 once select done
  • Ex: array('disabled'=> )
  • Ex: array('show'=> )
  • Ex: array('update_textarea'=> )
  • Ex: array('option_disabled'=> id to disable and warning to show if we select a disabled value (this is possible when using autocomplete ajax)
string$moreparamsMore params provided to ajax call
Returns
string Script

Definition at line 47 of file ajax.lib.php.

◆ ajax_combobox()

ajax_combobox (   $htmlname,
  $events = array(),
  $minLengthToAutocomplete = 0,
  $forcefocus = 0,
  $widthTypeOfAutocomplete = 'resolve',
  $idforemptyvalue = '-1',
  $morecss = '' 
)

Convert a html select field into an ajax combobox.

Use ajax_combobox() only for small combo list! If not, use instead ajax_autocompleter(). TODO: It is used when COMPANY_USE_SEARCH_TO_SELECT and CONTACT_USE_SEARCH_TO_SELECT are set by html.formcompany.class.php. Should use ajax_autocompleter instead like done by html.form.class.php for select_produits.

Parameters
string$htmlnameName of html select field ('myid' or '.myclass')
array$eventsMore events option. Example: array(array('method'=>'getContacts', 'url'=>dol_buildpath('/core/ajax/contacts.php',1), 'htmlname'=>'contactid', 'params'=>array('add-customer-contact'=>'disabled')))
int$minLengthToAutocompleteMinimum length of input string to start autocomplete
int$forcefocusForce focus on field
string$widthTypeOfAutocomplete'resolve' or 'off'
string$idforemptyvalue'-1'
string$morecssMore css
Returns
string Return html string to convert a select field into a combo, or '' if feature has been disabled for some reason.
See also
selectArrayAjax() of html.form.class

Definition at line 449 of file ajax.lib.php.

◆ ajax_constantonoff()

ajax_constantonoff (   $code,
  $input = array(),
  $entity = null,
  $revertonoff = 0,
  $strict = 0,
  $forcereload = 0,
  $marginleftonlyshort = 2,
  $forcenoajax = 0,
  $setzeroinsteadofdel = 0,
  $suffix = '',
  $mode = '' 
)

On/off button for constant.

Parameters
string$codeName of constant
array$inputArray of complementary actions to do if success ("disabled"|"enabled'|'set'|'del') => CSS element to switch, 'alert' => message to show, ... Example: array('disabled'=>array(0=>'cssid'))
int$entityEntity. Current entity is used if null.
int$revertonoff1=Revert on/off
int$strictUse only "disabled" with delConstant and "enabled" with setConstant
int$forcereloadForce to reload page if we click/change value (this is supported only when there is no 'alert' option in input)
string$marginleftonlyshort1 = Add a short left margin on picto, 2 = Add a larger left margin on picto, 0 = No left margin.
int$forcenoajax1 = Force to use a ahref link instead of ajax code.
int$setzeroinsteadofdel1 = Set constantto '0' instead of deleting it
string$suffixSuffix to use on the name of the switch_on picto. Example: '', '_red'
string$modeAdd parameter &mode= to the href link (Used for href link)
Returns
string

Definition at line 600 of file ajax.lib.php.

◆ ajax_dialog()

ajax_dialog (   $title,
  $message,
  $w = 350,
  $h = 150 
)

Show an ajax dialog.

Parameters
string$titleTitle of dialog box
string$messageMessage of dialog box
int$wWidth of dialog box
int$hheight of dialog box
Returns
string

Definition at line 404 of file ajax.lib.php.

◆ ajax_multiautocompleter()

ajax_multiautocompleter (   $htmlname,
  $fields,
  $url,
  $option = '',
  $minLength = 2,
  $autoselect = 0 
)

Generic function that return javascript to add to a page to transform a common input field into an autocomplete field by calling an Ajax page (ex: core/ajax/ziptown.php).

The Ajax page can also returns several values (json format) to fill several input fields. The HTML field must be an input text with id=$htmlname. This use the jQuery "autocomplete" function.

Parameters
string$htmlnameHTML name of input field
array$fieldsArray of key of fields to autocomplete
string$urlURL for ajax request : /chemin/fichier.php
string$optionMore parameters on URL request
int$minLengthMinimum number of chars to trigger that Ajax search
int$autoselectAutomatic selection if just one value
Returns
string Script

Definition at line 297 of file ajax.lib.php.

◆ ajax_object_onoff()

ajax_object_onoff (   $object,
  $code,
  $field,
  $text_on,
  $text_off,
  $input = array(),
  $morecss = '',
  $htmlname = '' 
)

On/off button to change status of an object This is called when MAIN_DIRECT_STATUS_UPDATE is set and it use tha ajax service objectonoff.php.

Parameters
Object$objectObject to set
string$codeName of property in object : 'status' or 'status_buy' for product by example
string$fieldName of database field : 'tosell' or 'tobuy' for product by example
string$text_onText if on
string$text_offText if off
array$inputArray of type->list of CSS element to switch. Example: array('disabled'=>array(0=>'cssid'))
string$morecssMore CSS
string$htmlnameName of HTML component. Keep '' or use a different value if you need to use this component several time on same page for same property.
Returns
string html for button on/off

Definition at line 680 of file ajax.lib.php.