define(["amber/boot", "require", "amber/core/Kernel-Objects"], function($boot,requirejs){"use strict"; var $core=$boot.api,nil=$boot.nilAsValue,$nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals; var $pkg = $core.addPackage("MiniMVP"); $pkg.innerEval = function (expr) { return eval(expr); }; $pkg.transport = {"type":"amd","amdNamespace":"mini-mvp"}; $core.addClass("MiniPresenter", $globals.Object, ["frame", "dataBlock"], "MiniMVP"); $core.addMethod( $core.method({ selector: "dataBlock", protocol: "accessing", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "dataBlock\x0a\x09^ dataBlock", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: [] }, function ($methodClass){ return function (){ var self=this,$self=this; return $self.dataBlock; }; }), $globals.MiniPresenter); $core.addMethod( $core.method({ selector: "dataBlock:", protocol: "accessing", //>>excludeStart("ide", pragmas.excludeIdeData); args: ["anObject"], source: "dataBlock: anObject\x0a\x09dataBlock := anObject", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: [] }, function ($methodClass){ return function (anObject){ var self=this,$self=this; $self.dataBlock=anObject; return self; }; }), $globals.MiniPresenter); $core.addMethod( $core.method({ selector: "frame", protocol: "accessing", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "frame\x0a\x09^ frame", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: [] }, function ($methodClass){ return function (){ var self=this,$self=this; return $self.frame; }; }), $globals.MiniPresenter); $core.addMethod( $core.method({ selector: "frame:", protocol: "accessing", //>>excludeStart("ide", pragmas.excludeIdeData); args: ["anObject"], source: "frame: anObject\x0a\x09frame := anObject", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: [] }, function ($methodClass){ return function (anObject){ var self=this,$self=this; $self.frame=anObject; return self; }; }), $globals.MiniPresenter); $core.addMethod( $core.method({ selector: "hide", protocol: "private", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "hide\x0a\x09(self frame asDomNode at: 'style') at: #display put: 'none'", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["at:put:", "at:", "asDomNode", "frame"] }, function ($methodClass){ return function (){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); $recv($recv($recv($self._frame())._asDomNode())._at_("style"))._at_put_("display","none"); return self; //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"hide",{})}); //>>excludeEnd("ctx"); }; }), $globals.MiniPresenter); $core.addMethod( $core.method({ selector: "present:", protocol: "actions", //>>excludeStart("ide", pragmas.excludeIdeData); args: ["anObject"], source: "present: anObject\x0a\x09self subclassResponsibility", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["subclassResponsibility"] }, function ($methodClass){ return function (anObject){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); $self._subclassResponsibility(); return self; //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"present:",{anObject:anObject})}); //>>excludeEnd("ctx"); }; }), $globals.MiniPresenter); $core.addMethod( $core.method({ selector: "refresh", protocol: "actions", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "refresh\x0a\x09self dataBlock value\x0a\x09\x09ifNil: [ self hide ]\x0a\x09\x09ifNotNil: [ :data | self show; present: data ]", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["ifNil:ifNotNil:", "value", "dataBlock", "hide", "show", "present:"] }, function ($methodClass){ return function (){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); var $1; $1=$recv($self._dataBlock())._value(); if($1 == null || $1.a$nil){ $self._hide(); } else { var data; data=$1; $self._show(); $self._present_(data); } return self; //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"refresh",{})}); //>>excludeEnd("ctx"); }; }), $globals.MiniPresenter); $core.addMethod( $core.method({ selector: "show", protocol: "private", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "show\x0a\x09(self frame asDomNode at: 'style') removeProperty: 'display'", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["removeProperty:", "at:", "asDomNode", "frame"] }, function ($methodClass){ return function (){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); $recv($recv($recv($self._frame())._asDomNode())._at_("style"))._removeProperty_("display"); return self; //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"show",{})}); //>>excludeEnd("ctx"); }; }), $globals.MiniPresenter); $core.addMethod( $core.method({ selector: "shows:in:", protocol: "instance creation", //>>excludeStart("ide", pragmas.excludeIdeData); args: ["aBlock", "aDommable"], source: "shows: aBlock in: aDommable\x0a\x09^ super new\x0a\x09\x09dataBlock: aBlock;\x0a\x09\x09frame: aDommable;\x0a\x09\x09hide;\x0a\x09\x09yourself", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["dataBlock:", "new", "frame:", "hide", "yourself"] }, function ($methodClass){ return function (aBlock,aDommable){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); var $1; $1=[( //>>excludeStart("ctx", pragmas.excludeDebugContexts); $ctx1.supercall = true, //>>excludeEnd("ctx"); ($methodClass.superclass||$boot.nilAsClass).fn.prototype._new.call($self)) //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.supercall = false //>>excludeEnd("ctx"); ][0]; $recv($1)._dataBlock_(aBlock); $recv($1)._frame_(aDommable); $recv($1)._hide(); return $recv($1)._yourself(); //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"shows:in:",{aBlock:aBlock,aDommable:aDommable})}); //>>excludeEnd("ctx"); }; }), $globals.MiniPresenter.a$cls); $core.addClass("MiniLeafPresenter", $globals.MiniPresenter, ["factory"], "MiniMVP"); $core.addMethod( $core.method({ selector: "factory", protocol: "accessing", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "factory\x0a\x09^ factory", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: [] }, function ($methodClass){ return function (){ var self=this,$self=this; return $self.factory; }; }), $globals.MiniLeafPresenter); $core.addMethod( $core.method({ selector: "factory:", protocol: "accessing", //>>excludeStart("ide", pragmas.excludeIdeData); args: ["anObject"], source: "factory: anObject\x0a\x09factory := anObject", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: [] }, function ($methodClass){ return function (anObject){ var self=this,$self=this; $self.factory=anObject; return self; }; }), $globals.MiniLeafPresenter); $core.addMethod( $core.method({ selector: "frameContents:", protocol: "rendering", //>>excludeStart("ide", pragmas.excludeIdeData); args: ["anObject"], source: "frameContents: anObject\x0a\x09self subclassResponsibility", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["subclassResponsibility"] }, function ($methodClass){ return function (anObject){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); $self._subclassResponsibility(); return self; //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"frameContents:",{anObject:anObject})}); //>>excludeEnd("ctx"); }; }), $globals.MiniLeafPresenter); $core.addMethod( $core.method({ selector: "present:", protocol: "rendering", //>>excludeStart("ide", pragmas.excludeIdeData); args: ["anObject"], source: "present: anObject\x0a\x09(self factory value: anObject)\x0a\x09\x09ifNotNil: [ :payload | self frameContents: payload ]", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["ifNotNil:", "value:", "factory", "frameContents:"] }, function ($methodClass){ return function (anObject){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); var $1; $1=$recv($self._factory())._value_(anObject); if($1 == null || $1.a$nil){ $1; } else { var payload; payload=$1; $self._frameContents_(payload); } return self; //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"present:",{anObject:anObject})}); //>>excludeEnd("ctx"); }; }), $globals.MiniLeafPresenter); $core.addMethod( $core.method({ selector: "shows:in:do:", protocol: "instance creation", //>>excludeStart("ide", pragmas.excludeIdeData); args: ["aDataBlock", "aDommable", "aFactoryBlock"], source: "shows: aDataBlock in: aDommable do: aFactoryBlock\x0a\x09^ (super shows: aDataBlock in: aDommable)\x0a\x09\x09factory: aFactoryBlock;\x0a\x09\x09yourself", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["factory:", "shows:in:", "yourself"] }, function ($methodClass){ return function (aDataBlock,aDommable,aFactoryBlock){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); var $1; $1=[( //>>excludeStart("ctx", pragmas.excludeDebugContexts); $ctx1.supercall = true, //>>excludeEnd("ctx"); ($methodClass.superclass||$boot.nilAsClass).fn.prototype._shows_in_.call($self,aDataBlock,aDommable)) //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.supercall = false //>>excludeEnd("ctx"); ][0]; $recv($1)._factory_(aFactoryBlock); return $recv($1)._yourself(); //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"shows:in:do:",{aDataBlock:aDataBlock,aDommable:aDommable,aFactoryBlock:aFactoryBlock})}); //>>excludeEnd("ctx"); }; }), $globals.MiniLeafPresenter.a$cls); $core.addClass("AmberWebLeafPresenter", $globals.MiniLeafPresenter, [], "MiniMVP"); $core.addMethod( $core.method({ selector: "frameContents:", protocol: "rendering", //>>excludeStart("ide", pragmas.excludeIdeData); args: ["anObject"], source: "frameContents: anObject\x0a\x09self frame contents: anObject", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["contents:", "frame"] }, function ($methodClass){ return function (anObject){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); $recv($self._frame())._contents_(anObject); return self; //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"frameContents:",{anObject:anObject})}); //>>excludeEnd("ctx"); }; }), $globals.AmberWebLeafPresenter); $core.addClass("SilkLeafPresenter", $globals.MiniLeafPresenter, [], "MiniMVP"); $core.addMethod( $core.method({ selector: "frameContents:", protocol: "rendering", //>>excludeStart("ide", pragmas.excludeIdeData); args: ["anObject"], source: "frameContents: anObject\x0a\x09self frame resetContents; << anObject", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["resetContents", "frame", "<<"] }, function ($methodClass){ return function (anObject){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); var $1; $1=$self._frame(); $recv($1)._resetContents(); $recv($1).__lt_lt(anObject); return self; //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"frameContents:",{anObject:anObject})}); //>>excludeEnd("ctx"); }; }), $globals.SilkLeafPresenter); $core.addClass("MiniParentPresenter", $globals.MiniPresenter, [], "MiniMVP"); $core.addMethod( $core.method({ selector: "childPresenters", protocol: "accessing", //>>excludeStart("ide", pragmas.excludeIdeData); args: [], source: "childPresenters\x0a\x09self subclassResponsibility", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["subclassResponsibility"] }, function ($methodClass){ return function (){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); $self._subclassResponsibility(); return self; //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"childPresenters",{})}); //>>excludeEnd("ctx"); }; }), $globals.MiniParentPresenter); $core.addMethod( $core.method({ selector: "present:", protocol: "actions", //>>excludeStart("ide", pragmas.excludeIdeData); args: ["anObject"], source: "present: anObject\x0a\x09self childPresenters do: [ :each | each refresh ]", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["do:", "childPresenters", "refresh"] }, function ($methodClass){ return function (anObject){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); $recv($self._childPresenters())._do_((function(each){ //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx2) { //>>excludeEnd("ctx"); return $recv(each)._refresh(); //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)}); //>>excludeEnd("ctx"); })); return self; //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"present:",{anObject:anObject})}); //>>excludeEnd("ctx"); }; }), $globals.MiniParentPresenter); $core.addMethod( $core.method({ selector: "in:", protocol: "instance creation", //>>excludeStart("ide", pragmas.excludeIdeData); args: ["aDommable"], source: "in: aDommable\x0a\x09^ super shows: [ true ] in: aDommable", referencedClasses: [], //>>excludeEnd("ide"); pragmas: [], messageSends: ["shows:in:"] }, function ($methodClass){ return function (aDommable){ var self=this,$self=this; //>>excludeStart("ctx", pragmas.excludeDebugContexts); return $core.withContext(function($ctx1) { //>>excludeEnd("ctx"); return [( //>>excludeStart("ctx", pragmas.excludeDebugContexts); $ctx1.supercall = true, //>>excludeEnd("ctx"); ($methodClass.superclass||$boot.nilAsClass).fn.prototype._shows_in_.call($self,(function(){ return true; }),aDommable)) //>>excludeStart("ctx", pragmas.excludeDebugContexts); ,$ctx1.supercall = false //>>excludeEnd("ctx"); ][0]; //>>excludeStart("ctx", pragmas.excludeDebugContexts); }, function($ctx1) {$ctx1.fill(self,"in:",{aDommable:aDommable})}); //>>excludeEnd("ctx"); }; }), $globals.MiniParentPresenter.a$cls); });