Moved to generic actions.
This commit is contained in:
parent
80ea7e5337
commit
f175f5aaea
8 changed files with 54 additions and 57 deletions
|
@ -464,6 +464,7 @@ class App.ActionRow extends App.Controller
|
||||||
render: ->
|
render: ->
|
||||||
@html App.view('generic/actions')(
|
@html App.view('generic/actions')(
|
||||||
items: @items
|
items: @items
|
||||||
|
type: @type
|
||||||
)
|
)
|
||||||
|
|
||||||
for item in @items
|
for item in @items
|
||||||
|
@ -501,15 +502,11 @@ class App.Sidebar extends App.Controller
|
||||||
# add item acctions
|
# add item acctions
|
||||||
for item in @items
|
for item in @items
|
||||||
if item.actions
|
if item.actions
|
||||||
for action in item.actions
|
new App.ActionRow(
|
||||||
do (action) =>
|
el: @el.find('.sidebar[data-tab="' + item.name + '"] .js-actions')
|
||||||
@el.find('.sidebar[data-tab="' + item.name + '"] .tabsSidebar-tabActions .tabsSidebar-tabAction[data-name="' + action.name + '"]').bind(
|
items: item.actions
|
||||||
'click'
|
type: 'small'
|
||||||
(e) =>
|
)
|
||||||
e.stopPropagation()
|
|
||||||
e.preventDefault()
|
|
||||||
action.callback(e)
|
|
||||||
)
|
|
||||||
|
|
||||||
toggleSidebar: ->
|
toggleSidebar: ->
|
||||||
@el.parent().find('.tabsSidebar-sidebarSpacer').toggleClass('is-closed')
|
@el.parent().find('.tabsSidebar-sidebarSpacer').toggleClass('is-closed')
|
||||||
|
|
|
@ -112,7 +112,7 @@ class App.OrganizationProfile extends App.Controller
|
||||||
]
|
]
|
||||||
|
|
||||||
new App.ActionRow(
|
new App.ActionRow(
|
||||||
el: @el.find('.action')
|
el: @el.find('.js-action')
|
||||||
items: actions
|
items: actions
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
class App.TicketZoom extends App.Controller
|
class App.TicketZoom extends App.Controller
|
||||||
elements:
|
elements:
|
||||||
'.main': 'main'
|
'.main': 'main'
|
||||||
|
|
||||||
events:
|
events:
|
||||||
'click .js-submit': 'submit'
|
'click .js-submit': 'submit'
|
||||||
|
|
||||||
|
@ -270,34 +270,38 @@ class App.TicketZoom extends App.Controller
|
||||||
object: @ticket
|
object: @ticket
|
||||||
links: @links
|
links: @links
|
||||||
)
|
)
|
||||||
el.append('<div class="action"></div>')
|
|
||||||
showHistory = =>
|
|
||||||
new App.TicketHistory( ticket_id: @ticket.id )
|
|
||||||
showMerge = =>
|
|
||||||
new App.TicketMerge( ticket: @ticket, task_key: @task_key )
|
|
||||||
actions = [
|
|
||||||
{
|
|
||||||
name: 'history'
|
|
||||||
title: 'History'
|
|
||||||
callback: showHistory
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'merge'
|
|
||||||
title: 'Merge'
|
|
||||||
callback: showMerge
|
|
||||||
},
|
|
||||||
]
|
|
||||||
new App.ActionRow(
|
|
||||||
el: @el.find('.action')
|
|
||||||
items: actions
|
|
||||||
)
|
|
||||||
|
|
||||||
|
showTicketHistory = =>
|
||||||
|
new App.TicketHistory( ticket_id: @ticket.id )
|
||||||
|
showTicketMerge = =>
|
||||||
|
new App.TicketMerge( ticket: @ticket, task_key: @task_key )
|
||||||
|
changeCustomer = (e, el) =>
|
||||||
|
new App.TicketCustomer(
|
||||||
|
ticket: @ticket
|
||||||
|
)
|
||||||
items = [
|
items = [
|
||||||
{
|
{
|
||||||
head: 'Ticket Settings'
|
head: 'Ticket Settings'
|
||||||
name: 'ticket'
|
name: 'ticket'
|
||||||
icon: 'message'
|
icon: 'message'
|
||||||
callback: editTicket
|
callback: editTicket
|
||||||
|
actions: [
|
||||||
|
{
|
||||||
|
name: 'ticket-history'
|
||||||
|
title: 'History'
|
||||||
|
callback: showTicketHistory
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'ticket-merge'
|
||||||
|
title: 'Merge'
|
||||||
|
callback: showTicketMerge
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Change Customer'
|
||||||
|
name: 'customer-change'
|
||||||
|
callback: changeCustomer
|
||||||
|
},
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
if !@isRole('Customer')
|
if !@isRole('Customer')
|
||||||
|
@ -311,10 +315,6 @@ class App.TicketZoom extends App.Controller
|
||||||
object: 'User'
|
object: 'User'
|
||||||
objects: 'Users'
|
objects: 'Users'
|
||||||
)
|
)
|
||||||
changeCustomer = (e, el) =>
|
|
||||||
new App.TicketCustomer(
|
|
||||||
ticket: @ticket
|
|
||||||
)
|
|
||||||
showCustomer = (el) =>
|
showCustomer = (el) =>
|
||||||
new App.WidgetUser(
|
new App.WidgetUser(
|
||||||
el: el
|
el: el
|
||||||
|
@ -326,13 +326,13 @@ class App.TicketZoom extends App.Controller
|
||||||
icon: 'person'
|
icon: 'person'
|
||||||
actions: [
|
actions: [
|
||||||
{
|
{
|
||||||
name: 'Change Customer'
|
title: 'Change Customer'
|
||||||
class: 'glyphicon glyphicon-transfer'
|
name: 'customer-change'
|
||||||
callback: changeCustomer
|
callback: changeCustomer
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Edit Customer'
|
title: 'Edit Customer'
|
||||||
class: 'glyphicon glyphicon-edit'
|
name: 'customer-edit'
|
||||||
callback: editCustomer
|
callback: editCustomer
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
@ -359,8 +359,8 @@ class App.TicketZoom extends App.Controller
|
||||||
icon: 'group'
|
icon: 'group'
|
||||||
actions: [
|
actions: [
|
||||||
{
|
{
|
||||||
name: 'Edit Organization'
|
title: 'Edit Organization'
|
||||||
class: 'glyphicon glyphicon-edit'
|
name: 'organization-edit'
|
||||||
callback: editOrganization
|
callback: editOrganization
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
@ -394,7 +394,7 @@ class App.TicketZoom extends App.Controller
|
||||||
@autosaveStart()
|
@autosaveStart()
|
||||||
|
|
||||||
@scrollToBottom()
|
@scrollToBottom()
|
||||||
|
|
||||||
@bindScrollPageHeader()
|
@bindScrollPageHeader()
|
||||||
|
|
||||||
scrollToBottom: =>
|
scrollToBottom: =>
|
||||||
|
|
|
@ -115,7 +115,7 @@ class App.UserProfile extends App.Controller
|
||||||
]
|
]
|
||||||
|
|
||||||
new App.ActionRow(
|
new App.ActionRow(
|
||||||
el: @el.find('.action')
|
el: @el.find('.js-action')
|
||||||
items: actions
|
items: actions
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,12 @@
|
||||||
<div class="dropdown dropup dropdown--actions">
|
<div class="dropdown dropdown--actions">
|
||||||
<button class="btn" data-toggle="dropdown"><%- @T('Action') %> <span class="caret"></span></button>
|
<div class="dropdown-toggle horizontal center" id="userAction" data-toggle="dropdown">
|
||||||
<ul class="dropdown-menu">
|
<div class="light cog icon"></div>
|
||||||
|
<% if @type isnt 'small': %><label><%- @T('Action') %></label><% end %>
|
||||||
|
<span class="select-arrow icon"></span>
|
||||||
|
</div>
|
||||||
|
<ul class="dropdown-menu dropdown-menu-right" role="menu" aria-labelledby="userAction">
|
||||||
<% for item in @items: %>
|
<% for item in @items: %>
|
||||||
<li><a href="#" data-type="<%= item.name %>"><%- @T( item.title ) %></a></li>
|
<li role="presentation"><a role="menuitem" tabindex="-1" href="#" data-type="<%= item.name %>"><%- @T( item.title ) %></a>
|
||||||
<% end %>
|
<% end %>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
|
@ -2,16 +2,12 @@
|
||||||
<div class="sidebar bottom-form-shadow flex hide" data-tab="<%= item.name %>">
|
<div class="sidebar bottom-form-shadow flex hide" data-tab="<%= item.name %>">
|
||||||
<div class="horizontal center">
|
<div class="horizontal center">
|
||||||
<h2 class="flex u-textTruncate"><%- @T( item.head ) %></h2>
|
<h2 class="flex u-textTruncate"><%- @T( item.head ) %></h2>
|
||||||
|
<div class="js-actions"></div>
|
||||||
|
<!--
|
||||||
<div class="tabsSidebar-close centered u-clickable">
|
<div class="tabsSidebar-close centered u-clickable">
|
||||||
<div class="tabsSidebar-tabActions">
|
|
||||||
<% if item.actions: %>
|
|
||||||
<% for action in item.actions: %>
|
|
||||||
<div class="tabsSidebar-tabAction <%- action.class %>" data-name="<%- action.name %>"></div>
|
|
||||||
<% end %>
|
|
||||||
<% end %>
|
|
||||||
</div>
|
|
||||||
<div class="arrow-right icon"></div>
|
<div class="arrow-right icon"></div>
|
||||||
</div>
|
</div>
|
||||||
|
-->
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
<div class="profile-window">
|
<div class="profile-window">
|
||||||
<div class="profile-section vertical centered">
|
<div class="profile-section vertical centered">
|
||||||
<div class="align-right profile-action dropdown dropdown--actions action"></div>
|
<div class="align-right profile-action js-action"></div>
|
||||||
<h1><%= @organization.displayName() %></h1>
|
<h1><%= @organization.displayName() %></h1>
|
||||||
</div>
|
</div>
|
||||||
<div class="profile-section">
|
<div class="profile-section">
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
<div class="profile-window">
|
<div class="profile-window">
|
||||||
<div class="profile-section vertical centered">
|
<div class="profile-section vertical centered">
|
||||||
<div class="align-right profile-action dropdown dropdown--actions action"></div>
|
<div class="align-right profile-action js-action"></div>
|
||||||
<%- @user.avatar("80") %>
|
<%- @user.avatar("80") %>
|
||||||
<h1><%= @user.displayName() %></h1>
|
<h1><%= @user.displayName() %></h1>
|
||||||
<% if @user.organization: %>
|
<% if @user.organization: %>
|
||||||
|
|
Loading…
Reference in a new issue