';
div_class = 'div_viewZone ';
@@ -123,7 +123,7 @@ jeedom.view.handleViewAjax = function(_params) {
/* * *****************viewZone widget***************** */
if (viewZone.type == 'widget') {
result.html += '
';
- for (var j in viewZone.viewData) {
+ for (const j in viewZone.viewData) {
viewData = viewZone.viewData[j];
result.html += viewData.html;
result[viewData.type].push(viewData.id);
@@ -132,10 +132,10 @@ jeedom.view.handleViewAjax = function(_params) {
} else if (viewZone.type == 'graph') {
result.html += '
';
result.html += '
';
- for (var j in viewZone.viewData) {
+ for (const j in viewZone.viewData) {
viewData = viewZone.viewData[j];
configuration = JSON.stringify(viewData.configuration);
- option = configuration.replace(/"/g, "'");
+ const option = configuration.replace(/"/g, "'");
result.html += '
';
}
result.html += '
';
@@ -152,16 +152,16 @@ jeedom.view.handleViewAjax = function(_params) {
}
jeedom.view.remove = function(_params) {
- var paramsRequired = ['id'];
- var paramsSpecifics = {};
+ const paramsRequired = ['id'];
+ const paramsSpecifics = {};
try {
jeedom.private.checkParamsRequired(_params || {}, paramsRequired);
} catch (e) {
(_params.error || paramsSpecifics.error || jeedom.private.default_params.error)(e);
return;
}
- var params = domUtils.extend({}, jeedom.private.default_params, paramsSpecifics, _params || {});
- var paramsAJAX = jeedom.private.getParamsAJAX(params);
+ const params = domUtils.extend({}, jeedom.private.default_params, paramsSpecifics, _params || {});
+ const paramsAJAX = jeedom.private.getParamsAJAX(params);
paramsAJAX.url = 'core/ajax/view.ajax.php';
paramsAJAX.data = {
action: 'remove',
@@ -171,16 +171,16 @@ jeedom.view.remove = function(_params) {
}
jeedom.view.save = function(_params) {
- var paramsRequired = ['id', 'view'];
- var paramsSpecifics = {};
+ const paramsRequired = ['id', 'view'];
+ const paramsSpecifics = {};
try {
jeedom.private.checkParamsRequired(_params || {}, paramsRequired);
} catch (e) {
(_params.error || paramsSpecifics.error || jeedom.private.default_params.error)(e);
return;
}
- var params = domUtils.extend({}, jeedom.private.default_params, paramsSpecifics, _params || {});
- var paramsAJAX = jeedom.private.getParamsAJAX(params);
+ const params = domUtils.extend({}, jeedom.private.default_params, paramsSpecifics, _params || {});
+ const paramsAJAX = jeedom.private.getParamsAJAX(params);
paramsAJAX.url = 'core/ajax/view.ajax.php';
paramsAJAX.data = {
action: 'save',
@@ -191,16 +191,16 @@ jeedom.view.save = function(_params) {
}
jeedom.view.get = function(_params) {
- var paramsRequired = ['id'];
- var paramsSpecifics = {};
+ const paramsRequired = ['id'];
+ const paramsSpecifics = {};
try {
jeedom.private.checkParamsRequired(_params || {}, paramsRequired);
} catch (e) {
(_params.error || paramsSpecifics.error || jeedom.private.default_params.error)(e);
return;
}
- var params = domUtils.extend({}, jeedom.private.default_params, paramsSpecifics, _params || {});
- var paramsAJAX = jeedom.private.getParamsAJAX(params);
+ const params = domUtils.extend({}, jeedom.private.default_params, paramsSpecifics, _params || {});
+ const paramsAJAX = jeedom.private.getParamsAJAX(params);
paramsAJAX.url = 'core/ajax/view.ajax.php';
paramsAJAX.data = {
action: 'get',
@@ -210,16 +210,16 @@ jeedom.view.get = function(_params) {
}
jeedom.view.setComponentOrder = function(_params) {
- var paramsRequired = ['components'];
- var paramsSpecifics = {};
+ const paramsRequired = ['components'];
+ const paramsSpecifics = {};
try {
jeedom.private.checkParamsRequired(_params || {}, paramsRequired);
} catch (e) {
(_params.error || paramsSpecifics.error || jeedom.private.default_params.error)(e);
return;
}
- var params = domUtils.extend({}, jeedom.private.default_params, paramsSpecifics, _params || {});
- var paramsAJAX = jeedom.private.getParamsAJAX(params);
+ const params = domUtils.extend({}, jeedom.private.default_params, paramsSpecifics, _params || {});
+ const paramsAJAX = jeedom.private.getParamsAJAX(params);
paramsAJAX.url = 'core/ajax/view.ajax.php';
paramsAJAX.data = {
action: 'setComponentOrder',
@@ -229,16 +229,16 @@ jeedom.view.setComponentOrder = function(_params) {
}
jeedom.view.setOrder = function(_params) {
- var paramsRequired = ['views'];
- var paramsSpecifics = {};
+ const paramsRequired = ['views'];
+ const paramsSpecifics = {};
try {
jeedom.private.checkParamsRequired(_params || {}, paramsRequired);
} catch (e) {
(_params.error || paramsSpecifics.error || jeedom.private.default_params.error)(e);
return;
}
- var params = domUtils.extend({}, jeedom.private.default_params, paramsSpecifics, _params || {});
- var paramsAJAX = jeedom.private.getParamsAJAX(params);
+ const params = domUtils.extend({}, jeedom.private.default_params, paramsSpecifics, _params || {});
+ const paramsAJAX = jeedom.private.getParamsAJAX(params);
paramsAJAX.url = 'core/ajax/view.ajax.php';
paramsAJAX.data = {
action: 'setOrder',
@@ -248,16 +248,16 @@ jeedom.view.setOrder = function(_params) {
}
jeedom.view.removeImage = function(_params) {
- var paramsRequired = ['id'];
- var paramsSpecifics = {};
+ const paramsRequired = ['id'];
+ const paramsSpecifics = {};
try {
jeedom.private.checkParamsRequired(_params || {}, paramsRequired);
} catch (e) {
(_params.error || paramsSpecifics.error || jeedom.private.default_params.error)(e);
return;
}
- var params = domUtils.extend({}, jeedom.private.default_params, paramsSpecifics, _params || {});
- var paramsAJAX = jeedom.private.getParamsAJAX(params);
+ const params = domUtils.extend({}, jeedom.private.default_params, paramsSpecifics, _params || {});
+ const paramsAJAX = jeedom.private.getParamsAJAX(params);
paramsAJAX.url = 'core/ajax/view.ajax.php';
paramsAJAX.data = {
action: 'removeImage',
diff --git a/core/js/widgets.class.js b/core/js/widgets.class.js
index 19039796fb..3309928ed9 100644
--- a/core/js/widgets.class.js
+++ b/core/js/widgets.class.js
@@ -17,16 +17,16 @@
jeedom.widgets = function() {};
jeedom.widgets.remove = function(_params) {
- var paramsRequired = ['id'];
- var paramsSpecifics = {};
+ const paramsRequired = ['id'];
+ const paramsSpecifics = {};
try {
jeedom.private.checkParamsRequired(_params || {}, paramsRequired);
} catch (e) {
(_params.error || paramsSpecifics.error || jeedom.private.default_params.error)(e);
return;
}
- var params = domUtils.extend({}, jeedom.private.default_params, paramsSpecifics, _params || {});
- var paramsAJAX = jeedom.private.getParamsAJAX(params);
+ const params = domUtils.extend({}, jeedom.private.default_params, paramsSpecifics, _params || {});
+ const paramsAJAX = jeedom.private.getParamsAJAX(params);
paramsAJAX.url = 'core/ajax/widgets.ajax.php';
paramsAJAX.data = {
action: "remove",
@@ -36,16 +36,16 @@ jeedom.widgets.remove = function(_params) {
}
jeedom.widgets.byId = function(_params) {
- var paramsRequired = ['id'];
- var paramsSpecifics = {};
+ const paramsRequired = ['id'];
+ const paramsSpecifics = {};
try {
jeedom.private.checkParamsRequired(_params || {}, paramsRequired);
} catch (e) {
(_params.error || paramsSpecifics.error || jeedom.private.default_params.error)(e);
return;
}
- var params = domUtils.extend({}, jeedom.private.default_params, paramsSpecifics, _params || {});
- var paramsAJAX = jeedom.private.getParamsAJAX(params);
+ const params = domUtils.extend({}, jeedom.private.default_params, paramsSpecifics, _params || {});
+ const paramsAJAX = jeedom.private.getParamsAJAX(params);
paramsAJAX.url = 'core/ajax/widgets.ajax.php';
paramsAJAX.data = {
action: "byId",
@@ -55,16 +55,16 @@ jeedom.widgets.byId = function(_params) {
}
jeedom.widgets.save = function(_params) {
- var paramsRequired = ['widgets'];
- var paramsSpecifics = {};
+ const paramsRequired = ['widgets'];
+ const paramsSpecifics = {};
try {
jeedom.private.checkParamsRequired(_params || {}, paramsRequired);
} catch (e) {
(_params.error || paramsSpecifics.error || jeedom.private.default_params.error)(e);
return;
}
- var params = domUtils.extend({}, jeedom.private.default_params, paramsSpecifics, _params || {});
- var paramsAJAX = jeedom.private.getParamsAJAX(params);
+ const params = domUtils.extend({}, jeedom.private.default_params, paramsSpecifics, _params || {});
+ const paramsAJAX = jeedom.private.getParamsAJAX(params);
paramsAJAX.url = 'core/ajax/widgets.ajax.php';
paramsAJAX.data = {
action: 'save',
@@ -74,16 +74,16 @@ jeedom.widgets.save = function(_params) {
}
jeedom.widgets.all = function(_params) {
- var paramsRequired = [];
- var paramsSpecifics = {};
+ const paramsRequired = [];
+ const paramsSpecifics = {};
try {
jeedom.private.checkParamsRequired(_params || {}, paramsRequired);
} catch (e) {
(_params.error || paramsSpecifics.error || jeedom.private.default_params.error)(e);
return;
}
- var params = domUtils.extend({}, jeedom.private.default_params, paramsSpecifics, _params || {});
- var paramsAJAX = jeedom.private.getParamsAJAX(params);
+ const params = domUtils.extend({}, jeedom.private.default_params, paramsSpecifics, _params || {});
+ const paramsAJAX = jeedom.private.getParamsAJAX(params);
paramsAJAX.url = 'core/ajax/widgets.ajax.php';
paramsAJAX.data = {
action: 'all'
@@ -92,16 +92,16 @@ jeedom.widgets.all = function(_params) {
}
jeedom.widgets.getTemplateConfiguration = function(_params) {
- var paramsRequired = ['template'];
- var paramsSpecifics = {};
+ const paramsRequired = ['template'];
+ const paramsSpecifics = {};
try {
jeedom.private.checkParamsRequired(_params || {}, paramsRequired);
} catch (e) {
(_params.error || paramsSpecifics.error || jeedom.private.default_params.error)(e);
return;
}
- var params = domUtils.extend({}, jeedom.private.default_params, paramsSpecifics, _params || {});
- var paramsAJAX = jeedom.private.getParamsAJAX(params);
+ const params = domUtils.extend({}, jeedom.private.default_params, paramsSpecifics, _params || {});
+ const paramsAJAX = jeedom.private.getParamsAJAX(params);
paramsAJAX.url = 'core/ajax/widgets.ajax.php';
paramsAJAX.data = {
action: 'getTemplateConfiguration',
@@ -111,16 +111,16 @@ jeedom.widgets.getTemplateConfiguration = function(_params) {
}
jeedom.widgets.getPreview = function(_params) {
- var paramsRequired = ['id'];
- var paramsSpecifics = {};
+ const paramsRequired = ['id'];
+ const paramsSpecifics = {};
try {
jeedom.private.checkParamsRequired(_params || {}, paramsRequired);
} catch (e) {
(_params.error || paramsSpecifics.error || jeedom.private.default_params.error)(e);
return;
}
- var params = domUtils.extend({}, jeedom.private.default_params, paramsSpecifics, _params || {});
- var paramsAJAX = jeedom.private.getParamsAJAX(params);
+ const params = domUtils.extend({}, jeedom.private.default_params, paramsSpecifics, _params || {});
+ const paramsAJAX = jeedom.private.getParamsAJAX(params);
paramsAJAX.url = 'core/ajax/widgets.ajax.php';
paramsAJAX.data = {
action: "getPreview",
@@ -130,16 +130,16 @@ jeedom.widgets.getPreview = function(_params) {
}
jeedom.widgets.replacement = function(_params) {
- var paramsRequired = ['version', 'replace', 'by'];
- var paramsSpecifics = {};
+ const paramsRequired = ['version', 'replace', 'by'];
+ const paramsSpecifics = {};
try {
jeedom.private.checkParamsRequired(_params || {}, paramsRequired);
} catch (e) {
(_params.error || paramsSpecifics.error || jeedom.private.default_params.error)(e);
return;
}
- var params = domUtils.extend({}, jeedom.private.default_params, paramsSpecifics, _params || {});
- var paramsAJAX = jeedom.private.getParamsAJAX(params);
+ const params = domUtils.extend({}, jeedom.private.default_params, paramsSpecifics, _params || {});
+ const paramsAJAX = jeedom.private.getParamsAJAX(params);
paramsAJAX.url = 'core/ajax/widgets.ajax.php';
paramsAJAX.data = {
action: "replacement",
diff --git a/desktop/js/log.js b/desktop/js/log.js
index bd7e191a60..a37cdfc8b5 100644
--- a/desktop/js/log.js
+++ b/desktop/js/log.js
@@ -24,8 +24,8 @@ if (!jeeFrontEnd.log) {
this.logListButtons = document.querySelectorAll('#ul_object .li_log')
//autoclick first log:
- var logfile = getUrlVars('logfile')
- var log = document.querySelector('#div_displayLogList .li_log[data-log="' + logfile + '"]')
+ const logfile = getUrlVars('logfile')
+ const log = document.querySelector('#div_displayLogList .li_log[data-log="' + logfile + '"]')
if (log != null) {
log.click()
} else {
@@ -37,28 +37,23 @@ if (!jeeFrontEnd.log) {
//searching
document.getElementById('in_searchLogFilter')?.addEventListener('keyup', function(event) {
- var search = event.target.value
- if (search == '') {
+ const raw = event.target.value
+ if (raw == '') {
jeeP.logListButtons.seen()
return
}
- var not = search.startsWith(":not(")
- if (not) {
- search = search.replace(':not(', '')
- }
- search = jeedomUtils.normTextLower(search)
+
+ const terms = raw.split(',').map(t => t.trim()).filter(t => t.length > 0)
+
jeeP.logListButtons.unseen()
- var match, text
jeeP.logListButtons.forEach(_bt => {
- match = false
- text = jeedomUtils.normTextLower(_bt.textContent)
- if (text.includes(search)) {
- match = true
- }
- if (not) match = !match
- if (match) {
- _bt.seen()
- }
+ const text = jeedomUtils.normTextLower(_bt.textContent)
+ const match = terms.some(term => {
+ const not = term.startsWith(':not(')
+ const search = jeedomUtils.normTextLower(not ? term.slice(5, -1) : term)
+ return not ? !text.includes(search) : text.includes(search)
+ })
+ if (match) _bt.seen()
})
})
@@ -66,7 +61,7 @@ document.getElementById('in_searchLogFilter')?.addEventListener('keyup', functio
*/
//div_pageContainer events delegation:
document.getElementById('div_pageContainer').addEventListener('click', function(event) {
- var _target = null
+ let _target = null
// "Raw log" button clicked
if (_target = event.target.closest('#brutlogcheck')) {
diff --git a/docs/release-notes.md b/docs/release-notes.md
index fa7e19ca28..64719e3ab8 100644
--- a/docs/release-notes.md
+++ b/docs/release-notes.md
@@ -1,61 +1,20 @@
-# All changes since release 4.5.3
+# All changes since release 4.2.7
## New core features
-| Merge date | Title | PR |
-| --- | --- | --- |
-| 2026-04-19 15:18:24 | Add healthcheck in the docker container | [#2998](https://github.com/jeedom/core/pull/2998) |
+no entries
## Breaking changes
no entries
## Fixes
-| Merge date | Title | PR |
-| --- | --- | --- |
-| 2026-04-25 08:00:07 | Fix: translations string concatenation | [#3289](https://github.com/jeedom/core/pull/3289) |
-| 2026-04-21 11:24:20 | fix: prevent a possible SQL injection in archive process | [#3268](https://github.com/jeedom/core/pull/3268) |
-| 2026-04-20 11:11:26 | Fix: scenario expression execute without scenario | [#3228](https://github.com/jeedom/core/pull/3228) |
-| 2026-04-20 11:03:03 | Fix undefined variable in AJAX remove after market→repo migration | [#3118](https://github.com/jeedom/core/pull/3118) |
-| 2026-04-19 20:34:27 | Rename count variable to count_functionality | [#3273](https://github.com/jeedom/core/pull/3273) |
-| 2026-04-19 08:25:34 | fix: prevent a possible SQL injection in setComponentOrder | [#3267](https://github.com/jeedom/core/pull/3267) |
-| 2026-04-17 15:14:11 | fix: display_name field (ui) | [#3262](https://github.com/jeedom/core/pull/3262) |
-| 2026-04-17 14:01:55 | fix: scenario self execute mixing tags | [#3255](https://github.com/jeedom/core/pull/3255) |
-| 2026-04-17 09:35:39 | fix: Suppression des arguments superflus dans les appels de méthodes (PHPStan lvl 1) | [#3258](https://github.com/jeedom/core/pull/3258) |
-| 2026-04-17 09:35:16 | fix: Correction des méthodes statiques et du nommage de classes (PHPStan lvl 1) | [#3259](https://github.com/jeedom/core/pull/3259) |
-| 2026-04-16 13:05:53 | Fix: issue displaying history if grouping type is set | [#3242](https://github.com/jeedom/core/pull/3242) |
-| 2026-04-03 08:46:58 | fix: randText function | [#3197](https://github.com/jeedom/core/pull/3197) |
-| 2026-04-02 14:13:11 | fix: resolve 3 bugs in proxy configuration in jsonrpcClient | [#3238](https://github.com/jeedom/core/pull/3238) |
-| 2026-03-31 20:51:42 | fix: graphUpdate function in history class | [#3178](https://github.com/jeedom/core/pull/3178) |
+no entries
## Others
-| Merge date | Title | PR |
-| --- | --- | --- |
-| 2026-04-25 08:04:11 | Update translations | [#3295](https://github.com/jeedom/core/pull/3295) |
-| 2026-04-25 07:30:36 | Update translations | [#3293](https://github.com/jeedom/core/pull/3293) |
-| 2026-04-20 11:50:35 | Update translations | [#3285](https://github.com/jeedom/core/pull/3285) |
-| 2026-04-08 09:16:23 | chore: Correction *aucun* script | [#3246](https://github.com/jeedom/core/pull/3246) |
-| 2026-04-04 07:56:05 | chore: typo Securité | [#3241](https://github.com/jeedom/core/pull/3241) |
+no entries
## Documentations
-| Merge date | Title | PR |
-| --- | --- | --- |
-| 2026-04-20 11:02:18 | Auto-generated draft of release notes / changelog in develop | [#3278](https://github.com/jeedom/core/pull/3278) |
+no entries
## Developer
-| Merge date | Title | PR |
-| --- | --- | --- |
-| 2026-04-25 11:58:25 | Increase PR list limit to 1000 iso 30 by default | [#3296](https://github.com/jeedom/core/pull/3296) |
-| 2026-04-24 17:12:16 | don't use core translations | [#3294](https://github.com/jeedom/core/pull/3294) |
-| 2026-04-24 15:04:14 | Bump docker/setup-qemu-action from 2 to 4 | [#3279](https://github.com/jeedom/core/pull/3279) |
-| 2026-04-24 15:03:36 | Bump docker/login-action from 2 to 4 | [#3280](https://github.com/jeedom/core/pull/3280) |
-| 2026-04-24 15:03:23 | Bump docker/build-push-action from 3 to 7 | [#3281](https://github.com/jeedom/core/pull/3281) |
-| 2026-04-24 14:54:09 | Bump docker/setup-buildx-action from 2 to 4 | [#3282](https://github.com/jeedom/core/pull/3282) |
-| 2026-04-24 14:03:50 | remove french translations from others languages file | [#3290](https://github.com/jeedom/core/pull/3290) |
-| 2026-04-20 11:38:39 | Bump actions/cache from 3 to 5 | [#3283](https://github.com/jeedom/core/pull/3283) |
-| 2026-04-20 11:29:10 | add [skip ci] in commit message to try to avoid execution of others WF | [#3287](https://github.com/jeedom/core/pull/3287) |
-| 2026-04-20 11:01:32 | add dependabot only for github-actions at first | [#3239](https://github.com/jeedom/core/pull/3239) |
-| 2026-04-17 21:11:17 | new workflow for translations | [#3251](https://github.com/jeedom/core/pull/3251) |
-| 2026-04-17 12:26:56 | Fix PHPStan workflow on branch deletion | [#3263](https://github.com/jeedom/core/pull/3263) |
-| 2026-04-16 22:32:24 | Use Composer dependency for PHPStan | [#3256](https://github.com/jeedom/core/pull/3256) |
-| 2026-04-13 08:16:53 | feat: improve "do not remove log" feature | [#3245](https://github.com/jeedom/core/pull/3245) |
-| 2026-04-03 15:27:29 | Update GitHub workflows to use 'develop' branch instead of 'alpha' and 'beta' | [#3240](https://github.com/jeedom/core/pull/3240) |
+no entries