$(document).ready( function(){ var socket = io(); socket.on('message', getMessage); var baseUrl = 'http://' + window.location.hostname; var content = $('.content'); var urlString = window.location.href; //var url = new URL(urlString); var sid = getParameterByName("sid", urlString); $.getJSON( baseUrl + '/apis/getMessages.php', { sid: sid }).done( function(session){ //var session = {"name":"Test session 1","start":"2018-04-28 15:20:00","stop":"2018-04-28 17:00:00","enabled":1,"progress_n":"0","progress_max":"0","duration":6000,"step_duration":6000,"messages":[{"id":"51","title":"1_welcome","short_text":"

Benvenuti in COZe<\/strong>, il vostro assistente teorico per discutere ancora meglio il caso.<\/p>\r\nOgni 3 minuti controllate il vostro cellulare.","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:20:20"},{"id":"52","title":"2_perf","short_text":"

gruppi --> output --> indicatori<\/strong><\/p>\r\n

Non dimenticatevi di tenere sotto controllo:<\/p>\r\n

Efficacia <\/strong><\/p>\r\n

Efficienza<\/strong><\/p>\r\n

Apprendimento<\/strong><\/p>\r\n

Durata<\/strong><\/p>","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:22:00"},{"id":"53","title":"3_indicatori","short_text":"

Efficacia <\/strong>è la capacità da parte del team di raggiungere l’obiettivo stabilito<\/p>\r\n

Efficienza<\/strong> è la capacità di raggiungere l’obiettivo nel rispetto delle risorse a disposizione, tempi, budget, risorse materiali<\/p>\r\n

Apprendimento<\/strong> è la capacità degli individui di aver sviluppato maggiore conoscenza derivante dalla interazione con gli altri membri<\/p>\r\n

Durata<\/strong> è la capacità del team di creare un contesto in cui è possibile generare valore aggiunto dall’interazione di membri che hanno già lavorato insieme<\/p>","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:23:00"},{"id":"54","title":"4_status","short_text":"

gruppi --> input --> status<\/strong><\/p>\r\n

Ricordate:<\/p>\r\n

Status:<\/strong> l’esplicita o implicita posizione gerarchica di ciascun individuo all’interno del team in relazione a quella degli altri membri (dovuto a esperienza, anzianità aziendale, posizione gerarchica, competenze)<\/p>\r\n

Gruppi composti da membri con status differenti tendono a sviluppare processi meno efficaci<\/p>\r\nAd esempio: mancanza di rappresentatività delle idee di tutti","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:24:00"},{"id":"55","title":"5_ruoli","short_text":"

gruppi --> input --> ruoli<\/strong><\/p>\r\n

Ricordate:<\/p>\r\n

Il ruolo<\/strong> costituisce un’aspettativa di comportamento che i membri del team nutrono nei confronti di ciascuno dei membri del team stesso.<\/p>\r\n

La definizione dei ruoli all’interno del team è un’attività fondamentale poiché fornisce i punti di riferimento relativi alle varie tipologie di attività che devono essere svolte<\/p>\r\n

Ruolo definito in base:<\/p>\r\n

all’orientamento a relazioni<\/strong> interne o esterne al gruppo<\/p>\r\n

all’orientamento al compito<\/strong> (dove devo andare, come arrivo all’obiettivo)<\/p>\r\nOccorre presidiale la diversity<\/strong> dei ruoli per avere prestazioni positive in un team","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:26:00"},{"id":"56","title":"6_comunicazione","short_text":"

gruppi --> processi --> compito<\/strong><\/p>\r\n

Ricordate: input eccellenti non necessariamente portano a risultati eccellenti. È necessario che i processi<\/strong> tra i membri siano a loro volta efficaci nel trasformare gli input in output.<\/p>\r\n

Processi orientati al compito<\/strong>: interazioni finalizzate a contribuire direttamente al raggiungimento dell’obiettivo<\/p>\r\n

Processo 1: comunicazione<\/strong><\/p>\r\nCostituisce il mezzo attraverso cui i membri di un team si scambiano informazioni rilevanti per lo svolgimento del compito (osservate frequenza e formalizzazione<\/strong>)","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:28:00"},{"id":"57","title":"7_coordinamento","short_text":"

gruppi --> processi --> compito<\/strong><\/p>\r\n

Processo 2: coordinamento<\/strong><\/p>\r\n

I membri di un team devono armonizzare e sincronizzare le proprie attività individuali finalizzandole al raggiungimento di un obiettivo comune.<\/p>\r\nRicordatevi della team awareness.","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:29:00"},{"id":"58","title":"8_bilanciamento","short_text":"

gruppi --> processi --> compito<\/strong><\/p>\r\n

processo 3: bilanciamento dei contributi<\/strong><\/p>\r\n

un gruppo efficace deve mettere i propri membri nella condizione di contribuire al risultato di team al massimo del proprio potenziale<\/p>\r\n

mancanza di bilanciamento --> social loafing e eccessiva influenza del contesto<\/p>\r\n","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:31:00"},{"id":"59","title":"9_supporto","short_text":"

gruppi --> processi --> relazione<\/strong><\/p>\r\n

processi orientati alle relazioni: interazioni aventi lo scopo di gestire la dimensione interpersonale tra i membri del team<\/p>\r\n

processo 4: supporto reciproco<\/strong><\/p>\r\n

il supporto reciproco all’interno del team fa riferimento alla modalità attraverso cui i membri del team gestiscono il conflitto (in modo cooperativo o competitivo) e supportano gli altri componenti in caso di necessità<\/p>\r\n

influenza del contesto (cultura e meccanismi valutaz)<\/p>","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:33:00"},{"id":"60","title":"10_coesione","short_text":"

gruppi --> processi --> relazione<\/strong><\/p>\r\n

processo 5: coesione<\/strong><\/p>\r\n

la coesione si riferisce al grado di attrazione interpersonale tra i membri del team. Un team coeso si sente una vera e propria squadra e la coesione rappresenta un vero e proprio collante per il team<\/p>\r\nrelazione tra coesione e prestazione a U-rovesciata","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:35:00"},{"id":"61","title":"11_warning_ruoli","short_text":"Warning: state facendo attenzione ai ruoli nel vostro team?<\/strong>","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:36:00"},{"id":"62","title":"12_warning_coordinamento","short_text":"Warning: state facendo attenzione al coordinamento dei vari sottogruppi di cui il vostro team è composto?<\/strong>","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:38:00"},{"id":"63","title":"13_warning_comunicazione","short_text":"Warning: state prestando attenzione alla trasparenza della comuncazione tra membri del team?<\/strong>","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:40:00"},{"id":"64","title":"14_efficienza","short_text":"Warning: state prestando attenzione alla deadline?<\/strong>","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:42:00"},{"id":"65","title":"15_warning_coesione","short_text":"Warning: state prestando attenzione alla coesione del vostro gruppo?<\/strong>","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:43:00"},{"id":"66","title":"16_warning_bilanciamento","short_text":"Warning: state prestando attenzione al bilanciamento dei contributi?<\/strong>","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:44:00"},{"id":"67","title":"17_warning_contributi","short_text":"Warning: state prestando attenzione alla analisi critica dei contributi di tutti i membri?<\/strong>","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:46:00"},{"id":"68","title":"18_warning_efficacia","short_text":"Warning: avete trovato una soluzione efficace o è necessario ridiscutere alcune cose da zero?<\/strong>","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:48:00"},{"id":"69","title":"19_end","short_text":"

Cari, <\/p>\r\n

non ci saranno ulteriori messaggi da parte di COZe.<\/strong><\/p>\r\n

Buon lavoro!<\/p>\r\n","long_text":"","image":"","actions":[],"timer":"2018-04-28 15:49:00"}]}; if(session.enabled){ var currentDate = new Date(); var timezoneOffset = (currentDate.getTimezoneOffset() * 60000); $.each(session.messages, function(index,item){ if(item.timer != session.start){ var now = new Date(Date.UTC(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate(), currentDate.getHours(), currentDate.getMinutes(), currentDate.getSeconds() )).getTime() + timezoneOffset + (1000 * 60 * 60 * 2); var timerValue = item.timer.split(' '); var timerDate = timerValue[0].split('-'); var timerHours = timerValue[1].split(':'); var timer = new Date(Date.UTC(parseInt(timerDate[0]), parseInt(timerDate[1]) - 1, parseInt(timerDate[2]), parseInt(timerHours[0]), parseInt(timerHours[1]), parseInt(timerHours[2]))).getTime(); var startValue = session.start.split(' '); var startDate = startValue[0].split('-'); var startHours = startValue[1].split(':'); var start = new Date(Date.UTC(parseInt(startDate[0]), parseInt(startDate[1]) - 1, parseInt(startDate[2]), parseInt(startHours[0]), parseInt(startHours[1]), parseInt(startHours[2]))).getTime(); //console.log('NOW ',now, timer, start); if(now > timer){ showCloud(item.title, [item.short_text, item.long_text], item.image, item.actions, session.messages); notify(true); } else { var delay = (timer - now); setTimeout( function(){ showCloud(item.title, [item.short_text, item.long_text], item.image, item.actions, session.messages); notify(true); },delay); } } }); } }); function showCloud(title, text, img, actions, messages){ var image = img ? '

' + text[1] + '
' : ''; var cloud = $('
' + title + '
' + text[0] + '
' + long_text + image + '
'); cloud.find('.toggle').on('click', function(e){ var button = $(e.currentTarget); var text = button.siblings('.text-content'); if(text.is(':visible')){ button.text('More...'); text.slideUp(); }else{ button.text('Less...'); text.slideDown(); } }); content.append(cloud); if(actions.length){ var actionsContainer = $('
'); $.each(actions, function(index, value){ var button = $(''); button.on('click', function(e){ var goto = $(e.currentTarget); var messageId = goto.data('goto'); var fullMessage = messages.filter( function(m){m.id == messageId}); showCloud(fullMessage[0].title, [fullMessage[0].short_text, fullMessage[0].long_text], fullMessage[0].image, fullMessage[0].actions, messages); notify(false); }); actionsContainer.append(button); }); content.append(actionsContainer); } scrollBottom(); } function scrollBottom(){ $('html, body').stop().animate({ scrollTop: $('.cloud').last().offset().top }, 1000); } function notify(vibrate){ if(vibrate){ var canVibrate = (navigator.vibrate || navigator.webkitVibrate || navigator.mozVibrate || navigator.msVibrate); if(canVibrate){ navigator.vibrate(500); } } $('#notify1')[0].play(); } function getMessage(message){ showCloud(message.title, [message.short_text, message.long_text], message.image, '', ''); notify(true); } function getParameterByName(name, url) { if (!url) url = window.location.href; name = name.replace(/[\[\]]/g, "\\$&"); var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url); if (!results) return null; if (!results[2]) return ''; return decodeURIComponent(results[2].replace(/\+/g, " ")); } });