Template Addon

This commit is contained in:
Andreas Österreicher
2013-04-16 08:11:12 +00:00
parent 4ce3bd8b30
commit 73a80d8623
4 changed files with 131 additions and 2 deletions
+29
View File
@@ -0,0 +1,29 @@
Coding Guidlines für Addon-Entwickung
=====================================
Hier sind einige Coding Guidlines die beachtet werden sollten um Konflikte zu vermeiden
XUL-Applikationen
=================
IDs von XUL Elementen sollten immer nach folgendem Schema benannt werden:
addon-namedesaddons-xultag-bezeichnung
Ein Beispiel für das Addon mit dem Namen Template
<tree id="addon-template-tree-adressen">
Namen von globalen Variablen sollten immer nach folgendem Schema benannt werden:
AddonNamedesAddonsMeineVariable
Ein Beispiel für das Addon mit dem Namen Template
AddonTemplatePersonID=0
Namen von Funktionen sollten immer nach folgendem Schema benannt werden:
AddonNamedesAddonsMeineFunktion
Ein Beispiel für das Addon mit dem Namen Template
function AddonTemplateSave()
+87
View File
@@ -0,0 +1,87 @@
<?php
/* Copyright (C) 2013 FH Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
*/
/**
* Initialisierung des Addons
*/
?>
addon.push(
{
init: function()
{
// Diese Funktion wird nach dem Laden des FAS aufgerufen
// Hinzufuegen eines zusaetzlichen Tabs bei Mitarbeitern mit einem Label darin
var tabitem = document.createElement("tab");
tabitem.setAttribute("id","addon-template-tab");
tabitem.setAttribute("label","Template");
var mitarbeitertabs = document.getElementById("mitarbeiter-tabs");
mitarbeitertabs.appendChild(tabitem);
var tabpanelitem = document.createElement("vbox");
tabpanelitem.setAttribute("id","addon-template-tabpannel-vbox");
var label = document.createElement("label");
label.setAttribute("value","Template");
tabpanelitem.appendChild(label);
var mitarbeitertabpanels=document.getElementById("mitarbeiter-tabpanels-main");
mitarbeitertabpanels.appendChild(tabpanelitem);
// zusaetzliche Funktion beim klicken des Suchen Button bei Mitarbeitern hinzufuegen
searchbutton = document.getElementById("mitarbeiter-toolbar-button-search");
searchbutton.addEventListener("command",AddonTemplateMitarbeiterSearch, true);
// Menuepunkt hinzufuegen
statistikmenue = document.getElementById("menu-statistic-popup");
var menuentry = document.createElement("menuitem");
menuentry.setAttribute("id","addons-template-mymenuentry");
menuentry.setAttribute("label","Addon Template Menu Entry");
menuentry.addEventListener("command",AddonTemplateMenuEntry, true);
statistikmenue.appendChild(menuentry);
},
selectMitarbeiter: function(person_id, mitarbeiter_uid)
{
},
selectStudent: function(person_id, prestudent_id, student_uid)
{
},
selectVerband: function(item)
{
},
selectInstitut: function(institut)
{
},
selectLektor: function(lektor)
{
}
});
function AddonTemplateMitarbeiterSearch()
{
alert("AddonTemplateSearchButtonClicked");
}
function AddonTemplateMenuEntry()
{
alert("AddonTemplateMenuEntry clicked");
}
+10 -1
View File
@@ -71,6 +71,15 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/fasoverlay.xul.php"?>';
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/DragAndDrop.js"/>
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/functions.js.php"/>
<?php
// ADDONS
$addons = explode(";",ACTIVE_ADDONS);
foreach($addons as $addon)
{
echo '<script type="application/x-javascript" src="'.APP_ROOT.'addons/'.$addon.'/content/init.js.php" />';
}
?>
<commandset id="maincommands">
<command id="menu-file-close:command" oncommand="closeWindow();"/>
<command id="menu-properties-studiensemester:command" oncommand="studiensemesterChange();"/>
@@ -860,4 +869,4 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/fasoverlay.xul.php"?>';
</statusbarpanel>
</statusbar>
</window>
</window>
+5 -1
View File
@@ -23,7 +23,7 @@ require_once('../config/vilesci.config.inc.php');
?>
var menuUndoDatasource=0;
var STPLlastDetailUrl='leer';
var addon = Array();
//Speichert die Position der Scrollbalken in der Wochenuebersicht
TimeTableWeekPositionX=0;
TimeTableWeekPositionY=0;
@@ -82,6 +82,10 @@ function onLoad()
//Studenten Tab beim starten markieren
//document.getElementById('main-content-tabs').selectedItem=document.getElementById('tab-studenten');
for(i in addon)
{
addon[i].init();
}
//Funktion ueberschreiben damit sie nicht nochmal aufgerufen wird
//wenn zb ein IFrame geladen wird
onLoad=function() {return false};