Changeset 51
- Timestamp:
- 10/28/07 00:40:42 (6 years ago)
- File:
-
- 1 edited
-
trunk/javascript/klassenbuch.tasks.js (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/javascript/klassenbuch.tasks.js
r38 r51 490 490 ); 491 491 492 this._taskTable.addColumn("Aktionen", (function( ) {492 this._taskTable.addColumn("Aktionen", (function(task) { 493 493 /** 494 494 * Der HTML-Text für die Aktionssymbole, die angezeigt werden, wenn das Seitenmenü ausgeblendet ist. … … 499 499 * @memberof TaskManagement.View 500 500 */ 501 this._getContent5Cache = this._getContent5Cache || "<div class=\"taskTableActions\">" +501 this._getContent5Cache = this._getContent5Cache || 502 502 new Sprite("smallIcons", 0).toHTML("actionIcon iconShowComments") + ((User.signedIn) ? 503 503 new Sprite("smallIcons", 2).toHTML("actionIcon iconEditTask") + 504 504 new Sprite("smallIcons", 4).toHTML("actionIcon iconDeleteTask") : 505 505 new Sprite("smallIcons", 3).toHTML() + 506 new Sprite("smallIcons", 5).toHTML()) + "</div>";507 508 return this._getContent5Cache;506 new Sprite("smallIcons", 5).toHTML()); 507 508 return "<div class=\"taskTableActions\" name=\"" + task.id + "\">" + this._getContent5Cache + "</div>"; 509 509 }).bind(this), { 510 510 width: "80px", … … 518 518 this._taskTable.on("sort", this._onSort, this); 519 519 this._taskTable.on("highlightRow", this._onHighlightTask, this); 520 this._taskTable.on("refresh", this._onRefreshTable, this); 520 521 this._taskTable.on("refresh", function() { 522 this._getContent5Cache = ""; 523 }, this); 521 524 522 525 // Wird auf eine Aufgabe doppelt geklickt, wird das Kommentarfenster zu dieser Aufgabe geöffnet. … … 524 527 this.reportNavigation(task.id + "/kommentare"); 525 528 }, this); 529 530 this._taskTable.element.observe("click", (function(event) { 531 if (!this._sideMenu.visible()) { 532 var element = event.element(); 533 534 if (element.hasClassName("actionIcon")) { 535 var taskId = $(element.parentNode).readAttribute("name"); 536 537 if (taskId) { 538 if (element.hasClassName("iconShowComments")) { 539 this.reportNavigation(taskId + "/kommentare"); 540 } else if (element.hasClassName("iconEditTask")) { 541 this.reportNavigation(taskId + "/bearbeiten") 542 } else if (element.hasClassName("iconDeleteTask")) { 543 this.removeTask(TaskManagement.Tasks.find(function(task) { 544 return task.id == taskId; 545 })); 546 } 547 } 548 } 549 } 550 }).bindAsEventListener(this)); 526 551 527 552 // Zeichnet die Tabelle … … 681 706 this._sideMenu.items[1].enable(); 682 707 this._sideMenu.items[2].enable(); 683 }684 },685 686 /**687 * Wird aufgerufen, wenn die Tabelle mit den Aufgaben neu "gezeichnet" wird, sei dies nun weil der Benutzer eine688 * andere Sortierung gewählt hat oder weil die Aufgaben aktualisiert worden sind usw.<br /><br />Einerseits ist die689 * Methode dafür verantwortlich, dass für den Fall, dass das Seitenmenü ausgeblendet ist, die Aktionssymbole in der690 * Tabelle mit den entsprechenden Funktionen verknüpft werden. Andererseits erkennt die Funktion, wenn gar keine691 * Aufgaben darzustellen sind, versteckt in diesem Fall die verbliebenen Spaltenüberschriften und zeigt einen Hinweis692 * an, dass keine Aufgaben vorhanden sind.693 * @memberof TaskManagement.View694 */695 _onRefreshTable: function() {696 this._getContent5Cache = "";697 698 // Aktionssymbole werden nur sichtbar, wenn das Seitenmenü versteckt ist.699 if (!this._sideMenu.visible()) {700 var icons = this._taskTable.select(".actionIcon");701 702 // Wie viele Symbole gibt es pro Aufgabe703 var f = icons.length / this._taskTable.sortedRows.length;704 705 icons.each(function(icon, i) {706 var task = this._taskTable.rows.get(this._taskTable.sortedRows[Math.floor(i / f)]);707 708 if (icon.hasClassName("iconShowComments")) {709 icon.observe("click", this.reportNavigation.bind(this, task.id + "/kommentare"));710 } else if (icon.hasClassName("iconEditTask")) {711 icon.observe("click", this.reportNavigation.bind(this, task.id + "/bearbeiten"));712 } else if (icon.hasClassName("iconDeleteTask")) {713 icon.observe("click", this.removeTask.bind(this, task));714 }715 }, this);716 708 } 717 709 },
Note: See TracChangeset
for help on using the changeset viewer.