Author: nettings
Date: Fri Jul 27 07:45:39 2007
New Revision: 560254
URL: http://svn.apache.org/viewvc?view=rev&rev=560254
Log:
migrate bxe to new generic editor usecases.
delete old editor-specific usecases
Added:
lenya/trunk/src/modules/bxe/resources/javascript/bxe_lenya_glue.js
Removed:
lenya/trunk/src/modules/bxe/xslt/link.xsl
Modified:
lenya/trunk/src/modules/bxe/config/module.xml
lenya/trunk/src/modules/bxe/resources/javascript/insertAsset.js
lenya/trunk/src/modules/bxe/resources/javascript/insertLink.js
lenya/trunk/src/modules/bxe/resources/misc/inc/config.xml
lenya/trunk/src/modules/bxe/sitemap.xmap
lenya/trunk/src/modules/bxe/usecases/bxe.jx
Modified: lenya/trunk/src/modules/bxe/config/module.xml
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/bxe/config/module.xml?view=diff&rev=560254&r1=560253&r2=560254
==============================================================================
--- lenya/trunk/src/modules/bxe/config/module.xml (original)
+++ lenya/trunk/src/modules/bxe/config/module.xml Fri Jul 27 07:45:39 2007
@@ -23,8 +23,8 @@
<depends module="org.apache.lenya.modules.webdav"/>
<depends module="org.apache.lenya.modules.resource"/>
<package>org.apache.lenya.modules</package>
- <version>0.1-dev</version>
+ <version>1.0-alpha1</version>
<name>BXE Editor</name>
<lenya-version>@lenya.version@</lenya-version>
- <description>http://bxe.oscom.org</description>
+ <description>http://bxe.oscom.org, now using generic editor usecases</description>
</module>
Added: lenya/trunk/src/modules/bxe/resources/javascript/bxe_lenya_glue.js
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/bxe/resources/javascript/bxe_lenya_glue.js?view=auto&rev=560254
==============================================================================
--- lenya/trunk/src/modules/bxe/resources/javascript/bxe_lenya_glue.js (added)
+++ lenya/trunk/src/modules/bxe/resources/javascript/bxe_lenya_glue.js Fri Jul 27 07:45:39 2007
@@ -0,0 +1,95 @@
+org.apache.lenya.editors.setObjectData = function(objectData, windowName) {
+ var usecase = usecaseMap[windowName];
+ var namespace;
+
+ switch (usecase) {
+ case "insertLink":
+ case "insertImage":
+ namespace = "http://www.w3.org/1999/xhtml";
+ break;
+ // FIXME: that is a shotgun approach to getting the broken <asset> thing to run.
+ // We get an asset, but it throws validation errors.
+ // it needs to be thrown out and replaced by <a href="" class="lenya.asset"/> anyways.
+ case "insertAsset":
+ namespace = "http://apache.org/cocoon/lenya/page-envelope/1.0";
+ break;
+ }
+
+ var snippet = org.apache.lenya.editors.generateContentSnippet(usecase, objectData, namespace);
+ var selection = window.getSelection(); // this works cross-browser, because bxe's editable area is not a form field
+ var content = snippet.beforeSelection
+ + (snippet.replaceSelection ? snippet.replaceSelection : selection)
+ + snippet.afterSelection;
+
+ // FIXME: someone with better bxe insights might want to check the options below...
+ switch (usecase) {
+ case "insertLink":
+ case "insertImage":
+ // If something was selected, it ends up in the alt attribute only, and is lost from view.
+ // better to keep it in the text as well (cf. replace behaviour...)
+ window.bxe_insertContent(content, window.BXE_SELECTION,window.BXE_SPLIT_IF_INLINE);
+ break;
+ case "insertAsset":
+ window.bxe_insertContent(content, window.BXE_SELECTION);
+ break;
+ }
+ usecaseMap[windowName] = undefined; // we're done!
+ objectData[windowName] = undefined; // we're done!
+}
+
+org.apache.lenya.editors.getObjectData = function(windowName) {
+ return objectData[windowName];
+}
+
+// 3 functions are needed because bxe's config file accepts only function names,
+// no parameters.
+
+function triggerInsertLink() {
+ var objectData = new org.apache.lenya.editors.ObjectData({
+ url : "",
+ text : "",
+ title : ""
+ });
+ triggerUsecase('insertLink', objectData);
+}
+
+function triggerInsertImage() {
+ var objectData = new org.apache.lenya.editors.ObjectData({
+ url : "",
+ text : "",
+ title : "",
+ width : "",
+ height: ""
+ });
+ triggerUsecase('insertImage', objectData);
+}
+
+function triggerInsertAsset() {
+ var objectData = new org.apache.lenya.editors.ObjectData({
+ url : "",
+ text : "",
+ title : ""
+ });
+ triggerUsecase('insertAsset', objectData);
+
+}
+
+function triggerUsecase(usecase, data) {
+ var windowName = org.apache.lenya.editors.generateUniqueWindowName();
+ data.text = window.getSelection();// this works cross-browser, because bxe's editable area is not a form field
+ alert("triggerUsecase[" + usecase +"]\n selectedText: '" + data.text + "'");
+ org.apache.lenya.editors.openUsecaseWindow(usecase, windowName);
+ //store some information about the new window for later:
+ usecaseMap[windowName] = usecase;
+ objectData[windowName] = data;
+ alert("Stored values for new window " + windowName + ":\n"
+ + "objectData[windowName] = '" + objectData[windowName] + "'\n"
+ + "usecaseMap[windowName] = '" + usecaseMap[windowName] + "'"
+ );
+}
+
+
+var objectData = new Array();
+var usecaseMap = new Array();
+
+
Modified: lenya/trunk/src/modules/bxe/resources/javascript/insertAsset.js
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/bxe/resources/javascript/insertAsset.js?view=diff&rev=560254&r1=560253&r2=560254
==============================================================================
--- lenya/trunk/src/modules/bxe/resources/javascript/insertAsset.js (original)
+++ lenya/trunk/src/modules/bxe/resources/javascript/insertAsset.js Fri Jul 27 07:45:39 2007
@@ -21,38 +21,3 @@
window.close();
}
- function insertCaption(name, caption, type, size) {
- document.forms['image'].assetName.value = name;
- document.forms['image'].caption.value = caption;
- document.forms['image'].type.value = type;
- document.forms['image'].assetSize.value = size;
- focus();
- }
-
- function insertData(name, caption, type, size, height, width) {
- var ratio = 1;
- if (width != 0) {
- ratio = height / width;
- }
- document.forms['image'].assetName.value = name;
- document.forms['image'].caption.value = caption;
- document.forms['image'].type.value = type;
- document.forms['image'].assetSize.value = size;
- document.forms['image'].height.value = height;
- document.forms['image'].width.value = width;
- document.forms['image'].ratio.value = ratio;
- focus();
- }
-
- function scaleHeight(width) {
- var ratio = document.forms['image'].ratio.value;
- document.forms['image'].height.value = width * ratio;
- focus();
- }
-
- function scaleWidth(height) {
- var ratio = document.forms['image'].ratio.value;
- document.forms['image'].width.value = height * ratio;
- focus();
- }
-
\ No newline at end of file
Modified: lenya/trunk/src/modules/bxe/resources/javascript/insertLink.js
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/bxe/resources/javascript/insertLink.js?view=diff&rev=560254&r1=560253&r2=560254
==============================================================================
--- lenya/trunk/src/modules/bxe/resources/javascript/insertLink.js (original)
+++ lenya/trunk/src/modules/bxe/resources/javascript/insertLink.js Fri Jul 27 07:45:39 2007
@@ -12,38 +12,3 @@
window.close();
}
-function setLink(uuid) {
- var language = CHOSEN_LANGUAGE;
- document.forms["link"].url.value = "lenya-document:" + uuid + ",lang=" + language;
-}
-
-function insertText() {
- var selectionContent = window.opener.getSelection().getEditableRange().toString();
- if (selectionContent.length != 0) {
- document.forms["link"].text.value = selectionContent;
- }
- focus();
-}
-
-function LinkTree(doc, treeElement) {
- this.doc = doc;
- this.treeElement = treeElement;
- this.selected = null;
-}
-
-LinkTree.prototype = new NavTree;
-
-LinkTree.prototype.handleItemClick = function(item, event) {
- setLink(item.uuid);
-}
-
-function buildTree() {
- var placeholder = document.getElementById('tree');
- var tree = new LinkTree(document, placeholder);
- tree.init(PUBLICATION_ID);
- tree.render();
- tree.loadInitialTree(AREA, DOCUMENT_ID);
-}
-
-var url;
-window.onload = insertText
Modified: lenya/trunk/src/modules/bxe/resources/misc/inc/config.xml
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/bxe/resources/misc/inc/config.xml?view=diff&rev=560254&r1=560253&r2=560254
==============================================================================
--- lenya/trunk/src/modules/bxe/resources/misc/inc/config.xml (original)
+++ lenya/trunk/src/modules/bxe/resources/misc/inc/config.xml Fri Jul 27 07:45:39 2007
@@ -122,7 +122,8 @@
<button name="sub" col="4" row="1" action="ToggleTextClass" ns="http://www.w3.org/1999/xhtml"/>
<button name="sup" col="5" row="1" action="ToggleTextClass" ns="http://www.w3.org/1999/xhtml"/>
<button name="clean_inline" col="0" row="6" action="CleanInline"/>
- <button name="link" col="0" row="5" type="insertElement" ns="http://www.w3.org/1999/xhtml">a</button>
+ <!--button name="link" col="0" row="5" type="insertElement" ns="http://www.w3.org/1999/xhtml">a</button-->
+ <button name="link" col="0" row="5" type="function">triggerInsertLink</button>
<button name="unlink" col="1" row="5" action="DeleteLink"/>
<button name="create_table" col="2" row="5" action="InsertTable"/>
<button name="Unordered_List" col="3" row="2" action="UnorderedList"/>
@@ -134,18 +135,22 @@
<button name="PasteDialog" col="4" row="4" action="ClipboardPasteDialog"/>
<button name="Paste" col="2" row="4" action="ClipboardPaste"/>
- <button name="Image" col="3" row="5" action="InsertImage"/>
+ <!--button name="Image" col="3" row="5" action="InsertImage"/-->
+ <button name="Image" col="3" row="5" type="function">triggerInsertImage</button>
<button name="Save" col="1" row="6" action="DocumentSave"/>
<button name="Undo" col="3" row="6" action="Undo"/>
<button name="Redo" col="4" row="6" action="Redo"/>
- <button name="Asset" col="2" row="6" action="InsertAsset"/>
+ <!-- button name="Asset" col="2" row="6" action="InsertAsset"/-->
+ <button name="Asset" col="2" row="6" type="function">triggerInsertAsset</button>
</buttons>
<callbacks>
+ <element name="table" ns="http://www.w3.org/1999/xhtml" type="function">bxe_InsertTableCallback</element>
+<!--
<element name="object" ns="http://www.w3.org/1999/xhtml" type="popup">?lenya.usecase=bxe.insertImage</element>
<element name="img" ns="http://www.w3.org/1999/xhtml" type="popup">?lenya.usecase=bxe.insertImage</element>
- <element name="table" ns="http://www.w3.org/1999/xhtml" type="function">bxe_InsertTableCallback</element>
<element name="asset" ns="http://apache.org/cocoon/lenya/page-envelope/1.0" type="popup">?lenya.usecase=bxe.insertAsset</element>
<element name="a" ns="http://www.w3.org/1999/xhtml" precheck="bxe_checkIfNotALink" type="popup">?lenya.module=bxe&lenya.step=link-show</element>
+-->
</callbacks>
<options>
<option name="autoParaElementName">p</option>
Modified: lenya/trunk/src/modules/bxe/sitemap.xmap
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/bxe/sitemap.xmap?view=diff&rev=560254&r1=560253&r2=560254
==============================================================================
--- lenya/trunk/src/modules/bxe/sitemap.xmap (original)
+++ lenya/trunk/src/modules/bxe/sitemap.xmap Fri Jul 27 07:45:39 2007
@@ -77,25 +77,6 @@
<map:redirect-to uri="{request:requestURI}"/>
</map:match>
- <map:match pattern="link-show" type="step">
- <map:generate src="context://lenya/content/util/empty.xml"/>
- <map:transform src="fallback://lenya/modules/bxe/xslt/link.xsl" label="content">
- <map:parameter name="publicationid" value="{page-envelope:publication-id}"/>
- <map:parameter name="area" value="authoring"/>
- <map:parameter name="tab" value="en"/>
- <map:parameter name="chosenlanguage" value="{page-envelope:document-language}"/>
- <map:parameter name="path" value="{page-envelope:document-path}"/>
- <map:parameter name="documenturl" value="/{page-envelope:document-url}"/>
- <map:parameter name="documentextension" value="{page-envelope:document-extension}"/>
- <map:parameter name="defaultlanguage" value="{page-envelope:default-language}"/>
- <map:parameter name="languages" value="{page-envelope:publication-languages-csv}"/>
- <map:parameter name="areabasepath"
- value="{proxy:/{page-envelope:publication-id}/{page-envelope:area}}"/>
- </map:transform>
- <map:call resource="style-cms-page"/>
- <map:serialize />
- </map:match>
-
<map:match pattern="*/*/**.html">
<!--+
| Build the BXE configuration
Modified: lenya/trunk/src/modules/bxe/usecases/bxe.jx
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/bxe/usecases/bxe.jx?view=diff&rev=560254&r1=560253&r2=560254
==============================================================================
--- lenya/trunk/src/modules/bxe/usecases/bxe.jx (original)
+++ lenya/trunk/src/modules/bxe/usecases/bxe.jx Fri Jul 27 07:45:39 2007
@@ -13,6 +13,8 @@
<jx:set var="pubId" value="${java.util.Arrays.asList(steps).get(1)}"/>
<link rel="stylesheet" href="/${pubId}/modules/bxe/bxe/css/editor.css" type="text/css"/>
<script src="/${pubId}/modules/bxe/bxe/bxeLoader.js" type="text/javascript"/>
+ <script src="/modules/editors/javascript/org.apache.lenya.editors.js"/>
+ <script src="/modules/bxe/javascript/bxe_lenya_glue.js"/>
</page:head>
<page:title><i18n:text>Bitflux Editor</i18n:text></page:title>
@@ -46,4 +48,4 @@
</jx:otherwise>
</jx:choose>
-</page:page>
\ No newline at end of file
+</page:page>
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.