diff --git a/desktop/js/scenario.js b/desktop/js/scenario.js index 2dd3778ada..197add4887 100644 --- a/desktop/js/scenario.js +++ b/desktop/js/scenario.js @@ -116,7 +116,7 @@ if (!jeeFrontEnd.scenario) { }, //Copy / Paste removeObjectProp: function(obj, propToDelete) { - for (var property in obj) { + for (const property in obj) { if (obj.hasOwnProperty(property)) { if (typeof obj[property] == 'object') { this.removeObjectProp(obj[property], propToDelete) @@ -129,9 +129,9 @@ if (!jeeFrontEnd.scenario) { } }, setSortables: function() { - var selector = '.subElementACTION > .expressions, .subElementDO > .expressions, .subElementTHEN > .expressions, .subElementELSE > .expressions' - var containers = document.getElementById('div_scenarioElement').querySelectorAll(selector) - var commonOptions = { + const selector = '.subElementACTION > .expressions, .subElementDO > .expressions, .subElementTHEN > .expressions, .subElementELSE > .expressions' + const containers = document.getElementById('div_scenarioElement').querySelectorAll(selector) + const commonOptions = { group: { name: 'expressionSorting', }, @@ -177,7 +177,7 @@ if (!jeeFrontEnd.scenario) { if (Sortable.get(_Sortcontainer)) Sortable.get(_Sortcontainer).destroy() new Sortable(_Sortcontainer, commonOptions) }) - var root = document.getElementById('root') + const root = document.getElementById('root') if (root) { if (Sortable.get(root)) Sortable.get(root).destroy() new Sortable(root, commonOptions) @@ -188,15 +188,15 @@ if (!jeeFrontEnd.scenario) { Create same hierarchie for root elements to manage sortables: //root -> expressions -> expression -> col-xs-12 -> element */ - var root = document.querySelector('#div_scenarioElement #root') + const root = document.querySelector('#div_scenarioElement #root') if (!root) { document.getElementById('div_scenarioElement').insertAdjacentHTML('afterbegin', '
') root = document.querySelector('#div_scenarioElement #root') } - var rootElements = document.querySelectorAll('#div_scenarioElement > div.element') + const rootElements = document.querySelectorAll('#div_scenarioElement > div.element') if (rootElements.length > 0) { rootElements.forEach(_element => { - var exp = document.createElement('div') + const exp = document.createElement('div') exp.addClass('expression sortable col-xs-12') exp.insertAdjacentHTML('afterbegin', '') exp.insertAdjacentHTML('afterbegin', '') @@ -238,7 +238,7 @@ if (!jeeFrontEnd.scenario) { }, success: function(data) { domUtils.showLoading() - for (var i in data) { + for (const i in data) { document.getElementById(data[i].id).html(data[i].html.html, true) } domUtils.hideLoading() @@ -249,15 +249,15 @@ if (!jeeFrontEnd.scenario) { updateDefinedActions: function(cmdModal = false) { //cmdModal called from cmd.configure modal to update ui list! if (cmdModal) { - var scId = document.querySelector('div#div_editScenario span[data-l1key="id"]').textContent - var cmdId = document.querySelector('div#cmd_information span[data-l1key="id"]')?.textContent + const scId = document.querySelector('div#div_editScenario span[data-l1key="id"]').textContent + const cmdId = document.querySelector('div#cmd_information span[data-l1key="id"]')?.textContent - var cmdName = jeephp2js.md_cmdConfigure_cmdInfo.eqLogicHumanName + '[' + jeephp2js.md_cmdConfigure_cmdInfo.name + ']' + const cmdName = jeephp2js.md_cmdConfigure_cmdInfo.eqLogicHumanName + '[' + jeephp2js.md_cmdConfigure_cmdInfo.name + ']' //clean actual cmd from list: jeeP.dataDefinedAction = jeeP.dataDefinedAction.filter(i => i['cmdId'] != cmdId) - var action, scenario_id, enable + let action, scenario_id, enable document.querySelectorAll('.actionCheckCmd').forEach(function(_cmd) { action = _cmd.querySelector('input[data-type="actionCheckCmd"]').jeeValue() if (action != "scenario") return true @@ -305,9 +305,9 @@ if (!jeeFrontEnd.scenario) { } document.querySelector('.defined_actions').empty() - var htmlActions = '' - var prefix = '' - for (var i in jeeP.dataDefinedAction) { + let htmlActions = '' + let prefix = '' + for (const i in jeeP.dataDefinedAction) { if (jeeP.dataDefinedAction[i]['type'] == 'actionCheckCmd') prefix = 'Value -> ' if (jeeP.dataDefinedAction[i]['type'] == 'jeedomPreExecCmd') prefix = 'PreExec -> ' if (jeeP.dataDefinedAction[i]['type'] == 'jeedomPostExecCmd') prefix = 'PostExec -> ' @@ -390,7 +390,7 @@ if (!jeeFrontEnd.scenario) { //Triggers: if (Array.isArray(data.trigger)) { - for (var i in data.trigger) { + for (const i in data.trigger) { if (data.trigger[i] != '' && data.trigger[i] != null) { jeeP.addTrigger(data.trigger[i]) } @@ -402,7 +402,7 @@ if (!jeeFrontEnd.scenario) { } if (Array.isArray(data.schedule)) { - for (var i in data.schedule) { + for (const i in data.schedule) { if (data.schedule[i] != '' && data.schedule[i] != null) { jeeP.addSchedule(data.schedule[i]) } @@ -422,10 +422,10 @@ if (!jeeFrontEnd.scenario) { //Links: document.querySelector('#generaltab div.scenario_link_getUsedBy').empty() document.querySelector('#generaltab div.scenario_link_getUse').empty() - var html_getUsedBy = '' - var html_getUse = '' + let html_getUsedBy = '' + let html_getUse = '' if (data.scenario_link.scenario) { - for (var i in data.scenario_link.scenario) { + for (const i in data.scenario_link.scenario) { if (data.scenario_link.scenario[i].link == 'getUsedBy') { if (data.scenario_link.scenario[i].isActive == 1) { html_getUsedBy += '' + data.scenario_link.scenario[i].name + '
' @@ -453,8 +453,8 @@ if (!jeeFrontEnd.scenario) { jeeP.actionOptions = [] - var elements = '' - for (var i in data.elements) { + const elements = '' + for (const i in data.elements) { elements += jeeP.addElement(data.elements[i]) } document.getElementById('div_scenarioElement').insertAdjacentHTML('beforeend', elements) @@ -467,9 +467,9 @@ if (!jeeFrontEnd.scenario) { jeeP.updateElementCollapse() jeeP.updateElseToggle() jeedomUtils.taAutosize() - var title = '' + let title = '' if (data.name) title = data.name + ' - ' + JEEDOM_PRODUCT_NAME - var hash = window.location.hash + const hash = window.location.hash jeedomUtils.addOrUpdateUrl('id', data.id, title) if (hash == '') { document.querySelector('.nav-tabs a[data-target="#generaltab"]').click() @@ -497,12 +497,12 @@ if (!jeeFrontEnd.scenario) { saveScenario: function(_callback) { jeedomUtils.hideAlert() //Get scenarios settings: - var scenario = this.dom_divScenario.getJeeValues('.scenarioAttr')[0] + const scenario = this.dom_divScenario.getJeeValues('.scenarioAttr')[0] if (typeof scenario.trigger == 'undefined') scenario.trigger = '' if (typeof scenario.schedule == 'undefined') scenario.schedule = '' //Get scenario elements: - var elements = [] + const elements = [] document.getElementById('root').querySelectorAll(':scope > .expression').forEach(_exp => { elements.push(jeeP.getElement(_exp.querySelector('div.element'))) }) @@ -519,7 +519,7 @@ if (!jeeFrontEnd.scenario) { success: function(data) { jeeFrontEnd.modifyWithoutSave = false jeeP.resetUndo() - var url = 'index.php?v=d&p=scenario&id=' + data.id + '&saveSuccessFull=1' + const url = 'index.php?v=d&p=scenario&id=' + data.id + '&saveSuccessFull=1' if (window.location.hash != '') { url += window.location.hash } @@ -532,7 +532,7 @@ if (!jeeFrontEnd.scenario) { }, //Adding: addTrigger: function(_trigger) { - var div = '
' + let div = '
' div += '' div += '
' div += '
' @@ -549,7 +549,7 @@ if (!jeeFrontEnd.scenario) { document.querySelector('.provokeMode').insertAdjacentHTML('beforeend', div) }, addSchedule: function(_schedule) { - var div = '
' + let div = '
' div += '' div += '
' div += '
' @@ -565,12 +565,12 @@ if (!jeeFrontEnd.scenario) { }, addExpression: function(_expression) { if (!isset(_expression) || !isset(_expression.type) || _expression.type == '') return '' - var sortable = 'sortable' + let sortable = 'sortable' if (_expression.type == 'condition' || _expression.type == 'code') { sortable = 'noSortable' } - var retour = '
' + let retour = '
' if (_expression.type == 'action') { retour = '
' } @@ -600,7 +600,7 @@ if (!jeeFrontEnd.scenario) { if (isset(_expression.element) && isset(_expression.element.html)) { retour += _expression.element.html } else { - var element = jeeP.addElement(_expression.element, true) + const element = jeeP.addElement(_expression.element, true) if (element.trim() == '') { return '' } @@ -621,7 +621,7 @@ if (!jeeFrontEnd.scenario) { } else { retour += '' } - var expression_txt = init(_expression.expression) + let expression_txt = init(_expression.expression) if (typeof expression_txt != 'string') { expression_txt = JSON.stringify(expression_txt) } @@ -636,7 +636,7 @@ if (!jeeFrontEnd.scenario) { retour += '' retour += '' retour += '
' - var actionOption_id = jeedomUtils.uniqId() + const actionOption_id = jeedomUtils.uniqId() retour += '
' retour += '
' this.actionOptions.push({ @@ -660,12 +660,12 @@ if (!jeeFrontEnd.scenario) { addSubElement: function(_subElement) { if (!isset(_subElement.type) || _subElement.type == '') return '' if (!isset(_subElement.options)) _subElement.options = {} - var noSortable = '' + let noSortable = '' if (_subElement.type == 'if' || _subElement.type == 'for' || _subElement.type == 'code') { noSortable = 'noSortable' } - var blocClass = '' + let blocClass = '' switch (_subElement.type) { case 'if': blocClass = 'subElementIF' @@ -698,7 +698,7 @@ if (!jeeFrontEnd.scenario) { blocClass = 'subElementACTION' break } - var retour = '
' + let retour = '
' retour += '' retour += '' retour += '' @@ -730,7 +730,7 @@ if (!jeeFrontEnd.scenario) { retour += '
' retour += '
' - var expression = { + const expression = { type: 'condition' } if (isset(_subElement.expressions) && isset(_subElement.expressions[0])) { @@ -749,7 +749,7 @@ if (!jeeFrontEnd.scenario) { retour += '
' retour += '
' if (isset(_subElement.expressions)) { - for (var k in _subElement.expressions) { + for (const k in _subElement.expressions) { retour += this.addExpression(_subElement.expressions[k]) } } @@ -764,7 +764,7 @@ if (!jeeFrontEnd.scenario) { retour += '
' retour += '
' if (isset(_subElement.expressions)) { - for (var k in _subElement.expressions) { + for (const k in _subElement.expressions) { retour += this.addExpression(_subElement.expressions[k]) } } @@ -790,7 +790,7 @@ if (!jeeFrontEnd.scenario) { retour += '{{DE 1 A}}' retour += '
' retour += '
' - var expression = { + const expression = { type: 'condition' } if (isset(_subElement.expressions) && isset(_subElement.expressions[0])) { @@ -820,7 +820,7 @@ if (!jeeFrontEnd.scenario) { retour += '{{DANS}}' retour += '
' retour += '
' - var expression = { + const expression = { type: 'condition' } if (isset(_subElement.expressions) && isset(_subElement.expressions[0])) { @@ -850,7 +850,7 @@ if (!jeeFrontEnd.scenario) { retour += '{{A}}(Hmm)' retour += '
' retour += '
' - var expression = { + const expression = { type: 'condition' } if (isset(_subElement.expressions) && isset(_subElement.expressions[0])) { @@ -869,7 +869,7 @@ if (!jeeFrontEnd.scenario) { retour += '
' retour += '
' if (isset(_subElement.expressions)) { - for (var k in _subElement.expressions) { + for (const k in _subElement.expressions) { retour += this.addExpression(_subElement.expressions[k]) } } @@ -893,7 +893,7 @@ if (!jeeFrontEnd.scenario) { retour += '
' retour += '
' retour += '{{CODE}}' - var expression = { + const expression = { type: 'code' } if (isset(_subElement.expressions) && isset(_subElement.expressions[0]) && typeof _subElement.expressions[0].expression == "string") { @@ -921,7 +921,7 @@ if (!jeeFrontEnd.scenario) { retour += '
' retour += '
' retour += '{{COMMENTAIRE}}' - var expression = { + const expression = { type: 'comment' } if (isset(_subElement.expressions) && isset(_subElement.expressions[0])) { @@ -929,7 +929,7 @@ if (!jeeFrontEnd.scenario) { if (typeof expression.expression === 'object') { expression.expression = JSON.stringify(expression.expression, null, 2) } - var txt = expression.expression.substring(0, 200).HTMLFormat() + let txt = expression.expression.substring(0, 200).HTMLFormat() txt = '' + txt.split('\n')[0] + '' + txt.replace(txt.split('\n')[0], '') retour += '
' + txt + '
' } else { @@ -974,7 +974,7 @@ if (!jeeFrontEnd.scenario) { retour += '
' retour += '
' if (isset(_subElement.expressions)) { - for (var k in _subElement.expressions) { + for (const k in _subElement.expressions) { retour += this.addExpression(_subElement.expressions[k]) } } @@ -995,7 +995,7 @@ if (!jeeFrontEnd.scenario) { if (!isset(_element)) return if (!isset(_element.type) || _element.type == '') return '' - var elementClass = '' + let elementClass = '' switch (_element.type) { case 'if': elementClass = 'elementIF' @@ -1019,14 +1019,14 @@ if (!jeeFrontEnd.scenario) { elementClass = 'elementACTION' } - var div = '
' + let div = '
' div += '' div += '' switch (_element.type) { case 'if': if (isset(_element.subElements) && isset(_element.subElements)) { - for (var j in _element.subElements) { + for (const j in _element.subElements) { div += this.addSubElement(_element.subElements[j]) } } else { @@ -1043,7 +1043,7 @@ if (!jeeFrontEnd.scenario) { break case 'for': if (isset(_element.subElements) && isset(_element.subElements)) { - for (var j in _element.subElements) { + for (const j in _element.subElements) { div += this.addSubElement(_element.subElements[j]) } } else { @@ -1057,7 +1057,7 @@ if (!jeeFrontEnd.scenario) { break case 'in': if (isset(_element.subElements) && isset(_element.subElements)) { - for (var j in _element.subElements) { + for (const j in _element.subElements) { div += this.addSubElement(_element.subElements[j]) } } else { @@ -1071,7 +1071,7 @@ if (!jeeFrontEnd.scenario) { break case 'at': if (isset(_element.subElements) && isset(_element.subElements)) { - for (var j in _element.subElements) { + for (const j in _element.subElements) { div += this.addSubElement(_element.subElements[j]) } } else { @@ -1085,7 +1085,7 @@ if (!jeeFrontEnd.scenario) { break case 'code': if (isset(_element.subElements) && isset(_element.subElements)) { - for (var j in _element.subElements) { + for (const j in _element.subElements) { div += this.addSubElement(_element.subElements[j]) } } else { @@ -1096,7 +1096,7 @@ if (!jeeFrontEnd.scenario) { break case 'comment': if (isset(_element.subElements) && isset(_element.subElements)) { - for (var j in _element.subElements) { + for (const j in _element.subElements) { div += this.addSubElement(_element.subElements[j]) } } else { @@ -1107,7 +1107,7 @@ if (!jeeFrontEnd.scenario) { break case 'action': if (isset(_element.subElements) && isset(_element.subElements)) { - for (var j in _element.subElements) { + for (const j in _element.subElements) { div += this.addSubElement(_element.subElements[j]) } } else { @@ -1121,7 +1121,7 @@ if (!jeeFrontEnd.scenario) { return div }, getElement: function(dom_element) { - var element = dom_element.getJeeValues('.elementAttr', 1) + const element = dom_element.getJeeValues('.elementAttr', 1) if (element.length == 0) return element = element[0] element.subElements = [] @@ -1131,7 +1131,7 @@ if (!jeeFrontEnd.scenario) { dom_element = [dom_element] } - var subElement, expression_dom, expression, id + const subElement, expression_dom, expression, id dom_element.forEach(function(dom_el) { dom_el.findAtDepth('.subElement', 2).forEach(function(_el) { subElement = _el.getJeeValues('.subElementAttr', 2)[0] @@ -1163,7 +1163,7 @@ if (!jeeFrontEnd.scenario) { }, getAddButton: function(_type, _caret) { if (!isset(_caret)) _caret = false - var retour = '' + let retour = '' if (_caret) { retour += '
' retour += '