From c6ad98bb0d27d1458af2598bc590ed05363f60e4 Mon Sep 17 00:00:00 2001 From: "Mark J. Titorenko" Date: Sat, 9 Mar 2013 20:40:11 +0000 Subject: [PATCH] Preview emojis in chatbox. --- Gemfile | 1 + Gemfile.lock | 2 ++ .../javascripts/backbone/kandan.js.coffee.erb | 2 ++ .../backbone/plugins/emojis.js.coffee.erb | 19 +++++++++++++++++++ 4 files changed, 24 insertions(+) create mode 100644 app/assets/javascripts/backbone/plugins/emojis.js.coffee.erb diff --git a/Gemfile b/Gemfile index b628644d..fb92f59d 100644 --- a/Gemfile +++ b/Gemfile @@ -33,6 +33,7 @@ group :assets do gem 'eco' gem 'uglifier' gem 'bootstrap-sass', '~> 2.3.0.1' + gem 'gemoji' end group :production do diff --git a/Gemfile.lock b/Gemfile.lock index 9ecb5543..f44b9eb0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -124,6 +124,7 @@ GEM faye-websocket (0.4.7) eventmachine (>= 0.12.0) ffi (1.4.0) + gemoji (1.4.0) guard (1.6.2) listen (>= 0.6.0) lumberjack (>= 1.0.2) @@ -291,6 +292,7 @@ DEPENDENCIES factory_girl_rails faker faye + gemoji guard guard-rspec jasmine (~> 1.3.1) diff --git a/app/assets/javascripts/backbone/kandan.js.coffee.erb b/app/assets/javascripts/backbone/kandan.js.coffee.erb index 1d68c318..67685154 100644 --- a/app/assets/javascripts/backbone/kandan.js.coffee.erb +++ b/app/assets/javascripts/backbone/kandan.js.coffee.erb @@ -41,6 +41,7 @@ window.Kandan = ,"Attachments" ,"MeAnnounce" ,"Emoticons" + ,"Emojis" ,"RgbColorEmbed" ,"HexColorEmbed" ] @@ -127,6 +128,7 @@ window.Kandan = Kandan.Widgets.initAll() Kandan.Helpers.Channels.scrollToLatestMessage() Kandan.Plugins.Mentions.initUsersMentions(Kandan.Helpers.ActiveUsers.all()) + Kandan.Plugins.Emojis.attachToChatbox() return registerUtilityEvents: ()-> diff --git a/app/assets/javascripts/backbone/plugins/emojis.js.coffee.erb b/app/assets/javascripts/backbone/plugins/emojis.js.coffee.erb new file mode 100644 index 00000000..a2ba4298 --- /dev/null +++ b/app/assets/javascripts/backbone/plugins/emojis.js.coffee.erb @@ -0,0 +1,19 @@ +class Kandan.Plugins.Emojis + @options: + atWhoTemplate: '''
  • ${name} ${name}
  • ''' + + @emojis: <%= Emoji.names.to_s %> + + @init: -> + @emojis = $.map @emojis, (v) -> + { + name: v, + insert: "#{v}:" + src: "<%= image_path('emoticons/emojis') %>/#{v}.png" + } + + @attachToChatbox: -> + $(".chat-input").atwho ':([a-zA-Z0-9_+-]+)', + data: @emojis + tpl: @options.atWhoTemplate + limit: 10