/** * Core styles for the basic GridField form field without any specific style. * * @package framework * @subpackage scss * @todo Add radial gradient to default delete button state * @todo Create SASS mixin-function to simply swap the from/to, to to/from colours in grsdient mixins? */ @import "compass/css3"; @import "compass/css3/images"; @import "compass/css3/text-shadow"; @import "compass/css3/border-radius"; @import "../admin/scss/themes/default"; @import "../admin/scss/_mixins"; @import "_elementMixins"; //$experimental-support-for-svg variable comes from //imported compass/support file and enables svg gradients in IE9. //This is needed for the background gradients to work as desired with //multiple images. $experimental-support-for-svg: true; $gf_colour_gradient_dark: darken($color-base, 8%); $gf_colour_header_border: $gf_colour_gradient_dark; $gf_colour_subheader: saturate(lighten($color-base, 15%),5%); $gf_colour_border: rgba(0,0,0,.1); $gf_colour_zebra: #F0F4F7; $gf_colour_font: #666; $gf_colour_text_shadow: rgba(0,0,0,.2); $gf_colour_text_shadow_dark: rgba(0,0,0,.4); $gf_border_radius: 5px; $gf_grid_y: 12px; $gf_grid_x: 16px; .cms { .ss-gridfield { & > div { margin-bottom: $gf_grid_y*3; &.addNewGridFieldButton{ margin-bottom:$gf_grid_y; @include clearfix; } } &[data-selectable] { tr.ui-selected, tr.ui-selecting { background: #FFFAD6 !important; } td { cursor: pointer; } } span button#action_gridfield_relationfind { display:none; //hides find button - redundant functionality } p button#action_export { margin-top:$gf_grid_y; span.btn-icon-download-csv { height:17px; //exact height of icon } .ui-button-text { padding-left:26px; //to accomodate wider export icon } } .right { float:right; & > * { float: right; margin-left:5px; font-size: $gf_grid_y*1.2; } .pagination-records-number { font-size: 1.0em; padding: 6px 3px 6px 0; color: $color-text-light; @include single-text-shadow($gf_colour_text_shadow, 0px, -1px, 0); font-weight: normal; } } .left { float:left; & > * { margin-right:5px; float: left; font-size: $gf_grid_y*1.2; } } } .ss-gridfield { .grid-levelup { text-indent: -9999em; a.list-parent-link{ background: transparent url(../images/gridfield-level-up.png) no-repeat 0 0; display:block; } margin-bottom: 6px; } .add-existing-autocompleter { input.relation-search { width: 380px; } width: 500px; } .grid-print-button{ display: inline-block; } .grid-csv-button{ display: inline-block; } } table.ss-gridfield-table { display: table; @include box-shadow-none; padding: 0; border-collapse: separate; border-bottom: 0 none; width: 100%; margin-bottom:$gf_grid_y; thead { color: darken($color-base, 50%); background: transparent; tr.filter-header { .fieldgroup { max-width:$gf_grid_x*32; //max width 512px .fieldgroup-field { padding:0; } } } tr:first-child { //sets 7px border-radius on the top row in the thead - accounts for edgecase where there is no title row. th:first-child { @include border-top-left-radius($gf_border_radius); } th:last-child { @include border-top-right-radius($gf_border_radius); } } } tbody { background: #FFF; tr { // This lets iOS Safari know that these elements are clickable // and so to send the click events. cursor: pointer; } td { width: auto; max-width: 500px; //This number is semi-arbitary. It is acting as a percentage limit, rather than actually constricting the width to 500px. word-wrap:break-word; // Give browser some hints on which cols take priority: // The last column (buttons) should always shrink to fit. // Overwritten for IE7, which doesnt support this. &.col-buttons { width: auto; padding:0 $gf_grid_x/2; text-align: right; white-space: nowrap; } &.col-listChildrenLink { width:$gf_grid_x; border-right:none; text-indent:-9999em; padding:0; .list-children-link { background: transparent url(../images/sitetree_ss_default_icons.png) no-repeat 3px -4px; display:block; } } &.col-getTreeTitle { span.item { color:$color-text-blue-link; } span.badge { clear: both; text-transform: uppercase; display: inline-block; padding: 0px 3px; font-size: 0.75em; line-height: 1em; margin-left: 10px; margin-right: 6px; margin-top: -1px; @include border-radius(2px, 2px); } span.badge.modified { color: #7E7470; border: 1px solid #C9B800; background-color: #FFF0BC; } span.badge.addedtodraft { color: #7E7470; border: 1px solid #C9B800; background-color: #FFF0BC; } span.badge.deletedonlive { color: #636363; border: 1px solid #E49393; background-color: #F2DADB; } span.badge.removedfromdraft { color: #636363; border: 1px solid #E49393; background-color: #F2DADB; } span.badge.workflow-approval { color: #56660C; border: 1px solid #7C8816; background-color: #DAE79A; } } button { border: none; background: none; margin: 0 0 0 2px; padding: 1px 0; width: auto; text-shadow: none; &.ui-state-hover { background:none; @include box-shadow-none; } &.ui-state-active { border:none; @include box-shadow-none; } &.gridfield-button-delete { width: 20px; margin: 0; span.btn-icon-decline { left: 2px; } } } a.view-link, a.edit-link { display:inline-block; width:20px; height:20px; //min height to fit the edit icon text-indent:9999em; overflow: hidden; vertical-align: middle; } a.view-link { background: url(../admin/images/btn-icon/magnifier.png) no-repeat 0 1px; } a.edit-link { background: url(../admin/images/btn-icon/document--pencil.png) no-repeat 2px 0px; } } } tfoot { color: darken($color-base, 50%); tr { td { background: $color-base; padding: .7em; border-bottom: 1px solid rgba(0,0,0,.1); } } } tr { &.title { th { position: relative; background: $gf_colour_gradient_dark; border-bottom: 1px solid darken($gf_colour_gradient_dark,5%); padding: 5px; min-height: 40px; //this is to accomodate the add new button. @include background-image(linear-gradient($color-base, $gf_colour_gradient_dark)); @include single-text-shadow($gf_colour_text_shadow_dark, 0px, -1px, 0); h2{ padding: 0px; font-size: $gf_grid_y*1.4; color:#fff; margin: 1px 8px 0; display:inline-block; float:left; } } } &.sortable-header { background: $gf_colour_subheader; th{ padding: 0; // Should be padding: 0 1em; like td font-weight: normal; .ss-ui-button { font-weight: normal; } } } &:hover { background: #FFFAD6 !important; } &:first-child { background: transparent; } &.ss-gridfield-even { background: $gf_colour_zebra; &.ss-gridfield-last { border-bottom: none; } } &.even { background: $gf_colour_zebra; } th { font-weight: bold; font-size: $gf_grid_y; color: #FFF; padding: 5px; border-right: 1px solid $gf_colour_border; div { &.fieldgroup,&.fieldgroup-field { width: 100%; position:relative; } &.fieldgroup { min-width: $gf_grid_x*12.5; padding-right:0; &.filter-buttons{ min-width:0; box-shadow: none; border: none; div{ width:auto; display:inline; } } } } &.main{ white-space:nowrap; border-top: 1px solid darken($color-base,4%); border-left: 1px solid darken($color-base,4%); color:#fff; background: $gf_colour_gradient_dark; border-bottom: 1px solid $gf_colour_border; span{ @include single-text-shadow($gf_colour_text_shadow, 0px, -1px, 0); padding-left: $gf_grid_x/2; padding-right: $gf_grid_x/2; @include hide-text-overflow; // Add ellipses to overflowing text margin-right: 8px; } &.col-listChildrenLink { border-right:none; } } &.extra,&.action { padding: 0; cursor: default; } &.extra { position:relative; background:darken($color-dark-grey, 10%); background: rgba(#000, 0.7); padding: 5px; border-top: $gf_colour_text_shadow; input { height:28px; //height of input field - to match design. } button.ss-ui-button { padding: .3em; line-height: 1; @include box-shadow-none; position: relative; border-bottom-width: 0; @include border-radius(2px, 2px); } } &.first { @include border-top-left-radius($gf_border_radius); } &.last { @include border-top-right-radius($gf_border_radius); } button { &#action_gridfield_relationadd:hover { color: #444 !important; /* Not sure why IE think it needs this */ } &:hover { color: #ccc !important; /* Not sure why IE think it needs this */ } &.ss-gridfield-sort:hover { color: #fff !important; @include box-shadow-none; } &.ss-gridfield-sort { background: transparent url(../images/arrows.png) no-repeat right 6px; border:none; width:100%; text-align: left; padding: 2px 8px 2px 0; // Doesn't need to be so big now that filter has moved @include single-text-shadow($gf_colour_text_shadow, 0px, -1px, 0); color: #fff; @include border-radius(0); &:hover { background-position: right -34px; } &.ss-gridfield-sorted-desc { background-position: right -72px; } &.ss-gridfield-sorted-asc { background-position: right -116px; } } &.ss-ui-button{ &.ss-gridfield-button-filter{ $bgImage: url(../images/icons/filter-icons.png) no-repeat; background-color:lighten($color-menu-button,10%); @include gridFieldButtons; @include background( $bgImage -15px 4px, linear-gradient( $color-menu-button, darken($color-menu-button, 10%) ) ); width: 26px; border-top: 1px solid lighten($color-menu-button, 5%); &.hover-alike:active, &:active, &.hover-alike, &:hover { @include background ( $bgImage -15px 4px, linear-gradient( lighten($color-menu-button, 10%), $color-menu-button )); } &.trigger{ //The magnifying glass before filter is opened margin-left: $gf_grid_y; border:none; @include background ($bgImage -17px 6px); padding-right: 46px; margin: 0 $gf_grid_y/2; span{ //this is the dropdown arrow opacity: 0.4; position:absolute; width:10px; left:30px; top:40%; background: url(../admin/images/btn_arrow_down_grey.png) no-repeat 0px 0px; } &:hover{ @include background ($bgImage -17px -38px); @include box-shadow-none; span{//dropdown arrow opacity:0.9; } } } } &.ss-gridfield-button-close{ $bgImage: url(../images/icons/filter-icons.png) no-repeat; @include background ($bgImage 8px -17px); @include gridFieldButtons; width:25px; opacity:0.8; margin-right:-5px; //For IE &.hover-alike:active, &:active, &.hover-alike, &:hover { opacity:1; @include background ( $bgImage 8px -17px, linear-gradient( rgba(#fff,0.1), rgba(#fff,0.1) ) ); } } &.ss-gridfield-button-reset{ @include gridFieldButtons; position:absolute; top: -21px; right: -1px; width:20px; height:20px; display:none; &.filtered{ display:block; background: url(../admin/images/btn-icon/cross.png) no-repeat 0px 0px; opacity:0.5; &:hover{ opacity:0.8; } &:active { opacity:1; } } } } } input { &.ss-gridfield-sort { height:25px; padding: 4px; // Placeholder styling done with an each loop because when a browser // doesn’t understand a selector, it invalidates the entire line of selectors. // This avoids that, and keeps the scss tidy $browserPlaceholder: "::-webkit-input-placeholder", ":-moz-placeholder", ":-ms-input-placeholder", ":placeholder"; border: 1px solid #313232; @each $browser in $browserPlaceholder { &#{$browser}{ font-style:italic; color: lighten($color-dark-grey,30%); } } &:focus { @include box-shadow-none; } } } span.non-sortable { display:block; } } td { border-right: 1px solid $gf_colour_border; padding: $gf_grid_x/2 $gf_grid_x/2; color: $gf_colour_font; &.bottom-all { @include border-bottom-radius($gf_border_radius); @include background-image(linear-gradient($color-base, $gf_colour_gradient_dark)); padding: $gf_grid_x/4 $gf_grid_y; .datagrid-footer-message { text-align: center; padding-top: 6px; color:$color-text-light; } .datagrid-pagination { padding-top:1px; position:absolute; left:50%; margin-left:-116px; //half the width of .datagrid-pagination - centers pagination .pagination-page-number { color:$color-text-light; @include single-text-shadow($gf_colour_text_shadow, 0px, -1px, 0); input { width:35px; //exact width so that a four digit number can be entered height:18px; margin-bottom:-6px; //moves input field up to be aligned with the pagination buttons padding:0px; border: 1px solid darken($gf_colour_gradient_dark, 5%); border-bottom: 1px solid lighten($gf_colour_gradient_dark, 5%); } } z-index:5; button{ @include box-shadow-none; border:none; width:10px; margin:0 10px; span { text-indent:-9999em; } &.ss-gridfield-previouspage { @include background (url(../images/icons/pagination-arrows.png) no-repeat -23px 8px); } &.ss-gridfield-nextpage { @include background (url(../images/icons/pagination-arrows.png) no-repeat -47px 8px); } &.ss-gridfield-firstpage { @include background (url(../images/icons/pagination-arrows.png) no-repeat 0px 8px); } &.ss-gridfield-lastpage { @include background (url(../images/icons/pagination-arrows.png) no-repeat -73px 8px); } &.ssui-button-disabled{ z-index:-1; } } } .pagination-records-number { float:right; padding:6px 0; color:$color-text-light; @include single-text-shadow($gf_colour_text_shadow, 0px, -1px, 0); } } } &.last td { border-bottom: 0 none; } } td:first-child{ border-left: 1px solid $gf_colour_border; } td:last-child{ border-right: 1px solid $gf_colour_border; } } }