]> git.pond.sub.org Git - eow/blobdiff - static/dojo-release-1.1.1/dojox/dtl/filter/htmlstrings.js
add Dojo 1.1.1
[eow] / static / dojo-release-1.1.1 / dojox / dtl / filter / htmlstrings.js
diff --git a/static/dojo-release-1.1.1/dojox/dtl/filter/htmlstrings.js b/static/dojo-release-1.1.1/dojox/dtl/filter/htmlstrings.js
new file mode 100644 (file)
index 0000000..d4feb93
--- /dev/null
@@ -0,0 +1,59 @@
+if(!dojo._hasResource["dojox.dtl.filter.htmlstrings"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.dtl.filter.htmlstrings"] = true;
+dojo.provide("dojox.dtl.filter.htmlstrings");
+
+dojo.require("dojox.dtl._base");
+
+dojo.mixin(dojox.dtl.filter.htmlstrings, {
+       _escapeamp: /&/g,
+       _escapelt: /</g,
+       _escapegt: />/g,
+       _escapeqt: /'/g,
+       _escapedblqt: /"/g,
+       _linebreaksrn: /(\r\n|\n\r)/g,
+       _linebreaksn: /\n{2,}/g,
+       _linebreakss: /(^\s+|\s+$)/g,
+       _linebreaksbr: /\n/g,
+       _removetagsfind: /[a-z0-9]+/g,
+       _striptags: /<[^>]*?>/g,
+       escape: function(value){
+               // summary: Escapes a string's HTML
+               var dh = dojox.dtl.filter.htmlstrings;
+               return value.replace(dh._escapeamp, '&amp;').replace(dh._escapelt, '&lt;').replace(dh._escapegt, '&gt;').replace(dh._escapedblqt, '&quot;').replace(dh._escapeqt, '&#39;');
+       },
+       linebreaks: function(value){
+               // summary: Converts newlines into <p> and <br />s
+               var output = [];
+               var dh = dojox.dtl.filter.htmlstrings;
+               value = value.replace(dh._linebreaksrn, "\n");
+               var parts = value.split(dh._linebreaksn);
+               for(var i = 0; i < parts.length; i++){
+                       var part = parts[i].replace(dh._linebreakss, "").replace(dh._linebreaksbr, "<br />")
+                       output.push("<p>" + part + "</p>");
+               }
+
+               return output.join("\n\n");
+       },
+       linebreaksbr: function(value){
+               // summary: Converts newlines into <br />s
+               var dh = dojox.dtl.filter.htmlstrings;
+               return value.replace(dh._linebreaksrn, "\n").replace(dh._linebreaksbr, "<br />");
+       },
+       removetags: function(value, arg){
+               // summary: Removes a space separated list of [X]HTML tags from the output"
+               var dh = dojox.dtl.filter.htmlstrings;
+               var tags = [];
+               var group;
+               while(group = dh._removetagsfind.exec(arg)){
+                       tags.push(group[0]);
+               }
+               tags = "(" + tags.join("|") + ")";
+               return value.replace(new RegExp("</?\s*" + tags + "\s*[^>]*>", "gi"), "");
+       },
+       striptags: function(value){
+               // summary: Strips all [X]HTML tags
+               return value.replace(dojox.dtl.filter.htmlstrings._striptags, "");
+       }
+});
+
+}