742 lines
31 KiB
JavaScript
742 lines
31 KiB
JavaScript
![]() |
var vre_id_prej = []; //polje, ki belezi indeks prejsnjega obmocja
|
|||
|
var refresh = []; //polje, ki belezi, ali je bil refresh ali ne
|
|||
|
var refreshed = []; //polje, ki belezi, ali je bil refresh ali ne
|
|||
|
|
|||
|
//init za radio grid
|
|||
|
function mapinitRadioGrid (spremenljivka, options, hotspot_region_visibility_option, hotspot_tooltips_option, hotspot_region_color, hotspot_visibility_color, quick_view) {
|
|||
|
|
|||
|
$('#hotspot_image_'+spremenljivka+' .grid_table').css("display", "none"); //skrij tabelo z odgovori radio button, kjer se bodo bele<6C>ili odgovori
|
|||
|
hotspot_visibility_color = hotspot_visibility_color.slice(1);
|
|||
|
//identifier za sliko na katero se veze mapa z obmocji
|
|||
|
var image1 = $('#hotspot_'+spremenljivka+'_image');
|
|||
|
|
|||
|
//urejanje prikazovanja obmocij za respondente
|
|||
|
if (hotspot_region_visibility_option == 0){ //skrij obmocja
|
|||
|
hotspot_region_visibility_option = false;
|
|||
|
var hotspot_region_visibility_option_highlight = false;
|
|||
|
var hotspot_region_visibility_option_clicked = false;
|
|||
|
}else if (hotspot_region_visibility_option == 1){ //pokazi obmocja
|
|||
|
hotspot_region_visibility_option = true;
|
|||
|
var hotspot_region_visibility_option_highlight = true;
|
|||
|
var hotspot_region_visibility_option_clicked = false;
|
|||
|
}else if (hotspot_region_visibility_option == 2){ //pokazi obmocja ob mouse over
|
|||
|
hotspot_region_visibility_option = false;
|
|||
|
var hotspot_region_visibility_option_highlight = true;
|
|||
|
var hotspot_region_visibility_option_clicked = false;
|
|||
|
}else if (hotspot_region_visibility_option == 3){
|
|||
|
hotspot_region_visibility_option = false;
|
|||
|
var hotspot_region_visibility_option_highlight = false;
|
|||
|
var hotspot_region_visibility_option_clicked = true;
|
|||
|
}
|
|||
|
|
|||
|
//za handle-anje refresh in naprej/nazaj **********************************************************************
|
|||
|
//vre_id_d belezi, ali ob morebitnem odgovarjanju in naprej/nazaj ali refresh-u, kateri radio button je izbran
|
|||
|
var vre_id_d = [];
|
|||
|
var grid_id = [];
|
|||
|
var hiddenInputs = $('#hotspot_image_'+spremenljivka+' .grid_table').children('tbody').children('tr');
|
|||
|
|
|||
|
hiddenInputs.each(function (index, value) {
|
|||
|
//vre_id_d[index] = $(this).val();
|
|||
|
var that = $(this);
|
|||
|
//vre_id_d[index] = $(this).attr('id');
|
|||
|
//console.log(vre_id_d[index]);
|
|||
|
that.each(function (i, value) {
|
|||
|
var this_id = $(this).attr('id');
|
|||
|
var vre_id_child = $('#'+this_id).find('input[ checked="" ]').attr('vre_id'); //vre_id tistih radio buttonov, ki so izbrani
|
|||
|
var grid_id_child = $('#'+this_id).find('input[ checked="" ]').val(); //vre_id tistih radio buttonov, ki so izbrani
|
|||
|
//console.log("vre_id_child:"+vre_id_child+" z indeksom:"+index);
|
|||
|
vre_id_d[index] = vre_id_child;
|
|||
|
grid_id[vre_id_child] = grid_id_child;
|
|||
|
refreshed[vre_id_child] = false;
|
|||
|
//console.log("refreshed za vre_id:"+vre_id_d[index]+" je false v imagemapRespondent");
|
|||
|
//console.log("vre_id:"+vre_id_d[index]);
|
|||
|
});
|
|||
|
|
|||
|
});
|
|||
|
|
|||
|
/* $('#hotspot_image_'+spremenljivka+' .checked input[ checked="" ]').each(function (index, value) {
|
|||
|
vre_id_d[index] = $(this).val();
|
|||
|
console.log(vre_id_d[index]);
|
|||
|
}); */
|
|||
|
|
|||
|
if(vre_id_d[0] === undefined){
|
|||
|
refresh[spremenljivka] = false;
|
|||
|
console.log("Not refreshed");
|
|||
|
}else{
|
|||
|
refresh[spremenljivka] = true;
|
|||
|
console.log("Refreshed");
|
|||
|
}
|
|||
|
|
|||
|
//za handle-anje refresh in naprej/nazaj - konec ********************************************************************
|
|||
|
|
|||
|
var map = $('#hotspot_'+spremenljivka+'_map');
|
|||
|
var izbranaObmocja = {};
|
|||
|
|
|||
|
//pokazi vse atribute name, ki so children od map
|
|||
|
/* test.children().each(function (index, value) {
|
|||
|
console.log('div' + index + ':' + $(this).attr('name'));
|
|||
|
}); */
|
|||
|
var obmocja = []; //polje za belezenje imen obmocij
|
|||
|
|
|||
|
//poberi imena obmocij (area) map in jih zabelezi b polje "obmocja"
|
|||
|
map.children().each(function (index, value) {
|
|||
|
obmocja[index] = $(this).attr('name');
|
|||
|
});
|
|||
|
|
|||
|
//polje obmocja preuredi v besedilo
|
|||
|
var obmocja_string = obmocja.toString();
|
|||
|
|
|||
|
//funkcija, ki se sprozi ob prikazovanju tooltip-a
|
|||
|
function urediRadioGrid(data){
|
|||
|
//console.log("Uredi Radio z data: "+data.key);
|
|||
|
var vre_id = 0;
|
|||
|
var identifikator = '';
|
|||
|
//if(refresh[spremenljivka] && refreshed[data.key] == false){
|
|||
|
if(refreshed[data.key] == false){
|
|||
|
vre_id_d.forEach(function (item, i){
|
|||
|
//console.log("grem cez vse, ce je refresh data.key:"+data.key);
|
|||
|
//console.log("Vred_id z indeksom "+i+" je:"+item);
|
|||
|
if(item == data.key){
|
|||
|
//console.log("Sta enaka:"+data.key);
|
|||
|
vre_id = item;
|
|||
|
//console.log("Vre_id r:"+vre_id)
|
|||
|
identifikator = '#vrednost_'+vre_id+"_grid_"+grid_id[vre_id];
|
|||
|
}
|
|||
|
});
|
|||
|
}else{
|
|||
|
vre_id = data.key;
|
|||
|
identifikator = '#vrednost_if_'+vre_id;
|
|||
|
//console.log("Vre_id not r:"+vre_id);
|
|||
|
}
|
|||
|
|
|||
|
//console.log("identifikator:"+identifikator);
|
|||
|
//console.log("$(identifikator).prop('checked'):"+$(identifikator).prop('checked'));
|
|||
|
//console.log("quick_view:"+quick_view);
|
|||
|
if(quick_view){ //ce je vpogled v podatkih, je potrebno disable-at radiobutton-e
|
|||
|
var test = $('#im_vrednost_if_'+data.key).find('input');
|
|||
|
test.each(function (index, value) {
|
|||
|
var idPointa = $(this).attr('id');
|
|||
|
$('#'+idPointa).prop('disabled', true);
|
|||
|
|
|||
|
$('#'+idPointa).attr('onclick', ''); //sprazni onclick funkcije
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
if($(identifikator).hasClass('checked')){ //ce je checked
|
|||
|
//oznaci na tooltip ustrezen radio button
|
|||
|
var id = $(identifikator+' input:checked').attr("id"); //id zabelezenega radio button-a v multigrid-u
|
|||
|
id = "im_"+id;
|
|||
|
$('#'+id).prop( "checked", true ); //oznacitev ustreznega radio button-a v tooltip-u
|
|||
|
}else if($(identifikator).prop('checked')){
|
|||
|
//oznaci na tooltip ustrezen radio button
|
|||
|
var id = $(identifikator).attr('id'); //id zabelezenega radio button-a v multigrid-u
|
|||
|
id = "im_"+id;
|
|||
|
//console.log("id prop checked:"+id);
|
|||
|
$('#'+id).prop( 'checked', true ); //oznacitev ustreznega radio button-a v tooltip-u (komentar: ce je quick_view, zbrise izbire v skritme multigridu)
|
|||
|
//console.log("$('#'+id).prop('checked'):"+$('#'+id).prop('checked'));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//funkcija, ki se sprozi ob kliku na obmocje
|
|||
|
function pokaziNamigObKliku(data){
|
|||
|
if (hotspot_tooltips_option == 2){
|
|||
|
var vre_id = data.key;
|
|||
|
image1.mapster('tooltip',vre_id);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//funkcija, ki uredi delovanje toolTipClose
|
|||
|
function urediZapiranjeNamiga(data){
|
|||
|
if (hotspot_tooltips_option == 2){ //ce je moznost prikazovanja namiga ob kliku na obmocje
|
|||
|
var vre_id = data.key;
|
|||
|
return ["area-click"];
|
|||
|
}else if(hotspot_tooltips_option != 2){ //drugace, naj se namig zapre ob kliku na sam namig
|
|||
|
return ["tooltip-click"];
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//funkcija, ki uredi delovanje prikazovanja namiga
|
|||
|
function urediNamig(data){
|
|||
|
//urejanje prikazovanja namigov/tooltips za respondente
|
|||
|
if (hotspot_tooltips_option == 0){ //Prikazi namig ob vstopu miske
|
|||
|
var out = true;
|
|||
|
return out;
|
|||
|
}else if (hotspot_tooltips_option == 1){ //Skrij namig
|
|||
|
var out = false;
|
|||
|
return out;
|
|||
|
} else if (hotspot_tooltips_option == 2){ //Prikazi namig ob kliku miske
|
|||
|
var out = false;
|
|||
|
return out;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//urejanje prikazovanja namigov/tooltips za respondente
|
|||
|
if (hotspot_tooltips_option == 0){ //Prikazi namig ob vstopu miske
|
|||
|
var hotspot_show_tooltips = true;
|
|||
|
}else if (hotspot_tooltips_option == 1){ //Skrij namig
|
|||
|
var hotspot_show_tooltips = false;
|
|||
|
} else if (hotspot_tooltips_option == 2){ //Prikazi namig ob kliku miske
|
|||
|
var hotspot_show_tooltips = false;
|
|||
|
}
|
|||
|
|
|||
|
hotspot_region_color = hotspot_region_color.slice(1);
|
|||
|
|
|||
|
//options za prikaz ze izbranega obmocja
|
|||
|
var izbrano_obmocje_prikaz = { //uredi prikaz izbranega obmocja za trenutno obmocje
|
|||
|
//fillColor: '00ffff',
|
|||
|
fillColor: hotspot_region_color,
|
|||
|
stroke: false,
|
|||
|
strokeColor: '000000',
|
|||
|
strokeWidth: 2
|
|||
|
};
|
|||
|
|
|||
|
image1
|
|||
|
.mapster({
|
|||
|
scaleMap: false, //zelo pomemben parameter, ker drugace se koordinate spremenijo
|
|||
|
//fillOpacity: 0.4,
|
|||
|
//fillColor: "d42e16",
|
|||
|
//fillColor: hotspot_region_color,
|
|||
|
fillColor: hotspot_visibility_color,
|
|||
|
//stroke: false,
|
|||
|
//strokeColor: "3320FF",
|
|||
|
//strokeOpacity: 0.8,
|
|||
|
//strokeWidth: 2,
|
|||
|
//singleSelect: true, //ce je prisoten, ni mozno pokazati vec obmocij na enkrat
|
|||
|
isSelectable: false, //na false, da se ne skrije prikaz obmocja ob kliku na njega
|
|||
|
mapKey: 'name',
|
|||
|
listKey: 'name',
|
|||
|
//showToolTip: true,
|
|||
|
showToolTip: hotspot_show_tooltips,
|
|||
|
//showToolTip: urediNamig,
|
|||
|
highlight: hotspot_region_visibility_option_highlight,
|
|||
|
//toolTipClose: ["area-click"], //ob kliku na obmocje, se tooltip zapre
|
|||
|
//toolTipClose: ["tooltip-click"],
|
|||
|
toolTipClose: ["image-mouseout"],
|
|||
|
//toolTipClose: urediZapiranjeNamiga,
|
|||
|
onShowToolTip: urediRadioGrid,
|
|||
|
onClick: pokaziNamigObKliku
|
|||
|
})
|
|||
|
//.mapster('set',true,obmocja_string) //pokazi na sliki mape obmocij, obmocja naj bodo vidna od samega zacetka
|
|||
|
//.mapster('set',hotspot_region_visibility_option,obmocja_string) //ce je ta nastavitev prisotna, ob refreshu nekaj v knjiznici se sesuje
|
|||
|
.mapster('set_options', options);
|
|||
|
|
|||
|
if(vre_id_d[0] !== undefined){ //zadeva se sprozi ob morebitnem refresh-u strani ali naprej/nazaj po anketi
|
|||
|
//console.log("Ni undefined za spr: "+spremenljivka);
|
|||
|
//$('.mapster_tooltip').find('').;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
//ob kliku na radio button v tooltip - za radio grid
|
|||
|
function mapdelovanjeRadioGrid(htmlobject, vre_id_d){
|
|||
|
htmlobjectid = htmlobject.id.substring(3); //odstrani prve tri crke trenutnega id-ja iz tooltip-a za dobiti id iz multigrid
|
|||
|
|
|||
|
if ($('#'+htmlobjectid).is(':checked')){ //ce je radio button ze klikan
|
|||
|
$('#'+htmlobject.id).prop( "checked", false ); //odstrani check iz tooltip-a
|
|||
|
$('#'+htmlobjectid).prop( "checked", false ); //v skritem klasicnem multigrid-u odstrani ustrezen odgovor
|
|||
|
|
|||
|
}else{
|
|||
|
$('#'+htmlobjectid).prop( "checked", true ); //v skritem klasicnem multigrid-u izberi ustrezen odgovor
|
|||
|
refreshed[vre_id_d] = true;
|
|||
|
//console.log("refreshed za vre_id:"+vre_id_d+" je "+refreshed[vre_id_d]+" v mapdelovanjeRadioGrid");
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
//init za radio
|
|||
|
/* var vre_id_prej = []; //polje, ki belezi indeks prejsnjega obmocja
|
|||
|
var refresh = []; //polje, ki belezi, ali je bil refresh ali ne */
|
|||
|
function mapinitRadio(spremenljivka, options, tip, hotspot_region_visibility_option, hotspot_tooltips_option, hotspot_region_color, hotspot_visibility_color) {
|
|||
|
|
|||
|
$('#hotspot_image_'+spremenljivka+' .variabla').css("display", "none"); //skrij radio/checkbox button odgovore, kjer se bodo bele<6C>ili odgovori
|
|||
|
$('#hotspot_image_'+spremenljivka+' .missing').css("display", ""); //pokazi missing radio/checkbox odgovore, ce so prisotni
|
|||
|
|
|||
|
//urejanje prikazovanja obmocij za respondente
|
|||
|
if (hotspot_region_visibility_option == 0){ //skrij obmocja
|
|||
|
hotspot_region_visibility_option = false;
|
|||
|
var hotspot_region_visibility_option_highlight = false;
|
|||
|
var hotspot_region_visibility_option_clicked = false;
|
|||
|
}else if (hotspot_region_visibility_option == 1){ //pokazi obmocja
|
|||
|
hotspot_region_visibility_option = true;
|
|||
|
var hotspot_region_visibility_option_highlight = true;
|
|||
|
var hotspot_region_visibility_option_clicked = false;
|
|||
|
}else if (hotspot_region_visibility_option == 2){ //pokazi obmocja ob mouse over
|
|||
|
hotspot_region_visibility_option = false;
|
|||
|
var hotspot_region_visibility_option_highlight = true;
|
|||
|
var hotspot_region_visibility_option_clicked = false;
|
|||
|
}else if (hotspot_region_visibility_option == 3){
|
|||
|
hotspot_region_visibility_option = false;
|
|||
|
var hotspot_region_visibility_option_highlight = false;
|
|||
|
var hotspot_region_visibility_option_clicked = true;
|
|||
|
}
|
|||
|
|
|||
|
//urejanje prikazovanja namigov/tooltips za respondente
|
|||
|
if (hotspot_tooltips_option == 0){ //Prikazi namig ob vstopu miske
|
|||
|
hotspot_tooltips_option = true;
|
|||
|
//console.log("hotspot_tooltips_option: "+hotspot_tooltips_option);
|
|||
|
//var hotspot_region_visibility_option_highlight = false;
|
|||
|
//var hotspot_region_visibility_option_clicked = false;
|
|||
|
}else if (hotspot_tooltips_option == 1){ //Skrij namig
|
|||
|
hotspot_tooltips_option = false;
|
|||
|
//console.log("hotspot_tooltips_option: "+hotspot_tooltips_option);
|
|||
|
//var hotspot_region_visibility_option_highlight = true;
|
|||
|
//var hotspot_region_visibility_option_clicked = false;
|
|||
|
}else if (hotspot_tooltips_option == 2){ //Prikazi namig ob kliku miske
|
|||
|
hotspot_tooltips_option = false;
|
|||
|
//var hotspot_region_visibility_option_highlight = true;
|
|||
|
//var hotspot_region_visibility_option_clicked = false;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
//vre_id_d belezi, ali ob morebitnem odgovarjanju in naprej/nazaj ali refresh-u, kateri radio button je izbran
|
|||
|
if (tip == 1){
|
|||
|
var vre_id_d = $('#hotspot_image_'+spremenljivka+' .checked input[name=vrednost_'+spremenljivka+']').val();
|
|||
|
//console.log("vre_id_d: "+vre_id_d+" za spr: "+spremenljivka);
|
|||
|
}else if(tip == 2){
|
|||
|
var vre_id_d = [];
|
|||
|
$('#hotspot_image_'+spremenljivka+' .checked input[ checked="" ]').each(function (index, value) {
|
|||
|
vre_id_d[index] = $(this).val();
|
|||
|
//console.log(vre_id_d[index]);
|
|||
|
});
|
|||
|
|
|||
|
/* //var vre_id_d = $('#hotspot_image_'+spremenljivka+' .checked input[name=vrednost_'+spremenljivka+']').val();
|
|||
|
vre_id_d = $('#hotspot_image_'+spremenljivka+' .checked input[ checked="" ]').val();
|
|||
|
console.log(vre_id_d[0]); */
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
if(vre_id_d === undefined){
|
|||
|
refresh[spremenljivka] = false;
|
|||
|
}else{
|
|||
|
refresh[spremenljivka] = true;
|
|||
|
}
|
|||
|
|
|||
|
var map = $('#hotspot_'+spremenljivka+'_map');
|
|||
|
var izbranaObmocja = {};
|
|||
|
|
|||
|
//pokazi vse atribute name, ki so children od map
|
|||
|
/* test.children().each(function (index, value) {
|
|||
|
console.log('div' + index + ':' + $(this).attr('name'));
|
|||
|
}); */
|
|||
|
var obmocja = []; //polje za belezenje imen obmocij
|
|||
|
|
|||
|
//poberi imena obmocij (area) map in jih zabelezi b polje "obmocja"
|
|||
|
map.children().each(function (index, value) {
|
|||
|
obmocja[index] = $(this).attr('name');
|
|||
|
});
|
|||
|
|
|||
|
//polje obmocja preuredi v besedilo
|
|||
|
var obmocja_string = obmocja.toString();
|
|||
|
|
|||
|
//identifier za sliko na katero se veze mapa z obmocji
|
|||
|
var image1 = $('#hotspot_'+spremenljivka+'_image');
|
|||
|
|
|||
|
hotspot_visibility_color = hotspot_visibility_color.slice(1);
|
|||
|
//options za default prikaz obmocja
|
|||
|
var default_prikaz = {
|
|||
|
scaleMap: false, //zelo pomemben parameter, ker drugace se koordinate spremenijo
|
|||
|
isSelectable: false, //na false, da se ne skrije prikaz obmocja ob kliku na njega
|
|||
|
mapKey: 'name',
|
|||
|
highlight: hotspot_region_visibility_option_highlight,
|
|||
|
//listKey: 'name',
|
|||
|
//showToolTip: true
|
|||
|
showToolTip: hotspot_tooltips_option,
|
|||
|
fillColor: hotspot_visibility_color
|
|||
|
};
|
|||
|
|
|||
|
hotspot_region_color = hotspot_region_color.slice(1);
|
|||
|
//options za prikaz izbranega obmocja
|
|||
|
var izbrano_obmocje_prikaz = { //uredi prikaz izbranega obmocja za trenutno obmocje
|
|||
|
//fillColor: '00ffff',
|
|||
|
fillColor: hotspot_region_color,
|
|||
|
stroke: false,
|
|||
|
strokeColor: '000000',
|
|||
|
strokeWidth: 2
|
|||
|
};
|
|||
|
|
|||
|
//funkcija, ki se sprozi ob kliku na obmocje
|
|||
|
/* function urediRadio(data){
|
|||
|
//console.log("Uredi Radio z data: "+data.key);
|
|||
|
var vre_id = data.key;
|
|||
|
if ($('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id).is(':checked')){ //ce je radio button ze klikan
|
|||
|
$('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id).prop( "checked", false); //odstranitev oznacitve ustreznega radio button-a v skritem menuju spremenljivka_4448_vrednost_23664
|
|||
|
image1.mapster('set', false, vre_id);
|
|||
|
image1.mapster('set', true, vre_id, default_prikaz); //uredi default prikaz obmocja za trenutno obmocje
|
|||
|
}else{
|
|||
|
$('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id).prop( "checked", true); //oznacitev ustreznega radio button-a v skritem menuju
|
|||
|
//console.log(image1);
|
|||
|
image1.mapster('set', false, vre_id); //spucaj trenutno izbrano obmocje iz slike
|
|||
|
image1.mapster('set', false, vre_id_prej[spremenljivka]); //spucaj prejsnje izbrano obmocje iz slike
|
|||
|
if (vre_id != vre_id_prej[spremenljivka]){ //ce sta razlicna obmocja
|
|||
|
image1.mapster('set', true, vre_id_prej[spremenljivka], default_prikaz); //uredi default prikaz obmocja za prejsnje obmocje
|
|||
|
}
|
|||
|
image1.mapster('set', true, vre_id, izbrano_obmocje_prikaz); //uredi prikaz izbranega obmocja za trenutno obmocje
|
|||
|
vre_id_prej[spremenljivka] = vre_id;
|
|||
|
}
|
|||
|
} */
|
|||
|
|
|||
|
function urediObmocja(data){
|
|||
|
if(!quick_view){ //ce ni vpogled v podatkih
|
|||
|
//console.log("Uredi Radio z data: "+data.key);
|
|||
|
//console.log("Clicked! hotspot_region_visibility_option_highlight je :"+hotspot_region_visibility_option_highlight);
|
|||
|
var vre_id = data.key;
|
|||
|
if ( $('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id).is(':checked') || $('#missing_value_spremenljivka_'+spremenljivka+'_vrednost_'+vre_id).is(':checked')){ //ce je radio button ali missing ze oznacen
|
|||
|
|
|||
|
$('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id).prop( "checked", false); //odstranitev oznacitve ustreznega radio button-a v skritem menuju spremenljivka_4448_vrednost_23664
|
|||
|
|
|||
|
$('#missing_value_spremenljivka_'+spremenljivka+'_vrednost_'+vre_id).prop( "checked", false); //odstranitev oznacitve ustreznega missing-a (missing_value_spremenljivka_4466_vrednost_23822)
|
|||
|
|
|||
|
image1.mapster('set', false, vre_id);
|
|||
|
|
|||
|
//image1.mapster('set', true, vre_id, default_prikaz); //uredi default prikaz obmocja za trenutno obmocje
|
|||
|
image1.mapster('set', hotspot_region_visibility_option, vre_id, default_prikaz); //uredi default prikaz obmocja za trenutno obmocje
|
|||
|
|
|||
|
}else{ //ce radio button ni ze klikan
|
|||
|
|
|||
|
//console.log(image1);
|
|||
|
|
|||
|
image1.mapster('set', false, vre_id); //spucaj trenutno izbrano obmocje iz slike
|
|||
|
|
|||
|
if ( (vre_id_d !== undefined) && (refresh[spremenljivka] == true) ){ //ce sta razlicna obmocja
|
|||
|
//console.log("Ni undefined");
|
|||
|
vre_id_prej[spremenljivka] = vre_id_d;
|
|||
|
refresh[spremenljivka] = false;
|
|||
|
}
|
|||
|
|
|||
|
if (tip == 1){ //ce je radio tip postavitve, je potrebno ustrezno urediti obmocja
|
|||
|
image1.mapster('set', false, vre_id_prej[spremenljivka]); //spucaj prejsnje izbrano obmocje iz slike
|
|||
|
if (vre_id != vre_id_prej[spremenljivka]){ //ce sta razlicna obmocja
|
|||
|
//image1.mapster('set', true, vre_id_prej[spremenljivka], default_prikaz); //uredi default prikaz obmocja za prejsnje obmocje
|
|||
|
image1.mapster('set', hotspot_region_visibility_option, vre_id_prej[spremenljivka], default_prikaz); //uredi default prikaz obmocja za prejsnje obmocje
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//ce je checkbox in je missing, ki je oznacen
|
|||
|
if( tip == 2 && ($('#hotspot_image_'+spremenljivka).children().hasClass('missing')) && ($('#hotspot_image_'+spremenljivka).children().hasClass('checked')) ){
|
|||
|
//console.log("Missing"); //nic ne narediti
|
|||
|
}else{ //drugace
|
|||
|
$('#spremenljivka_'+spremenljivka+'_vrednost_'+vre_id).prop( "checked", true); //oznacitev ustreznega radio button-a / checkbox v skritem menuju
|
|||
|
image1.mapster('set', true, vre_id, izbrano_obmocje_prikaz); //uredi prikaz izbranega obmocja za trenutno obmocje
|
|||
|
//image1.mapster('set', hotspot_region_visibility_option, vre_id, izbrano_obmocje_prikaz); //uredi prikaz izbranega obmocja za trenutno obmocje
|
|||
|
}
|
|||
|
|
|||
|
vre_id_prej[spremenljivka] = vre_id;
|
|||
|
|
|||
|
}
|
|||
|
//}else if(hotspot_region_visibility_option_clicked == true){
|
|||
|
// image1.mapster('set', hotspot_region_visibility_option_clicked, vre_id);
|
|||
|
//console.log("Clicked! hotspot_region_visibility_option_highlight je :"+hotspot_region_visibility_option);
|
|||
|
//}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
image1
|
|||
|
.mapster({
|
|||
|
scaleMap: false, //zelo pomemben parameter, ker drugace se koordinate spremenijo
|
|||
|
isSelectable: false, //na false, da se ne skrije prikaz obmocja ob kliku na njega
|
|||
|
mapKey: 'name',
|
|||
|
highlight: hotspot_region_visibility_option_highlight,
|
|||
|
//listKey: 'name',
|
|||
|
//showToolTip: true,
|
|||
|
showToolTip: hotspot_tooltips_option,
|
|||
|
onClick: urediObmocja,
|
|||
|
fillColor: hotspot_visibility_color
|
|||
|
})
|
|||
|
//.mapster('set',true,obmocja_string) //pokazi na sliki mape obmocij, obmocja naj bodo vidna od samega zacetka
|
|||
|
.mapster('set', hotspot_region_visibility_option, obmocja_string) //pokazi na sliki mape obmocij, obmocja naj bodo vidna od samega zacetka
|
|||
|
.mapster('set_options', options);
|
|||
|
|
|||
|
if(vre_id_d !== undefined){ //zadeva se sprozi ob morebitnem refresh-u strani ali naprej/nazaj po anketi
|
|||
|
//console.log("Ni undefined za spr: "+spremenljivka);
|
|||
|
image1.mapster('set', false, vre_id_d); //spucaj trenutno izbrano obmocje iz slike
|
|||
|
image1.mapster('set', true, vre_id_d, izbrano_obmocje_prikaz); //uredi prikaz prej izbranega obmocja za tole obmocje
|
|||
|
//image1.mapster('set', hotspot_region_visibility_option, vre_id_d, izbrano_obmocje_prikaz); //uredi prikaz prej izbranega obmocja za tole obmocje
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
//init za ranking
|
|||
|
function mapinitRanking (spremenljivka, options, hotspot_region_visibility_option, hotspot_tooltips_option, hotspot_region_color, hotspot_visibility_color) {
|
|||
|
|
|||
|
$('#hotspot_image_'+spremenljivka+' .variabla').css("display", "none"); //skrij ranking ostevilcevanje, kjer se bodo bele<6C>ili odgovori
|
|||
|
|
|||
|
hotspot_visibility_color = hotspot_visibility_color.slice(1);
|
|||
|
|
|||
|
//identifier za sliko na katero se veze mapa z obmocji
|
|||
|
var image1 = $('#hotspot_'+spremenljivka+'_image');
|
|||
|
|
|||
|
//urejanje prikazovanja obmocij za respondente
|
|||
|
if (hotspot_region_visibility_option == 0){ //skrij obmocja
|
|||
|
hotspot_region_visibility_option = false;
|
|||
|
var hotspot_region_visibility_option_highlight = false;
|
|||
|
var hotspot_region_visibility_option_clicked = false;
|
|||
|
}else if (hotspot_region_visibility_option == 1){ //pokazi obmocja
|
|||
|
hotspot_region_visibility_option = true;
|
|||
|
var hotspot_region_visibility_option_highlight = true;
|
|||
|
var hotspot_region_visibility_option_clicked = false;
|
|||
|
}else if (hotspot_region_visibility_option == 2){ //pokazi obmocja ob mouse over
|
|||
|
hotspot_region_visibility_option = false;
|
|||
|
var hotspot_region_visibility_option_highlight = true;
|
|||
|
var hotspot_region_visibility_option_clicked = false;
|
|||
|
}else if (hotspot_region_visibility_option == 3){
|
|||
|
hotspot_region_visibility_option = false;
|
|||
|
var hotspot_region_visibility_option_highlight = false;
|
|||
|
var hotspot_region_visibility_option_clicked = true;
|
|||
|
}
|
|||
|
|
|||
|
//za handle-anje refresh in naprej/nazaj **********************************************************************
|
|||
|
//vre_id_d belezi, ali ob morebitnem odgovarjanju in naprej/nazaj ali refresh-u, kateri radio button je izbran
|
|||
|
var vre_id_d = [];
|
|||
|
|
|||
|
|
|||
|
var values = [];
|
|||
|
|
|||
|
//preleti skrite odgovore razvrscanje-ostevilcevanje in belezi vrednosti odgovorov ####################
|
|||
|
$('#hotspot_image_'+spremenljivka+' .variabla input').each(function(index){
|
|||
|
//console.log("value: "+$(this).attr('value'));
|
|||
|
var value = $(this).attr('value');
|
|||
|
var vre_id = $(this).attr('vred_id');
|
|||
|
//console.log("vre_id po refreshu: "+vre_id);
|
|||
|
if(value!=''){
|
|||
|
values[vre_id] = value;
|
|||
|
refreshed[vre_id] = false;
|
|||
|
$(this).parent().addClass('checked'); //dodaj info, da je prisoten odgovor
|
|||
|
}else{
|
|||
|
refreshed[vre_id] = true;
|
|||
|
}
|
|||
|
//console.log("vrednosti odgovorov po refreshu: "+value+" z indeksom: "+index);
|
|||
|
});
|
|||
|
|
|||
|
|
|||
|
var valuesLength = values.length; //hrani stevilo nepraznih odgovorov
|
|||
|
//console.log("Velikost polja values: "+valuesLength);
|
|||
|
|
|||
|
//preleti skrite odgovore razvrscanje-ostevilcevanje in belezi vrednosti odgovorov - konec ##############
|
|||
|
|
|||
|
//za handle-anje refresh in naprej/nazaj - konec ********************************************************************
|
|||
|
|
|||
|
var map = $('#hotspot_'+spremenljivka+'_map');
|
|||
|
var izbranaObmocja = {};
|
|||
|
|
|||
|
//pokazi vse atribute name, ki so children od map
|
|||
|
/* test.children().each(function (index, value) {
|
|||
|
console.log('div' + index + ':' + $(this).attr('name'));
|
|||
|
}); */
|
|||
|
var obmocja = []; //polje za belezenje imen obmocij
|
|||
|
|
|||
|
//poberi imena obmocij (area) map in jih zabelezi b polje "obmocja"
|
|||
|
map.children().each(function (index, value) {
|
|||
|
obmocja[index] = $(this).attr('name');
|
|||
|
});
|
|||
|
|
|||
|
//polje obmocja preuredi v besedilo
|
|||
|
var obmocja_string = obmocja.toString();
|
|||
|
|
|||
|
//funkcija, ki se sprozi ob prikazovanju tooltip-a
|
|||
|
function urediRadioGrid(data){
|
|||
|
//console.log("Uredi Radio z data: "+data.key);
|
|||
|
var vre_id = 0;
|
|||
|
var identifikator = '';
|
|||
|
|
|||
|
if(refreshed[data.key] == false){ //ce se je zgodil refresh, ali se je uporabnik vrnil na stran z vprasanjem, zapolni odgovore
|
|||
|
//console.log("je bil refresh");
|
|||
|
vre_id = data.key;
|
|||
|
$('#im_vrednost_if_'+vre_id+' .category input').each(function(index){
|
|||
|
var id = $(this).attr('id');
|
|||
|
var vrstni_red = $(this).attr('vrstni_red');
|
|||
|
//console.log("vrstni_red: "+vrstni_red);
|
|||
|
if(vrstni_red == values[vre_id]){
|
|||
|
//console.log("id: "+id);
|
|||
|
$('#'+id).prop( "checked", true );
|
|||
|
//disable ostale odgovore, ki so bili izbrani ze drugje
|
|||
|
disableOthers(spremenljivka, vre_id);
|
|||
|
//disable ostale odgovore, ki so bili izbrani ze drugje - konec
|
|||
|
|
|||
|
//enable trenuten odgovor, ce je disable-an
|
|||
|
enableCurrent(id);
|
|||
|
//enable trenuten odgovor, ce je disable-an - konec
|
|||
|
}
|
|||
|
});
|
|||
|
}else{
|
|||
|
vre_id = data.key;
|
|||
|
identifikator = '#vrednost_if_'+vre_id;
|
|||
|
//identifikator = 'vrednost_if_'+vre_id;
|
|||
|
//console.log("Vre_id not r:"+vre_id);
|
|||
|
}
|
|||
|
|
|||
|
if($(identifikator).hasClass('checked')){ //ce je checked
|
|||
|
//oznaci na tooltip ustrezen radio button
|
|||
|
var id = $(identifikator+' input').attr('id'); //id zabelezenega odgovora
|
|||
|
id = $('#vrednost_if_'+vre_id).attr('tooltipid');
|
|||
|
//console.log("identifikator:"+identifikator);
|
|||
|
id = 'im_'+id;
|
|||
|
$('#'+id).prop( "checked", true ); //oznacitev ustreznega radio button-a v tooltip-u
|
|||
|
|
|||
|
//disable ali skriti ostale odgovore, ki so bili izbrani ze drugje
|
|||
|
disableOthers(spremenljivka, vre_id);
|
|||
|
//disable ali skriti ostale odgovore, ki so bili izbrani ze drugje - konec
|
|||
|
|
|||
|
//enable trenuten odgovor, ce je disable-an
|
|||
|
enableCurrent(id);
|
|||
|
//enable trenuten odgovor, ce je disable-an - konec
|
|||
|
}else if($(identifikator).attr('checked')){
|
|||
|
//oznaci na tooltip ustrezen radio button
|
|||
|
var id = $(identifikator).attr('id'); //id zabelezenega radio button-a v multigrid-u
|
|||
|
id = "im_"+id;
|
|||
|
console.log("id2:"+id);
|
|||
|
$('#'+id).prop( "checked", true ); //oznacitev ustreznega radio button-a v tooltip-u
|
|||
|
}else if(refreshed[data.key]==true){
|
|||
|
//console.log("tukaj grem tudi");
|
|||
|
//enable trenuten odgovor, ce je disable-an
|
|||
|
enableCurrent(id);
|
|||
|
//enable trenuten odgovor, ce je disable-an - konec
|
|||
|
//disable ostale odgovore, ki so bili izbrani ze drugje
|
|||
|
disableOthers(spremenljivka, vre_id);
|
|||
|
//disable ostale odgovore, ki so bili izbrani ze drugje - konec
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//funkcija, ki se sprozi ob kliku na obmocje
|
|||
|
function pokaziNamigObKliku(data){
|
|||
|
if (hotspot_tooltips_option == 2){
|
|||
|
var vre_id = data.key;
|
|||
|
image1.mapster('tooltip',vre_id);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//funkcija, ki uredi delovanje toolTipClose
|
|||
|
function urediZapiranjeNamiga(data){
|
|||
|
if (hotspot_tooltips_option == 2){ //ce je moznost prikazovanja namiga ob kliku na obmocje
|
|||
|
var vre_id = data.key;
|
|||
|
return ["area-click"];
|
|||
|
}else if(hotspot_tooltips_option != 2){ //drugace, naj se namig zapre ob kliku na sam namig
|
|||
|
return ["tooltip-click"];
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//funkcija, ki uredi delovanje prikazovanja namiga
|
|||
|
function urediNamig(data){
|
|||
|
//urejanje prikazovanja namigov/tooltips za respondente
|
|||
|
if (hotspot_tooltips_option == 0){ //Prikazi namig ob vstopu miske
|
|||
|
var out = true;
|
|||
|
return out;
|
|||
|
}else if (hotspot_tooltips_option == 1){ //Skrij namig
|
|||
|
var out = false;
|
|||
|
return out;
|
|||
|
} else if (hotspot_tooltips_option == 2){ //Prikazi namig ob kliku miske
|
|||
|
var out = false;
|
|||
|
return out;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//urejanje prikazovanja namigov/tooltips za respondente
|
|||
|
if (hotspot_tooltips_option == 0){ //Prikazi namig ob vstopu miske
|
|||
|
var hotspot_show_tooltips = true;
|
|||
|
}else if (hotspot_tooltips_option == 1){ //Skrij namig
|
|||
|
var hotspot_show_tooltips = false;
|
|||
|
} else if (hotspot_tooltips_option == 2){ //Prikazi namig ob kliku miske
|
|||
|
var hotspot_show_tooltips = false;
|
|||
|
}
|
|||
|
|
|||
|
hotspot_region_color = hotspot_region_color.slice(1);
|
|||
|
|
|||
|
//options za prikaz ze izbranega obmocja
|
|||
|
var izbrano_obmocje_prikaz = { //uredi prikaz izbranega obmocja za trenutno obmocje
|
|||
|
//fillColor: '00ffff',
|
|||
|
fillColor: hotspot_region_color,
|
|||
|
stroke: false,
|
|||
|
strokeColor: '000000',
|
|||
|
strokeWidth: 2
|
|||
|
};
|
|||
|
|
|||
|
image1
|
|||
|
.mapster({
|
|||
|
scaleMap: false, //zelo pomemben parameter, ker drugace se koordinate spremenijo
|
|||
|
//fillOpacity: 0.4,
|
|||
|
fillColor: hotspot_visibility_color,
|
|||
|
//stroke: false,
|
|||
|
//strokeColor: "3320FF",
|
|||
|
//strokeOpacity: 0.8,
|
|||
|
//strokeWidth: 2,
|
|||
|
//singleSelect: true, //ce je prisoten, ni mozno pokazati vec obmocij na enkrat
|
|||
|
isSelectable: false, //na false, da se ne skrije prikaz obmocja ob kliku na njega
|
|||
|
mapKey: 'name',
|
|||
|
listKey: 'name',
|
|||
|
//showToolTip: true,
|
|||
|
showToolTip: hotspot_show_tooltips,
|
|||
|
//showToolTip: urediNamig,
|
|||
|
highlight: hotspot_region_visibility_option_highlight,
|
|||
|
//toolTipClose: ["area-click"], //ob kliku na obmocje, se tooltip zapre
|
|||
|
//toolTipClose: ["tooltip-click"],
|
|||
|
toolTipClose: ["image-mouseout"],
|
|||
|
//toolTipClose: urediZapiranjeNamiga,
|
|||
|
onShowToolTip: urediRadioGrid,
|
|||
|
onClick: pokaziNamigObKliku
|
|||
|
})
|
|||
|
//.mapster('set',hotspot_region_visibility_option,obmocja_string) //ce je ta nastavitev prisotna, ob refreshu nekaj v knjiznici se sesuje
|
|||
|
.mapster('set_options', options);
|
|||
|
|
|||
|
if(vre_id_d[0] !== undefined){ //zadeva se sprozi ob morebitnem refresh-u strani ali naprej/nazaj po anketi
|
|||
|
//console.log("Ni undefined za spr: "+spremenljivka);
|
|||
|
//$('.mapster_tooltip').find('').;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
//ob kliku na radio button v tooltip - za ranking
|
|||
|
function mapdelovanjeRanking(htmlobject, vre_id_d){
|
|||
|
htmlobjectid = htmlobject.id.substring(3); //odstrani prve tri crke trenutnega id-ja iz tooltip-a za dobiti id iz multigrid
|
|||
|
var vrstni_red = 0;
|
|||
|
//console.log("htmlobjectid: "+htmlobjectid);
|
|||
|
//console.log("vre_id_d: "+vre_id_d);
|
|||
|
if ($('#vrednost_if_'+vre_id_d+' input').attr('value') == $('#im_'+htmlobjectid).attr('vrstni_red')){ //ce je ze prisoten odgovor v razvrscanju
|
|||
|
$('#'+htmlobject.id).prop( "checked", false ); //odstrani check iz tooltip-a
|
|||
|
$('#vrednost_if_'+vre_id_d+' input').val(''); //v skritem razvrscanju odstrani ustrezen odgovor
|
|||
|
$('#vrednost_if_'+vre_id_d+' input').attr('value', ''); //v skritem razvrscanju uredi odgovor, da se bo belezil v bazo
|
|||
|
refreshed[vre_id_d] = true;
|
|||
|
//console.log("Already Checked");
|
|||
|
}else{
|
|||
|
vrstni_red = $('#im_'+htmlobjectid).attr('vrstni_red');
|
|||
|
$('#vrednost_if_'+vre_id_d+' input').val(vrstni_red); //v skritem razvrscanju uredi odgovor, da se vidi
|
|||
|
$('#vrednost_if_'+vre_id_d+' input').attr('value', vrstni_red); //v skritem razvrscanju uredi odgovor, da se bo belezil v bazo
|
|||
|
$('#vrednost_if_'+vre_id_d).attr('tooltipid', htmlobjectid); //zabelezi id tooltip-a za kasneje
|
|||
|
//console.log("vrednost razvr<76><72>anja: "+$('#vrednost_if_'+vre_id_d+' input').attr('value'));
|
|||
|
//console.log("Now Checked");
|
|||
|
refreshed[vre_id_d] = true;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
//disable ostale odgovore, ki so bili izbrani ze drugje
|
|||
|
function disableOthers(spremenljivka, vre_id){
|
|||
|
$('#hotspot_image_'+spremenljivka+' .checked input').each(function(){
|
|||
|
//console.log("value: "+$(this).attr('value'));
|
|||
|
var value = $(this).attr('value');
|
|||
|
$('#im_vrednost_if_'+vre_id+' .category input').each(function(){
|
|||
|
var vrstni_red = $(this).attr('vrstni_red');
|
|||
|
//console.log("vrstni_red: "+vrstni_red);
|
|||
|
if(vrstni_red == value){
|
|||
|
//console.log("Ta pa je ze nekje drugje");
|
|||
|
$(this).attr('disabled','disabled'); //disable odgovor, ki je ze izbran
|
|||
|
$(this).parent().css('cursor','not-allowed'); //spremeni kurzor miske odgovora, ki je ze izbran
|
|||
|
}
|
|||
|
});
|
|||
|
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
//enable trenuten odgovor, ce je disable-an
|
|||
|
function enableCurrent(id){
|
|||
|
$('#'+id).prop( "disabled", "" );
|
|||
|
$('#'+id).parent().css('cursor','pointer');
|
|||
|
}
|