Browse Source

Use PlatformDom to create text nodes / elements.

Herbert Vojčík 7 years ago
parent
commit
f52f19a255
2 changed files with 12 additions and 98 deletions
  1. 9 81
      src/Web.js
  2. 3 17
      src/Web.st

+ 9 - 81
src/Web.js

@@ -1,6 +1,6 @@
 define(["amber/boot"
 //>>excludeStart("imports", pragmas.excludeImports);
-, "amber/jquery/Wrappers-JQuery"
+, "amber/jquery/Wrappers-JQuery", "amber_core/Platform-DOM"
 //>>excludeEnd("imports");
 , "amber_core/Kernel-Collections", "amber_core/Kernel-Methods", "amber_core/Kernel-Objects"], function($boot
 //>>excludeStart("imports", pragmas.excludeImports);
@@ -12,7 +12,7 @@ var $core=$boot.api,nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boo
 if(!$boot.nilAsClass)$boot.nilAsClass=$boot.dnu;
 $core.addPackage('Web');
 $core.packages["Web"].innerEval = function (expr) { return eval(expr); };
-$core.packages["Web"].imports = ["amber/jquery/Wrappers-JQuery"];
+$core.packages["Web"].imports = ["amber/jquery/Wrappers-JQuery", "amber_core/Platform-DOM"];
 $core.packages["Web"].transport = {"type":"amd","amdNamespace":"amber/web"};
 
 $core.addClass('HTMLCanvas', $globals.Object, ['root'], 'Web');
@@ -2884,30 +2884,6 @@ messageSends: []
 }),
 $globals.TagBrush);
 
-$core.addMethod(
-$core.method({
-selector: "appendDocumentFragment:",
-protocol: 'private',
-fn: function (anElement){
-var self=this;
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-return $core.withContext(function($ctx1) {
-//>>excludeEnd("ctx");
-var element=self["@element"].appendChild(anElement["@element"]);
-return self;
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"appendDocumentFragment:",{anElement:anElement},$globals.TagBrush)});
-//>>excludeEnd("ctx");
-},
-//>>excludeStart("ide", pragmas.excludeIdeData);
-args: ["anElement"],
-source: "appendDocumentFragment: anElement\x0a\x09<inlineJS: 'var element=self[\x22@element\x22].appendChild(anElement[\x22@element\x22])'>",
-referencedClasses: [],
-//>>excludeEnd("ide");
-messageSends: []
-}),
-$globals.TagBrush);
-
 $core.addMethod(
 $core.method({
 selector: "appendString:",
@@ -2917,7 +2893,7 @@ var self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-self._appendChild_(self._createTextNodeFor_(aString));
+self._appendChild_($recv(aString)._asDomNode());
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"appendString:",{aString:aString},$globals.TagBrush)});
@@ -2925,10 +2901,10 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["aString"],
-source: "appendString: aString\x0a\x09self appendChild: (self createTextNodeFor: aString)",
+source: "appendString: aString\x0a\x09self appendChild: aString asDomNode",
 referencedClasses: [],
 //>>excludeEnd("ide");
-messageSends: ["appendChild:", "createTextNodeFor:"]
+messageSends: ["appendChild:", "asDomNode"]
 }),
 $globals.TagBrush);
 
@@ -3202,54 +3178,6 @@ messageSends: ["at:put:"]
 }),
 $globals.TagBrush);
 
-$core.addMethod(
-$core.method({
-selector: "createElementFor:",
-protocol: 'private',
-fn: function (aString){
-var self=this;
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-return $core.withContext(function($ctx1) {
-//>>excludeEnd("ctx");
-return document.createElement(String(aString));
-return self;
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"createElementFor:",{aString:aString},$globals.TagBrush)});
-//>>excludeEnd("ctx");
-},
-//>>excludeStart("ide", pragmas.excludeIdeData);
-args: ["aString"],
-source: "createElementFor: aString\x0a\x09<inlineJS: 'return document.createElement(String(aString))'>",
-referencedClasses: [],
-//>>excludeEnd("ide");
-messageSends: []
-}),
-$globals.TagBrush);
-
-$core.addMethod(
-$core.method({
-selector: "createTextNodeFor:",
-protocol: 'private',
-fn: function (aString){
-var self=this;
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-return $core.withContext(function($ctx1) {
-//>>excludeEnd("ctx");
-return document.createTextNode(String(aString));
-return self;
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"createTextNodeFor:",{aString:aString},$globals.TagBrush)});
-//>>excludeEnd("ctx");
-},
-//>>excludeStart("ide", pragmas.excludeIdeData);
-args: ["aString"],
-source: "createTextNodeFor: aString\x0a\x09<inlineJS: 'return document.createTextNode(String(aString))'>",
-referencedClasses: [],
-//>>excludeEnd("ide");
-messageSends: []
-}),
-$globals.TagBrush);
-
 $core.addMethod(
 $core.method({
 selector: "draggable:",
@@ -3470,7 +3398,7 @@ var self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-self["@element"]=self._createElementFor_(aString);
+self["@element"]=$recv($globals.PlatformDom)._newElement_(aString);
 self["@canvas"]=aCanvas;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
@@ -3479,10 +3407,10 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["aString", "aCanvas"],
-source: "initializeFromString: aString canvas: aCanvas\x0a\x09element := self createElementFor: aString.\x0a\x09canvas := aCanvas",
-referencedClasses: [],
+source: "initializeFromString: aString canvas: aCanvas\x0a\x09element := PlatformDom newElement: aString.\x0a\x09canvas := aCanvas",
+referencedClasses: ["PlatformDom"],
 //>>excludeEnd("ide");
-messageSends: ["createElementFor:"]
+messageSends: ["newElement:"]
 }),
 $globals.TagBrush);
 

+ 3 - 17
src/Web.st

@@ -1,5 +1,5 @@
 Smalltalk createPackage: 'Web'!
-(Smalltalk packageAt: 'Web') imports: {'amber/jquery/Wrappers-JQuery'}!
+(Smalltalk packageAt: 'Web') imports: {'amber/jquery/Wrappers-JQuery'. 'amber_core/Platform-DOM'}!
 Object subclass: #HTMLCanvas
 	instanceVariableNames: 'root'
 	package: 'Web'!
@@ -571,7 +571,7 @@ appendChild: anElement
 !
 
 appendString: aString
-	self appendChild: (self createTextNodeFor: aString)
+	self appendChild: aString asDomNode
 !
 
 appendToBrush: aTagBrush
@@ -830,24 +830,10 @@ initializeFromJQuery: aJQuery canvas: aCanvas
 !
 
 initializeFromString: aString canvas: aCanvas
-	element := self createElementFor: aString.
+	element := PlatformDom newElement: aString.
 	canvas := aCanvas
 ! !
 
-!TagBrush methodsFor: 'private'!
-
-appendDocumentFragment: anElement
-	<inlineJS: 'var element=self["@element"].appendChild(anElement["@element"])'>
-!
-
-createElementFor: aString
-	<inlineJS: 'return document.createElement(String(aString))'>
-!
-
-createTextNodeFor: aString
-	<inlineJS: 'return document.createTextNode(String(aString))'>
-! !
-
 !TagBrush class methodsFor: 'instance creation'!
 
 fromJQuery: aJQuery