mountain-ui 1.0.36 → 1.0.38

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 (48) hide show
  1. package/index.d.ts +5 -5
  2. package/index.js +5 -5
  3. package/package.json +1 -1
  4. package/src/lib/registry/entityRegistry/components/EntityForm.svelte +1 -0
  5. package/src/lib/registry/entityRegistry/registry.svelte.js +17 -0
  6. package/src/lib/registry/fieldTypeRegistry/fieldTypes/Lines/Input.svelte +1 -0
  7. package/src/lib/registry/fieldTypeRegistry/fieldTypes/Link/Input/Input.svelte +17 -1
  8. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeDate/View.svelte +1 -1
  9. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeDatetime/View.svelte +1 -1
  10. package/src/lib/registry/fieldTypeRegistry/fieldTypes/time/TimeUpdatedAt/View.svelte +1 -1
  11. package/src/lib/registry/projectRegistry/components/ProjectButton.svelte +14 -0
  12. package/src/lib/registry/projectRegistry/components/ProjectCard.svelte +43 -0
  13. package/src/lib/registry/projectRegistry/components/ProjectDropdown.svelte +117 -0
  14. package/src/lib/registry/projectRegistry/createProject.js +17 -0
  15. package/src/lib/registry/projectRegistry/registry.svelte.js +50 -0
  16. package/src/lib/registry/viewEntriesProfilRegistery/components/CreateViewEntriesProfilDialog.svelte +17 -0
  17. package/src/lib/registry/viewEntriesProfilRegistery/components/ViewEntriesProfilButton.svelte +51 -0
  18. package/src/lib/registry/viewEntriesProfilRegistery/components/ViewEntriesProfilComponent.svelte +32 -0
  19. package/src/lib/registry/viewEntriesProfilRegistery/components/ViewEntriesProfilDropdown.svelte +60 -0
  20. package/src/lib/registry/viewEntriesProfilRegistery/createViewEntriesProfil.js +15 -0
  21. package/src/lib/registry/viewEntriesProfilRegistery/registerDefaultViewEntriesProfils.js +13 -0
  22. package/src/lib/registry/viewEntriesProfilRegistery/registry.svelte.js +48 -0
  23. package/src/lib/registry/{viewTypeRegistry/components/ViewTypeButton.svelte → viewEntriesTypeRegistry/components/ViewEntriesTypeButton.svelte} +5 -4
  24. package/src/lib/registry/{viewTypeRegistry/components/ViewTypeComponent.svelte → viewEntriesTypeRegistry/components/ViewEntriesTypeComponent.svelte} +4 -4
  25. package/src/lib/registry/viewEntriesTypeRegistry/components/ViewEntriesTypeDropdown.svelte +32 -0
  26. package/src/lib/registry/viewEntriesTypeRegistry/components/ViewEntriesTypeIcon.svelte +9 -0
  27. package/src/lib/registry/viewEntriesTypeRegistry/createViewEntriesType.js +17 -0
  28. package/src/lib/registry/viewEntriesTypeRegistry/registerDefaultViewEntriesTypes.js +7 -0
  29. package/src/lib/registry/viewEntriesTypeRegistry/registry.svelte.js +44 -0
  30. package/src/lib/registry/{viewTypeRegistry/viewTypes → viewEntriesTypeRegistry/viewEntriesTypes}/Table/component/StructureTable.svelte +11 -4
  31. package/src/lib/registry/viewEntriesTypeRegistry/viewEntriesTypes/Table/index.js +14 -0
  32. package/src/routes/+layout.svelte +613 -598
  33. package/src/routes/+page.svelte +3 -3
  34. package/src/routes/exemple/+layout.svelte +44 -0
  35. package/src/routes/exemple/+page.svelte +0 -0
  36. package/src/routes/exemple/[project_normalized_name]/+layout.svelte +100 -0
  37. package/src/routes/exemple/[project_normalized_name]/[entity_slug]/+layout.svelte +44 -0
  38. package/src/routes/exemple/[project_normalized_name]/[entity_slug]/+page.svelte +182 -0
  39. package/src/routes/exemple/[project_normalized_name]/[entity_slug]/[entry_id]/+page.svelte +25 -0
  40. package/src/routes/exemple/[project_normalized_name]/[entity_slug]/create/+page.svelte +45 -0
  41. package/src/routes/exemple/[project_normalized_name]/home/+page.svelte +1 -0
  42. package/src/lib/registry/viewTypeRegistry/createViewType.js +0 -17
  43. package/src/lib/registry/viewTypeRegistry/registerDefaultViewTypes.js +0 -7
  44. package/src/lib/registry/viewTypeRegistry/registry.svelte.js +0 -44
  45. package/src/lib/registry/viewTypeRegistry/viewTypes/Table/component/Component copy.svelte +0 -11
  46. package/src/lib/registry/viewTypeRegistry/viewTypes/Table/index.js +0 -14
  47. /package/src/lib/registry/{viewTypeRegistry/viewTypes → viewEntriesTypeRegistry/viewEntriesTypes}/Table/Icon.svelte +0 -0
  48. /package/src/lib/registry/{viewTypeRegistry/viewTypes → viewEntriesTypeRegistry/viewEntriesTypes}/Table/component/Component.svelte +0 -0
