|
@@ -728,22 +728,30 @@ var self=this;
|
|
//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
return $core.withContext(function($ctx1) {
|
|
return $core.withContext(function($ctx1) {
|
|
//>>excludeEnd("ctx");
|
|
//>>excludeEnd("ctx");
|
|
-var $2,$3,$1;
|
|
|
|
-$2=self._new();
|
|
|
|
-$recv($2)._element_(aDomElement);
|
|
|
|
-$3=$recv($2)._yourself();
|
|
|
|
-$1=$3;
|
|
|
|
-return $1;
|
|
|
|
|
|
+var $1,$3,$4,$2,$receiver;
|
|
|
|
+if(($receiver = aDomElement) == null || $receiver.isNil){
|
|
|
|
+aDomElement;
|
|
|
|
+} else {
|
|
|
|
+$1=self._isDomNode_(aDomElement);
|
|
|
|
+if(!$core.assert($1)){
|
|
|
|
+self._error_($recv(self._name()).__comma(": Need a DOM node"));
|
|
|
|
+};
|
|
|
|
+};
|
|
|
|
+$3=self._new();
|
|
|
|
+$recv($3)._element_(aDomElement);
|
|
|
|
+$4=$recv($3)._yourself();
|
|
|
|
+$2=$4;
|
|
|
|
+return $2;
|
|
//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
}, function($ctx1) {$ctx1.fill(self,"fromElement:",{aDomElement:aDomElement},$globals.Domite.klass)});
|
|
}, function($ctx1) {$ctx1.fill(self,"fromElement:",{aDomElement:aDomElement},$globals.Domite.klass)});
|
|
//>>excludeEnd("ctx");
|
|
//>>excludeEnd("ctx");
|
|
},
|
|
},
|
|
//>>excludeStart("ide", pragmas.excludeIdeData);
|
|
//>>excludeStart("ide", pragmas.excludeIdeData);
|
|
args: ["aDomElement"],
|
|
args: ["aDomElement"],
|
|
-source: "fromElement: aDomElement\x0a\x09^ self new\x0a\x09\x09element: aDomElement;\x0a\x09\x09yourself",
|
|
|
|
|
|
+source: "fromElement: aDomElement\x0a\x09aDomElement ifNotNil: [\x0a\x09\x09(self isDomNode: aDomElement) ifFalse: [\x0a\x09\x09\x09self error: self name, ': Need a DOM node' ]].\x0a\x09^ self new\x0a\x09\x09element: aDomElement;\x0a\x09\x09yourself",
|
|
referencedClasses: [],
|
|
referencedClasses: [],
|
|
//>>excludeEnd("ide");
|
|
//>>excludeEnd("ide");
|
|
-messageSends: ["element:", "new", "yourself"]
|
|
|
|
|
|
+messageSends: ["ifNotNil:", "ifFalse:", "isDomNode:", "error:", ",", "name", "element:", "new", "yourself"]
|
|
}),
|
|
}),
|
|
$globals.Domite.klass);
|
|
$globals.Domite.klass);
|
|
|
|
|
|
@@ -756,23 +764,57 @@ var self=this;
|
|
//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
return $core.withContext(function($ctx1) {
|
|
return $core.withContext(function($ctx1) {
|
|
//>>excludeEnd("ctx");
|
|
//>>excludeEnd("ctx");
|
|
-var $2,$3,$1;
|
|
|
|
-$2=self._new();
|
|
|
|
-$recv($2)._element_(aDomElement);
|
|
|
|
-$recv($2)._referenceElement_(anotherDomElement);
|
|
|
|
-$3=$recv($2)._yourself();
|
|
|
|
-$1=$3;
|
|
|
|
-return $1;
|
|
|
|
|
|
+var $1,$3,$4,$2,$receiver;
|
|
|
|
+if(($receiver = aDomElement) == null || $receiver.isNil){
|
|
|
|
+aDomElement;
|
|
|
|
+} else {
|
|
|
|
+$1=self._isDomNode_(aDomElement);
|
|
|
|
+if(!$core.assert($1)){
|
|
|
|
+self._error_($recv(self._name()).__comma(": Need a DOM node"));
|
|
|
|
+};
|
|
|
|
+};
|
|
|
|
+$3=self._new();
|
|
|
|
+$recv($3)._element_(aDomElement);
|
|
|
|
+$recv($3)._referenceElement_(anotherDomElement);
|
|
|
|
+$4=$recv($3)._yourself();
|
|
|
|
+$2=$4;
|
|
|
|
+return $2;
|
|
//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
}, function($ctx1) {$ctx1.fill(self,"fromElement:cursorBefore:",{aDomElement:aDomElement,anotherDomElement:anotherDomElement},$globals.Domite.klass)});
|
|
}, function($ctx1) {$ctx1.fill(self,"fromElement:cursorBefore:",{aDomElement:aDomElement,anotherDomElement:anotherDomElement},$globals.Domite.klass)});
|
|
//>>excludeEnd("ctx");
|
|
//>>excludeEnd("ctx");
|
|
},
|
|
},
|
|
//>>excludeStart("ide", pragmas.excludeIdeData);
|
|
//>>excludeStart("ide", pragmas.excludeIdeData);
|
|
args: ["aDomElement", "anotherDomElement"],
|
|
args: ["aDomElement", "anotherDomElement"],
|
|
-source: "fromElement: aDomElement cursorBefore: anotherDomElement\x0a\x09^ self new\x0a\x09\x09element: aDomElement;\x0a\x09\x09referenceElement: anotherDomElement;\x0a\x09\x09yourself",
|
|
|
|
|
|
+source: "fromElement: aDomElement cursorBefore: anotherDomElement\x0a\x09aDomElement ifNotNil: [\x0a\x09\x09(self isDomNode: aDomElement) ifFalse: [\x0a\x09\x09\x09self error: self name, ': Need a DOM node' ]].\x0a\x09^ self new\x0a\x09\x09element: aDomElement;\x0a\x09\x09referenceElement: anotherDomElement;\x0a\x09\x09yourself",
|
|
referencedClasses: [],
|
|
referencedClasses: [],
|
|
//>>excludeEnd("ide");
|
|
//>>excludeEnd("ide");
|
|
-messageSends: ["element:", "new", "referenceElement:", "yourself"]
|
|
|
|
|
|
+messageSends: ["ifNotNil:", "ifFalse:", "isDomNode:", "error:", ",", "name", "element:", "new", "referenceElement:", "yourself"]
|
|
|
|
+}),
|
|
|
|
+$globals.Domite.klass);
|
|
|
|
+
|
|
|
|
+$core.addMethod(
|
|
|
|
+$core.method({
|
|
|
|
+selector: "isDomNode:",
|
|
|
|
+protocol: 'testing',
|
|
|
|
+fn: function (anObject){
|
|
|
|
+var self=this;
|
|
|
|
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
|
|
+return $core.withContext(function($ctx1) {
|
|
|
|
+//>>excludeEnd("ctx");
|
|
|
|
+
|
|
|
|
+ return anObject.nodeType > 0 &&
|
|
|
|
+ Object.prototype.toString.call(anObject) !== "[object Object]";
|
|
|
|
+return self;
|
|
|
|
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
|
|
+}, function($ctx1) {$ctx1.fill(self,"isDomNode:",{anObject:anObject},$globals.Domite.klass)});
|
|
|
|
+//>>excludeEnd("ctx");
|
|
|
|
+},
|
|
|
|
+//>>excludeStart("ide", pragmas.excludeIdeData);
|
|
|
|
+args: ["anObject"],
|
|
|
|
+source: "isDomNode: anObject\x0a<\x0a\x09return anObject.nodeType >> 0 &&\x0a\x09\x09Object.prototype.toString.call(anObject) !== \x22[object Object]\x22\x0a>",
|
|
|
|
+referencedClasses: [],
|
|
|
|
+//>>excludeEnd("ide");
|
|
|
|
+messageSends: []
|
|
}),
|
|
}),
|
|
$globals.Domite.klass);
|
|
$globals.Domite.klass);
|
|
|
|
|