From b5e92b5484427fa877276310a9fe3421c86e4268 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Gaya?= <sebastien.gaya@gmail.com>
Date: Tue, 20 Dec 2022 10:41:31 +0100
Subject: [PATCH] utils

---
 app/assets/javascripts/admin/appstack.js                 | 1 +
 app/assets/javascripts/admin/communication/menu_items.js | 5 +----
 app/assets/javascripts/admin/communication/websites.js   | 5 +----
 app/assets/javascripts/admin/pure.js                     | 1 +
 app/assets/javascripts/admin/utils/controller_form.js    | 6 ++++++
 5 files changed, 10 insertions(+), 8 deletions(-)
 create mode 100644 app/assets/javascripts/admin/utils/controller_form.js

diff --git a/app/assets/javascripts/admin/appstack.js b/app/assets/javascripts/admin/appstack.js
index 23ae425c9..aa96e4785 100644
--- a/app/assets/javascripts/admin/appstack.js
+++ b/app/assets/javascripts/admin/appstack.js
@@ -16,6 +16,7 @@
 //= require_tree ./commons
 //= require_tree ../application/plugins
 //= require_tree ./plugins
+//= require_tree ./utils
 //= require ./communication/init
 
 window.osuny = {};
diff --git a/app/assets/javascripts/admin/communication/menu_items.js b/app/assets/javascripts/admin/communication/menu_items.js
index ad81bcaf9..a4bfdc477 100644
--- a/app/assets/javascripts/admin/communication/menu_items.js
+++ b/app/assets/javascripts/admin/communication/menu_items.js
@@ -73,10 +73,7 @@ window.osuny.communication.menuItems = {
 
 window.addEventListener('DOMContentLoaded', function () {
     'use strict';
-    if (document.body.classList.contains('items-new') ||
-            document.body.classList.contains('items-edit') ||
-            document.body.classList.contains('items-create') ||
-            document.body.classList.contains('items-update')) {
+    if (window.osuny.isInControllerForm('items')) {
         window.osuny.communication.menuItems.init();
     }
 });
diff --git a/app/assets/javascripts/admin/communication/websites.js b/app/assets/javascripts/admin/communication/websites.js
index ea4f3c141..677df2eb6 100644
--- a/app/assets/javascripts/admin/communication/websites.js
+++ b/app/assets/javascripts/admin/communication/websites.js
@@ -46,10 +46,7 @@ window.osuny.communication.websites = {
 
 window.addEventListener('DOMContentLoaded', function () {
     'use strict';
-    if (document.body.classList.contains('websites-new') ||
-            document.body.classList.contains('websites-edit') ||
-            document.body.classList.contains('websites-create') ||
-            document.body.classList.contains('websites-update')) {
+    if (window.osuny.isInControllerForm('websites')) {
         window.osuny.communication.websites.init();
     }
 });
diff --git a/app/assets/javascripts/admin/pure.js b/app/assets/javascripts/admin/pure.js
index 23ae425c9..aa96e4785 100644
--- a/app/assets/javascripts/admin/pure.js
+++ b/app/assets/javascripts/admin/pure.js
@@ -16,6 +16,7 @@
 //= require_tree ./commons
 //= require_tree ../application/plugins
 //= require_tree ./plugins
+//= require_tree ./utils
 //= require ./communication/init
 
 window.osuny = {};
diff --git a/app/assets/javascripts/admin/utils/controller_form.js b/app/assets/javascripts/admin/utils/controller_form.js
new file mode 100644
index 000000000..5c74e3711
--- /dev/null
+++ b/app/assets/javascripts/admin/utils/controller_form.js
@@ -0,0 +1,6 @@
+window.osuny.isInControllerForm = function (controllerName) {
+    return document.body.classList.contains(controllerName + '-new') ||
+        document.body.classList.contains(controllerName + '-edit') ||
+        document.body.classList.contains(controllerName + '-create') ||
+        document.body.classList.contains(controllerName + '-update');
+}
\ No newline at end of file
-- 
GitLab