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

258 lines
6.0 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.
//++
$inplace-edit--border-color: #ddd
$inplace-edit--dark-background: #f8f8f8
$inplace-edit--color--very-dark: #cacaca
%inline-date-picker-container-position-absolute
display: none
z-index: 99999
right: 0
position: absolute
.inplace-edit
@extend .form--field.-full-width
.-preview
button
visibility: hidden
10 years ago
.jstb_preview
visibility: visible
&.-busy
opacity: 0.5
.jstElements button
opacity: 0.5
*
cursor: wait!important
inplace-edit--write
.inplace-edit--date
margin: 0
position: relative
& > *
margin-bottom: 0
& > .inplace-edit--date-picker
@extend %inline-date-picker-container-position-absolute
.inplace-edit--date-range
display: table
position: relative
& > *
display: table-cell
margin-bottom: 0
& > .delimeter
padding-right: 5px
padding-left: 5px
& > .inplace-edit--date-range-start-date-picker,
& > .inplace-edit--date-range-end-date-picker
@extend %inline-date-picker-container-position-absolute
.ui-datepicker-current,
.ui-datepicker-close
display: none
#ui-datepicker-div
z-index: 9999 !important
.inplace-edit--form
display: block
position: relative
//todo: Move to something more specific
10 years ago
.jstHandle, .jstSpacer
display: none
.jstElements
button
display: none
10 years ago
.jstb_strong,
.jstb_em,
.jstb_ins,
.jstb_del,
.jstb_ul,
.jstb_ol,
.jstb_preview,
.jstb_help
10 years ago
display: flex
.inplace-edit--select
.select2-display-none
display: none
.inplace-edit--textarea
min-height: 200px
width: 100%
margin-bottom: -1px
.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)
10 years ago
border: 1px solid $inplace-edit--color--very-dark
min-height: 42px
color: #444
.inplace-edit--errors--icon
position: absolute
top: 8px
.inplace-edit--errors--text
white-space: pre-line
padding-left: 18px
.inplace-edit--controls
display: inline-block
width: 115px
height: 35px
10 years ago
background: $inplace-edit--dark-background
border: 1px solid $inplace-edit--color--very-dark
box-shadow: 1px 1px 2px $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
.inplace-edit--read
@extend .form--field-container
.inplace-edit--read-value
@include grid-block
padding: 0.375rem
&.-default
font-style: italic
10 years ago
.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
// HACK: overriding default padding here
padding-right: 0
a
color: $body-font-color
a:hover
color: $body-font-color
text-decoration: none
.inplace-editing--trigger-container
@include grid-block
// 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
&:hover,
&:focus,
text-decoration: none
color: $body-font-color
.inplace-editing--container
border-color: $inplace-edit--border-color
.inplace-edit--icon-wrapper
visibility: visible
.inplace-editing--container
@include grid-block
border-color: #fff
border-style: solid
border-radius: 2px
border-width: 1px
.inplace-edit--read
@include grid-block
.inplace-edit--control
background: $inplace-edit--color--very-dark
width: 1.5rem
height: 1.5rem
line-height: 1.5rem
border: 1px solid $inplace-edit--dark-background
display: inline-block
border-radius: 0.75rem
font-size: 0.75rem
&.-icons-2
width: 2.875rem
a
color: $body-font-color
text-decoration: none
&:hover
.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: -48px
// 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