{"version":3,"file":"../../javascript/collapsable_panel.js","names":["CollapsablePanel","$","svgIcon","options","thisCollapsablePanel","this","container","headerPanel","children","openClass","append","click","e","preventDefault","toggle","prototype","setOpen","undefined","hasClass","open","close","addClass","removeClass","name"],"sources":["collapsable_panel.js"],"mappings":"AAAA,IAAIA,iBAAmB,SAAWC,GAC9B,IAAID,EAAkBE,EAmDtB,OAjDAF,EAAmB,SAAUG,GACzB,IAAeC,EAEfA,EAAuBC,KACXA,KAAKC,UAAYL,EAAEE,EAAQG,WAEnCH,EAAQI,YACRF,KAAKE,YAAcN,EAAEE,EAAQI,aAE7BF,KAAKE,YAAcF,KAAKC,UAAUE,SAAS,6BAG/CH,KAAKI,UAAYN,EAAQM,WAAa,yBAGtCJ,KAAKE,YAAYG,OAAOR,EAAQ,eAChCG,KAAKE,YAAYG,OAAOR,EAAQ,iBAEhCG,KAAKE,YAAYI,OAAM,SAAUC,GAC7BA,EAAEC,iBACFT,EAAqBU,QACzB,GACJ,GAEiBC,UAAUD,OAAS,SAAUE,QAC1BC,IAAZD,IACAA,GAAWX,KAAKC,UAAUY,SAASb,KAAKI,YAExCO,EACAX,KAAKc,OAELd,KAAKe,OAEb,EAEApB,EAAiBe,UAAUI,KAAO,WAC9Bd,KAAKC,UAAUe,SAAShB,KAAKI,UACjC,EAEAT,EAAiBe,UAAUK,MAAQ,WAC/Bf,KAAKC,UAAUgB,YAAYjB,KAAKI,UACpC,EAEAP,EAAU,SAAUqB,GAEhB,MADW,oBAAoBA,EAAK,0DAA0DA,EAAK,gBAEvG,EAGOvB,CACV,CArDsB,CAqDpBC","sourceRoot":"../../../../resources/javascript","sourcesContent":["var CollapsablePanel = (function ($) {\n    var CollapsablePanel, svgIcon;\n\n    CollapsablePanel = function (options) {\n        var container, thisCollapsablePanel;\n\n        thisCollapsablePanel = this;\n        container = this.container = $(options.container);\n\n        if (options.headerPanel) {\n            this.headerPanel = $(options.headerPanel);\n        } else {\n            this.headerPanel = this.container.children('.collapsable-panel-header');\n        }\n\n        this.openClass = options.openClass || 'collapsable-panel-open';\n\n        // inject svg icons\n        this.headerPanel.append(svgIcon('chevron-up'));\n        this.headerPanel.append(svgIcon('chevron-down'));\n\n        this.headerPanel.click(function (e) {\n            e.preventDefault();\n            thisCollapsablePanel.toggle();\n        });\n    };\n\n    CollapsablePanel.prototype.toggle = function (setOpen) {\n        if (setOpen === undefined) {\n            setOpen = !this.container.hasClass(this.openClass);\n        }\n        if (setOpen) {\n            this.open();\n        } else {\n            this.close();\n        }\n    };\n\n    CollapsablePanel.prototype.open = function () {\n        this.container.addClass(this.openClass);\n    }\n\n    CollapsablePanel.prototype.close = function () {\n        this.container.removeClass(this.openClass);\n    }\n\n    svgIcon = function (name) {\n        var icon = '<svg class=\"icon-'+name+'\"><use xlink:href=\"/images/symbol/svg-symbols.svg#icon-'+name+'\"></use></svg>';\n        return icon;\n    };\n\n    // \"export\" it\n    return CollapsablePanel\n})($);\n"]}