Changeset 2951
- Timestamp:
- 07/13/10 10:25:15
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/deployment/webuser/webapp/resources/demoskins/themes/bedeworkTheme/css/bwScheduling.css
r2950 r2951 78 78 #bwScheduleTable td.needsaction { 79 79 font-family: Paladino, Times, serif; 80 color: #999; 81 background-color: transparent; 80 82 } 81 83 #bwScheduleTable #bwAddAttendee { trunk/deployment/webuser/webapp/resources/demoskins/themes/bedeworkTheme/javascript/bedeworkScheduling.js
r2950 r2951 238 238 // initialize the grid 239 239 this.init = function() { 240 // initialize a nyincoming attendees on first load240 // initialize all incoming attendees on first load 241 241 for (var i = 0; i < attendees.length; i++) { 242 var newAttendee = new bwAttendee(attendees[i].name, attendees[i].uid, attendees[i].role, attendees[i].status, attendees[i].type); 243 this.attendees.push(newAttendee); 242 // strip off "mailto:" if present 243 var attUri = attendees[i].uid; 244 if (attUri.indexOf("mailto:") != -1) { 245 attUri = attUri.substr(7); 246 } 247 var newAttendee = new bwAttendee(attendees[i].name, attUri, attendees[i].role, attendees[i].status, attendees[i].type); 248 bwGrid.attendees.push(newAttendee); 244 249 } 245 250 246 251 // now go get the freebusy information for the attendees 247 252 if (this.attendees.length > 0) { 248 this.requestFreeBusy();253 bwGrid.requestFreeBusy(); 249 254 } else { 250 255 // no attendees - just display the widget 251 this.display();256 bwGrid.display(); 252 257 } 253 258 }; 254 259 255 // update attendees when loading an event - data comes from event XML260 // add attendee in the bwGrid 256 261 /* examples: 257 bwGrid.updateAttendee("Venerable Bede", "vbede@mysite.edu", "CHAIR", "ACCEPTED", "person"); 258 bwGrid.updateAttendee("Samual Clemens", "sclemens@mysite.edu", "REQ-PARTICIPANT", "NEEDS-ACTION"); 259 bwGrid.updateAttendee("", "noname@mysite.edu", "OPT-PARTICIPANT", "DECLINED"); 260 */ 261 this.updateAttendee = function(name, uid, role, status, type) { 262 var newAttendee = new bwAttendee(name, uid, role, status, type); 262 bwGrid.addAttendee("Venerable Bede", "vbede@mysite.edu", "CHAIR", "ACCEPTED", "person"); 263 bwGrid.addAttendee("Samual Clemens", "sclemens@mysite.edu", "REQ-PARTICIPANT", "NEEDS-ACTION"); 264 bwGrid.addAttendee("", "noname@mysite.edu", "OPT-PARTICIPANT", "DECLINED"); 265 */ 266 this.addAttendee = function(name, uid, role, status, type) { 263 267 var attendeeIsNew = true; 264 268 269 // display the processing message 270 $("#bwSchedProcessingMsg").show(); 271 272 //var showAtts = ""; 265 273 // check to see if attendee already exists 266 274 for (var i=0; i < bwGrid.attendees.length; i++) { 267 if (newAttendee.uid == bwGrid.attendees[i].uid) { 268 attendeeIsNew = false; 269 break; 270 } 271 } 272 273 if (attendeeIsNew) { 274 // add the attendee to the local array 275 bwGrid.attendees.push(newAttendee); 276 bwGrid.requestFreeBusy(); 277 } 278 }; 279 280 // add attendee in the bwGrid 281 this.addAttendee = function(name, uid, role, status, type) { 282 var attendeeIsNew = true; 283 284 // display the processing message 285 $("#bwSchedProcessingMsg").show(); 286 287 // check to see if attendee already exists 288 for (var i=0; i < bwGrid.attendees.length; i++) { 275 //showAtts += bwGrid.attendees[i].uid + "\n"; 289 276 if (uid == bwGrid.attendees[i].uid) { 290 277 attendeeIsNew = false; … … 295 282 } 296 283 } 284 //alert(showAtts); 297 285 298 286 if (attendeeIsNew) { … … 318 306 }; 319 307 308 this.addAttendeeFromGrid = function() { 309 var uid = $("#bwAddAttendee").val(); 310 var role = $("#bwAddAttendeeRole").val(); 311 var partstat = $("#bwAddAttendeePartstat").val(); 312 // these are preliminary values - will get more from server after ajax call 313 bwGrid.addAttendee("",uid,role,partstat,"person"); 314 }; 315 320 316 this.removeAttendee = function(index) { 321 317 var uid = bwGrid.attendees[index].uid; … … 344 340 }); 345 341 346 347 342 }; 348 343 349 344 this.requestFreeBusy = function() { 350 345 // set up the freebusy URL based on current parameters 351 // e.g. http://localhost:8080/ucal/event/requestFreeBusy.gdo?b=de&start=20100510T050000Z&end=20100517T050000Z&organizerUri= douglm@mysite.edu&attendeeUri=douglm@mysite.edu&attendeeUri=johnsa@mysite.edu346 // e.g. http://localhost:8080/ucal/event/requestFreeBusy.gdo?b=de&start=20100510T050000Z&end=20100517T050000Z&organizerUri=mailto:douglm@mysite.edu&attendeeUri=douglm@mysite.edu&attendeeUri=johnsa@mysite.edu 352 347 var fbUrlStart = "&start=" + this.startRange.getUTCFullYear() + this.startRange.getUTCMonthFull() + this.startRange.getUTCDateFull() + "T" + this.startRange.getUTCHoursFull() + this.startRange.getUTCMinutesFull() + "00Z"; 353 348 var fbUrlEnd = "&end=" + this.endRange.getUTCFullYear() + this.endRange.getUTCMonthFull() + this.endRange.getUTCDateFull() + "T" + this.endRange.getUTCHoursFull() + this.endRange.getUTCMinutesFull() + "00Z";; … … 702 697 703 698 // output the attendee name or address (depending on which we have available) 704 // and addattendee functions699 // and output attendee functions 705 700 var attendeeAddress = curAttendee.uid; 706 701 var attendeeNameHtml = '<td class="name"><span class="bwAttendee" id="' + attendeeAddress + '">'; … … 773 768 addAttendeeHtml += '<input type="text" value="' + bwAddAttendeeDisp +'" name="attendee" id="bwAddAttendee" class="pending" size="30"/>'; 774 769 addAttendeeHtml += '<span id="bwAddAttendeeAdd" class="invisible">' + bwAddDisp +'</span>'; 775 addAttendeeHtml += '<span id="bwAddAttendeeAdvanced">advanced</span>';770 //addAttendeeHtml += '<span id="bwAddAttendeeAdvanced">advanced</span>'; 776 771 addAttendeeHtml += '<div id="bwAddAttendeeFields" class="invisible">'; 777 772 addAttendeeHtml += '<select name="role" id="bwAddAttendeeRole">'; … … 843 838 this.setFreeTime(); 844 839 840 // **** OUTPUT ***** 845 841 // write the table back to the display 846 842 $("#" + displayId).html(fbDisplay); 847 843 848 844 845 // **** ACTIONS **** 849 846 // now add some rollovers and onclick actions 850 847 // to the elements of the freebusy grid … … 1004 1001 1005 1002 // hide advanced switch, show add button 1006 $("#bwAddAttendeeAdvanced").hide();1003 // $("#bwAddAttendeeAdvanced").hide(); 1007 1004 changeClass("bwAddAttendeeAdd","visible"); 1008 1005 changeClass("bwAddAttendeeFields", "visible"); … … 1010 1007 ); 1011 1008 1009 // capture the enter key when entering an attendee; 1010 // do not submit the form; add the attendee. 1011 $("#bwScheduleTable #bwAddAttendee").keyup( 1012 function (e) { 1013 if(e.keyCode == 13) { 1014 bwGrid.addAttendeeFromGrid(); 1015 } 1016 } 1017 ); 1018 1012 1019 $("#bwScheduleTable #bwAddAttendeeAdd").click ( 1013 1020 function () { 1014 var uid = $("#bwAddAttendee").val(); 1015 var role = $("#bwAddAttendeeRole").val(); 1016 var partstat = $("#bwAddAttendeePartstat").val(); 1017 // these are preliminary values - will get more from backend after ajax call 1018 bwGrid.addAttendee("",uid,role,partstat,"person"); 1021 bwGrid.addAttendeeFromGrid(); 1019 1022 } 1020 1023 ); 1024 1021 1025 1022 1026 $("#bwScheduleTable .removeAttendee").click (
