установить параметры toastr глобально с помощью javascript

У меня есть набор скриптов, которые используют toastr. Они выглядят примерно так:

import $ from 'jquery';
import toastr from 'toastr';
import list from './data/address';
import { selectedApp, validate, getCookie, setCookie } from './common';

$(document).ready(function () {
    toastr.options = {
        'closeButton': true,
        'debug': true,
        'newestOnTop': false,
        'progressBar': true,
        'positionClass': 'toast-top-full-width',
        'preventDuplicates': false,
        'onclick': null,
        'showDuration': '6000',
        'hideDuration': '1000',
        'timeOut': '50000',
        'extendedTimeOut': '1000',
        'showEasing': 'swing',
        'hideEasing': 'linear',
        'showMethod': 'fadeIn',
        'hideMethod': 'fadeOut'
    };

    // ---  Application code --- //
});

У меня есть несколько скриптов, и все они имеют toastr.options наверху. Есть ли способ (возможно, с помощью импорта), который позволит мне установить параметры toastr глобально?


person r3plica    schedule 10.09.2019    source источник
comment
Вы можете использовать экспорт по умолчанию в отдельном js и импортировать его или использовать объект окна для глобальной установки этого объекта.   -  person XPD    schedule 10.09.2019
comment
Можете ли вы привести пример, пожалуйста?   -  person r3plica    schedule 10.09.2019


Ответы (1)


Если вы хотите использовать модули es6, вы можете создать отдельную конфигурацию toastr. Например,

import toastr from "toastr";

toastr.options = {
  closeButton: true,
  debug: true,
  newestOnTop: false,
  progressBar: true,
  positionClass: "toast-top-full-width",
  preventDuplicates: false,
  onclick: null,
  showDuration: "6000",
  hideDuration: "1000",
  timeOut: "50000",
  extendedTimeOut: "1000",
  showEasing: "swing",
  hideEasing: "linear",
  showMethod: "fadeIn",
  hideMethod: "fadeOut"
};

export default toastr;

Затем просто импортируйте этот файл вверху вместо toastr, так как это настраивает toastr и экспортирует настроенный toastr. В качестве

import toastr from './PathToAboveFile';

Или, если вы хотите использовать глобальную конфигурацию в стиле es5,

window.toastrOptions = {...}

в отдельном js-файле и ссылку на каждой html-странице. Затем в функции $(document).ready вы можете установить его.

toastr.options = window.toastrOptions;

Поскольку теперь параметры тоастра находятся в отдельном файле, его можно настроить централизованно.

person XPD    schedule 10.09.2019