JS Button script - Detect if shift was held when button was clicked

I've looked through some articles, but can't seem to find anything.

This is my button code:

function OnClick(clickData) {
    var tab = clickData.func.sourcetab;
    var cmd = clickData.func.command;

    if (tab.selected_files.count > 0) {
        var currentTime = new Date();
        var year = currentTime.getFullYear() % 100;
        var month = (currentTime.getMonth() + 1).toString();
        var day = currentTime.getDate().toString();

        if (month.length < 2) month = '0' + month;
        if (day.length < 2) day = '0' + day;

        var pathToCreate = tab.path + "\\SS\\" + year + " " + month + " " + day;

        cmd.RunCommand('CreateFolder NAME="' + pathToCreate + '" NOSEL');

        cmd.RunCommand('Copy TO="' + pathToCreate + '"');
    }
}

Is there a way that I can detect from the clickData if shift was held? I assume via some kind of if else statement?

Thanks

clickdata.func.qualifiers (docs)

1 Like

That works flawlessly, thank you :blush:

Here is the edited code in case anyone wants to see it:

function OnClick(clickData) {
    var tab = clickData.func.sourcetab;
    var cmd = clickData.func.command;
    
    if (tab.selected_files.count > 0) {
        var currentTime = new Date();
        var year = currentTime.getFullYear() % 100;
        var month = (currentTime.getMonth() + 1).toString();
        var day = currentTime.getDate().toString();
    
        if (month.length < 2) month = '0' + month;
        if (day.length < 2) day = '0' + day;
    
        var pathToCreate = tab.path + "\\SS\\" + year + " " + month + " " + day;
    
        cmd.RunCommand('CreateFolder NAME="' + pathToCreate + '" NOSEL');
        
        if (clickData.func.qualifiers == "shift") {
            cmd.RunCommand('Copy MOVE TO="' + pathToCreate + '" WHENEXISTS=rename');
        } else {
            cmd.RunCommand('Copy TO="' + pathToCreate + '" WHENEXISTS=rename');
        }
    }

}
1 Like