function logEvent()

in TestApplications/Web/js/utils.js [491:564]


function logEvent(elem, descr) {
    var value;
    var name;
    switch (elem.type) {
        case 'radio':
            if (elem.labels)
                value = ' value changed to ' + elem.labels[0].innerText;
            else
                value = ' value changed to ' + elem.nextElementSibling.innerHTML;
            break;
        case 'checkbox':
            if (elem.labels)
                name = elem.labels[0].innerText;
            else
                name = elem.nextElementSibling.innerHTML;
            value = ' condition changed to ' + elem.checked;
            break;
        case 'button':
            if (elem.textContent.toLowerCase() === 'calculate' || elem.textContent.toLowerCase() === 'submit') {
                value = elem.textContent.toLowerCase() + 'button clicked';
            } else {
                value = 'button clicked';
            }
            break;
        case 'text':
            value = ' value changed to ' + $('<div/>').text(elem.value).html();
            break;
        case 'file':
            value = ' file "' + elem.files[0].name + '" has been uploaded';
            break;
        case 'textarea':
            value = ' value changed to ' + $('<div/>').text(elem.value).html();
            break;
        case 'select-one':
            value = ' value changed to ' + elem.value;
            break;
        case 'select-multiple':
            var val = $(elem).val();
            value = ' value changed to ' + ((val != null && val.length > 0) ? val.join(', ') : '');
            break;

        default:
            if (elem.tagName.toUpperCase() == 'TR') {
                if ($(elem).hasClass('active')) {
                    value = (elem.rowIndex + 1) + ' row has been selected'
                } else {
                    value = (elem.rowIndex + 1) + ' row has been unselected'
                }
            }
            if (elem.tagName.toUpperCase() == 'TD') {
                if ($(elem).hasClass('active')) {
                    value = 'value=' + (elem.innerText) + '; cell has been selected'
                }
            }
            else if (elem.tagName.toUpperCase() == 'BUTTON') {
                value = 'button clicked';
            } else if (elem.tagName.toUpperCase() == 'A') {
                value = elem.innerText + ' link clicked';
            }
            else if ($(elem).hasClass('ui-slider-handle')) {
                value = ' value changed to ' + elem.text;
            } else {
                value = '';
            }
            break;
    }
    if (!name) {
        name = (descr) ? descr : ((elem.name) ? elem.name : ((elem.id) ? elem.id : elem.type));
    }
    if (value) {
        var item = '<li>' + getTimeString() + ' ' + (name || '') + ':' + value + '</li>';
        $('.logs').prepend(item);
    }
}