@@ -1,17 +1,17 @@
1
1
  <script>
2
2
  import { Button, RotativeLoader } from 'hamzus-ui';
3
- import { viewTypeRegistry } from '../registry.svelte';
3
+ import { viewEntriesTypeRegistry } from '../registry.svelte';
4
4
 
5
5
  let { type, ...props } = $props();
6
6
 
7
- const viewType = viewTypeRegistry.get(type);
7
+ const viewType = $derived(viewEntriesTypeRegistry.get(type));
8
8
 
9
- console.log(viewType);
9
+ const ViewTypeComponent = $derived(viewType?.components?.component ?? null)
10
10
 
11
11
  </script>
12
12
 
13
13
  {#if viewType}
14
- <svelte:component this={viewType.components.component} {...props}></svelte:component>
14
+ <ViewTypeComponent {...props}><slot name="actions" slot="actions"/></ViewTypeComponent>
15
15
  {:else}
16
16
  <div class="loader">
17
17
  <RotativeLoader></RotativeLoader>
@@ -0,0 +1,32 @@
1
+ <script>
2
+ import { Button, DropdownMenu } from 'hamzus-ui';
3
+ import { viewEntriesTypeRegistry } from '../registry.svelte';
4
+ import ViewTypeButton from './ViewEntriesTypeButton.svelte';
5
+
6
+ let { onChange = (type) => {}, type = null } = $props();
7
+
8
+ const viewTypes = viewEntriesTypeRegistry.getAll();
9
+ </script>
10
+
11
+ <DropdownMenu.Root direction="bottom">
12
+ <DropdownMenu.Trigger slot="trigger">
13
+ {#if type !== null}
14
+ <ViewTypeButton variant="secondary" {type}></ViewTypeButton>
15
+ {:else}
16
+ <Button variant="secondary" style="width:100%">
17
+ <h5>selectionner un type de vue</h5>
18
+ </Button>
19
+ {/if}
20
+ </DropdownMenu.Trigger>
21
+ <DropdownMenu.Content slot="content" width="250px">
22
+ {#each $viewTypes as viewType}
23
+ <ViewTypeButton
24
+ variant={viewType.type === type ? 'secondary' : 'ghost'}
25
+ onClick={() => {
26
+ onChange(viewType.type);
27
+ }}
28
+ type={viewType.type}
29
+ ></ViewTypeButton>
30
+ {/each}
31
+ </DropdownMenu.Content>
32
+ </DropdownMenu.Root>
@@ -0,0 +1,9 @@
1
+ <script>
2
+ import { viewEntriesTypeRegistry } from "../registry.svelte";
3
+
4
+ let { type } = $props();
5
+
6
+ const viewType = viewEntriesTypeRegistry.get(type);
7
+ </script>
8
+
9
+ <svelte:component this={viewType.components.icon}></svelte:component>
@@ -0,0 +1,17 @@
1
+ export function createViewEntriesType(config = {}) {
2
+ const viewEntriesType = {
3
+ type:"",
4
+ name:"",
5
+ description:"",
6
+ components : {
7
+ component:null,
8
+ icon:null,
9
+ }
10
+ };
11
+
12
+ Object.assign(viewEntriesType, config);
13
+
14
+ // viewEntriesType.get = () => "test";
15
+
16
+ return viewEntriesType;
17
+ }
@@ -0,0 +1,7 @@
1
+ import { viewEntriesTypeRegistry } from './registry.svelte';
2
+ import Table from './viewEntriesTypes/Table';
3
+
4
+
5
+ export function registerDefaultViewEntriesTypes() {
6
+ viewEntriesTypeRegistry.register(Table)
7
+ }
@@ -0,0 +1,44 @@
1
+ import { writable, derived, get } from 'svelte/store';
2
+
3
+ function createViewEntriesTypeRegistry() {
4
+ const store = writable({});
5
+
6
+ const all = derived(store, ($viewEntriesTypes) => Object.values($viewEntriesTypes));
7
+
8
+ return {
9
+ subscribe: store.subscribe,
10
+
11
+ register(viewEntriesType) {
12
+ store.update((viewEntriesTypes) => ({
13
+ ...viewEntriesTypes,
14
+ [viewEntriesType.type]: viewEntriesType
15
+ }));
16
+ },
17
+
18
+ unregister(type) {
19
+ store.update((viewEntriesTypes) => {
20
+ const copy = { ...viewEntriesTypes };
21
+
22
+ delete copy[type];
23
+
24
+ return copy;
25
+ });
26
+ },
27
+
28
+ get(type) {
29
+ return get(store)[type];
30
+ },
31
+
32
+ select(type) {
33
+ return derived(store, ($viewEntriesTypes) => $viewEntriesTypes[type]);
34
+ },
35
+
36
+
37
+
38
+ getAll() {
39
+ return all;
40
+ }
41
+ };
42
+ }
43
+
44
+ export const viewEntriesTypeRegistry = createViewEntriesTypeRegistry();
@@ -11,16 +11,19 @@
11
11
  entityId = null,
12
12
  path = '/get-all-entries',
13
13
  data = {},
14
+ onClick = (rowData)=>{},
14
15
  slug = null,
15
16
  onChange = () => {},
17
+ onChangeProps = (newProps) => {},
16
18
  invisibleFilters = {},
17
19
  structureColumns = [],
20
+ defaultFilters = {},
18
21
  defaultColumns = {},
19
22
  defaultProps = {},
20
23
  ...props
21
24
  } = $props();
22
25
 
23
- const entity = entityRegistry.select(entityId);
26
+ const entity = $derived(entityRegistry.select(entityId))
24
27
 
25
28
  let error = $state(null);
26
29
 
@@ -33,6 +36,8 @@
33
36
  });
