adminforth 2.4.0-next.31 → 2.4.0-next.310

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 (176) hide show
  1. package/commands/callTsProxy.js +14 -4
  2. package/commands/createApp/templates/api.ts.hbs +10 -0
  3. package/commands/createApp/templates/custom/tsconfig.json.hbs +2 -3
  4. package/commands/createApp/templates/index.ts.hbs +12 -1
  5. package/commands/createApp/templates/package.json.hbs +1 -1
  6. package/commands/createApp/templates/prisma.config.ts.hbs +8 -0
  7. package/commands/createApp/templates/schema.prisma.hbs +0 -1
  8. package/commands/createApp/utils.js +10 -0
  9. package/commands/createCustomComponent/configLoader.js +17 -4
  10. package/commands/createCustomComponent/main.js +13 -7
  11. package/commands/createCustomComponent/templates/customCrud/beforeActionButtons.vue.hbs +38 -0
  12. package/commands/createCustomComponent/templates/customCrud/saveButton.vue.hbs +28 -0
  13. package/commands/createPlugin/templates/custom/tsconfig.json.hbs +2 -5
  14. package/commands/createPlugin/templates/package.json.hbs +1 -1
  15. package/commands/generateModels.js +30 -22
  16. package/dist/auth.d.ts +9 -1
  17. package/dist/auth.d.ts.map +1 -1
  18. package/dist/auth.js +21 -2
  19. package/dist/auth.js.map +1 -1
  20. package/dist/dataConnectors/baseConnector.d.ts +1 -1
  21. package/dist/dataConnectors/baseConnector.d.ts.map +1 -1
  22. package/dist/dataConnectors/baseConnector.js +69 -17
  23. package/dist/dataConnectors/baseConnector.js.map +1 -1
  24. package/dist/dataConnectors/clickhouse.d.ts.map +1 -1
  25. package/dist/dataConnectors/clickhouse.js +15 -0
  26. package/dist/dataConnectors/clickhouse.js.map +1 -1
  27. package/dist/dataConnectors/mongo.d.ts.map +1 -1
  28. package/dist/dataConnectors/mongo.js +50 -15
  29. package/dist/dataConnectors/mongo.js.map +1 -1
  30. package/dist/dataConnectors/mysql.d.ts.map +1 -1
  31. package/dist/dataConnectors/mysql.js +11 -0
  32. package/dist/dataConnectors/mysql.js.map +1 -1
  33. package/dist/dataConnectors/postgres.d.ts.map +1 -1
  34. package/dist/dataConnectors/postgres.js +43 -14
  35. package/dist/dataConnectors/postgres.js.map +1 -1
  36. package/dist/dataConnectors/sqlite.d.ts.map +1 -1
  37. package/dist/dataConnectors/sqlite.js +11 -0
  38. package/dist/dataConnectors/sqlite.js.map +1 -1
  39. package/dist/index.d.ts +12 -2
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +45 -22
  42. package/dist/index.js.map +1 -1
  43. package/dist/modules/codeInjector.d.ts +2 -0
  44. package/dist/modules/codeInjector.d.ts.map +1 -1
  45. package/dist/modules/codeInjector.js +62 -6
  46. package/dist/modules/codeInjector.js.map +1 -1
  47. package/dist/modules/configValidator.d.ts +6 -0
  48. package/dist/modules/configValidator.d.ts.map +1 -1
  49. package/dist/modules/configValidator.js +202 -25
  50. package/dist/modules/configValidator.js.map +1 -1
  51. package/dist/modules/restApi.d.ts +1 -1
  52. package/dist/modules/restApi.d.ts.map +1 -1
  53. package/dist/modules/restApi.js +172 -31
  54. package/dist/modules/restApi.js.map +1 -1
  55. package/dist/modules/styles.d.ts +499 -13
  56. package/dist/modules/styles.d.ts.map +1 -1
  57. package/dist/modules/styles.js +555 -31
  58. package/dist/modules/styles.js.map +1 -1
  59. package/dist/modules/utils.d.ts +7 -15
  60. package/dist/modules/utils.d.ts.map +1 -1
  61. package/dist/modules/utils.js +45 -68
  62. package/dist/modules/utils.js.map +1 -1
  63. package/dist/servers/express.d.ts +5 -0
  64. package/dist/servers/express.d.ts.map +1 -1
  65. package/dist/servers/express.js +40 -1
  66. package/dist/servers/express.js.map +1 -1
  67. package/dist/spa/index.html +1 -1
  68. package/dist/spa/package-lock.json +1208 -708
  69. package/dist/spa/package.json +34 -34
  70. package/dist/spa/src/App.vue +59 -174
  71. package/dist/spa/src/adminforth.ts +42 -18
  72. package/dist/spa/src/afcl/AreaChart.vue +0 -1
  73. package/dist/spa/src/afcl/BarChart.vue +2 -2
  74. package/dist/spa/src/afcl/Button.vue +6 -6
  75. package/dist/spa/src/afcl/ButtonGroup.vue +91 -0
  76. package/dist/spa/src/afcl/Card.vue +25 -0
  77. package/dist/spa/src/afcl/Checkbox.vue +21 -13
  78. package/dist/spa/src/afcl/CountryFlag.vue +4 -1
  79. package/dist/spa/src/{components/CustomDatePicker.vue → afcl/DatePicker.vue} +95 -9
  80. package/dist/spa/src/afcl/Dialog.vue +47 -27
  81. package/dist/spa/src/afcl/Dropzone.vue +127 -48
  82. package/dist/spa/src/afcl/Input.vue +14 -6
  83. package/dist/spa/src/afcl/JsonViewer.vue +25 -0
  84. package/dist/spa/src/afcl/LinkButton.vue +3 -3
  85. package/dist/spa/src/afcl/PieChart.vue +5 -5
  86. package/dist/spa/src/afcl/ProgressBar.vue +7 -7
  87. package/dist/spa/src/afcl/Select.vue +82 -34
  88. package/dist/spa/src/afcl/Skeleton.vue +6 -6
  89. package/dist/spa/src/afcl/Table.vue +315 -73
  90. package/dist/spa/src/afcl/Textarea.vue +31 -0
  91. package/dist/spa/src/afcl/Toggle.vue +32 -0
  92. package/dist/spa/src/afcl/Tooltip.vue +28 -18
  93. package/dist/spa/src/afcl/VerticalTabs.vue +16 -7
  94. package/dist/spa/src/afcl/index.ts +6 -3
  95. package/dist/spa/src/components/AcceptModal.vue +48 -14
  96. package/dist/spa/src/components/Breadcrumbs.vue +5 -5
  97. package/dist/spa/src/components/CallActionWrapper.vue +15 -0
  98. package/dist/spa/src/components/ColumnValueInput.vue +38 -18
  99. package/dist/spa/src/components/ColumnValueInputWrapper.vue +4 -3
  100. package/dist/spa/src/components/CustomDateRangePicker.vue +9 -8
  101. package/dist/spa/src/components/CustomRangePicker.vue +37 -21
  102. package/dist/spa/src/components/ErrorMessage.vue +21 -0
  103. package/dist/spa/src/components/Filters.vue +195 -132
  104. package/dist/spa/src/components/GroupsTable.vue +9 -8
  105. package/dist/spa/src/components/MenuLink.vue +90 -23
  106. package/dist/spa/src/components/ResourceForm.vue +94 -51
  107. package/dist/spa/src/components/ResourceListTable.vue +115 -85
  108. package/dist/spa/src/components/ResourceListTableVirtual.vue +114 -80
  109. package/dist/spa/src/components/ShowTable.vue +21 -15
  110. package/dist/spa/src/components/Sidebar.vue +470 -0
  111. package/dist/spa/src/components/SingleSkeletLoader.vue +6 -6
  112. package/dist/spa/src/components/SkeleteLoader.vue +3 -3
  113. package/dist/spa/src/components/ThreeDotsMenu.vue +84 -15
  114. package/dist/spa/src/components/Toast.vue +40 -29
  115. package/dist/spa/src/components/UserMenuSettingsButton.vue +69 -0
  116. package/dist/spa/src/components/ValueRenderer.vue +44 -17
  117. package/dist/spa/src/controls/BoolToggle.vue +34 -0
  118. package/dist/spa/src/i18n.ts +5 -3
  119. package/dist/spa/src/main.ts +1 -1
  120. package/dist/spa/src/renderers/CompactField.vue +1 -1
  121. package/dist/spa/src/renderers/CompactUUID.vue +1 -1
  122. package/dist/spa/src/router/index.ts +8 -0
  123. package/dist/spa/src/shims-vue.d.ts +5 -0
  124. package/dist/spa/src/spa_types/core.ts +13 -1
  125. package/dist/spa/src/stores/core.ts +13 -1
  126. package/dist/spa/src/stores/filters.ts +33 -2
  127. package/dist/spa/src/stores/modal.ts +6 -1
  128. package/dist/spa/src/stores/toast.ts +22 -3
  129. package/dist/spa/src/types/Back.ts +163 -23
  130. package/dist/spa/src/types/Common.ts +91 -32
  131. package/dist/spa/src/types/FrontendAPI.ts +31 -5
  132. package/dist/spa/src/types/adapters/CaptchaAdapter.ts +34 -0
  133. package/dist/spa/src/types/adapters/EmailAdapter.ts +2 -2
  134. package/dist/spa/src/types/adapters/ImageVisionAdapter.ts +30 -0
  135. package/dist/spa/src/types/adapters/KeyValueAdapter.ts +16 -0
  136. package/dist/spa/src/types/adapters/index.ts +8 -0
  137. package/dist/spa/src/utils.ts +291 -11
  138. package/dist/spa/src/views/CreateView.vue +63 -21
  139. package/dist/spa/src/views/EditView.vue +55 -22
  140. package/dist/spa/src/views/ListView.vue +144 -87
  141. package/dist/spa/src/views/LoginView.vue +26 -35
  142. package/dist/spa/src/views/ResourceParent.vue +2 -2
  143. package/dist/spa/src/views/SettingsView.vue +121 -0
  144. package/dist/spa/src/views/ShowView.vue +83 -53
  145. package/dist/spa/src/websocket.ts +6 -1
  146. package/dist/spa/tsconfig.app.json +1 -1
  147. package/dist/spa/vite.config.ts +45 -2
  148. package/dist/types/Back.d.ts +146 -14
  149. package/dist/types/Back.d.ts.map +1 -1
  150. package/dist/types/Back.js +15 -0
  151. package/dist/types/Back.js.map +1 -1
  152. package/dist/types/Common.d.ts +106 -29
  153. package/dist/types/Common.d.ts.map +1 -1
  154. package/dist/types/Common.js.map +1 -1
  155. package/dist/types/FrontendAPI.d.ts +31 -3
  156. package/dist/types/FrontendAPI.d.ts.map +1 -1
  157. package/dist/types/FrontendAPI.js.map +1 -1
  158. package/dist/types/adapters/CaptchaAdapter.d.ts +30 -0
  159. package/dist/types/adapters/CaptchaAdapter.d.ts.map +1 -0
  160. package/dist/types/adapters/CaptchaAdapter.js +5 -0
  161. package/dist/types/adapters/CaptchaAdapter.js.map +1 -0
  162. package/dist/types/adapters/EmailAdapter.d.ts +1 -1
  163. package/dist/types/adapters/ImageVisionAdapter.d.ts +25 -0
  164. package/dist/types/adapters/ImageVisionAdapter.d.ts.map +1 -0
  165. package/dist/types/adapters/ImageVisionAdapter.js +2 -0
  166. package/dist/types/adapters/ImageVisionAdapter.js.map +1 -0
  167. package/dist/types/adapters/KeyValueAdapter.d.ts +10 -0
  168. package/dist/types/adapters/KeyValueAdapter.d.ts.map +1 -0
  169. package/dist/types/adapters/KeyValueAdapter.js +2 -0
  170. package/dist/types/adapters/KeyValueAdapter.js.map +1 -0
  171. package/dist/types/adapters/index.d.ts +9 -0
  172. package/dist/types/adapters/index.d.ts.map +1 -0
  173. package/dist/types/adapters/index.js +2 -0
  174. package/dist/types/adapters/index.js.map +1 -0
  175. package/package.json +4 -2
  176. package/dist/spa/src/types/adapters/index.js +0 -5
