<< Click to Display Table of Contents >> Navigation: Konfigurierung Webinterface > Individuelles Maskenlayout > Elemente im individuellen Maskenlayout > Element "Kalender-Modul" |
Mit dem Kalender können Abläufe wie z.B. Prozesse oder Changes aus individuellen Masken heraus dargestellt werden. Dabei können die Ansichten über Zeitfenster definiert werden (Tagesansicht, Arbeitswochenansicht, Wochenansicht, Monatsansicht).
Hinweis: Jahresansicht
Bei Anzeige wird die Zeit automatisch an die Zeitzone des Webbenutzers angepasst.
Attribute
links,oben,Breite,Höhe
Position und Größe
AutoMoveAndResize
visible
Legt fest, ob das Element nach Initiierung der Maske angezeigt wird.
andere
Siehe „Kalender konfigurieren“
Funktionen
addItem(table, objid, from_year, from_month, from_day, from_hour, from_minute, to_year, to_month, to_day, to_hour, to_minute, is_all_days, text)
Fügt ein Zeitfenster hinzu.
addRelation(fromTable, fromObjID, toTable, toObjID, from_location, to_location, color, thick, pfeil_from_to_show, pfeil_to_from_show)
Fügt eine Beziehung hinzu, die als eine orientierte Linie (mit Pfeil) dargestellt wird.
fromTable, fromObjID
Identifiziert das erste Objekt
toTable, toObjID:
Identifiziert das zweite Objekt
from_location, to_location:
Definiert, wo in dem Zeitfenster (=Balken) die Linie beginnt und wo sie endet.
Werte:
"B“: von Beginn
„E“: von Ende
„M“: von Mittel
color, thick:
Farbe und Stärke der Linie
pfeil_from_to_show:
Legt fest, ob der Pfeil vom ersten Objekt auf das zweite Objekt zeigt (--------->)
pfeil_to_from_show:
Legt fest, ob der Pfeil vom zweiten Objekt auf das erste Objekt zeigt (<---------)
clearItems()
Löscht alle Zeitfenster.
getHeight(), getLeft(), getPosition(), getSize(), getTop(), getWidth(), setHeight(height), setLeft(left), setPosition(left,top), setSize(width,height), setTop(top), setWidth(width)
getIsTimeaxisHorizontal()
Gibt zurück, ob die Uhrzeit horizontal (true) oder vertikal (false) angezeigt wird.
getItem(index)
Gibt ein Zeitfenster zurück.
getItems()
Gibt alle Zeitfenster zurück.
getViewMode()
Gibt den Anzeigemodus als Zeichenfolge zurück.
month |
Monat |
week7 |
Woche |
week5 |
Arbeitswoche |
day |
Tag |
year |
Jahr |
refresh()
Kalender wird neu dargestellt.
setAutoRefresh(bARefresh)
Legt fest, ob nach Aufruf von folgenden Funktionen
-setViewMode*
-setTimeaxisHorizontal
-setTimeaxisVertical
-toggleTimeaxis
-setDate
der Kalender neu dargestellt wird. Standardmäßig wird der Kalender neu dargestellt.
Diese Funktion ist sinnvoll, wenn Sie z.B. gleichzeitig den ViewMode und das Datum ändern wollen.
Beispiel: 2x neu dargestellt
var RU=rimacon._userform, RUC=rimacon._userform._customer; RU.Calendar1.setViewModeMonth() RU.Calendar1.setDate(2016,5,2); |
In diesem Fall würde der Kalender zweimal neu dargestellt, was aus Sicht der Webbenutzer lange dauert.
Beispiel: 1x neu dargestellt
var RU=rimacon._userform, RUC=rimacon._userform._customer; RU.Calendar1.setAutoRefresh(false); RU.Calendar1.setViewModeMonth() RU.Calendar1.setDate(2016,5,2); RU.Calendar1.setAutoRefresh(true); RU.Calendar1.refresh(); |
setDate(date_as_string)
Legt das aktuell angezeigte Datum fest. Format 'TT.MM.JJJJ' .
setDate(year,month,day)
Legt das aktuell angezeigte Datum fest.
setItems(items)
Legt alle Zeitfenster fest.
setTimeaxisHorizontal()
Die Uhrzeit wird horizontal angezeigt.
setTimeaxisVertical()
Die Uhrzeit wird vertikal angezeigt.
setViewModeDay(timeaxis_horizontal)
Legt die Tagesansicht fest. Wenn timeaxis_horizontal true ist, wird die Uhrzeit horizontal angezeigt.
setViewModeMonth()
Legt die Monatsansicht fest.
setViewModeWeek5(timeaxis_horizontal)
Legt die Arbeitswochenansicht fest. Wenn timeaxis_horizontal true ist, wird die Uhrzeit horizontal angezeigt.
setViewModeWeek7(timeaxis_horizontal)
Legt die Wochenansicht fest. Wenn timeaxis_horizontal true ist, wird die Uhrzeit horizontal angezeigt.
setViewModeYear(days_horizontal)
Legt die Jahresansicht fest. Wenn days_horizontal true ist, werden die Tage horizontal angezeigt.
show(bShow)
Zeigt oder versteckt das Objekt.
showAllRelations()
Zeigt oder versteckt alle Beziehungen.
toggleTimeaxis()
Wechselt die Uhrzeitanzeige zwischen horizontal und vertikal.
Ereignisse
onUpdateItems
Dieses Ereignis wird bei jedem Refresh ausgeführt und ermöglicht eine Modifizierung der Zeitfenster.
onItemClick
Dieses Ereignis wird durch Anklicken eines Zeitfensters (z.B. Prozess) ausgeführt.
Variable ctx enthält die Kontextinformationen. Attribute der Variable ctx sind:
ctx.event : Browser event-Objekt
ctx.Item: Objekt des Typs „Item“, siehe „Objekttyp“
onItemDblClick
Dieses Ereignis wird durch Doppelklick auf ein Zeitfenster (z.B. Prozess) ausgeführt.
onEmptyAreaClick
Durch Klicken in einen leeren Bereich der Maske können Funktionen für das Ereignis onEmptyAreaClick durchgeführt werden.
Kontextvariablen:
ctx.Datetime: Lokale Zeit-Objekt des Typs „rimacon.ProjectCalendar.InternalDatetime“.
ctx.server.Datetime: Serverzeit-Objekt des Typs „rimacon.ProjectCalendar.InternalDatetime“.
ctx.UsedTime: Objekt von Typ boolean. True, wenn die Zeit genutzt wird. False, wenn nur Datum (ohne Zeit) genutzt wird.
onItemWasMoved
Dieses Ereignis wird ausgeführt, wenn der Webbenutzer ein Zeitfenster verschiebt.
Kontextvariablen:
ctx.Item: Objekt des Typs „Item“ .
ctx.from: Lokale Zeit-Objekt des Typs „rimacon.ProjectCalendar.InternalDatetime“.
ctx.to: Lokale Zeit. Objekt des Typs „rimacon.ProjectCalendar.InternalDatetime“ .
ctx.server.from: Serverzeit. Objekt des Typs „rimacon.ProjectCalendar.InternalDatetime“.
ctx.server.to: Serverzeit. Objekt des Typs „rimacon.ProjectCalendar.InternalDatetime“.
Objekttyp Item
Der Objekttyp „Item“ repräsentiert ein konkretes Zeitfenster.
Hierfür gibt es folgende Attribute:
Table |
|
ObjID |
|
Start |
Objekt von Typ rimacon.ProjectCalendar.InternalDatetime |
End |
Objekt von Typ rimacon.ProjectCalendar.InternalDatetime |
IsAllDay |
Objekt von Typ boolean |
Text |
|
TextColor |
|
BorderColor |
|
BGColor |
|
Objekttyp rimacon.ProjectCalendar.InternalDatetime
Der Objekttyp “rimacon.ProjectCalendar.InternalDatetime” beschreibt Datum und Zeit über die Attribute:
Year |
|
Month |
1-2 |
Day |
1-31 |
Hour |
0-23 |
Minute |
0-59 |
ToString() |
Datum und Zeit im Format TT.MM.JJJJ h:m |
ToJSdate() |
Datum und Zeit als Javascript-Date-Objekt |
Kalender konfigurieren
Uhrzeit - Start und Ende:
Definiert den Zeitraum in den Ansichten Tagesansicht, Arbeitswochenansicht und Wocheansicht. Davon unabhängig kann im Web die 0-24-Darstellung ein- oder ausgeschaltet werden.
Standardansicht:
Die Standardansicht wird direkt nach dem Öffnen verwendet. Sie können hierbei zwischen den Ansichten Tagesansicht, Arbeitswochenansicht, Wochenansicht und Monatsansicht wählen.
Zeitachse:
Definiert, ob die Zeitachse horizontal oder vertikal angezeigt wird. Dies wird in allen Ansichten, außer in der Monatsansicht, betrachtet.
.
Minuten pro Zeile:
Definiert, wie viele Minuten durch eine Zeile der Ansichten Tagesansicht, Arbeitswochenansicht und Wochenansicht repräsentiert werden sollen. Soll eine Viertelstunde in einer Zeile ausgegeben werden, geben Sie 15 Minuten an. Eine Stunde wird dann in vier Zeilen gesplittet.
Diese Einstellung kann im Webinterface geändert werden.
Den Kalender bei Initiierung nicht generieren:
Wenn angekreuzt, wird der Kalender bei Initiierung der Maske nicht generiert. Dies ist sinnvoll, wenn der Inhalt von anderen Komponenten abhängig ist, die während der Initiierung der Maske noch nicht bekannt sind.
Zeitfensterquelle(n) benutzen:
Aktiviert oder deaktiviert die definierten Zeitfensterquellen.
Das Herz des Kalenders sind Zeitfenster, die in Zeitfensterquellen definiert werden. Die Anzahl der Zeitfensterquellen ist unbeschränkt. In der Regel ist eine Quelle jedoch ausreichend.
Die Verwaltung der Zeitfensterquellen erfolgt in der Zeitfensterquellenliste. Eine Konfiguration erfolgt über einen Doppelklick oder über „Bearbeiten“.
Maske Zeitfensterquelle
Zeitfenster liegen in einer Tabelle der Datenbank. Es gibt drei Möglichkeiten, woher die Zeitfenster stammen können:
1. Sollen die Zeitfenster nicht weiter gefiltert werden, müssen lediglich die Zeitfensterquellen definiert werden. Aktivieren Sie die Option „Zeitfensterquelle(n) nutzen“.
2. Um die Daten Ihren Anforderungen entsprechend spezifisch zu filtern, definieren Sie zunächst die Zeitfensterquellen. Über „Ereignis“ – onUpdateItems – getItems () stehen alle Zeitfenster zur Verfügung, die dann über weitere Funktionen verwaltet werden können. Aktivieren Sie auch hier die Option „Zeitfensterquelle(n) nutzen“.
3. Sollen die Zeitfenster nur auf Javascript-Ebene gesteuert werden, muss die Option „Zeitfensterquelle(n) nutzen“ inaktiv (!) sein. In diesem Fall werden die Zeitfenster nicht (!) in onUpdateItems, sondern über andere Ereignisse wie z.B. afterFormInit gesteuert.
In der nachfolgend erläuterten Maske wird der Standardfall (d.h. Quelle in Datenbank) konfiguriert.
Reiter Zeitraum
Javascriptname:
Dieser Name wird für die Kalenderfilter genutzt (siehe dort).
Ganztätiges Ereignis:
Hier können Sie definieren, ob es sich bei dem Zeitfenster nur um das jeweilige Datum oder das Datum und die dazugehörige Zeit handelt.
Quelle:
Die Quelle wird entweder als reines SQL oder als eine veröffentlichte Tabelle inkl. Erweiterung wie „inner join, where, ...“ definiert. Das "Ergebnis" ist grundsätzlich ein SQL-Befehl. Die Spalten können hierbei als Quelle für weitere Einstellungen genutzt werden.
Über die Textfelder „von“, „bis“, „angezeigter Text“ und die dazugehörigen Buttons definieren Sie den Anfang und das Ende des Zeitfensters und den im Web angezeigten Text.
Reiter Farben
Jedes Zeitfenster kann farbig spezifisch dargestellt werden. Sie können die Hintergrundfarbe, die Farbe des Textes und des Rahmens auswählen.
Diese Farben werden über ein ausgewähltes Farbschema gesteuert. Der Kalender enthält 25 vordefinierte Farbkombinationen. Der Hintergrund der Balken wird bei diesen vordefinierten Kombinationen jeweils mit gradientem Farbverlauf dargestellt. Möchten Sie andere Farben verwenden, erfolgt die Anzeige einfarbig.
Farbschemata
1. Standard
Alle Zeitfenster werden mit rimacon-vordefinierten Farben (blau) dargestellt.
2. Individuell
Alle Zeitfenster werden in den von Ihnen definierten Farben dargestellt.
3. Farbe für FK oder Auswahlspalte
Die Farbenkombination wird nach FK oder Auswahlspalte vordefiniert. Z.B. „status=geplant” blau, “status=fertig” grün.
4. aus Spalten
Die drei Farben werden auf SQL-Ebene definiert.
Kalender filtern
Grundsätzlich kann der Kalender auf vier Ebenen gefiltert bzw. gesteuert werden.
Generell
In Zeitfensterquelle-SQL kann ein SQL-Where genutzt werden
Im Webinterface
Im Webinterface kann die Zeitfensterquelle über das Kalender-Filter-Element und vordefinierte Checkboxen gefiltert werden, wobei jede Checkbox
a.einem Wert in einer vordefinierten Spalte (z.B. Status = erledigt) entsprechen kann
b.mehreren Werten in einer vordefinierten Spalte (z.B. Status = erledigt oder bestellt) entsprechen kann
c.einem SQL-Where-Ausdruck (z.B. Prozess-Budget >=1000,00 EUR und Prozess-Budget <=5000,00 EUR) entsprechen kann
Die Checkbox-Gruppe kann auch ignoriert werden.
Checkboxen innerhalb einer Gruppe werden als logisches oder, die gesamten Checkboxengruppen als logisches und betrachtet.
Beispiel: Objekte, die bestellt oder geplant sind und Kosten zwischen 1000,00 EUR und 5000,00 EUR verursachen:
Gruppe 1:
[x] |
Bestellt |
[ ] |
Defekt |
[x] |
Geplant |
Gruppe 2:
[ ] |
Budget <1000 € |
[x] |
Budget 1000 – 5000 € |
[ ] |
Budget > 5000 € |
Nachträglich in Javascript
Nach dem Auslesen der Daten aus den Zeitfensterquellen stehen alle Zeitfenster über ein Javascript-Ereignis zur Verfügung und können weiter spezifisch gesteuert werden.
Zeitfenster über Javascript generieren
Zeitfensterquellen können sowohl über die Management Console als auch manuell über Javascript hinzugefügt werden.