summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/ui/editor/HelpCursor.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/assets/javascripts/ui/editor/HelpCursor.js')
-rw-r--r--public/assets/javascripts/ui/editor/HelpCursor.js60
1 files changed, 60 insertions, 0 deletions
diff --git a/public/assets/javascripts/ui/editor/HelpCursor.js b/public/assets/javascripts/ui/editor/HelpCursor.js
new file mode 100644
index 0000000..9b6807e
--- /dev/null
+++ b/public/assets/javascripts/ui/editor/HelpCursor.js
@@ -0,0 +1,60 @@
+
+var HelpCursor = View.extend({
+ el: "#helpCursor",
+
+ active: false,
+
+ messages: {
+ start: "Welcome to Vvalls! Click one of the tools at right to learn about it.",
+ media: "This is where you pick media to go on the walls. You can upload media and paste links.",
+ addmedia: "Great, now click a wall to place this image.",
+ resize: "Drag the image to position it, or use the dots to resize.",
+ presets: "These are some basic presets to get you started. Click em! :-)",
+ wallpaper: "Drag the wallpaper onto the walls, floor, and ceiling.",
+ colors: "Use these colors to change the color of the walls, floor, and ceiling.",
+ settings: "This is where you publish your project. Give it a name, hit save, and you'll have a URL you can share with your friends.",
+ },
+
+ initialize: function(){
+ $('#help-button').click(this.toggle.bind(this));
+ },
+
+ toggle: function(){
+ this.active ? this.stop() : this.start()
+ },
+
+ start: function(){
+ if (this.active) return
+ this.active = true
+ this.message('start')
+ this.$el.show()
+// $('body').chardinJs('start')
+// $(window).one("click", function(){
+// $('body').chardinJs('stop')
+// })
+ this.move({ pageX: -1000, pageY: -10000 })
+ this.moveFn = this.move.bind(this)
+ document.addEventListener("mousemove", this.moveFn)
+ },
+
+ stop: function(){
+ this.active = false
+ this.$el.hide()
+ document.removeEventListener("mousemove", this.moveFn)
+ },
+
+ move: function(e){
+ this.el.style.left = e.pageX + "px"
+ this.el.style.top = e.pageY + "px"
+ },
+
+ show: function(name){
+ this.showMessage(name)
+ },
+
+ message: function(name){
+ if (! this.active) return
+ this.$el.html(this.messages[name])
+ },
+
+})