diff --git a/app/assets/javascripts/app/controllers/_application_controller.js.coffee b/app/assets/javascripts/app/controllers/_application_controller.js.coffee index e8599a747..245fb52ed 100644 --- a/app/assets/javascripts/app/controllers/_application_controller.js.coffee +++ b/app/assets/javascripts/app/controllers/_application_controller.js.coffee @@ -233,7 +233,8 @@ class App.Controller extends Spine.Controller trigger: 'hover' container: 'body' html: true - delay: { show: 400, hide: 800 } + animation: false + delay: 100 placement: position title: -> ticket_id = $(@).data('id') @@ -270,7 +271,8 @@ class App.Controller extends Spine.Controller trigger: 'hover' container: 'body' html: true - delay: { show: 400, hide: 800 } + animation: false + delay: 100 placement: "auto #{position}" title: -> user_id = $(@).data('id') @@ -326,7 +328,8 @@ class App.Controller extends Spine.Controller trigger: 'hover' container: 'body' html: true - delay: { show: 400, hide: 800 } + animation: false + delay: 100 placement: "auto #{position}" title: -> organization_id = $(@).data('id') @@ -379,7 +382,8 @@ class App.Controller extends Spine.Controller trigger: 'hover' container: 'body' html: true - delay: { show: 500, hide: 5200 } + animation: false + delay: 100 placement: "auto #{data.position}" title: -> $(@).find('[title="*"]').val() diff --git a/app/assets/javascripts/app/controllers/layout_ref.js.coffee b/app/assets/javascripts/app/controllers/layout_ref.js.coffee index acbd2d8f2..61aadbc29 100644 --- a/app/assets/javascripts/app/controllers/layout_ref.js.coffee +++ b/app/assets/javascripts/app/controllers/layout_ref.js.coffee @@ -11,9 +11,9 @@ App.Config.set( 'layout_ref', Index, 'Routes' ) class Content extends App.ControllerContent events: - 'hide.bs.dropdown .js-recipientDropdown': 'hideOrganisationMembers' - 'click .js-organisation': 'showOrganisationMembers' - 'click .js-back': 'hideOrganisationMembers' + 'hide.bs.dropdown .js-recipientDropdown': 'hideOrganizationMembers' + 'click .js-organization': 'showOrganizationMembers' + 'click .js-back': 'hideOrganizationMembers' constructor: -> super @@ -46,21 +46,21 @@ class Content extends App.ControllerContent render: -> @html App.view('layout_ref/content')() - showOrganisationMembers: (e) => + showOrganizationMembers: (e) => e.stopPropagation() listEntry = $(e.currentTarget) - organisationId = listEntry.data('organisation-id') + organizationId = listEntry.data('organization-id') @recipientList = @$('.recipientList') - @organisationList = @$("##{ organisationId }") + @organizationList = @$("##{ organizationId }") - # move organisation-list to the right and slide it in + # move organization-list to the right and slide it in - $.Velocity.hook(@organisationList, 'translateX', '100%') - @organisationList.removeClass('hide') + $.Velocity.hook(@organizationList, 'translateX', '100%') + @organizationList.removeClass('hide') - @organisationList.velocity + @organizationList.velocity properties: translateX: 0 options: @@ -73,12 +73,12 @@ class Content extends App.ControllerContent translateX: '-100%' options: speed: 300 - complete: => @recipientList.height(@organisationList.height()) + complete: => @recipientList.height(@organizationList.height()) - hideOrganisationMembers: (e) => + hideOrganizationMembers: (e) => e && e.stopPropagation() - return if !@organisationList + return if !@organizationList # fade list back in @@ -92,13 +92,13 @@ class Content extends App.ControllerContent @recipientList.height('') - # slide out organisation-list and hide it - @organisationList.velocity + # slide out organization-list and hide it + @organizationList.velocity properties: translateX: '100%' options: speed: 300 - complete: => @organisationList.addClass('hide') + complete: => @organizationList.addClass('hide') App.Config.set( 'layout_ref/content', Content, 'Routes' ) diff --git a/app/assets/javascripts/app/controllers/navigation.js.coffee b/app/assets/javascripts/app/controllers/navigation.js.coffee index f0af2b19c..0d888dce8 100644 --- a/app/assets/javascripts/app/controllers/navigation.js.coffee +++ b/app/assets/javascripts/app/controllers/navigation.js.coffee @@ -173,9 +173,9 @@ class App.Navigation extends App.Controller data = display: "#{organization.displayName()}" id: organization.id - class: "organisation organization-popover" + class: "organization organization-popover" url: organization.uiUrl() - iconClass: "organisation" + iconClass: "organization" area.result.push data @renderResult(result) diff --git a/app/assets/javascripts/app/controllers/ticket_customer.js.coffee b/app/assets/javascripts/app/controllers/ticket_customer.js.coffee index 45ae81ecb..1856adb2b 100644 --- a/app/assets/javascripts/app/controllers/ticket_customer.js.coffee +++ b/app/assets/javascripts/app/controllers/ticket_customer.js.coffee @@ -8,7 +8,7 @@ class App.TicketCustomer extends App.ControllerModal @button = true configure_attributes = [ - { name: 'customer_id', display: 'Customer', tag: 'user_autocompletion', null: false, placeholder: 'Enter Person or Organisation/Company', minLengt: 2, disableCreateUser: true }, + { name: 'customer_id', display: 'Customer', tag: 'user_autocompletion', null: false, placeholder: 'Enter Person or Organization/Company', minLengt: 2, disableCreateUser: true }, ] controller = new App.ControllerForm( diff --git a/app/assets/javascripts/app/controllers/ticket_zoom.js.coffee b/app/assets/javascripts/app/controllers/ticket_zoom.js.coffee index e2c3ebe82..cf9d64a5b 100644 --- a/app/assets/javascripts/app/controllers/ticket_zoom.js.coffee +++ b/app/assets/javascripts/app/controllers/ticket_zoom.js.coffee @@ -907,7 +907,7 @@ class Edit extends App.Controller @setArticleType(@type) configure_attributes = [ - { name: 'customer_id', display: 'Recipients', tag: 'user_autocompletion', null: false, placeholder: 'Enter Person or Organisation/Company', minLengt: 2, disableCreateUser: false }, + { name: 'customer_id', display: 'Recipients', tag: 'user_autocompletion', null: false, placeholder: 'Enter Person or Organization/Company', minLengt: 2, disableCreateUser: false }, ] controller = new App.ControllerForm( diff --git a/app/assets/javascripts/app/lib/app_post/user_organization_autocompletion.js.coffee b/app/assets/javascripts/app/lib/app_post/user_organization_autocompletion.js.coffee index 2a2f0fcc5..a5c9a98b7 100644 --- a/app/assets/javascripts/app/lib/app_post/user_organization_autocompletion.js.coffee +++ b/app/assets/javascripts/app/lib/app_post/user_organization_autocompletion.js.coffee @@ -1,9 +1,9 @@ class App.UserOrganizationAutocompletion extends App.Controller className: 'dropdown js-recipientDropdown zIndex-2' events: - 'hide.bs.dropdown .js-recipientDropdown': 'hideOrganisationMembers' - 'click .js-organisation': 'showOrganisationMembers' - 'click .js-back': 'hideOrganisationMembers' + 'hide.bs.dropdown .js-recipientDropdown': 'hideOrganizationMembers' + 'click .js-organization': 'showOrganizationMembers' + 'click .js-back': 'hideOrganizationMembers' 'click .js-user': 'selectUser' 'click .js-user-new': 'newUser' 'focus input': 'open' @@ -148,9 +148,9 @@ class App.UserOrganizationAutocompletion extends App.Controller e.preventDefault() userId = @$('.recipientList').find('li.is-active').data('user-id') if !userId - organisationId = @$('.recipientList').find('li.is-active').data('organisation-id') - if organisationId - @showOrganisationMembers(undefined, @$('.recipientList').find('li.is-active')) + organizationId = @$('.recipientList').find('li.is-active').data('organization-id') + if organizationId + @showOrganizationMembers(undefined, @$('.recipientList').find('li.is-active')) return if userId is 'new' @newUser() @@ -217,24 +217,24 @@ class App.UserOrganizationAutocompletion extends App.Controller emptyResultList: => @$('.recipientList').empty() - @$('.recipientList-organisationMembers').remove() + @$('.recipientList-organizationMembers').remove() - showOrganisationMembers: (e,listEntry) => + showOrganizationMembers: (e,listEntry) => if e e.stopPropagation() listEntry = $(e.currentTarget) - organisationId = listEntry.data('organisation-id') + organizationId = listEntry.data('organization-id') @recipientList = @$('.recipientList') - @organisationList = @$("##{ organisationId }") + @organizationList = @$("##{ organizationId }") - # move organisation-list to the right and slide it in + # move organization-list to the right and slide it in - $.Velocity.hook(@organisationList, 'translateX', '100%') - @organisationList.removeClass('hide') + $.Velocity.hook(@organizationList, 'translateX', '100%') + @organizationList.removeClass('hide') - @organisationList.velocity + @organizationList.velocity properties: translateX: 0 options: @@ -246,12 +246,12 @@ class App.UserOrganizationAutocompletion extends App.Controller translateX: '-100%' options: speed: 300 - complete: => @recipientList.height(@organisationList.height()) + complete: => @recipientList.height(@organizationList.height()) - hideOrganisationMembers: (e) => + hideOrganizationMembers: (e) => e && e.stopPropagation() - return if !@organisationList + return if !@organizationList # fade list back in @recipientList.velocity @@ -264,13 +264,13 @@ class App.UserOrganizationAutocompletion extends App.Controller @recipientList.height('') - # slide out organisation-list and hide it - @organisationList.velocity + # slide out organization-list and hide it + @organizationList.velocity properties: translateX: '100%' options: speed: 300 - complete: => @organisationList.addClass('hide') + complete: => @organizationList.addClass('hide') newUser: (e) => if e diff --git a/app/assets/javascripts/app/lib/bootstrap/popover-enhance.js b/app/assets/javascripts/app/lib/bootstrap/popover-enhance.js new file mode 100644 index 000000000..aa751027c --- /dev/null +++ b/app/assets/javascripts/app/lib/bootstrap/popover-enhance.js @@ -0,0 +1,23 @@ +/* from here http://jsfiddle.net/WojtekKruszewski/Zf3m7/22/ */ + +var originalLeave = $.fn.popover.Constructor.prototype.leave; +$.fn.popover.Constructor.prototype.leave = function(obj){ + var self = obj instanceof this.constructor ? + obj : $(obj.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type) + var container, timeout; + + originalLeave.call(this, obj); + + if(obj.currentTarget) { + container = $('body .popover'); + timeout = self.timeout; + container.one('mouseenter', function(){ + //We entered the actual popover – call off the dogs + clearTimeout(timeout); + //Let's monitor popover content instead + container.one('mouseleave', function(){ + $.fn.popover.Constructor.prototype.leave.call(self, self); + }); + }) + } +}; \ No newline at end of file diff --git a/app/assets/javascripts/app/models/organization.js.coffee b/app/assets/javascripts/app/models/organization.js.coffee index 64316e141..9b6761673 100644 --- a/app/assets/javascripts/app/models/organization.js.coffee +++ b/app/assets/javascripts/app/models/organization.js.coffee @@ -18,7 +18,7 @@ class App.Organization extends App.Model '#organization/profile/' + @id icon: (user) -> - "organisation icon" + "organization icon" @_fillUp: (data) -> diff --git a/app/assets/javascripts/app/views/generic/user_search/item_organization.jst.eco b/app/assets/javascripts/app/views/generic/user_search/item_organization.jst.eco index be1c06804..ff30cedfd 100644 --- a/app/assets/javascripts/app/views/generic/user_search/item_organization.jst.eco +++ b/app/assets/javascripts/app/views/generic/user_search/item_organization.jst.eco @@ -1,6 +1,6 @@ -
  • +
  • -
    +
    <%= @organization.displayName() %> diff --git a/app/assets/javascripts/app/views/generic/user_search/item_organization_members.jst.eco b/app/assets/javascripts/app/views/generic/user_search/item_organization_members.jst.eco index c3bf75a00..baa55e3a7 100644 --- a/app/assets/javascripts/app/views/generic/user_search/item_organization_members.jst.eco +++ b/app/assets/javascripts/app/views/generic/user_search/item_organization_members.jst.eco @@ -1,4 +1,4 @@ -
    -
    +

    Steuerbüro C. Kaik

    diff --git a/app/assets/javascripts/app/views/layout_ref/user_profile.jst.eco b/app/assets/javascripts/app/views/layout_ref/user_profile.jst.eco index ac595cdc2..62d3f770d 100644 --- a/app/assets/javascripts/app/views/layout_ref/user_profile.jst.eco +++ b/app/assets/javascripts/app/views/layout_ref/user_profile.jst.eco @@ -26,7 +26,7 @@ doreen.kubiak@gmail.com
    - + Steuerbüro C. Kaik
    @@ -56,10 +56,10 @@
    - +
    Tickets von Doreen Kubiak
    -
    Tickets von Steuerbüro C. Kaik
    +
    Tickets von Steuerbüro C. Kaik
    diff --git a/app/assets/javascripts/app/views/organization_profile.jst.eco b/app/assets/javascripts/app/views/organization_profile.jst.eco index df887d366..730a6f911 100644 --- a/app/assets/javascripts/app/views/organization_profile.jst.eco +++ b/app/assets/javascripts/app/views/organization_profile.jst.eco @@ -4,7 +4,7 @@
    -
    +

    <%= @organization.displayName() %>

    diff --git a/app/assets/javascripts/app/views/user_profile.jst.eco b/app/assets/javascripts/app/views/user_profile.jst.eco index f2098d183..c4d2e08b3 100644 --- a/app/assets/javascripts/app/views/user_profile.jst.eco +++ b/app/assets/javascripts/app/views/user_profile.jst.eco @@ -6,7 +6,7 @@ <%- @user.avatar("80") %>

    <%= @user.displayName() %>

    <% if @user.organization: %> - + <% end %>
    diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index d2ba680d8..a286bf89f 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -25,6 +25,7 @@ //= require ./app/lib/bootstrap/dropdown.js //= require ./app/lib/bootstrap/tooltip.js //= require ./app/lib/bootstrap/popover.js +//= require ./app/lib/bootstrap/popover-enhance.js //= require ./app/lib/bootstrap/modal.js //= require ./app/lib/bootstrap/tab.js //= require ./app/lib/bootstrap/transition.js diff --git a/app/assets/stylesheets/zammad.css.scss b/app/assets/stylesheets/zammad.css.scss index 07261ab13..0155d6c3d 100644 --- a/app/assets/stylesheets/zammad.css.scss +++ b/app/assets/stylesheets/zammad.css.scss @@ -1294,15 +1294,15 @@ ol.tabs li { @-moz-keyframes fade { from { opacity: 0 } to { opacity: 1 } } @keyframes fade { from { opacity: 0 } to { opacity: 1 } } - .organisation.icon { + .organization.icon { height: 13px; width: 14px; background-position: 0 -118px; } - .icon-switch:hover .organisation.icon, - .task.active .organisation.icon, - .white.organisation.icon { + .icon-switch:hover .organization.icon, + .task.active .organization.icon, + .white.organization.icon { background-position: 0 -132px; } @@ -2614,7 +2614,7 @@ footer { background: white; } - .popover .person .organisation { + .popover .person .organization { color: #a1a4a7; } @@ -2622,8 +2622,8 @@ footer { margin: 8px 0; } - .popover .person .organisation:before { content: '('; } - .popover .person .organisation:after { content: ')'; } + .popover .person .organization:before { content: '('; } + .popover .person .organization:after { content: ')'; } .popover .column h3 { margin: 8px 0 1px; @@ -4073,7 +4073,7 @@ footer { } .recipientList, -.recipientList-organisationMembers { +.recipientList-organizationMembers { list-style: none; padding: 0; } @@ -4143,7 +4143,7 @@ footer { margin-bottom: -2px; } - .recipientList-organisationMembers { + .recipientList-organizationMembers { position: absolute; top: 0; left: 0; diff --git a/db/migrate/20140831000001_create_object_manager.rb b/db/migrate/20140831000001_create_object_manager.rb index 818924872..ba6c4efc1 100644 --- a/db/migrate/20140831000001_create_object_manager.rb +++ b/db/migrate/20140831000001_create_object_manager.rb @@ -34,7 +34,7 @@ class CreateObjectManager < ActiveRecord::Migration :multiple => false, :null => false, :limit => 200, - :placeholder => 'Enter Person or Organisation/Company', + :placeholder => 'Enter Person or Organization/Company', :minLengt => 2, :translate => false, },