runlify 0.0.794 → 0.0.796

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/build/cli.js +8 -2
  2. package/build/projectsGeneration/builders/generationPaths.js +44 -1
  3. package/build/projectsGeneration/generateProject/back/src/generateBackSrc.js +11 -2
  4. package/build/projectsGeneration/generateProject/fileHandlers.js +6 -2
  5. package/build/projectsGeneration/generateProject/front/generateFrontSrc.js +10 -1
  6. package/build/projectsGeneration/generateProject/front/translations/generateFrontSrcTranslations.js +33 -1
  7. package/build/projectsGeneration/generateProject/generateBackClickHouseBootstrap.js +1 -4
  8. package/build/projectsGeneration/generateProject/utils.js +2 -2
  9. package/build/projectsGeneration/generators/fileTemplates/back/clickhouse/jobs.js +41 -4
  10. package/build/projectsGeneration/generators/fileTemplates/back/roles/customPermissions.js +12 -0
  11. package/build/projectsGeneration/generators/fileTemplates/back/roles/customUiPermissions.js +13 -0
  12. package/build/projectsGeneration/generators/fileTemplates/back/roles/initPermissions.js +31 -0
  13. package/build/projectsGeneration/generators/fileTemplates/back/roles/uiPermissions.js +24 -0
  14. package/build/projectsGeneration/generators/fileTemplates/ui/NotFoundPage.js +6 -0
  15. package/build/projectsGeneration/generators/fileTemplates/ui/PermissionPage.js +6 -0
  16. package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/routes.js +5 -5
  17. package/build/projectsGeneration/generators/fileTemplates/ui/getDefaultMenu.js +5 -1
  18. package/build/projectsGeneration/generators/fileTemplates/ui/i18n/skeleton/uiI18nIndexTmpl.js +35 -0
  19. package/build/projectsGeneration/generators/fileTemplates/ui/i18n/skeleton/uiI18nTypesTmpl.js +33 -0
  20. package/build/projectsGeneration/generators/fileTemplates/ui/i18n/skeleton/uiI18nValidationTmpl.js +38 -0
  21. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityCreate/DefaultEntityCreate.js +16 -5
  22. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityEdit/DefaultEntityEdit.js +27 -11
  23. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityList/DefaultEntityFilter.js +13 -4
  24. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityList/DefaultEntityList.js +14 -7
  25. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/DefaultMainTab.js +13 -4
  26. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/DependencyTab.js +12 -3
  27. package/build/projectsGeneration/generators/fileTemplates/ui/resources.js +21 -8
  28. package/build/projectsGeneration/generators/fileTemplates/ui/utils/permissions.js +89 -0
  29. package/build/projectsGeneration/generators/ui/getShowComponent.js +2 -2
  30. package/build/types/projectsGeneration/builders/generationPaths.d.ts +42 -0
  31. package/build/types/projectsGeneration/generateProject/fileHandlers.d.ts +1 -0
  32. package/build/types/projectsGeneration/generateProject/types.d.ts +1 -1
  33. package/build/types/projectsGeneration/generateProject/utils.d.ts +1 -1
  34. package/build/types/projectsGeneration/generators/fileTemplates/back/roles/customPermissions.d.ts +2 -0
  35. package/build/types/projectsGeneration/generators/fileTemplates/back/roles/customUiPermissions.d.ts +2 -0
  36. package/build/types/projectsGeneration/generators/fileTemplates/back/roles/initPermissions.d.ts +2 -0
  37. package/build/types/projectsGeneration/generators/fileTemplates/back/roles/uiPermissions.d.ts +3 -0
  38. package/build/types/projectsGeneration/generators/fileTemplates/ui/NotFoundPage.d.ts +2 -0
  39. package/build/types/projectsGeneration/generators/fileTemplates/ui/PermissionPage.d.ts +2 -0
  40. package/build/types/projectsGeneration/generators/fileTemplates/ui/i18n/skeleton/uiI18nIndexTmpl.d.ts +2 -0
  41. package/build/types/projectsGeneration/generators/fileTemplates/ui/i18n/skeleton/uiI18nTypesTmpl.d.ts +3 -0
  42. package/build/types/projectsGeneration/generators/fileTemplates/ui/i18n/skeleton/uiI18nValidationTmpl.d.ts +2 -0
  43. package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/EntityEdit/DefaultEntityEdit.d.ts +1 -0
  44. package/build/types/projectsGeneration/generators/fileTemplates/ui/utils/permissions.d.ts +2 -0
  45. package/docs/01-overview.md +172 -0
  46. package/docs/02-system-meta-builder.md +405 -0
  47. package/docs/03-entity-types.md +471 -0
  48. package/docs/04-fields.md +357 -0
  49. package/docs/05-custom-methods.md +249 -0
  50. package/docs/06-storage.md +129 -0
  51. package/docs/07-backend-file-graph.md +231 -0
  52. package/docs/08-frontend-file-graph.md +260 -0
  53. package/docs/09-options.md +213 -0
  54. package/docs/10-modules.md +164 -0
  55. package/docs/11-permissions.md +231 -0
  56. package/docs/INDEX.md +70 -0
  57. package/package.json +1 -1
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.backInitPermissionsTmpl = void 0;
4
+ const backInitPermissionsTmpl = () => `import {Context} from '../../../adm/services/types';
5
+ import {getRuntimePermissions} from '../../../adm/services/getRuntimePermissions';
6
+ import uiPermissions from './uiPermissions';
7
+ import customPermissions from '../customPermissions';
8
+ import customUiPermissions from '../customUiPermissions';
9
+
10
+ const initPermissions = async (ctx: Context) => {
11
+ const runtimePermissions = getRuntimePermissions(ctx);
12
+ const runtimePermissionIds = runtimePermissions.map(p => p.id);
13
+
14
+ const permissions = [
15
+ ...runtimePermissionIds,
16
+ ...uiPermissions,
17
+ ...customPermissions,
18
+ ...customUiPermissions,
19
+ ];
20
+
21
+ await ctx.service('permissions').createMany(permissions.map(p => ({
22
+ id: p,
23
+ title: p,
24
+ })));
25
+ };
26
+
27
+ export default initPermissions;
28
+ `;
29
+ exports.backInitPermissionsTmpl = backInitPermissionsTmpl;
30
+ exports.default = exports.backInitPermissionsTmpl;
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdFBlcm1pc3Npb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3Byb2plY3RzR2VuZXJhdGlvbi9nZW5lcmF0b3JzL2ZpbGVUZW1wbGF0ZXMvYmFjay9yb2xlcy9pbml0UGVybWlzc2lvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQU8sTUFBTSx1QkFBdUIsR0FBRyxHQUFHLEVBQUUsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBd0I1QyxDQUFBO0FBeEJZLFFBQUEsdUJBQXVCLDJCQXdCbkM7QUFFRCxrQkFBZSwrQkFBdUIsQ0FBQSJ9
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.backUiPermissionsTmpl = void 0;
4
+ const backUiPermissionsTmpl = ({ entities, options, }) => {
5
+ const systemPermissions = [
6
+ options.genUiDashboard ? 'ui.dashboard' : undefined,
7
+ options.showFunctionsInMenu ? 'ui.functions' : undefined,
8
+ options.showResourcesInMenu ? 'ui.resources' : undefined,
9
+ options.showMetaInMenu ? 'ui.meta' : undefined,
10
+ ].filter(Boolean);
11
+ return `// UI-only permissions: access to the entity's list page (and a few
12
+ // non-entity system pages). Checked only on the frontend, never enforced by
13
+ // the backend.
14
+ const uiPermissions: string[] = [
15
+ ${entities.map((e) => ` 'ui.${e.name}.list',`).join('\n')}
16
+ ${systemPermissions.map((p) => ` '${p}',`).join('\n')}
17
+ ];
18
+
19
+ export default uiPermissions;
20
+ `;
21
+ };
22
+ exports.backUiPermissionsTmpl = backUiPermissionsTmpl;
23
+ exports.default = exports.backUiPermissionsTmpl;
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWlQZXJtaXNzaW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9wcm9qZWN0c0dlbmVyYXRpb24vZ2VuZXJhdG9ycy9maWxlVGVtcGxhdGVzL2JhY2svcm9sZXMvdWlQZXJtaXNzaW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFTyxNQUFNLHFCQUFxQixHQUFHLENBQUMsRUFDcEMsUUFBUSxFQUNSLE9BQU8sR0FDbUIsRUFBRSxFQUFFO0lBQzlCLE1BQU0saUJBQWlCLEdBQUc7UUFDeEIsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTO1FBQ25ELE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTO1FBQ3hELE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTO1FBQ3hELE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUztLQUMvQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUVqQixPQUFPOzs7O0VBSVAsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0VBQ3hELGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7Ozs7Q0FJckQsQ0FBQTtBQUNELENBQUMsQ0FBQTtBQXJCWSxRQUFBLHFCQUFxQix5QkFxQmpDO0FBRUQsa0JBQWUsNkJBQXFCLENBQUEifQ==
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const uiNotFoundPageTmpl = () => `export {NotFound as default} from 'react-admin';
4
+ `;
5
+ exports.default = uiNotFoundPageTmpl;
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm90Rm91bmRQYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3Byb2plY3RzR2VuZXJhdGlvbi9nZW5lcmF0b3JzL2ZpbGVUZW1wbGF0ZXMvdWkvTm90Rm91bmRQYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLEVBQUUsQ0FBQztDQUNoQyxDQUFBO0FBRUQsa0JBQWUsa0JBQWtCLENBQUEifQ==
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const uiPermissionPageTmpl = () => `export {AccessDenied as default} from 'react-admin';
4
+ `;
5
+ exports.default = uiPermissionPageTmpl;
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGVybWlzc2lvblBhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRvcnMvZmlsZVRlbXBsYXRlcy91aS9QZXJtaXNzaW9uUGFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxFQUFFLENBQUM7Q0FDbEMsQ0FBQTtBQUVELGtCQUFlLG9CQUFvQixDQUFBIn0=
@@ -18,11 +18,11 @@ const LoadableErrorMessage = Loadable(() => import('./utility/ErrorMessage'));${
18
18
  ${system.pages.map(p => `const Loadable${(0, change_case_1.pascalCase)(p.name)} = Loadable(() => import('./standalonePages/${(0, change_case_1.pascalCase)(p.name)}/${(0, change_case_1.pascalCase)(p.name)}'));`).join('\n')}` : ''}
19
19
 
20
20
  export const routes = [
21
- <Route element={<Guard shouldHave='dashboard'><LoadableDashboard /></Guard>} key='home' path='/' />,
22
- <Route element={<Guard shouldHave='dashboard'><LoadableDashboard /></Guard>} key='dashboard' path='/dashboard' />,
23
- <Route element={<Guard shouldHave='functions'><LoadableFunctions /></Guard>} key='functions' path='/functions' />,
24
- // <Route element={<Guard shouldHave='resources'><LoadableResourcesPage /></Guard>} key='resources' path='/resources' />,
25
- <Route element={<Guard shouldHave='meta'><LoadableMetaPage /></Guard>} key='meta' path='/meta' />,
21
+ <Route element={<Guard shouldHave='ui.dashboard'><LoadableDashboard /></Guard>} key='home' path='/' />,
22
+ <Route element={<Guard shouldHave='ui.dashboard'><LoadableDashboard /></Guard>} key='dashboard' path='/dashboard' />,
23
+ <Route element={<Guard shouldHave='ui.functions'><LoadableFunctions /></Guard>} key='functions' path='/functions' />,
24
+ // <Route element={<Guard shouldHave='ui.resources'><LoadableResourcesPage /></Guard>} key='resources' path='/resources' />,
25
+ <Route element={<Guard shouldHave='ui.meta'><LoadableMetaPage /></Guard>} key='meta' path='/meta' />,
26
26
  <Route element={<Guard shouldHave='debug'><LoadableDebugPage /></Guard>} key='debug' path='/debug' />,
27
27
  <Route
28
28
  element={<LoadableErrorMessage />}
@@ -69,6 +69,7 @@ const uiGetDefaultMenuTmpl = ({ system, entities, options, }) => {
69
69
  link: '/${entity.name}',
70
70
  icon: 'DetailsOutlined',
71
71
  debugOnly: true,
72
+ permissions: ['${entity.name}.all', '${entity.name}.meta', 'ui.${entity.name}.list'],
72
73
  },`;
73
74
  return `import {MenuElement} from '../uiLib/menu/MenuItem';${hasMenuExternalEnv ? "\nimport getConfigByName from '../config/getConfigByName';" : ''}
74
75
 
@@ -80,18 +81,21 @@ ${system.menuItems.map(i => `${menuItemTmpl(i)},`).map(utils_1.pad2).join('\n')}
80
81
  link: '/functions',
81
82
  icon: 'DetailsOutlined',
82
83
  debugOnly: true,
84
+ permissions: ['ui.functions'],
83
85
  },` : ''}${options.showResourcesInMenu ? `
84
86
  {
85
87
  label: 'app.menu.resources',
86
88
  link: '/resources',
87
89
  icon: 'DetailsOutlined',
88
90
  debugOnly: true,
91
+ permissions: ['ui.resources'],
89
92
  },` : ''}${options.showMetaInMenu ? `
90
93
  {
91
94
  label: 'app.menu.meta',
92
95
  link: '/meta',
93
96
  icon: 'DetailsOutlined',
94
97
  debugOnly: true,
98
+ permissions: ['ui.meta'],
95
99
  },` : ''}
