Procházet zdrojové kódy

Adds HTMLCanvas >> entity:. Fixes #172.

Herbert Vojčík před 11 roky
rodič
revize
1fc5022926
3 změnil soubory, kde provedl 52 přidání a 0 odebrání
  1. 18 0
      js/Canvas.deploy.js
  2. 23 0
      js/Canvas.js
  3. 11 0
      st/Canvas.st

+ 18 - 0
js/Canvas.deploy.js

@@ -377,6 +377,24 @@ return $1;
 }),
 smalltalk.HTMLCanvas);
 
+smalltalk.addMethod(
+"_entity_",
+smalltalk.method({
+selector: "entity:",
+fn: function (aString){
+var self=this;
+var result;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+result=_st(_st(_st("<span />")._asJQuery())._html_(_st(_st("&").__comma(aString)).__comma(";")))._text();
+$1=_st(_st(result)._size()).__eq((1));
+if(! smalltalk.assert($1)){
+_st(self)._error_(_st("Not an HTML entity: ").__comma(aString));
+};
+_st(self)._with_(result);
+return self}, function($ctx1) {$ctx1.fill(self,"entity:",{aString:aString,result:result}, smalltalk.HTMLCanvas)})}
+}),
+smalltalk.HTMLCanvas);
+
 smalltalk.addMethod(
 "_fieldset",
 smalltalk.method({

+ 23 - 0
js/Canvas.js

@@ -522,6 +522,29 @@ referencedClasses: []
 }),
 smalltalk.HTMLCanvas);
 
+smalltalk.addMethod(
+"_entity_",
+smalltalk.method({
+selector: "entity:",
+category: 'adding',
+fn: function (aString){
+var self=this;
+var result;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+result=_st(_st(_st("<span />")._asJQuery())._html_(_st(_st("&").__comma(aString)).__comma(";")))._text();
+$1=_st(_st(result)._size()).__eq((1));
+if(! smalltalk.assert($1)){
+_st(self)._error_(_st("Not an HTML entity: ").__comma(aString));
+};
+_st(self)._with_(result);
+return self}, function($ctx1) {$ctx1.fill(self,"entity:",{aString:aString,result:result}, smalltalk.HTMLCanvas)})},
+args: ["aString"],
+source: "entity: aString\x0a\x09\x22Adds a character representing html entity, eg.\x0a    html entity: 'copy'\x0a    adds a copyright sign.\x0a    If a name does not represent valid HTML entity, error is raised.\x22\x0a\x09| result |\x0a    result := ('<span />' asJQuery html: '&', aString, ';') text.\x0a    result size = 1 ifFalse: [ self error: 'Not an HTML entity: ', aString ].\x0a    self with: result",
+messageSends: ["text", "html:", ",", "asJQuery", "ifFalse:", "error:", "=", "size", "with:"],
+referencedClasses: []
+}),
+smalltalk.HTMLCanvas);
+
 smalltalk.addMethod(
 "_fieldset",
 smalltalk.method({

+ 11 - 0
st/Canvas.st

@@ -31,6 +31,17 @@ snippet: anElement
 
 !HTMLCanvas methodsFor: 'adding'!
 
+entity: aString
+	"Adds a character representing html entity, eg.
+    html entity: 'copy'
+    adds a copyright sign.
+    If a name does not represent valid HTML entity, error is raised."
+	| result |
+    result := ('<span />' asJQuery html: '&', aString, ';') text.
+    result size = 1 ifFalse: [ self error: 'Not an HTML entity: ', aString ].
+    self with: result
+!
+
 with: anObject
     ^self root with: anObject
 ! !