Sha256: 34409ea8bc4fc724e934a343792413543cf8850c4c4bb4329c2d2738faac6e97

Contents?: true

Size: 1.89 KB

Versions: 2

Compression:

Stored size: 1.89 KB

Contents

import Controller from "@ember/controller";
import { ajax } from "client-app/lib/utilities";
import { observer } from "@ember/object";

export default Controller.extend({
  currentMessage: Em.computed.alias("model.currentMessage"),

  actions: {
    expandMessage(message) {
      message.expand();
    },

    selectMessage(message) {
      const old = this.get("currentMessage");
      if (old) {
        old.set("selected", false);
      }

      message.set("selected", true);
      this.set("currentMessage", message);
    },

    showMoreBefore() {
      this.get("model").showMoreBefore();
    },

    loadMore() {
      return this.get("model").loadMore();
    },

    clear() {
      if (confirm("Clear the logs?\n\nCancel = No, OK = Clear")) {
        ajax("/clear", { type: "POST" }).then(() => {
          this.get("model").reload();
        });
      }
    },

    removeMessage(msg) {
      const messages = this.get("model");
      messages.destroy(msg);
    },

    solveMessage(msg) {
      const messages = this.get("model");
      messages.solve(msg);
    }
  },

  filterChanged: observer(
    "showDebug",
    "showInfo",
    "showWarn",
    "showErr",
    "showFatal",
    function() {
      const filter = [];
      ["Debug", "Info", "Warn", "Err", "Fatal"].forEach((severity, index) => {
        if (this.get(`show${severity}`)) {
          filter.push(index);
        }
      });

      // always show unknown, rare
      filter.push(5);
      const model = this.get("model");
      model.set("filter", filter);
      if (this.get("initialized")) {
        model.reload();
      }
    }
  ),

  searchChanged: observer("search", function() {
    const search = this.get("search");
    const model = this.get("model");
    model.set("search", search);

    if (this.get("initialized")) {
      model.reload();
    }
  })
});

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
logster-1.3.0 client-app/app/controllers/index.js
logster-1.3.pre client-app/app/controllers/index.js