From 0a8c9a7059d7dea8aef77bbee91a8df18b837ad2 Mon Sep 17 00:00:00 2001 From: d51x Date: Sun, 22 Oct 2023 20:51:47 +0300 Subject: [PATCH] Add copy rule functionality (#2132) This adds the ability to copy a UI rule. The rule editor behaves as if the rule was a new one, but is pre-populated with the copied rule. Also-by: Florian Hotze Signed-off-by: Dmitry P. (d51x) --- bundles/org.openhab.ui/web/src/js/routes.js | 5 +- .../src/pages/settings/rules/rule-edit.vue | 69 ++++++++++++++----- 2 files changed, 56 insertions(+), 18 deletions(-) diff --git a/bundles/org.openhab.ui/web/src/js/routes.js b/bundles/org.openhab.ui/web/src/js/routes.js index 9d12159d98..820ac1725d 100644 --- a/bundles/org.openhab.ui/web/src/js/routes.js +++ b/bundles/org.openhab.ui/web/src/js/routes.js @@ -297,7 +297,10 @@ export default [ path: ':ruleId', beforeEnter: [enforceAdminForRoute], beforeLeave: [checkDirtyBeforeLeave], - async: loadAsync(RuleEditPage, (routeTo) => (routeTo.params.ruleId === 'add') ? { createMode: true } : {}), + async: loadAsync(RuleEditPage, (routeTo) => + routeTo.params.ruleId === 'add' ? { createMode: true } + : routeTo.params.ruleId === 'copy' ? { copyMode: true } + : {}), routes: [ { path: 'script/:moduleId', diff --git a/bundles/org.openhab.ui/web/src/pages/settings/rules/rule-edit.vue b/bundles/org.openhab.ui/web/src/pages/settings/rules/rule-edit.vue index bed0b5ec93..d5c76e581a 100644 --- a/bundles/org.openhab.ui/web/src/pages/settings/rules/rule-edit.vue +++ b/bundles/org.openhab.ui/web/src/pages/settings/rules/rule-edit.vue @@ -1,6 +1,6 @@