Sha256: 0473be9afe1dcd3f9420aa2b038ab90472a5aafb0beb5f862c80bf7269e10bcd

Contents?: true

Size: 837 Bytes

Versions: 44

Compression:

Stored size: 837 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(
          document.querySelector(targetSelector),
          ({ width, height }) => {
            this.width = width;
            this.height = height;
          }
        );
      }
    },

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

Version data entries

44 entries across 44 versions & 1 rubygems

Version Path
lookbook-1.5.5 app/components/lookbook/dimensions_display/component.js
lookbook-1.5.4 app/components/lookbook/dimensions_display/component.js
lookbook-2.0.0.beta.3 app/components/lookbook/dimensions_display/component.js
lookbook-2.0.0.beta.2 app/components/lookbook/dimensions_display/component.js
lookbook-1.5.3 app/components/lookbook/dimensions_display/component.js
lookbook-2.0.0.beta.1 app/components/lookbook/dimensions_display/component.js
lookbook-1.5.2 app/components/lookbook/dimensions_display/component.js
lookbook-2.0.0.beta.0 app/components/lookbook/dimensions_display/component.js
lookbook-1.5.1 app/components/lookbook/dimensions_display/component.js
lookbook-1.5.0 app/components/lookbook/dimensions_display/component.js
lookbook-1.4.5 app/components/lookbook/dimensions_display/component.js
lookbook-1.4.4 app/components/lookbook/dimensions_display/component.js
lookbook-1.4.3 app/components/lookbook/dimensions_display/component.js
lookbook-1.4.2 app/components/lookbook/dimensions_display/component.js
lookbook-1.4.1 app/components/lookbook/dimensions_display/component.js
lookbook-1.4.0 app/components/lookbook/dimensions_display/component.js
lookbook-1.3.4 app/components/lookbook/dimensions_display/component.js
lookbook-1.3.3 app/components/lookbook/dimensions_display/component.js
lookbook-1.3.1 app/components/lookbook/dimensions_display/component.js
lookbook-1.3.0 app/components/lookbook/dimensions_display/component.js