Guest User

Untitled

a guest
Nov 22nd, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.80 KB | None | 0 0
  1. var compute = require("can-compute");
  2. var todosView = require("./todos.stache");
  3.  
  4. function appVM() {
  5. var filter = compute("active");
  6. var todos = compute(function(){
  7. if(!filter()) {
  8. return Todo.getList({});
  9. } else {
  10. return Todo.getList({complete: filter() === "complete"});
  11. }
  12. });
  13.  
  14. var complete = compute(async () => filter(await todos(), {complete: true}));
  15. var allComplete = compute(async () => todos.length === (await complete()).length);
  16.  
  17. // Just an example if you have to do cleanup when a component is removed
  18. function disconnectedCallback() {
  19. something.off("prop", onSomethingPropChanged);
  20. }
  21.  
  22. return { todos, filter, complete, allComplete, disconnectedCallback };
  23. }
  24.  
  25. Component.extend({
  26. tag: "todos-app",
  27. view,
  28. viewModel: () => syncify(appVM())
  29. });
Add Comment
Please, Sign In to add comment