Sha256: c961a2f1c9c06e32b6626df0488ada2c72df891d658541c2e39cda87f73a4f8e

Contents?: true

Size: 1.14 KB

Versions: 15

Compression:

Stored size: 1.14 KB

Contents

import classic from "ember-classic-decorator";
import { classNameBindings, tagName } from "@ember-decorators/component";
import Component from "@ember/component";

let CHECKED_BOTTOM;
let STICK_TO_BOTTOM;

@classic
@tagName("div")
@classNameBindings("model.rowClass", ":message-row", "model.selected:selected")
export default class MessageRow extends Component {
  willInsertElement() {
    super.willInsertElement(...arguments);
    if (CHECKED_BOTTOM) {
      return;
    }

    const topPanel = document.getElementById("top-panel");
    if (!topPanel) {
      return;
    }

    const height = parseFloat(getComputedStyle(topPanel).height);
    STICK_TO_BOTTOM = topPanel.scrollHeight - 20 < height + topPanel.scrollTop;
    CHECKED_BOTTOM = true;
  }

  didInsertElement() {
    super.didInsertElement(...arguments);
    const topPanel = document.getElementById("top-panel");
    if (!topPanel) {
      return;
    }

    CHECKED_BOTTOM = false;
    if (STICK_TO_BOTTOM) {
      STICK_TO_BOTTOM = false;
      topPanel.scrollTop =
        topPanel.scrollHeight - parseFloat(getComputedStyle(topPanel).height);
    }
  }

  click() {
    this.selectRow();
  }
}

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
logster-2.20.1 client-app/app/components/message-row.js
logster-2.20.0 client-app/app/components/message-row.js
logster-2.19.1 client-app/app/components/message-row.js
logster-2.19.0 client-app/app/components/message-row.js
logster-2.18.1 client-app/app/components/message-row.js
logster-2.18.0 client-app/app/components/message-row.js
logster-2.17.1 client-app/app/components/message-row.js
logster-2.17.0 client-app/app/components/message-row.js
logster-2.16.0 client-app/app/components/message-row.js
logster-2.15.0 client-app/app/components/message-row.js
logster-2.14.0 client-app/app/components/message-row.js
logster-2.13.1 client-app/app/components/message-row.js
logster-2.13.0 client-app/app/components/message-row.js
logster-2.12.2 client-app/app/components/message-row.js
logster-2.12.1 client-app/app/components/message-row.js