Sha256: 774fd4aa9edac2f8df29ab75d5f9854869544cf93d4ae03652d05b0bd200020e

Contents?: true

Size: 1.77 KB

Versions: 30

Compression:

Stored size: 1.77 KB

Contents

import sizeObserver from "./sizes";

export default function inspector() {
  return {
    width: 0,
    height: 0,
    init() {
      const ro = new ResizeObserver((entries) => {
        const rect = entries[0].contentRect;
        this.width = Math.round(rect.width);
        this.height = Math.round(rect.height);
      });
      ro.observe(this.$el);
      this.width = Math.round(this.$el.clientWidth);
      this.height = Math.round(this.$el.clientHeight);
    },
    get orientation() {
      return this.$store.inspector.drawer.orientation;
    },
    get view() {
      return this.$store.inspector.preview.view;
    },
    get horizontal() {
      return this.canBeVertical ? this.orientation === "horizontal" : true;
    },
    get vertical() {
      return !this.horizontal;
    },
    get canBeVertical() {
      return this.width > 800;
    },
    get drawerHidden() {
      return this.$store.inspector.drawer.hidden;
    },
    get maxDrawerHeight() {
      return Math.round(this.height * 0.7);
    },
    get maxDrawerWidth() {
      return Math.round(this.width * 0.7);
    },
    isActiveDrawerPanel(panel) {
      return this.$store.inspector.drawer.panel === panel;
    },
    switchDrawerPanel(panel) {
      this.$store.inspector.drawer.panel = panel;
    },
    isActivePreviewPanel(panel) {
      return this.$store.inspector.preview.panel === panel;
    },
    switchPreviewPanel(panel) {
      this.$store.inspector.preview.panel = panel;
    },
    toggleOrientation() {
      this.$store.inspector.drawer.orientation =
        this.orientation === "horizontal" ? "vertical" : "horizontal";
    },
    toggleDrawer() {
      this.$store.inspector.drawer.hidden =
        !this.$store.inspector.drawer.hidden;
    },
    preview: {
      width: null,
      height: null,
    },
  };
}

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
lookbook-0.9.8 app/assets/lookbook/js/components/inspector.js
lookbook-0.9.7 app/assets/lookbook/js/components/inspector.js
lookbook-0.9.6 app/assets/lookbook/js/components/inspector.js
lookbook-0.9.5 app/assets/lookbook/js/components/inspector.js
lookbook-0.9.4 app/assets/lookbook/js/components/inspector.js
lookbook-0.9.3 app/assets/lookbook/js/components/inspector.js
lookbook-0.9.2 app/assets/lookbook/js/components/inspector.js
lookbook-0.9.1 app/assets/lookbook/js/components/inspector.js
lookbook-0.9.0 app/assets/lookbook/js/components/inspector.js
lookbook-0.8.3 app/assets/lookbook/js/components/inspector.js
lookbook-0.8.2 app/assets/lookbook/js/components/inspector.js
lookbook-0.8.1 app/assets/lookbook/js/components/inspector.js
lookbook-0.8.0 app/assets/lookbook/js/components/inspector.js
lookbook-0.8.0.beta.0 app/assets/lookbook/js/components/inspector.js
lookbook-0.7.4 app/assets/lookbook/js/components/inspector.js
lookbook-0.7.3 app/assets/lookbook/js/components/inspector.js
lookbook-0.7.2 app/assets/lookbook/js/components/inspector.js
lookbook-0.7.2.beta.5 app/assets/lookbook/js/components/inspector.js
lookbook-0.7.2.beta.4 app/assets/lookbook/js/components/inspector.js
lookbook-0.7.2.beta.3 app/assets/lookbook/js/components/inspector.js