Changes
Page history
Naming
authored
Mar 19, 2021
by
Roland Koller
Show whitespace changes
Inline
Side-by-side
Integration/WebClient.md
0 → 100644
View page @
af1ab58d
Im Webclient is es aktuell (Stand enaio 9.10) leider noch nicht möglich, embedded office als Dashlet einzubinden.
Es kann jedoch die Inhalt bearbeiten Funktion übersteuert und hiermit das Dokument bearbeitet werden.

Hierzu muss der Webclient-Event
`BeforeOpen`
im Fullclient hinzugefügt werden.

Hier kann dann das Verhalten des
`Inhalt bearbeiten`
mit dem folgenden Code übersteuert werden:
## BeforeOpen
```
javascript
try
{
// session guid zur Authorisierung holen. Relevant für APPs und Electron Client
var
sessionGuid
=
formHelper
.
getInfo
().
session
.
sessionGuid
;
// URL des Editors zusammenbauen
var
href
=
window
.
location
.
baseUrl
+
"
/office/mobile/edit/edit/
"
+
objectTypeId
+
"
/
"
+
objectId
+
"
?sessionguid=
"
+
sessionGuid
;
// Prüfen ob es sich um ein Mobilgerät handelt
if
(
typeof
window
.
orientation
!==
'
undefined
'
)
{
// Öffnen des Editors im mobilen Modus im gleichen Tab
location
.
href
=
href
;
}
else
{
// Öffnen des Editors in einem eigenen Tab (Dokument ID in Tab ID hinterlegen, ob mehrere Tabs des selbend Dokuments zu vermeiden)
var
win
=
window
.
open
(
href
,
'
enaio_
'
+
objectId
);
// Neuen Tab in den Vordergrund holen
win
.
focus
();
}
// Client von weiteren Aktionen abhalten
done
(
-
1
);
}
catch
(
e
)
{
// Client von weiteren Aktionen abhalten. Hier kann auch eine Fehlermeldung eingebaut werden
done
(
-
1
);
}
```
Zusätzlich kann auch der Neu Dialog bei Dokumenten übersteuert werden, wenn die embedded office Template Funktion verwendet werden soll:
## AfterSave
```
javascript
// Wenn es sich um den Erstellmodus handelt
if
(
formHelper
.
isCreate
){
// session guid zur Authorisierung holen. Relevant für APPs und Electron Client
var
sessionGuid
=
formHelper
.
getInfo
().
session
.
sessionGuid
;
// Informationen zum aktuellen Dokument holen
var
doc
=
formHelper
.
getCurrentDmsDocument
();
// URL des Editors zusammenbauen
var
href
=
window
.
location
.
baseUrl
+
"
/office/mobile/edit/edit/
"
+
doc
.
model
.
objectTypeId
+
"
/
"
+
doc
.
model
.
id
+
"
?sessionguid=
"
+
sessionGuid
;
if
(
typeof
window
.
orientation
!==
'
undefined
'
)
{
// Öffnen des Editors im mobilen Modus im gleichen Tab
location
.
href
=
href
;
}
else
{
// Öffnen des Editors in einem eigenen Tab (Dokument ID in Tab ID hinterlegen, ob mehrere Tabs des selbend Dokuments zu vermeiden)
var
win
=
window
.
open
(
href
,
'
enaio_
'
+
doc
.
model
.
id
.
id
);
// Neuen Tab in den Vordergrund holen
win
.
focus
();
}
}
done
();
```
Bei beiden Scripen handelt es sich um Beispiele die natürlich an die Bedürfnisse angepasst werden können.