From 180d3c31c40297c93ba8d82f7c0c3fece62473ab Mon Sep 17 00:00:00 2001 From: Felix Niklas Date: Thu, 21 May 2015 16:45:41 +0200 Subject: [PATCH] update more icons, also ticket zoom edit controls --- .../app/controllers/ticket_zoom.js.coffee | 84 ++-- .../app/views/agent_ticket_create.jst.eco | 2 +- .../javascripts/app/views/dashboard.jst.eco | 4 +- .../app/views/dashboard/ticket.jst.eco | 16 +- .../app/views/generic/actions.jst.eco | 4 +- .../app/views/generic/select.jst.eco | 2 +- .../app/views/generic/sidebar_tabs.jst.eco | 2 +- .../views/generic/user_search/input.jst.eco | 2 +- .../user_search/item_organization.jst.eco | 10 +- .../item_organization_members.jst.eco | 11 +- .../generic/user_search/item_user.jst.eco | 8 +- .../generic/user_search/new_user.jst.eco | 8 +- .../layout_ref/communication_overview.jst.eco | 8 +- .../app/views/layout_ref/content.jst.eco | 167 ++++---- .../app/views/layout_ref/error.jst.eco | 3 +- .../app/views/layout_ref/highlight.jst.eco | 73 ++-- .../app/views/layout_ref/local_modal.jst.eco | 2 +- .../layout_ref/organization_profile.jst.eco | 24 +- .../app/views/layout_ref/user_profile.jst.eco | 38 +- .../javascripts/app/views/navigation.jst.eco | 2 +- .../app/views/navigation/personal.jst.eco | 4 +- .../app/views/task_widget_tasks.jst.eco | 2 +- .../javascripts/app/views/ticket_zoom.jst.eco | 8 +- .../app/views/ticket_zoom/article_new.jst.eco | 34 +- .../views/ticket_zoom/article_view.jst.eco | 2 +- .../ticket_zoom/article_view_actions.jst.eco | 2 +- .../widget/ticket_stats_frequency.jst.eco | 10 +- app/assets/stylesheets/application.css | 1 + app/assets/stylesheets/svg-dimensions.css | 1 + app/assets/stylesheets/zammad.css.scss | 363 +++++++++++------- gulpfile.js | 22 ++ package.json | 4 +- public/assets/images/icons.svg | 2 +- public/assets/images/icons/arrow-down.svg | 12 + public/assets/images/icons/arrow-left.svg | 12 + public/assets/images/icons/arrow-right.svg | 6 +- public/assets/images/icons/arrow-up.svg | 12 + public/assets/images/icons/clock.svg | 2 +- public/assets/images/icons/close.svg | 2 +- public/assets/images/icons/cloud.svg | 2 +- public/assets/images/icons/cog.svg | 2 +- public/assets/images/icons/dashboard.svg | 2 +- public/assets/images/icons/diagonal-cross.svg | 12 + .../images/icons/{mail.svg => email.svg} | 6 +- public/assets/images/icons/facebook.svg | 2 +- public/assets/images/icons/group.svg | 2 +- public/assets/images/icons/important.svg | 2 +- public/assets/images/icons/in-process.svg | 2 +- public/assets/images/icons/list.svg | 2 +- public/assets/images/icons/lock-open.svg | 12 + public/assets/images/icons/lock.svg | 12 + public/assets/images/icons/logo.svg | 2 +- .../assets/images/icons/long-arrow-right.svg | 12 + public/assets/images/icons/magnifier.svg | 2 +- public/assets/images/icons/marker.svg | 12 + public/assets/images/icons/message.svg | 2 +- public/assets/images/icons/mood-bad.svg | 2 +- .../icons/{mood-happy.svg => mood-good.svg} | 6 +- public/assets/images/icons/mood-ok.svg | 2 +- public/assets/images/icons/mood-super-bad.svg | 2 +- ...ood-super-happy.svg => mood-supergood.svg} | 6 +- public/assets/images/icons/note.svg | 2 +- public/assets/images/icons/one-ticket.svg | 2 +- public/assets/images/icons/organization.svg | 2 +- public/assets/images/icons/outbound-calls.svg | 2 +- public/assets/images/icons/overviews.svg | 2 +- public/assets/images/icons/package.svg | 2 +- public/assets/images/icons/pen.svg | 2 +- public/assets/images/icons/person.svg | 2 +- public/assets/images/icons/phone.svg | 2 +- public/assets/images/icons/plus.svg | 6 +- .../icons/priority-modified-inner-circle.svg | 2 +- .../icons/priority-modified-outer-circle.svg | 2 +- public/assets/images/icons/priority.svg | 2 +- public/assets/images/icons/received-calls.svg | 2 +- public/assets/images/icons/reopening.svg | 2 +- public/assets/images/icons/reply-all.svg | 12 + public/assets/images/icons/reply.svg | 12 + public/assets/images/icons/signout.svg | 2 +- public/assets/images/icons/split.svg | 12 + public/assets/images/icons/stopwatch.svg | 2 +- public/assets/images/icons/switchView.svg | 2 +- public/assets/images/icons/team.svg | 2 +- public/assets/images/icons/templates.svg | 2 +- public/assets/images/icons/tools.svg | 2 +- public/assets/images/icons/total-tickets.svg | 2 +- public/assets/images/icons/twitter.svg | 2 +- public/assets/images/icons/user.svg | 2 +- 88 files changed, 722 insertions(+), 443 deletions(-) create mode 100644 app/assets/stylesheets/svg-dimensions.css create mode 100644 public/assets/images/icons/arrow-down.svg create mode 100644 public/assets/images/icons/arrow-left.svg create mode 100644 public/assets/images/icons/arrow-up.svg create mode 100644 public/assets/images/icons/diagonal-cross.svg rename public/assets/images/icons/{mail.svg => email.svg} (79%) create mode 100644 public/assets/images/icons/lock-open.svg create mode 100644 public/assets/images/icons/lock.svg create mode 100644 public/assets/images/icons/long-arrow-right.svg create mode 100644 public/assets/images/icons/marker.svg rename public/assets/images/icons/{mood-happy.svg => mood-good.svg} (93%) rename public/assets/images/icons/{mood-super-happy.svg => mood-supergood.svg} (93%) create mode 100644 public/assets/images/icons/reply-all.svg create mode 100644 public/assets/images/icons/reply.svg create mode 100644 public/assets/images/icons/split.svg diff --git a/app/assets/javascripts/app/controllers/ticket_zoom.js.coffee b/app/assets/javascripts/app/controllers/ticket_zoom.js.coffee index a8338bdfb..769e93585 100644 --- a/app/assets/javascripts/app/controllers/ticket_zoom.js.coffee +++ b/app/assets/javascripts/app/controllers/ticket_zoom.js.coffee @@ -954,7 +954,7 @@ class ArticleNew extends App.Controller '.attachmentUpload-progressBar': 'progressBar' '.js-percentage': 'progressText' '.js-cancel': 'cancelContainer' - '.textBubble': 'textBubble' + '.textBubble': 'textBubble' '.editControls-item': 'editControlItem' #'.editControls': 'editControls' #'.recipient-picker': 'recipientPicker' @@ -962,15 +962,15 @@ class ArticleNew extends App.Controller #'.recipient-list .list-arrow': 'recipientListArrow' events: - 'click .visibility-toggle': 'toggleVisibility' - 'click .pop-selectable': 'selectArticleType' - 'click .pop-selected': 'showSelectableArticleType' - 'click .recipient-picker': 'toggle_recipients' - 'click .recipient-list': 'stopPropagation' - 'click .list-entry-type div': 'change_type' - 'submit .recipient-list form': 'add_recipient' - 'focus .js-textarea': 'openTextarea' - 'input .js-textarea': 'detectEmptyTextarea' + 'click .js-toggleVisibility': 'toggleVisibility' + 'click .js-articleTypeItem': 'selectArticleType' + 'click .js-selectedArticleType': 'showSelectableArticleType' + 'click .recipient-picker': 'toggle_recipients' + 'click .recipient-list': 'stopPropagation' + 'click .list-entry-type div': 'change_type' + 'submit .recipient-list form': 'add_recipient' + 'focus .js-textarea': 'openTextarea' + 'input .js-textarea': 'detectEmptyTextarea' #'dragenter': 'onDragenter' #'dragleave': 'onDragleave' #'drop': 'onFileDrop' @@ -1231,18 +1231,22 @@ class ArticleNew extends App.Controller # store recipient toggleVisibility: -> - item = @$('.article-add') - if item.hasClass('is-public') - item.removeClass('is-public') - item.addClass('is-internal') - @$('[name="internal"]').val('true') + if @articleNewEdit.hasClass 'is-public' + @articleNewEdit + .removeClass 'is-public' + .addClass 'is-internal' + + @$('[name="internal"]').val 'true' else - item.addClass('is-public') - item.removeClass('is-internal') - @$('[name="internal"]').val('') + @articleNewEdit + .addClass 'is-public' + .removeClass 'is-internal' + + + @$('[name="internal"]').val '' showSelectableArticleType: => - @el.find('.pop-selector').removeClass('hide') + @el.find('.js-articleTypes').removeClass('is-hidden') @selectTypeCatcher = new App.clickCatcher holder: @el.offsetParent() @@ -1258,15 +1262,14 @@ class ArticleNew extends App.Controller @selectTypeCatcher = null hideSelectableArticleType: => - @el.find('.pop-selector').addClass('hide') + @el.find('.js-articleTypes').addClass('is-hidden') setArticleType: (type) -> - typeIcon = @el.find('.pop-selected .icon') - if @type - typeIcon.removeClass @type + typeIcon = @$('.js-selectedType') @type = type @$('[name="type"]').val(type) - typeIcon.addClass @type + @articleNewEdit.attr('data-type', type) + typeIcon.find('use').attr 'xlink:href', '#icon-'+ @type # show/hide attributes for articleType in @articleTypes @@ -1301,7 +1304,6 @@ class ArticleNew extends App.Controller @removeTextareaCatcher() openTextarea: (event, withoutAnimation) => - console.log('articleNewEdit', @articleNewEdit.hasClass('is-open')) if !@articleNewEdit.hasClass('is-open') duration = 300 @@ -1333,10 +1335,17 @@ class ArticleNew extends App.Controller easing: 'easeOutQuad' queue: false - @editControlItem.velocity "transition.slideRightIn", - duration: 300 - stagger: 50 - drag: true + @editControlItem + .removeClass('is-hidden') + .velocity + properties: + opacity: [ 1, 0 ] + translateX: [ 0, 20 ] + translateZ: 0 + options: + duration: 300 + stagger: 50 + drag: true # move attachment text to the left bottom (bottom happens automatically) @attachmentPlaceholder.velocity @@ -1396,7 +1405,17 @@ class ArticleNew extends App.Controller options: duration: 300 - @editControlItem.css('display', 'none') + @editControlItem + .velocity + properties: + opacity: [ 0, 1 ] + translateX: [ 20, 0 ] + translateZ: 0 + options: + duration: 100 + stagger: 50 + drag: true + complete: (elements) => $(elements).addClass('is-hidden') onDragenter: (event) => # on the first event, @@ -1691,6 +1710,7 @@ class ArticleActions extends App.Controller { name: 'set to public' type: 'public' + icon: 'lock-open' } ] else @@ -1698,6 +1718,7 @@ class ArticleActions extends App.Controller { name: 'set to internal' type: 'internal' + icon: 'lock' } ] #if @article.type.name is 'note' @@ -1706,6 +1727,7 @@ class ArticleActions extends App.Controller actions.push { name: 'reply' type: 'reply' + icon: 'reply' href: '#' } recipients = [] @@ -1727,11 +1749,13 @@ class ArticleActions extends App.Controller actions.push { name: 'reply all' type: 'replyAll' + icon: 'reply-all' href: '#' } actions.push { name: 'split' type: 'split' + icon: 'split' href: '#ticket/create/' + article.ticket_id + '/' + article.id } actions diff --git a/app/assets/javascripts/app/views/agent_ticket_create.jst.eco b/app/assets/javascripts/app/views/agent_ticket_create.jst.eco index d1df50180..b1ffd66c8 100644 --- a/app/assets/javascripts/app/views/agent_ticket_create.jst.eco +++ b/app/assets/javascripts/app/views/agent_ticket_create.jst.eco @@ -19,7 +19,7 @@
  • - + <%- @T('Send Email') %>
  • diff --git a/app/assets/javascripts/app/views/dashboard.jst.eco b/app/assets/javascripts/app/views/dashboard.jst.eco index ae2d6e453..fa18b7666 100644 --- a/app/assets/javascripts/app/views/dashboard.jst.eco +++ b/app/assets/javascripts/app/views/dashboard.jst.eco @@ -24,7 +24,7 @@

    Mood

    - +
    3% of my tickets escalated.
    Average: 17%
    @@ -35,7 +35,7 @@

    Channel Distribution

    diff --git a/app/assets/javascripts/app/views/layout_ref/content.jst.eco b/app/assets/javascripts/app/views/layout_ref/content.jst.eco index 321da5435..7696f7c28 100644 --- a/app/assets/javascripts/app/views/layout_ref/content.jst.eco +++ b/app/assets/javascripts/app/views/layout_ref/content.jst.eco @@ -81,170 +81,171 @@ @@ -120,21 +119,24 @@ The Zammad
    - - set to internal - - - reply - - - split - + + + set to internal + + + + reply + + + + split +
    @@ -165,14 +167,15 @@ The Zammad
    - set to internal + + set to internal
    @@ -211,15 +214,18 @@ Grüße, Peter
    - - set to internal - - - reply - - - split - + + + set to internal + + + + reply + + + + split +
    @@ -290,14 +296,15 @@ Oliver
    - set to internal + + set to internal
    diff --git a/app/assets/javascripts/app/views/layout_ref/local_modal.jst.eco b/app/assets/javascripts/app/views/layout_ref/local_modal.jst.eco index c1f3494a0..b497d62a6 100644 --- a/app/assets/javascripts/app/views/layout_ref/local_modal.jst.eco +++ b/app/assets/javascripts/app/views/layout_ref/local_modal.jst.eco @@ -302,7 +302,7 @@