Blame data/NotificationsApi.js

Packit Service 0246ed
import React from "react";
Packit Service 0246ed
import { FormattedMessage } from "react-intl";
Packit Service 0246ed
Packit Service 0246ed
class NotificationsApi {
Packit Service 0246ed
  constructor() {
Packit Service 0246ed
    this.notifications = [];
Packit Service 0246ed
  }
Packit Service 0246ed
Packit Service 0246ed
  getNotifications() {
Packit Service 0246ed
    return this.notifications;
Packit Service 0246ed
  }
Packit Service 0246ed
Packit Service 0246ed
  displayNotification(blueprint, message) {
Packit Service 0246ed
    const notification = this.notificationMessage(blueprint, message);
Packit Service 0246ed
    this.notifications.push(notification);
Packit Service 0246ed
  }
Packit Service 0246ed
Packit Service 0246ed
  closeNotification(id, label) {
Packit Service 0246ed
    let index = id;
Packit Service 0246ed
    if (index === undefined) {
Packit Service 0246ed
      for (let i = 0; i < this.notifications.length; i += 1) {
Packit Service 0246ed
        if (this.notifications[i].label === label) {
Packit Service 0246ed
          index = i;
Packit Service 0246ed
        }
Packit Service 0246ed
      }
Packit Service 0246ed
    }
Packit Service 0246ed
    if (index !== undefined) {
Packit Service 0246ed
      this.notifications.splice(index, 1);
Packit Service 0246ed
    }
Packit Service 0246ed
  }
Packit Service 0246ed
Packit Service 0246ed
  notificationMessage(blueprint, message) {
Packit Service 0246ed
    let notification = {};
Packit Service 0246ed
    switch (message) {
Packit Service 0246ed
      case "imageWaiting": {
Packit Service 0246ed
        notification = {
Packit Service 0246ed
          id: "imageWaiting",
Packit Service 0246ed
          type: "info",
Packit Service 0246ed
          message: (
Packit Service 0246ed
            
Packit Service 0246ed
              
Packit Service 0246ed
                defaultMessage="{blueprint} Image creation has been added to the {queue}."
Packit Service 0246ed
                values={{
Packit Service 0246ed
                  blueprint: {blueprint}:,
Packit Service 0246ed
                  queue: queue,
Packit Service 0246ed
                }}
Packit Service 0246ed
              />
Packit Service 0246ed
            
Packit Service 0246ed
          ),
Packit Service 0246ed
          dismiss: true,
Packit Service 0246ed
          fade: true,
Packit Service 0246ed
        };
Packit Service 0246ed
        break;
Packit Service 0246ed
      }
Packit Service 0246ed
      case "imageStarted": {
Packit Service 0246ed
        notification = {
Packit Service 0246ed
          id: "imageStarted",
Packit Service 0246ed
          type: "success",
Packit Service 0246ed
          message: (
Packit Service 0246ed
            
Packit Service 0246ed
              
Packit Service 0246ed
                defaultMessage="{blueprint} Image creation has started."
Packit Service 0246ed
                values={{
Packit Service 0246ed
                  blueprint: {blueprint}:,
Packit Service 0246ed
                }}
Packit Service 0246ed
              />
Packit Service 0246ed
            
Packit Service 0246ed
          ),
Packit Service 0246ed
          dismiss: true,
Packit Service 0246ed
          fade: true,
Packit Service 0246ed
        };
Packit Service 0246ed
        break;
Packit Service 0246ed
      }
Packit Service 0246ed
      case "imageCreated": {
Packit Service 0246ed
        notification = {
Packit Service 0246ed
          id: "imageCreated",
Packit Service 0246ed
          type: "success",
Packit Service 0246ed
          message: (
Packit Service 0246ed
            
Packit Service 0246ed
              
Packit Service 0246ed
                defaultMessage="{blueprint} Image creation is complete."
Packit Service 0246ed
                values={{
Packit Service 0246ed
                  blueprint: {blueprint}:,
Packit Service 0246ed
                }}
Packit Service 0246ed
              />
Packit Service 0246ed
            
Packit Service 0246ed
          ),
Packit Service 0246ed
          dismiss: true,
Packit Service 0246ed
          fade: true,
Packit Service 0246ed
        };
Packit Service 0246ed
        break;
Packit Service 0246ed
      }
Packit Service 0246ed
      case "imageFailed": {
Packit Service 0246ed
        notification = {
Packit Service 0246ed
          id: "imageFailed",
Packit Service 0246ed
          type: "error",
Packit Service 0246ed
          message: (
Packit Service 0246ed
            
Packit Service 0246ed
              
Packit Service 0246ed
                defaultMessage="{blueprint} Image creation failed."
Packit Service 0246ed
                values={{
Packit Service 0246ed
                  blueprint: {blueprint}:,
Packit Service 0246ed
                }}
Packit Service 0246ed
              />
Packit Service 0246ed
            
Packit Service 0246ed
          ),
Packit Service 0246ed
          dismiss: true,
Packit Service 0246ed
          fade: true,
Packit Service 0246ed
        };
Packit Service 0246ed
        break;
Packit Service 0246ed
      }
Packit Service 0246ed
      case "committing": {
Packit Service 0246ed
        notification = {
Packit Service 0246ed
          id: "committing",
Packit Service 0246ed
          type: "process",
Packit Service 0246ed
          label: "committing",
Packit Service 0246ed
          message: (
Packit Service 0246ed
            
Packit Service 0246ed
              
Packit Service 0246ed
                defaultMessage="{blueprint} Committing blueprint."
Packit Service 0246ed
                values={{
Packit Service 0246ed
                  blueprint: {blueprint}:,
Packit Service 0246ed
                }}
Packit Service 0246ed
              />
Packit Service 0246ed
            
Packit Service 0246ed
          ),
Packit Service 0246ed
          dismiss: true,
Packit Service 0246ed
        };
Packit Service 0246ed
        break;
Packit Service 0246ed
      }
Packit Service 0246ed
      case "committed": {
Packit Service 0246ed
        notification = {
Packit Service 0246ed
          id: "committed",
Packit Service 0246ed
          type: "success",
Packit Service 0246ed
          label: "committed",
Packit Service 0246ed
          message: (
Packit Service 0246ed
            
Packit Service 0246ed
              
Packit Service 0246ed
                defaultMessage="{blueprint} Blueprint changes are committed."
Packit Service 0246ed
                values={{
Packit Service 0246ed
                  blueprint: {blueprint}:,
Packit Service 0246ed
                }}
Packit Service 0246ed
              />
Packit Service 0246ed
            
Packit Service 0246ed
          ),
Packit Service 0246ed
          dismiss: true,
Packit Service 0246ed
          fade: true,
Packit Service 0246ed
        };
Packit Service 0246ed
        break;
Packit Service 0246ed
      }
Packit Service 0246ed
      case "commitFailed": {
Packit Service 0246ed
        notification = {
Packit Service 0246ed
          id: "commitFailed",
Packit Service 0246ed
          type: "error",
Packit Service 0246ed
          message: (
Packit Service 0246ed
            
Packit Service 0246ed
              
Packit Service 0246ed
                defaultMessage="{blueprint} Commit failed."
Packit Service 0246ed
                values={{
Packit Service 0246ed
                  blueprint: {blueprint}:,
Packit Service 0246ed
                }}
Packit Service 0246ed
              />
Packit Service 0246ed
            
Packit Service 0246ed
          ),
Packit Service 0246ed
          dismiss: true,
Packit Service 0246ed
        };
Packit Service 0246ed
        break;
Packit Service 0246ed
      }
Packit Service 0246ed
      default: {
Packit Service 0246ed
        notification = {};
Packit Service 0246ed
      }
Packit Service 0246ed
    }
Packit Service 0246ed
    return notification;
Packit Service 0246ed
  }
Packit Service 0246ed
}
Packit Service 0246ed
Packit Service 0246ed
export default new NotificationsApi();