All files / src/store/alert operations.ts

100% Statements 8/8
100% Branches 6/6
100% Functions 8/8
100% Lines 8/8

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71                                          5x         31x       3x                       3x         19x         61x                   66x             1x  
/*
 * Copyright 2019 Red Hat, Inc. and/or its affiliates.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import { ServerSideExceptionInfo, BasicObject } from 'types';
import * as actions from './actions';
import { AlertInfo, AddAlertAction, RemoveAlertAction, AlertComponent } from './types';
 
export function showInfoMessage(i18nKey: string, params?: BasicObject, components?: AlertComponent[],
  componentProps?: BasicObject[]): AddAlertAction {
  return showMessage("info", i18nKey, params, components, componentProps);
}
 
export function showSuccessMessage(i18nKey: string, params?: BasicObject, components?: AlertComponent[],
  componentProps?: BasicObject[]): AddAlertAction {
  return showMessage("success", i18nKey, params, components, componentProps);
}
 
export function showServerError(exceptionInfo: ServerSideExceptionInfo & BasicObject): AddAlertAction {
  return addAlert({
    i18nKey: "exception",
    variant: "danger",
    params: {
      message: exceptionInfo.exceptionMessage,
    },
    components: [AlertComponent.SERVER_SIDE_EXCEPTION_DIALOG],
    componentProps: [exceptionInfo]
  });
}
 
export function showServerErrorMessage(message: string): AddAlertAction {
  return showErrorMessage("generic", { message: message });
}
 
export function showErrorMessage(i18nKey: string, params?: BasicObject, components?: AlertComponent[],
  componentProps?: BasicObject[]): AddAlertAction {
  return showMessage("danger", i18nKey, params, components, componentProps);
}
 
export function showMessage(variant: "success" | "danger" | "warning" | "info", i18nKey: string,
  params?: BasicObject, components?: AlertComponent[], componentProps?: BasicObject[]): AddAlertAction {
  return addAlert({
    i18nKey: i18nKey,
    variant: variant,
    params: params? params: {},
    components: components? components : [],
    componentProps: componentProps? componentProps : []
  });
}
 
export function addAlert(alert: AlertInfo): AddAlertAction {
  return actions.addAlert({
    ...alert,
    createdAt: new Date()
  });
}
 
export function removeAlert(alert: AlertInfo): RemoveAlertAction {
  return actions.removeAlert(alert.id as number);
}