Diokuz / baron

Native scroll with custom scrollbar
MIT License
776 stars 124 forks source link

Как поменять настройки по умолчанию? #173

Closed nicothin closed 6 years ago

nicothin commented 6 years ago

Использую несколько вызовов:

baron({
    root: '.baron--block-demo',
    scroller: '.baron__scroller',
    bar: '.baron__bar',
    scrollingCls: 'baron--scrolling',
    draggingCls: 'baron--dragging',
    barOnCls: 'baron--scrollbar',
  });
baron({
    root: '.promo__demo',
    scroller: '.baron__scroller',
    bar: '.baron__bar',
    scrollingCls: 'baron--scrolling',
    draggingCls: 'baron--dragging',
    barOnCls: 'baron--scrollbar',
  });
...

В них отличаются только строки с root Можно ли как-то задать прочие настройки один раз, чтобы не дублировать их, но иметь возможность поменять для какого-то конкретного селектора, если понадобится?

rustam87 commented 6 years ago

А что мешает в цикле прокрутить инициализацию где в root добавить переменную. А если нужно каждый кастомно, то добавить data-атрибуты к каждому блоку и брать у блоков эти атрибуты при инициализации

Diokuz commented 6 years ago

Дефолтные настройки добавляют сложности использования, поэтому в библиотеку я такой механизм добавлять не хочу. Как вариант, можно сделать обёртку над бароном, которая будет вызывать барон с дефолтными параметрами:

function baronWrapper(params) {
  return baron({ ...defaultParams, ...params })
}