Просмотр исходного кода

Improved generation of avatar (removed double classes).

Martin Edenhofer 10 лет назад
Родитель
Сommit
0cb3055441

+ 8 - 11
app/assets/javascripts/app/models/user.js.coffee

@@ -52,23 +52,20 @@ class App.User extends App.Model
     else
     else
       return '??'
       return '??'
 
 
-  avatar: (size = 40, placement = '', cssClass = '') ->
-    cssClass += " size-#{ size }"
+  avatar: (size = 40, placement = '', cssClass = '', unique = false, avatar) ->
+    cssClass += " size-#{size}"
 
 
     if placement
     if placement
       placement = "data-placement=\"#{placement}\""
       placement = "data-placement=\"#{placement}\""
 
 
-    if !@image || @image is 'none'
-      return @uniqueAvatar(size, placement, cssClass)
+    if !@image || @image is 'none' || unique
+      return @uniqueAvatar(size, placement, cssClass, avatar)
     else
     else
       if @vip
       if @vip
-        cssClass += "#{cssClass} vip"
+        cssClass += " vip"
       "<span class=\"avatar user-popover #{cssClass}\" data-id=\"#{@id}\" style=\"background-image: url(#{ @imageUrl })\" #{placement}></span>"
       "<span class=\"avatar user-popover #{cssClass}\" data-id=\"#{@id}\" style=\"background-image: url(#{ @imageUrl })\" #{placement}></span>"
 
 
-  uniqueAvatar: (size = 40, placement = '', cssClass = '', avatar) ->
-    if size
-      cssClass += " size-#{ size }"
-
+  uniqueAvatar: (size, placement = '', cssClass = '', avatar) ->
     width  = 300
     width  = 300
     height = 226
     height = 226
     size   = parseInt(size, 10)
     size   = parseInt(size, 10)
@@ -78,13 +75,13 @@ class App.User extends App.Model
     y   = rng() * (height - size)
     y   = rng() * (height - size)
 
 
     if !avatar
     if !avatar
-      cssClass += "#{cssClass} user-popover"
+      cssClass += " user-popover"
       data      = "data-id=\"#{@id}\""
       data      = "data-id=\"#{@id}\""
     else
     else
       data      = "data-avatar-id=\"#{avatar.id}\""
       data      = "data-avatar-id=\"#{avatar.id}\""
 
 
     if @vip
     if @vip
-      cssClass += "#{cssClass} vip"
+      cssClass += " vip"
     "<span class=\"avatar unique #{cssClass}\" #{data} style=\"background-position: -#{ x }px -#{ y }px;\" #{placement}>#{ @initials() }</span>"
     "<span class=\"avatar unique #{cssClass}\" #{data} style=\"background-position: -#{ x }px -#{ y }px;\" #{placement}>#{ @initials() }</span>"
 
 
   @_fillUp: (data) ->
   @_fillUp: (data) ->

+ 1 - 1
app/assets/javascripts/app/views/profile/avatar.jst.eco

@@ -17,7 +17,7 @@
       <% if avatar.default: %>
       <% if avatar.default: %>
       <%  cssClass = 'is-active' %>
       <%  cssClass = 'is-active' %>
       <% end %>
       <% end %>
-      <%- App.Session.get().uniqueAvatar('50', '', cssClass, avatar) %>
+      <%- App.Session.get().avatar('50', '', cssClass, true, avatar) %>
     <% else: %>
     <% else: %>
       <span class="avatar size-50 <% if avatar.default: %>is-active<% end %>" data-avatar-id="<%- avatar.id %>" style="background-image: url(<%- avatar.content %>)"></span>
       <span class="avatar size-50 <% if avatar.default: %>is-active<% end %>" data-avatar-id="<%- avatar.id %>" style="background-image: url(<%- avatar.content %>)"></span>
       <% if avatar.deletable: %>
       <% if avatar.deletable: %>