123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- Smalltalk current createPackage: 'Trapped-Counter'!
- ListKeyedIsolatedEntity subclass: #App
- instanceVariableNames: ''
- package: 'Trapped-Counter'!
- !App commentStamp!
- // Code from AngularJS Todo example, http://angularjs.org/#todo-js
- function TodoCtrl($scope) {
- $scope.todos = [
- {text:'learn angular', done:true},
- {text:'build an angular app', done:false}];
-
- $scope.addTodo = function() {
- $scope.todos.push({text:$scope.todoText, done:false});
- $scope.todoText = '';
- };
-
- $scope.remaining = function() {
- var count = 0;
- angular.forEach($scope.todos, function(todo) {
- count += todo.done ? 0 : 1;
- });
- return count;
- };
-
- $scope.archive = function() {
- var oldTodos = $scope.todos;
- $scope.todos = [];
- angular.forEach(oldTodos, function(todo) {
- if (!!todo.done) $scope.todos.push(todo);
- });
- };
- }!
- !App methodsFor: 'initialization'!
- initialize
- super initialize.
- self dispatcher: SimpleKeyedPubSub new.
- self model: AppModel new
- ! !
- Object subclass: #AppModel
- instanceVariableNames: 'value'
- package: 'Trapped-Counter'!
- !AppModel methodsFor: 'accessing'!
- value
- ^value
- !
- value: aNumber
- value := aNumber
- ! !
- !AppModel methodsFor: 'action'!
- decrement
- value := value - 1
- !
- increment
- value := value + 1
- ! !
- !AppModel methodsFor: 'initialization'!
- initialize
- super initialize.
- value := 0
- ! !
|