//unsere eigenen Tabs!
$.fn.sw_tabs = function() {
//damit mir mein $(this) nicht verloren geht
var thistabs = $(this);
//diese Funktion prüft, ob die Pfeile für das hin und her scrollen erforderlich sind und fügt sie ggf. hinzu
function scroll_tabs(thiss) {
var wrapper_width = $(thiss).children('.tabs_wrapper').get(0).scrollWidth;
var width = Math.ceil($(thiss).outerWidth());
if(wrapper_width > width) {
$(thiss).addClass('tabs_scroll');
} else {
$(thiss).removeClass('tabs_scroll');
}
};
//diese Funktion führt das tatsächliche Scrollen aus und prüft, ob noch weiter nach rechts bzw. links gescrollt werden kann - je nach Ergebnis wird der Scrollpfeil dann disabled
function move_tabs (scroll_amount, scroll_time) {
thistabs.children('.tabs').children('.tabs_wrapper').animate({scrollLeft: scroll_amount}, scroll_time, function () {
var width = thistabs.children(".tabs").outerWidth();
var wrapper_width = thistabs.children('.tabs').children('.tabs_wrapper').outerWidth(true);
var wrapper_scrollwidth = thistabs.children('.tabs').children('.tabs_wrapper').get(0).scrollWidth;
var scroll_left = thistabs.children('.tabs').children('.tabs_wrapper').get(0).scrollLeft;
thistabs.children('.tabs').children('.pfeil').removeClass('disabled');
if(scroll_left == "0") {
thistabs.children('.tabs').children('.pfeil_links').addClass('disabled');
}
if (scroll_left >= (wrapper_scrollwidth - wrapper_width - 1) && scroll_left <= (wrapper_scrollwidth - wrapper_width + 1)) {
thistabs.children('.tabs').children('.pfeil_rechts').addClass('disabled');
}
});
};
//diese Funktionen werden zu Beginn des Aufrufens ausgeführt.
//dazu gehört die Prüfung, ob Pfeile benötigt werden und das Laden des ersten Tabs
setTimeout(function () {scroll_tabs(thistabs.children('.tabs'));}, 250);
thistabs.children('.tabs_content').load(thistabs.children('.tabs').children('.tabs_wrapper').children('.tab:first-child').attr('goto'));
thistabs.children('.tabs').children('.tabs_wrapper').children('.tab:first-child').addClass('tab_aktiv');
//wenn das Fenster seine Größe ändert, könnten die Scrollpfeile nötig werden, also prüfen wir das
$(window).resize(function() {
scroll_tabs(thistabs.children('.tabs'));
});
//wir klicken auf einen Pfeil, um die Tabs nach links oder rechts zu scrollen
thistabs.children('.tabs').children(".pfeil").click(function () {
var width = thistabs.children(".tabs").outerWidth();
var wrapper_width = thistabs.children('.tabs').children('.tabs_wrapper').outerWidth();
var wrapper_scrollwidth = thistabs.children('.tabs').children('.tabs_wrapper').get(0).scrollWidth;
var scroll_left = thistabs.children('.tabs').children('.tabs_wrapper').get(0).scrollLeft;
if ($(this).hasClass('pfeil_links')) {
var scroll_amount = scroll_left - wrapper_width;
}
if ($(this).hasClass('pfeil_rechts')) {
var scroll_amount = scroll_left + wrapper_width;
}
move_tabs(scroll_amount, 500);
});
//wir klicken auf einen Tab
thistabs.children('.tabs').children('.tabs_wrapper').children('.tab').click(function() {
//der Inhalt wird geladen
thistabs.children('.tabs_content').load($(this).attr('goto'));
thistabs.children('.tabs').children('.tabs_wrapper').children('.tab').removeClass('tab_aktiv');
$(this).addClass('tab_aktiv');
//falls was in der Buttonleiste stand, verschwindet es jetzt
$('#fenster_blocker .fenster:last-child .buttonleiste').empty();
if($('.fenster').length == 0) {
$('.toolbox').empty();
}
var tab_left = $(this).position().left;
var tab_width = $(this).outerWidth(true);
var wrapper_width = thistabs.children('.tabs').children('.tabs_wrapper').outerWidth();
var scroll_left = thistabs.children('.tabs').children('.tabs_wrapper').get(0).scrollLeft;
var pfeil_width = thistabs.children('.tabs').children('.pfeil').outerWidth();
//wenn der Tab nicht komplett im Sichtfeld ist, wird er ins Sichtfeld geschoben
if (tab_left < pfeil_width) {
move_tabs(scroll_left + tab_left - pfeil_width, 250);
}
if ((tab_left + tab_width + pfeil_width) > (wrapper_width)) {
move_tabs(scroll_left - (wrapper_width - (tab_left + tab_width)) - pfeil_width, 250);
}
});
};
function load_sw_tab(klasse, pfad) {
$(klasse).children('.tabs').children('.tabs_wrapper').children('.tab').each(function () {
if ($(this).attr('goto') == pfad) {
$(klasse).children('.tabs').children('.tabs_wrapper').children('.tab').removeClass('tab_aktiv');
$(this).addClass('tab_aktiv');
$(klasse).children('.tabs_content').load(pfad);
}
});
}
//Headinfobereich
var tId;
$headinfobereich = function(text, typ) {
if (typ == "success") {
var farbe = "gruen";
var icon = "fa-check-circle";
}
if (typ == "error") {
var farbe = "rot";
var icon = "fa-times-circle";
}
if (typ == "network") {
var farbe = "rot";
var icon = "fa-chain-broken";
}
$("#headinfobereich").removeClass('show').removeClass('rot').removeClass('gruen').hide().addClass(farbe);
$('#headinfobereich .infotext').html(text);
$('#headinfobereich .fa').attr('class', 'fa');
$('#headinfobereich .fa').addClass(icon);
$("#headinfobereich").toggleClass('show', 500).show();
clearTimeout(tId);
tId=setTimeout(function(){
$("#headinfobereich").toggleClass('show', 500).hide(500);
}, 5000);
}
//Fenster bauen
$fenster = function(klasse, titel, pfad, breite, hoehe, close_selector, close_pfad) {
$('#fenster_blocker').append("
");
$('#fenster_blocker .fenster:last-child').children('.fensterinhalt').load(pfad, function() {
if ($get_device() == "desktop") {
$('#fenster_blocker .fenster:last-child').css('height', hoehe);
$('#fenster_blocker .fenster:last-child').css('width', breite);
}
$('#fenster_blocker .fenster:last-child').attr("close_selector", close_selector);
$('#fenster_blocker .fenster:last-child').attr("close_pfad", close_pfad);
$('#fenster_blocker .fenster:last-child').addClass('aktiv', 300);
$('#fenster_blocker').addClass('aktiv', 300).show();
});
}
$fenster_schliessen = function () {
var selector = $('#fenster_blocker .fenster:last-child').attr('close_selector');
var pfad = $('#fenster_blocker .fenster:last-child').attr('close_pfad');
if ( typeof selector !== "undefined" && selector && typeof pfad !== "undefined" && pfad) {
$(selector).load(pfad);
}
$('#fenster_blocker .fenster:last-child').removeClass('aktiv', 300).remove();
if($('#fenster_blocker .fenster').length == 0) {
$('#fenster_blocker').removeClass('aktiv', 300).hide(300);
}
}
//Fenster schließen
$(document).on('click', '.fenster .symbolleiste .fenster_schliessen', $fenster_schliessen);
$(document).on('click', '#fenster_blocker:not(input)', function(e) {
if (e.target !== this) {
e.stopPropagation();
return;
}
$fenster_schliessen();
});
//Klick auf einen Menüpunkt, der etwas im Seiteninhalt öffnen soll
$(document).on('click', ".open_seiteninhalt", function() {
$('.fenster').removeClass('aktiv', 300).remove();
$('#fenster_blocker').removeClass('aktiv', 300).hide(300);
if($get_device() == "mobile"){
$('#sidemenu').removeClass('aktiv');
$('#seiteninhalt').removeClass('aktiv');
}
var modulpfad = $(this).attr('punktid');
var anzname = $(this).attr('anz');
$('.element').removeClass('smakt');
$(".element[punktid='"+modulpfad+"']").addClass('smakt');
$.post("../extranet/core/callmodul.php", {modul:modulpfad,ziel:'seiteninhalt'}).done(function(antwort){
$('#seiteninhalt').html(antwort);
});
$('*').unbind();
$(document).unbind('keydown');
return false;
});
//Klick auf einen Menüpunkt, der ein Fenster öffnen soll
$(document).on('click', ".open_prompt", function(){
if($get_device() == "mobile"){
$('#sidemenu').removeClass('aktiv');
$('#seiteninhalt').removeClass('aktiv');
}
$fenster($(this).attr('punktid')+'prompt', $(this).children('div[class="text"]').text(), '../extranet/core/callmodul.php?modul='+$(this).attr('punktid'), $(this).attr('window_width'), $(this).attr('window_height'));
return false;
});
//Klick auf ein Menüelement, das nix öffnen soll
$(document).on('click', ".open_none", function(){
return false;
});
//Klick auf Logout
$(document).on('click', ".open_logout", function(){
window.location.assign('./core/logout/index.php');
});
//beim Klick auf das Modultitelbild wird die index geladen
function load_index(){
$('#seiteninhalt').load($(this).attr('pfad'));
};
//beim Klick auf den Menüoberpunkt von der mobile wird das Menü geöffnet und geschlossen
$(document).on('click', '.menu .element', function() {
if ($get_device() == "mobile") {
$('#sidemenu').toggleClass('aktiv');
$('#seiteninhalt').toggleClass('aktiv');
}
});
//wenn das mobile Menü ausgefahren wird und man auf den seitenbereich klickt, fähr das menü ein
$(document).on('click', '#seiteninhalt.aktiv', function(){
if ($get_device() == "mobile") {
$('#sidemenu').removeClass('aktiv');
$('#seiteninhalt').removeClass('aktiv');
}
});
$(document).off('click', "#sidemenu .element .not_punkt").on('click', "#sidemenu .element .not_punkt", function(e) {
e.stopPropagation();
if($get_device() == "mobile") {
$('#sidemenu').removeClass('aktiv');
$('#seiteninhalt').removeClass('aktiv');
}
$fenster('benachrichtigungenprompt', 'Benachrichtigungen', './core/callmodul.php?modul=benachrichtigungen¶m='+$(this).parent().attr('punktid'), '300px', '500px');
return false;
});
//Userdata Button
$(document).off('click', ".ud-button").on('click', ".ud-button", function(){
$fenster('ud', 'Datei auswählen', './module/dateien/userdata/index.php?modul='+$(this).attr('ud-modul')+'&ordner='+$(this).attr('ud-ordner'), '800px', '600px');
});
(function($){
$.fn.extend({
swipeTable:function(params){
var conf = {start: 1, threshold:20, kopfspalte:false};
$.extend(conf, params);
return $(this).each(function(){
if($get_device() == "mobile" ){
var top = $(this).offset().top+50;
$('table:not(:has(#swipetipp))').append('
');
$(this).find('th[colspan], td[colspan]').each(function() {
var cell, count, results;
cell = $(this);
count = parseInt(cell.attr('colspan')) - 1;
cell.removeAttr('colspan');
results = [];
while (count > 0) {
cell.after(cell.clone());
cell = cell;
results.push(count--);
}
return results;
});
var menge = $(this).find("tr:nth-child(3) > td").length;
$(this).after("");
for(i=0; i");
}
$(this).find('td, th').hide();
$(this).attr('show',conf.start);
var min = 1;
if(conf.kopfspalte == true){
conf.start = conf.start+1;
$(this).attr('show',conf.start);
$('#swipebullets').find('i:nth-child(1)').hide();
$(this).find('td:nth-child(1),th:nth-child(1)').show();
var min = 2;
}
$('#swipebullets').find('i:nth-child('+conf.start+')').addClass('fa-circle');
$(this).find('td:nth-child('+conf.start+'),th:nth-child('+conf.start+')').show();
var tabelle = $(this);
$(this).swipe( {swipe:function(event, direction) {
$('#swipetipp').remove();
var max = $(tabelle).find("tr:nth-child(3) > td").length;
var current = parseInt($(tabelle).attr('show'));
var neu = current;
if(direction == "left" && current < max){
neu = current+1;
}
if(direction == "right" && current > min){
neu = current-1;
}
$(tabelle).find('td, th').hide();
if(conf.kopfspalte == true){
$(this).find('td:nth-child(1),th:nth-child(1)').show();
}
$('#swipebullets').find('i').removeClass('fa-circle').addClass('fa-circle-o');
$(tabelle).find('td:nth-child('+neu+'),th:nth-child('+neu+')').show();
$('#swipebullets').find('i:nth-child('+neu+')').addClass('fa-circle');
$(tabelle).attr('show', neu);
},
threshold:conf.threshold,
allowPageScroll : "vertical"
});
}
});
}
});
})(jQuery);