2020-08-14 13:36:36 +02:00
/ * *
k * pozene racunanje kalkulacij za vse izracunane spremenljivke na anketi
* /
function postprocess _start _calculation ( ) {
init _progressBar ( ) ;
$ . redirect ( 'ajax.php?t=postprocess&a=postprocess_start_calculation' , { anketa : srv _meta _anketa _id } ) ;
}
/ * *
* prikaze urejanje zapisa spremenljivke v urejanju podatkov
* /
function edit _data ( event ) {
// povemo koliko stolpcev z ikonicami imamo (se nastavi v html)
var tableIconColspan = parseInt ( $ ( "#tableIconColspan" ) . val ( ) ) ;
var target = $ ( event . target ) ;
target = target . closest ( 'td' ) ;
if ( ! target . is ( 'td' ) ) return ;
var target _parent _children = target . parent ( ) . children ( ) ; // td-ji vrstice kamor smo kliknili
var table _head _children = $ ( '#dataTable tr:nth-child(3)' ) . children ( ) ; // th-ji vrstice header tabele (s spr_id)
var td = target . prevAll ( 'td.data_uid' ) ; // td, ki vsebuje usr_id
if ( td . hasClass ( 'data_uid' ) && ! isNaN ( td . html ( ) ) ) {
var usr _id = td . html ( ) ;
// nad katero celico je kurosr
var cell _over = target _parent _children . index ( target ) ;
// naredimo korekcijo: katera je head celica z spr_id za celico z kurzorjem
var spr _index = cell _over - tableIconColspan + ( tableIconColspan > 0 ? 1 : 0 ) ;
// če nismo nad celeco z spr id gremo ven
if ( isNaN ( table _head _children . filter ( ":eq(" + spr _index + ")" ) . attr ( 'spr_id' ) ) ) return ;
var spr _id = table _head _children . filter ( ":eq(" + spr _index + ")" ) . attr ( 'spr_id' ) ;
// pri inline_edit-u ne odpiramo popupa zato tud ni hoverja
if ( table _head _children . filter ( ":eq(" + spr _index + ")" ) . attr ( 'inline_edit' ) == 1 ) return ;
// gremo urejat vprasanje
if ( ! isNaN ( usr _id ) && usr _id != '' && ! isNaN ( spr _id ) && spr _id != '' ) {
// pobarvamo celice vprasanja, ki ga bomo urejali
$ . each ( table _head _children . filter ( "th[spr_id=" + spr _id + "]" ) , function ( i , value ) {
var table _index = table _head _children . index ( value ) ;
// naredimo korekcijo indexov če imamo stolpce z ikonami
var corect _index = table _index + ( tableIconColspan == 0 ? 0 : tableIconColspan - 1 ) ;
target _parent _children . filter ( ":eq(" + corect _index + ")" ) . addClass ( "data_spr_editing" ) ;
} ) ;
// prikazemo urejanje vprasanja
$ ( '#fullscreen' ) . html ( '' ) . fadeIn ( 'slow' ) ;
$ ( '#fade' ) . fadeTo ( 'slow' , 1 ) ;
$ ( '#fullscreen' ) . load ( 'ajax.php?t=postprocess&a=edit_data_question' , { anketa : srv _meta _anketa _id , spr _id : spr _id , usr _id : usr _id } ) ;
}
}
}
/ * *
* zapre urejanje ( cancel )
* /
function edit _data _close ( ) {
$ ( '#fullscreen' ) . html ( '' ) . fadeOut ( ) ;
$ ( '#fade' ) . fadeOut ( 'slow' ) ;
$ ( '#dataTable td.data_spr_editing' ) . delay ( '2000' ) . removeClass ( 'data_spr_editing' , 500 ) ;
}
/ * *
* shrani vprasanje
* /
function edit _data _question _save ( ) {
$ ( '#fullscreen' ) . hide ( ) ;
$ ( '#loading' ) . show ( ) ;
$ ( '#fade' ) . fadeOut ( 'slow' ) ;
var cell = $ ( '#dataTable td.data_spr_editing' ) . removeClass ( 'data_spr_editing' ) ;
$ . post ( 'ajax.php?t=postprocess&a=edit_data_question_save&anketa=' + srv _meta _anketa _id , $ ( "form[name=edit_data]" ) . serialize ( ) , function ( ) {
cell . css ( 'color' , 'lightgray' ) ;
//window.location.reload();
$ ( '#loading' ) . hide ( ) ;
} ) ;
}
/ * *
* obarva ozadje celic ob hoverju
* /
function edit _data _hover ( event ) {
// povemo koliko stolpcev z ikonicami imamo (se nastavi v html)
var tableIconColspan = parseInt ( $ ( "#tableIconColspan" ) . val ( ) ) ;
var target = $ ( event . target ) ;
if ( ! target . is ( 'td' ) ) return ;
var target _parent _children = target . parent ( ) . children ( ) ; // td-ji vrstice kamor smo kliknili
var table _head _children = $ ( '#dataTable tr:nth-child(3)' ) . children ( ) ; // th-ji vrstice header tabele (s spr_id)
// nad katero celico je kurosr
var cell _over = target _parent _children . index ( target ) ;
// naredimo korekcijo: katera je head celica z spr_id za celico z kurzorjem
var spr _index = cell _over - tableIconColspan + ( tableIconColspan > 0 ? 1 : 0 ) ;
// če nismo nad celeco z spr id gremo ven
if ( isNaN ( table _head _children . filter ( ":eq(" + spr _index + ")" ) . attr ( 'spr_id' ) ) ) return ;
var spr _id = table _head _children . filter ( ":eq(" + spr _index + ")" ) . attr ( 'spr_id' ) ;
// pri inline_edit-u ne odpiramo popupa zato tud ni hoverja
if ( table _head _children . filter ( ":eq(" + spr _index + ")" ) . attr ( 'inline_edit' ) == 1 ) return ;
var inline _edit = table _head _children . filter ( ":eq(" + spr _index + ")" ) . attr ( 'inline_edit' ) ;
// gremo pobarvat celice
if ( ! isNaN ( spr _id ) && spr _id != '' ) {
$ . each ( table _head _children . filter ( "th[spr_id=" + spr _id + "]" ) , function ( i , value ) {
var table _index = table _head _children . index ( value ) ;
// naredimo korekcijo indexov če imamo stolpce z ikonami
var corect _index = table _index + ( tableIconColspan == 0 ? 0 : tableIconColspan - 1 ) ;
target _parent _children . filter ( ":eq(" + corect _index + ")" ) . addClass ( "hover" ) ;
} ) ;
}
}
/ * *
* odstrani hover s celic
* /
function edit _data _hoverout ( event ) {
$ ( event . target ) . parent ( ) . find ( 'td.hover' ) . removeClass ( "hover" ) ;
}
/ * *
* izrise rolete za inline edit vprasanja
* /
function edit _data _inline _edit ( ) {
// srv_meta_anketa_id se ni postavljen
srv _meta _anketa _id = srv _meta _anketa _id || $ ( "#srv_meta_anketa_id" ) . val ( ) ;
// povemo koliko stolpcev z ikonicami imamo (se nastavi v html)
var tableIconColspan = parseInt ( $ ( "#tableIconColspan" ) . val ( ) ) || 0 ;
var tableHeadChildren = $ ( '#dataTable tr:nth-child(3)' ) . children ( ) ; // th-ji vrstice header tabele
var sprList = [ ] ;
// gremo cez vse stolpce ki imajo inline_edit=1 in si shranimo spr_id
tableHeadChildren . filter ( "th[inline_edit=1]" ) . each ( function ( ii , column ) {
sprList . push ( $ ( column ) . attr ( 'spr_id' ) ) ;
} ) ;
// poberemo html kodo forme
$ . post ( 'ajax.php?t=postprocess&a=get_inline_edit_all' , { anketa : srv _meta _anketa _id , spr : sprList } , function ( response ) {
// gremo cez vse stolpce ki imajo inline_edit=1
for ( var i = 0 , len = response . length ; i < len ; i ++ ) {
var column = $ ( 'th[spr_id=' + response [ i ] . spr + ']' ) ;
var spr _id = $ ( column ) . attr ( 'spr_id' ) ;
// na kateri celici smo
var tableIndex = tableHeadChildren . index ( column ) ;
// nardimo korekcijo zaradi ikonic
tableIndex = tableIndex + ( tableIconColspan > 0 ? tableIconColspan : 1 ) ; // +1 ker je en stolpec uid (skrit)
// če mamo ikonce mormo prištet še 1 ker mamo prvi stolpec colspanan (headerji z ikoncami nimajo atrubuta inline_edit)
// gremo cez vse vrstice
$ ( '#dataTable tr' ) . each ( function ( ii , tr ) {
var element = $ ( tr ) . find ( 'td:nth-child(' + ( tableIndex ) + ')' ) ;
if ( $ ( element ) . is ( 'td' ) ) {
var usr _id = $ ( tr ) . find ( 'td.data_uid' ) . html ( ) ;
var val = element . html ( ) ;
if ( val && val . trim ( ) != '' ) {
// naredimo fragment, da samo 1x updatamo dom
var fragment = $ ( response [ i ] . html ) ;
// tuki se sprozi en jquery error, samo gre za bug: http://bugs.jquery.com/ticket/12072
// option ne obstaja, dodamo novo
if ( fragment . find ( 'select option.' + val + '' ) . length == 0 ) {
fragment . find ( 'select' ) . prepend ( '<option value="' + val + '" selected="selected">' + val + '</option>' ) . val ( val ) ;
// option obstaja, jo selectamo
} else {
fragment . find ( 'select' ) . val ( fragment . find ( 'select option.' + val + '' ) . val ( ) ) ;
}
fragment . filter ( 'form' ) . prepend ( '<input type="hidden" name="usr_id" value="' + usr _id + '" />' ) . attr ( 'name' , 'inline_edit_' + usr _id + '_' + spr _id ) ;
element . html ( fragment ) ;
}
}
} ) ;
}
} , 'json' ) ;
}
/ * *
* shrani podatke pri inline urejanju
* /
function edit _data _inline _edit _save ( name ) {
$ . post ( 'ajax.php?t=postprocess&a=edit_data_question_save&anketa=' + srv _meta _anketa _id , $ ( "form[name=" + name + "]" ) . serialize ( ) , function ( ) {
//window.location.reload();
} ) ;
}
function data _preview _content ( event ) {
var target = $ ( event . target ) . closest ( 'td' ) ;
if ( target . closest ( 'tr' ) . parent ( ) . is ( 'tbody' ) ) {
if ( ! target . hasClass ( 'enkaIcon' ) && ! target . hasClass ( 'data_edit' ) && ! target . hasClass ( 'cellGreen' ) ) {
if ( target . find ( '.data_preview_content' ) . length == 0 ) {
if ( target . html ( ) != '' )
target . append ( '<div class="data_preview_content">' + target . html ( ) + '</div>' ) ;
} else {
target . find ( '.data_preview_content' ) . remove ( ) ;
}
}
}
return false ;
}
/ * *
* obarva ozadje celic ob hoverju headerja za sortiranje
* /
function data _header _hover ( event ) {
var target = $ ( event . target ) ;
// ce smo kliknili na notranji div z classom: .dataCell
if ( target . is ( '.dataCell' ) ) {
target = target . parent ( ) ;
}
if ( ! target . is ( 'th' ) ) return ;
var seq = target . attr ( 'seq' ) ;
if ( ! isNaN ( seq ) && seq != '' ) {
target . addClass ( "hover" ) ;
}
}
/ * *
* odstrani hover s header celic
* /
function data _header _hoverout ( event ) {
var target = $ ( event . target ) ;
target . parent ( ) . parent ( ) . find ( ':not(.sort_asc, .sort_dsc)' ) . removeClass ( "hover" ) ;
}
function data _header _click ( event ) {
var target = $ ( event . target ) ;
// ce smo kliknili na notranji div z classom: .dataCell
if ( target . is ( '.dataCell' ) ) {
target = target . parent ( ) ;
}
if ( ! target . is ( 'th' ) ) return ;
$ ( "#loading" ) . show ( ) ;
var sort _seq = target . attr ( 'seq' ) ;
if ( ! isNaN ( sort _seq ) && sort _seq != '' ) {
var sort _type = target . is ( '.sort_asc' ) ? 'sort_dsc' : 'sort_asc'
vnos _redirect ( sort _action _url + '&sort_seq=' + sort _seq + '&sort_type=' + sort _type ) ;
}
}
var coding _cache = new Array ( ) ;
function coding _click ( el , event ) {
var usr _id = el . closest ( 'tr' ) . find ( 'td.data_uid' ) . html ( ) ;
usr _id = parseInt ( usr _id ) ;
var td _pos = el . parent ( ) . children ( ) . index ( el ) ;
var spr _id = $ ( '#dataTable tr:nth-child(3) th:eq(' + td _pos + ')' ) . attr ( 'spr_id' ) ;
if ( ! spr _id > 0 ) return ;
var pos = el . offset ( ) ;
$ ( "#coding" ) . html ( '' ) . css ( { "left" : ( event . pageX ) + "px" , "top" : ( event . pageY + 20 ) + "px" } ) . show ( ) ;
$ ( '#dataTable tr td' ) . removeClass ( 'active' ) ;
el . addClass ( 'active' ) ;
$ ( '#dataTable tbody td' ) . removeClass ( 'cellBlue' ) ;
$ ( '#dataTable tbody td:nth-child(' + ( td _pos + 1 ) + ')' ) . addClass ( 'cellBlue' ) ;
if ( false && usr _id in coding _cache ) {
$ ( '#coding' ) . html ( coding _cache [ usr _id ] ) ;
} else {
$ ( '#coding' ) . load ( 'ajax.php?t=postprocess&a=coding' , { anketa : srv _meta _anketa _id , spr _id : spr _id , usr _id : usr _id } , function ( data ) {
coding _cache [ usr _id ] = data ;
} ) ;
}
}
function coding _save ( usr _id ) {
delete coding _cache [ usr _id ] ;
$ . post ( 'ajax.php?t=postprocess&a=coding_save' , $ ( 'form#coding_' + usr _id ) . serialize ( ) , function ( data ) { } ) ;
$ ( '#dataTable td.active' ) . css ( 'color' , 'lightgray' ) ;
$ ( '#dataTable td' ) . removeClass ( 'active' ) ;
$ ( '#dataTable tbody td' ) . removeClass ( 'cellBlue' ) ;
$ ( '#coding' ) . hide ( ) ;
$ ( '.coding-refresh' ) . fadeIn ( ) ;
}
function coding _vrednost _new ( spr _id , usr _id , naslov ) {
coding _cache = new Array ( ) ;
$ ( '#coding' ) . load ( 'ajax.php?t=postprocess&a=vrednost_new' , { anketa : srv _meta _anketa _id , spr _id : spr _id , naslov : naslov , usr _id : usr _id } ) ;
}
function coding _spremenljivka _new ( spr _id , usr _id , naslov ) {
coding _cache = new Array ( ) ;
$ ( '#coding' ) . load ( 'ajax.php?t=postprocess&a=spremenljivka_new' , { anketa : srv _meta _anketa _id , naslov : naslov , spr _id : spr _id , usr _id : usr _id } ) ;
}
function coding _tip ( spr _id , usr _id , tip ) {
coding _cache = new Array ( ) ;
$ ( '#coding' ) . load ( 'ajax.php?t=postprocess&a=tip' , { anketa : srv _meta _anketa _id , spr _id : spr _id , usr _id : usr _id , tip : tip } ) ;
}
function mass _coding ( seq , coding _type ) {
$ ( '#vrednost_edit' ) . load ( 'ajax.php?t=postprocess&a=mass_coding' , { anketa : srv _meta _anketa _id , seq : seq , coding _type : coding _type } , function ( data ) {
$ ( '#vrednost_edit' ) . show ( ) ;
$ ( '#fade' ) . fadeTo ( 'slow' , 1 ) ;
} ) ;
}
function coding _filter ( seq ) {
$ . post ( 'ajax.php?t=postprocess&a=coding_filter' , { anketa : srv _meta _anketa _id , seq : seq } , function ( data ) {
window . location . reload ( )
} ) ;
}
2022-04-26 02:31:43 +02:00
function toggle _coding _div ( ) {
$ ( '#coding' ) . hide ( ) ;
}
2020-08-14 13:36:36 +02:00
function coding _merge ( spr _id , vre _id , usr _id , merge ) {
if ( spr _id > 0 && vre _id > 0 && merge > 0 ) {
$ ( '#coding' ) . load ( 'ajax.php?t=postprocess&a=coding_merge' , { anketa : srv _meta _anketa _id , spr _id : spr _id , vre _id : vre _id , usr _id : usr _id , merge : merge } ) ;
}
}
function postProcessAddTitles ( ) {
$ . each ( $ ( '#dataTable tbody tr td' ) ,
function ( i , value ) {
var element = $ ( value ) ;
if ( ! $ ( element ) . attr ( 'title' ) && $ ( element ) . attr ( 'class' ) != 'data_edit' ) {
var txt = element . html ( ) ;
element . attr ( 'title' , txt ) ;
}
} ) ;
}
function postProcessAddMetaTitles ( ) {
// povemo koliko stolpcev z ikonicami imamo (se nastavi v html)
var tableIconColspan = parseInt ( $ ( "#tableIconColspan" ) . val ( ) ) ;
if ( tableIconColspan == 0 )
{
tableIconColspan = 1 ;
}
var fields = { } ;
fields [ 'status' ] = 0 ;
fields [ 'lurker' ] = 0 ;
fields [ 'recnum' ] = 0 ;
fields [ 'code' ] = 0 ;
fields [ 'itime' ] = 0 ;
fields [ 'lineNo' ] = 0 ;
fields [ 'meta' ] = 0 ;
$ . each ( $ ( '#dataTable tr:nth-child(3) th' ) , function ( i , element )
{
if ( $ ( element ) . attr ( 'spr_id' ) == 'status' )
{
fields [ 'status' ] = i + tableIconColspan ;
}
else if ( $ ( element ) . attr ( 'spr_id' ) == 'lurker' )
{
fields [ 'lurker' ] = i + tableIconColspan ;
}
else if ( $ ( element ) . attr ( 'spr_id' ) == 'recnum' )
{
fields [ 'recnum' ] = i + tableIconColspan ;
}
else if ( $ ( element ) . attr ( 'spr_id' ) == 'code' )
{
fields [ 'code' ] = i + tableIconColspan ;
}
else if ( $ ( element ) . attr ( 'spr_id' ) == 'itime' )
{
fields [ 'itime' ] = i + tableIconColspan ;
}
else if ( $ ( element ) . attr ( 'spr_id' ) == 'lineNo' )
{
fields [ 'lineNo' ] = i + tableIconColspan ;
}
else if ( $ ( element ) . attr ( 'spr_id' ) == 'meta' && fields [ 'meta' ] == 0 )
{
fields [ 'meta' ] = i + tableIconColspan ;
}
} ) ;
var langs = new Array ( ) ;
// polovimo tekste
$ . post ( 'ajax.php?a=getDataStatusTitles' , { anketa : srv _meta _anketa _id } , function ( data ) {
data = jQuery . parseJSON ( data ) ;
langs [ 0 ] = data . status0 ;
langs [ 1 ] = data . status1 ;
langs [ 2 ] = data . status2 ;
langs [ 3 ] = data . status3 ;
langs [ 4 ] = data . status4 ;
langs [ 5 ] = data . status5 ;
langs [ 6 ] = data . status6 ;
// preletimo skozi kolono in dodamo title
$ . each ( $ ( '#dataTable tr' ) , function ( i , value )
{
// status
if ( fields [ 'status' ] > 0 )
{
var element = $ ( value ) . find ( ':nth-child(' + ( fields [ 'status' ] ) + ')' ) ;
if ( $ ( element ) . is ( 'td' ) ) {
// pobarvamo celice
element . addClass ( "cellBlue" ) ;
// in dodamo naslove
var status = parseInt ( element . html ( ) ) ;
var new _val = langs [ status ] ;
element . attr ( 'title' , status + ' - ' + new _val ) ;
}
}
// lurker
if ( fields [ 'lurker' ] > 0 )
{
var element = $ ( value ) . find ( ':nth-child(' + ( fields [ 'lurker' ] ) + ')' ) ;
if ( $ ( element ) . is ( 'td' ) ) {
element . addClass ( "cellBlue" ) ;
}
}
// recnum
if ( fields [ 'recnum' ] > 0 )
{
var element = $ ( value ) . find ( ':nth-child(' + ( fields [ 'recnum' ] ) + ')' ) ;
if ( $ ( element ) . is ( 'td' ) ) {
element . addClass ( "cellBlue" ) ;
}
}
if ( fields [ 'code' ] > 0 )
{
var element = $ ( value ) . find ( ':nth-child(' + ( fields [ 'code' ] ) + ')' ) ;
if ( $ ( element ) . is ( 'td' ) ) {
element . addClass ( "cellBlue" ) ;
}
}
// itime
if ( fields [ 'itime' ] > 0 )
{
var element = $ ( value ) . find ( ':nth-child(' + ( fields [ 'itime' ] ) + ')' ) ;
if ( $ ( element ) . is ( 'td' ) ) {
// pobarvamo celice
element . addClass ( "cellYellow" ) ;
}
}
// lineNo
if ( fields [ 'lineNo' ] > 0 )
{
var element = $ ( value ) . find ( ':nth-child(' + ( fields [ 'lineNo' ] ) + ')' ) ;
if ( $ ( element ) . is ( 'td' ) ) {
// pobarvamo celice
element . addClass ( "cellYellow" ) ;
}
}
// lineNo
if ( fields [ 'meta' ] > 0 )
{
var element = $ ( value ) . find ( ':nth-child(n+' + ( fields [ 'meta' ] ) + ')' ) ;
if ( $ ( element ) . is ( 'td' ) ) {
// pobarvamo celice
element . addClass ( "cellBlue" ) ;
}
}
} ) ;
} ) ;
}
function postProcessAddSystem ( columns ) {
var tableIconColspan = parseInt ( $ ( "#tableIconColspan" ) . val ( ) ) ;
var indexes = [ ] ;
$ . each ( columns , function ( j , col ) {
var index = $ ( "th[seq=" + col + "]" ) . index ( ) + tableIconColspan ;
indexes . push ( index ) ;
} ) ;
$ . each ( $ ( '#dataTable tr' ) , function ( i , value ) {
$ . each ( indexes , function ( j , pos ) {
var element = $ ( value ) . find ( ':nth-child(' + ( pos ) + ')' ) ;
if ( $ ( element ) . is ( 'td' ) ) {
element . addClass ( "cellRed" ) ;
}
} ) ;
} ) ;
}
function postProcessAddLurkerTitles ( column ) {
// povemo koliko stolpcev z ikonicami imamo (se nastavi v html)
var tableIconColspan = parseInt ( $ ( "#tableIconColspan" ) . val ( ) ) ;
// zamenjamo statuse
// poiščemo elemente z sekvenco: 2-ustreznost 4 - status, 5 - lurker
var table _head _children = $ ( '#dataTable tr:nth-child(3)' ) . children ( ) ; // th-ji vrstice header tabele (s spr_id)
var table _index = table _head _children . filter ( "th[seq=5]" ) . index ( ) ;
// če sploh prikazujemo statuse
if ( table _index > 0 ) {
//naredimo korekcijo: katera je head celica z spr_id za celico z kurzorjem
table _index = tableIconColspan + column ;
var langs = new Array ( ) ;
// polovimo tekste
$ . post ( 'ajax.php?a=getDataLurkerTitles' , { anketa : srv _meta _anketa _id } , function ( data ) {
data = jQuery . parseJSON ( data ) ;
langs [ 0 ] = data . status0 ;
langs [ 1 ] = data . status1 ;
// preletimo skozi kolono in dodamo title
$ . each ( $ ( '#dataTable tr' ) ,
function ( i , value ) {
var element = $ ( value ) . find ( ':nth-child(' + ( table _index ) + ')' ) ;
if ( $ ( element ) . is ( 'td' ) ) {
var status = parseInt ( element . html ( ) ) ;
var new _val = langs [ status ] ;
element . attr ( 'title' , new _val ) ;
element . html ( new _val ) ;
}
} ) ;
} ) ;
}
}
function postProcessAddEmailTitles ( column ) {
// povemo koliko stolpcev z ikonicami imamo (se nastavi v html)
var tableIconColspan = parseInt ( $ ( "#tableIconColspan" ) . val ( ) ) ;
// zamenjamo statuse
// poiščemo elemente z sekvenco: 2-ustreznost 3 - status, 5 - lurker
var table _head _children = $ ( '#dataTable tr:nth-child(3)' ) . children ( ) ; // th-ji vrstice header tabele (s spr_id)
var table _index = table _head _children . filter ( "th[seq=3]" ) . index ( ) ;
// če sploh prikazujemo statuse
if ( table _index > 0 ) {
//naredimo korekcijo: katera je head celica z spr_sid za celico z kurzorjem
table _index = tableIconColspan + column ;
var langs = new Array ( ) ;
// polovimo tekste
$ . post ( 'ajax.php?a=getDataEmailTitles' , { anketa : srv _meta _anketa _id } , function ( data ) {
data = jQuery . parseJSON ( data ) ;
langs [ 0 ] = data . email0 ;
langs [ 1 ] = data . email1 ;
langs [ 2 ] = data . email2 ;
// preletimo skozi kolono in dodamo title
$ . each ( $ ( '#dataTable tbody tr' ) ,
function ( i , value ) {
var element = $ ( value ) . find ( 'td:nth-child(' + ( table _index ) + ')' ) ;
if ( $ ( element ) . is ( 'td' ) ) {
var status = parseInt ( element . html ( ) ) ;
var new _val = langs [ status ] ;
element . attr ( 'title' , new _val ) ;
element . html ( new _val ) ;
element . addClass ( "cellGreen" ) ;
if ( status == 1 )
element . addClass ( "invitation_cell" ) ;
}
} ) ;
} ) ;
}
}
function postProcessAddRelevanceTitles ( ) {
// povemo koliko stolpcev z ikonicami imamo (se nastavi v html)
var tableIconColspan = parseInt ( $ ( "#tableIconColspan" ) . val ( ) ) ;
// zamenjamo statuse
// poiščemo elemente z sekvenco: 2-ustreznost 3 - status, 5 - lurker
var table _head _children = $ ( '#dataTable tr:nth-child(3)' ) . children ( ) ; // th-ji vrstice header tabele (s spr_id)
var table _index = table _head _children . filter ( "th[seq=2]" ) . index ( ) ;
// če sploh prikazujemo statuse
if ( table _index > 0 ) {
//naredimo korekcijo: katera je head celica z spr_sid za celico z kurzorjem
table _index = tableIconColspan + 2 ;
var langs = new Array ( ) ;
// polovimo tekste
$ . post ( 'ajax.php?a=getDataLurkerTitles' , { anketa : srv _meta _anketa _id } , function ( data ) {
data = jQuery . parseJSON ( data ) ;
langs [ 0 ] = data . status0 ;
langs [ 1 ] = data . status1 ;
// preletimo skozi kolono in dodamo title
$ . each ( $ ( '#dataTable tbody tr' ) ,
function ( i , value ) {
var element = $ ( value ) . find ( 'td:nth-child(' + ( table _index ) + ')' ) ;
if ( $ ( element ) . is ( 'td' ) ) {
var status = parseInt ( element . html ( ) ) ;
var new _val = langs [ status ] ;
element . attr ( 'title' , new _val ) ;
element . html ( new _val ) ;
element . addClass ( "cellGreen" ) ;
}
} ) ;
} ) ;
}
}
function showSurveyAnswers ( event ) {
2021-09-30 14:11:09 +02:00
2020-08-14 13:36:36 +02:00
// polovimo user id
var srv _site _url = $ ( "#srv_site_url" ) . val ( ) ;
var target = $ ( event . target ) ;
var uid = $ ( target ) . parent ( ) . parent ( ) . find ( '.data_uid' ) . html ( ) ;
var href = srv _site _url + 'admin/survey/index.php?anketa=' + srv _meta _anketa _id + '&a=data&m=quick_edit&usr_id=' + uid + '&quick_view=1' ;
2021-09-30 14:11:09 +02:00
if ( uid > 0 ) {
2020-08-14 13:36:36 +02:00
window . location = href ;
}
}
function dataTableResize ( sid ) {
var mousedown = false ;
var startObj = undefined ;
var startX , startWidth ;
var anketa = sid ;
var widths = { } ;
if ( localStorage . dataTableWidths )
widths = JSON . parse ( localStorage . dataTableWidths ) ;
return function ( ) {
for ( var seq in widths [ anketa ] ) {
$ ( '#dataTable col[seq=' + seq + ']' ) . width ( widths [ anketa ] [ seq ] ) ;
}
$ ( '#dataTable tr:nth-child(3) th div.dataCell' ) . append ( '<div class="tableResize"></div>' ) ;
$ ( '#dataTable tr:nth-child(3) th .tableResize' ) . bind ( 'mousedown' , function ( e ) {
startObj = $ ( '#dataTable col[seq=' + $ ( this ) . closest ( 'th' ) . attr ( 'seq' ) + ']' ) ;
mousedown = true ;
startX = e . pageX ;
startWidth = startObj [ 0 ] . offsetWidth || parseInt ( startObj [ 0 ] . style . width . substring ( 0 , ( startObj [ 0 ] . style . width . length ) - 2 ) ) || 100 ; // 100 je default vrednost, ce se ni nastavljen v CSSju (offsetWidth pa prime samo v FF - ??)
document . onmousemove = function ( e ) {
if ( mousedown ) {
var width = startWidth + ( e . pageX - startX ) ;
if ( width < 20 ) width = 20 ;
startObj . width ( width ) ;
var seq = startObj . attr ( 'seq' ) ;
if ( widths [ anketa ] == undefined ) widths [ anketa ] = { } ;
widths [ anketa ] [ seq ] = width ;
}
} ;
document . onmouseup = function ( ) {
if ( mousedown ) {
mousedown = false ;
localStorage . dataTableWidths = JSON . stringify ( widths ) ;
document . onmousemove = null ;
document . onmouseup = null ;
}
} ;
return false ;
} )
// double click - avtomatsko prilagajanje sirine
. bind ( 'dblclick' , function ( e ) {
var textWidth = $ ( '<span class="textWidth" style="position:absolute; visibility:hidden; white-space:nowrap;"></span>' ) ;
var textWidthJS = textWidth [ 0 ] ;
$ ( '#tableContainer' ) . append ( textWidth ) ;
var index = $ ( e . target ) . closest ( 'tr' ) . find ( 'th' ) . index ( $ ( e . target ) . closest ( 'th' ) ) ;
var maxWidth = 0 ;
var tWidth = 0 ;
var rows = $ ( '#dataTable tbody td:nth-child(' + ( index + 1 ) + ')' ) ;
for ( var i = 0 , len = rows . length ; i < len ; i ++ ) {
textWidthJS . innerHTML = rows [ i ] . innerHTML ;
tWidth = textWidthJS . offsetWidth ;
if ( tWidth > maxWidth ) maxWidth = tWidth ;
}
maxWidth += 10 ; // padding itd..
if ( maxWidth < 20 ) maxWidth = 20 ;
var seq = $ ( '#dataTable col:nth-child(' + ( index ) + ')' ) . width ( maxWidth ) . attr ( 'seq' ) ; // ni +1 ker ne upošteva hidden stolpcev
if ( widths [ anketa ] == undefined ) widths [ anketa ] = { } ;
widths [ anketa ] [ seq ] = maxWidth ;
localStorage . dataTableWidths = JSON . stringify ( widths ) ;
textWidth . remove ( ) ;
} ) ;
} ( ) ;
}