Merge branch 'develop' of github.com:martini/zammad into develop

This commit is contained in:
Martin Edenhofer 2015-09-29 19:01:24 +02:00
commit e853629440
10 changed files with 1794 additions and 1098 deletions

View file

@ -848,6 +848,8 @@ class TicketZoomRef extends App.ControllerContent
startDate: new Date().toLocaleDateString("en-US") # returns 9/25/2015 startDate: new Date().toLocaleDateString("en-US") # returns 9/25/2015
container: @$('.js-datepicker').parent() container: @$('.js-datepicker').parent()
@$('.js-timepicker').timepicker()
# for testing purposes the highlights get stored in localStorage # for testing purposes the highlights get stored in localStorage
loadHighlights: -> loadHighlights: ->
if highlights = localStorage['highlights'] if highlights = localStorage['highlights']

View file

@ -36,27 +36,14 @@ class App.Notify extends App.ControllerWidgetPermanent
$.noty.closeAll() $.noty.closeAll()
if data.link if data.link
data.msg = '<a href="' + data.link + '">' + data.msg + '</a>' data.msg = '<a href="' + data.link + '">' + data.msg + '</a>'
$('#notify').noty( $('#notify').noty
{
dismissQueue: true
text: data.msg text: data.msg
layout: 'top'
type: data.type type: data.type
theme: 'noty_theme_twitter' animation:
animateOpen: { open: 'animated fadeInDown'
height: 'toggle' close: 'animated fadeOutDown'
opacity: 0.85,
},
animateClose: {
opacity: 0.25
},
speed: 450
timeout: data.timeout || 3800 timeout: data.timeout || 3800
closeButton: false closeWith: ['click']
closeOnSelfClick: true
closeOnSelfOver: false
}
)
destroy: (e) -> destroy: (e) ->
e.preventDefault() e.preventDefault()

File diff suppressed because it is too large Load diff

View file

@ -39,7 +39,7 @@
<p> <p>
Enter the link provided by the plugin at the end of the installation to link the two systems: Enter the link provided by the plugin at the end of the installation to link the two systems:
</p> </p>
<div class="form-group fromGroup--standalone"> <div class="form-group formGroup--standalone">
<label for="otrs-link">OTRS Link</label> <label for="otrs-link">OTRS Link</label>
<div class="u-positionOrigin"> <div class="u-positionOrigin">
<input type="url" id="otrs-link" class="form-control" placeholder="http://otrs.company.de/otrs"> <input type="url" id="otrs-link" class="form-control" placeholder="http://otrs.company.de/otrs">

View file

@ -1,3 +1,4 @@
<div class="tabsSidebar-holder">
<div class="main no-padding flex tabsSidebar-sidebarSpacer tabsSidebar-tabsSpacer"> <div class="main no-padding flex tabsSidebar-sidebarSpacer tabsSidebar-tabsSpacer">
<div class="ticketZoom"> <div class="ticketZoom">
@ -447,15 +448,24 @@ Oliver<br></div>
pending reminder pending reminder
</option> </option>
</select> </select>
<%- @Icon('arrow-down', 'dropdown-arrow') %>
</div><span class="help-inline"></span> <span class="help-block"></span> </div><span class="help-inline"></span> <span class="help-block"></span>
</div> </div>
</div> </div>
<div class="datetime form-group"> <div class="formGroup-bundle">
<div class="date form-group flex">
<div class="formGroup-label"> <div class="formGroup-label">
<label for="Ticket_187247_pending_time">Pending till <span>*</span></label> <label for="Ticket_187247_pending_time">Pending till <span>*</span></label>
</div> </div>
<div class="controls"> <div class="controls">
<input type="text" class="form-control js-datepicker"> <input type="text" value="10/28/2015" class="form-control js-datepicker">
</div>
</div>
<div class="formGroup-bundle-label">at</div>
<div class="datetime form-group">
<div class="controls">
<input type="text" value="08:00" class="form-control time js-timepicker">
</div>
</div> </div>
</div> </div>
<div class="select form-group"> <div class="select form-group">
@ -475,6 +485,7 @@ Oliver<br></div>
3 high 3 high
</option> </option>
</select> </select>
<%- @Icon('arrow-down', 'dropdown-arrow') %>
</div><span class="help-inline"></span> <span class="help-block"></span> </div><span class="help-inline"></span> <span class="help-block"></span>
</div> </div>
</div> </div>
@ -617,8 +628,62 @@ Oliver<br></div>
</div> </div>
</div> </div>
<div class="tabsSidebar-tabs vertical justified"> <div class="tabsSidebar-tabs vertical justified">
<div class="tabsSidebar-tab active" data-tab="ticket"></div> <div class="tabsSidebar-tab active" data-tab="ticket">
<div class="tabsSidebar-tab" data-tab="customer"></div> <%- @Icon('message') %>
<div class="tabsSidebar-tab" data-tab="organization"></div> </div>
<div class="tabsSidebar-tab" data-tab="customer">
<%- @Icon('person') %>
</div>
<div class="tabsSidebar-tab" data-tab="organization">
<%- @Icon('group') %>
</div>
</div>
</div>
<div class="attributeBar">
<form class="form-inline is-closed hide" role="form">
<div class="form-group">
<label for="update_ticket_1_state_id123" class="input-group-addon u-clickable">State</label>
<select id="update_ticket_1_state_id123" class="form-control level-1" name="state_id">
<option value="4">closed</option>
<option value="1" selected="">new</option>
<option value="2">open</option>
<option value="3">pending</option>
</select>
<%- @Icon('arrow-down', 'dropdown-arrow') %>
</div>
<div class="form-group is-changed">
<label for="update_ticket_1_priority_id123" class="input-group-addon u-clickable">Priority</label>
<select id="update_ticket_1_priority_id123" class="form-control" name="priority_id">
<option value="1">1 low</option>
<option value="2" selected="">2 normal</option>
<option value="3">3 high</option>
</select>
<svg class="icon icon-arrow-down dropdown-arrow"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-arrow-down"></use></svg>
</div>
<div class="form-group">
<label for="update_ticket_1_group_id123" class="input-group-addon u-clickable">Group</label>
<select id="update_ticket_1_group_id123" class="form-control" name="group_id">
<option value="4">FillGroup::450863</option>
<option value="3">FillGroup::918672</option>
<option value="2">Twitter</option>
<option value="1" selected="">Users</option>
</select>
<svg class="icon icon-arrow-down dropdown-arrow"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-arrow-down"></use></svg>
</div>
<div class="form-group">
<label for="update_ticket_1_owner_id123" class="input-group-addon u-clickable">Owner</label>
<select id="update_ticket_1_owner_id123" class="form-control" name="owner_id">
<option value="">-</option>
<option value="3">Felix Niklas</option>
</select>
<svg class="icon icon-arrow-down dropdown-arrow"><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-arrow-down"></use></svg>
</div>
</form>
<form class="form-inline">
<div class="form-group">
<button type="submit" class="btn btn--primary js-submit pull-right">Update</button>
<button type="submit" class="btn js-reset pull-right hide">Discard your unsaved changes.</button>
</div>
</form>
</div> </div>
</div> </div>

View file

@ -7,11 +7,8 @@
*= require ./cropper.css *= require ./cropper.css
*= require ./fineuploader.css *= require ./fineuploader.css
*= require ./ui-lightness/jquery-ui-1.11.2.css *= require ./ui-lightness/jquery-ui-1.11.2.css
*= require ./jquery.noty.css
*= require ./bootstrap-tokenfield.css *= require ./bootstrap-tokenfield.css
*= require ./noty_theme_twitter.css
*= require ./sew.css *= require ./sew.css
*= require ./medium.css
*= require ./fira-sans.css *= require ./fira-sans.css
*= require ./svg-dimensions.css *= require ./svg-dimensions.css
*= require ./zammad.scss *= require ./zammad.scss

View file

