opt
/
kaspersky
/
kav4fs
/
share
/
wmconsole
/
html
/
js
/
pages
➕ New
📤 Upload
✎ Editing:
tasksListPage.js
← Back
ic.errorHandlers.push(function(data) { if((data.errorMsg && data.errorMsg.indexOf('Rollback failed') > -1) || data.BLError) { $('#rollbackStatus').updateHtml(''); $('#rollbackErrorBox').updateHtml(data.errorMsg); return true; } return false; }) function TasksListPage_basicChanged(item0,item1) { return item0.state != item1.state || item0.prevState != item1.prevState || item0.name != item1.name; } function TasksListPage_createStatePolicy(state) { if(typeof(__statePolicies__) === 'undefined') { function StatePolicy(sname, cssClass) { this.sname = sname; this.cssClass = cssClass; this.getTimestamp = function(item) { return ''; // TODO return ' at 11:35AM 29/05/2009' } } __statePolicies__ = []; __statePolicies__[ic.TaskState.Stopped] = new StatePolicy(_res('STATUS_RTP_STOPPED'), 'markyell'); __statePolicies__[ic.TaskState.Stopping] = new StatePolicy(_res('STATUS_RTP_STOPPING'), 'markyell'); __statePolicies__[ic.TaskState.Started] = new StatePolicy(_res('STATUS_RTP_STARTED'), 'markgreen'); __statePolicies__[ic.TaskState.Starting] = new StatePolicy(_res('STATUS_RTP_STARTING'), 'markgreen'); __statePolicies__[ic.TaskState.Suspended] = new StatePolicy(_res('STATUS_RTP_SUSPENDED'), 'markgreen'); __statePolicies__[ic.TaskState.Suspending] = new StatePolicy(_res('STATUS_RTP_SUSPENDING'), 'markgreen'); __statePolicies__[ic.TaskState.Resumed] = new StatePolicy(_res('STATUS_RTP_RESUMED'), 'markgreen'); __statePolicies__[ic.TaskState.Resuming] = new StatePolicy(_res('STATUS_RTP_RESUMING'), 'markgreen'); __statePolicies__[ic.TaskState.Failed] = new StatePolicy(_res('STATUS_RTP_FAILED'), 'markred'); __statePolicies__[ic.TaskState.Unknown] = new StatePolicy(_res('STATUS_RTP_UNKNOWN'), 'markred'); } return __statePolicies__[state]; } function TasksListPage_ODSTaskClassPolicy() { this.is_changed = function(item0,item1){ return TasksListPage_basicChanged(item0,item1); } this.canBePaused = true; this.canBeDeleted = true; this.canBePaused = true; this.hasStatistics = true; this.stateTemplate = new Template( '<a class="#{state_css} historable" href="#ods/task/#{id}">#{state_str}</a>' + '<span class="addtime">#{state_time}</span>' ); this.taskRowTemplate = new Template( '<tr id="tr_#{id}">' + '<td class="l ec vc" style="height:30px"><input type="checkbox" class="checkBox" id="cb_#{id}"/></td>' + '<td class="vc">' + '<a class="historable" href="#ods/task/#{id}" title="#{longName}">#{shortName}</a>' + '</td>' + '<td class="vc" id="state" style="padding:5px">#{state_html}</td>' + '<td class="vc"><a href="#ods/task/#{id}/__schedule__" id="schedule">#{schedule_str}</a></td>' + '<td class="vc" style="text-align:right">' + '<span style="display:inline" id="scanned_objects"' + ' title="res:TASKS_LIST_TOTAL_SCANNED_TITLE">#{scanned_objects}</span> / ' + '<span style="display:inline" id="threats_found"' + ' title="res:TASKS_LIST_INFECTED_SCANNED_TITLE">#{threats_found}</span> / ' + '<span style="display:inline" id="suspicious_objects"' + ' title="res:TASKS_LIST_SUSPICIOUS_SCANNED_TITLE">#{suspicious_objects}</span>' + '</td></tr>' ); TasksListPage_ODSTaskClassPolicy.headTemplate = '<th class="w20px l ec vc" style="width:20px"><input type="checkbox" class="checkBox" id="selectAllCheckbox"/></th>'+ '<th class="w20">'+_res('TASKS_LIST_NAME')+'</th>'+ '<th class="w35">'+_res('TASKS_LIST_STATUS')+'</th>'+ '<th class="w35">'+_res('TASKS_LIST_SCHEDULE')+'</th>'+ '<th class="vc" style="width:auto">'+ '<table>'+ '<tr>'+ '<td class="vc" style="width:auto; padding:0px; text-align:left;border:0 none;" bgcolor="#CCCCCC">'+ '<span style="padding:0px; display:inline; width:auto; text-align:left" title="' + _res('TASKS_LIST_STATISTICS_HINT') + '">' + _res('TASKS_LIST_STATISTICS') + '</span>'+ '</td><td class="vc" style="width:auto%; padding:0px 5px;border:0 none;">'+ '<img src="../img/h1_descr.png" title="' + _res('TASKS_LIST_STATISTICS_HINT') + '">'+ '</td></tr>'+ '</table>'+ '</th>'; this.headTemplate = TasksListPage_ODSTaskClassPolicy.headTemplate; }; function TasksListPage_UpdateTaskClassPolicy() { this.is_changed = function(item0,item1){ return tasksListPage_basicChanged(item0,item1); } this.canBePaused = false; this.canBeDeleted = true; this.canBePaused = false; this.hasStatistics = true; this.stateTemplate = new Template( '<a class="#{state_css}" href="#update/task/#{id}">#{state_str}</a>' + '<span class="addtime">#{state_time}</span>' ); this.taskRowTemplate = new Template( '<tr id="tr_#{id}">' + '<td class="l ec vc" style="height:30px"><input type="checkbox" class="checkBox" id="cb_#{id}"/></td>' + '<td class="vc">' + '<a class="historable" href="#update/task/#{id}" title="#{longName}">#{shortName}</a>' + '</td>' + '<td class="vc" id="state" style="padding:5px">#{state_html}</td>' + '<td class="vc"><a href="#update/task/#{id}/__schedule__" id="schedule">#{schedule_str}</a></td>' + '</tr>' ); this.headTemplate = '<th class="w20px l ec vc" style="width:20px"><input type="checkbox" class="checkBox" id="selectAllCheckbox"/></th>'+ '<th>'+_res('TASKS_LIST_NAME')+'</th>'+ '<th class="w35">'+_res('TASKS_LIST_STATUS')+'</th>'+ '<th class="w35">'+_res('TASKS_LIST_SCHEDULE')+'</th>'; }; function TasksListPage_QSTaskClassPolicy() { this.is_changed = function(item0,item1){ return item0.state != item1.state || item0.prevState != item1.prevState; } this.canBePaused = true; this.canBeDeleted = false; this.canBePaused = true; this.hasStatistics = true; this.stateTemplate = new Template( '<a class="#{state_css}" href="#ods_qs/task/#{id}">#{state_str}</a>' + '<span class="addtime">#{state_time}</span>' ); this.taskRowTemplate = new Template( '<tr id="tr_#{id}">' + '<td class="l ec vc" style="height:30px"><input type="checkbox" class="checkBox" id="cb_#{id}"/></td>' + '<td class="vc">' + '<a class="historable" href="#ods_qs/task/#{id}" title="#{longName}">#{shortName}</a>' + '</td>' + '<td class="vc" id="state" style="padding:5px">#{state_html}</td>' + '<td class="vc"><a href="#ods_qs/task/#{id}/__schedule__" id="schedule">#{schedule_str}</a></td>' + '<td class="vc" style="text-align:right"> </td>' + '</tr>' ); this.headTemplate = TasksListPage_ODSTaskClassPolicy.headTemplate; }; function TasksListPage_taskClassPolicy(clazz) { if(typeof(__taskClassPolicies__) === 'undefined') { __taskClassPolicies__ = []; __taskClassPolicies__[ic.TaskClass.ODS] = new TasksListPage_ODSTaskClassPolicy(); __taskClassPolicies__[ic.TaskClass.QS] = new TasksListPage_QSTaskClassPolicy(); __taskClassPolicies__[ic.TaskClass.Update] = new TasksListPage_UpdateTaskClassPolicy(); } return __taskClassPolicies__[clazz]; } function TasksListPage_isScheduled(item) { return item.RuleType != ic.Schedule.StartRuleType.Manual; } function TasksListPage_getScheduleDescription(schedule) { return (TasksListPage_isScheduled(schedule) ? _res('SCH_TYPE_SCHEDULE') : _res('SCH_TYPE_MANUALY')); } function TasksListPage_prepareTaskName(item) { if(item.clazz == ic.TaskClass.QS) item.longName = item.shortName = _res('QS_TASK_NAME'); else{ item.shortName = misc_preparetoView(misc_shortizeName(item.name, 40)); item.longName = misc_preparetoView(item.name); } } function TasksListPage_getStateHtml(item) { var statePolicy = TasksListPage_createStatePolicy(item.state); item.state_str = statePolicy.sname; item.state_css = statePolicy.cssClass; item.state_time = statePolicy.getTimestamp(item); return TasksListPage_taskClassPolicy(item.clazz).stateTemplate.evaluate(item); } function TasksListPage_table_changeTaskDetected_ns($rowNs, item) { if(typeof(item.threats_found) === 'undefined') return; var $ns = $rowNs.find('#threats_found'); $ns.updateHtml(item.threats_found + ''); if(item.threats_found > 0) $ns.css('color', '#CC0000'); else $ns.css('color', '#000000'); } function TasksListPage_fireResultItem(_item) { var item = jQuery.extend(true, {}, _item); if(item.scanned_objects === undefined) item.scanned_objects = 0; if(item.threats_found === undefined) item.threats_found = 0; if(item.qDetectedObjects === undefined) item.qDetectedObjects = 0; if(item.qTotalObjects === undefined) item.qTotalObjects = 0; item.scanned_objects = '' + item.scanned_objects; item.threats_found = '' + item.threats_found; item.suspicious_objects = '' + item.suspicious_objects; item.schedule_str = TasksListPage_getScheduleDescription(item.schedule); item.state_html = TasksListPage_getStateHtml(item); TasksListPage_prepareTaskName(item); var taskClassPolicy = TasksListPage_taskClassPolicy(item.clazz); if(taskClassPolicy.hasStatistics) itemsStats.push(item); var $res = $(taskClassPolicy.taskRowTemplate.evaluate(item)); TasksListPage_table_changeTaskDetected_ns($res, item); $res.find('a.historable') .attr('id', 'a_taskLink' + item.id) .icHistory(function(){ LocationChanged(this.hash); }); $res.find('a.markyell') .icHistory(function(){ LocationChanged(this.hash); }); $res.attr('ic_state', item.state); $res.attr('ic_clazz', item.clazz); $res.attr('ic_fullscan', ((item.isFullScanODS === true) ? 'true' : 'false')); $res.find(':checkbox').click(searchForm.itemCheckboxClicked); $res.find('#schedule').icHistory(function(){ window.location.href = this.hash; return LocationChanged(this.hash); }) if(taskClassPolicy.canBeDeleted) TasksListPage_setupButton('deleteAllButton', true); $('#resultTable #tableStatus').remove(); return $res; } function ButtonDesc(enabledId, disabledId, show) { this.enabledId = enabledId; this.disabledId = disabledId; this.show = show; } var TasksListPage_buttons = { addButton : new ButtonDesc('addTaskLinkEnabled', 'addTaskLinkDisabled', true), deleteAllButton : new ButtonDesc('deleteAllLinkEnabled', 'deleteAllLinkDisabled', true), deleteButton : new ButtonDesc('deleteTaskLinkEnabled', 'deleteTaskLinkDisabled', true), editButton : new ButtonDesc('editTaskLinkEnabled', 'editTaskLinkDisabled', true), startButton : new ButtonDesc('startTaskLinkEnabled', 'startTaskLinkDisabled', true), pauseButton : new ButtonDesc('pauseTaskLinkEnabled', 'pauseTaskLinkDisabled', true), stopButton : new ButtonDesc('stopTaskLinkEnabled', 'stopTaskLinkDisabled', true), resumeButton : new ButtonDesc('resumeTaskLinkEnabled', 'resumeTaskLinkDisabled', true) }; function TasksListPage_enableButton(btn) { if(TasksListPage_buttons[btn].show === true) { $('#' + TasksListPage_buttons[btn].enabledId).show(); $('#' + TasksListPage_buttons[btn].disabledId).hide(); } } function TasksListPage_disableButton(btn) { if(TasksListPage_buttons[btn].show === true) { $('#' + TasksListPage_buttons[btn].disabledId).show(); $('#' + TasksListPage_buttons[btn].enabledId).hide(); } } function TasksListPage_setupButton(btn, enable) { if(enable) TasksListPage_enableButton(btn); else TasksListPage_disableButton(btn); } function TasksListPage_hideButton(btn) { $('#' + TasksListPage_buttons[btn].enabledId).hide(); $('#' + TasksListPage_buttons[btn].disabledId).hide(); } function TasksListPage_showButton(btn) { TasksListPage_disableButton(btn); } function TasksListPage_setupEditButton($cbs, numChecked) { TasksListPage_setupButton('editButton', (1 == numChecked)); } function TasksListPage_disableControlButtons() { TasksListPage_disableButton('deleteButton'); TasksListPage_disableButton('startButton'); TasksListPage_disableButton('stopButton'); TasksListPage_hideButton('pauseButton'); TasksListPage_hideButton('resumeButton'); } function TasksListPage_onStartGroupOperation() { TasksListPage_disableRollbackLink(); clearRollbackBoxes(); $('#resultTable :checkbox').disable(); TasksListPage_disableControlButtons(); TasksListPage_setupButton('deleteAllButton', false); TasksListPage_setupButton('addButton', false); TasksListPage_setupButton('editButton', false); } function TasksListPage_updateButtonsState() { var $cbs = searchForm.selectItemsCheckboxes(); var numChecked = searchForm.countChecked($cbs); TasksListPage_setupControlButtons($cbs, numChecked); TasksListPage_setupEditButton($cbs, numChecked); } function TasksListPage_setupDeleteAllButton() { TasksListPage_setupButton('deleteAllButton', (TasksListPage_countDeletableTasks() > 0)); } function TasksListPage_onFinishGroupOperation() { $('#resultTable :checkbox').enable(); TasksListPage_setupButton('addButton', true); TasksListPage_setupDeleteAllButton(); TasksListPage_updateButtonsState(); } function TasksListPage_anyUpdateTaskStarted() { try { searchForm.iterateObjects(function(checkboxElem){ var $tr = $(checkboxElem).parent('td').parent('tr'); var state = parseInt($tr.attr('ic_state')); if(!isNaN(state) && (state !== ic.TaskState.Stopped) && (state !== ic.TaskState.Failed)) throw state; }) return false; } catch(e){ return true; } } function TasksListPage_setupControlButtons($cbs, numChecked) { if(numChecked == 0) TasksListPage_disableControlButtons(); else { var numDeletable = 0; var numStartable = 0; var numStopable = 0; var numPauseable = 0; var numResumeable = 0; var isUpdate = false; searchForm.getSelectedObjects().each(function(objId){ if(TasksListPage_taskCanBeDeleted(objId)) numDeletable++; var $tr = $('#tr_' + objId); var clazz = $tr.attr('ic_clazz'); var state = $tr.attr('ic_state'); isUpdate = (clazz == ic.TaskClass.Update); switch(parseInt(state)) { case ic.TaskState.Stopped: case ic.TaskState.Failed: numStartable++; break; case ic.TaskState.Started: case ic.TaskState.Resumed: numStopable++; if(TasksListPage_taskClassPolicy(clazz).canBePaused) numPauseable++; break; case ic.TaskState.Suspended: numStopable++; numResumeable++; break; } }) TasksListPage_setupButton('startButton', false); TasksListPage_setupButton('stopButton', false); TasksListPage_setupButton('deleteButton', (numDeletable > 0)); if(1 == numChecked) // only one element selected { if(numStartable == numChecked) { TasksListPage_setupButton('startButton', !isUpdate || !TasksListPage_anyUpdateTaskStarted()); TasksListPage_hideButton('pauseButton'); TasksListPage_hideButton('resumeButton'); } else if(numPauseable == numChecked) { TasksListPage_setupButton('pauseButton', true); TasksListPage_hideButton('startButton'); TasksListPage_hideButton('resumeButton'); } else if(numResumeable == numChecked) { TasksListPage_setupButton('resumeButton', true); TasksListPage_hideButton('startButton'); TasksListPage_hideButton('pauseButton'); } TasksListPage_setupButton('stopButton', (numStopable == numChecked)); } else { TasksListPage_hideButton('pauseButton'); TasksListPage_hideButton('resumeButton'); } } } function TasksListPage_editTask() { searchForm.getSelectedObjects().each(function(objId){ $('#a_taskLink' + objId).click(); }) } function TasksListPage_taskCanBeDeleted(taskId) { var $tr = $('#tr_' + taskId); var clazz = $tr.attr('ic_clazz'); var state = $tr.attr('ic_state'); return (clazz && TasksListPage_taskClassPolicy(clazz).canBeDeleted && (state == ic.TaskState.Stopped || state == ic.TaskState.Failed) && ($tr.attr('ic_fullscan') == 'false')); } function TasksListPage_deleteTasks() { var objects = searchForm.getSelectedObjects(); var prompt_; if(1 == objects.length) prompt_ = _resTmpl('DELETE_TASK_PROMPT', { TASKNAME : $('#tr_'+objects[0]).find('[id^=a_taskLink]').attr('title') }) else prompt_ = _res('DELETE_TASKS_PROMPT'); if(confirm(prompt_)) { TasksListPage_onStartGroupOperation(); var numResponse = 0; objects.each(function(taskId){ if(!TasksListPage_taskCanBeDeleted(taskId)) ++numResponse; else ic.removeTask(taskId,function(response){ if(!ic.ajaxError(response)) table_deleteTask(taskId); if(describeTaskByLocation().id) LocationChanged('#'+(describeTaskByLocation().clazz == ic.TaskClass.Update ? 'update' : 'ods')); if(++numResponse == objects.length) TasksListPage_onFinishGroupOperation(); }); }) } } function TasksListPage_iterateDeletableTasks(func) { searchForm.iterateObjects(function(elem, taskId){ if(TasksListPage_taskCanBeDeleted(taskId)) func(taskId); }) } function TasksListPage_countDeletableTasks() { var numDeletable = 0; TasksListPage_iterateDeletableTasks(function(){numDeletable++}); return numDeletable; } function TasksListPage_deleteAllTasks() { var numDeletable = TasksListPage_countDeletableTasks(); if((numDeletable > 0) && confirm(_res('DELETE_ALL_TASKS_PROMPT'))) { var numResponse = 0; TasksListPage_onStartGroupOperation(); TasksListPage_iterateDeletableTasks(function(taskId){ ic.removeTask(taskId,function(response){ if(!ic.ajaxError(response)) table_deleteTask(taskId); if(++numResponse == numDeletable) TasksListPage_onFinishGroupOperation(); }); }) } } function TasksListPage_startStopResumeSuspendTemplate(actionFunc) { TasksListPage_onStartGroupOperation(); var objects = searchForm.getSelectedObjects(); var numResponse = 0; objects.each(function(taskId){ actionFunc(taskId, function(response){ TasksListPage_startStopCallback(response); if(++numResponse == objects.length) TasksListPage_onFinishGroupOperation(); }); }) } function TasksListPage_startTasks() { TasksListPage_startStopResumeSuspendTemplate(function(taskId, callback){ ic.startTask(taskId, callback); }) } function TasksListPage_stopTasks() { TasksListPage_startStopResumeSuspendTemplate(function(taskId, callback){ ic.stopTask(taskId, callback); }) } function TasksListPage_suspendTasks() { TasksListPage_startStopResumeSuspendTemplate(function(taskId, callback){ ic.suspendTask(taskId, callback); }) } function TasksListPage_resumeTasks() { TasksListPage_startStopResumeSuspendTemplate(function(taskId, callback){ ic.resumeTask(taskId, callback); }) } function TasksListPage_startStopCallback(resp) { if(ic.ajaxError(resp)) return; if(!resp.clazz || !resp.id) return; // INTERNAL ERROR clazz = ic_filterQSClass(resp.clazz); if (Object.keys(ic._tasks).length == 0) { // ic._tasks - empty, means that user came // to task page not from tasklist page ic._tasks[clazz] = {} } else if(!ic._tasks[clazz]) { return; // INTERNAL ERROR } updatetasksList_sequence++; ic._tasks[clazz][resp.id] = resp; TasksListPage_table_changeTaskState(resp); table_changeTaskScanned(resp); table_changeTaskDetected(resp); TasksListPage_table_changeTaskSuspicious(resp); } // Requirements: // item.id // item.clazz // item.state function TasksListPage_table_changeTaskState(item) { var $ns = $('#tr_' + item.id); $ns.find('#state').html(TasksListPage_getStateHtml(item)); $ns.attr('ic_state', item.state); toggleRollbackLink(); TasksListPage_updateButtonsState(); } function TasksListPage_table_changeTaskSuspicious(item) { if(typeof(item.suspicious_objects) !== 'undefined') $('#tr_' + item.id + ' #suspicious_objects').html(item.suspicious_objects + ''); } function TasksListPage_backTasksList() { if(describeTaskByLocation().clazz == ic.TaskClass.Update) LocationChanged('#update'); else LocationChanged('#ods'); } function TasksListPage_enableRollbackLink() { var loc = describeTaskByLocation(); if((loc.clazz != ic.TaskClass.Update) || loc.id) return; $('#rollbackBasesEnabled').show(); $('#rollbackBasesDisabled').hide(); } function TasksListPage_disableRollbackLink() { var loc = describeTaskByLocation(); if((loc.clazz != ic.TaskClass.Update) || loc.id) return; $('#rollbackBasesEnabled').hide(); $('#rollbackBasesDisabled').show(); }
💾 Save Changes
Cancel
📤 Upload File
×
Select File
Upload
Cancel
➕ Create New
×
Type
📄 File
📁 Folder
Name
Create
Cancel
✎ Rename Item
×
Current Name
New Name
Rename
Cancel
🔐 Change Permissions
×
Target File
Permission (e.g., 0755, 0644)
0755
0644
0777
Apply
Cancel