96
100
  ];
97
101
 
@@ -154,4 +158,4 @@ export default getDefaultMenu;
154
158
  `;
155
159
  };
156
160
  exports.uiGetDefaultMenuTmpl = uiGetDefaultMenuTmpl;
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0RGVmYXVsdE1lbnUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRvcnMvZmlsZVRlbXBsYXRlcy91aS9nZXREZWZhdWx0TWVudS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpRUFBNkU7QUFFN0UsMENBQW1DO0FBQ25DLHlDQUFnQztBQUVoQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsSUFBYyxFQUFFLEVBQUU7SUFDN0MsUUFBUSxJQUFJLENBQUMsUUFBUSxFQUFFO1FBQ3JCLEtBQUssMkJBQVksQ0FBQyxXQUFXO1lBQzNCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUNsQixLQUFLLDJCQUFZLENBQUMsS0FBSztZQUNyQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDOUM7WUFDRSxPQUFPLEtBQUssQ0FBQztLQUNoQjtBQUNILENBQUMsQ0FBQTtBQUVELE1BQU0sWUFBWSxHQUFHLENBQUMsSUFBYyxFQUFFLEVBQUU7SUFDdEMsUUFBUSxJQUFJLENBQUMsUUFBUSxFQUFFO1FBQ3JCLEtBQUssMkJBQVksQ0FBQyxLQUFLO1lBQ3JCLE9BQU87WUFDRCxJQUFJLENBQUMsS0FBSztXQUNYLElBQUksQ0FBQyxjQUFjO2VBQ2YsSUFBSSxDQUFDLFNBQVM7aUJBQ1osSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0VBQ3pDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3ZELENBQUMsQ0FBQyxDQUFDLElBQUk7Y0FDRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7RUFDaEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDN0QsQ0FBQyxDQUFDLENBQUMsSUFBSTtFQUNULENBQUM7UUFDQyxLQUFLLDJCQUFZLENBQUMsUUFBUTtZQUN4QixPQUFPO1lBQ0QsSUFBSSxDQUFDLEtBQUs7V0FDWCxJQUFJLENBQUMsSUFBSTtXQUNULElBQUksQ0FBQyxjQUFjO2VBQ2YsSUFBSSxDQUFDLFNBQVM7a0JBQ1gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztFQUM5RCxDQUFDO1FBQ0MsS0FBSywyQkFBWSxDQUFDLFFBQVE7WUFDeEIsT0FBTztZQUNELElBQUksQ0FBQyxLQUFLO1dBQ1gsSUFBSSxDQUFDLElBQUk7V0FDVCxJQUFJLENBQUMsY0FBYztlQUNmLElBQUksQ0FBQyxTQUFTO2tCQUNYLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7RUFDOUQsQ0FBQztRQUNDLEtBQUssMkJBQVksQ0FBQyxXQUFXO1lBQzNCLE9BQU87WUFDRCxJQUFJLENBQUMsS0FBSzswQkFDSSxJQUFJLENBQUMsR0FBRztXQUN2QixJQUFJLENBQUMsY0FBYztlQUNmLElBQUksQ0FBQyxTQUFTO2tCQUNYLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7RUFDOUQsQ0FBQztLQUNBO0FBQ0gsQ0FBQyxDQUFBO0FBRU0sTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEVBQ25DLE1BQU0sRUFDTixRQUFRLEVBQ1IsT0FBTyxHQUNtQixFQUFFLEVBQUU7SUFDOUIsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUM1QyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQ2hDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUNwQixJQUFJLENBQ0wsQ0FDRixDQUFBO0lBRUQsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQzNDLGNBQWM7U0FDWCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDO1NBQzlCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQTtJQUUxQyxNQUFNLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUN4RCxNQUFNLGFBQWEsR0FBRyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUN0RCxNQUFNLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUMvQyxNQUFNLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUU3QyxNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFFdEUsTUFBTSxZQUFZLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUFDO2dCQUMzQixJQUFBLGtCQUFNLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJO2dCQUNsQyxNQUFNLENBQUMsSUFBSTs7O09BR3BCLENBQUE7SUFFTCxPQUFPLHNEQUFzRCxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsNERBQTRELENBQUMsQ0FBQyxDQUFDLEVBQUU7Ozs7RUFJbkosTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDOzs7Ozs7T0FNakcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7Ozs7OztPQU10QyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7Ozs7OztPQU1qQyxDQUFDLENBQUMsQ0FBQyxFQUFFOzs7O0VBSVYsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzs7Ozs7Ozs7Ozs7OztFQWEvRCxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDOzs7Ozs7Ozs7Ozs7O0VBYTlELFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7Ozs7Ozs7Ozs7Ozs7RUFhMUQsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztDQWdCMUQsQ0FBQTtBQUNELENBQUMsQ0FBQTtBQWpIWSxRQUFBLG9CQUFvQix3QkFpSGhDIn0=
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0RGVmYXVsdE1lbnUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRvcnMvZmlsZVRlbXBsYXRlcy91aS9nZXREZWZhdWx0TWVudS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpRUFBNkU7QUFFN0UsMENBQW1DO0FBQ25DLHlDQUFnQztBQUVoQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsSUFBYyxFQUFFLEVBQUU7SUFDN0MsUUFBUSxJQUFJLENBQUMsUUFBUSxFQUFFO1FBQ3JCLEtBQUssMkJBQVksQ0FBQyxXQUFXO1lBQzNCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUNsQixLQUFLLDJCQUFZLENBQUMsS0FBSztZQUNyQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDOUM7WUFDRSxPQUFPLEtBQUssQ0FBQztLQUNoQjtBQUNILENBQUMsQ0FBQTtBQUVELE1BQU0sWUFBWSxHQUFHLENBQUMsSUFBYyxFQUFFLEVBQUU7SUFDdEMsUUFBUSxJQUFJLENBQUMsUUFBUSxFQUFFO1FBQ3JCLEtBQUssMkJBQVksQ0FBQyxLQUFLO1lBQ3JCLE9BQU87WUFDRCxJQUFJLENBQUMsS0FBSztXQUNYLElBQUksQ0FBQyxjQUFjO2VBQ2YsSUFBSSxDQUFDLFNBQVM7aUJBQ1osSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0VBQ3pDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3ZELENBQUMsQ0FBQyxDQUFDLElBQUk7Y0FDRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7RUFDaEMs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
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.uiI18nIndexTmpl = void 0;
4
+ const uiI18nIndexTmpl = (lang) => `import {TranslationMessages} from 'react-admin';
5
+ import englishMessages from 'ra-language-english';
6
+ import ${lang}Documents from './${lang}Docs';
7
+ import ${lang}Catalogs from './${lang}Catalogs';
8
+ import ${lang}InfoRegistries from './${lang}InfoRegistries';
9
+ import ${lang}SumRegistries from './${lang}SumRegistries';
10
+ import ${lang}Reports from './${lang}Reports';
11
+ import ${lang}Validation from './${lang}Validation';
12
+ import {DeepPartial} from 'utility-types';
13
+ import * as R from 'ramda';
14
+
15
+ const translationMessages: DeepPartial<TranslationMessages> = {
16
+ // app: {}, // add your own keys here
17
+ validation: ${lang}Validation,
18
+ reports: ${lang}Reports,
19
+ documents: ${lang}Documents,
20
+ catalogs: ${lang}Catalogs,
21
+ infoRegistries: ${lang}InfoRegistries,
22
+ sumRegistries: ${lang}SumRegistries,
23
+ entities: {
24
+ ...${lang}Documents,
25
+ ...${lang}Catalogs,
26
+ ...${lang}InfoRegistries,
27
+ ...${lang}SumRegistries,
28
+ },
29
+ };
30
+
31
+ export default R.mergeDeepRight(englishMessages, translationMessages);
32
+ `;
33
+ exports.uiI18nIndexTmpl = uiI18nIndexTmpl;
34
+ exports.default = exports.uiI18nIndexTmpl;
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWlJMThuSW5kZXhUbXBsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3Byb2plY3RzR2VuZXJhdGlvbi9nZW5lcmF0b3JzL2ZpbGVUZW1wbGF0ZXMvdWkvaTE4bi9za2VsZXRvbi91aUkxOG5JbmRleFRtcGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQU8sTUFBTSxlQUFlLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDOztTQUV4QyxJQUFJLHFCQUFxQixJQUFJO1NBQzdCLElBQUksb0JBQW9CLElBQUk7U0FDNUIsSUFBSSwwQkFBMEIsSUFBSTtTQUNsQyxJQUFJLHlCQUF5QixJQUFJO1NBQ2pDLElBQUksbUJBQW1CLElBQUk7U0FDM0IsSUFBSSxzQkFBc0IsSUFBSTs7Ozs7O2dCQU12QixJQUFJO2FBQ1AsSUFBSTtlQUNGLElBQUk7Y0FDTCxJQUFJO29CQUNFLElBQUk7bUJBQ0wsSUFBSTs7U0FFZCxJQUFJO1NBQ0osSUFBSTtTQUNKLElBQUk7U0FDSixJQUFJOzs7OztDQUtaLENBQUE7QUE1QlksUUFBQSxlQUFlLG1CQTRCM0I7QUFFRCxrQkFBZSx1QkFBZSxDQUFBIn0=
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.uiI18nTypesTmpl = exports.validationMessageFields = void 0;
4
+ exports.validationMessageFields = [
5
+ 'minLength',
6
+ 'maxLength',
7
+ 'minValue',
8
+ 'maxValue',
9
+ 'noSpaces',
10
+ 'noDigits',
11
+ 'password',
12
+ 'notFutureDate',
13
+ 'notPastDate',
14
+ 'required',
15
+ 'onlyLatinLetters',
16
+ 'onlyLatinLettersAndDigits',
17
+ 'onlyLatinLettersAndHyphen',
18
+ 'onlyLatinAndCyrillicLetters',
19
+ 'onlyLatinAndCyrillicLettersAndDigits',
20
+ 'onlyNumbers',
21
+ 'onlyLetters',
22
+ 'onlyIntegers',
23
+ 'exactLength',
24
+ 'datesInFilter',
25
+ 'emailFormat',
26
+ ];
27
+ const uiI18nTypesTmpl = () => `export type ValidationMessages = {
28
+ ${exports.validationMessageFields.map((field) => ` ${field}: string`).join('\n')}
29
+ }
30
+ `;
31
+ exports.uiI18nTypesTmpl = uiI18nTypesTmpl;
32
+ exports.default = exports.uiI18nTypesTmpl;
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWlJMThuVHlwZXNUbXBsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3Byb2plY3RzR2VuZXJhdGlvbi9nZW5lcmF0b3JzL2ZpbGVUZW1wbGF0ZXMvdWkvaTE4bi9za2VsZXRvbi91aUkxOG5UeXBlc1RtcGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSx1QkFBdUIsR0FBRztJQUNyQyxXQUFXO0lBQ1gsV0FBVztJQUNYLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsZUFBZTtJQUNmLGFBQWE7SUFDYixVQUFVO0lBQ1Ysa0JBQWtCO0lBQ2xCLDJCQUEyQjtJQUMzQiwyQkFBMkI7SUFDM0IsNkJBQTZCO0lBQzdCLHNDQUFzQztJQUN0QyxhQUFhO0lBQ2IsYUFBYTtJQUNiLGNBQWM7SUFDZCxhQUFhO0lBQ2IsZUFBZTtJQUNmLGFBQWE7Q0FDTCxDQUFBO0FBRUgsTUFBTSxlQUFlLEdBQUcsR0FBRyxFQUFFLENBQUM7RUFDbkMsK0JBQXVCLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzs7Q0FFeEUsQ0FBQTtBQUhZLFFBQUEsZUFBZSxtQkFHM0I7QUFFRCxrQkFBZSx1QkFBZSxDQUFBIn0=
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.uiI18nValidationTmpl = void 0;
4
+ const uiI18nTypesTmpl_1 = require("./uiI18nTypesTmpl");
5
+ const defaultMessages = {
6
+ minLength: 'Minimum length is %{min} characters.',
7
+ maxLength: 'Maximum length is %{max} characters.',
8
+ minValue: 'Minimum value is %{min}.',
9
+ maxValue: 'Maximum value is %{max}.',
10
+ noSpaces: 'Spaces are not allowed.',
11
+ noDigits: 'Digits are not allowed.',
12
+ password: 'Password must contain lowercase and uppercase letters, digits and special characters.',
13
+ notFutureDate: 'Future date is not allowed.',
14
+ notPastDate: 'Past date is not allowed.',
15
+ required: 'This field is required.',
16
+ onlyLatinLetters: 'Only latin letters are allowed.',
17
+ onlyLatinLettersAndDigits: 'Only latin letters and digits are allowed.',
18
+ onlyLatinLettersAndHyphen: 'Only latin letters and hyphen are allowed.',
19
+ onlyLatinAndCyrillicLetters: 'Only latin and cyrillic letters are allowed.',
20
+ onlyLatinAndCyrillicLettersAndDigits: 'Only latin and cyrillic letters and digits are allowed.',
21
+ onlyNumbers: 'Only digits are allowed.',
22
+ onlyLetters: 'Only letters are allowed.',
23
+ onlyIntegers: 'Only integers are allowed.',
24
+ exactLength: 'Exact length is %{length} characters.',
25
+ datesInFilter: 'Dates in the filter must be filled in.',
26
+ emailFormat: 'Enter a valid email.',
27
+ };
28
+ const uiI18nValidationTmpl = (lang) => `import {ValidationMessages} from '../types';
29
+
30
+ const ${lang}Validation: ValidationMessages = {
31
+ ${uiI18nTypesTmpl_1.validationMessageFields.map((field) => ` ${field}: '${defaultMessages[field]}',`).join('\n')}
32
+ };
33
+
34
+ export default ${lang}Validation;
35
+ `;
36
+ exports.uiI18nValidationTmpl = uiI18nValidationTmpl;
37
+ exports.default = exports.uiI18nValidationTmpl;
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWlJMThuVmFsaWRhdGlvblRtcGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRvcnMvZmlsZVRlbXBsYXRlcy91aS9pMThuL3NrZWxldG9uL3VpSTE4blZhbGlkYXRpb25UbXBsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVEQUF5RDtBQUV6RCxNQUFNLGVBQWUsR0FBMkQ7SUFDOUUsU0FBUyxFQUFFLHNDQUFzQztJQUNqRCxTQUFTLEVBQUUsc0NBQXNDO0lBQ2pELFFBQVEsRUFBRSwwQkFBMEI7SUFDcEMsUUFBUSxFQUFFLDBCQUEwQjtJQUNwQyxRQUFRLEVBQUUseUJBQXlCO0lBQ25DLFFBQVEsRUFBRSx5QkFBeUI7SUFDbkMsUUFBUSxFQUFFLHVGQUF1RjtJQUNqRyxhQUFhLEVBQUUsNkJBQTZCO0lBQzVDLFdBQVcsRUFBRSwyQkFBMkI7SUFDeEMsUUFBUSxFQUFFLHlCQUF5QjtJQUNuQyxnQkFBZ0IsRUFBRSxpQ0FBaUM7SUFDbkQseUJBQXlCLEVBQUUsNENBQTRDO0lBQ3ZFLHlCQUF5QixFQUFFLDRDQUE0QztJQUN2RSwyQkFBMkIsRUFBRSw4Q0FBOEM7SUFDM0Usb0NBQW9DLEVBQUUseURBQXlEO0lBQy9GLFdBQVcsRUFBRSwwQkFBMEI7SUFDdkMsV0FBVyxFQUFFLDJCQUEyQjtJQUN4QyxZQUFZLEVBQUUsNEJBQTRCO0lBQzFDLFdBQVcsRUFBRSx1Q0FBdUM7SUFDcEQsYUFBYSxFQUFFLHdDQUF3QztJQUN2RCxXQUFXLEVBQUUsc0JBQXNCO0NBQ3BDLENBQUE7QUFFTSxNQUFNLG9CQUFvQixHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQzs7UUFFOUMsSUFBSTtFQUNWLHlDQUF1QixDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLE1BQU0sZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDOzs7aUJBRzlFLElBQUk7Q0FDcEIsQ0FBQTtBQVBZLFFBQUEsb0JBQW9CLHdCQU9oQztBQUVELGtCQUFlLDRCQUFvQixDQUFBIn0=
@@ -50,6 +50,13 @@ const uiDefaultCreateTmpl = ({ allEntities, entity, options, }) => {
50
50
  .filter((f) => !f.hidden && f.showInCreate)
51
51
  .filter((f) => f.name !== 'id')
52
52
  .some((f) => !(f.requiredOnInput || f.requiredOnInput === null));
53
+ const hasOptionalLinkField = entity.fields
54
+ .filter((f) => !f.hidden && f.showInCreate)
55
+ .filter((f) => f.name !== 'id')
56
+ .some((f) => f.category === 'link' && !(f.requiredOnInput || f.requiredOnInput === null));
57
+ if (hasOptionalLinkField) {
58
+ reactAdminImports.push('usePermissions');
59
+ }
53
60
  const fieldsToWorkWith = entity.fields
54
61
  .filter((f) => !f.hidden && f.showInCreate)
55
62
  .filter((f) => f.name !== 'id' || !(0, metaUtils_1.getKeyField)(entity).autoGenerated);
@@ -74,7 +81,8 @@ import {useDebug} from '../../../../contexts/DebugContext';`
74
81
  : ''}
