123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567 |
- define("amber_core/Moka-Views", ["amber_vm/smalltalk", "amber_vm/nil", "amber_vm/_st", "amber_core/Moka-Core"], function(smalltalk,nil,_st){
- smalltalk.addPackage('Moka-Views');
- smalltalk.packages["Moka-Views"].transport = {"type":"amd","amdNamespace":"amber_core"};
- smalltalk.addClass('MKButtonView', smalltalk.MKAspectView, ['default', 'label'], 'Moka-Views');
- smalltalk.MKButtonView.comment="I am a push button view. My default controller is `MKButtonController`.\x0a\x0aMy controller must answer to `#onPressed`.\x0a\x0a## API\x0a\x0a- Instances can be set a `default` button\x0a- Use `#label:` to set the label string";
- smalltalk.addMethod(
- smalltalk.method({
- selector: "cssClass",
- category: 'accessing',
- fn: function (){
- var self=this;
- return smalltalk.withContext(function($ctx1) {
- var $2,$1;
- $2=self._isDefault();
- if(smalltalk.assert($2)){
- $1="default";
- } else {
- $1="";
- };
- return $1;
- }, function($ctx1) {$ctx1.fill(self,"cssClass",{},smalltalk.MKButtonView)})},
- args: [],
- source: "cssClass\x0a\x09^ self isDefault \x0a\x09\x09ifTrue: [ 'default' ]\x0a\x09\x09ifFalse: [ '' ]",
- messageSends: ["ifTrue:ifFalse:", "isDefault"],
- referencedClasses: []
- }),
- smalltalk.MKButtonView);
- smalltalk.addMethod(
- smalltalk.method({
- selector: "default",
- category: 'accessing',
- fn: function (){
- var self=this;
- return smalltalk.withContext(function($ctx1) {
- var $1;
- $1=self["@default"];
- return $1;
- }, function($ctx1) {$ctx1.fill(self,"default",{},smalltalk.MKButtonView)})},
- args: [],
- source: "default\x0a\x09^ default",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.MKButtonView);
- smalltalk.addMethod(
- smalltalk.method({
- selector: "default:",
- category: 'accessing',
- fn: function (aBoolean){
- var self=this;
- return smalltalk.withContext(function($ctx1) {
- self["@default"]=aBoolean;
- return self}, function($ctx1) {$ctx1.fill(self,"default:",{aBoolean:aBoolean},smalltalk.MKButtonView)})},
- args: ["aBoolean"],
- source: "default: aBoolean\x0a\x09default := aBoolean",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.MKButtonView);
- smalltalk.addMethod(
- smalltalk.method({
- selector: "defaultControllerClass",
- category: 'defaults',
- fn: function (){
- var self=this;
- function $MKButtonController(){return smalltalk.MKButtonController||(typeof MKButtonController=="undefined"?nil:MKButtonController)}
- return smalltalk.withContext(function($ctx1) {
- var $1;
- $1=$MKButtonController();
- return $1;
- }, function($ctx1) {$ctx1.fill(self,"defaultControllerClass",{},smalltalk.MKButtonView)})},
- args: [],
- source: "defaultControllerClass\x0a\x09^ MKButtonController",
- messageSends: [],
- referencedClasses: ["MKButtonController"]
- }),
- smalltalk.MKButtonView);
- smalltalk.addMethod(
- smalltalk.method({
- selector: "defaultLabel",
- category: 'defaults',
- fn: function (){
- var self=this;
- return smalltalk.withContext(function($ctx1) {
- return "OK";
- }, function($ctx1) {$ctx1.fill(self,"defaultLabel",{},smalltalk.MKButtonView)})},
- args: [],
- source: "defaultLabel\x0a\x09^ 'OK'",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.MKButtonView);
- smalltalk.addMethod(
- smalltalk.method({
- selector: "isDefault",
- category: 'testing',
- fn: function (){
- var self=this;
- return smalltalk.withContext(function($ctx1) {
- var $2,$1;
- $2=self._default();
- if(($receiver = $2) == nil || $receiver == null){
- $1=false;
- } else {
- $1=$2;
- };
- return $1;
- }, function($ctx1) {$ctx1.fill(self,"isDefault",{},smalltalk.MKButtonView)})},
- args: [],
- source: "isDefault\x0a\x09^ self default ifNil: [ false ]",
- messageSends: ["ifNil:", "default"],
- referencedClasses: []
- }),
- smalltalk.MKButtonView);
- smalltalk.addMethod(
- smalltalk.method({
- selector: "label",
- category: 'accessing',
- fn: function (){
- var self=this;
- return smalltalk.withContext(function($ctx1) {
- var $2,$1;
- $2=self["@label"];
- if(($receiver = $2) == nil || $receiver == null){
- $1=self._defaultLabel();
- } else {
- $1=$2;
- };
- return $1;
- }, function($ctx1) {$ctx1.fill(self,"label",{},smalltalk.MKButtonView)})},
- args: [],
- source: "label\x0a\x09^ label ifNil: [ self defaultLabel ]",
- messageSends: ["ifNil:", "defaultLabel"],
- referencedClasses: []
- }),
- smalltalk.MKButtonView);
- smalltalk.addMethod(
- smalltalk.method({
- selector: "label:",
- category: 'accessing',
- fn: function (aString){
- var self=this;
- return smalltalk.withContext(function($ctx1) {
- self["@label"]=aString;
- return self}, function($ctx1) {$ctx1.fill(self,"label:",{aString:aString},smalltalk.MKButtonView)})},
- args: ["aString"],
- source: "label: aString\x0a\x09label := aString",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.MKButtonView);
- smalltalk.addMethod(
- smalltalk.method({
- selector: "pressed",
- category: 'events',
- fn: function (){
- var self=this;
- return smalltalk.withContext(function($ctx1) {
- _st(self._controller())._onPressed();
- return self}, function($ctx1) {$ctx1.fill(self,"pressed",{},smalltalk.MKButtonView)})},
- args: [],
- source: "pressed\x0a\x09self controller onPressed",
- messageSends: ["onPressed", "controller"],
- referencedClasses: []
- }),
- smalltalk.MKButtonView);
- smalltalk.addMethod(
- smalltalk.method({
- selector: "renderContentOn:",
- category: 'rendering',
- fn: function (html){
- var self=this;
- return smalltalk.withContext(function($ctx1) {
- var $1,$2;
- $1=_st(html)._button();
- _st($1)._class_(self._cssClass());
- _st($1)._with_(self._label());
- $2=_st($1)._onClick_((function(){
- return smalltalk.withContext(function($ctx2) {
- return self._pressed();
- }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})}));
- return self}, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html},smalltalk.MKButtonView)})},
- args: ["html"],
- source: "renderContentOn: html\x0a\x09html button\x0a\x09\x09class: self cssClass;\x0a\x09\x09with: self label;\x0a\x09\x09onClick: [ self pressed ]",
- messageSends: ["class:", "button", "cssClass", "with:", "label", "onClick:", "pressed"],
- referencedClasses: []
- }),
- smalltalk.MKButtonView);
- smalltalk.addClass('MKCheckboxView', smalltalk.MKAspectView, ['id'], 'Moka-Views');
- smalltalk.MKCheckboxView.comment="I am a checkbox view. My default controller is `MKCheckboxController`.\x0a\x0aMy controller must answer to `#onToggled:`.\x0a\x0a##API\x0a\x0a- If no `aspect` is provided, the ckeckbox state will always be off.\x0a- use `#label:` to set the label string.";
- smalltalk.addMethod(
- smalltalk.method({
- selector: "checked",
- category: 'accessing',
- fn: function (){
- var self=this;
- return smalltalk.withContext(function($ctx1) {
- var $2,$1;
- $2=self._aspectValue();
- if(($receiver = $2) == nil || $receiver == null){
- $1=false;
- } else {
- $1=$2;
- };
- return $1;
- }, function($ctx1) {$ctx1.fill(self,"checked",{},smalltalk.MKCheckboxView)})},
- args: [],
- source: "checked\x0a\x09^ self aspectValue ifNil: [ false ]",
- messageSends: ["ifNil:", "aspectValue"],
- referencedClasses: []
- }),
- smalltalk.MKCheckboxView);
- smalltalk.addMethod(
- smalltalk.method({
- selector: "cssClass",
- category: 'accessing',
- fn: function (){
- var self=this;
- return smalltalk.withContext(function($ctx1) {
- return "mk_checkbox";
- }, function($ctx1) {$ctx1.fill(self,"cssClass",{},smalltalk.MKCheckboxView)})},
- args: [],
- source: "cssClass\x0a\x09^ 'mk_checkbox'",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.MKCheckboxView);
- smalltalk.addMethod(
- smalltalk.method({
- selector: "defaultControllerClass",
- category: 'defaults',
- fn: function (){
- var self=this;
- function $MKCheckboxController(){return smalltalk.MKCheckboxController||(typeof MKCheckboxController=="undefined"?nil:MKCheckboxController)}
- return smalltalk.withContext(function($ctx1) {
- return $MKCheckboxController();
- }, function($ctx1) {$ctx1.fill(self,"defaultControllerClass",{},smalltalk.MKCheckboxView)})},
- args: [],
- source: "defaultControllerClass\x0a\x09^ MKCheckboxController",
- messageSends: [],
- referencedClasses: ["MKCheckboxController"]
- }),
- smalltalk.MKCheckboxView);
- smalltalk.addMethod(
- smalltalk.method({
- selector: "id",
- category: 'accessing',
- fn: function (){
- var self=this;
- return smalltalk.withContext(function($ctx1) {
- var $2,$1;
- $2=self["@id"];
- if(($receiver = $2) == nil || $receiver == null){
- self["@id"]=_st((1000000)._atRandom())._asString();
- $1=self["@id"];
- } else {
- $1=$2;
- };
- return $1;
- }, function($ctx1) {$ctx1.fill(self,"id",{},smalltalk.MKCheckboxView)})},
- args: [],
- source: "id\x0a\x09^ id ifNil: [ id := 1000000 atRandom asString ]",
- messageSends: ["ifNil:", "asString", "atRandom"],
- referencedClasses: []
- }),
- smalltalk.MKCheckboxView);
- smalltalk.addMethod(
- smalltalk.method({
- selector: "pressed",
- category: 'events',
- fn: function (){
- var self=this;
- return smalltalk.withContext(function($ctx1) {
- _st(self._controller())._onToggled_(_st(self._checked())._not());
- return self}, function($ctx1) {$ctx1.fill(self,"pressed",{},smalltalk.MKCheckboxView)})},
- args: [],
- source: "pressed\x0a\x09self controller onToggled: self checked not",
- messageSends: ["onToggled:", "controller", "not", "checked"],
- referencedClasses: []
- }),
- smalltalk.MKCheckboxView);
- smalltalk.addMethod(
- smalltalk.method({
- selector: "renderContentOn:",
- category: 'rendering',
- fn: function (html){
- var self=this;
- var checkbox;
- return smalltalk.withContext(function($ctx1) {
- var $1,$2,$3,$4,$5,$6,$7;
- $1=_st(html)._input();
- _st($1)._type_("checkbox");
- _st($1)._class_(self._cssClass());
- $2=$1;
- $3=self._id();
- $ctx1.sendIdx["id"]=1;
- _st($2)._id_($3);
- $4=_st($1)._onClick_((function(){
- return smalltalk.withContext(function($ctx2) {
- return self._pressed();
- }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})}));
- checkbox=$4;
- $5=self._checked();
- if(smalltalk.assert($5)){
- _st(checkbox)._at_put_("checked","checked");
- };
- $6=_st(html)._label();
- _st($6)._for_(self._id());
- $7=_st($6)._with_((function(){
- return smalltalk.withContext(function($ctx2) {
- return _st(html)._entity_("nbsp");
- }, function($ctx2) {$ctx2.fillBlock({},$ctx1,3)})}));
- return self}, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html,checkbox:checkbox},smalltalk.MKCheckboxView)})},
- args: ["html"],
- source: "renderContentOn: html\x0a\x09| checkbox |\x0a\x09\x0a\x09checkbox := html input\x0a\x09\x09type: 'checkbox';\x0a\x09\x09class: self cssClass;\x0a\x09\x09id: self id;\x0a\x09\x09onClick: [ self pressed ].\x0a\x09\x09\x0a\x09self checked ifTrue: [ \x0a\x09\x09checkbox at: 'checked' put: 'checked' ].\x0a\x09\x09\x0a\x09html label\x0a\x09\x09for: self id;\x0a\x09\x09with: [ html entity: 'nbsp' ]",
- messageSends: ["type:", "input", "class:", "cssClass", "id:", "id", "onClick:", "pressed", "ifTrue:", "checked", "at:put:", "for:", "label", "with:", "entity:"],
- referencedClasses: []
- }),
- smalltalk.MKCheckboxView);
- smalltalk.addMethod(
- smalltalk.method({
- selector: "update",
- category: 'events',
- fn: function (){
- var self=this;
- var checkbox;
- return smalltalk.withContext(function($ctx1) {
- var $1;
- checkbox=_st("#".__comma(self._id()))._asJQuery();
- $1=self._checked();
- if(smalltalk.assert($1)){
- _st(checkbox)._attr_put_("checked","checked");
- } else {
- _st(checkbox)._removeAttr_("checked");
- };
- return self}, function($ctx1) {$ctx1.fill(self,"update",{checkbox:checkbox},smalltalk.MKCheckboxView)})},
- args: [],
- source: "update\x0a\x09| checkbox |\x0a\x09checkbox := ('#', self id) asJQuery.\x0a\x09\x0a\x09self checked\x0a\x09\x09ifTrue: [ checkbox attr: 'checked' put: 'checked' ]\x0a\x09\x09ifFalse: [ checkbox removeAttr: 'checked' ]",
- messageSends: ["asJQuery", ",", "id", "ifTrue:ifFalse:", "checked", "attr:put:", "removeAttr:"],
- referencedClasses: []
- }),
- smalltalk.MKCheckboxView);
- smalltalk.addClass('MKSwitchView', smalltalk.MKCheckboxView, [], 'Moka-Views');
- smalltalk.MKSwitchView.comment="I am a switch view, similar to a `MKCheckboxView` but displayed as a switch. \x0aMy default controller is `MKCheckboxController`.";
- smalltalk.addMethod(
- smalltalk.method({
- selector: "cssClass",
- category: 'accessing',
- fn: function (){
- var self=this;
- return smalltalk.withContext(function($ctx1) {
- return "mk_switch";
- }, function($ctx1) {$ctx1.fill(self,"cssClass",{},smalltalk.MKSwitchView)})},
- args: [],
- source: "cssClass\x0a\x09^ 'mk_switch'",
- messageSends: [],
- referencedClasses: []
- }),
- smalltalk.MKSwitchView);
- smalltalk.addClass('MKLabelView', smalltalk.MKAspectView, ['input'], 'Moka-Views');
- smalltalk.MKLabelView.comment="I am an label view. I display a `String`.";
- smalltalk.addMethod(
- smalltalk.method({
- selector: "defaultControllerClass",
- category: 'defaults',
- fn: function (){
- var self=this;
- return smalltalk.withContext(function($ctx1) {
- var $1;
- $1=smalltalk.MKLabelView.superclass.fn.prototype._defaultControllerClass.apply(_st(self), []);
- return $1;
- }, function($ctx1) {$ctx1.fill(self,"defaultControllerClass",{},smalltalk.MKLabelView)})},
- args: [],
- source: "defaultControllerClass\x0a\x09^ super defaultControllerClass",
- messageSends: ["defaultControllerClass"],
- referencedClasses: []
- }),
- smalltalk.MKLabelView);
- smalltalk.addMethod(
- smalltalk.method({
- selector: "renderContentOn:",
- category: 'rendering',
- fn: function (html){
- var self=this;
- return smalltalk.withContext(function($ctx1) {
- _st(_st(html)._span())._with_(self._aspectValue());
- return self}, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html},smalltalk.MKLabelView)})},
- args: ["html"],
- source: "renderContentOn: html\x0a\x09html span with: self aspectValue",
- messageSends: ["with:", "span", "aspectValue"],
- referencedClasses: []
- }),
- smalltalk.MKLabelView);
- smalltalk.addClass('MKTextAreaView', smalltalk.MKAspectView, ['input'], 'Moka-Views');
- smalltalk.MKTextAreaView.comment="I am an text area view. My default controller is `MKAnyKeyInputController`.\x0a\x0aMy controller must answer to `#onKeyPressed:`.";
- smalltalk.addMethod(
- smalltalk.method({
- selector: "defaultControllerClass",
- category: 'defaults',
- fn: function (){
- var self=this;
- function $MKAnyKeyInputController(){return smalltalk.MKAnyKeyInputController||(typeof MKAnyKeyInputController=="undefined"?nil:MKAnyKeyInputController)}
- return smalltalk.withContext(function($ctx1) {
- return $MKAnyKeyInputController();
- }, function($ctx1) {$ctx1.fill(self,"defaultControllerClass",{},smalltalk.MKTextAreaView)})},
- args: [],
- source: "defaultControllerClass\x0a\x09^ MKAnyKeyInputController",
- messageSends: [],
- referencedClasses: ["MKAnyKeyInputController"]
- }),
- smalltalk.MKTextAreaView);
- smalltalk.addMethod(
- smalltalk.method({
- selector: "keyUp:",
- category: 'events',
- fn: function (anEvent){
- var self=this;
- return smalltalk.withContext(function($ctx1) {
- _st(self._controller())._onKeyPressed_(anEvent);
- return self}, function($ctx1) {$ctx1.fill(self,"keyUp:",{anEvent:anEvent},smalltalk.MKTextAreaView)})},
- args: ["anEvent"],
- source: "keyUp: anEvent\x0a\x09self controller onKeyPressed: anEvent",
- messageSends: ["onKeyPressed:", "controller"],
- referencedClasses: []
- }),
- smalltalk.MKTextAreaView);
- smalltalk.addMethod(
- smalltalk.method({
- selector: "renderContentOn:",
- category: 'rendering',
- fn: function (html){
- var self=this;
- return smalltalk.withContext(function($ctx1) {
- var $1,$2;
- $1=_st(html)._textarea();
- _st($1)._with_(self._aspectValue());
- $2=_st($1)._onKeyUp_((function(event){
- return smalltalk.withContext(function($ctx2) {
- return self._keyUp_(event);
- }, function($ctx2) {$ctx2.fillBlock({event:event},$ctx1,1)})}));
- self["@input"]=$2;
- return self}, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html},smalltalk.MKTextAreaView)})},
- args: ["html"],
- source: "renderContentOn: html\x0a\x09input := html textarea \x0a\x09\x09with: self aspectValue;\x0a\x09\x09onKeyUp: [ :event | self keyUp: event ]",
- messageSends: ["with:", "textarea", "aspectValue", "onKeyUp:", "keyUp:"],
- referencedClasses: []
- }),
- smalltalk.MKTextAreaView);
- smalltalk.addMethod(
- smalltalk.method({
- selector: "update",
- category: 'updating',
- fn: function (){
- var self=this;
- return smalltalk.withContext(function($ctx1) {
- var $1;
- $1=self["@input"];
- if(($receiver = $1) == nil || $receiver == null){
- $1;
- } else {
- _st(_st(self["@input"])._asJQuery())._val_(self._aspectValue());
- };
- return self}, function($ctx1) {$ctx1.fill(self,"update",{},smalltalk.MKTextAreaView)})},
- args: [],
- source: "update\x0a\x09input ifNotNil: [ input asJQuery val: self aspectValue ]",
- messageSends: ["ifNotNil:", "val:", "asJQuery", "aspectValue"],
- referencedClasses: []
- }),
- smalltalk.MKTextAreaView);
- smalltalk.addMethod(
- smalltalk.method({
- selector: "value",
- category: 'accessing',
- fn: function (){
- var self=this;
- return smalltalk.withContext(function($ctx1) {
- var $1;
- $1=_st(_st(self["@input"])._asJQuery())._val();
- return $1;
- }, function($ctx1) {$ctx1.fill(self,"value",{},smalltalk.MKTextAreaView)})},
- args: [],
- source: "value\x0a\x09^ input asJQuery val",
- messageSends: ["val", "asJQuery"],
- referencedClasses: []
- }),
- smalltalk.MKTextAreaView);
- smalltalk.addClass('MKInputView', smalltalk.MKTextAreaView, [], 'Moka-Views');
- smalltalk.MKInputView.comment="I am an input view. My default controller is `MKEnterInputController`.\x0a\x0aMy controller must answer to `#onKeyPressed:`.";
- smalltalk.addMethod(
- smalltalk.method({
- selector: "defaultControllerClass",
- category: 'defaults',
- fn: function (){
- var self=this;
- function $MKEnterInputController(){return smalltalk.MKEnterInputController||(typeof MKEnterInputController=="undefined"?nil:MKEnterInputController)}
- return smalltalk.withContext(function($ctx1) {
- return $MKEnterInputController();
- }, function($ctx1) {$ctx1.fill(self,"defaultControllerClass",{},smalltalk.MKInputView)})},
- args: [],
- source: "defaultControllerClass\x0a\x09^ MKEnterInputController",
- messageSends: [],
- referencedClasses: ["MKEnterInputController"]
- }),
- smalltalk.MKInputView);
- smalltalk.addMethod(
- smalltalk.method({
- selector: "renderContentOn:",
- category: 'rendering',
- fn: function (html){
- var self=this;
- return smalltalk.withContext(function($ctx1) {
- var $1,$2;
- $1=_st(html)._input();
- _st($1)._value_(self._aspectValue());
- _st($1)._onKeyUp_((function(event){
- return smalltalk.withContext(function($ctx2) {
- return self._keyUp_(event);
- }, function($ctx2) {$ctx2.fillBlock({event:event},$ctx1,1)})}));
- $2=_st($1)._yourself();
- self["@input"]=$2;
- return self}, function($ctx1) {$ctx1.fill(self,"renderContentOn:",{html:html},smalltalk.MKInputView)})},
- args: ["html"],
- source: "renderContentOn: html\x0a\x09input := html input\x0a\x09\x09value: self aspectValue;\x0a\x09\x09onKeyUp: [ :event |\x0a\x09\x09\x09self keyUp: event ];\x0a\x09\x09yourself",
- messageSends: ["value:", "input", "aspectValue", "onKeyUp:", "keyUp:", "yourself"],
- referencedClasses: []
- }),
- smalltalk.MKInputView);
- });
|