diff --git a/src/config-builder.js b/src/config-builder.js index 7da9e30b..3bbe101b 100644 --- a/src/config-builder.js +++ b/src/config-builder.js @@ -4,6 +4,7 @@ export class ConfigBuilder { useGlobalResources: boolean = true; + useScrollfirePatch: boolean = false; globalResources = []; useAll(): ConfigBuilder { @@ -261,4 +262,9 @@ export class ConfigBuilder { this.useGlobalResources = false; return this; } + + withScrollfirePatch(): ConfigBuilder { + this.useScrollfirePatch = true; + return this; + } } diff --git a/src/index.js b/src/index.js index fc00592a..919cb36a 100644 --- a/src/index.js +++ b/src/index.js @@ -1,5 +1,6 @@ import 'materialize'; import {ConfigBuilder} from './config-builder'; +import {ScrollfirePatch} from './scrollfire/scrollfire-patch'; export function configure(aurelia, configCallback) { let builder = new ConfigBuilder(); @@ -11,6 +12,9 @@ export function configure(aurelia, configCallback) { if (builder.useGlobalResources) { aurelia.globalResources(builder.globalResources); } + if (builder.useScrollfirePatch) { + new ScrollfirePatch().patch(); + } } // build-index-remove start diff --git a/src/scrollfire/scrollfire-patch.js b/src/scrollfire/scrollfire-patch.js index 7949622e..714cd935 100644 --- a/src/scrollfire/scrollfire-patch.js +++ b/src/scrollfire/scrollfire-patch.js @@ -1,10 +1,10 @@ /* eslint no-new-func:0 */ export class ScrollfirePatch { - patched = false; + static patched = false; patch() { - if (!this.patched) { - this.patched = true; + if (!ScrollfirePatch.patched) { + ScrollfirePatch.patched = true; window.Materialize.scrollFire = function(options) { let didScroll = false; diff --git a/src/scrollfire/scrollfire.js b/src/scrollfire/scrollfire.js index dc7496f3..c19ecf82 100644 --- a/src/scrollfire/scrollfire.js +++ b/src/scrollfire/scrollfire.js @@ -1,14 +1,12 @@ import { customAttribute } from 'aurelia-templating'; import { inject } from 'aurelia-dependency-injection'; import { getLogger } from 'aurelia-logging'; -import { ScrollfirePatch } from './scrollfire-patch'; @customAttribute('md-scrollfire') -@inject(Element, ScrollfirePatch) +@inject(Element) export class MdScrollfire { targetId = 0; - constructor(element, scrollfirePatch) { - scrollfirePatch.patch(); + constructor(element) { this.element = element; this.log = getLogger('md-scrollfire'); }