@@ -1,8 +1,8 @@
1
1
  import fs from 'fs';
2
2
  import path from 'path';
3
- import { guessLabelFromName, md5hash, suggestIfTypo } from './utils.js';
3
+ import { guessLabelFromName, md5hash, suggestIfTypo, slugifyString } from './utils.js';
4
4
  import { AdminForthSortDirections, AllowedActionsEnum, AdminForthResourcePages, AdminForthDataTypes, } from "../types/Common.js";
5
- export default class ConfigValidator {
5
+ class ConfigValidator {
6
6
  constructor(adminforth, inputConfig) {
7
7
  this.adminforth = adminforth;
8
8
  this.inputConfig = inputConfig;
@@ -75,17 +75,17 @@ export default class ConfigValidator {
75
75
  }
76
76
  const loginPageInjections = {
77
77
  underInputs: [],
78
+ underLoginButton: [],
78
79
  panelHeader: [],
79
80
  };
80
81
  if ((_b = this.inputConfig.customization) === null || _b === void 0 ? void 0 : _b.loginPageInjections) {
81
- const ALLOWED_LOGIN_INJECTIONS = ['underInputs', 'panelHeader'];
82
82
  Object.keys(this.inputConfig.customization.loginPageInjections).forEach((injection) => {
83
- if (ALLOWED_LOGIN_INJECTIONS.includes(injection)) {
83
+ if (ConfigValidator.LOGIN_INJECTION_KEYS.includes(injection)) {
84
84
  loginPageInjections[injection] = this.validateAndListifyInjectionNew(this.inputConfig.customization.loginPageInjections, injection, errors);
85
85
  }
86
86
  else {
87
- const similar = suggestIfTypo(ALLOWED_LOGIN_INJECTIONS, injection);
88
- errors.push(`Login page injection key "${injection}" is not allowed. Allowed keys are ${ALLOWED_LOGIN_INJECTIONS.join(', ')}. ${similar ? `Did you mean "${similar}"?` : ''}`);
87
+ const similar = suggestIfTypo(ConfigValidator.LOGIN_INJECTION_KEYS, injection);
88
+ errors.push(`Login page injection key "${injection}" is not allowed. Allowed keys are ${ConfigValidator.LOGIN_INJECTION_KEYS.join(', ')}. ${similar ? `Did you mean "${similar}"?` : ''}`);
89
89
  }
90
90
  });
91
91
  }
@@ -93,17 +93,17 @@ export default class ConfigValidator {
93
93
  userMenu: [],
94
94
  header: [],
95
95
  sidebar: [],
96
+ sidebarTop: [],
96
97
  everyPageBottom: [],
97
98
  };
98
99
  if ((_c = this.inputConfig.customization) === null || _c === void 0 ? void 0 : _c.globalInjections) {
99
- const ALLOWED_GLOBAL_INJECTIONS = ['userMenu', 'header', 'sidebar', 'everyPageBottom'];
100
100
  Object.keys(this.inputConfig.customization.globalInjections).forEach((injection) => {
101
- if (ALLOWED_GLOBAL_INJECTIONS.includes(injection)) {
101
+ if (ConfigValidator.GLOBAL_INJECTION_KEYS.includes(injection)) {
102
102
  globalInjections[injection] = this.validateAndListifyInjectionNew(this.inputConfig.customization.globalInjections, injection, errors);
103
103
  }
104
104
  else {
105
- const similar = suggestIfTypo(ALLOWED_GLOBAL_INJECTIONS, injection);
106
- errors.push(`Global injection key "${injection}" is not allowed. Allowed keys are ${ALLOWED_GLOBAL_INJECTIONS.join(', ')}. ${similar ? `Did you mean "${similar}"?` : ''}`);
105
+ const similar = suggestIfTypo(ConfigValidator.GLOBAL_INJECTION_KEYS, injection);
106
+ errors.push(`Global injection key "${injection}" is not allowed. Allowed keys are ${ConfigValidator.GLOBAL_INJECTION_KEYS.join(', ')}. ${similar ? `Did you mean "${similar}"?` : ''}`);
107
107
  }
108
108
  });
109
109
  }
@@ -112,20 +112,32 @@ export default class ConfigValidator {
112
112
  if (!customization.customPages) {
113
113
  customization.customPages = [];
114
114
  }
115
- customization.customPages.forEach((page, i) => {
116
- this.validateComponent(page.component, errors);
115
+ customization.customPages.forEach((page) => {
116
+ page.component = this.validateComponent(page.component, errors);
117
+ const meta = page.component.meta || {};
118
+ if (meta.sidebarAndHeader === undefined) {
119
+ meta.sidebarAndHeader = meta.customLayout === true ? 'none' : 'default';
120
+ }
121
+ delete meta.customLayout;
122
+ page.component.meta = meta;
117
123
  });
118
124
  if (!customization.brandName) { //} === undefined) {
119
125
  customization.brandName = 'AdminForth';
120
126
  }
121
127
  // slug should have only lowercase letters, dashes and numbers
122
- customization.brandNameSlug = customization.brandName.toLowerCase().replace(/[^a-z0-9-]/g, '');
128
+ customization.brandNameSlug = slugifyString(customization.brandName);
123
129
  if (customization.brandLogo) {
124
130
  errors.push(...this.checkCustomFileExists(customization.brandLogo));
125
131
  }
132
+ if (customization.iconOnlySidebar && customization.iconOnlySidebar.logo) {
133
+ errors.push(...this.checkCustomFileExists(customization.iconOnlySidebar.logo));
134
+ }
126
135
  if (customization.showBrandNameInSidebar === undefined) {
127
136
  customization.showBrandNameInSidebar = true;
128
137
  }
138
+ if (customization.showBrandLogoInSidebar === undefined) {
139
+ customization.showBrandLogoInSidebar = true;
140
+ }
129
141
  if (customization.favicon) {
130
142
  errors.push(...this.checkCustomFileExists(customization.favicon));
131
143
  }
@@ -171,7 +183,6 @@ export default class ConfigValidator {
171
183
  }
172
184
  bulkActions.push({
173
185
  label: `Delete checked`,
174
- state: 'danger',
175
186
  icon: 'flowbite:trash-bin-outline',
176
187
  confirm: 'Are you sure you want to delete selected items?',
177
188
  allowed: async ({ resource, adminUser, allowedActions }) => { return allowedActions.delete; },
@@ -291,6 +302,9 @@ export default class ConfigValidator {
291
302
  if (action.action && action.url) {
292
303
  errors.push(`Resource "${res.resourceId}" action "${action.name}" cannot have both action and url`);
293
304
  }
305
+ if (action.customComponent) {
306
+ action.customComponent = this.validateComponent(action.customComponent, errors);
307
+ }
294
308
  // Generate ID if not present
295
309
  if (!action.id) {
296
310
  action.id = md5hash(action.name);
@@ -547,6 +561,44 @@ export default class ConfigValidator {
547
561
  ${similar ? `Did you mean "${similar}" instead of "${col.foreignResource.resourceId}"?` : ''}`);
548
562
  }
549
563
  }
564
+ if (col.foreignResource.searchableFields) {
565
+ const searchableFields = Array.isArray(col.foreignResource.searchableFields)
566
+ ? col.foreignResource.searchableFields
567
+ : [col.foreignResource.searchableFields];
568
+ searchableFields.forEach((fieldName) => {
569
+ if (typeof fieldName !== 'string') {
570
+ errors.push(`Resource "${res.resourceId}" column "${col.name}" foreignResource.searchableFields must contain only strings`);
571
+ return;
572
+ }
573
+ if (col.foreignResource.resourceId) {
574
+ const targetResource = this.inputConfig.resources.find((r) => r.resourceId === col.foreignResource.resourceId || r.table === col.foreignResource.resourceId);
575
+ if (targetResource) {
576
+ const targetColumn = targetResource.columns.find((targetCol) => targetCol.name === fieldName);
577
+ if (!targetColumn) {
578
+ const similar = suggestIfTypo(targetResource.columns.map((c) => c.name), fieldName);
579
+ errors.push(`Resource "${res.resourceId}" column "${col.name}" foreignResource.searchableFields contains field "${fieldName}" which does not exist in target resource "${targetResource.resourceId || targetResource.table}". ${similar ? `Did you mean "${similar}"?` : ''}`);
580
+ }
581
+ }
582
+ }
583
+ else if (col.foreignResource.polymorphicResources) {
584
+ let hasFieldInAnyResource = false;
585
+ for (const pr of col.foreignResource.polymorphicResources) {
586
+ if (pr.resourceId) {
587
+ const targetResource = this.inputConfig.resources.find((r) => r.resourceId === pr.resourceId || r.table === pr.resourceId);
588
+ if (targetResource) {
589
+ const hasField = targetResource.columns.some((targetCol) => targetCol.name === fieldName);
590
+ if (hasField) {
591
+ hasFieldInAnyResource = true;
592
+ }
593
+ }
594
+ }
595
+ }
596
+ if (!hasFieldInAnyResource) {
597
+ errors.push(`Resource "${res.resourceId}" column "${col.name}" foreignResource.searchableFields contains field "${fieldName}" which does not exist in any of the polymorphic target resources`);
598
+ }
599
+ }
600
+ });
601
+ }
550
602
  if (col.foreignResource.unsetLabel) {
551
603
  if (typeof col.foreignResource.unsetLabel !== 'string') {
552
604
  errors.push(`Resource "${res.resourceId}" column "${col.name}" has foreignResource unsetLabel which is not a string`);
@@ -556,6 +608,10 @@ export default class ConfigValidator {
556
608
  // set default unset label
557
609
  col.foreignResource.unsetLabel = 'Unset';
558
610
  }
611
+ // Set default searchIsCaseSensitive
612
+ if (col.foreignResource.searchIsCaseSensitive === undefined) {
613
+ col.foreignResource.searchIsCaseSensitive = false;
614
+ }
559
615
  const befHook = (_c = (_b = col.foreignResource.hooks) === null || _b === void 0 ? void 0 : _b.dropdownList) === null || _c === void 0 ? void 0 : _c.beforeDatasourceRequest;
560
616
  if (befHook) {
561
617
  if (!Array.isArray(befHook)) {
@@ -604,6 +660,50 @@ export default class ConfigValidator {
604
660
  });
605
661
  return col;
606
662
  });
663
+ // Check for multiple sticky columns
664
+ if (res.columns.filter(c => c.listSticky).length > 1) {
665
+ errors.push(`Resource "${res.resourceId}" has more than one listSticky column. Only one column can be sticky in the list view.`);
666
+ }
667
+ const conditionalColumns = res.columns.filter(c => c.showIf);
668
+ if (conditionalColumns.length) {
669
+ const checkConditionArrays = (predicate, column) => {
670
+ if ("$and" in predicate && !Array.isArray(predicate.$and)) {
671
+ errors.push(`Resource "${res.resourceId}" column "${column.name}" has showIf with $and that is not an array`);
672
+ }
673
+ else if ("$and" in predicate && Array.isArray(predicate.$and)) {
674
+ predicate.$and.forEach((item) => checkConditionArrays(item, column));
675
+ }
676
+ if ("$or" in predicate && !Array.isArray(predicate.$or)) {
677
+ errors.push(`Resource "${res.resourceId}" column "${column.name}" has showIf with $or that is not an array`);
678
+ }
679
+ else if ("$or" in predicate && Array.isArray(predicate.$or)) {
680
+ predicate.$or.forEach((item) => checkConditionArrays(item, column));
681
+ }
682
+ const fieldEntries = Object.entries(predicate).filter(([key]) => !key.startsWith('$'));
683
+ if (fieldEntries.length > 0) {
684
+ fieldEntries.forEach(([field, condition]) => {
685
+ if (typeof condition !== 'object') {
686
+ return;
687
+ }
688
+ if ("$in" in condition && !Array.isArray(condition.$in)) {
689
+ errors.push(`Resource "${res.resourceId}" column "${column.name}" has showIf with $in that is not an array`);
690
+ }
691
+ if ("$nin" in condition && !Array.isArray(condition.$nin)) {
692
+ errors.push(`Resource "${res.resourceId}" column "${column.name}" has showIf with $nin that is not an array`);
693
+ }
694
+ if ("$includes" in condition && !column.isArray) {
695
+ errors.push(`Resource "${res.resourceId}" has showIf with $includes on non-array column "${column.name}"`);
696
+ }
697
+ if ("$nincludes" in condition && !column.isArray) {
698
+ errors.push(`Resource "${res.resourceId}" has showIf with $nincludes on non-array column "${column.name}"`);
699
+ }
700
+ });
701
+ }
702
+ };
703
+ conditionalColumns.forEach((column) => {
704
+ checkConditionArrays(column.showIf, column);
705
+ });
706
+ }
607
707
  const options = Object.assign(Object.assign({}, resInput.options), { bulkActions: undefined, allowedActions: undefined });
608
708
  options.allowedActions = this.validateAndNormalizeAllowedActions(resInput, errors);
609
709
  if (options.defaultSort) {
@@ -630,21 +730,29 @@ export default class ConfigValidator {
630
730
  return sortedColumns.indexOf(a.name) - sortedColumns.indexOf(b.name);
631
731
  });
632
732
  // if pageInjection is a string, make array with one element. Also check file exists
633
- const possibleInjections = ['beforeBreadcrumbs', 'afterBreadcrumbs', 'bottom', 'threeDotsDropdownItems', 'customActionIcons'];
733
+ // Validate page-specific allowed injection keys
634
734
  const possiblePages = ['list', 'show', 'create', 'edit'];
735
+ const allowedInjectionsByPage = {
736
+ list: ['beforeBreadcrumbs', 'afterBreadcrumbs', 'beforeActionButtons', 'bottom', 'threeDotsDropdownItems', 'customActionIcons', 'tableBodyStart'],
737
+ show: ['beforeBreadcrumbs', 'afterBreadcrumbs', 'bottom', 'threeDotsDropdownItems'],
738
+ edit: ['beforeBreadcrumbs', 'afterBreadcrumbs', 'bottom', 'threeDotsDropdownItems', 'saveButton'],
739
+ create: ['beforeBreadcrumbs', 'afterBreadcrumbs', 'bottom', 'threeDotsDropdownItems', 'saveButton'],
740
+ };
635
741
  if (options.pageInjections) {
636
- Object.entries(options.pageInjections).map(([key, value]) => {
637
- if (!possiblePages.includes(key)) {
638
- const similar = suggestIfTypo(possiblePages, key);
639
- errors.push(`Resource "${res.resourceId}" has invalid pageInjection key "${key}", allowed keys are ${possiblePages.join(', ')}. ${similar ? `Did you mean "${similar}"?` : ''}`);
640
- }
641
- Object.entries(value).map(([injection, target]) => {
642
- if (possibleInjections.includes(injection)) {
643
- this.validateAndListifyInjection(options.pageInjections[key], injection, errors);
742
+ Object.entries(options.pageInjections).map(([pageKey, value]) => {
743
+ if (!possiblePages.includes(pageKey)) {
744
+ const similar = suggestIfTypo(possiblePages, pageKey);
745
+ errors.push(`Resource "${res.resourceId}" has invalid pageInjection page "${pageKey}", allowed pages are ${possiblePages.join(', ')}. ${similar ? `Did you mean "${similar}"?` : ''}`);
746
+ return;
747
+ }
748
+ const allowedForThisPage = allowedInjectionsByPage[pageKey];
749
+ Object.entries(value).map(([injection, _target]) => {
750
+ if (allowedForThisPage.includes(injection)) {
751
+ this.validateAndListifyInjection(options.pageInjections[pageKey], injection, errors);
644
752
  }
645
753
  else {
646
- const similar = suggestIfTypo(possibleInjections, injection);
647
- errors.push(`Resource "${res.resourceId}" has invalid pageInjection key "${injection}", Supported keys are ${possibleInjections.join(', ')} ${similar ? `Did you mean "${similar}"?` : ''}`);
754
+ const similar = suggestIfTypo(allowedForThisPage, injection);
755
+ errors.push(`Resource "${res.resourceId}" has invalid pageInjection key "${injection}" for page "${pageKey}", supported keys are ${allowedForThisPage.join(', ')}. ${similar ? `Did you mean "${similar}"?` : ''}`);
648
756
  }
649
757
  });
650
758
  });
@@ -713,13 +821,72 @@ export default class ConfigValidator {
713
821
  return res;
714
822
  });
715
823
  }
824
+ validateAfterPluginsActivation() {
825
+ // Sort all page injections throughout the config by afOrder
826
+ this.sortAllPageInjections();
827
+ }
828
+ sortAllPageInjections() {
829
+ var _a, _b;
830
+ const config = this.adminforth.config;
831
+ // Sort login page injections
832
+ if ((_a = config.customization) === null || _a === void 0 ? void 0 : _a.loginPageInjections) {
833
+ const loginInjections = config.customization.loginPageInjections;
834
+ ConfigValidator.LOGIN_INJECTION_KEYS.forEach(key => {
835
+ if (loginInjections[key]) {
836
+ this.sortInjectionArray(loginInjections[key]);
837
+ }
838
+ });
839
+ }
840
+ // Sort global injections
841
+ if ((_b = config.customization) === null || _b === void 0 ? void 0 : _b.globalInjections) {
842
+ const globalInjections = config.customization.globalInjections;
843
+ ConfigValidator.GLOBAL_INJECTION_KEYS.forEach(key => {
844
+ if (globalInjections[key]) {
845
+ this.sortInjectionArray(globalInjections[key]);
846
+ }
847
+ });
848
+ }
849
+ // Sort resource page injections
850
+ if (config.resources) {
851
+ config.resources.forEach(resource => {
852
+ var _a;
853
+ if ((_a = resource.options) === null || _a === void 0 ? void 0 : _a.pageInjections) {
854
+ const pageInjections = resource.options.pageInjections;
855
+ // For each page type (list, show, create, edit)
856
+ Object.keys(pageInjections).forEach(pageType => {
857
+ const pageTypeInjections = pageInjections[pageType];
858
+ if (pageTypeInjections) {
859
+ // For each injection point within the page
860
+ ConfigValidator.PAGE_INJECTION_KEYS.forEach(injectionKey => {
861
+ if (pageTypeInjections[injectionKey]) {
862
+ this.sortInjectionArray(pageTypeInjections[injectionKey]);
863
+ }
864
+ });
865
+ }
866
+ });
867
+ }
868
+ });
869
+ }
870
+ }
871
+ sortInjectionArray(injections) {
872
+ if (Array.isArray(injections)) {
873
+ injections.sort((a, b) => { var _a, _b, _c, _d; return ((_b = (_a = b.meta) === null || _a === void 0 ? void 0 : _a.afOrder) !== null && _b !== void 0 ? _b : 0) - ((_d = (_c = a.meta) === null || _c === void 0 ? void 0 : _c.afOrder) !== null && _d !== void 0 ? _d : 0); });
874
+ }
875
+ }
716
876
  validateConfig() {
877
+ var _a;
717
878
  const errors = [];
718
879
  const warnings = [];
719
880
  const newConfig = Object.assign(Object.assign({}, this.inputConfig), { customization: this.validateAndNormalizeCustomization(errors), resources: this.validateAndNormalizeResources(errors, warnings) });
720
881
  if (!newConfig.baseUrl) {
721
882
  newConfig.baseUrl = '';
722
883
  }
884
+ try {
885
+ new URL(newConfig.baseUrl);
886
+ errors.push(`⛔️ This url is absolute path: ${newConfig.baseUrl}, you have to use relative paths`);
887
+ }
888
+ catch (_b) {
889
+ }
723
890
  if (!newConfig.baseUrl.endsWith('/')) {
724
891
  newConfig.baseUrlSlashed = `${newConfig.baseUrl}/`;
725
892
  }
@@ -798,6 +965,12 @@ export default class ConfigValidator {
798
965
  const similar = suggestIfTypo(newConfig.resources.map((res) => res.resourceId), newConfig.auth.usersResourceId);
799
966
  throw new Error(`Resource with id "${newConfig.auth.usersResourceId}" not found. ${similar ? `Did you mean "${similar}"?` : ''}`);
800
967
  }
968
+ if (newConfig.auth.userMenuSettingsPages) {
969
+ for (const page of newConfig.auth.userMenuSettingsPages) {
970
+ this.validateComponent({ file: page.component }, errors);
971
+ page.slug = (_a = page.slug) !== null && _a !== void 0 ? _a : slugifyString(page.pageLabel);
972
+ }
973
+ }
801
974
  // normalize beforeLoginConfirmation hooks
802
975
  const blc = this.inputConfig.auth.beforeLoginConfirmation;
803
976
  if (!Array.isArray(blc)) {
@@ -850,4 +1023,8 @@ export default class ConfigValidator {
850
1023
  });
851
1024
  }
852
1025
  }
1026
+ ConfigValidator.LOGIN_INJECTION_KEYS = ['underInputs', 'underLoginButton', 'panelHeader'];
1027
+ ConfigValidator.GLOBAL_INJECTION_KEYS = ['userMenu', 'header', 'sidebar', 'sidebarTop', 'everyPageBottom'];
1028
+ ConfigValidator.PAGE_INJECTION_KEYS = ['beforeBreadcrumbs', 'beforeActionButtons', 'afterBreadcrumbs', 'bottom', 'threeDotsDropdownItems', 'customActionIcons'];
1029
+ export default ConfigValidator;
853
1030
  //# sourceMappingURL=configValidator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configValidator.js","sourceRoot":"","sources":["../../modules/configValidator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configValidator.js","sourceRoot":"","sources":["../../modules/configValidator.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ export default class AdminForthRestAPI implements IAdminForthRestAPI {
10
10
  redirectTo?: string;
11
11
  allowedLogin: boolean;
12
12
  error?: string;
13
- }, response: any, extra: HttpExtra): Promise<void>;
13
+ }, response: any, extra: HttpExtra, rememberMeDays?: number): Promise<void>;
14
14
  registerEndpoints(server: IHttpServer): void;
15
15
  }
16
16
  //# sourceMappingURL=restApi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"restApi.d.ts","sourceRoot":"","sources":["../../modules/restApi.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,WAAW,EAEhB,kBAAkB,EAKlB,kBAAkB,EAElB,SAAS,EAEV,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAAE,iBAAiB,EACvB,SAAS,EAAsB,sBAAsB,EAGtC,MAAM,oBAAoB,CAAC;AAG7C,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,kBAAkB,EAC5B,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,WAAW,GACtB,OAAO,CAAC;IAAC,cAAc,EAAE,sBAAsB,CAAA;CAAC,CAAC,CA2CnD;AAED,MAAM,CAAC,OAAO,OAAO,iBAAkB,YAAW,kBAAkB;IAElE,UAAU,EAAE,WAAW,CAAC;gBAEZ,UAAU,EAAE,WAAW;IAI7B,qBAAqB,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,EAAC,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS;IAqB1J,iBAAiB,CAAC,MAAM,EAAE,WAAW;CA0rCtC"}
1
+ {"version":3,"file":"restApi.d.ts","sourceRoot":"","sources":["../../modules/restApi.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,WAAW,EAEhB,kBAAkB,EAKlB,kBAAkB,EAElB,SAAS,EAGV,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAAE,iBAAiB,EACvB,SAAS,EAAsB,sBAAsB,EAGtC,MAAM,oBAAoB,CAAC;AA2C7C,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,kBAAkB,EAC5B,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,WAAW,GACtB,OAAO,CAAC;IAAC,cAAc,EAAE,sBAAsB,CAAA;CAAC,CAAC,CA2CnD;AAED,MAAM,CAAC,OAAO,OAAO,iBAAkB,YAAW,kBAAkB;IAElE,UAAU,EAAE,WAAW,CAAC;gBAEZ,UAAU,EAAE,WAAW;IAI7B,qBAAqB,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,EAAC,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,MAAM;IAsBnL,iBAAiB,CAAC,MAAM,EAAE,WAAW;CAo0CtC"}