Sha256: 0683af7a2bafa7adfc07e1c73d209737c5dbcb3a3415a1aa2114290107eda0a6

Contents?: true

Size: 774 Bytes

Versions: 24

Compression:

Stored size: 774 Bytes

Contents

import { observeSize } from "@helpers/layout";

export default function dimensionsDisplayComponent(targetSelector) {
  return {
    width: 0,
    height: 0,
    resizing: false,
    target: null,

    init() {
      this.target = document.querySelector(targetSelector);
      if (this.target) {
        this.width = Math.round(this.target.clientWidth);
        this.height = Math.round(this.target.clientHeight);
        this.createObserver();
      }
    },

    createObserver() {
      if (this.target) {
        this.observer = observeSize(this.target, ({ width, height }) => {
          this.width = width;
          this.height = height;
        });
      }
    },

    tearDown() {
      if (this.observer) {
        this.observer.disconnect();
      }
    },
  };
}

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
lookbook-2.0.0.beta.7 app/components/lookbook/dimensions_display/component.js
lookbook-2.0.0.beta.6 app/components/lookbook/dimensions_display/component.js
lookbook-2.0.0.beta.5 app/components/lookbook/dimensions_display/component.js
lookbook-2.0.0.beta.4 app/components/lookbook/dimensions_display/component.js