Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F9338937
collapse.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
12 KB
Subscribers
None
collapse.js
View Options
/*!
* Bootstrap collapse.js v4.6.1 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
(
function
(
global
,
factory
)
{
typeof
exports
===
'object'
&&
typeof
module
!==
'undefined'
?
module
.
exports
=
factory
(
require
(
'jquery'
),
require
(
'./util.js'
))
:
typeof
define
===
'function'
&&
define
.
amd
?
define
([
'jquery'
,
'./util'
],
factory
)
:
(
global
=
typeof
globalThis
!==
'undefined'
?
globalThis
:
global
||
self
,
global
.
Collapse
=
factory
(
global
.
jQuery
,
global
.
Util
));
})(
this
,
(
function
(
$
,
Util
)
{
'use strict'
;
function
_interopDefaultLegacy
(
e
)
{
return
e
&&
typeof
e
===
'object'
&&
'default'
in
e
?
e
:
{
'default'
:
e
};
}
var
$__default
=
/*#__PURE__*/
_interopDefaultLegacy
(
$
);
var
Util__default
=
/*#__PURE__*/
_interopDefaultLegacy
(
Util
);
function
_defineProperties
(
target
,
props
)
{
for
(
var
i
=
0
;
i
<
props
.
length
;
i
++
)
{
var
descriptor
=
props
[
i
];
descriptor
.
enumerable
=
descriptor
.
enumerable
||
false
;
descriptor
.
configurable
=
true
;
if
(
"value"
in
descriptor
)
descriptor
.
writable
=
true
;
Object
.
defineProperty
(
target
,
descriptor
.
key
,
descriptor
);
}
}
function
_createClass
(
Constructor
,
protoProps
,
staticProps
)
{
if
(
protoProps
)
_defineProperties
(
Constructor
.
prototype
,
protoProps
);
if
(
staticProps
)
_defineProperties
(
Constructor
,
staticProps
);
return
Constructor
;
}
function
_extends
()
{
_extends
=
Object
.
assign
||
function
(
target
)
{
for
(
var
i
=
1
;
i
<
arguments
.
length
;
i
++
)
{
var
source
=
arguments
[
i
];
for
(
var
key
in
source
)
{
if
(
Object
.
prototype
.
hasOwnProperty
.
call
(
source
,
key
))
{
target
[
key
]
=
source
[
key
];
}
}
}
return
target
;
};
return
_extends
.
apply
(
this
,
arguments
);
}
/**
* Constants
*/
var
NAME
=
'collapse'
;
var
VERSION
=
'4.6.1'
;
var
DATA_KEY
=
'bs.collapse'
;
var
EVENT_KEY
=
"."
+
DATA_KEY
;
var
DATA_API_KEY
=
'.data-api'
;
var
JQUERY_NO_CONFLICT
=
$__default
[
"default"
].
fn
[
NAME
];
var
CLASS_NAME_SHOW
=
'show'
;
var
CLASS_NAME_COLLAPSE
=
'collapse'
;
var
CLASS_NAME_COLLAPSING
=
'collapsing'
;
var
CLASS_NAME_COLLAPSED
=
'collapsed'
;
var
DIMENSION_WIDTH
=
'width'
;
var
DIMENSION_HEIGHT
=
'height'
;
var
EVENT_SHOW
=
"show"
+
EVENT_KEY
;
var
EVENT_SHOWN
=
"shown"
+
EVENT_KEY
;
var
EVENT_HIDE
=
"hide"
+
EVENT_KEY
;
var
EVENT_HIDDEN
=
"hidden"
+
EVENT_KEY
;
var
EVENT_CLICK_DATA_API
=
"click"
+
EVENT_KEY
+
DATA_API_KEY
;
var
SELECTOR_ACTIVES
=
'.show, .collapsing'
;
var
SELECTOR_DATA_TOGGLE
=
'[data-toggle="collapse"]'
;
var
Default
=
{
toggle
:
true
,
parent
:
''
};
var
DefaultType
=
{
toggle
:
'boolean'
,
parent
:
'(string|element)'
};
/**
* Class definition
*/
var
Collapse
=
/*#__PURE__*/
function
()
{
function
Collapse
(
element
,
config
)
{
this
.
_isTransitioning
=
false
;
this
.
_element
=
element
;
this
.
_config
=
this
.
_getConfig
(
config
);
this
.
_triggerArray
=
[].
slice
.
call
(
document
.
querySelectorAll
(
"[data-toggle=\"collapse\"][href=\"#"
+
element
.
id
+
"\"],"
+
(
"[data-toggle=\"collapse\"][data-target=\"#"
+
element
.
id
+
"\"]"
)));
var
toggleList
=
[].
slice
.
call
(
document
.
querySelectorAll
(
SELECTOR_DATA_TOGGLE
));
for
(
var
i
=
0
,
len
=
toggleList
.
length
;
i
<
len
;
i
++
)
{
var
elem
=
toggleList
[
i
];
var
selector
=
Util__default
[
"default"
].
getSelectorFromElement
(
elem
);
var
filterElement
=
[].
slice
.
call
(
document
.
querySelectorAll
(
selector
)).
filter
(
function
(
foundElem
)
{
return
foundElem
===
element
;
});
if
(
selector
!==
null
&&
filterElement
.
length
>
0
)
{
this
.
_selector
=
selector
;
this
.
_triggerArray
.
push
(
elem
);
}
}
this
.
_parent
=
this
.
_config
.
parent
?
this
.
_getParent
()
:
null
;
if
(
!
this
.
_config
.
parent
)
{
this
.
_addAriaAndCollapsedClass
(
this
.
_element
,
this
.
_triggerArray
);
}
if
(
this
.
_config
.
toggle
)
{
this
.
toggle
();
}
}
// Getters
var
_proto
=
Collapse
.
prototype
;
// Public
_proto
.
toggle
=
function
toggle
()
{
if
(
$__default
[
"default"
](
this
.
_element
).
hasClass
(
CLASS_NAME_SHOW
))
{
this
.
hide
();
}
else
{
this
.
show
();
}
};
_proto
.
show
=
function
show
()
{
var
_this
=
this
;
if
(
this
.
_isTransitioning
||
$__default
[
"default"
](
this
.
_element
).
hasClass
(
CLASS_NAME_SHOW
))
{
return
;
}
var
actives
;
var
activesData
;
if
(
this
.
_parent
)
{
actives
=
[].
slice
.
call
(
this
.
_parent
.
querySelectorAll
(
SELECTOR_ACTIVES
)).
filter
(
function
(
elem
)
{
if
(
typeof
_this
.
_config
.
parent
===
'string'
)
{
return
elem
.
getAttribute
(
'data-parent'
)
===
_this
.
_config
.
parent
;
}
return
elem
.
classList
.
contains
(
CLASS_NAME_COLLAPSE
);
});
if
(
actives
.
length
===
0
)
{
actives
=
null
;
}
}
if
(
actives
)
{
activesData
=
$__default
[
"default"
](
actives
).
not
(
this
.
_selector
).
data
(
DATA_KEY
);
if
(
activesData
&&
activesData
.
_isTransitioning
)
{
return
;
}
}
var
startEvent
=
$__default
[
"default"
].
Event
(
EVENT_SHOW
);
$__default
[
"default"
](
this
.
_element
).
trigger
(
startEvent
);
if
(
startEvent
.
isDefaultPrevented
())
{
return
;
}
if
(
actives
)
{
Collapse
.
_jQueryInterface
.
call
(
$__default
[
"default"
](
actives
).
not
(
this
.
_selector
),
'hide'
);
if
(
!
activesData
)
{
$__default
[
"default"
](
actives
).
data
(
DATA_KEY
,
null
);
}
}
var
dimension
=
this
.
_getDimension
();
$__default
[
"default"
](
this
.
_element
).
removeClass
(
CLASS_NAME_COLLAPSE
).
addClass
(
CLASS_NAME_COLLAPSING
);
this
.
_element
.
style
[
dimension
]
=
0
;
if
(
this
.
_triggerArray
.
length
)
{
$__default
[
"default"
](
this
.
_triggerArray
).
removeClass
(
CLASS_NAME_COLLAPSED
).
attr
(
'aria-expanded'
,
true
);
}
this
.
setTransitioning
(
true
);
var
complete
=
function
complete
()
{
$__default
[
"default"
](
_this
.
_element
).
removeClass
(
CLASS_NAME_COLLAPSING
).
addClass
(
CLASS_NAME_COLLAPSE
+
" "
+
CLASS_NAME_SHOW
);
_this
.
_element
.
style
[
dimension
]
=
''
;
_this
.
setTransitioning
(
false
);
$__default
[
"default"
](
_this
.
_element
).
trigger
(
EVENT_SHOWN
);
};
var
capitalizedDimension
=
dimension
[
0
].
toUpperCase
()
+
dimension
.
slice
(
1
);
var
scrollSize
=
"scroll"
+
capitalizedDimension
;
var
transitionDuration
=
Util__default
[
"default"
].
getTransitionDurationFromElement
(
this
.
_element
);
$__default
[
"default"
](
this
.
_element
).
one
(
Util__default
[
"default"
].
TRANSITION_END
,
complete
).
emulateTransitionEnd
(
transitionDuration
);
this
.
_element
.
style
[
dimension
]
=
this
.
_element
[
scrollSize
]
+
"px"
;
};
_proto
.
hide
=
function
hide
()
{
var
_this2
=
this
;
if
(
this
.
_isTransitioning
||
!
$__default
[
"default"
](
this
.
_element
).
hasClass
(
CLASS_NAME_SHOW
))
{
return
;
}
var
startEvent
=
$__default
[
"default"
].
Event
(
EVENT_HIDE
);
$__default
[
"default"
](
this
.
_element
).
trigger
(
startEvent
);
if
(
startEvent
.
isDefaultPrevented
())
{
return
;
}
var
dimension
=
this
.
_getDimension
();
this
.
_element
.
style
[
dimension
]
=
this
.
_element
.
getBoundingClientRect
()[
dimension
]
+
"px"
;
Util__default
[
"default"
].
reflow
(
this
.
_element
);
$__default
[
"default"
](
this
.
_element
).
addClass
(
CLASS_NAME_COLLAPSING
).
removeClass
(
CLASS_NAME_COLLAPSE
+
" "
+
CLASS_NAME_SHOW
);
var
triggerArrayLength
=
this
.
_triggerArray
.
length
;
if
(
triggerArrayLength
>
0
)
{
for
(
var
i
=
0
;
i
<
triggerArrayLength
;
i
++
)
{
var
trigger
=
this
.
_triggerArray
[
i
];
var
selector
=
Util__default
[
"default"
].
getSelectorFromElement
(
trigger
);
if
(
selector
!==
null
)
{
var
$elem
=
$__default
[
"default"
]([].
slice
.
call
(
document
.
querySelectorAll
(
selector
)));
if
(
!
$elem
.
hasClass
(
CLASS_NAME_SHOW
))
{
$__default
[
"default"
](
trigger
).
addClass
(
CLASS_NAME_COLLAPSED
).
attr
(
'aria-expanded'
,
false
);
}
}
}
}
this
.
setTransitioning
(
true
);
var
complete
=
function
complete
()
{
_this2
.
setTransitioning
(
false
);
$__default
[
"default"
](
_this2
.
_element
).
removeClass
(
CLASS_NAME_COLLAPSING
).
addClass
(
CLASS_NAME_COLLAPSE
).
trigger
(
EVENT_HIDDEN
);
};
this
.
_element
.
style
[
dimension
]
=
''
;
var
transitionDuration
=
Util__default
[
"default"
].
getTransitionDurationFromElement
(
this
.
_element
);
$__default
[
"default"
](
this
.
_element
).
one
(
Util__default
[
"default"
].
TRANSITION_END
,
complete
).
emulateTransitionEnd
(
transitionDuration
);
};
_proto
.
setTransitioning
=
function
setTransitioning
(
isTransitioning
)
{
this
.
_isTransitioning
=
isTransitioning
;
};
_proto
.
dispose
=
function
dispose
()
{
$__default
[
"default"
].
removeData
(
this
.
_element
,
DATA_KEY
);
this
.
_config
=
null
;
this
.
_parent
=
null
;
this
.
_element
=
null
;
this
.
_triggerArray
=
null
;
this
.
_isTransitioning
=
null
;
}
// Private
;
_proto
.
_getConfig
=
function
_getConfig
(
config
)
{
config
=
_extends
({},
Default
,
config
);
config
.
toggle
=
Boolean
(
config
.
toggle
);
// Coerce string values
Util__default
[
"default"
].
typeCheckConfig
(
NAME
,
config
,
DefaultType
);
return
config
;
};
_proto
.
_getDimension
=
function
_getDimension
()
{
var
hasWidth
=
$__default
[
"default"
](
this
.
_element
).
hasClass
(
DIMENSION_WIDTH
);
return
hasWidth
?
DIMENSION_WIDTH
:
DIMENSION_HEIGHT
;
};
_proto
.
_getParent
=
function
_getParent
()
{
var
_this3
=
this
;
var
parent
;
if
(
Util__default
[
"default"
].
isElement
(
this
.
_config
.
parent
))
{
parent
=
this
.
_config
.
parent
;
// It's a jQuery object
if
(
typeof
this
.
_config
.
parent
.
jquery
!==
'undefined'
)
{
parent
=
this
.
_config
.
parent
[
0
];
}
}
else
{
parent
=
document
.
querySelector
(
this
.
_config
.
parent
);
}
var
selector
=
"[data-toggle=\"collapse\"][data-parent=\""
+
this
.
_config
.
parent
+
"\"]"
;
var
children
=
[].
slice
.
call
(
parent
.
querySelectorAll
(
selector
));
$__default
[
"default"
](
children
).
each
(
function
(
i
,
element
)
{
_this3
.
_addAriaAndCollapsedClass
(
Collapse
.
_getTargetFromElement
(
element
),
[
element
]);
});
return
parent
;
};
_proto
.
_addAriaAndCollapsedClass
=
function
_addAriaAndCollapsedClass
(
element
,
triggerArray
)
{
var
isOpen
=
$__default
[
"default"
](
element
).
hasClass
(
CLASS_NAME_SHOW
);
if
(
triggerArray
.
length
)
{
$__default
[
"default"
](
triggerArray
).
toggleClass
(
CLASS_NAME_COLLAPSED
,
!
isOpen
).
attr
(
'aria-expanded'
,
isOpen
);
}
}
// Static
;
Collapse
.
_getTargetFromElement
=
function
_getTargetFromElement
(
element
)
{
var
selector
=
Util__default
[
"default"
].
getSelectorFromElement
(
element
);
return
selector
?
document
.
querySelector
(
selector
)
:
null
;
};
Collapse
.
_jQueryInterface
=
function
_jQueryInterface
(
config
)
{
return
this
.
each
(
function
()
{
var
$element
=
$__default
[
"default"
](
this
);
var
data
=
$element
.
data
(
DATA_KEY
);
var
_config
=
_extends
({},
Default
,
$element
.
data
(),
typeof
config
===
'object'
&&
config
?
config
:
{});
if
(
!
data
&&
_config
.
toggle
&&
typeof
config
===
'string'
&&
/show|hide/
.
test
(
config
))
{
_config
.
toggle
=
false
;
}
if
(
!
data
)
{
data
=
new
Collapse
(
this
,
_config
);
$element
.
data
(
DATA_KEY
,
data
);
}
if
(
typeof
config
===
'string'
)
{
if
(
typeof
data
[
config
]
===
'undefined'
)
{
throw
new
TypeError
(
"No method named \""
+
config
+
"\""
);
}
data
[
config
]();
}
});
};
_createClass
(
Collapse
,
null
,
[{
key
:
"VERSION"
,
get
:
function
get
()
{
return
VERSION
;
}
},
{
key
:
"Default"
,
get
:
function
get
()
{
return
Default
;
}
}]);
return
Collapse
;
}();
/**
* Data API implementation
*/
$__default
[
"default"
](
document
).
on
(
EVENT_CLICK_DATA_API
,
SELECTOR_DATA_TOGGLE
,
function
(
event
)
{
// preventDefault only for <a> elements (which change the URL) not inside the collapsible element
if
(
event
.
currentTarget
.
tagName
===
'A'
)
{
event
.
preventDefault
();
}
var
$trigger
=
$__default
[
"default"
](
this
);
var
selector
=
Util__default
[
"default"
].
getSelectorFromElement
(
this
);
var
selectors
=
[].
slice
.
call
(
document
.
querySelectorAll
(
selector
));
$__default
[
"default"
](
selectors
).
each
(
function
()
{
var
$target
=
$__default
[
"default"
](
this
);
var
data
=
$target
.
data
(
DATA_KEY
);
var
config
=
data
?
'toggle'
:
$trigger
.
data
();
Collapse
.
_jQueryInterface
.
call
(
$target
,
config
);
});
});
/**
* jQuery
*/
$__default
[
"default"
].
fn
[
NAME
]
=
Collapse
.
_jQueryInterface
;
$__default
[
"default"
].
fn
[
NAME
].
Constructor
=
Collapse
;
$__default
[
"default"
].
fn
[
NAME
].
noConflict
=
function
()
{
$__default
[
"default"
].
fn
[
NAME
]
=
JQUERY_NO_CONFLICT
;
return
Collapse
.
_jQueryInterface
;
};
return
Collapse
;
}));
//# sourceMappingURL=collapse.js.map
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Jul 4 2025, 9:16 AM (6 w, 1 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3370107
Attached To
rDWAPPS Web applications
Event Timeline
Log In to Comment