{"version":3,"sources":["https:\/\/avenue.ca\/classroom\/theme\/boost\/amd\/src\/bootstrap\/scrollspy.js"],"names":["DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","$","fn","Default","offset","method","target","DefaultType","EVENT_ACTIVATE","EVENT_SCROLL","EVENT_LOAD_DATA_API","CLASS_NAME_ACTIVE","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_LIST_ITEMS","METHOD_POSITION","ScrollSpy","element","config","_element","_scrollElement","tagName","window","_config","_getConfig","_selector","_offsets","_targets","_activeTarget","_scrollHeight","on","event","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targets","slice","call","document","querySelectorAll","map","targetSelector","Util","getSelectorFromElement","querySelector","targetBCR","getBoundingClientRect","width","height","top","filter","item","sort","a","b","forEach","push","removeData","off","isElement","id","attr","getUID","typeCheckConfig","pageYOffset","scrollTop","scrollHeight","Math","max","body","documentElement","innerHeight","maxScroll","_getOffsetHeight","length","_activate","_clear","i","isActiveTarget","queries","split","selector","$link","join","hasClass","closest","find","addClass","parents","prev","children","trigger","relatedTarget","node","classList","contains","remove","each","data","TypeError","scrollSpys","scrollSpysLength","$spy","_jQueryInterface","Constructor","noConflict"],"mappings":"uKAOA,OACA,O,60CAUMA,CAAAA,CAAQ,CAAa,c,CACrBC,CAAS,YAAgBD,CAAhB,C,CAETE,CAAkB,CAAGC,UAAEC,EAAF,U,CAErBC,CAAO,CAAG,CACdC,MAAM,CAAG,EADK,CAEdC,MAAM,CAAG,MAFK,CAGdC,MAAM,CAAG,EAHK,C,CAMVC,CAAW,CAAG,CAClBH,MAAM,CAAG,QADS,CAElBC,MAAM,CAAG,QAFS,CAGlBC,MAAM,CAAG,kBAHS,C,CAMdE,CAAc,mBAAmBT,CAAnB,C,CACdU,CAAY,iBAAmBV,CAAnB,C,CACZW,CAAmB,eAAUX,CAAV,SAjBE,WAiBF,C,CAGnBY,CAAiB,CAAU,Q,CAG3BC,CAAuB,CAAI,mB,CAC3BC,CAAkB,CAAS,W,CAE3BC,CAAmB,CAAQ,kB,CAM3BC,CAAe,CAAG,U,CAQlBC,C,YACJ,WAAYC,CAAZ,CAAqBC,CAArB,CAA6B,sBAC3B,KAAKC,QAAL,CAAsBF,CAAtB,CACA,KAAKG,cAAL,CAA0C,MAApB,GAAAH,CAAO,CAACI,OAAR,CAA6BC,MAA7B,CAAsCL,CAA5D,CACA,KAAKM,OAAL,CAAsB,KAAKC,UAAL,CAAgBN,CAAhB,CAAtB,CACA,KAAKO,SAAL,CAAsB,UAAG,KAAKF,OAAL,CAAajB,MAAhB,aAA0BO,CAA1B,gBACG,KAAKU,OAAL,CAAajB,MADhB,aAC0BQ,CAD1B,gBAEG,KAAKS,OAAL,CAAajB,MAFhB,aAjBO,gBAiBP,CAAtB,CAGA,KAAKoB,QAAL,CAAsB,EAAtB,CACA,KAAKC,QAAL,CAAsB,EAAtB,CACA,KAAKC,aAAL,CAAsB,IAAtB,CACA,KAAKC,aAAL,CAAsB,CAAtB,CAEA,cAAE,KAAKT,cAAP,EAAuBU,EAAvB,CAA0BrB,CAA1B,CAAwC,SAACsB,CAAD,QAAW,CAAA,CAAI,CAACC,QAAL,CAAcD,CAAd,CAAX,CAAxC,EAEA,KAAKE,OAAL,GACA,KAAKD,QAAL,EACD,C,4CAcS,YACFE,CAAU,CAAG,KAAKd,cAAL,GAAwB,KAAKA,cAAL,CAAoBE,MAA5C,CAzCC,QAyCD,CACCP,CAFZ,CAIFoB,CAAY,CAA2B,MAAxB,QAAKZ,OAAL,CAAalB,MAAb,CACjB6B,CADiB,CACJ,KAAKX,OAAL,CAAalB,MALtB,CAOF+B,CAAU,CAAGD,CAAY,GAAKpB,CAAjB,CACf,KAAKsB,aAAL,EADe,CACQ,CARnB,CAUR,KAAKX,QAAL,CAAgB,EAAhB,CACA,KAAKC,QAAL,CAAgB,EAAhB,CAEA,KAAKE,aAAL,CAAqB,KAAKS,gBAAL,EAArB,CAEA,GAAMC,CAAAA,CAAO,CAAG,GAAGC,KAAH,CAASC,IAAT,CAAcC,QAAQ,CAACC,gBAAT,CAA0B,KAAKlB,SAA\/B,CAAd,CAAhB,CAEAc,CAAO,CACJK,GADH,CACO,SAAC3B,CAAD,CAAa,IACZX,CAAAA,CADY,CAEVuC,CAAc,CAAGC,UAAKC,sBAAL,CAA4B9B,CAA5B,CAFP,CAIhB,GAAI4B,CAAJ,CAAoB,CAClBvC,CAAM,CAAGoC,QAAQ,CAACM,aAAT,CAAuBH,CAAvB,CACV,CAED,GAAIvC,CAAJ,CAAY,CACV,GAAM2C,CAAAA,CAAS,CAAG3C,CAAM,CAAC4C,qBAAP,EAAlB,CACA,GAAID,CAAS,CAACE,KAAV,EAAmBF,CAAS,CAACG,MAAjC,CAAyC,CAEvC,MAAO,CACL,cAAE9C,CAAF,EAAU6B,CAAV,IAA0BkB,GAA1B,CAAgCjB,CAD3B,CAELS,CAFK,CAIR,CACF,CACD,MAAO,KACR,CApBH,EAqBGS,MArBH,CAqBU,SAACC,CAAD,QAAUA,CAAAA,CAAV,CArBV,EAsBGC,IAtBH,CAsBQ,SAACC,CAAD,CAAIC,CAAJ,QAAUD,CAAAA,CAAC,CAAC,CAAD,CAAD,CAAOC,CAAC,CAAC,CAAD,CAAlB,CAtBR,EAuBGC,OAvBH,CAuBW,SAACJ,CAAD,CAAU,CACjB,CAAI,CAAC7B,QAAL,CAAckC,IAAd,CAAmBL,CAAI,CAAC,CAAD,CAAvB,EACA,CAAI,CAAC5B,QAAL,CAAciC,IAAd,CAAmBL,CAAI,CAAC,CAAD,CAAvB,CACD,CA1BH,CA2BD,C,yCAES,CACRtD,UAAE4D,UAAF,CAAa,KAAK1C,QAAlB,CAA4BrB,CAA5B,EACA,cAAE,KAAKsB,cAAP,EAAuB0C,GAAvB,CAA2B\/D,CAA3B,EAEA,KAAKoB,QAAL,CAAsB,IAAtB,CACA,KAAKC,cAAL,CAAsB,IAAtB,CACA,KAAKG,OAAL,CAAsB,IAAtB,CACA,KAAKE,SAAL,CAAsB,IAAtB,CACA,KAAKC,QAAL,CAAsB,IAAtB,CACA,KAAKC,QAAL,CAAsB,IAAtB,CACA,KAAKC,aAAL,CAAsB,IAAtB,CACA,KAAKC,aAAL,CAAsB,IACvB,C,8CAIUX,C,CAAQ,CACjBA,CAAM,MACDf,CADC,IAEiB,QAAlB,KAAOe,CAAP,GAA8BA,CAA9B,CAAuCA,CAAvC,CAAgD,EAF\/C,CAAN,CAKA,GAA6B,QAAzB,QAAOA,CAAAA,CAAM,CAACZ,MAAd,EAAqCwC,UAAKiB,SAAL,CAAe7C,CAAM,CAACZ,MAAtB,CAAzC,CAAwE,CACtE,GAAI0D,CAAAA,CAAE,CAAG,cAAE9C,CAAM,CAACZ,MAAT,EAAiB2D,IAAjB,CAAsB,IAAtB,CAAT,CACA,GAAI,CAACD,CAAL,CAAS,CACPA,CAAE,CAAGlB,UAAKoB,MAAL,aAAL,CACA,cAAEhD,CAAM,CAACZ,MAAT,EAAiB2D,IAAjB,CAAsB,IAAtB,CAA4BD,CAA5B,CACD,CACD9C,CAAM,CAACZ,MAAP,YAAoB0D,CAApB,CACD,CAEDlB,UAAKqB,eAAL,aAA2BjD,CAA3B,CAAmCX,CAAnC,EAEA,MAAOW,CAAAA,CACR,C,qDAEe,CACd,MAAO,MAAKE,cAAL,GAAwBE,MAAxB,CACH,KAAKF,cAAL,CAAoBgD,WADjB,CAC+B,KAAKhD,cAAL,CAAoBiD,SAC3D,C,2DAEkB,CACjB,MAAO,MAAKjD,cAAL,CAAoBkD,YAApB,EAAoCC,IAAI,CAACC,GAAL,CACzC9B,QAAQ,CAAC+B,IAAT,CAAcH,YAD2B,CAEzC5B,QAAQ,CAACgC,eAAT,CAAyBJ,YAFgB,CAI5C,C,2DAEkB,CACjB,MAAO,MAAKlD,cAAL,GAAwBE,MAAxB,CACHA,MAAM,CAACqD,WADJ,CACkB,KAAKvD,cAAL,CAAoB8B,qBAApB,GAA4CE,MACtE,C,2CAEU,IACHiB,CAAAA,CAAS,CAAM,KAAKhC,aAAL,GAAuB,KAAKd,OAAL,CAAanB,MADhD,CAEHkE,CAAY,CAAG,KAAKhC,gBAAL,EAFZ,CAGHsC,CAAS,CAAM,KAAKrD,OAAL,CAAanB,MAAb,CAAsBkE,CAAtB,CAAqC,KAAKO,gBAAL,EAHjD,CAKT,GAAI,KAAKhD,aAAL,GAAuByC,CAA3B,CAAyC,CACvC,KAAKrC,OAAL,EACD,CAED,GAAIoC,CAAS,EAAIO,CAAjB,CAA4B,CAC1B,GAAMtE,CAAAA,CAAM,CAAG,KAAKqB,QAAL,CAAc,KAAKA,QAAL,CAAcmD,MAAd,CAAuB,CAArC,CAAf,CAEA,GAAI,KAAKlD,aAAL,GAAuBtB,CAA3B,CAAmC,CACjC,KAAKyE,SAAL,CAAezE,CAAf,CACD,CACD,MACD,CAED,GAAI,KAAKsB,aAAL,EAAsByC,CAAS,CAAG,KAAK3C,QAAL,CAAc,CAAd,CAAlC,EAAyE,CAAnB,MAAKA,QAAL,CAAc,CAAd,CAA1D,CAAgF,CAC9E,KAAKE,aAAL,CAAqB,IAArB,CACA,KAAKoD,MAAL,GACA,MACD,CAED,IAAK,GAAIC,CAAAA,CAAC,CAAG,KAAKvD,QAAL,CAAcoD,MAAtB,CACGI,CADR,CAAmCD,CAAC,EAApC,EAAyC,CACjCC,CADiC,CAChB,KAAKtD,aAAL,GAAuB,KAAKD,QAAL,CAAcsD,CAAd,CAAvB,EACnBZ,CAAS,EAAI,KAAK3C,QAAL,CAAcuD,CAAd,CADM,GAEc,WAAhC,QAAO,MAAKvD,QAAL,CAAcuD,CAAC,CAAG,CAAlB,CAAP,EACGZ,CAAS,CAAG,KAAK3C,QAAL,CAAcuD,CAAC,CAAG,CAAlB,CAHG,CADgB,CAMvC,GAAIC,CAAJ,CAAoB,CAClB,KAAKH,SAAL,CAAe,KAAKpD,QAAL,CAAcsD,CAAd,CAAf,CACD,CACF,CACF,C,4CAES3E,C,CAAQ,CAChB,KAAKsB,aAAL,CAAqBtB,CAArB,CAEA,KAAK0E,MAAL,GAHgB,GAKVG,CAAAA,CAAO,CAAG,KAAK1D,SAAL,CACb2D,KADa,CACP,GADO,EAEbxC,GAFa,CAET,SAACyC,CAAD,kBAAiBA,CAAjB,2BAA0C\/E,CAA1C,gBAAsD+E,CAAtD,oBAAwE\/E,CAAxE,QAFS,CALA,CASVgF,CAAK,CAAG,cAAE,GAAG9C,KAAH,CAASC,IAAT,CAAcC,QAAQ,CAACC,gBAAT,CAA0BwC,CAAO,CAACI,IAAR,CAAa,GAAb,CAA1B,CAAd,CAAF,CATE,CAWhB,GAAID,CAAK,CAACE,QAAN,CAtMyB,eAsMzB,CAAJ,CAA8C,CAC5CF,CAAK,CAACG,OAAN,CA\/L2B,WA+L3B,EACGC,IADH,CA7L2B,kBA6L3B,EAEGC,QAFH,CAEYhF,CAFZ,EAGA2E,CAAK,CAACK,QAAN,CAAehF,CAAf,CACD,CALD,IAKO,CAEL2E,CAAK,CAACK,QAAN,CAAehF,CAAf,EAGA2E,CAAK,CAACM,OAAN,CAAchF,CAAd,EACGiF,IADH,WACWhF,CADX,cACkCC,CADlC,GAEG6E,QAFH,CAEYhF,CAFZ,EAIA2E,CAAK,CAACM,OAAN,CAAchF,CAAd,EACGiF,IADH,CA9M2B,WA8M3B,EAEGC,QAFH,CAEYjF,CAFZ,EAGG8E,QAHH,CAGYhF,CAHZ,CAID,CAED,cAAE,KAAKS,cAAP,EAAuB2E,OAAvB,CAA+BvF,CAA\/B,CAA+C,CAC7CwF,aAAa,CAAE1F,CAD8B,CAA\/C,CAGD,C,uCAEQ,CACP,GAAGkC,KAAH,CAASC,IAAT,CAAcC,QAAQ,CAACC,gBAAT,CAA0B,KAAKlB,SAA\/B,CAAd,EACG6B,MADH,CACU,SAAC2C,CAAD,QAAUA,CAAAA,CAAI,CAACC,SAAL,CAAeC,QAAf,CAAwBxF,CAAxB,CAAV,CADV,EAEGgD,OAFH,CAEW,SAACsC,CAAD,QAAUA,CAAAA,CAAI,CAACC,SAAL,CAAeE,MAAf,CAAsBzF,CAAtB,CAAV,CAFX,CAGD,C,4DAIuBO,C,CAAQ,CAC9B,MAAO,MAAKmF,IAAL,CAAU,UAAY,IACvBC,CAAAA,CAAI,CAAG,cAAE,IAAF,EAAQA,IAAR,CAAaxG,CAAb,CADgB,CAErByB,CAAO,CAAqB,QAAlB,KAAOL,CAAP,GAA8BA,CAFnB,CAI3B,GAAI,CAACoF,CAAL,CAAW,CACTA,CAAI,CAAG,GAAItF,CAAAA,CAAJ,CAAc,IAAd,CAAoBO,CAApB,CAAP,CACA,cAAE,IAAF,EAAQ+E,IAAR,CAAaxG,CAAb,CAAuBwG,CAAvB,CACD,CAED,GAAsB,QAAlB,QAAOpF,CAAAA,CAAX,CAAgC,CAC9B,GAA4B,WAAxB,QAAOoF,CAAAA,CAAI,CAACpF,CAAD,CAAf,CAAyC,CACvC,KAAM,IAAIqF,CAAAA,SAAJ,6BAAkCrF,CAAlC,OACP,CACDoF,CAAI,CAACpF,CAAD,CAAJ,EACD,CACF,CAfM,CAgBR,C,mCA9MoB,CACnB,MAjEuB,OAkExB,C,mCAEoB,CACnB,MAAOf,CAAAA,CACR,C,gBAiNH,cAAEmB,MAAF,EAAUQ,EAAV,CAAapB,CAAb,CAAkC,UAAM,CAItC,OAHM8F,CAAAA,CAAU,CAAG,GAAGhE,KAAH,CAASC,IAAT,CAAcC,QAAQ,CAACC,gBAAT,CA\/PF,uBA+PE,CAAd,CAGnB,CAFM8D,CAAgB,CAAGD,CAAU,CAAC1B,MAEpC,CAASG,CAAC,CAAGwB,CAAb,CACQC,CADR,CAA+BzB,CAAC,EAAhC,EAAqC,CAC7ByB,CAD6B,CACtB,cAAEF,CAAU,CAACvB,CAAD,CAAZ,CADsB,CAEnCjE,CAAS,CAAC2F,gBAAV,CAA2BlE,IAA3B,CAAgCiE,CAAhC,CAAsCA,CAAI,CAACJ,IAAL,EAAtC,CACD,CACF,CARD,EAgBArG,UAAEC,EAAF,WAAac,CAAS,CAAC2F,gBAAvB,CACA1G,UAAEC,EAAF,WAAW0G,WAAX,CAAyB5F,CAAzB,CACAf,UAAEC,EAAF,WAAW2G,UAAX,CAAwB,UAAM,CAC5B5G,UAAEC,EAAF,WAAaF,CAAb,CACA,MAAOgB,CAAAA,CAAS,CAAC2F,gBAClB,CAHD,C,UAKe3F,C","sourcesContent":["\/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): scrollspy.js\n * Licensed under MIT (https:\/\/github.com\/twbs\/bootstrap\/blob\/master\/LICENSE)\n * --------------------------------------------------------------------------\n *\/\n\nimport $ from 'jquery'\nimport Util from '.\/util'\n\n\/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n *\/\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.5.0'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n offset : 10,\n method : 'auto',\n target : ''\n}\n\nconst DefaultType = {\n offset : 'number',\n method : 'string',\n target : '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_ITEMS = '.dropdown-item'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n\/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n *\/\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS},` +\n `${this._config.target} ${SELECTOR_LIST_ITEMS},` +\n `${this._config.target} ${SELECTOR_DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(EVENT_SCROLL, (event) => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n \/\/ Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n \/\/ Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window\n ? METHOD_OFFSET : METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto'\n ? autoMethod : this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION\n ? this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map((element) => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n \/\/ TODO (fat): remove sketch reliance on jQuery position\/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n return null\n })\n .filter((item) => item)\n .sort((a, b) => a[0] - b[0])\n .forEach((item) => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n \/\/ Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.target !== 'string' && Util.isElement(config.target)) {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window\n ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window\n ? window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector\n .split(',')\n .map((selector) => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n if ($link.hasClass(CLASS_NAME_DROPDOWN_ITEM)) {\n $link.closest(SELECTOR_DROPDOWN)\n .find(SELECTOR_DROPDOWN_TOGGLE)\n .addClass(CLASS_NAME_ACTIVE)\n $link.addClass(CLASS_NAME_ACTIVE)\n } else {\n \/\/ Set triggered link as active\n $link.addClass(CLASS_NAME_ACTIVE)\n \/\/ Set triggered links parents as active\n \/\/ With both