AmberSnapsvg.st 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. Smalltalk createPackage: 'AmberSnapsvg'!
  2. Object subclass: #AmberSnapsvg
  3. instanceVariableNames: ''
  4. package: 'AmberSnapsvg'!
  5. !AmberSnapsvg methodsFor: 'action'!
  6. doAmberWith
  7. | tag |
  8. tag := (HTMLCanvas onJQuery: '#output-list' asJQuery) root.
  9. tag with: [ :html | html li with: 'Amber Web #with: added me!!' ]
  10. !
  11. doJQueryAppend
  12. '#output-list' asJQuery append: '<li>jQuery append added me!!</li>'
  13. !
  14. doSnapSvg
  15. "translation to Smalltalk points 1 to 4 of
  16. http://snapsvg.io/start/ "
  17. | s snapLib bigCircle smallCircle |
  18. snapLib := require value: 'snap.svg'.
  19. s := snapLib value: 300 value: 600.
  20. bigCircle := s circle: 150 value: 150 value: 100.
  21. bigCircle attr: #{'fill' -> '#bada55'. 'stroke' -> '#000'. 'strokeWidth' -> 5}.
  22. smallCircle := s circle: 100 value: 150 value: 70.
  23. "Transcript show: s outerSVG."
  24. "s inspect"
  25. ! !
  26. !AmberSnapsvg methodsFor: 'starting'!
  27. augmentPage
  28. '#amber-with' asJQuery click: [ self doAmberWith ].
  29. '#jquery-append' asJQuery click: [ self doJQueryAppend ].
  30. '#snapsvg-button' asJQuery click: [self doSnapSvg]
  31. ! !
  32. !AmberSnapsvg class methodsFor: 'starting'!
  33. start
  34. self new augmentPage
  35. ! !