OpenProject is the leading open source project management software.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
openproject/app/assets/stylesheets/content/_in_place_editing.sass

357 lines
8.2 KiB

//-- copyright
// OpenProject is a project management system.
// Copyright (C) 2012-2015 the OpenProject Foundation (OPF)
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License version 3.
//
// OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
// Copyright (C) 2006-2013 Jean-Philippe Lang
// Copyright (C) 2010-2013 the ChiliProject Team
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
//
// See doc/COPYRIGHT.rdoc for more details.
//++
%inline-date-picker-container-position-absolute
display: none
z-index: 99999
position: absolute
.inplace-edit
@extend .form--field.-full-width
.-preview
button
visibility: hidden
.jstb_preview
visibility: visible
&.-busy
opacity: 0.5
.jstElements button
opacity: 0.5
*
cursor: wait!important
.inplace-edit--date
margin: 0
position: relative
& > *
margin-bottom: 0
& > .inplace-edit--date-picker
@extend %inline-date-picker-container-position-absolute
left: 0
&.attribute-date
.inplace-edit--read-value
span
display: inline-block
vertical-align: middle
.inplace-edit--date-range
display: table
width: 100%
position: relative
& > *
display: table-cell
margin-bottom: 0
& > .delimeter
padding-right: 5px
padding-left: 5px
text-align: center
vertical-align: middle
& > .inplace-edit--date-range-start-date-picker
@extend %inline-date-picker-container-position-absolute
left: 0
& > .inplace-edit--date-range-end-date-picker
@extend %inline-date-picker-container-position-absolute
right: 0
.ui-datepicker .ui-datepicker-calendar td a.ui-state-active
border-color: $inplace-edit--selected-date-border-color
#ui-datepicker-div
z-index: 9999 !important
.inplace-edit--form,
.user-comment--form
display: block
position: relative
//todo: Move to something more specific
.jstHandle, .jstSpacer
display: none
.jstElements
button
display: none
.jstb_strong,
.jstb_em,
.jstb_ins,
.jstb_del,
.jstb_ul,
.jstb_ol,
.jstb_preview,
.jstb_help
display: inline-flex
justify-content: center
.inplace-edit--select
.select2-display-none
display: none
&.-full-width
max-width: 100%
.inplace-edit--textarea
min-height: 20px
width: 100%
margin-bottom: -1px
overflow-y: auto !important
// Resize done by angular-elastic
&[msd-elastic]
resize: none
&.-animated:focus
transition: height 50ms ease-in-out
.inplace-edit--text-field
margin-bottom: 0!important
padding: 0.375rem
font-size: inherit
line-height: inherit
.inplace-edit--dashboard
position: relative
width: 100%
z-index: 100
font-size: 0.875rem
.inplace-edit--errors
line-height: 1.2em
width: 100%
padding: 5px
left: 251px
bottom: -11px
background: rgb(254, 208, 209)
border: 1px solid $inplace-edit--color--very-dark
min-height: 42px
color: $body-font-color
.inplace-edit--errors--icon
position: absolute
top: 8px
.inplace-edit--errors--text
white-space: pre-line
padding-left: 18px
.inplace-edit--read
@include grid-block
overflow: visible
.inplace-edit--read-value
@include grid-block
padding: 0.375rem
&.-default
font-style: italic
p
font-size: inherit
&:last-of-type
margin-bottom: 0
.user-field-user-link
display: inline
.inplace-edit--preview
border: 1px solid $inplace-edit--border-color
padding: 0.375rem
.inplace-edit--icon-wrapper
@include grid-block(shrink)
text-align: center
width: 33px
background: $gray-light
border-left: 1px solid $inplace-edit--border-color
align-items: center
justify-content: center
visibility: hidden
font-size: rem-calc(14px)
.icon-edit:before,
.icon-delete:before,
.icon-remove:before
// HACK: overriding default padding here
padding-right: 0
a.inplace-edit--icon-wrapper
color: $body-font-color
&:hover
color: $body-font-color
text-decoration: none
.inplace-editing--trigger-container
@include grid-block
overflow: visible
width: 100%
// need to specify the a explicitly as otherwise
// the default class will win
a.inplace-editing--trigger-link,
.inplace-editing--trigger-link
@include grid-block
color: $body-font-color
font-weight: inherit
overflow: visible
width: 100%
&:hover,
&:focus,
&.-focus
text-decoration: none
color: $body-font-color
.inplace-editing--container
border-color: $inplace-edit--border-color
.inplace-edit--icon-wrapper
visibility: visible
// Otherwise the description will show up in one line on IE10
.inplace-edit--read-value
display: block
.inplace-editing--container
@include grid-block
border-color: #fff
border-style: solid
border-radius: 2px
border-width: 1px
overflow: visible
width: 100%
.inplace-edit--controls
display: inline-block
background: $inplace-edit--dark-background
border: 1px solid $inplace-edit--color--very-dark
box-shadow: 2px 2px 4px $inplace-edit--border-color
text-align: center
float: right
padding: 5px
line-height: 1.6rem
margin-top: -1px
// Having to get the element out of the normal dom flow to
// prevent the element overlapping and thereby blocking the click on
// inplace-editable elements below the current one.
position: absolute
right: 0
// Disabled submit styles when not applicable
.inplace-edit--control--save[disabled],
.inplace-edit--control--send[disabled]
background-color: $inplace-edit--bg-color--disabled
span
color: $inplace-edit--color--disabled
cursor: not-allowed
.inplace-edit--control
width: 1.75rem
height: 1.75rem
line-height: 1.75rem
display: inline-block
font-size: 0.9rem
a
display: inline-block
width: 100%
height: 100%
border: 1px solid transparent
color: $body-font-color
text-decoration: none
&:hover, &:active
border-color: $inplace-edit--border-color
border-radius: 2px
.icon-context:before
padding: 0
// custom hack to have the jsToolbar in the same line as the "Description" title
.inplace-edit.attribute-description
.inplace-edit--write
margin-top: -46px
// for non-textile description we need to not overlap the 'Description' header
// which in textile is shown due to edit buttons on the right side
&.edit-strategy-textarea
margin-top: auto
.jstElements
margin-bottom: 18px !important
// Explicit styles for input-esque trigger appearance
.work-packages--activity--add-comment,
.work-package--watchers-lookup
.inplace-editing--container
border: 1px solid #eee
.work-packages--activity--add-comment
margin: 20px 0
.inplace-edit--read-value
padding: 10px 5px
.inplace-editing--trigger-link
font-size: 1rem
// this aligns the title for the WP
.work-packages--split-view
.work-packages--details--title,
.work-packages--details--description
margin-left: -0.375rem
a.inplace-editing--trigger-link
margin-left: 1px
&:focus
outline-offset: -2px
outline-width: 1px
.inplace-edit--highlight
border-color: $inplace-edit--color-highlight !important
.work-package--details--long-field
margin-top: 10px
.inplace-editing--trigger-container
line-height: 1.6
.inplace-edit--read
margin-left: 0px
max-width: 100%
padding-bottom: 5px
.inplace-edit--read-value
span.deleting
opacity: 0.5
img.avatar-mini
float: inherit
i
vertical-align: text-top