@ -1,105 +0,0 @@
/* CORE STYLES */
/* noty bar */
.noty_bar {
position: fixed;
display: none;
z-index: 9999999;
}
/* noty_message */
.noty_bar .noty_message {
text-align: center;
}
/* noty close button */
.noty_bar .noty_close {
cursor: pointer;
}
/* noty modal */
.noty_modal {
position: fixed;
width: 100%;
height: 100%;
background-color: #000;
z-index: 10000;
opacity: 0.6;
display: none;
left: 0;
top: 0;
}
/* noty container for noty_layout_topLeft & noty_layout_topRight */
ul.noty_cont {
position: fixed;
z-index: 10000000;
margin: 0px;
padding: 0px;
list-style: none;
width: 300px;
}
ul.noty_cont li {
position: relative;
float: left;
clear: both;
list-style: none;
padding: 0px;
margin: 10px 0 0 0;
width: 300px; /* Fix for: http://bugs.jquery.com/ticket/2278 */
}
ul.noty_cont.noty_layout_topLeft {left:20px; top:20px;}
ul.noty_cont.noty_layout_topRight {right:40px; top:20px;}
ul.noty_cont.noty_layout_bottomLeft {left:20px; bottom:20px}
ul.noty_cont.noty_layout_bottomRight {right:40px; bottom:20px}
ul.noty_cont.noty_layout_topRight li {float:right}
/* LAYOUTS */
/* noty_layout_top */
.noty_bar.noty_layout_top {
top: 0;
left: 0;
width: 100%;
-webkit-border-radius: 0px;
-moz-border-radius: 0px;
border-radius: 0px;
}
/* noty_layout_bottom */
.noty_bar.noty_layout_bottom {
bottom: 0;
left: 0;
width: 100%;
-webkit-border-radius: 0px;
-moz-border-radius: 0px;
border-radius: 0px;
}
/* noty_layout_center */
.noty_bar.noty_layout_center {
top: 40%;
}
/* noty_layout_topLeft & noty_layout_topRight */
.noty_bar.noty_layout_topLeft,
.noty_bar.noty_layout_topRight,
.noty_bar.noty_layout_bottomLeft,
.noty_bar.noty_layout_bottomRight {
width: 100%;
clear: both;
position: relative;
}
.noty_bar.noty_layout_topLeft .noty_message,
.noty_bar.noty_layout_topRight .noty_message,
.noty_bar.noty_layout_bottomLeft .noty_message,
.noty_bar.noty_layout_bottomRight .noty_message {
text-align: left;
}
/* noty_layout_topCenter */
.noty_bar.noty_layout_topCenter {
top: 20px;
}

View file

@ -1,44 +0,0 @@
.Medium{
position: relative;
min-height: 10px;
}
.Medium-clear{
background: transparent !important;
background-color: transparent !important;
border-color: transparent !important;
}
.Medium,
.Medium p:first-child{
margin-top:0;
}
.Medium p:last-child{
margin-bottom:0;
}
.Medium p:empty {
display: block;
height: 1em;
}
.Medium-paste-hook{
position: absolute;
opacity:0;
}
.Medium-placeholder{
position: absolute;
width: 100%;
}
.Medium-placeholder div{
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
filter: alpha(opacity=50);
opacity: 0.5;
position: absolute;
}
.Medium-placeholder-rich div{
font-style: italic;
}
.Medium-inline,
.Medium-placeholder-inline div,
.Medium-inlineRich,
.Medium-placeholder-inlineRich div{
overflow: hidden;
white-space: nowrap;
}

View file

