fuma 1.0.20 → 2.0.0
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.
- package/README.md +1 -1
- package/dist/action/list/handlers.d.ts +2 -2
- package/dist/action/list/index.d.ts +2 -0
- package/dist/action/list/index.js +1 -0
- package/dist/action/list/trigger.d.ts +7 -1
- package/dist/action/list/trigger.js +2 -2
- package/dist/private/Meta.svelte +32 -27
- package/dist/private/Meta.svelte.d.ts +29 -17
- package/dist/private/api.d.ts +1 -1
- package/dist/private/store.d.ts +0 -1
- package/dist/server/parseFormData.d.ts +1 -1
- package/dist/server/parseQuery.d.ts +1 -1
- package/dist/server/sse.d.ts +0 -1
- package/dist/store/isSmallScreen.d.ts +0 -1
- package/dist/store/param.d.ts +0 -2
- package/dist/store/session.d.ts +0 -1
- package/dist/ui/badge/Badge.svelte +4 -3
- package/dist/ui/badge/Badge.svelte.d.ts +19 -15
- package/dist/ui/button/ButtonCopy.svelte +35 -32
- package/dist/ui/button/ButtonCopy.svelte.d.ts +23 -21
- package/dist/ui/button/ButtonDelete.svelte +23 -21
- package/dist/ui/button/ButtonDelete.svelte.d.ts +32 -20
- package/dist/ui/card/Card.svelte +13 -10
- package/dist/ui/card/Card.svelte.d.ts +39 -24
- package/dist/ui/card/CardBasic.svelte +5 -4
- package/dist/ui/card/CardBasic.svelte.d.ts +29 -18
- package/dist/ui/card/CardCollapse.svelte +35 -31
- package/dist/ui/card/CardCollapse.svelte.d.ts +37 -23
- package/dist/ui/card/CardFullScreen.svelte +8 -6
- package/dist/ui/card/CardFullScreen.svelte.d.ts +35 -20
- package/dist/ui/card/CardLink.svelte +5 -4
- package/dist/ui/card/CardLink.svelte.d.ts +29 -18
- package/dist/ui/dialog/Dialog.svelte +41 -34
- package/dist/ui/dialog/Dialog.svelte.d.ts +36 -23
- package/dist/ui/dialog/DialogConfirm.svelte +6 -4
- package/dist/ui/dialog/DialogConfirm.svelte.d.ts +33 -19
- package/dist/ui/drawer/Drawer.svelte +47 -38
- package/dist/ui/drawer/Drawer.svelte.d.ts +81 -46
- package/dist/ui/drawer/drawerFly.d.ts +0 -1
- package/dist/ui/drawer/layers.d.ts +0 -1
- package/dist/ui/form/Form.svelte +106 -87
- package/dist/ui/form/Form.svelte.d.ts +29 -16
- package/dist/ui/form/FormInput.svelte +12 -6
- package/dist/ui/form/FormSection.svelte +24 -17
- package/dist/ui/form/FormSection.svelte.d.ts +37 -25
- package/dist/ui/icon/Icon.svelte +35 -32
- package/dist/ui/icon/Icon.svelte.d.ts +25 -21
- package/dist/ui/index.d.ts +0 -1
- package/dist/ui/index.js +0 -1
- package/dist/ui/input/FormControl.svelte +48 -36
- package/dist/ui/input/FormControl.svelte.d.ts +32 -30
- package/dist/ui/input/InputBoolean.svelte +29 -22
- package/dist/ui/input/InputBoolean.svelte.d.ts +43 -35
- package/dist/ui/input/InputCheckboxs.svelte +37 -34
- package/dist/ui/input/InputCheckboxs.svelte.d.ts +54 -39
- package/dist/ui/input/InputCheckboxsMenu.svelte +64 -47
- package/dist/ui/input/InputCheckboxsMenu.svelte.d.ts +56 -41
- package/dist/ui/input/InputCheckboxsTree.svelte +9 -6
- package/dist/ui/input/InputCheckboxsTree.svelte.d.ts +22 -18
- package/dist/ui/input/InputCheckboxsTreeNodes.svelte +36 -28
- package/dist/ui/input/InputCheckboxsTreeNodes.svelte.d.ts +20 -16
- package/dist/ui/input/InputCombo.svelte +76 -65
- package/dist/ui/input/InputCombo.svelte.d.ts +55 -39
- package/dist/ui/input/InputDate.svelte +36 -29
- package/dist/ui/input/InputDate.svelte.d.ts +20 -16
- package/dist/ui/input/InputDateTime.svelte +37 -30
- package/dist/ui/input/InputDateTime.svelte.d.ts +20 -16
- package/dist/ui/input/InputImage.svelte +52 -45
- package/dist/ui/input/InputImage.svelte.d.ts +40 -27
- package/dist/ui/input/InputImagePreview.svelte +24 -20
- package/dist/ui/input/InputImagePreview.svelte.d.ts +25 -21
- package/dist/ui/input/InputNumber.svelte +28 -22
- package/dist/ui/input/InputNumber.svelte.d.ts +20 -20
- package/dist/ui/input/InputOptionInParam.svelte +12 -10
- package/dist/ui/input/InputOptionInParam.svelte.d.ts +21 -17
- package/dist/ui/input/InputOptions.svelte +40 -34
- package/dist/ui/input/InputOptions.svelte.d.ts +19 -15
- package/dist/ui/input/InputPassword.svelte +22 -18
- package/dist/ui/input/InputPassword.svelte.d.ts +43 -35
- package/dist/ui/input/InputRadio.svelte +51 -46
- package/dist/ui/input/InputRadio.svelte.d.ts +53 -38
- package/dist/ui/input/InputRelation.svelte +129 -112
- package/dist/ui/input/InputRelation.svelte.d.ts +39 -53
- package/dist/ui/input/InputRelations.svelte +96 -90
- package/dist/ui/input/InputRelations.svelte.d.ts +35 -37
- package/dist/ui/input/InputSearch.svelte +14 -11
- package/dist/ui/input/InputSearch.svelte.d.ts +25 -21
- package/dist/ui/input/InputSelect.svelte +59 -46
- package/dist/ui/input/InputSelect.svelte.d.ts +23 -19
- package/dist/ui/input/InputText.svelte +29 -28
- package/dist/ui/input/InputText.svelte.d.ts +41 -28
- package/dist/ui/input/InputTextarea.svelte +20 -19
- package/dist/ui/input/InputTextarea.svelte.d.ts +20 -20
- package/dist/ui/input/InputTime.svelte +43 -36
- package/dist/ui/input/InputTime.svelte.d.ts +21 -36
- package/dist/ui/input/RelationAfter.svelte +13 -9
- package/dist/ui/input/RelationAfter.svelte.d.ts +24 -20
- package/dist/ui/input/SelectorList.svelte +16 -12
- package/dist/ui/input/SelectorList.svelte.d.ts +29 -20
- package/dist/ui/input/textRich/InputTextRich.svelte +63 -59
- package/dist/ui/input/textRich/InputTextRich.svelte.d.ts +36 -38
- package/dist/ui/input/textRich/SuggesionList.svelte +13 -9
- package/dist/ui/input/textRich/SuggesionList.svelte.d.ts +19 -15
- package/dist/ui/input/textRich/ToolMark.svelte +12 -9
- package/dist/ui/input/textRich/ToolMark.svelte.d.ts +22 -18
- package/dist/ui/input/textRich/ToolMarkColor.svelte +16 -12
- package/dist/ui/input/textRich/ToolMarkColor.svelte.d.ts +21 -17
- package/dist/ui/input/textRich/ToolMarkLink.svelte +46 -38
- package/dist/ui/input/textRich/ToolMarkLink.svelte.d.ts +18 -14
- package/dist/ui/input/textRich/ToolMenu.svelte +34 -19
- package/dist/ui/input/textRich/ToolMenu.svelte.d.ts +30 -26
- package/dist/ui/input/textRich/ToolMenuAlign.svelte +13 -9
- package/dist/ui/input/textRich/ToolMenuAlign.svelte.d.ts +18 -14
- package/dist/ui/input/textRich/ToolMenuInsert.svelte +12 -7
- package/dist/ui/input/textRich/ToolMenuInsert.svelte.d.ts +20 -16
- package/dist/ui/input/textRich/ToolMenuNode.svelte +14 -10
- package/dist/ui/input/textRich/ToolMenuNode.svelte.d.ts +18 -14
- package/dist/ui/input/textRich/ToolsBar.svelte +21 -14
- package/dist/ui/input/textRich/ToolsBar.svelte.d.ts +19 -17
- package/dist/ui/input/textRich/suggestion.d.ts +0 -1
- package/dist/ui/login/Login.svelte +37 -31
- package/dist/ui/login/Login.svelte.d.ts +18 -14
- package/dist/ui/menu/ContextMenu.svelte +37 -31
- package/dist/ui/menu/ContextMenu.svelte.d.ts +38 -25
- package/dist/ui/menu/DropDown.svelte +92 -83
- package/dist/ui/menu/DropDown.svelte.d.ts +46 -33
- package/dist/ui/menu/DropDownMenu.svelte +25 -18
- package/dist/ui/menu/DropDownMenu.svelte.d.ts +30 -19
- package/dist/ui/mode/ToggleMode.svelte +28 -16
- package/dist/ui/mode/ToggleMode.svelte.d.ts +34 -17
- package/dist/ui/pagination/Pagination.svelte +9 -8
- package/dist/ui/pagination/Pagination.svelte.d.ts +18 -14
- package/dist/ui/placeholder/Placeholder.svelte +4 -3
- package/dist/ui/placeholder/Placeholder.svelte.d.ts +28 -17
- package/dist/ui/placeholder/PlaceholderImage.svelte +6 -4
- package/dist/ui/placeholder/PlaceholderImage.svelte.d.ts +28 -17
- package/dist/ui/range/RangePicker.svelte +76 -63
- package/dist/ui/range/RangePicker.svelte.d.ts +29 -24
- package/dist/ui/range/RangePickerButton.svelte +43 -35
- package/dist/ui/range/RangePickerButton.svelte.d.ts +21 -17
- package/dist/ui/table/Table.svelte +35 -28
- package/dist/ui/table/Table.svelte.d.ts +24 -19
- package/dist/ui/table/TableBody.svelte +18 -12
- package/dist/ui/table/TableBody.svelte.d.ts +20 -15
- package/dist/ui/table/TableCell.svelte +13 -10
- package/dist/ui/table/TableCell.svelte.d.ts +19 -14
- package/dist/ui/table/TableFieldsEdition.svelte +58 -52
- package/dist/ui/table/TableFieldsEdition.svelte.d.ts +20 -15
- package/dist/ui/table/TableHead.svelte +20 -21
- package/dist/ui/table/TableHead.svelte.d.ts +19 -14
- package/dist/ui/table/TableViewSelect.svelte +50 -37
- package/dist/ui/table/TableViewSelect.svelte.d.ts +27 -23
- package/dist/ui/table/cell/TableCellArray.svelte +5 -3
- package/dist/ui/table/cell/TableCellArray.svelte.d.ts +18 -14
- package/dist/ui/table/cell/TableCellBoolean.svelte +4 -3
- package/dist/ui/table/cell/TableCellBoolean.svelte.d.ts +18 -14
- package/dist/ui/table/cell/TableCellNumber.svelte +2 -1
- package/dist/ui/table/cell/TableCellNumber.svelte.d.ts +18 -14
- package/dist/ui/table/cell/TableCellString.svelte +5 -2
- package/dist/ui/table/cell/TableCellString.svelte.d.ts +19 -25
- package/dist/ui/table/field.d.ts +32 -40
- package/dist/ui/table/field.js +1 -1
- package/dist/ui/table/head/TableHeadBoolean.svelte +6 -3
- package/dist/ui/table/head/TableHeadBoolean.svelte.d.ts +18 -24
- package/dist/ui/table/head/TableHeadDate.svelte +61 -113
- package/dist/ui/table/head/TableHeadDate.svelte.d.ts +18 -24
- package/dist/ui/table/head/TableHeadDefault.svelte +5 -2
- package/dist/ui/table/head/TableHeadDefault.svelte.d.ts +18 -24
- package/dist/ui/table/head/TableHeadNumber.svelte +67 -76
- package/dist/ui/table/head/TableHeadNumber.svelte.d.ts +18 -24
- package/dist/ui/table/head/TableHeadSelect.svelte +47 -41
- package/dist/ui/table/head/TableHeadSelect.svelte.d.ts +21 -27
- package/dist/ui/table/head/TableHeadString.svelte +14 -8
- package/dist/ui/table/head/TableHeadString.svelte.d.ts +18 -24
- package/dist/ui/tabs/Tabs.svelte +8 -5
- package/dist/ui/tabs/Tabs.svelte.d.ts +19 -15
- package/dist/ui/tabs/TabsIcon.svelte +31 -28
- package/dist/ui/tabs/TabsIcon.svelte.d.ts +21 -17
- package/dist/utils/eventEmitter.d.ts +4 -4
- package/dist/utils/tippy.d.ts +1 -1
- package/dist/validation/form.d.ts +0 -1
- package/dist/validation/zod.d.ts +96 -162
- package/dist/validation/zod.js +2 -4
- package/package.json +134 -138
- package/dist/ui/form/FormInput.svelte.d.ts +0 -152
- package/dist/ui/form/formInput.d.ts +0 -90
- package/dist/ui/slot/Slot.svelte +0 -35
- package/dist/ui/slot/Slot.svelte.d.ts +0 -22
- package/dist/ui/slot/Span.svelte +0 -4
- package/dist/ui/slot/Span.svelte.d.ts +0 -16
- package/dist/ui/slot/index.d.ts +0 -1
- package/dist/ui/slot/index.js +0 -1
- package/dist/ui/table/head/OrderButtons.svelte +0 -37
- package/dist/ui/table/head/OrderButtons.svelte.d.ts +0 -20
- package/dist/ui/table/head/index.d.ts +0 -19
|
@@ -1,31 +1,38 @@
|
|
|
1
|
-
<script generics="Item extends {id: string}">
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
let
|
|
16
|
-
export
|
|
17
|
-
export let
|
|
18
|
-
export let
|
|
19
|
-
export let
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
1
|
+
<script lang="ts" generics="Item extends {id: string}">
|
|
2
|
+
import { afterNavigate } from '$app/navigation'
|
|
3
|
+
import { Placeholder } from '../placeholder/index.js'
|
|
4
|
+
import type { ComponentAndProps } from '../../utils/component.js'
|
|
5
|
+
|
|
6
|
+
import {
|
|
7
|
+
type TableField,
|
|
8
|
+
TableHead,
|
|
9
|
+
TableBody,
|
|
10
|
+
context,
|
|
11
|
+
createKeys,
|
|
12
|
+
syncFieldsWithParams
|
|
13
|
+
} from './index.js'
|
|
14
|
+
|
|
15
|
+
export let key = 'table'
|
|
16
|
+
export let fields: TableField<Item>[]
|
|
17
|
+
export let items: Item[]
|
|
18
|
+
export let slotAction: ((item: Item) => ComponentAndProps) | undefined = undefined
|
|
19
|
+
export let placholder = 'Aucun élément trouvé'
|
|
20
|
+
let klass = ''
|
|
21
|
+
export {klass as class}
|
|
22
|
+
export let classRow = ''
|
|
23
|
+
export let hideBody = false
|
|
24
|
+
export let onCreateField: (() => void) | undefined = undefined
|
|
25
|
+
|
|
26
|
+
const { KEY_FIELDS_VISIBLE, KEY_FIELDS_HIDDEN, KEY_FIELDS_ORDER } = createKeys(key)
|
|
27
|
+
context.set(key, {
|
|
28
|
+
KEY_FIELDS_VISIBLE,
|
|
29
|
+
KEY_FIELDS_HIDDEN,
|
|
30
|
+
KEY_FIELDS_ORDER
|
|
31
|
+
})
|
|
32
|
+
|
|
33
|
+
const initFields = () => (fields = syncFieldsWithParams(key, fields))
|
|
34
|
+
initFields()
|
|
35
|
+
afterNavigate(initFields)
|
|
29
36
|
</script>
|
|
30
37
|
|
|
31
38
|
<div class="{klass} overflow-x-auto rounded-lg border bg-base-100" class:min-h-[320px]={!hideBody}>
|
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
|
2
1
|
import type { ComponentAndProps } from '../../utils/component.js';
|
|
3
2
|
import { type TableField } from './index.js';
|
|
4
3
|
declare class __sveltets_Render<Item extends {
|
|
5
4
|
id: string;
|
|
6
5
|
}> {
|
|
7
6
|
props(): {
|
|
8
|
-
key?: string
|
|
7
|
+
key?: string;
|
|
9
8
|
fields: TableField<Item>[];
|
|
10
9
|
items: Item[];
|
|
11
10
|
slotAction?: ((item: Item) => ComponentAndProps) | undefined;
|
|
12
|
-
placholder?: string
|
|
13
|
-
class?: string
|
|
14
|
-
classRow?: string
|
|
15
|
-
hideBody?: boolean
|
|
11
|
+
placholder?: string;
|
|
12
|
+
class?: string;
|
|
13
|
+
classRow?: string;
|
|
14
|
+
hideBody?: boolean;
|
|
16
15
|
onCreateField?: (() => void) | undefined;
|
|
17
16
|
};
|
|
18
17
|
events(): {
|
|
@@ -23,18 +22,24 @@ declare class __sveltets_Render<Item extends {
|
|
|
23
22
|
[evt: string]: CustomEvent<any>;
|
|
24
23
|
};
|
|
25
24
|
slots(): {};
|
|
25
|
+
bindings(): string;
|
|
26
|
+
exports(): {};
|
|
26
27
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}>
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
28
|
+
interface $$IsomorphicComponent {
|
|
29
|
+
new <Item extends {
|
|
30
|
+
id: string;
|
|
31
|
+
}>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<Item>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<Item>['props']>, ReturnType<__sveltets_Render<Item>['events']>, ReturnType<__sveltets_Render<Item>['slots']>> & {
|
|
32
|
+
$$bindings?: ReturnType<__sveltets_Render<Item>['bindings']>;
|
|
33
|
+
} & ReturnType<__sveltets_Render<Item>['exports']>;
|
|
34
|
+
<Item extends {
|
|
35
|
+
id: string;
|
|
36
|
+
}>(internal: unknown, props: ReturnType<__sveltets_Render<Item>['props']> & {
|
|
37
|
+
$$events?: ReturnType<__sveltets_Render<Item>['events']>;
|
|
38
|
+
}): ReturnType<__sveltets_Render<Item>['exports']>;
|
|
39
|
+
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
39
40
|
}
|
|
40
|
-
|
|
41
|
+
declare const Table: $$IsomorphicComponent;
|
|
42
|
+
type Table<Item extends {
|
|
43
|
+
id: string;
|
|
44
|
+
}> = InstanceType<typeof Table<Item>>;
|
|
45
|
+
export default Table;
|
|
@@ -1,15 +1,21 @@
|
|
|
1
|
-
<script generics="Item extends {id: string}">
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
1
|
+
<script lang="ts" generics="Item extends {id: string}">
|
|
2
|
+
import { createEventDispatcher } from 'svelte'
|
|
3
|
+
|
|
4
|
+
import { TableCell, type TableField } from './index.js'
|
|
5
|
+
import type { ComponentAndProps } from '../../utils/component.js'
|
|
6
|
+
|
|
7
|
+
export let items: Item[]
|
|
8
|
+
export let fields: TableField<Item>[]
|
|
9
|
+
export let action: ((item: Item) => ComponentAndProps) | undefined = undefined
|
|
10
|
+
export let classRow = ''
|
|
11
|
+
|
|
12
|
+
const dispatch = createEventDispatcher<{ click: Item }>()
|
|
13
|
+
|
|
14
|
+
$: _fields = fields.filter((f) => f.$visible)
|
|
15
|
+
|
|
16
|
+
function handleClickRow(event: MouseEvent, item: Item) {
|
|
17
|
+
dispatch('click', item)
|
|
18
|
+
}
|
|
13
19
|
</script>
|
|
14
20
|
|
|
15
21
|
<tbody>
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
|
2
1
|
import { type TableField } from './index.js';
|
|
3
2
|
import type { ComponentAndProps } from '../../utils/component.js';
|
|
4
3
|
declare class __sveltets_Render<Item extends {
|
|
@@ -8,7 +7,7 @@ declare class __sveltets_Render<Item extends {
|
|
|
8
7
|
items: Item[];
|
|
9
8
|
fields: TableField<Item>[];
|
|
10
9
|
action?: ((item: Item) => ComponentAndProps) | undefined;
|
|
11
|
-
classRow?: string
|
|
10
|
+
classRow?: string;
|
|
12
11
|
};
|
|
13
12
|
events(): {
|
|
14
13
|
click: CustomEvent<Item>;
|
|
@@ -16,18 +15,24 @@ declare class __sveltets_Render<Item extends {
|
|
|
16
15
|
[evt: string]: CustomEvent<any>;
|
|
17
16
|
};
|
|
18
17
|
slots(): {};
|
|
18
|
+
bindings(): string;
|
|
19
|
+
exports(): {};
|
|
19
20
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}>
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
21
|
+
interface $$IsomorphicComponent {
|
|
22
|
+
new <Item extends {
|
|
23
|
+
id: string;
|
|
24
|
+
}>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<Item>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<Item>['props']>, ReturnType<__sveltets_Render<Item>['events']>, ReturnType<__sveltets_Render<Item>['slots']>> & {
|
|
25
|
+
$$bindings?: ReturnType<__sveltets_Render<Item>['bindings']>;
|
|
26
|
+
} & ReturnType<__sveltets_Render<Item>['exports']>;
|
|
27
|
+
<Item extends {
|
|
28
|
+
id: string;
|
|
29
|
+
}>(internal: unknown, props: ReturnType<__sveltets_Render<Item>['props']> & {
|
|
30
|
+
$$events?: ReturnType<__sveltets_Render<Item>['events']>;
|
|
31
|
+
}): ReturnType<__sveltets_Render<Item>['exports']>;
|
|
32
|
+
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
32
33
|
}
|
|
33
|
-
|
|
34
|
+
declare const TableBody: $$IsomorphicComponent;
|
|
35
|
+
type TableBody<Item extends {
|
|
36
|
+
id: string;
|
|
37
|
+
}> = InstanceType<typeof TableBody<Item>>;
|
|
38
|
+
export default TableBody;
|
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
<script generics="Item extends {id: string}">
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
<script lang="ts" generics="Item extends {id: string}">
|
|
2
|
+
import {
|
|
3
|
+
TableCellArray,
|
|
4
|
+
TableCellBoolean,
|
|
5
|
+
TableCellNumber,
|
|
6
|
+
TableCellString
|
|
7
|
+
} from './cell/index.js'
|
|
8
|
+
import type { TableField } from './index.js'
|
|
9
|
+
|
|
10
|
+
export let item: Item
|
|
11
|
+
export let field: TableField<Item>
|
|
12
|
+
|
|
13
|
+
$: value = field.getCell(item)
|
|
11
14
|
</script>
|
|
12
15
|
|
|
13
16
|
{#if Array.isArray(value)}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
|
2
1
|
import type { TableField } from './index.js';
|
|
3
2
|
declare class __sveltets_Render<Item extends {
|
|
4
3
|
id: string;
|
|
@@ -11,18 +10,24 @@ declare class __sveltets_Render<Item extends {
|
|
|
11
10
|
[evt: string]: CustomEvent<any>;
|
|
12
11
|
};
|
|
13
12
|
slots(): {};
|
|
13
|
+
bindings(): string;
|
|
14
|
+
exports(): {};
|
|
14
15
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}>
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
16
|
+
interface $$IsomorphicComponent {
|
|
17
|
+
new <Item extends {
|
|
18
|
+
id: string;
|
|
19
|
+
}>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<Item>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<Item>['props']>, ReturnType<__sveltets_Render<Item>['events']>, ReturnType<__sveltets_Render<Item>['slots']>> & {
|
|
20
|
+
$$bindings?: ReturnType<__sveltets_Render<Item>['bindings']>;
|
|
21
|
+
} & ReturnType<__sveltets_Render<Item>['exports']>;
|
|
22
|
+
<Item extends {
|
|
23
|
+
id: string;
|
|
24
|
+
}>(internal: unknown, props: ReturnType<__sveltets_Render<Item>['props']> & {
|
|
25
|
+
$$events?: ReturnType<__sveltets_Render<Item>['events']>;
|
|
26
|
+
}): ReturnType<__sveltets_Render<Item>['exports']>;
|
|
27
|
+
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
27
28
|
}
|
|
28
|
-
|
|
29
|
+
declare const TableCell: $$IsomorphicComponent;
|
|
30
|
+
type TableCell<Item extends {
|
|
31
|
+
id: string;
|
|
32
|
+
}> = InstanceType<typeof TableCell<Item>>;
|
|
33
|
+
export default TableCell;
|
|
@@ -1,54 +1,60 @@
|
|
|
1
|
-
<script generics="Item extends {id: string}">
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
1
|
+
<script lang="ts" generics="Item extends {id: string}">
|
|
2
|
+
import {
|
|
3
|
+
mdiCheck,
|
|
4
|
+
mdiCheckCircleOutline,
|
|
5
|
+
mdiCircleSmall,
|
|
6
|
+
mdiDotsHorizontal,
|
|
7
|
+
mdiDrag,
|
|
8
|
+
mdiPlus
|
|
9
|
+
} from '@mdi/js'
|
|
10
|
+
import type { TippyInstance } from '../../utils/tippy.js'
|
|
11
|
+
import { goto } from '$app/navigation'
|
|
12
|
+
import { page } from '$app/stores'
|
|
13
|
+
import { urlParam } from '../../store/param.js'
|
|
14
|
+
import { listEditable } from '../../action/list/index.js'
|
|
15
|
+
import { jsonParse } from '../../utils/jsonParse.js'
|
|
16
|
+
import { context } from './context.js'
|
|
17
|
+
import { Icon } from '../icon/index.js'
|
|
18
|
+
import { DropDown } from '../menu/index.js'
|
|
19
|
+
import type { TableField } from './index.js'
|
|
20
|
+
|
|
21
|
+
export let fields: TableField<Item>[]
|
|
22
|
+
export let key: string
|
|
23
|
+
export let onCreateField: (() => void) | undefined = undefined
|
|
24
|
+
|
|
25
|
+
let tip: TippyInstance
|
|
26
|
+
|
|
27
|
+
const { KEY_FIELDS_VISIBLE, KEY_FIELDS_HIDDEN, KEY_FIELDS_ORDER } = context.get(key)
|
|
28
|
+
|
|
29
|
+
function getFieldHref(field: TableField) {
|
|
30
|
+
if (field.locked) return
|
|
31
|
+
const url = toggleParam(field.visible ? KEY_FIELDS_HIDDEN : KEY_FIELDS_VISIBLE, field.key)
|
|
32
|
+
if (url.searchParams.has(field.key)) {
|
|
33
|
+
url.searchParams.delete(field.key)
|
|
34
|
+
url.searchParams.delete('skip')
|
|
35
|
+
url.searchParams.delete('take')
|
|
36
|
+
}
|
|
37
|
+
return url.pathname + url.search
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function toggleParam(paramKey: string, fieldKey: string): URL {
|
|
41
|
+
const url = new URL($page.url)
|
|
42
|
+
const fieldsKeys = jsonParse<string[]>($page.url.searchParams.get(paramKey), [])
|
|
43
|
+
if (!fieldsKeys.includes(fieldKey)) fieldsKeys.push(fieldKey)
|
|
44
|
+
else fieldsKeys.splice(fieldsKeys.indexOf(fieldKey), 1)
|
|
45
|
+
|
|
46
|
+
if (fieldsKeys.length) url.searchParams.set(paramKey, JSON.stringify(fieldsKeys))
|
|
47
|
+
else url.searchParams.delete(paramKey)
|
|
48
|
+
|
|
49
|
+
return url
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
function handleReorder(newFieldsOrder: TableField<Item>[]) {
|
|
53
|
+
fields = newFieldsOrder
|
|
54
|
+
const fieldsOrder = fields.map((f) => f.key)
|
|
55
|
+
const newUrl = $urlParam.with({ [KEY_FIELDS_ORDER]: JSON.stringify(fieldsOrder) })
|
|
56
|
+
goto(newUrl, { replaceState: true, noScroll: true, keepFocus: true })
|
|
57
|
+
}
|
|
52
58
|
</script>
|
|
53
59
|
|
|
54
60
|
<th class="sticky right-0 z-10 p-0 px-1" align="right">
|
|
@@ -100,7 +106,7 @@ function handleReorder(newFieldsOrder) {
|
|
|
100
106
|
<Icon path={mdiCheck} class="fill-base-content/50" size={21} />
|
|
101
107
|
{:else if $urlParam.has(field.key)}
|
|
102
108
|
<Icon path={mdiCheckCircleOutline} class="fill-primary" size={21} />
|
|
103
|
-
{:else if field
|
|
109
|
+
{:else if field.$visible}
|
|
104
110
|
<Icon path={mdiCheck} class="fill-success" size={21} />
|
|
105
111
|
{:else}
|
|
106
112
|
<Icon path={mdiCircleSmall} class="fill-base-content/50" size={21} />
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
|
2
1
|
import type { TableField } from './index.js';
|
|
3
2
|
declare class __sveltets_Render<Item extends {
|
|
4
3
|
id: string;
|
|
@@ -9,23 +8,29 @@ declare class __sveltets_Render<Item extends {
|
|
|
9
8
|
onCreateField?: (() => void) | undefined;
|
|
10
9
|
};
|
|
11
10
|
events(): {
|
|
12
|
-
click:
|
|
11
|
+
click: PointerEvent;
|
|
13
12
|
} & {
|
|
14
13
|
[evt: string]: CustomEvent<any>;
|
|
15
14
|
};
|
|
16
15
|
slots(): {};
|
|
16
|
+
bindings(): string;
|
|
17
|
+
exports(): {};
|
|
17
18
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}>
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
19
|
+
interface $$IsomorphicComponent {
|
|
20
|
+
new <Item extends {
|
|
21
|
+
id: string;
|
|
22
|
+
}>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<Item>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<Item>['props']>, ReturnType<__sveltets_Render<Item>['events']>, ReturnType<__sveltets_Render<Item>['slots']>> & {
|
|
23
|
+
$$bindings?: ReturnType<__sveltets_Render<Item>['bindings']>;
|
|
24
|
+
} & ReturnType<__sveltets_Render<Item>['exports']>;
|
|
25
|
+
<Item extends {
|
|
26
|
+
id: string;
|
|
27
|
+
}>(internal: unknown, props: ReturnType<__sveltets_Render<Item>['props']> & {
|
|
28
|
+
$$events?: ReturnType<__sveltets_Render<Item>['events']>;
|
|
29
|
+
}): ReturnType<__sveltets_Render<Item>['exports']>;
|
|
30
|
+
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
30
31
|
}
|
|
31
|
-
|
|
32
|
+
declare const TableFieldsEdition: $$IsomorphicComponent;
|
|
33
|
+
type TableFieldsEdition<Item extends {
|
|
34
|
+
id: string;
|
|
35
|
+
}> = InstanceType<typeof TableFieldsEdition<Item>>;
|
|
36
|
+
export default TableFieldsEdition;
|
|
@@ -1,28 +1,27 @@
|
|
|
1
|
-
<script generics="Item extends {id: string}">
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export let
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
1
|
+
<script lang="ts" generics="Item extends {id: string}">
|
|
2
|
+
import { component, type ComponentAndProps } from '../../utils/component.js'
|
|
3
|
+
import { type TableField, TableFieldsEdition } from './index.js'
|
|
4
|
+
import { tableHeadComponent } from './head/index.js'
|
|
5
|
+
import TableHeadDefault from './head/TableHeadDefault.svelte'
|
|
6
|
+
|
|
7
|
+
export let fields: TableField<Item>[]
|
|
8
|
+
export let key: string
|
|
9
|
+
export let onCreateField: (() => void) | undefined = undefined
|
|
10
|
+
|
|
11
|
+
function getComponent(field: TableField): ComponentAndProps {
|
|
12
|
+
if (field.type === 'select' || field.type === 'multiselect')
|
|
13
|
+
return tableHeadComponent(field.type, { options: field.options || [] })(field)
|
|
14
|
+
if (field.type) return tableHeadComponent(field.type, {})(field)
|
|
15
|
+
if (!field.head) return component(TableHeadDefault, { field })
|
|
16
|
+
if (typeof field.head === 'function') return field.head(field)
|
|
17
|
+
if (typeof field.head === 'string') return tableHeadComponent(field.head, {})(field)
|
|
18
|
+
return field.head
|
|
19
|
+
}
|
|
21
20
|
</script>
|
|
22
21
|
|
|
23
22
|
<thead>
|
|
24
23
|
<tr class="shadow">
|
|
25
|
-
{#each fields.filter((f) => f
|
|
24
|
+
{#each fields.filter((f) => f.$visible) as field (field.key)}
|
|
26
25
|
{@const { component, props } = getComponent(field)}
|
|
27
26
|
<svelte:component this={component} {...props} />
|
|
28
27
|
{/each}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
|
2
1
|
import { type TableField } from './index.js';
|
|
3
2
|
declare class __sveltets_Render<Item extends {
|
|
4
3
|
id: string;
|
|
@@ -12,18 +11,24 @@ declare class __sveltets_Render<Item extends {
|
|
|
12
11
|
[evt: string]: CustomEvent<any>;
|
|
13
12
|
};
|
|
14
13
|
slots(): {};
|
|
14
|
+
bindings(): string;
|
|
15
|
+
exports(): {};
|
|
15
16
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}>
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
17
|
+
interface $$IsomorphicComponent {
|
|
18
|
+
new <Item extends {
|
|
19
|
+
id: string;
|
|
20
|
+
}>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<Item>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<Item>['props']>, ReturnType<__sveltets_Render<Item>['events']>, ReturnType<__sveltets_Render<Item>['slots']>> & {
|
|
21
|
+
$$bindings?: ReturnType<__sveltets_Render<Item>['bindings']>;
|
|
22
|
+
} & ReturnType<__sveltets_Render<Item>['exports']>;
|
|
23
|
+
<Item extends {
|
|
24
|
+
id: string;
|
|
25
|
+
}>(internal: unknown, props: ReturnType<__sveltets_Render<Item>['props']> & {
|
|
26
|
+
$$events?: ReturnType<__sveltets_Render<Item>['events']>;
|
|
27
|
+
}): ReturnType<__sveltets_Render<Item>['exports']>;
|
|
28
|
+
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
28
29
|
}
|
|
29
|
-
|
|
30
|
+
declare const TableHead: $$IsomorphicComponent;
|
|
31
|
+
type TableHead<Item extends {
|
|
32
|
+
id: string;
|
|
33
|
+
}> = InstanceType<typeof TableHead<Item>>;
|
|
34
|
+
export default TableHead;
|