Prilagoditev tabel - dokoncane individualne nastavitve
This commit is contained in:
parent
ded3b951ba
commit
51644d60c1
@ -1247,7 +1247,7 @@ class Vprasanje {
|
||||
if($row['tip'] <= 3)
|
||||
$this->edit_stat();
|
||||
|
||||
if ($row['tip'] == 6)
|
||||
if ($row['tip'] == 6 || $row['tip'] == 16 || $row['tip'] == 19 || $row['tip'] == 20)
|
||||
$this->edit_grid_dynamic();
|
||||
|
||||
if ($row['tip'] == 1 || $row['tip'] == 6) {
|
||||
@ -3327,32 +3327,52 @@ class Vprasanje {
|
||||
echo '</div>';
|
||||
}
|
||||
|
||||
// dinamicen multigrid
|
||||
// Prilagojen multigrid
|
||||
function edit_grid_dynamic () {
|
||||
global $lang;
|
||||
|
||||
$row = Cache::srv_spremenljivka($this->spremenljivka);
|
||||
$spremenljivkaParams = new enkaParameters($row['params']);
|
||||
|
||||
echo '<div class="vprasanje_setting_holder">';
|
||||
|
||||
|
||||
echo ' <div class="vprasanje_setting_line half-half">';
|
||||
|
||||
echo ' <label>'.$lang['srv_dynamic_multigrid'].Help::display('srv_tabela_postopno').':</label>';
|
||||
echo ' <label>Prilagoditev tabele na računalniku:</label>';
|
||||
|
||||
echo ' <span class="content"><input type="hidden" name="dynamic_mg" value="0" />';
|
||||
echo ' <select id="dynamic_mg" name="dynamic_mg" onChange="onchange_submit_show(this.value);">';
|
||||
echo ' <option value="0" '.(($row['dynamic_mg'] == 0) ? ' selected="true" ' : '').'>'.$lang['no'].'</option>';
|
||||
echo ' <option value="1" '.(($row['dynamic_mg'] == 1) ? ' selected="true" ' : '').'>'.$lang['srv_orientacija_horizontalna_3'].'</option>';
|
||||
echo ' <option value="3" '.(($row['dynamic_mg'] == 3) ? ' selected="true" ' : '').'>'.$lang['srv_orientacija_horizontalna_3'].'_2</option>';
|
||||
echo ' <option value="5" '.(($row['dynamic_mg'] == 5) ? ' selected="true" ' : '').'>'.$lang['srv_orientacija_horizontalna_3'].'_3</option>';
|
||||
echo ' <option value="2" '.(($row['dynamic_mg'] == 2) ? ' selected="true" ' : '').'>'.$lang['srv_orientacija_vertikalna'].'</option>';
|
||||
echo ' <option value="4" '.(($row['dynamic_mg'] == 4) ? ' selected="true" ' : '').'>'.$lang['srv_orientacija_vertikalna'].'_2</option>';
|
||||
echo ' <option value="6" '.(($row['dynamic_mg'] == 6) ? ' selected="true" ' : '').'>'.$lang['srv_orientacija_vertikalna'].'_3</option>';
|
||||
$pc_tables = $spremenljivkaParams->get('pc_tables');
|
||||
|
||||
echo ' <span class="content">';
|
||||
echo ' <select id="pc_tables" name="pc_tables" onChange="onchange_submit_show(this.value);">';
|
||||
echo ' <option value="0" '.(($pc_tables == 0) ? ' selected="true" ' : '').'>'.$lang['no'].'</option>';
|
||||
echo ' <option value="1" '.(($pc_tables == 1) ? ' selected="true" ' : '').'>'.$lang['yes'].'</option>';
|
||||
echo ' <option value="2" '.(($pc_tables == 2) ? ' selected="true" ' : '').'>'.$lang['srv_settings_mobile_tables_slide'].'</option>';
|
||||
echo ' <option value="3" '.(($pc_tables == 3) ? ' selected="true" ' : '').'>'.$lang['srv_settings_mobile_tables_hor'].'</option>';
|
||||
echo ' </select>';
|
||||
echo ' </span>';
|
||||
|
||||
echo ' </div>';
|
||||
|
||||
|
||||
echo ' <div class="vprasanje_setting_line half-half">';
|
||||
|
||||
echo ' <label>Prilagoditev tabele na mobilni napravi:</label>';
|
||||
|
||||
$mobile_tables = $spremenljivkaParams->get('mobile_tables');
|
||||
|
||||
echo ' <span class="content">';
|
||||
echo ' <select id="mobile_tables" name="mobile_tables" onChange="onchange_submit_show(this.value);">';
|
||||
echo ' <option value="0" '.(($mobile_tables == 0) ? ' selected="true" ' : '').'>'.$lang['no'].'</option>';
|
||||
echo ' <option value="1" '.(($mobile_tables == 1) ? ' selected="true" ' : '').'>'.$lang['yes'].'</option>';
|
||||
echo ' <option value="2" '.(($mobile_tables == 2) ? ' selected="true" ' : '').'>'.$lang['srv_settings_mobile_tables_slide'].'</option>';
|
||||
echo ' <option value="3" '.(($mobile_tables == 3) ? ' selected="true" ' : '').'>'.$lang['srv_settings_mobile_tables_hor'].'</option>';
|
||||
echo ' </select>';
|
||||
echo ' </span>';
|
||||
|
||||
echo ' </div>';
|
||||
|
||||
|
||||
echo '</div>';
|
||||
}
|
||||
|
||||
@ -6603,6 +6623,8 @@ class Vprasanje {
|
||||
|| isset($_POST['sbSizeVse'])
|
||||
|| isset($_POST['prevAnswers'])
|
||||
|| isset($_POST['disabled_vprasanje'])
|
||||
|| isset($_POST['mobile_tables'])
|
||||
|| isset($_POST['pc_tables'])
|
||||
|| isset($_POST['slider_handle'])
|
||||
|| isset($_POST['slider_MinMaxNumLabel'])
|
||||
|| isset($_POST['slider_MinMaxLabel'])
|
||||
@ -6735,6 +6757,10 @@ class Vprasanje {
|
||||
$newParams->set('prevAnswers', $_POST['prevAnswers']);
|
||||
if (isset($_POST['disabled_vprasanje']))
|
||||
$newParams->set('disabled_vprasanje', $_POST['disabled_vprasanje']);
|
||||
if (isset($_POST['mobile_tables']))
|
||||
$newParams->set('mobile_tables', $_POST['mobile_tables']);
|
||||
if (isset($_POST['pc_tables']))
|
||||
$newParams->set('pc_tables', $_POST['pc_tables']);
|
||||
if ( isset($_POST['slider_handle']) )
|
||||
$newParams->set('slider_handle', $_POST['slider_handle']);
|
||||
if (isset($_POST['slider_MinMaxNumLabel']))
|
||||
|
@ -61,7 +61,9 @@ class MultigridMobileController extends Controller{
|
||||
|
||||
// Nastavitev za prilagoditev mobilnih tabel (z razpiranjem ali brez)
|
||||
SurveySetting::getInstance()->Init(get('anketa'));
|
||||
$tables_setting = (get('mobile') == 1) ? SurveySetting::getInstance()->getSurveyMiscSetting('mobile_tables') : SurveySetting::getInstance()->getSurveyMiscSetting('pc_tables');
|
||||
|
||||
// Pridobimo nastavitve za prikaz tabele
|
||||
$tables_setting = self::getInstance()->getTableSettings($spremenljivkaParams);
|
||||
|
||||
|
||||
$gridAlign = (($spremenljivkaParams->get('gridAlign') > 0) ? $spremenljivkaParams->get('gridAlign') : 0);
|
||||
@ -386,7 +388,9 @@ class MultigridMobileController extends Controller{
|
||||
|
||||
// Nastavitev za prilagoditev mobilnih tabel (z razpiranjem ali brez)
|
||||
SurveySetting::getInstance()->Init(get('anketa'));
|
||||
$tables_setting = (get('mobile') == 1) ? SurveySetting::getInstance()->getSurveyMiscSetting('mobile_tables') : SurveySetting::getInstance()->getSurveyMiscSetting('pc_tables');
|
||||
|
||||
// Pridobimo nastavitve za prikaz tabele
|
||||
$tables_setting = self::getInstance()->getTableSettings($spremenljivkaParams);
|
||||
|
||||
|
||||
$gridAlign = (($spremenljivkaParams->get('gridAlign') > 0) ? $spremenljivkaParams->get('gridAlign') : 0);
|
||||
@ -511,10 +515,6 @@ class MultigridMobileController extends Controller{
|
||||
|
||||
echo ' </div>';
|
||||
|
||||
// Puscica za razpiranje ce imamo vklopljene mobilne tabele z razpiranjem
|
||||
/*if($tables_setting == 2)
|
||||
echo '<span class="faicon arrow_up mobile_expanding_arrow"></span>';*/
|
||||
|
||||
echo '</div>';
|
||||
|
||||
|
||||
@ -699,6 +699,217 @@ class MultigridMobileController extends Controller{
|
||||
echo '</div>';
|
||||
}
|
||||
|
||||
/**
|
||||
* @desc prikaze vnosno polje za dinamicen multigrid (vcash postopno resevanje)
|
||||
*/
|
||||
public function radioHorizontalDynamicMultigrid($spremenljivka){
|
||||
|
||||
$loop_id = get('loop_id') == null ? " IS NULL" : " = '" . get('loop_id') . "'";
|
||||
|
||||
$row = Model::select_from_srv_spremenljivka($spremenljivka);
|
||||
|
||||
$spremenljivkaParams = new enkaParameters($row['params']);
|
||||
$gridWidth = (($spremenljivkaParams->get('gridWidth') > 0) ? $spremenljivkaParams->get('gridWidth') : 30);
|
||||
|
||||
$diferencial_trak = ($spremenljivkaParams->get('diferencial_trak') ? $spremenljivkaParams->get('diferencial_trak') : 0); //za checkbox trak
|
||||
|
||||
|
||||
// izracuni za sirino celic
|
||||
$size = $row['grids'];
|
||||
|
||||
# polovimo vrednosti gridov, prevedmo naslove in hkrati preverimo ali imamo missinge
|
||||
$srv_grids = array();
|
||||
$mv_count = 0; # koliko je stolpcev z manjkajočimi vrednostmi
|
||||
# če polje other != 0 je grid kot missing
|
||||
$sql_grid = sisplet_query("SELECT * FROM srv_grid WHERE spr_id='$row[id]' ORDER BY vrstni_red");
|
||||
|
||||
while ($row_grid = mysqli_fetch_assoc($sql_grid)) {
|
||||
# priredimo naslov če prevajamo anketo
|
||||
$naslov = Language::srv_language_grid($row['id'], $row_grid['id']);
|
||||
if ($naslov != '') {
|
||||
$row_grid['naslov'] = $naslov;
|
||||
}
|
||||
$srv_grids[$row_grid['id']] = $row_grid;
|
||||
# če je označena kot manjkajoča jo prištejemo k manjkajočim
|
||||
if ($row_grid['other'] != 0) {
|
||||
$mv_count++;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
# če imamo mankajoče potem dodamo še en prazen stolpec za razmak
|
||||
if ($mv_count > 0) {
|
||||
$size += 1 + $mv_count;
|
||||
}
|
||||
if ($row['enota'] == 1) {
|
||||
$size += 2;
|
||||
}
|
||||
|
||||
$size += 1;
|
||||
|
||||
|
||||
$orderby = Model::generate_order_by_field($spremenljivka, get('usr_id'));
|
||||
|
||||
# cache tabele srv_data_grid, da se ne dela vsakic posebej nov query (preberemo enkrat vse odgovore userja)
|
||||
$srv_data_grid = array();
|
||||
$sql_grid = sisplet_query("SELECT * FROM srv_data_grid" . get('db_table') . " WHERE spr_id='$row[id]' AND usr_id='" . get('usr_id') . "' AND loop_id $loop_id");
|
||||
while ($row_grid = mysqli_fetch_array($sql_grid)) {
|
||||
$srv_data_grid[$row_grid['vre_id']] = $row_grid;
|
||||
}
|
||||
|
||||
# loop skozi srv_vrednost, da izpišemo vrstice z vrednostmi
|
||||
$gridRow = 1;
|
||||
$hide = false;
|
||||
$sql1 = sisplet_query("SELECT * FROM srv_vrednost WHERE spr_id='$row[id]' ORDER BY FIELD(vrstni_red, $orderby)");
|
||||
$countVar = mysqli_num_rows($sql1);
|
||||
|
||||
// Stevilo vseh vrednosti
|
||||
echo '<input type="hidden" id="dynamic_multigrid_' . $spremenljivka . '" value="' . $countVar . '" />';
|
||||
// Indikator da v js vemo ali smo ravnokar naloudali stran ali pa smo samo premaknili vrstico (potrebno zaradi prikazovanja glede na ife v dolocenih primerih)
|
||||
echo '<input type="hidden" id="dynamic_multigrid_' . $spremenljivka . '_load" value="1" />';
|
||||
|
||||
while ($row1 = mysqli_fetch_array($sql1)) {
|
||||
# po potrebi prevedemo naslov
|
||||
$naslov = Language::getInstance()->srv_language_vrednost($row1['id']);
|
||||
if ($naslov != '') {
|
||||
$row1['naslov'] = $naslov;
|
||||
}
|
||||
# preverimo izbrano vrednost
|
||||
$grid_id = $srv_data_grid[$row1['id']]['grd_id'];
|
||||
|
||||
# ugotovimo ali je na katerem gridu predhodno izbran missing
|
||||
$is_missing = false;
|
||||
if (count($srv_grids) > 0) {
|
||||
foreach ($srv_grids AS $i => $srv_grid) {
|
||||
if ($srv_grid['other'] != 0 && $srv_grids[$i]['id'] == $grid_id) {
|
||||
$is_missing = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Datapiping
|
||||
$row1['naslov'] = Helper::dataPiping($row1['naslov']);
|
||||
|
||||
$ifDisplay = ($row1['if_id'] > 0 ? ' if_hide' : '');
|
||||
// Ce lahko prikazemo vrstico (se ni nobena izrisana in ni skrita z ifom) -> naslednjih ne izrisujemo vec
|
||||
if ($hide == false && $row1['hidden'] == 0 && $row1['if_id'] == 0) {
|
||||
$gridRowDisplay = '';
|
||||
$hide = true;
|
||||
} else
|
||||
$gridRowDisplay = ' style="display:none;"';
|
||||
|
||||
echo ' <div id="vrednost_if_'.$row1['id'].'" seq="'.$gridRow.'" class="'.$spremenljivka.'_gridRow '.$spremenljivka.'_gridRow_'.$gridRow.' '.$ifDisplay.'" '.$gridRowDisplay.'>' . "\n";
|
||||
|
||||
echo '<div>';
|
||||
|
||||
echo '<div class="dynamic_mg_vrednost">';
|
||||
echo $row1['naslov'];
|
||||
if ($row1['other'] == 1) {
|
||||
$sql3 = sisplet_query("SELECT text FROM srv_data_text" . get('db_table') . " WHERE spr_id='$spremenljivka' AND vre_id='$row1[id]' AND usr_id='" . get('usr_id') . "' AND loop_id $loop_id");
|
||||
$row3 = mysqli_fetch_array($sql3);
|
||||
|
||||
$otherWidth = ($spremenljivkaParams->get('otherWidth') ? $spremenljivkaParams->get('otherWidth') : -1);
|
||||
$otherHeight = ($spremenljivkaParams->get('otherHeight') ? $spremenljivkaParams->get('otherHeight') : 1);
|
||||
|
||||
if ($otherHeight > 1)
|
||||
echo ' <textarea name="textfield_' . $row1['id'] . '" rows="' . $otherHeight . '" style="' . ($otherWidth != -1 ? ' width:' . $otherWidth . '%;' : '') . '" ' . ($is_missing ? ' disabled' : '') . '>' . ($is_missing ? '' : $row3['text']) . '</textarea>';
|
||||
else
|
||||
echo ' <input type="text" name="textfield_' . $row1['id'] . '" value="' . ($is_missing ? '' : $row3['text']) . '" style="' . ($otherWidth != -1 ? ' width:' . $otherWidth . '%;' : '') . '" ' . ($is_missing ? ' disabled' : '') . ' />';
|
||||
|
||||
|
||||
//echo ' <input type="text" name="textfield_'.$row1['id'].'" value="'.($is_missing ? '' : $row3['text']).'" '.($is_missing ? ' disabled' :'').'>';
|
||||
}
|
||||
echo '</div>';
|
||||
|
||||
if (count($srv_grids) > 0) {
|
||||
$first_missing_value = true;
|
||||
foreach ($srv_grids AS $i => $srv_grid) {
|
||||
if ((string)$srv_grid['other'] != '0' && $first_missing_value == true) {
|
||||
# dodamo spejs pred manjkajočimi vrednostmi
|
||||
$first_missing_value = false;
|
||||
}
|
||||
$value = $srv_grids[$i]['id'];
|
||||
$grid_title = $srv_grids[$i]['naslov'];
|
||||
|
||||
// Datapiping
|
||||
$grid_title = Helper::dataPiping($grid_title);
|
||||
|
||||
$smeski ='';
|
||||
if(in_array($row['enota'], [11,12])){
|
||||
$smeski = 'visual-radio-scale visual-radio-block';
|
||||
}
|
||||
|
||||
# izpišemo radio grida
|
||||
echo '<div class="variabla '.$smeski.'">';
|
||||
if ($srv_grid['other'] != 0) {
|
||||
# imamo missing vrednost
|
||||
echo '<label for="grid_missing_value_' . $row1['id'] . '_grid_' . $value . '">';
|
||||
if ($gridRow < $countVar)
|
||||
echo '<input type="radio" name="vrednost_' . $row1['id'] . '" id="grid_missing_value_' . $row1['id'] . '_grid_' . $value . '" value="' . $value . '"' . (($grid_id == $value && $grid_id != '') ? ' checked' : '') . ' data-calculation="0" onclick="checkChecked(this); checkTableMissing(this); checkBranching(); setCheckedClass(this, \'mm\', ' . $row1['id'] . '); rowSlide(\'' . $spremenljivka . '\', \'' . $gridRow . '\', \'' . ($gridRow + 1) . '\');">';
|
||||
else
|
||||
echo '<input type="radio" name="vrednost_' . $row1['id'] . '" id="grid_missing_value_' . $row1['id'] . '_grid_' . $value . '" value="' . $value . '"' . (($grid_id == $value && $grid_id != '') ? ' checked' : '') . ' data-calculation="0" onclick="checkChecked(this); checkTableMissing(this); checkBranching(); setCheckedClass(this, \'mm\', ' . $row1['id'] . ');' . ($row['onchange_submit'] == 1 ? ' submitForm();' : '') . '">';
|
||||
|
||||
// Font awesome
|
||||
echo '<span class="enka-checkbox-radio ' . (($row1['hidden'] == 2) ? ' answer-disabled' : '') .'"'.
|
||||
((Helper::getCustomCheckbox() != 0) ? (' style="font-size:' . Helper::getCustomCheckbox().'px;"') : '').
|
||||
'></span>';
|
||||
|
||||
echo ' ' . $grid_title . '</label>';
|
||||
} else {
|
||||
# ni missing vrednost
|
||||
echo '<label for="vrednost_' . $row1['id'] . '_grid_' . $value . '">';
|
||||
if ($gridRow < $countVar)
|
||||
echo '<input type="radio" name="vrednost_' . $row1['id'] . '" id="vrednost_' . $row1['id'] . '_grid_' . $value . '" value="' . $value . '"' . (($grid_id == $value && $grid_id != '' && !$is_missing) ? ' checked' : '') . ($is_missing ? ' disabled' : '') . ' data-calculation="' . $srv_grids[$i]['variable'] . '" onclick="checkChecked(this); checkBranching(); setCheckedClass(this, \'mm\', ' . $row1['id'] . '); rowSlide(\'' . $spremenljivka . '\', \'' . $gridRow . '\', \'' . ($gridRow + 1) . '\');">';
|
||||
else
|
||||
echo '<input type="radio" name="vrednost_' . $row1['id'] . '" id="vrednost_' . $row1['id'] . '_grid_' . $value . '" value="' . $value . '"' . (($grid_id == $value && $grid_id != '' && !$is_missing) ? ' checked' : '') . ($is_missing ? ' disabled' : '') . ' data-calculation="' . $srv_grids[$i]['variable'] . '" onclick="checkChecked(this); checkBranching(); setCheckedClass(this, \'mm\', ' . $row1['id'] . '); ' . ($row['onchange_submit'] == 1 ? ' submitForm();' : '') . '">';
|
||||
|
||||
// Font awesome
|
||||
if($row['enota'] == 11){
|
||||
echo '<span class="enka-vizualna-skala siv-'.$row['grids'].$value.'"></span>';
|
||||
}elseif($row['enota'] == 12){
|
||||
echo '<span class="enka-custom-radio '.$spremenljivkaParams->get('customRadio').'"></span>';
|
||||
}else {
|
||||
echo '<span class="enka-checkbox-radio ' . (($row1['hidden'] == 2) ? ' answer-disabled' : '') . '"' .
|
||||
((Helper::getCustomCheckbox() != 0) ? (' style="font-size:' . Helper::getCustomCheckbox() . 'px;"') : '') .
|
||||
'></span>';
|
||||
}
|
||||
|
||||
echo ' ' . $grid_title . '</label>';
|
||||
}
|
||||
echo '</div>';
|
||||
}
|
||||
}
|
||||
|
||||
// Dodamo se drug naslov ce imamo semanticni diferencial
|
||||
if ($row['enota'] == 1) {
|
||||
|
||||
// Datapiping
|
||||
$row1['naslov2'] = Helper::dataPiping($row1['naslov2']);
|
||||
|
||||
echo '<div class="dynamic_mg_vrednost">';
|
||||
echo $row1['naslov2'];
|
||||
echo '</div>';
|
||||
}
|
||||
|
||||
echo '</div>';
|
||||
|
||||
|
||||
echo '</tr><tr class="gridRowArrows ' . $spremenljivka . '_gridRowArrows_' . $gridRow . ' ' . $ifDisplay . '" ' . $gridRowDisplay . '><td colspan="' . $colspan . '">';
|
||||
echo ' <table class="dynamic_mg_orientation"><tr>' . "\n";
|
||||
for ($i = 1; $i <= $countVar; $i++) {
|
||||
echo ' <td><div title="' . $i . '" id="sequence_number_' . $i . '" class="sequence_number sequence_number_'.$i.' ' . ($i == $gridRow ? ' active' : '') . '" onClick="rowSlide(\'' . $spremenljivka . '\', \'' . $gridRow . '\', \'' . $i . '\');">' . $i . '</div></td>';
|
||||
}
|
||||
echo ' </tr></table>' . "\n";
|
||||
echo '</td>';
|
||||
|
||||
|
||||
echo ' </div>' . "\n";
|
||||
|
||||
$bg++;
|
||||
$gridRow++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @desc prikaze vnosno polje za tabelo checkbox
|
||||
@ -714,7 +925,9 @@ class MultigridMobileController extends Controller{
|
||||
|
||||
// Nastavitev za prilagoditev mobilnih tabel (z razpiranjem ali brez)
|
||||
SurveySetting::getInstance()->Init(get('anketa'));
|
||||
$tables_setting = (get('mobile') == 1) ? SurveySetting::getInstance()->getSurveyMiscSetting('mobile_tables') : SurveySetting::getInstance()->getSurveyMiscSetting('pc_tables');
|
||||
|
||||
// Pridobimo nastavitve za prikaz tabele
|
||||
$tables_setting = self::getInstance()->getTableSettings($spremenljivkaParams);
|
||||
|
||||
|
||||
$gridAlign = (($spremenljivkaParams->get('gridAlign') > 0) ? $spremenljivkaParams->get('gridAlign') : 0);
|
||||
@ -931,7 +1144,9 @@ class MultigridMobileController extends Controller{
|
||||
|
||||
// Nastavitev za prilagoditev mobilnih tabel (z razpiranjem ali brez)
|
||||
SurveySetting::getInstance()->Init(get('anketa'));
|
||||
$tables_setting = (get('mobile') == 1) ? SurveySetting::getInstance()->getSurveyMiscSetting('mobile_tables') : SurveySetting::getInstance()->getSurveyMiscSetting('pc_tables');
|
||||
|
||||
// Pridobimo nastavitve za prikaz tabele
|
||||
$tables_setting = self::getInstance()->getTableSettings($spremenljivkaParams);
|
||||
|
||||
|
||||
$gridAlign = (($spremenljivkaParams->get('gridAlign') > 0) ? $spremenljivkaParams->get('gridAlign') : 0);
|
||||
@ -1265,7 +1480,9 @@ class MultigridMobileController extends Controller{
|
||||
|
||||
// Nastavitev za prilagoditev mobilnih tabel (z razpiranjem ali brez)
|
||||
SurveySetting::getInstance()->Init(get('anketa'));
|
||||
$tables_setting = (get('mobile') == 1) ? SurveySetting::getInstance()->getSurveyMiscSetting('mobile_tables') : SurveySetting::getInstance()->getSurveyMiscSetting('pc_tables');
|
||||
|
||||
// Pridobimo nastavitve za prikaz tabele
|
||||
$tables_setting = self::getInstance()->getTableSettings($spremenljivkaParams);
|
||||
|
||||
|
||||
$gridAlign = (($spremenljivkaParams->get('gridAlign') > 0) ? $spremenljivkaParams->get('gridAlign') : 0);
|
||||
@ -1614,4 +1831,29 @@ class MultigridMobileController extends Controller{
|
||||
// END grid_mobile
|
||||
echo '</div>';
|
||||
}
|
||||
|
||||
|
||||
// Pridobimo nastavitve tabele (prikaz na mobile ali pc)
|
||||
public function getTableSettings($spremenljivkaParams){
|
||||
|
||||
// Pridobimo nastavitve za mobile tabele
|
||||
if(get('mobile') == 1){
|
||||
$tables_setting = $spremenljivkaParams->get('mobile_tables');
|
||||
|
||||
// Ce nimamo individualnih nastavitev pridobimo splosne nastavitve tabel
|
||||
if($tables_setting == 0)
|
||||
$tables_setting = SurveySetting::getInstance()->getSurveyMiscSetting('mobile_tables');
|
||||
|
||||
}
|
||||
// Pridobimo nastavitve za pc tabele
|
||||
else{
|
||||
$tables_setting = $spremenljivkaParams->get('pc_tables');
|
||||
|
||||
// Ce nimamo individualnih nastavitev pridobimo splosne nastavitve tabel
|
||||
if($tables_setting == 0)
|
||||
$tables_setting = SurveySetting::getInstance()->getSurveyMiscSetting('pc_tables');
|
||||
}
|
||||
|
||||
return $tables_setting;
|
||||
}
|
||||
}
|
@ -229,20 +229,14 @@ class VprasanjaController extends Controller
|
||||
|
||||
|
||||
// JS za mobilno razpiranje tabel
|
||||
SurveySetting::getInstance()->Init(get('anketa'));
|
||||
$mobile_tables = SurveySetting::getInstance()->getSurveyMiscSetting('mobile_tables');
|
||||
$pc_tables = SurveySetting::getInstance()->getSurveyMiscSetting('pc_tables');
|
||||
echo '<script>
|
||||
$(document).ready(
|
||||
function(){
|
||||
mobileMultigridExpandable();
|
||||
}
|
||||
);
|
||||
</script>';
|
||||
|
||||
if(($mobile_tables == 2 && get('mobile') == 1) || ($pc_tables == 2 && get('mobile') != 1)){
|
||||
|
||||
echo '<script>
|
||||
$(document).ready(
|
||||
function(){
|
||||
mobileMultigridExpandable();
|
||||
}
|
||||
);
|
||||
</script>';
|
||||
}
|
||||
|
||||
// JS za razpiranje tabel znotraj bloka s to nastavitvijo
|
||||
echo '<script>
|
||||
@ -704,11 +698,10 @@ class VprasanjaController extends Controller
|
||||
// Tabela - radio
|
||||
case 6:
|
||||
|
||||
SurveySetting::getInstance()->Init(get('anketa'));
|
||||
$mobile_tables = SurveySetting::getInstance()->getSurveyMiscSetting('mobile_tables');
|
||||
$pc_tables = SurveySetting::getInstance()->getSurveyMiscSetting('pc_tables');
|
||||
// Pridobimo nastavitve za prikaz tabele
|
||||
$tables_setting = MultigridMobile::getInstance()->getTableSettings($spremenljivkaParams);
|
||||
|
||||
// Izris multigrida s postopnim resevanjem
|
||||
// Izris multigrida s postopnim resevanjem - ostanek za stare ankete
|
||||
if($row['dynamic_mg'] > 0 && !get('printPreview')){
|
||||
|
||||
if ($row['dynamic_mg'] == 1 || $row['dynamic_mg'] == 3 || $row['dynamic_mg'] == 5)
|
||||
@ -716,16 +709,23 @@ class VprasanjaController extends Controller
|
||||
else
|
||||
Dynamic::getInstance()->verticalMultigrid($spremenljivka);
|
||||
}
|
||||
// Izris radio multigrida na mobitelu
|
||||
elseif ((get('mobile') == 1 && $mobile_tables > 0) || (get('mobile') != 1 && $pc_tables > 0)) {
|
||||
// Izris multigrida na mobitelu
|
||||
elseif (get('mobile') == 1 && $tables_setting > 0) {
|
||||
|
||||
// Dvojni multigrid
|
||||
if($row['enota'] == 3)
|
||||
MultigridMobile::getInstance()->radioDoubleMultigrid($spremenljivka);
|
||||
else
|
||||
MultigridMobile::getInstance()->radioMultigrid($spremenljivka);
|
||||
// Prilagojena tabela s horizontalnim pomikanjem
|
||||
if ($tables_setting == 3) {
|
||||
MultigridMobile::getInstance()->radioHorizontalDynamicMultigrid($spremenljivka);
|
||||
}
|
||||
else{
|
||||
|
||||
// Dvojni multigrid
|
||||
if($row['enota'] == 3)
|
||||
MultigridMobile::getInstance()->radioDoubleMultigrid($spremenljivka);
|
||||
else
|
||||
MultigridMobile::getInstance()->radioMultigrid($spremenljivka);
|
||||
}
|
||||
}
|
||||
// Ostali podtipi tabel
|
||||
// Podtipi tabel
|
||||
else{
|
||||
|
||||
// Izris glede na podtip
|
||||
@ -738,7 +738,19 @@ class VprasanjaController extends Controller
|
||||
|
||||
// Dvojni multigrid
|
||||
case 3:
|
||||
Double::getInstance()->grid($spremenljivka);
|
||||
|
||||
// Prilagojena tabela
|
||||
if ($tables_setting == 1 || $tables_setting == 2) {
|
||||
MultigridMobile::getInstance()->radioDoubleMultigrid($spremenljivka);
|
||||
}
|
||||
// Prilagojena tabela s horizontalnim pomikanjem
|
||||
elseif ($tables_setting == 3) {
|
||||
MultigridMobile::getInstance()->radioHorizontalDynamicMultigrid($spremenljivka);
|
||||
}
|
||||
else{
|
||||
Double::getInstance()->grid($spremenljivka);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
// OneAgainstAnother
|
||||
@ -768,7 +780,19 @@ class VprasanjaController extends Controller
|
||||
|
||||
// Navaden multigrid
|
||||
default:
|
||||
Multigrid::getInstance()->display($spremenljivka);
|
||||
|
||||
// Prilagojena tabela
|
||||
if ($tables_setting == 1 || $tables_setting == 2) {
|
||||
MultigridMobile::getInstance()->radioMultigrid($spremenljivka);
|
||||
}
|
||||
// Prilagojena tabela s horizontalnim pomikanjem
|
||||
elseif ($tables_setting == 3) {
|
||||
MultigridMobile::getInstance()->radioHorizontalDynamicMultigrid($spremenljivka);
|
||||
}
|
||||
else{
|
||||
Multigrid::getInstance()->display($spremenljivka);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -779,12 +803,11 @@ class VprasanjaController extends Controller
|
||||
// Tabela - checkbox
|
||||
case 16:
|
||||
|
||||
SurveySetting::getInstance()->Init(get('anketa'));
|
||||
$mobile_tables = SurveySetting::getInstance()->getSurveyMiscSetting('mobile_tables');
|
||||
$pc_tables = SurveySetting::getInstance()->getSurveyMiscSetting('pc_tables');
|
||||
// Pridobimo nastavitve za prikaz tabele
|
||||
$tables_setting = MultigridMobile::getInstance()->getTableSettings($spremenljivkaParams);
|
||||
|
||||
// Izris checkbox multigrida na mobitelu
|
||||
if ((get('mobile') == 1 && $mobile_tables > 0) || (get('mobile') != 1 && $pc_tables > 0)) {
|
||||
if (get('mobile') == 1 && $tables_setting > 0) {
|
||||
|
||||
// Dvojni multigrid
|
||||
if($row['enota'] == 3)
|
||||
@ -798,7 +821,15 @@ class VprasanjaController extends Controller
|
||||
|
||||
// Dvojni multicheckboxa
|
||||
case 3:
|
||||
Double::getInstance()->checkGrid($spremenljivka);
|
||||
|
||||
// Prilagojena tabela
|
||||
if ($tables_setting > 0) {
|
||||
MultigridMobile::getInstance()->checkboxDoubleMultigrid($spremenljivka);
|
||||
}
|
||||
else{
|
||||
Double::getInstance()->checkGrid($spremenljivka);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
// SelectBox
|
||||
@ -808,7 +839,15 @@ class VprasanjaController extends Controller
|
||||
|
||||
// Navaden checkbox
|
||||
case 0:
|
||||
Multigrid::getInstance()->checkbox($spremenljivka);
|
||||
|
||||
// Prilagojena tabela
|
||||
if ($tables_setting > 0) {
|
||||
MultigridMobile::getInstance()->checkboxDoubleMultigrid($spremenljivka);
|
||||
}
|
||||
else{
|
||||
Multigrid::getInstance()->checkbox($spremenljivka);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
// Grid drag and drop
|
||||
@ -825,15 +864,13 @@ class VprasanjaController extends Controller
|
||||
case 19:
|
||||
case 20:
|
||||
|
||||
SurveySetting::getInstance()->Init(get('anketa'));
|
||||
$mobile_tables = SurveySetting::getInstance()->getSurveyMiscSetting('mobile_tables');
|
||||
$pc_tables = SurveySetting::getInstance()->getSurveyMiscSetting('pc_tables');
|
||||
// Pridobimo nastavitve za prikaz tabele
|
||||
$tables_setting = MultigridMobile::getInstance()->getTableSettings($spremenljivkaParams);
|
||||
|
||||
// Izris text in number multigrida na mobitelu
|
||||
if ((get('mobile') == 1 && $mobile_tables > 0) || (get('mobile') != 1 && $pc_tables > 0)) {
|
||||
// Prilagojena tabela
|
||||
if ($tables_setting > 0) {
|
||||
MultigridMobile::getInstance()->textMultigrid($spremenljivka);
|
||||
}
|
||||
// Izris navadnega text in number multigrida
|
||||
else{
|
||||
Text::getInstance()->multitext($spremenljivka);
|
||||
}
|
||||
|
@ -1013,7 +1013,7 @@ function dynamicMultigridFixAllArrows(spremenljivka){
|
||||
function mobileMultigridExpandable(){
|
||||
|
||||
// Pri kliku na naslov podvprasanja razpremo/zapremo podvprasanje
|
||||
$(".grid_mobile_title").click(function(){
|
||||
$(".grid_mobile.mobile_expanding .grid_mobile_title").click(function(){
|
||||
|
||||
// Double gridi imajo zaenkrat to izklopljeno
|
||||
if(!$(this).parent().parent().hasClass("double")){
|
||||
@ -1032,21 +1032,21 @@ function mobileMultigridExpandable(){
|
||||
function mobileMultigridExpandableRadio(){
|
||||
|
||||
// Na zacetku skrijemo vedno vse razen prvega
|
||||
$(".grid_mobile.radio:not(.double)").find("div.grid_mobile_variables:not(:first)").hide(function(){
|
||||
$(".grid_mobile.mobile_expanding.radio:not(.double)").find("div.grid_mobile_variables:not(:first)").hide(function(){
|
||||
mobileMultigridExpandableArrow(this);
|
||||
});
|
||||
|
||||
// Obrnemo puscico za razpiranje
|
||||
$(".grid_mobile.radio:not(.double)").find("div.grid_mobile_variables:not(:first)").parent().find(".mobile_expanding_arrow").toggleClass("arrow_down").toggleClass("arrow_up");
|
||||
$(".grid_mobile.mobile_expanding.radio:not(.double)").find("div.grid_mobile_variables:not(:first)").parent().find(".mobile_expanding_arrow").toggleClass("arrow_down").toggleClass("arrow_up");
|
||||
|
||||
// Pokazemo div z rezultatom
|
||||
$(".grid_mobile.radio:not(.double)").find("div.grid_mobile_variables:not(:first)").parent().find(".grid_mobile_result").show();
|
||||
$(".grid_mobile.mobile_expanding.radio:not(.double)").find("div.grid_mobile_variables:not(:first)").parent().find(".grid_mobile_result").show();
|
||||
|
||||
// Pri kliku na radio zapremo in razpremo naslednji segment
|
||||
$("input[type=\"radio\"]").click(function(){
|
||||
|
||||
// Ce gre za radio znotraj tabele
|
||||
if($(this).closest(".grid_mobile_variables").length > 0 && !$(this).closest(".grid_mobile_variables").parent().parent().hasClass("double")){
|
||||
if($(this).closest(".grid_mobile.mobile_expanding .grid_mobile_variables").length > 0 && !$(this).closest(".grid_mobile_variables").parent().parent().hasClass("double")){
|
||||
|
||||
var podvprasanje_current = $(this).closest(".grid_mobile_variables");
|
||||
var podvprasanje_next = $(podvprasanje_current).parent().next().find(".grid_mobile_variables");
|
||||
|
Loading…
x
Reference in New Issue
Block a user