improve ui checkbox functionality
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -6,6 +6,7 @@ var UNDO = new Object()
|
||||
var SERVER_CONNECTION = false
|
||||
var WS_AVAILABLE = false
|
||||
var ACTIVE_MENU_ID:string = ""
|
||||
var LAST_BULK_CHECKBOX:HTMLInputElement = null
|
||||
|
||||
|
||||
// Menü
|
||||
@@ -182,6 +183,46 @@ function getAllSelectedChannels():string[] {
|
||||
return channels
|
||||
}
|
||||
|
||||
function selectChannelRange(checkbox:HTMLInputElement, event:MouseEvent) {
|
||||
|
||||
if (BULK_EDIT == false || checkbox == undefined || checkbox == null) {
|
||||
return
|
||||
}
|
||||
|
||||
var table = document.getElementById("content_table")
|
||||
if (table == null) {
|
||||
return
|
||||
}
|
||||
|
||||
var trs = table.getElementsByTagName("TR")
|
||||
var visibleCheckboxes:HTMLInputElement[] = new Array()
|
||||
|
||||
for (var i = 1; i < trs.length; i++) {
|
||||
if ((trs[i] as HTMLElement).style.display != "none") {
|
||||
var bulkCheckbox = (trs[i] as HTMLTableRowElement).querySelector("input.bulk") as HTMLInputElement
|
||||
if (bulkCheckbox != null) {
|
||||
visibleCheckboxes.push(bulkCheckbox)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var currentIndex = visibleCheckboxes.indexOf(checkbox)
|
||||
var previousIndex = -1
|
||||
if (LAST_BULK_CHECKBOX != null) {
|
||||
previousIndex = visibleCheckboxes.indexOf(LAST_BULK_CHECKBOX)
|
||||
}
|
||||
|
||||
if (event != undefined && event.shiftKey == true && previousIndex > -1 && currentIndex > -1) {
|
||||
var start = Math.min(previousIndex, currentIndex)
|
||||
var end = Math.max(previousIndex, currentIndex)
|
||||
for (var i = start; i <= end; i++) {
|
||||
visibleCheckboxes[i].checked = checkbox.checked
|
||||
}
|
||||
}
|
||||
|
||||
LAST_BULK_CHECKBOX = checkbox
|
||||
}
|
||||
|
||||
function selectAllChannels() {
|
||||
|
||||
var bulk:Boolean = false
|
||||
@@ -211,6 +252,7 @@ function selectAllChannels() {
|
||||
|
||||
}
|
||||
|
||||
LAST_BULK_CHECKBOX = null
|
||||
return
|
||||
}
|
||||
|
||||
@@ -235,6 +277,7 @@ function bulkEdit() {
|
||||
(rows[i] as HTMLInputElement).checked = false
|
||||
}
|
||||
|
||||
LAST_BULK_CHECKBOX = null
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user