|
noalyss
Version-6.7.2
|
Input HTML for the card show buttons, in the file, you have to add card.js How to use : More...
Public Member Functions | |
| __construct ($name="", $value="", $p_id="") | |
| display () | |
| print in html the readonly value of the widget | |
| input ($p_name=null, $p_value=null) | |
| show the html input of the widget | |
| search () | |
| return a string containing the button for displaying a search form. | |
| set_callback ($p_name) | |
| set the javascript callback function by default it is update_value called BEFORE the querystring is send | |
| set_dblclick ($p_action) | |
| set the extra javascript property for a double click on INPUT field | |
| set_function ($p_name) | |
| set the javascript callback function by default it is update_value called AFTER an item has been selected | |
Static Public Member Functions | |
| static | ipopup ($p_name) |
| return the html string for creating the ipopup, this ipopup can be used for adding, modifying or display a card | |
| static | test_me () |
Input HTML for the card show buttons, in the file, you have to add card.js How to use :
// insert all the javascript files echo js_include('prototype.js'); echo js_include('scriptaculous.js'); echo js_include('effects.js'); echo js_include('controls.js'); // $W1=new ICard(); $W1->label="Client ".HtmlInput::infobulle(0) ; $W1->name="e_client"; $W1->tabindex=3; $W1->value=$e_client; $W1->table=0; // If double click call the javascript fill_ipopcard $W1->set_dblclick("fill_ipopcard(this);"); // Type of card : deb, cred or all $W1->set_attribute('typecard','deb'); $W1->extra='deb'; // Add the callback function to filter the card on the jrn $W1->set_callback('filter_card'); // when value selected in the autcomplete $W1->set_function('fill_data'); // when the data change $W1->javascript=sprintf(' onchange="fill_data_onchange(\'%s\');" ', $W1->name); // name of the field to update with the name of the card $W1->set_attribute('label','e_client_label'); $client_label=new ISpan(); $client_label->table=0; $f_client=$client_label->input("e_client_label",$e_client_label); $f_client_qcode=$W1->input(); // Search button for card $f_client_bt=$W1->search();
$card=new ICard('acc'); $card->name="acc"; $card->extra="all"; $card->set_attribute('typecard','all'); $card->set_callback('filter_card'); echo $card->input(); echo $card->search(); // example 2 $w=new ICard("av_text".$attr->ad_id); // filter on frd_id $sql=' select fd_id from fiche_def where frd_id in ('.FICHE_TYPE_CLIENT.','.FICHE_TYPE_FOURNISSEUR.','.FICHE_TYPE_ADM_TAX.')'; $filter=$this->cn->make_list($sql); $w->set_attribute('ipopup','ipopcard'); $w->set_attribute('typecard',$filter); $w->set_attribute('inp',"av_text".$attr->ad_id); $w->set_attribute('label',"av_text".$attr->ad_id."_label"); $w->extra=$filter; $w->extra2=0; $label=new ISpan(); $label->name="av_text".$attr->ad_id."_label"; $msg.=td($w->search().$label->input());
Definition at line 120 of file class_icard.php.
| ICard::__construct | ( | $ | name = "", |
| $ | value = "", |
||
| $ | p_id = "" |
||
| ) |
Reimplemented from HtmlInput.
Definition at line 122 of file class_icard.php.
References HtmlInput\$name, HtmlInput\$value, javascript, and style.
{
parent::__construct($name,$value);
$this->fct='update_value';
$this->dblclick='';
$this->callback='null';
$this->javascript='';
$this->id=($p_id != "")?$p_id:$name;
$this->choice=null;
$this->indicator=null;
$this->choice_create=1;
$this->autocomplete=1;
$this->style=' style="vertical-align:50%"';
}
| ICard::display | ( | ) |
| ICard::input | ( | $ | p_name = null, |
| $ | p_value = null |
||
| ) |
show the html input of the widget
Definition at line 191 of file class_icard.php.
References $div, $e, $ind, HtmlInput\$javascript, HtmlInput\$label, $query, $r, create_script(), display(), HtmlInput\get_js_attr(), javascript, name, readOnly, size, style, table, td(), and value.
{
if ( $p_name == null && $this->name == "")
throw (new Exception('Le nom d une icard doit être donne'));
$this->value=($p_value==null)?$this->value:$p_value;
if ( $this->readOnly==true) return $this->display();
$this->id=($this->id=="")?$this->name:$this->id;
$this->choice=($this->choice==null)?sprintf("%s_choices",$this->id):$this->choice;
$this->indicator=($this->indicator==null)?sprintf("%s_ind",$this->id):$this->indicator;
$attr=$this->get_js_attr();
$label='';
if ( $this->dblclick != '')
{
$e=sprintf(' ondblclick="%s" ',
$this->dblclick);
$this->dblclick=$e;
}
$input=sprintf('<INPUT TYPE="Text" class="input_text" '.
' NAME="%s" ID="%s" VALUE="%s" SIZE="%d" %s %s %s>',
$this->name,
$this->id,
$this->value,
$this->size,
$this->dblclick,
$this->javascript,
$this->style
);
if ( $this->autocomplete == 1)
{
$this->indicator="ind_".$this->id;
$ind=sprintf('<span id="%s" class="autocomplete" style="position:absolute;display:none">Un instant... <img src="image/loading.gif" alt="Chargement..."/>'.
'</span>',
$this->indicator);
$this->indicator="null";
$div=($this->choice_create == 1) ? sprintf('<div id="%s" class="autocomplete"></div>',$this->choice):"";
$query=dossier::get().'&e='.urlencode($this->typecard);
$javascript=sprintf('try { new Ajax.Autocompleter("%s","%s","fid_card.php?%s",'.
'{paramName:"FID",minChars:1,indicator:%s, '.
'callback:%s, '.
' afterUpdateElement:%s});} catch (e){alert(e.message);};',
$this->id,
$this->choice,
$query,
$this->indicator,
$this->callback,
$this->fct);
$javascript=create_script($javascript.$this->dblclick);
$r=$label.$input.$attr.$ind.$div.$javascript;
}
else
{
$r=$label.$input;
}
if ( $this->table == 1 )
$r=td($r);
return $r;
}
| static ICard::ipopup | ( | $ | p_name | ) | [static] |
return the html string for creating the ipopup, this ipopup can be used for adding, modifying or display a card
| $p_name | name of the ipopup, must be set after with set_attribute $f_add_button=new IButton('add_card'); $f_add_button->label='Créer une nouvelle fiche'; $f_add_button->set_attribute('ipopup','ipop_newcard'); $f_add_button->set_attribute('filter',$this->get_all_fiche_def ()); $f_add_button->javascript=" select_card_type(this);"; $str_add_button=$f_add_button->input(); |
Definition at line 171 of file class_icard.php.
{
$ip_card=new IPopup ($p_name);
$ip_card->drag=true;
$ip_card->set_width('45%');
$ip_card->title='Fiche ';
$ip_card->value='';
return $ip_card->input();
}
| ICard::search | ( | ) |
return a string containing the button for displaying a search form.
When clicking on the result, update the input text file the common used attribute as
// search ipopup $search_card=new IPopup('ipop_card'); $search_card->title=_('Recherche de fiche'); $search_card->value=''; echo $search_card->input(); $a=new ICard('test'); $a->search();
Definition at line 295 of file class_icard.php.
References $a, HtmlInput\$javascript, HtmlInput\button_image(), name, and readOnly.
{
if ( $this->readOnly==true) return '';
if ( ! isset($this->id )) $this->id=$this->name;
$a="";
foreach (array('typecard','jrn','label','price','tvaid') as $att)
{
if (isset($this->$att) )
$a.="this.".$att."='".$this->$att."';";
}
if (isset($this->id) && $this->id != "")
$a.="this.inp='".$this->id."';";
else
$a.="this.inp='".$this->name."';";
$a.="this.popup='ipop_card';";
$javascript=$a.' search_card(this);return false;';
$button=HtmlInput::button_image($javascript,$this->name."_bt", 'alt="'._('Recherche').'" class="image_search"',"image/magnifier13.png");
return $button;
}
| ICard::set_callback | ( | $ | p_name | ) |
set the javascript callback function by default it is update_value called BEFORE the querystring is send
| $p_name | callback function name |
Definition at line 141 of file class_icard.php.
{
$this->callback=$p_name;
}
| ICard::set_dblclick | ( | $ | p_action | ) |
set the extra javascript property for a double click on INPUT field
| $p_action | action when a double click happens |
Definition at line 186 of file class_icard.php.
References $p_action.
{
$this->dblclick=$p_action;
}
| ICard::set_function | ( | $ | p_name | ) |
set the javascript callback function by default it is update_value called AFTER an item has been selected
| $p_name | callback function name |
Definition at line 150 of file class_icard.php.
{
$this->fct=$p_name;
}
| static ICard::test_me | ( | ) | [static] |
Definition at line 316 of file class_icard.php.
References $_REQUEST, $a, $b, $l, ajaxFid(), alert(), echo, HtmlInput\hidden(), style, HtmlInput\submit(), and type.
{
require_once('class_itext.php');
$_SESSION['isValid']=1;
$a=new ICard('testme');
$a->extra="all";
$a->set_attribute('label','ctl_label');
$a->set_attribute('tvaid','ctl_tvaid');
$a->set_attribute('price','ctl_price');
$a->set_attribute('purchase','ctl_purchase');
$a->set_attribute('type','all');
echo <<<EOF
<div id="debug" style="border:solid 1px black;overflow:auto"></div>
<script type="text/javascript" language="javascript" src="js/prototype.js">
</script>
<script type="text/javascript" language="javascript" src="js/scriptaculous.js">
</script>
<script type="text/javascript" language="javascript" src="js/effects.js">
</script>
<script type="text/javascript" language="javascript" src="js/controls.js">
</script>
<script type="text/javascript" language="javascript" src="js/ajax_fid.js">
</script>
<script type="text/javascript" language="javascript" >
function test_value(text,li)
{
alert("premier"+li.id);
str="";
str=text.id+'<hr>';
if ( text.js_attr1)
{
str+=text.js_attr1;
str+='<hr>';
}
if ( text.js_attr2)
{
str+=text.js_attr2;
str+='<hr>';
}
if ( text.js_attr3)
{
str+=text.js_attr3;
str+='<hr>';
}
for (var i in text)
{
str+=i+'<br>';
}
// $('debug').innerHTML=str;
ajaxFid(text);
}
</script>
EOF;
echo "<form>";
$l=new IText('ctl_label');
$t=new IText('ctl_tvaid');
$p=new IText('ctl_price');
$b=new IText('ctl_purchase');
echo "Label ".$l->input().'<br>';
echo "Tva id ".$t->input().'<br>';
echo "Price ".$p->input().'<br>';
echo "Purchase ".$b->input().'<br>';
if ( isset($_REQUEST['test_select']) )
echo HtmlInput::hidden('test_select',$_REQUEST['test_select']);
$a->set_function('test_value');
$a->javascript=' onchange="alert(\'onchange\');" onblur="alert(\'onblur\');" ';
echo $a->input();
echo dossier::hidden();
echo HtmlInput::submit('Entree','entree');
echo '</form>';
echo <<<EOF
EOF;
}