Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F99785778
button.js
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Sun, Jan 26, 15:09
Size
1 KB
Mime Type
text/x-c++
Expires
Tue, Jan 28, 15:09 (1 d, 5 h)
Engine
blob
Format
Raw Data
Handle
23821370
Attached To
rOACCT Open Access Compliance Check Tool (OACCT)
button.js
View Options
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.2.3): button.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
import
{
defineJQueryPlugin
}
from
'./util/index'
import
EventHandler
from
'./dom/event-handler'
import
BaseComponent
from
'./base-component'
/**
* Constants
*/
const
NAME
=
'button'
const
DATA_KEY
=
'bs.button'
const
EVENT_KEY
=
`
.
$
{
DATA_KEY
}
`
const
DATA_API_KEY
=
'.data-api'
const
CLASS_NAME_ACTIVE
=
'active'
const
SELECTOR_DATA_TOGGLE
=
'[data-bs-toggle="button"]'
const
EVENT_CLICK_DATA_API
=
`
click$
{
EVENT_KEY
}
$
{
DATA_API_KEY
}
`
/**
* Class definition
*/
class
Button
extends
BaseComponent
{
// Getters
static
get
NAME
()
{
return
NAME
}
// Public
toggle
()
{
// Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method
this
.
_element
.
setAttribute
(
'aria-pressed'
,
this
.
_element
.
classList
.
toggle
(
CLASS_NAME_ACTIVE
))
}
// Static
static
jQueryInterface
(
config
)
{
return
this
.
each
(
function
()
{
const
data
=
Button
.
getOrCreateInstance
(
this
)
if
(
config
===
'toggle'
)
{
data
[
config
]()
}
})
}
}
/**
* Data API implementation
*/
EventHandler
.
on
(
document
,
EVENT_CLICK_DATA_API
,
SELECTOR_DATA_TOGGLE
,
event
=>
{
event
.
preventDefault
()
const
button
=
event
.
target
.
closest
(
SELECTOR_DATA_TOGGLE
)
const
data
=
Button
.
getOrCreateInstance
(
button
)
data
.
toggle
()
})
/**
* jQuery
*/
defineJQueryPlugin
(
Button
)
export
default
Button
Event Timeline
Log In to Comment