registry-init.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import { registerComponent, isInited } from 'app/components/registry';
  2. import { componentsMap as FormFields } from 'app/customization/form-fields/_map';
  3. import { componentsMap as Elements } from 'app/customization/elements/_map';
  4. import { componentsMap as Molecules} from 'app/customization/molecules/_map'
  5. import { componentsMap as Forms } from 'app/customization/forms/_map';
  6. import { componentsMap as Layouts } from 'app/customization/page-layout/_map';
  7. import { componentsMap as MenuItems } from 'app/customization/menu-items/_map';
  8. import { componentsMap as Units} from 'app/customization/units/_map';
  9. import { componentsMap as ContentList } from "app/customization/units/content-list/_map";
  10. import { componentsMap as ProfileList} from "app/customization/units/profile-list/_map";
  11. import { skeletonsMap as Skeletons} from 'app/customization/skeletons/_map'
  12. function registerGroup(type, map) {
  13. for (const [name, Component] of Object.entries(map)) {
  14. if (Component) {
  15. registerComponent(type, name, Component);
  16. }
  17. }
  18. }
  19. export function registerAll() {
  20. const already = isInited();
  21. // Form fields always — HMR of `_map` must replace `phone: TextField` → `Phone`.
  22. registerGroup('form-field', FormFields);
  23. if (already) return;
  24. registerGroup('element', Elements);
  25. registerGroup('molecule', Molecules);
  26. registerGroup('form', Forms);
  27. registerGroup('layout', Layouts);
  28. registerGroup('menu-item', MenuItems);
  29. registerGroup('unit', Units);
  30. registerGroup('content-list', ContentList);
  31. registerGroup('profile-list', ProfileList);
  32. registerGroup('skeleton', Skeletons);
  33. }