Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F5992685
checkboxShift.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
checkboxShift.js
View Options
let
prev
;
function
clickHandler
(
e
)
{
// When our boxes are clicked and one has been clicked before...
if
(
prev
&&
e
.
shiftKey
)
{
// Check or uncheck this one and all in-between checkboxes,
// except for disabled ones
const
$checkboxes
=
e
.
data
.
$checkboxes
;
$checkboxes
.
slice
(
Math
.
min
(
$checkboxes
.
index
(
prev
),
$checkboxes
.
index
(
e
.
target
)
),
Math
.
max
(
$checkboxes
.
index
(
prev
),
$checkboxes
.
index
(
e
.
target
)
)
+
1
)
.
filter
(
function
()
{
return
!
this
.
disabled
&&
this
.
checked
!==
e
.
target
.
checked
;
}
)
.
prop
(
'checked'
,
e
.
target
.
checked
)
// Since the state change is a consequence of direct user action,
// fire the 'change' event (see T313077).
.
trigger
(
'change'
);
}
// Either way, remember this as the last clicked one
prev
=
e
.
target
;
}
/**
* Enable checkboxes to be checked or unchecked in a row by clicking one,
* holding shift and clicking another one.
*
* @method checkboxShift
* @memberof module:mediawiki.page.ready
* @param {jQuery} $checkboxes
*/
module
.
exports
=
function
(
$checkboxes
)
{
$checkboxes
.
off
(
'click'
,
clickHandler
)
.
on
(
'click'
,
{
$checkboxes
:
$checkboxes
},
clickHandler
);
};
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Oct 4 2026, 02:24 (4 w, 6 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
40/ad/08b02bbbd9e1de1376d18d61c607
Default Alt Text
checkboxShift.js (1 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment