mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
WYSIWYG Editor XBL für Notizen im Planner
This commit is contained in:
@@ -31,3 +31,8 @@ box.Ressource
|
||||
{
|
||||
-moz-binding: url('projekt/ressource.xml.php#Ressource');
|
||||
}
|
||||
|
||||
box.WYSIWYG
|
||||
{
|
||||
-moz-binding: url('bindings.xml.php#wysiwyg');
|
||||
}
|
||||
|
||||
@@ -588,4 +588,161 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
|
||||
<handlers>
|
||||
</handlers>
|
||||
</binding>
|
||||
|
||||
<!--
|
||||
WYSIWYG Editor Binding
|
||||
-->
|
||||
<binding id="wysiwyg">
|
||||
<content>
|
||||
<xul:vbox flex="1" style="margin: 5px;">
|
||||
<xul:toolbar>
|
||||
<xul:toolbarbutton tooltiptext="Fett" image="../skin/images/bold.png" stlye="font-weight: bold;" oncommand="document.getBindingParent(this).setBold()"/>
|
||||
<xul:toolbarbutton tooltiptext="Kursiv" image="../skin/images/italic.png" style="font-style: italic;" oncommand="document.getBindingParent(this).setItalic()"/>
|
||||
<xul:toolbarbutton tooltiptext="Unterstrichen" image="../skin/images/underline.png" style="text-decoration: underline" oncommand="document.getBindingParent(this).setUnderline()"/>
|
||||
<xul:toolbarseparator />
|
||||
<xul:toolbarbutton tooltiptext="Linksbündig" image="../skin/images/justifyleft.png" oncommand="document.getBindingParent(this).setJustifyLeft()"/>
|
||||
<xul:toolbarbutton tooltiptext="Zentriert" image="../skin/images/justifycenter.png" oncommand="document.getBindingParent(this).setJustifyCenter()"/>
|
||||
<xul:toolbarbutton tooltiptext="Rechtsbündig" image="../skin/images/justifyright.png" oncommand="document.getBindingParent(this).setJustifyRight()"/>
|
||||
</xul:toolbar>
|
||||
<html:iframe anonid="wysiwyg-editor" editortype="html" src="about:blank" flex="1" type="content-primary" style="min-width: 100px; min-height: 100px; border: 1px solid gray;"/>
|
||||
</xul:vbox>
|
||||
</content>
|
||||
<implementation>
|
||||
<field name="initialisiert" />
|
||||
<field name="disabled_state" />
|
||||
<property name="value">
|
||||
<getter>
|
||||
<![CDATA[
|
||||
if(!this.initialisiert)
|
||||
this.init();
|
||||
try
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
editor = document.getAnonymousElementByAttribute(this ,'anonid', 'wysiwyg-editor');
|
||||
return editor.contentWindow.document.body.innerHTML;
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
]]>
|
||||
</getter>
|
||||
<setter>
|
||||
<![CDATA[
|
||||
//editor initalisieren
|
||||
if(!this.initialisiert)
|
||||
this.init();
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
editor = document.getAnonymousElementByAttribute(this ,'anonid', 'wysiwyg-editor');
|
||||
|
||||
if(editor.contentWindow.document.body.innerHTML!='')
|
||||
{
|
||||
//Inhalt leeren
|
||||
editor.contentDocument.execCommand("selectall", false, null);
|
||||
editor.contentDocument.execCommand("delete", false, null);
|
||||
}
|
||||
//Value setzen
|
||||
if(val!='')
|
||||
editor.contentDocument.execCommand("inserthtml", false, val);
|
||||
]]>
|
||||
</setter>
|
||||
</property>
|
||||
<property name="disabled">
|
||||
<getter>
|
||||
return this.disabled_state;
|
||||
</getter>
|
||||
<setter>
|
||||
<![CDATA[
|
||||
|
||||
if(val)
|
||||
{
|
||||
editor = document.getAnonymousElementByAttribute(this ,'anonid', 'wysiwyg-editor');
|
||||
editor.contentDocument.designMode = 'off';
|
||||
this.disabled_state=true;
|
||||
}
|
||||
else
|
||||
{
|
||||
editor = document.getAnonymousElementByAttribute(this ,'anonid', 'wysiwyg-editor');
|
||||
editor.contentDocument.designMode = 'on';
|
||||
this.disabled_state=false;
|
||||
}
|
||||
]]>
|
||||
</setter>
|
||||
</property>
|
||||
<method name="setBold">
|
||||
<body>
|
||||
<![CDATA[
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
editor = document.getAnonymousElementByAttribute(this ,'anonid', 'wysiwyg-editor');
|
||||
editor.contentDocument.execCommand("bold", false, null);
|
||||
]]>
|
||||
</body>
|
||||
</method>
|
||||
<method name="setItalic">
|
||||
<body>
|
||||
<![CDATA[
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
editor = document.getAnonymousElementByAttribute(this ,'anonid', 'wysiwyg-editor');
|
||||
editor.contentDocument.execCommand("italic", false, null);
|
||||
]]>
|
||||
</body>
|
||||
</method>
|
||||
<method name="setUnderline">
|
||||
<body>
|
||||
<![CDATA[
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
editor = document.getAnonymousElementByAttribute(this ,'anonid', 'wysiwyg-editor');
|
||||
editor.contentDocument.execCommand("underline", false, null);
|
||||
]]>
|
||||
</body>
|
||||
</method>
|
||||
|
||||
<method name="setJustifyLeft">
|
||||
<body>
|
||||
<![CDATA[
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
editor = document.getAnonymousElementByAttribute(this ,'anonid', 'wysiwyg-editor');
|
||||
editor.contentDocument.execCommand("justifyleft", false, null);
|
||||
]]>
|
||||
</body>
|
||||
</method>
|
||||
|
||||
<method name="setJustifyCenter">
|
||||
<body>
|
||||
<![CDATA[
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
editor = document.getAnonymousElementByAttribute(this ,'anonid', 'wysiwyg-editor');
|
||||
editor.contentDocument.execCommand("justifycenter", false, null);
|
||||
]]>
|
||||
</body>
|
||||
</method>
|
||||
|
||||
<method name="setJustifyRight">
|
||||
<body>
|
||||
<![CDATA[
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
editor = document.getAnonymousElementByAttribute(this ,'anonid', 'wysiwyg-editor');
|
||||
editor.contentDocument.execCommand("justifyright", false, null);
|
||||
]]>
|
||||
</body>
|
||||
</method>
|
||||
|
||||
<method name="init">
|
||||
<body>
|
||||
<![CDATA[
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
editor = document.getAnonymousElementByAttribute(this ,'anonid', 'wysiwyg-editor');
|
||||
editor.contentDocument.designMode = 'on';
|
||||
]]>
|
||||
</body>
|
||||
</method>
|
||||
<constructor>
|
||||
//Intialisierung des Editors im Konstruktor funktioniert nicht immer
|
||||
//deshalb wird er erst bei der ersten Verwendung initialisiert
|
||||
</constructor>
|
||||
<destructor>
|
||||
</destructor>
|
||||
</implementation>
|
||||
</binding>
|
||||
</bindings>
|
||||
|
||||
@@ -146,9 +146,9 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
|
||||
<xul:label value="Titel"/>
|
||||
<xul:textbox anonid="textbox-notiz-titel" maxlength="256"/>
|
||||
</xul:row>
|
||||
<xul:row>
|
||||
<xul:row flex="1">
|
||||
<xul:label value="Text"/>
|
||||
<xul:textbox anonid="textbox-notiz-text" multiline="true" rows="6"/>
|
||||
<xul:box class="WYSIWYG" anonid="textbox-notiz-text" flex="1"/>
|
||||
</xul:row>
|
||||
<xul:row>
|
||||
<xul:label value="Start"/>
|
||||
@@ -336,7 +336,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
|
||||
var notiz = new SOAPObject("notiz");
|
||||
notiz.appendChild(new SOAPObject("notiz_id")).val(notiz_id);
|
||||
notiz.appendChild(new SOAPObject("titel")).val(titel);
|
||||
notiz.appendChild(new SOAPObject("text")).val(text);
|
||||
notiz.appendChild(new SOAPObject("text")).cdataval(text);
|
||||
notiz.appendChild(new SOAPObject("verfasser_uid")).val(verfasser_uid);
|
||||
notiz.appendChild(new SOAPObject("bearbeiter_uid")).val(bearbeiter_uid);
|
||||
notiz.appendChild(new SOAPObject("start")).val(start);
|
||||
@@ -391,14 +391,9 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
|
||||
<method name="NeueNotiz">
|
||||
<body>
|
||||
<![CDATA[
|
||||
//debug('Neue Notiz');
|
||||
this.ResetDetails();
|
||||
this.DisableDetails(false);
|
||||
document.getAnonymousElementByAttribute(this ,'anonid', 'caption-notiz-detail').label="Neue Notiz";
|
||||
|
||||
var sr = new SOAPRequest("saveNotiz",soapBody);
|
||||
|
||||
SOAPClient.Proxy="<?php echo APP_ROOT;?>soap/notiz.soap.php?"+gettimestamp();
|
||||
]]>
|
||||
</body>
|
||||
</method>
|
||||
@@ -825,6 +820,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
|
||||
</method>
|
||||
|
||||
<constructor>
|
||||
//debug('load notiz:'+this.getAttribute('id'));
|
||||
this.DisableControls(true);
|
||||
this.DisableDetails(true);
|
||||
var projekt_kurzbz = this.getAttribute('projekt_kurzbz');
|
||||
|
||||
@@ -609,6 +609,7 @@ function ProjekttaskLoadCategories(project_id)
|
||||
{
|
||||
if(project_id!='')
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
//Kategorien zu diesem Projekt laden
|
||||
menulist = document.getElementById('menulist-projekttask-mantis-issue_category');
|
||||
var url = '<?php echo APP_ROOT; ?>rdf/mantis_categories.rdf.php?project_id='+project_id+'&'+gettimestamp();
|
||||
|
||||
@@ -150,10 +150,11 @@ var SOAPObject = function(name) {
|
||||
this.name=name;
|
||||
this.attributes=[];
|
||||
this.children=[];
|
||||
this.value=null;
|
||||
this.value=null;v
|
||||
this.attr=function(name, value){this.attributes.push({"name":name, "value":value});return this;};
|
||||
this.appendChild=function(obj){this.children.push(obj);return obj;};
|
||||
this.hasChildren=function(){return (this.children.length > 0)?true:false;};
|
||||
this.val=function(v){if(!v){return this.value;}else{this.value=v;return this;}};
|
||||
this.cdataval=function(v){if(!v){return this.value;}else{this.value='<![CDATA['+v+']]>';return this;}};
|
||||
this.toString=function(){return SOAPClient.ToXML(this);};
|
||||
};
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 179 B |
Binary file not shown.
|
After Width: | Height: | Size: 198 B |
Binary file not shown.
|
After Width: | Height: | Size: 175 B |
Binary file not shown.
|
After Width: | Height: | Size: 174 B |
Binary file not shown.
|
After Width: | Height: | Size: 175 B |
Binary file not shown.
|
After Width: | Height: | Size: 190 B |
Reference in New Issue
Block a user