@ -1,129 +0,0 @@
/* CORE STYLES*/
/* custom container */
.noty_custom_container.noty_theme_twitter.noty_layout_inline {
position: relative;
}
/* custom growl container */
.noty_custom_container.noty_theme_twitter.noty_layout_inline .noty_cont.noty_layout_inline {
position: static;
}
/* custom noty bar */
.noty_custom_container.noty_theme_twitter.noty_layout_inline .noty_bar {
position: static;
}
.noty_custom_container.noty_theme_twitter.noty_layout_inline .noty_bar .noty_message {
font-size: 13px;
padding: 4px;
}
.noty_custom_container.noty_theme_twitter.noty_layout_inline .noty_bar .noty_message .noty_buttons {
margin-top: -1px;
}
/* noty_message */
.noty_bar.noty_theme_twitter .noty_message {
padding: 8px 14px;
}
/* noty_has_close_button */
.noty_bar.noty_theme_twitter.noty_closable .noty_message {
padding: 8px 35px 8px 14px;
}
/* noty_buttons */
.noty_bar.noty_theme_twitter .noty_message .noty_buttons {
float: right;
margin-top: -5px;
margin-left: 4px;
}
/* noty_button */
.noty_bar.noty_theme_twitter .noty_message .noty_buttons button {
margin-left: 5px;
}
/* noty close button */
.noty_bar.noty_theme_twitter .noty_close {
position: absolute;
top: 7px;
right: 16px;
font-size: 18px;
line-height: 18px;
font-weight: bold;
color: #000;
opacity: 0.2;
text-shadow: 0 1px 0 #fff;
}
/* noty close button hover */
.noty_bar.noty_theme_twitter .noty_close:hover {
opacity: 0.4;
}
.noty_bar.noty_theme_twitter .noty_close:after {
content: "x";
}
/* noty modal */
.noty_modal.noty_theme_twitter {
opacity: 0.7;
}
/* LAYOUTS */
/* noty_layout_topLeft & noty_layout_topRight */
.noty_bar.noty_theme_twitter.noty_layout_center,
.noty_bar.noty_theme_twitter.noty_layout_topCenter,
.noty_bar.noty_theme_twitter.noty_layout_topLeft,
.noty_bar.noty_theme_twitter.noty_layout_topRight,
.noty_bar.noty_theme_twitter.noty_layout_bottomLeft,
.noty_bar.noty_theme_twitter.noty_layout_bottomRight {
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
.noty_bar.noty_theme_twitter.noty_layout_topLeft .noty_message .noty_buttons,
.noty_bar.noty_theme_twitter.noty_layout_topRight .noty_message .noty_buttons,
.noty_bar.noty_theme_twitter.noty_layout_bottomLeft .noty_message .noty_buttons,
.noty_bar.noty_theme_twitter.noty_layout_bottomRight .noty_message .noty_buttons {
float: none;
border-top: 1px solid #FBEED5;
margin-left: 0;
margin-top: 10px;
padding-top: 10px;
text-align: right;
}
.noty_bar.noty_theme_twitter.noty_layout_center .noty_message .noty_buttons,
.noty_bar.noty_theme_twitter.noty_layout_topCenter .noty_message .noty_buttons {
margin-left: 15px;
margin-top: -2px
}
/* NOTIFICATION TYPES */
/* noty_alert */
.noty_bar.noty_theme_twitter.noty_alert {
background-color: #FCF8E3;
border: 1px solid #FBEED5;
color: #C09853;
}
/* noty_error */
.noty_bar.noty_theme_twitter.noty_error {
background-color: #F2DEDE;
border: 1px solid #EED3D7;
color: #B94A48;
}
/* noty_success */
.noty_bar.noty_theme_twitter.noty_success {
background-color: #DFF0D8;
border: 1px solid #D6E9C6;
color: #468847;
}
/* noty_information */
.noty_bar.noty_theme_twitter.noty_information {
background-color: #D9EDF7;
border: 1px solid #BCE8F1;
color: #3A87AD;
}

View file

@ -867,7 +867,7 @@ fieldset {
} }
} }
fieldset .form-group { fieldset > .form-group {
padding: 0 4px; padding: 0 4px;
&:last-child { &:last-child {
@ -875,11 +875,6 @@ fieldset .form-group {
} }
} }
fieldset > *:not(.form-group) .form-control {
margin-left: 4px;
margin-right: 4px;
}
.form-group { .form-group {
margin-bottom: 16px; margin-bottom: 16px;
@ -888,7 +883,7 @@ fieldset > *:not(.form-group) .form-control {
} }
} }
.datetime.form-group .controls { .date.form-group .controls {
position: relative; position: relative;
} }
@ -1071,10 +1066,20 @@ fieldset > *:not(.form-group) .form-control {
} }
} }
.fromGroup--standalone .form-control { .formGroup--standalone .form-control {
margin-bottom: 0; margin-bottom: 0;
} }
.formGroup-bundle {
display: flex;
align-items: flex-end;
margin: 0 4px;
.formGroup-bundle-label {
margin: 0 5px 27px 11px;
}
}
input[type="radio"], input[type="radio"],
input[type="checkbox"] { input[type="checkbox"] {
margin: 0; margin: 0;
@ -6405,6 +6410,93 @@ output {
} }
} }
#notify {
position: absolute;
top: 20px;
left: 0;
right: 0;
@extend .zIndex-10;
.defaultTheme {
pointer-events: none;
}
.noty_bar {
max-width: 500px;
text-align: center;
margin: 0 auto 10px;
.noty_message {
pointer-events: auto;
display: inline-block;
background: white;
border: 1px solid hsl(0,0%,80%);
border-bottom-color: hsl(0,0%,70%);
padding: 10px 15px;
border-radius: 3px;
color: hsl(202,5%,18%);
box-shadow:
0 6px 12px hsla(210,17%,10%,.21);
}
&.noty_type_success .noty_message {
border-color: hsl(145,51%,70%);
background: hsl(145,51%,77%);
}
&.noty_type_alert .noty_message {
border-color: hsl(43,92%,71%);
background: hsl(42,94%,80%);
}
&.noty_type_error .noty_message {
border-color: hsl(9,72%,62%);
background: hsl(12,73%,66%);
}
a {
color: inherit;
text-decoration: none;
}
}
}
.animated {
animation-duration: 300ms;
animation-fill-mode: both;
}
.fadeInDown {
animation-name: fadeInDown;
}
@keyframes fadeInDown {
from {
opacity: 0;
transform: translate3d(0, -50%, 0);
}
to {
opacity: 1;
transform: none;
}
}
.fadeOutDown {
animation-name: fadeOutDown;
}
@keyframes fadeOutDown {
from {
opacity: 1;
}
to {
opacity: 0;
transform: translate3d(0, 50%, 0);
}
}
/* /*
---------------- ----------------