r931 - in trunk/wikitty-publication/src/main: java/org/nuiton/wikitty/publication webapp/WEB-INF/jsp
Author: mfortun Date: 2011-05-31 17:31:17 +0200 (Tue, 31 May 2011) New Revision: 931 Url: http://nuiton.org/repositories/revision/wikitty/931 Log: * improve codemirror wrapper Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/CodeMirrorWrapper.java trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/edit.jsp Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/CodeMirrorWrapper.java =================================================================== --- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/CodeMirrorWrapper.java 2011-05-30 15:37:13 UTC (rev 930) +++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/CodeMirrorWrapper.java 2011-05-31 15:31:17 UTC (rev 931) @@ -12,49 +12,56 @@ */ public class CodeMirrorWrapper { - static public List<String> codeMirrorCssImport = new LinkedList<String>(); - static public List<String> codeMirrorScriptImport = new LinkedList<String>(); + // /wikitty-publication/js/codemirror-ui/lib/CodeMirror-2.0/mode - static public List<SelectOption> langages = new LinkedList<SelectOption>(); + protected String servContext; + protected String pathToCodeMirrorModeDir; + protected List<String> codeMirrorCssImport = new LinkedList<String>(); + protected List<String> codeMirrorScriptImport = new LinkedList<String>(); - static { + protected List<SelectOption> langages = new LinkedList<SelectOption>(); + + public CodeMirrorWrapper(String servContext, String pathToCodeMirrorModeDir) { + super(); + this.servContext = servContext; + this.pathToCodeMirrorModeDir = pathToCodeMirrorModeDir; // TODO mfortun-2011-05-30 maybe change this - - codeMirrorScriptImport - .add("/wikitty-publication/js/codemirror-ui/lib/CodeMirror-2.0/mode/javascript/javascript.js"); - codeMirrorScriptImport - .add("/wikitty-publication/js/codemirror-ui/lib/CodeMirror-2.0/mode/clike/clike.js"); - codeMirrorScriptImport - .add("/wikitty-publication/js/codemirror-ui/lib/CodeMirror-2.0/mode/css/css.js"); - codeMirrorScriptImport - .add("/wikitty-publication/js/codemirror-ui/lib/CodeMirror-2.0/mode/diff/diff.js"); - codeMirrorScriptImport - .add("/wikitty-publication/js/codemirror-ui/lib/CodeMirror-2.0/mode/haskell/haskell.js"); - codeMirrorScriptImport - .add("/wikitty-publication/js/codemirror-ui/lib/CodeMirror-2.0/mode/htmlmixed/htmlmixed.js"); - codeMirrorScriptImport - .add("/wikitty-publication/js/codemirror-ui/lib/CodeMirror-2.0/mode/php/php.js"); - codeMirrorScriptImport - .add("/wikitty-publication/js/codemirror-ui/lib/CodeMirror-2.0/mode/stex/stex.js"); - codeMirrorScriptImport - .add("/wikitty-publication/js/codemirror-ui/lib/CodeMirror-2.0/mode/xml/xml.js"); + codeMirrorScriptImport.add(servContext + pathToCodeMirrorModeDir + + "/javascript/javascript.js"); + codeMirrorScriptImport.add(servContext + pathToCodeMirrorModeDir + + "/clike/clike.js"); + codeMirrorScriptImport.add(servContext + pathToCodeMirrorModeDir + + "/css/css.js"); + codeMirrorScriptImport.add(servContext + pathToCodeMirrorModeDir + + "/diff/diff.js"); + codeMirrorScriptImport.add(servContext + pathToCodeMirrorModeDir + + "/haskell/haskell.js"); + codeMirrorScriptImport.add(servContext + pathToCodeMirrorModeDir + + "/htmlmixed/htmlmixed.js"); + codeMirrorScriptImport.add(servContext + pathToCodeMirrorModeDir + + "/php/php.js"); + codeMirrorScriptImport.add(servContext + pathToCodeMirrorModeDir + + "/stex/stex.js"); - codeMirrorCssImport - .add("/wikitty-publication/js/codemirror-ui/lib/CodeMirror-2.0/mode/diff/diff.css"); - codeMirrorCssImport - .add("/wikitty-publication/js/codemirror-ui/lib/CodeMirror-2.0/mode/stex/stex.css"); - codeMirrorCssImport - .add("/wikitty-publication/js/codemirror-ui/lib/CodeMirror-2.0/mode/haskell/haskell.css"); - codeMirrorCssImport - .add("/wikitty-publication/js/codemirror-ui/lib/CodeMirror-2.0/mode/css/css.css"); - codeMirrorCssImport - .add("/wikitty-publication/js/codemirror-ui/lib/CodeMirror-2.0/mode/clike/clike.css"); - codeMirrorCssImport - .add("/wikitty-publication/js/codemirror-ui/lib/CodeMirror-2.0/mode/javascript/javascript.css"); - codeMirrorCssImport - .add("/wikitty-publication/js/codemirror-ui/lib/CodeMirror-2.0/mode/xml/xml.css"); + codeMirrorScriptImport.add(servContext + pathToCodeMirrorModeDir + + "/xml/xml.js"); + codeMirrorCssImport.add(servContext + pathToCodeMirrorModeDir + + "/diff/diff.css"); + codeMirrorCssImport.add(servContext + pathToCodeMirrorModeDir + + "/stex/stex.css"); + codeMirrorCssImport.add(servContext + pathToCodeMirrorModeDir + + "/haskell/haskell.css"); + codeMirrorCssImport.add(servContext + pathToCodeMirrorModeDir + + "/css/css.css"); + codeMirrorCssImport.add(servContext + pathToCodeMirrorModeDir + "" + + "/clike/clike.css"); + codeMirrorCssImport.add(servContext + pathToCodeMirrorModeDir + + "/javascript/javascript.css"); + codeMirrorCssImport.add(servContext + pathToCodeMirrorModeDir + + "/xml/xml.css"); + langages.add(new SelectOption("clike", "clike", false)); langages.add(new SelectOption("javascript", "javascript", false)); langages.add(new SelectOption("css", "css", false)); @@ -66,11 +73,50 @@ langages.add(new SelectOption("xml", "xml", false)); } - static public String modeForMime(String mime) { + public String modeForMime(String mime) { // TODO mfortun-2011-05-30 really implements this + + for (SelectOption opt : langages) { + if (mime.endsWith(opt.value)){ + return opt.value; + } + + } return "javascript"; } + public String getServContext() { + return servContext; + } + + public void setServContext(String servContext) { + this.servContext = servContext; + } + + public String getPathToCodeMirrorModeDir() { + return pathToCodeMirrorModeDir; + } + + public void setPathToCodeMirrorModeDir(String pathToCodeMirrorModeDir) { + this.pathToCodeMirrorModeDir = pathToCodeMirrorModeDir; + } + + public List<String> getCodeMirrorCssImport() { + return codeMirrorCssImport; + } + + public void setCodeMirrorCssImport(List<String> codeMirrorCssImport) { + this.codeMirrorCssImport = codeMirrorCssImport; + } + + public List<String> getCodeMirrorScriptImport() { + return codeMirrorScriptImport; + } + + public void setCodeMirrorScriptImport(List<String> codeMirrorScriptImport) { + this.codeMirrorScriptImport = codeMirrorScriptImport; + } + public List<SelectOption> getLangages() { return langages; } Modified: trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/edit.jsp =================================================================== --- trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/edit.jsp 2011-05-30 15:37:13 UTC (rev 930) +++ trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/edit.jsp 2011-05-31 15:31:17 UTC (rev 931) @@ -46,6 +46,8 @@ Wikitty wikitty = action.getWikitty(); +CodeMirrorWrapper wrapper = new CodeMirrorWrapper(request.getContextPath(),"/js/codemirror-ui/lib/CodeMirror-2.0/mode"); + %> @@ -56,11 +58,11 @@ <script src="/wikitty-publication/js/codemirror-ui/js/codemirror-ui.js" type="text/javascript"></script> <link rel="stylesheet" href="/wikitty-publication/js/codemirror-ui/css/codemirror-ui.css" type="text/css" media="screen" /> -<% for (String uri : CodeMirrorWrapper.codeMirrorCssImport) { %> +<% for (String uri : wrapper.getCodeMirrorCssImport()) { %> <link rel="stylesheet" href="<%=uri%>"> <% } %> -<% for (String uri : CodeMirrorWrapper.codeMirrorScriptImport) { %> +<% for (String uri : wrapper.getCodeMirrorScriptImport()) { %> <script src="<%=uri%>"></script> <% } %> @@ -169,7 +171,7 @@ <select name="langageSelection" onchange="changeModeBy(this)"> -<% for(SelectOption otpion : CodeMirrorWrapper.langages) { %> +<% for(SelectOption otpion : wrapper.getLangages()) { %> <option value="<%=otpion.getValue()%>" selected="<%=otpion.isSelected()%>"><%=otpion.getDesc()%></option> <% } %> </select> @@ -184,7 +186,7 @@ var codeMirrorOptions = { lineNumbers: true, matchBrackets: true, - mode: "<%=CodeMirrorWrapper.modeForMime(action.getMimeType())%>" + mode: "<%=wrapper.modeForMime(action.getMimeType())%>" }; var uiOptions = { path : '/wikitty-publication/js/codemirror-ui/js/', searchMode : 'popup' };
participants (1)
-
mfortun@users.nuiton.org