show edit controls on click
This commit is contained in:
parent
1f9e7e37b1
commit
83f1f7821d
3 changed files with 88 additions and 64 deletions
|
@ -318,6 +318,8 @@ class Edit extends App.Controller
|
||||||
'click .visibility.toggle': 'toggle_visibility'
|
'click .visibility.toggle': 'toggle_visibility'
|
||||||
'click .pop-selectable': 'select_type'
|
'click .pop-selectable': 'select_type'
|
||||||
'click .pop-selected': 'show_selectable_types'
|
'click .pop-selected': 'show_selectable_types'
|
||||||
|
'focus textarea': 'show_controls'
|
||||||
|
'blur textarea': 'hide_controls'
|
||||||
|
|
||||||
constructor: ->
|
constructor: ->
|
||||||
super
|
super
|
||||||
|
@ -466,6 +468,15 @@ class Edit extends App.Controller
|
||||||
@type = type
|
@type = type
|
||||||
typeIcon.addClass @type
|
typeIcon.addClass @type
|
||||||
|
|
||||||
|
show_controls: =>
|
||||||
|
@el.addClass('mode--edit')
|
||||||
|
# scroll to bottom
|
||||||
|
@el.scrollParent().scrollTop(99999)
|
||||||
|
|
||||||
|
hide_controls: =>
|
||||||
|
if !@el.find('textarea').val()
|
||||||
|
@el.removeClass('mode--edit')
|
||||||
|
|
||||||
autosaveStop: =>
|
autosaveStop: =>
|
||||||
@clearInterval( 'autosave' )
|
@clearInterval( 'autosave' )
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<div class="bubble-grid horizontal">
|
<div class="bubble-grid horizontal">
|
||||||
<div class="vertical center">
|
<div class="vertical center">
|
||||||
<div class="avatar user-popover" data-id="<%= @S('id') %>" style="background-image: url(<%- @S('image') %>)"></div>
|
<div class="avatar user-popover" data-id="<%= @S('id') %>" style="background-image: url(<%- @S('image') %>)"></div>
|
||||||
|
<div class="edit-controls">
|
||||||
<div class="dark pop-select">
|
<div class="dark pop-select">
|
||||||
<div class="pop-selected clickable centered">
|
<div class="pop-selected clickable centered">
|
||||||
<div class="gray <%- @type %> channel icon"></div>
|
<div class="gray <%- @type %> channel icon"></div>
|
||||||
|
@ -29,6 +30,7 @@
|
||||||
<div class="internal visibility icon"></div>
|
<div class="internal visibility icon"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<div class="flex article-content bubble-gap">
|
<div class="flex article-content bubble-gap">
|
||||||
<div class="internal-border">
|
<div class="internal-border">
|
||||||
<div class="text-bubble">
|
<div class="text-bubble">
|
||||||
|
@ -37,7 +39,7 @@
|
||||||
<span class="bubble-placeholder">Antwort eingeben oder <span class="highlight">Dateien wählen</span></span>
|
<span class="bubble-placeholder">Antwort eingeben oder <span class="highlight">Dateien wählen</span></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<button type="submit" class="btn btn-primary submit"><%- @T( 'Send' ) %></button>
|
<button type="submit" class="edit-controls btn btn-primary submit"><%- @T( 'Send' ) %></button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
|
@ -1593,7 +1593,7 @@ footer {
|
||||||
|
|
||||||
.btn {
|
.btn {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
padding: 9px 14px;
|
padding: 9px 24px 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn.primary,
|
.btn.primary,
|
||||||
|
@ -2536,45 +2536,6 @@ footer {
|
||||||
border-color: hsl(300,43%,84%);
|
border-color: hsl(300,43%,84%);
|
||||||
}
|
}
|
||||||
|
|
||||||
.ticket-edit .text-bubble {
|
|
||||||
padding: 0;
|
|
||||||
border-color: #b3b3b3;
|
|
||||||
white-space: normal;
|
|
||||||
border-radius: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ticket-edit textarea {
|
|
||||||
width: 100%;
|
|
||||||
height: 38px;
|
|
||||||
padding: 10px 20px;
|
|
||||||
vertical-align: bottom;
|
|
||||||
border: none;
|
|
||||||
background: none;
|
|
||||||
outline: none;
|
|
||||||
transition: 500ms;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ticket-edit textarea:focus {
|
|
||||||
height: 105px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ticket-edit textarea:focus + .bubble-placeholder {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ticket-edit .bubble-arrow:after {
|
|
||||||
border-color: #b3b3b3;
|
|
||||||
box-shadow: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bubble-placeholder {
|
|
||||||
position: absolute;
|
|
||||||
color: #b3b3b3;
|
|
||||||
left: 20px;
|
|
||||||
top: 10px;
|
|
||||||
pointer-events: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bubble-arrow {
|
.bubble-arrow {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: 7px;
|
width: 7px;
|
||||||
|
@ -2648,6 +2609,10 @@ footer {
|
||||||
margin-bottom: 37px;
|
margin-bottom: 37px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ticket-edit.mode--edit {
|
||||||
|
margin-bottom: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
.bottom-form {
|
.bottom-form {
|
||||||
background: white;
|
background: white;
|
||||||
}
|
}
|
||||||
|
@ -2667,6 +2632,14 @@ footer {
|
||||||
margin-bottom: 3px;
|
margin-bottom: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ticket-edit .edit-controls {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ticket-edit.mode--edit .edit-controls {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
.ticket-edit .pop-selectable .icon {
|
.ticket-edit .pop-selectable .icon {
|
||||||
opacity: 0.3;
|
opacity: 0.3;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
|
@ -2705,6 +2678,44 @@ footer {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ticket-edit .text-bubble {
|
||||||
|
padding: 0;
|
||||||
|
border-color: #b3b3b3;
|
||||||
|
white-space: normal;
|
||||||
|
border-radius: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ticket-edit textarea {
|
||||||
|
width: 100%;
|
||||||
|
height: 38px;
|
||||||
|
padding: 10px 20px;
|
||||||
|
vertical-align: bottom;
|
||||||
|
border: none;
|
||||||
|
background: none;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ticket-edit.mode--edit textarea {
|
||||||
|
height: 115px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ticket-edit.mode--edit .bubble-placeholder {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ticket-edit .bubble-arrow:after {
|
||||||
|
border-color: #b3b3b3;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bubble-placeholder {
|
||||||
|
position: absolute;
|
||||||
|
color: #b3b3b3;
|
||||||
|
left: 20px;
|
||||||
|
top: 10px;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
.pop-select {
|
.pop-select {
|
||||||
position: relative;
|
position: relative;
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
|
@ -2718,7 +2729,7 @@ footer {
|
||||||
|
|
||||||
.pop-selected,
|
.pop-selected,
|
||||||
.pop-selectable {
|
.pop-selectable {
|
||||||
width: 36px;
|
width: 38px;
|
||||||
height: 36px;
|
height: 36px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue