From e0606e20d8f34891bcb0da05e47b0582deb7dfd7 Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Sat, 24 Jun 2023 17:20:20 +0300 Subject: [PATCH] aliases --- .../Espo/Core/Utils/Client/LoaderParamsProvider.php | 8 ++++++++ application/Espo/Resources/metadata/app/jsLibs.json | 3 ++- client/src/views/fields/colorpicker.js | 2 +- schema/metadata/app/jsLibs.json | 7 +++++++ 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/application/Espo/Core/Utils/Client/LoaderParamsProvider.php b/application/Espo/Core/Utils/Client/LoaderParamsProvider.php index c3f2266113..6bbd8f72ad 100644 --- a/application/Espo/Core/Utils/Client/LoaderParamsProvider.php +++ b/application/Espo/Core/Utils/Client/LoaderParamsProvider.php @@ -48,10 +48,18 @@ class LoaderParamsProvider foreach ($this->metadata->get(['app', 'jsLibs'], []) as $key => $item) { $id = $item['amdId'] ?? null; + /** @var ?string[] $aliases */ + $aliases = $item['aliases'] ?? null; if ($id) { $map->$id = 'lib!' . $key; } + + if ($aliases) { + foreach ($aliases as $alias) { + $map->$alias = 'lib!' . $key; + } + } } return $map; diff --git a/application/Espo/Resources/metadata/app/jsLibs.json b/application/Espo/Resources/metadata/app/jsLibs.json index 9215dd9ee3..abe535d9f6 100644 --- a/application/Espo/Resources/metadata/app/jsLibs.json +++ b/application/Espo/Resources/metadata/app/jsLibs.json @@ -115,7 +115,8 @@ "path": "client/lib/bootstrap-colorpicker.js", "exportsTo": "$.fn", "exportsAs": "colorpicker", - "amdId": "bootstrap-colorpicker" + "amdId": "bootstrap-colorpicker", + "aliases": ["lib!Colorpicker"] }, "exif-js": { "path": "client/lib/exif.js", diff --git a/client/src/views/fields/colorpicker.js b/client/src/views/fields/colorpicker.js index 09ea24b14b..ede2eac4b2 100644 --- a/client/src/views/fields/colorpicker.js +++ b/client/src/views/fields/colorpicker.js @@ -39,7 +39,7 @@ class ColorpickerFieldView extends VarcharFieldView { setup() { super.setup(); - this.wait(Espo.loader.requirePromise('lib!Colorpicker')); + this.wait(Espo.loader.requirePromise('lib!bootstrap-colorpicker')); } afterRender() { diff --git a/schema/metadata/app/jsLibs.json b/schema/metadata/app/jsLibs.json index c80f4bcb5f..a605089fa2 100644 --- a/schema/metadata/app/jsLibs.json +++ b/schema/metadata/app/jsLibs.json @@ -48,6 +48,13 @@ "amdId": { "type": "string", "description": "An AMD ID. Needs to be specified if the module uses a named define function or other 3rd party modules require that ID." + }, + "aliases": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Module IDs the lib will be available by. Can be useful for backward compatibility." } } }