75
82
  import {Grid} from 'shared/Components/Grid';
76
83
  import {yupResolver} from '@hookform/resolvers/yup';
77
- import get${(0, cases_1.pascalSingular)(entity.name)}Validation from '../get${(0, cases_1.pascalSingular)(entity.name)}Validation';
84
+ import get${(0, cases_1.pascalSingular)(entity.name)}Validation from '../get${(0, cases_1.pascalSingular)(entity.name)}Validation';${hasOptionalLinkField ? `
85
+ import {hasPermission} from '../../../../utils/permissions';` : ''}
78
86
  import {LoadingContext} from '../../../../contexts/LoadingContext';${withFileRef
79
87
  ? "\nimport {FileInput} from '../../../../uiLib/file/FileInput';"
80
88
  : ''}${options.breadcrumb ?
@@ -87,6 +95,9 @@ ${initialValues.map(f => `${f.name}: ${(0, DefaultEntityEdit_1.getTsDefaultTypeV
87
95
  const Default${(0, cases_1.pascalSingular)(entity.name)}Create: FC<CreateProps> = (props: CreateProps) => {
88
96
  ${hasHidden
89
97
  ? ` const {debug} = useDebug();
98
+ `
99
+ : ''}${hasOptionalLinkField
100
+ ? ` const {permissions} = usePermissions<string[]>();
90
101
  `
91
102
  : ''} const resolver = useMemo(() => yupResolver(get${(0, cases_1.pascalSingular)(entity.name)}Validation()), []);
92
103
 
@@ -116,9 +127,9 @@ ${fieldsToWorkWith
116
127
  const comp = `<Grid item ${((0, metaUtils_1.isMarkdownField)(f) || (0, metaUtils_1.isMultilineField)(f)) ? 'xs={12} sm={12} md={12} lg={12}' : 'xs={12} sm={6} md={3} lg={2}'}>
117
128
  ${(0, utils_1.pad1)((0, DefaultEntityEdit_1.getEditComponent)(entity, allEntities, f, 'create'))}
118
129
  </Grid>`;
119
- const debuggedComp = f.requiredOnInput || f.requiredOnInput === null
120
- ? comp
121
- : `{debug && ${comp}}`;
130
+ const isOptional = !(f.requiredOnInput || f.requiredOnInput === null);
131
+ const permissionCheck = f.category === 'link' && isOptional ? `hasPermission(permissions, '${f.externalEntity}.all') && ` : '';
132
+ const debuggedComp = isOptional ? `{debug && ${permissionCheck}${comp}}` : comp;
122
133
  return (0, utils_1.pad)(6)(debuggedComp);
123
134
  })
124
135
  .join('\n')}
@@ -133,4 +144,4 @@ export default Default${(0, cases_1.pascalSingular)(entity.name)}Create;
133
144
  `;
134
145
  };
135
146
  exports.uiDefaultCreateTmpl = uiDefaultCreateTmpl;
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVmYXVsdEVudGl0eUNyZWF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9wcm9qZWN0c0dlbmVyYXRpb24vZ2VuZXJhdG9ycy9maWxlVGVtcGxhdGVzL3VpL3BhZ2VzL0VudGl0eUNyZWF0ZS9EZWZhdWx0RW50aXR5Q3JlYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseURBQTREO0FBQzVELHlDQUEwQjtBQUMxQix1RUFHd0M7QUFDeEMsd0dBQWtHO0FBRWxHLGdEQUE4QztBQUM5Qyx3REFBcUg7QUFFOUcsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEVBQ2xDLFdBQVcsRUFDWCxNQUFNLEVBQ04sT0FBTyxHQUNrQixFQUFFLEVBQUU7SUFDN0IsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsMEJBQWMsQ0FBQyxDQUFBO0lBQzFELE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFBO0lBRTVDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxNQUFNO1NBQ2pDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxZQUFZLENBQUM7U0FDMUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDekMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLElBQUEsdUJBQVcsRUFBQyxNQUFNLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUN2RSxNQUFNLGtCQUFrQixHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNy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
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVmYXVsdEVudGl0eUNyZWF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9wcm9qZWN0c0dlbmVyYXRpb24vZ2VuZXJhdG9ycy9maWxlVGVtcGxhdGVzL3VpL3BhZ2VzL0VudGl0eUNyZWF0ZS9EZWZhdWx0RW50aXR5Q3JlYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseURBQTREO0FBQzVELHlDQUEwQjtBQUMxQix1RUFHd0M7QUFDeEMsd0dBQWtHO0FBRWxHLGdEQUE4QztBQUM5Qyx3REFBcUg7QUFFOUcsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEVBQ2xDLFdBQVcsRUFDWCxNQUFNLEVBQ04sT0FBTyxHQUNrQixFQUFFLEVBQUU7SUFDN0IsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsMEJBQWMsQ0FBQyxDQUFBO0lBQzFELE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFBO0lBRTVDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxNQUFNO1NBQ2pDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxZQUFZLENBQUM7U0FDMUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDekMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLElBQUEsdUJBQVcsRUFBQyxNQUFNLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUN2RSxNQUFNLGtCQUFrQixHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNy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
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.uiDefaultEditTmpl = exports.getEditComponent = exports.getLinkArrayEditComponent = exports.getLinkEditComponent = exports.getTrivialEditComponent = exports.getTsDefaultTypeValueExpression = void 0;
26
+ exports.uiDefaultEditTmpl = exports.getEditComponent = exports.getEditComponents = exports.getLinkArrayEditComponent = exports.getLinkEditComponent = exports.getTrivialEditComponent = exports.getTsDefaultTypeValueExpression = void 0;
27
27
  const cases_1 = require("../../../../../../utils/cases");
28
28
  const getCompNamesToEditField_1 = require("../../../../ui/componentNames/edit/getCompNamesToEditField");
29
29
  const R = __importStar(require("ramda"));
@@ -110,15 +110,19 @@ const getLinkArrayEditComponent = (entity, field, type, additionalProps = [], po
110
110
  </ReferenceArrayInput>`;
111
111
  };
112
112
  exports.getLinkArrayEditComponent = getLinkArrayEditComponent;
113
- const getEditComponent = (entity, allEntities, field, type, additionalProps = []) => {
113
+ // Same as getEditComponent, but for type === 'filter' returns each generated
114
+ // element separately instead of pre-joined, so callers can wrap individual
115
+ // elements (e.g. a permission check around a single ReferenceInput) without
116
+ // having to re-split a joined JSX string.
117
+ const getEditComponents = (entity, allEntities, field, type, additionalProps = []) => {
114
118
  const isDisabled = field.sharded && type === 'edit';
115
119
  if (field.category === 'link' && type !== 'filter') {
116
120
  const linkedEntity = allEntities.get(field.externalEntity);
117
121
  if (linkedEntity) {
118
122
  if ((0, metaUtils_1.isImageFileRef)(field)) {
119
- return `<FileInput source='${field.name}' type='image' />`;
123
+ return [`<FileInput source='${field.name}' type='image' />`];
120
124
  }
121
- return (0, exports.getLinkEditComponent)(entity, linkedEntity, field, type, additionalProps, isDisabled);
125
+ return [(0, exports.getLinkEditComponent)(entity, linkedEntity, field, type, additionalProps, isDisabled)];
122
126
  }
123
127
  }
124
128
  if ((0, metaUtils_1.isMarkdownField)(field)) {
@@ -155,13 +159,15 @@ const getEditComponent = (entity, allEntities, field, type, additionalProps = []
155
159
  filters.push((0, exports.getTrivialEditComponent)(entity, field, type, additionalProps, postfix));
156
160
  }
157
161
  });
158
- return filters.join('\n');
162
+ return filters;
159
163
  }
160
164
  else if (type == 'filter' && field.filters.length == 0) {
161
- return '';
165
+ return [];
162
166
  }
163
- return (0, exports.getTrivialEditComponent)(entity, field, type, additionalProps);
167
+ return [(0, exports.getTrivialEditComponent)(entity, field, type, additionalProps)];
164
168
  };
169
+ exports.getEditComponents = getEditComponents;
170
+ const getEditComponent = (entity, allEntities, field, type, additionalProps = []) => (0, exports.getEditComponents)(entity, allEntities, field, type, additionalProps).join('\n');
165
171
  exports.getEditComponent = getEditComponent;
166
172
  const uiDefaultEditTmpl = ({ allEntities, entity, options, }) => {
167
173
  const fileRefFields = entity.fields.filter(metaUtils_1.isImageFileRef);
@@ -189,12 +195,19 @@ const uiDefaultEditTmpl = ({ allEntities, entity, options, }) => {
189
195
  .map(f => (0, getCompNamesToEditField_1.getCompNamesToEditField)(f, allEntities))),
190
196
  ];
191
197
  if (entity.removableByUser) {
192
- reactAdminImports.push('DeleteButton', 'usePermissions');
198
+ reactAdminImports.push('DeleteButton');
193
199
  }
194
200
  const hasHidden = entity.fields
195
201
  .filter(f => !f.hidden && f.showInEdit)
196
202
  .filter(f => f.name !== 'id')
197
203
  .some(f => !(f.requiredOnInput || f.requiredOnInput === null));
204
+ const hasOptionalLinkField = entity.fields
205
+ .filter(f => !f.hidden && f.showInEdit)
206
+ .filter(f => f.name !== 'id')
207
+ .some(f => f.category === 'link' && !(f.requiredOnInput || f.requiredOnInput === null));
208
+ if (entity.removableByUser || hasOptionalLinkField) {
209
+ reactAdminImports.push('usePermissions');
210
+ }
198
211
  const fieldsToWorkWith = entity
199
212
  .fields
200
213
  .filter(f => !f.hidden && f.showInEdit)
@@ -213,7 +226,7 @@ import {moneyMajorToMinor, moneyMinorToMajor} from '../../../../uiLib/transforma
213
226
  import {useDebug} from '../../../../contexts/DebugContext';` : ''}
214
227
  import {Grid} from 'shared/Components/Grid';
215
228
  import {yupResolver} from '@hookform/resolvers/yup';
216
- import get${(0, cases_1.pascalSingular)(entity.name)}Validation from '../get${(0, cases_1.pascalSingular)(entity.name)}Validation';${entity.removableByUser ? `
229
+ import get${(0, cases_1.pascalSingular)(entity.name)}Validation from '../get${(0, cases_1.pascalSingular)(entity.name)}Validation';${entity.removableByUser || hasOptionalLinkField ? `
217
230
  import {hasPermission} from '../../../../utils/permissions';` : ''}
218
231
  import {LoadingContext} from '../../../../contexts/LoadingContext';${withFileRef ? `
219
232
  import {FileInput} from '../../../../uiLib/file/FileInput';` : ''}${isAllowedToChange ? `
@@ -240,6 +253,7 @@ ${initialValues.map(f => `${f.name}: ${(0, exports.getTsDefaultTypeValueExpressi
240
253
 
241
254
  const Default${(0, cases_1.pascalSingular)(entity.name)}Edit: FC<EditProps> = (props: EditProps) => {
242
255
  ${hasHidden ? ` const {debug} = useDebug();
256
+ ` : ''}${hasOptionalLinkField ? ` const {permissions} = usePermissions<string[]>();
243
257
  ` : ''} const resolver = useMemo(() => yupResolver(get${(0, cases_1.pascalSingular)(entity.name)}Validation()), []);
244
258
 
245
259
  return (
@@ -270,7 +284,9 @@ ${fieldsToWorkWith.length === 0 ? ' <div />' : fieldsToWorkWith
270
284
  const comp = `<Grid item ${((0, metaUtils_1.isMarkdownField)(f) || (0, metaUtils_1.isMultilineField)(f)) ? 'xs={12} sm={12} md={12} lg={12}' : 'xs={12} sm={6} md={3} lg={2}'}>
271
285
  ${(0, utils_1.pad)(1)((0, exports.getEditComponent)(entity, allEntities, f, 'edit'))}
272
286
  </Grid>`;
273
- const debuggedComp = f.requiredOnInput || f.requiredOnInput === null ? comp : `{debug && ${comp}}`;
287
+ const isOptional = !(f.requiredOnInput || f.requiredOnInput === null);
288
+ const permissionCheck = f.category === 'link' && isOptional ? `hasPermission(permissions, '${f.externalEntity}.all') && ` : '';
289
+ const debuggedComp = isOptional ? `{debug && ${permissionCheck}${comp}}` : comp;
274
290
  return (0, utils_1.pad)(6)(debuggedComp);
275
291
  })
276
292
  .join('\n')}
@@ -285,4 +301,4 @@ export default Default${(0, cases_1.pascalSingular)(entity.name)}Edit;
285
301
  `;
286
302
  };
287
303
  exports.uiDefaultEditTmpl = uiDefaultEditTmpl;
288
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVmYXVsdEVudGl0eUVkaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRvcnMvZmlsZVRlbXBsYXRlcy91aS9wYWdlcy9FbnRpdHlFZGl0L0RlZmF1bHRFbnRpdHlFZGl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseURBQTZEO0FBQzdELHdHQUVvRTtBQUNwRSx5Q0FBMkI7QUFFM0Isd0dBQW1HO0FBRW5HLGdEQUF3QztBQUN4Qyx3REFBOEg7QUFDOUgsc0VBQThEO0FBRTlELHVFQUF1RTtBQUVoRSxNQUFNLCtCQUErQixHQUFHLENBQUMsS0FBWSxFQUFzQixFQUFFO0lBQ2xGLElBQUksd0JBQXdCLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsRUFBRTtRQUNyRSxPQUFPLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQztLQUNyQztJQUVELFFBQVEsS0FBSyxDQUFDLElBQUksRUFBRTtRQUNwQixpQkFBaUI7UUFDakIsbUJBQW1CO1FBQ25CLGNBQWM7UUFDZCxnQkFBZ0I7UUFDaEIsaUJBQWlCO1FBQ2pCLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLEtBQUssTUFBTTtZQUNULE9BQU8sT0FBTyxDQUFDO1FBRWpCLG1CQUFtQjtRQUNuQix5QkFBeUI7UUFDekIsZUFBZTtRQUNmLHlCQUF5QjtRQUN6QjtZQUNFLE9BQU8sU0FBUyxDQUFDO1FBRWpCLGdEQUFnRDtLQUNqRDtBQUNILENBQUMsQ0FBQztBQTFCVyxRQUFBLCtCQUErQixtQ0EwQjFDO0FBRUssTUFBTSx1QkFBdUIsR0FBRyxDQUNyQyxNQUFjLEVBQ2QsS0FBWSxFQUNaLElBQWtDLEVBQ2xDLGtCQUE0QixFQUFFLEVBQzlCLE9BQXlDLEVBQ3pDLEVBQUU7SUFDRixPQUFPLElBQUksSUFBQSxpREFBdUIsRUFB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
304
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVmYXVsdEVudGl0eUVkaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRvcnMvZmlsZVRlbXBsYXRlcy91aS9wYWdlcy9FbnRpdHlFZGl0L0RlZmF1bHRFbnRpdHlFZGl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseURBQTZEO0FBQzdELHdHQUVvRTtBQUNwRSx5Q0FBMkI7QUFFM0Isd0dBQW1HO0FBRW5HLGdEQUF3QztBQUN4Qyx3REFBOEg7QUFDOUgsc0VBQThEO0FBRTlELHVFQUF1RTtBQUVoRSxNQUFNLCtCQUErQixHQUFHLENBQUMsS0FBWSxFQUFzQixFQUFFO0lBQ2xGLElBQUksd0JBQXdCLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsRUFBRTtRQUNyRSxPQUFPLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQztLQUNyQztJQUVELFFBQVEsS0FBSyxDQUFDLElBQUksRUFBRTtRQUNwQixpQkFBaUI7UUFDakIsbUJBQW1CO1FBQ25CLGNBQWM7UUFDZCxnQkFBZ0I7UUFDaEIsaUJBQWlCO1FBQ2pCLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLEtBQUssTUFBTTtZQUNULE9BQU8sT0FBTyxDQUFDO1FBRWpCLG1CQUFtQjtRQUNuQix5QkFBeUI7UUFDekIsZUFBZTtRQUNmLHlCQUF5QjtRQUN6QjtZQUNFLE9BQU8sU0FBUyxDQUFDO1FBRWpCLGdEQUFnRDtLQUNqRDtBQUNILENBQUMsQ0FBQztBQTFCVyxRQUFBLCtCQUErQixtQ0EwQjFDO0FBRUssTUFBTSx1QkFBdUIsR0FBRyxDQUNyQyxNQUFjLEVBQ2QsS0FBWSxFQUNaLElBQWtDLEVBQ2xDLGtCQUE0QixFQUFFLEVBQzlCLE9BQXlDLEVBQ3pDLEVBQUU7SUFDRixPQUFPLElBQUksSUFBQSxpREFBdUIsRUFB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
@@ -48,11 +48,13 @@ const uiDefaultFilterTmpl = ({ allEntities, entity, options, }) => {
48
48
  const dateFieldsToImport = fieldsToImport.filter((f) => ['datetime', 'date'].includes(f.type));
49
49
  const hasMoneyField = fieldsToImport.some(metaUtils_1.isMoneyField);
50
50
  const notDateFieldsToImport = fieldsToImport.filter((f) => !['datetime', 'date'].includes(f.type) && (f.category !== 'link' || ['equal', 'lt', 'lte', 'gt', 'gte', 'defined', 'not_defined'].some(filter => f.filters.some(item => item === filter))));
51
+ const hasLinkField = fields.some((f) => (0, accessFunctions_1.getEntityField)(entity, f.name).category === 'link');
51
52
  const reactAdminImports = [
52
53
  ...(options.useSortedFilter ? [] : ['Filter']),
53
54
  ...(useTranslate ? ['useTranslate'] : []),
54
55
  ...(hasSearch ? ['TextInput'] : []),
55
56
  ...(useReferenceArray ? ['ReferenceArrayInput', 'AutocompleteArrayInput'] : []),
57
+ ...(hasLinkField ? ['usePermissions'] : []),
56
58
  ...R.flatten(notDateFieldsToImport.map((f) => (0, getCompNamesToEditField_1.getCompNamesToEditField)(f, allEntities))),
57
59
  ];
58
60
  const dateFieldsExceptDocumentDateToImport = dateFieldsToImport.filter(el => entity.type !== 'document' || el.name !== 'date');
@@ -72,9 +74,10 @@ import {SortedFilter} from '../../../../uiLib/SortedFilters';`
72
74
  : ''}${hasMoneyField
73
75
  ? `
74
76
  import {moneyMajorToMinor, moneyMinorToMajor} from '../../../../uiLib/transformations/moneyAmount';`
75
- : ''}
77
+ : ''}${hasLinkField ? `
78
+ import {hasPermission} from '../../../../utils/permissions';` : ''}
76
79
 
77
- const Default${(0, cases_1.pascalSingular)(entity.name)}Filter: FC<any> = (props) => {${useTranslate ? `\n const translate = useTranslate();` : ''}
80
+ const Default${(0, cases_1.pascalSingular)(entity.name)}Filter: FC<any> = (props) => {${useTranslate ? `\n const translate = useTranslate();` : ''}${hasLinkField ? `\n const {permissions} = usePermissions<string[]>();` : ''}
78
81
  return (
79
82
  <${options.useSortedFilter ? 'SortedFilter' : 'Filter'} {...props}>${hasSearch
80
83
  ? `
@@ -87,7 +90,13 @@ const Default${(0, cases_1.pascalSingular)(entity.name)}Filter: FC<any> = (props
87
90
  : ''}
88
91
  ${fields
89
92
  .filter(el => entity.type !== 'document' || el.name !== 'date')
90
- .map((f) => (0, DefaultEntityEdit_1.getEditComponent)(entity, allEntities, (0, accessFunctions_1.getEntityField)(entity, f.name), 'filter', [f.alwaysOn ? 'alwaysOn' : undefined].filter(Boolean)))
93
+ .flatMap((f) => {
94
+ const entityField = (0, accessFunctions_1.getEntityField)(entity, f.name);
95
+ const comps = (0, DefaultEntityEdit_1.getEditComponents)(entity, allEntities, entityField, 'filter', [f.alwaysOn ? 'alwaysOn' : undefined].filter(Boolean));
96
+ return entityField.category === 'link'
97
+ ? comps.map((comp) => `{hasPermission(permissions, '${entityField.externalEntity}.all') && ${comp}}`)
98
+ : comps;
99
+ })
91
100
  .map(utils_1.pad3)
92
101
  .join('\n')}
93
102
  </${options.useSortedFilter ? 'SortedFilter' : 'Filter'}>
@@ -98,4 +107,4 @@ export default Default${(0, cases_1.pascalSingular)(entity.name)}Filter;
98
107
  `;
99
108
  };
100
109
  exports.uiDefaultFilterTmpl = uiDefaultFilterTmpl;
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVmYXVsdEVudGl0eUZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9wcm9qZWN0c0dlbmVyYXRpb24vZ2VuZXJhdG9ycy9maWxlVGVtcGxhdGVzL3VpL3BhZ2VzL0VudGl0eUxpc3QvRGVmYXVsdEVudGl0eUZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlEQUE0RDtBQUM1RCx5Q0FBMEI7QUFDMUIsdUVBQWdFO0FBQ2hFLHdHQUFrRztBQUVsRyxtRkFBNEU7QUFDNUUsZ0RBQW1EO0FBQ25ELHdEQUFxRDtBQUU5QyxNQUFNLG1CQUFtQixHQUFHLENBQUMsRUFDbEMsV0FBVyxFQUNYLE1BQU0sRUFDTixPQUFPLEdBQ2tCLEVBQUUsRUFBRTtJQUM3QixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTtTQUMzQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztTQUN4QixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUE7SUFFekQsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksS0FBSyxTQUFTLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxVQUFVLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxjQUFjLElBQUksTUFBTSxDQUFDLGFBQWEsQ0FBQTtJQUVuSSxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFDckMsTUFBTSxLQUFLLEdBQUcsSUFBQSxnQ0FBYyxFQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENB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
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVmYXVsdEVudGl0eUZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9wcm9qZWN0c0dlbmVyYXRpb24vZ2VuZXJhdG9ycy9maWxlVGVtcGxhdGVzL3VpL3BhZ2VzL0VudGl0eUxpc3QvRGVmYXVsdEVudGl0eUZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlEQUE0RDtBQUM1RCx5Q0FBMEI7QUFDMUIsdUVBQWlFO0FBQ2pFLHdHQUFrRztBQUVsRyxtRkFBNEU7QUFDNUUsZ0RBQW1EO0FBQ25ELHdEQUFxRDtBQUU5QyxNQUFNLG1CQUFtQixHQUFHLENBQUMsRUFDbEMsV0FBVyxFQUNYLE1BQU0sRUFDTixPQUFPLEdBQ2tCLEVBQUUsRUFBRTtJQUM3QixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTtTQUMzQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztTQUN4QixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUE7SUFFekQsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksS0FBSyxTQUFTLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxVQUFVLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxjQUFjLElBQUksTUFBTSxDQUFDLGFBQWEsQ0FBQTtJQUVuSSxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFDckMsTUFBTSxLQUFLLEdBQUcsSUFBQSxnQ0FBYyxFQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENB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