Browse Source

Updates layers as flex

pull/5463/head
Artur Arseniev 3 years ago
parent
commit
3f2e4911fb
  1. 2
      dist/css/grapes.min.css
  2. 19
      src/navigator/view/ItemView.ts
  3. 25
      src/styles/scss/_gjs_layers.scss
  4. 1
      src/styles/scss/_gjs_variables.scss
  5. 2
      src/styles/scss/main.scss

2
dist/css/grapes.min.css

File diff suppressed because one or more lines are too long

19
src/navigator/view/ItemView.ts

@ -42,12 +42,11 @@ export default class ItemView extends View {
const { hidable } = config;
const count = module.getComponents(model).length;
const addClass = !count ? this.clsNoChild : '';
const clsItem = `${pfx}layer-item ${ppfx}one-bg`;
const clsTitle = `${this.clsTitle} ${addClass}`;
const clsTitleC = `${this.clsTitleC}`;
const clsInput = `${this.inputNameCls} ${clsNoEdit} ${ppfx}no-app`;
const level = opt.level + 1;
const gut = `${10 + level * 10}px`;
const level = opt.level || 0;
const gut = `${level * 10}px`;
const name = model.getName();
const icon = model.getIcon();
const clsBase = `${pfx}layer`;
@ -55,18 +54,18 @@ export default class ItemView extends View {
const { move, eye, eyeOff, chevron } = icons!;
return `
<div class="${clsItem}">
<div class="${pfx}layer-item ${ppfx}one-bg" data-toggle-select>
<div class="${pfx}layer-item-left">
${
hidable
? `<i class="${pfx}layer-vis" data-toggle-visible>
<i class="${pfx}layer-vis-on">${eye}</i>
<i class="${pfx}layer-vis-off">${eyeOff}</i>
</i>`
<i class="${pfx}layer-vis-on">${eye}</i>
<i class="${pfx}layer-vis-off">${eyeOff}</i>
</i>`
: ''
}
<div class="${clsTitleC}">
<div class="${clsTitle}" style="padding-left: ${gut}" data-toggle-select>
<div class="${clsTitle}" style="padding-left: ${gut}">
<div class="${pfx}layer-title-inn" title="${name}">
<i class="${this.clsCaret}" data-toggle-open>${chevron}</i>
${icon ? `<span class="${clsBase}__icon">${icon}</span>` : ''}
@ -175,7 +174,7 @@ export default class ItemView extends View {
getVisibilityEl() {
if (!this.eyeEl) {
this.eyeEl = this.$el.children(`.${this.pfx}layer-vis`);
this.eyeEl = this.$el.children('[data-toggle-select]').find('[data-toggle-visible]');
}
return this.eyeEl;
@ -197,7 +196,7 @@ export default class ItemView extends View {
* @return void
* */
toggleVisibility(ev?: MouseEvent) {
ev?.stopPropagation();
ev?.stopImmediatePropagation();
const { module, model } = this;
module.setVisible(model, !module.isVisible(model));
}

25
src/styles/scss/_gjs_layers.scss

@ -2,7 +2,7 @@ $layerIconSize: 15px !default;
.#{$nv-prefix} {
&selected-parent {
border: 1px solid $colorYell;
border: 1px solid var(--gjs-color-yellow);
}
&opac50 {
@ -13,8 +13,7 @@ $layerIconSize: 15px !default;
font-weight: lighter;
text-align: left;
position: relative;
background-color: rgba(0, 0, 0, 0.1);
font-size: $fontSize;
font-size: var(--gjs-font-size);
display: grid;
&-item {
@ -22,13 +21,16 @@ $layerIconSize: 15px !default;
align-items: center;
justify-content: space-between;
padding: 5px 10px;
border-bottom: 1px solid rgba(0,0,0,.25);
border-bottom: 1px solid var(--gjs-main-dark-color);
background-color: var(--gjs-secondary-dark-color);
gap: var(--gjs-flex-item-gap);
cursor: pointer;
&-left,
&-right {
display: flex;
align-items: center;
gap: 10px;
gap: var(--gjs-flex-item-gap);
}
&-left {
@ -60,7 +62,7 @@ $layerIconSize: 15px !default;
display: none;
}
.#{$nv-prefix}layer-vis-off {
display: block;
display: flex;
}
}
}
@ -70,6 +72,7 @@ $layerIconSize: 15px !default;
cursor: pointer;
box-sizing: content-box;
transform: rotate(90deg);
display: flex;
@include opacity(0.7);
&:hover {
@ -94,7 +97,7 @@ $layerIconSize: 15px !default;
align-items: center;
position: relative;
display: flex;
gap: 5px;
gap: var(--gjs-flex-item-gap);
}
&-c {
@ -137,7 +140,7 @@ $layerIconSize: 15px !default;
}
&-no-chld > .#{$nv-prefix}layer-title-inn > .#{$nv-prefix}layer-caret {
display: none;
visibility: hidden;
}
&-move {
@ -148,11 +151,11 @@ $layerIconSize: 15px !default;
}
&.#{$nv-prefix}hovered .#{$nv-prefix}layer-item {
background-color: rgba(255, 255, 255, 0.15);
background-color: var(--gjs-soft-light-color);
}
&.#{$nv-prefix}selected .#{$nv-prefix}layer-item {
background-color: rgba(255, 255, 255, 0.3);
background-color: var(--gjs-main-light-color);
}
}
}
@ -170,7 +173,7 @@ $layerIconSize: 15px !default;
padding: 1px;
&.#{$nv-prefix}insert {
background-color: $colorGreen;
background-color: var(--gjs-color-green);
}
}
}

1
src/styles/scss/_gjs_variables.scss

@ -33,6 +33,7 @@ $mainDkColor: rgba(0, 0, 0, 0.2) !default;/* darken($mainColor, 4%) - #383
$mainDklColor: rgba(0, 0, 0, 0.1) !default;
$mainLhColor: rgba(255, 255, 255, 0.1) !default; /* #515151 */
$mainLhlColor: rgba(255, 255, 255, 0.7) !default;
$softLhColor: rgba(255, 255, 255, 0.015) !default;
$colorBlue: #3b97e3 !default;
$colorRed: #dd3636 !default;
$colorYell: #ffca6f !default;

2
src/styles/scss/main.scss

@ -203,6 +203,7 @@ $colorsAll: (one, var(--gjs-primary-color)),
--gjs-secondary-dark-color: #{$mainDklColor};
--gjs-main-light-color: #{$mainLhColor};
--gjs-secondary-light-color: #{$mainLhlColor};
--gjs-soft-light-color: #{$softLhColor};
--gjs-color-blue: #{$colorBlue};
--gjs-color-red: #{$colorRed};
--gjs-color-yellow: #{$colorYell};
@ -223,6 +224,7 @@ $colorsAll: (one, var(--gjs-primary-color)),
--gjs-font-size: #{$fontSize};
--gjs-placeholder-background-color: #{$placeholderColor};
--gjs-canvas-top: #{$canvasTop};
--gjs-flex-item-gap: 5px;
}
.clear{ clear:both }

Loading…
Cancel
Save