/*
 * cssLockedGrid Sass configuration
 *
 */

$csslockedgrid-default-ui: dynamic((
    item-color: $dataview-item-color, 
    item-hovered-color: $dataview-item-hovered-color, 
    item-selected-color: $dataview-item-selected-color, 
    item-pressed-color: $dataview-item-pressed-color, 
    item-background-color: $dataview-item-background-color, 
    item-alt-background-color: $dataview-item-alt-background-color, 
    item-hovered-background-color: $dataview-item-hovered-background-color, 
    item-selected-background-color: $dataview-item-selected-background-color, 
    item-pressed-background-color: $dataview-item-pressed-background-color, 
    item-border-width: $dataview-item-border-width, 
    item-border-style: $dataview-item-border-style, 
    item-border-color: $dataview-item-border-color, 
    item-hovered-border-color: $dataview-item-hovered-border-color, 
    item-selected-border-color: $dataview-item-selected-border-color, 
    item-pressed-border-color: $dataview-item-pressed-border-color, 
    item-focused-outline-width: $dataview-item-focused-outline-width, 
    item-focused-outline-style: $dataview-item-focused-outline-style, 
    item-focused-outline-color: $dataview-item-focused-outline-color, 
    item-focused-outline-offset: $dataview-item-focused-outline-offset, 
    item-font-weight: $dataview-item-font-weight, 
    item-font-size: $dataview-item-font-size, 
    item-font-size-big: $dataview-item-font-size-big, 
    item-line-height: $dataview-item-line-height, 
    item-line-height-big: $dataview-item-line-height-big, 
    item-font-family: $dataview-item-font-family, 
    item-padding: $dataview-item-padding, 
    item-padding-big: $dataview-item-padding-big 
));

@mixin css-locked-grid-ui(
    $ui: null
) {
    $ui-suffix: ui-suffix($ui);
    
    .#{$prefix}css-locked-grid {

        @include dataview-ui();

        .#{$prefix}headercontainer .#{$prefix}gridcolumn.#{$prefix}locked,
        .#{$prefix}grid-filterbar .#{$prefix}locked,
        .#{$prefix}gridcell.#{$prefix}locked:not(.colored) {
            z-index: 10;  // Mask is z-index 10
            // box-shadow: 0px -1px 0px 0px $dataview-item-background-color, 0px 2px 0px 0px $dataview-item-background-color;
            background-color: $dataview-item-background-color;
        }

        // Odd row styling (alternate rows) - Base styling
        .#{$prefix}gridrow.#{$prefix}odd {
            .#{$prefix}cells-el,
            .#{$prefix}gridcell {
                background-color: $dataview-item-alt-background-color;
            }
        }

        /*
         * Set background colour for selected locked cells as they are
         * normally transparent and need to have the select colour manually
         * applied.
         */

        // Row hovered - applies to both regular and odd rows
        .#{$prefix}gridrow.#{$prefix}odd.#{$prefix}hovered,
        .#{$prefix}gridrow.#{$prefix}hovered {
            .#{$prefix}cells-el,
            .#{$prefix}gridcell {
                background-color: $dataview-item-hovered-background-color;
                box-shadow: none;
            }

            // Locked cells when hovered
            .#{$prefix}gridcell.#{$prefix}locked {
                background-color: $dataview-item-hovered-background-color;
                box-shadow: none;
            }
        }

        // Row pressed - applies to both regular and odd rows
        .#{$prefix}hovered.#{$prefix}pressed {
            .#{$prefix}gridcell {
                background-color: $dataview-item-pressed-background-color;
                box-shadow: none;
            }
        }

        // Row selected - applies to both regular and odd rows
        .#{$prefix}gridrow.#{$prefix}odd.#{$prefix}selected,
        .#{$prefix}gridrow.#{$prefix}selected {
            .#{$prefix}cells-el,
            .#{$prefix}gridcell {
                background-color: $dataview-item-selected-background-color;
                box-shadow: none;
            }

            // Locked cells when row is selected (including odd rows)
            .#{$prefix}gridcell.#{$prefix}locked {
                background-color: $dataview-item-selected-background-color;
                box-shadow: none;
            }
        }

        // Cell selected - applies to individual cells
        .#{$prefix}gridcell.#{$prefix}selected {
            background-color: $dataview-item-selected-background-color !important;
            box-shadow: none !important;
        }

        /**
         * Cell editing adjustment
         */
        .#{$prefix}celleditor {
            z-index: 9 !important;
        }

        /**
         * extender-drag-handle
         */
        .#{$prefix}selmodel-extender-drag-handle {
            background-color: green;
        }
    }
}
