/*
 * Copyright (C) 2021 Robert Bosch GmbH Copyright (C) 2021 Robert Bosch Manufacturing Solutions GmbH, Germany. All rights reserved.
 */

import { Injectable } from '@angular/core';
import { Subject } from 'rxjs';

@Injectable()
export class BciMultiFileSelectIntl {
  /**
   * The tooltip to be displayed if the parameter 'maximumFiles' has been reached
   */
  addButtonDisabledTooltip?: string;

  /**
   * The file counter label for one item (one)
   */
  item: string;

  /**
   * The file counter label for items (multiple)
   */
  items: string;

  /**
   * The label to be displayed next to the add-button
   */
  addButtonLabel: string;

  /**
   * The text to be displayed if no file has been uploaded yet
   */
  noFilesAddedMessage: string;

  /**
   * The description to be displayed between the label and the files overview
   */
  description?: string;

  /**
   * The file name label displayed on top of the filename
   */
  fileNameLabel: string;

  /**
   * The file type label displayed on top of the file type
   */
  fileTypeLabel: string;

  /**
   * The file size label displayed on top of the file size
   */
  fileSizeLabel: string;

  /** Use this to notify the component on labels that have changed since initialization. */
  readonly changes = new Subject();
}

export const BCI_MULTI_FILE_SELECT_INTL_PROVIDER = {
  provide: BciMultiFileSelectIntl,
  useClass: BciMultiFileSelectIntl,
};
