{“version”:3,“sources”:,“names”:[],“mappings”:“qBASM,OAAA,uCAEA,YAAe,gCAGjB,UAAI,cACF,gBAAW,qCAGX,eAAK,uDA2ED,yBAAI,EAAA,EAAA,EAAA,EAA0B,OAAS,IACrC,EAAA,EAAwB,kBAMxB,EAAc,KAAK,EAAS,SAAA,SAChC,EAAO,GAAY,EAAQ,SAAA,OAAgB,WAKvC,GAAW,MACb,GAAc,EAAA,SAAe,sCAIjC,QAAS,GAAa,GACpB,GAAI,GAAM,EAAA,SAAS,QAAe,QAAA,WAEhC,EAAK,SAAS,QAAQ,OAAO,EAAG,WAI3B,GAAS,4DAMG,KAAlB,EAAO,SAAA,QAAW,QAAA,IACjB,EAAA,SAAY,QAAA,KAAA,yCAnGhB,QAAK,SAAA,YAAuB,iBAAA,cAAA,iBAAA,iBAAA,SAAA,iEAK5B,EAAK,sCAIL,EAAK,gBAAA,SAAoB,GACvB,EAAI,SAAQ,KAAK,MAEjB,gBAAqB,SAAO,8IAU1B,GAAA,EAAe,SAAA,QAAA,oDAOf,EAAA,QAMJ,EAAK,qBAAoB,QAAA,SAAa,GACpC,SAKE,SAAS,QAAS,EAAA,SAAe,mBAAS,gBACrC,EAAA,WAAA,SAAA,GACL,QAAA,QAAa,sCAGV,EAAA,SAAA,qCAOH,qBAAsB,QAAA,SAAe,sCAMvC,MAAI,GAAA,SAAgB,cAAc,EAAA,SAAA,QACD,IAAjC,EAAI,SAAW,QAAI,OAAc,EAAQ,SAAK,QAAA,GAAA,kCAiDlD,OAFD,GAAU,SAAA,iBAEL,eAKI,cAAS,UAAgB,WAAS,YAAO,SAAa,EAAA,EAAA,GAEtD,EAAc,yBAGf,WAAa,+FAIZ,GAAY,EAAc,gBAMd,qBAAqB,KAAA,mDAK5B,YAAA,KAAA,SAAA,2BAKG,WAAc,yCAKX,QAAA,wBAIX,EAAO,WAAA,EAAA,yDAiBP,mBAAiB,2BAGb,YAAK,sCAGb,OAAe,EAAA,WAIb,KAAA,cAAe,YAGjB,EAAW,gBAAoB,KAG7B,IAAM,WAAA,yJAeJ,oBAAc,WAAY,SAAA,gHA4BnB,EAAkB,iBACzB,EAAS,qDAGX,EAAS,YAGX,IAAe,IACb,EAAA,2CA7BF,GACE,IADgB,EAAS,GACR,EAAA,iDAOnB,EAAU,SAAA,EAAuB,SAAA,WAIjC,EAAS,gBAAS,KAGZ,IAAA,WAAS,WACb,EAAY,kBAAiB,4CAoBlC”,“file”:“collapse.min.js”,“sourcesContent”:[“‘use strict’;nnangular.module(‘mgcrea.ngStrap.collapse’, [])nn .provider(‘$collapse’, function() {nn var defaults = this.defaults = {n animation: ‘am-collapse’,n disallowToggle: false,n activeClass: ‘in’,n startCollapsed: false,n allowMultiple: falsen };nn var controller = this.controller = function($scope, $element, $attrs) {n var self = this;nn // Attributes optionsn self.$options = angular.copy(defaults);n angular.forEach([‘animation’, ‘disallowToggle’, ‘activeClass’, ‘startCollapsed’, ‘allowMultiple’], function (key) {n if(angular.isDefined($attrs)) self.$options = $attrs;n });nn self.$toggles = [];n self.$targets = [];nn self.$viewChangeListeners = [];nn self.$registerToggle = function(element) {n self.$toggles.push(element);n };n self.$registerTarget = function(element) {n self.$targets.push(element);n };nn self.$unregisterToggle = function(element) {n var index = self.$toggles.indexOf(element);n // remove toggle from $toggles arrayn self.$toggles.splice(index, 1);n };n self.$unregisterTarget = function(element) {n var index = self.$targets.indexOf(element);nn // remove element from $targets arrayn self.$targets.splice(index, 1);nn if (self.$options.allowMultiple) {n // remove target index from $active array valuesn deactivateItem(element);n }nn // fix active item indexesn fixActiveItemIndexes(index);nn self.$viewChangeListeners.forEach(function(fn) {n fn();n });n };nn // use array to store all the currently open panelsn self.$targets.$active = !self.$options.startCollapsed ? [0] : [];n self.$setActive = $scope.$setActive = function(value) {n if(angular.isArray(value)) {n self.$targets.$active = angular.copy(value);n }n else if(!self.$options.disallowToggle) {n // toogle element active statusn isActive(value) ? deactivateItem(value) : activateItem(value);n } else {n activateItem(value);n }nn self.$viewChangeListeners.forEach(function(fn) {n fn();n });n };nn self.$activeIndexes = function() {n return self.$options.allowMultiple ? self.$targets.$active :n self.$targets.$active.length === 1 ? self.$targets.$active : -1;n };nn function fixActiveItemIndexes(index) {n // item with index was removed, so wen // need to adjust other items index valuesn var activeIndexes = self.$targets.$active;n for(var i = 0; i < activeIndexes.length; i++) {n if (index < activeIndexes) {n activeIndexes = activeIndexes - 1;n }nn // the last item is active, so we need ton // adjust its indexn if (activeIndexes === self.$targets.length) {n activeIndexes = self.$targets.length - 1;n }n }n }nn function isActive(value) {n var activeItems = self.$targets.$active;n return activeItems.indexOf(value) === -1 ? false : true;n }nn function deactivateItem(value) {n var index = self.$targets.$active.indexOf(value);n if (index !== -1) {n self.$targets.$active.splice(index, 1);n }n }nn function activateItem(value) {n if (!self.$options.allowMultiple) {n // remove current selected itemn self.$targets.$active.splice(0, 1);n }nn if (self.$targets.$active.indexOf(value) === -1) {n self.$targets.$active.push(value);n }n }nn };nn this.$get = function() {n var $collapse = {};n $collapse.defaults = defaults;n $collapse.controller = controller;n return $collapse;n };nn })nn .directive(‘bsCollapse’, function($window, $animate, $collapse) {nn var defaults = $collapse.defaults;nn return {n require: [‘?ngModel’, ‘bsCollapse’],n controller: [‘$scope’, ‘$element’, ‘$attrs’, $collapse.controller],n link: function postLink(scope, element, attrs, controllers) {nn var ngModelCtrl = controllers;n var bsCollapseCtrl = controllers;nn if(ngModelCtrl) {nn // Update the modelValue followingn bsCollapseCtrl.$viewChangeListeners.push(function() {n ngModelCtrl.$setViewValue(bsCollapseCtrl.$activeIndexes());n });nn // modelValue -> $formatters -> viewValuen ngModelCtrl.$formatters.push(function(modelValue) {n // console.warn(‘$formatter("%s"): modelValue=%o (%o)’, element.attr(‘ng-model’), modelValue, typeof modelValue);n if (angular.isArray(modelValue)) {n // model value is an array, so just replacen // the active items directlyn bsCollapseCtrl.$setActive(modelValue);n }n else {n var activeIndexes = bsCollapseCtrl.$activeIndexes();nn if (angular.isArray(activeIndexes)) {n // we have an array of selected indexesn if (activeIndexes.indexOf(modelValue * 1) === -1) {n // item with modelValue index is not activen bsCollapseCtrl.$setActive(modelValue * 1);n }n }n else if (activeIndexes !== modelValue * 1) {n bsCollapseCtrl.$setActive(modelValue * 1);n }n }n return modelValue;n });nn }nn }n };nn })nn .directive(‘bsCollapseToggle’, function() {nn return {n require: [‘^?ngModel’, ‘^bsCollapse’],n link: function postLink(scope, element, attrs, controllers) {nn var ngModelCtrl = controllers;n var bsCollapseCtrl = controllers;nn // Add base attrn element.attr(‘data-toggle’, ‘collapse’);nn // Push pane to parent bsCollapse controllern bsCollapseCtrl.$registerToggle(element);nn // remove toggle from collapse controller when toggle is destroyedn scope.$on(‘$destroy’, function() {n bsCollapseCtrl.$unregisterToggle(element);n });nn element.on(‘click’, function() {n var index = attrs.bsCollapseToggle || bsCollapseCtrl.$toggles.indexOf(element);n bsCollapseCtrl.$setActive(index * 1);n scope.$apply();n });nn }n };nn })nn .directive(‘bsCollapseTarget’, function($animate) {nn return {n require: [‘^?ngModel’, ‘^bsCollapse’],n // scope: true,n link: function postLink(scope, element, attrs, controllers) {nn var ngModelCtrl = controllers;n var bsCollapseCtrl = controllers;nn // Add base classn element.addClass(‘collapse’);nn // Add animation classn if(bsCollapseCtrl.$options.animation) {n element.addClass(bsCollapseCtrl.$options.animation);n }nn // Push pane to parent bsCollapse controllern bsCollapseCtrl.$registerTarget(element);nn // remove pane target from collapse controller when target is destroyedn scope.$on(‘$destroy’, function() {n bsCollapseCtrl.$unregisterTarget(element);n });nn function render() {n var index = bsCollapseCtrl.$targets.indexOf(element);n var active = bsCollapseCtrl.$activeIndexes();n var action = ‘removeClass’;n if (angular.isArray(active)) {n if (active.indexOf(index) !== -1) {n action = ‘addClass’;n }n }n else if (index === active) {n action = ‘addClass’;n }nn $animate(element, bsCollapseCtrl.$options.activeClass);n }nn bsCollapseCtrl.$viewChangeListeners.push(function() {n render();n });n render();nn }n };nn });n”],“sourceRoot”:“/source/”}