Browse Source

Can add DOM node directly.

Herbert Vojčík 7 years ago
parent
commit
2183a44f4a
2 changed files with 39 additions and 1 deletions
  1. 31 1
      src/Web.js
  2. 8 0
      src/Web.st

+ 31 - 1
src/Web.js

@@ -2,7 +2,7 @@ define(["amber/boot"
 //>>excludeStart("imports", pragmas.excludeImports);
 , "amber/jquery/Wrappers-JQuery", "amber_core/Platform-DOM"
 //>>excludeEnd("imports");
-, "amber_core/Kernel-Collections", "amber_core/Kernel-Methods", "amber_core/Kernel-Objects"], function($boot
+, "amber_core/Kernel-Collections", "amber_core/Kernel-Infrastructure", "amber_core/Kernel-Methods", "amber_core/Kernel-Objects"], function($boot
 //>>excludeStart("imports", pragmas.excludeImports);
 
 //>>excludeEnd("imports");
@@ -4645,6 +4645,36 @@ messageSends: ["do:", "append:"]
 }),
 $globals.Collection);
 
+$core.addMethod(
+$core.method({
+selector: "appendToBrush:",
+protocol: '*Web',
+fn: function (aTagBrush){
+var self=this;
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+return $core.withContext(function($ctx1) {
+//>>excludeEnd("ctx");
+var $1;
+$1=$recv($globals.PlatformDom)._isDomNode_(self["@jsObject"]);
+if($core.assert($1)){
+$recv(aTagBrush)._appendChild_(self["@jsObject"]);
+} else {
+$recv(aTagBrush)._append_(self._asString());
+}
+return self;
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+}, function($ctx1) {$ctx1.fill(self,"appendToBrush:",{aTagBrush:aTagBrush},$globals.JSObjectProxy)});
+//>>excludeEnd("ctx");
+},
+//>>excludeStart("ide", pragmas.excludeIdeData);
+args: ["aTagBrush"],
+source: "appendToBrush: aTagBrush\x0a\x09(PlatformDom isDomNode: jsObject)\x0a\x09\x09ifTrue: [ aTagBrush appendChild: jsObject ]\x0a\x09\x09ifFalse: [ aTagBrush append: self asString ]",
+referencedClasses: ["PlatformDom"],
+//>>excludeEnd("ide");
+messageSends: ["ifTrue:ifFalse:", "isDomNode:", "appendChild:", "append:", "asString"]
+}),
+$globals.JSObjectProxy);
+
 $core.addMethod(
 $core.method({
 selector: "appendToBrush:",

+ 8 - 0
src/Web.st

@@ -924,6 +924,14 @@ appendToBrush: aTagBrush
 	self do: [ :each | aTagBrush append: each ]
 ! !
 
+!JSObjectProxy methodsFor: '*Web'!
+
+appendToBrush: aTagBrush
+	(PlatformDom isDomNode: jsObject)
+		ifTrue: [ aTagBrush appendChild: jsObject ]
+		ifFalse: [ aTagBrush append: self asString ]
+! !
+
 !Object methodsFor: '*Web'!
 
 appendToBrush: aTagBrush