34
37
 
35
38
  onMount(() => {
39
+ console.log();
40
+
36
41
  mounted = true;
37
42
  getColumnsFromStructureColumns($entity);
38
43
  });
@@ -203,11 +208,13 @@
203
208
  defaultFilters: defaultFilters,
204
209
  defaultColumns: defaultColumns
205
210
  };
211
+
212
+ onChangeProps(defaultProps)
206
213
  }
207
214
 
208
- function onClick(rowData) {
215
+ function handleClick(rowData) {
209
216
  // rediriger vers
210
- goto(`/${$page.params.projet_slug}/${$page.params.origin}/${slug ?? $page.params.structure_slug}/${rowData.id}`);
217
+ onClick(rowData)
211
218
  }
212
219
  </script>
213
220
 
@@ -250,7 +257,7 @@
250
257
  <p>Impossible de récuperer l'entrée !</p>
251
258
  </div>
252
259
  {:else if columns.length > 0}
253
- <TableV2.Root {getRows} onChange={handleChange} {onClick} {columns} {...props}>
260
+ <TableV2.Root {getRows} onChange={handleChange} onClick={handleClick} {columns} {...props} filters={defaultFilters}>
254
261
  <TableV2.ActionsBar slot="actions-bar"
255
262
  ><slot name="actions" slot="actions" /></TableV2.ActionsBar
256
263
  >
@@ -0,0 +1,14 @@
1
+ import { createViewEntriesType } from '../../createViewEntriesType';
2
+
3
+ import Icon from './Icon.svelte'
4
+ import Component from './component/Component.svelte'
5
+
6
+ export default createViewEntriesType({
7
+ type: "table",
8
+ name: "Tableau",
9
+ description: "",
10
+ components: {
11
+ component: Component,
12
+ icon: Icon,
13
+ },
14
+ });