@humandialog/forms.svelte 0.5.4 → 0.5.6
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 +0 -0
- package/components/Fab.svelte +5 -3
- package/components/Fab.svelte.d.ts +14 -14
- package/components/Floating_container.svelte.d.ts +21 -21
- package/components/Grid.menu.svelte.d.ts +25 -25
- package/components/button.svelte.d.ts +24 -24
- package/components/checkbox.svelte.d.ts +26 -26
- package/components/combo/combo.d.ts +17 -17
- package/components/combo/combo.item.svelte.d.ts +19 -19
- package/components/combo/combo.js +17 -17
- package/components/combo/combo.source.svelte.d.ts +22 -22
- package/components/combo/combo.svelte +1 -1
- package/components/combo/combo.svelte.d.ts +42 -42
- package/components/contextmenu.svelte.d.ts +26 -26
- package/components/date.svelte.d.ts +31 -31
- package/components/delayed.spinner.svelte.d.ts +19 -19
- package/components/document/internal/Document_command.d.ts +9 -9
- package/components/document/internal/Document_command.js +9 -9
- package/components/document/internal/Selection_helper.d.ts +7 -7
- package/components/document/internal/Selection_helper.js +133 -133
- package/components/document/internal/Selection_range.d.ts +26 -26
- package/components/document/internal/Selection_range.js +58 -58
- package/components/document/internal/palette.row.svelte.d.ts +36 -36
- package/components/document/internal/palette.svelte.d.ts +67 -67
- package/components/document/rich.edit.svelte +49 -8
- package/components/document/rich.edit.svelte.d.ts +32 -32
- package/components/edit.field.svelte.d.ts +28 -28
- package/components/file.loader.svelte.d.ts +25 -25
- package/components/icon.svelte.d.ts +62 -62
- package/components/input.text.svelte.d.ts +29 -29
- package/components/inputbox.ltop.svelte +1 -1
- package/components/inputbox.ltop.svelte.d.ts +52 -52
- package/components/kanban/Kanban.d.ts +43 -23
- package/components/kanban/Kanban.js +79 -23
- package/components/kanban/internal/kanban.card.svelte +195 -117
- package/components/kanban/internal/kanban.card.svelte.d.ts +32 -35
- package/components/kanban/internal/kanban.column.svelte +152 -108
- package/components/kanban/internal/kanban.column.svelte.d.ts +51 -51
- package/components/kanban/internal/kanban.inserter.svelte +14 -14
- package/components/kanban/internal/kanban.inserter.svelte.d.ts +18 -18
- package/components/kanban/internal/kanban.move.menu.svelte +138 -135
- package/components/kanban/internal/kanban.move.menu.svelte.d.ts +22 -19
- package/components/kanban/internal/kanban.props.svelte +140 -0
- package/components/kanban/internal/kanban.props.svelte.d.ts +19 -0
- package/components/kanban/kanban.callbacks.svelte +3 -9
- package/components/kanban/kanban.callbacks.svelte.d.ts +18 -21
- package/components/kanban/kanban.column.svelte +10 -10
- package/components/kanban/kanban.column.svelte.d.ts +21 -21
- package/components/kanban/kanban.combo.svelte +36 -0
- package/components/kanban/kanban.combo.svelte.d.ts +24 -0
- package/components/kanban/kanban.date.svelte +30 -0
- package/components/kanban/kanban.date.svelte.d.ts +21 -0
- package/components/kanban/kanban.source.svelte +25 -0
- package/components/kanban/kanban.source.svelte.d.ts +23 -0
- package/components/kanban/kanban.static.svelte +28 -0
- package/components/kanban/kanban.static.svelte.d.ts +20 -0
- package/components/kanban/kanban.summary.svelte +4 -0
- package/components/kanban/kanban.summary.svelte.d.ts +18 -16
- package/components/kanban/kanban.svelte +459 -124
- package/components/kanban/kanban.svelte.d.ts +63 -43
- package/components/kanban/kanban.tags.svelte +34 -0
- package/components/kanban/kanban.tags.svelte.d.ts +23 -0
- package/components/kanban/kanban.title.svelte +4 -2
- package/components/kanban/kanban.title.svelte.d.ts +18 -17
- package/components/list/List.d.ts +44 -36
- package/components/list/List.js +52 -42
- package/components/list/internal/list.element.props.svelte +65 -65
- package/components/list/internal/list.element.props.svelte.d.ts +21 -21
- package/components/list/internal/list.element.summary.svelte +44 -30
- package/components/list/internal/list.element.summary.svelte.d.ts +25 -24
- package/components/list/internal/list.element.svelte +24 -11
- package/components/list/internal/list.element.svelte.d.ts +29 -29
- package/components/list/internal/list.inserter.svelte.d.ts +19 -19
- package/components/list/list.combo.svelte.d.ts +21 -21
- package/components/list/list.date.svelte.d.ts +18 -18
- package/components/list/list.inserter.svelte.d.ts +17 -17
- package/components/list/list.static.svelte.d.ts +17 -17
- package/components/list/list.summary.svelte.d.ts +19 -19
- package/components/list/list.svelte +2 -2
- package/components/list/list.svelte.d.ts +59 -59
- package/components/list/list.title.svelte +2 -0
- package/components/list/list.title.svelte.d.ts +22 -21
- package/components/menu.d.ts +4 -4
- package/components/menu.js +56 -56
- package/components/radio.svelte.d.ts +26 -26
- package/components/sidebar/sidebar.brand.svelte.d.ts +31 -31
- package/components/sidebar/sidebar.group.svelte +41 -3
- package/components/sidebar/sidebar.group.svelte.d.ts +33 -27
- package/components/sidebar/sidebar.item.svelte.d.ts +28 -28
- package/components/sidebar/sidebar.list.svelte +15 -15
- package/components/sidebar/sidebar.list.svelte.d.ts +33 -33
- package/components/sidebar/sidebar.svelte.d.ts +27 -27
- package/components/simple.table.svelte.d.ts +41 -41
- package/components/table/_template.table.svelte.d.ts +57 -57
- package/components/table/column.svelte.d.ts +19 -19
- package/components/table/item.svelte.d.ts +17 -17
- package/components/table/table.d.ts +11 -11
- package/components/table/table.js +11 -11
- package/components/table/table.svelte.d.ts +75 -75
- package/components/tag.svelte +40 -0
- package/components/tag.svelte.d.ts +19 -0
- package/components/tags.svelte +207 -0
- package/components/tags.svelte.d.ts +31 -0
- package/components/textarea.ltop.svelte.d.ts +35 -35
- package/components/tile.title.svelte.d.ts +29 -29
- package/desk.svelte.d.ts +23 -23
- package/form.box.svelte.d.ts +35 -35
- package/horizontal.toolbar.svelte +23 -4
- package/horizontal.toolbar.svelte.d.ts +25 -23
- package/index.d.ts +59 -52
- package/index.js +65 -58
- package/internal/configurable.content.svelte.d.ts +27 -27
- package/internal/loading.svelte.d.ts +23 -23
- package/modal.svelte +7 -7
- package/modal.svelte.d.ts +35 -35
- package/operations.svelte +52 -23
- package/operations.svelte.d.ts +16 -16
- package/package.json +16 -8
- package/page.row.svelte.d.ts +31 -31
- package/page.svelte +3 -3
- package/page.svelte.d.ts +45 -45
- package/stores.d.ts +39 -39
- package/stores.js +0 -0
- package/tenant.members.svelte +10 -11
- package/tenant.members.svelte.d.ts +33 -33
- package/tile.svelte.d.ts +33 -33
- package/tiles.row.svelte.d.ts +31 -31
- package/tiles.vertical.row.svelte.d.ts +29 -29
- package/updates.d.ts +4 -3
- package/updates.js +16 -0
- package/utils.d.ts +35 -35
- package/utils.js +11 -1
- package/vertical.toolbar.svelte +31 -6
- package/vertical.toolbar.svelte.d.ts +27 -25
|
@@ -3,144 +3,147 @@ import { KanbanColumnTop, KanbanColumnBottom, rKanban_definition } from "../Kanb
|
|
|
3
3
|
export let definition;
|
|
4
4
|
export let item;
|
|
5
5
|
export let afterActionOperation = void 0;
|
|
6
|
+
export let onMoveUp;
|
|
7
|
+
export let onMoveDown;
|
|
8
|
+
export let onReplace;
|
|
6
9
|
function replaceMenu() {
|
|
7
10
|
if (afterActionOperation)
|
|
8
11
|
setTimeout(() => {
|
|
9
12
|
afterActionOperation(item);
|
|
10
13
|
}, 0);
|
|
11
14
|
}
|
|
12
|
-
</script>
|
|
13
|
-
|
|
14
|
-
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
|
15
|
-
|
|
16
|
-
<menu class="hidden sm:flex flex-row gap-3">
|
|
17
|
-
<section class="flex flex-col gap-1">
|
|
18
|
-
<p class="text-xs h-4 w-[100px] truncate"></p>
|
|
19
|
-
<button class=" h-8 w-full
|
|
20
|
-
text-xs font-medium text-stone-900 dark:text-stone-400 dark:hover:text-white
|
|
21
|
-
bg-stone-100 hover:bg-stone-200 dark:bg-stone-800 dark:hover:bg-stone-700 active:bg-stone-300 dark:active:bg-stone-600
|
|
22
|
-
border rounded border-stone-200 dark:border-stone-600 focus:outline-none
|
|
23
|
-
inline-flex items-center justify-center"
|
|
24
|
-
on:click={(e) => {
|
|
25
|
-
<div class="w-3 h-3"><FaAngleUp/></div>
|
|
26
|
-
</button>
|
|
27
|
-
|
|
28
|
-
<button class=" h-8 w-full
|
|
29
|
-
text-xs font-medium text-stone-900 dark:text-stone-400 dark:hover:text-white
|
|
30
|
-
bg-stone-100 hover:bg-stone-200 dark:bg-stone-800 dark:hover:bg-stone-700 active:bg-stone-300 dark:active:bg-stone-600
|
|
31
|
-
border rounded border-stone-200 dark:border-stone-600 focus:outline-none
|
|
32
|
-
inline-flex items-center justify-center"
|
|
33
|
-
on:click={(e) => {
|
|
34
|
-
<div class="w-3 h-3"><FaAngleDown/></div>
|
|
35
|
-
</button>
|
|
36
|
-
</section>
|
|
37
|
-
|
|
38
|
-
{#if definition && definition.columns && definition.columns.length > 0}
|
|
39
|
-
{#each definition.columns as column, idx}
|
|
40
|
-
<section class="flex flex-col gap-1">
|
|
41
|
-
<p class="text-xs h-4 w-[100px] ml-1 truncate">{column.title}</p>
|
|
42
|
-
<button class=" h-8 w-full
|
|
43
|
-
text-base font-medium text-stone-900 dark:text-stone-400 dark:hover:text-white
|
|
44
|
-
bg-stone-100 hover:bg-stone-200 dark:bg-stone-800 dark:hover:bg-stone-700 active:bg-stone-300 dark:active:bg-stone-600
|
|
45
|
-
border rounded border-stone-200 dark:border-stone-600 focus:outline-none
|
|
46
|
-
inline-flex items-center justify-center"
|
|
47
|
-
on:click={(e) => {
|
|
48
|
-
<div class="w-3 h-3"><FaAngleDoubleUp/></div>
|
|
49
|
-
</button>
|
|
50
|
-
|
|
51
|
-
<button class=" h-8 w-full
|
|
52
|
-
text-base font-medium text-stone-900 dark:text-stone-400 dark:hover:text-white
|
|
53
|
-
bg-stone-100 hover:bg-stone-200 dark:bg-stone-800 dark:hover:bg-stone-700 active:bg-stone-300 dark:active:bg-stone-600
|
|
54
|
-
border rounded border-stone-200 dark:border-stone-600 focus:outline-none
|
|
55
|
-
inline-flex items-center justify-center"
|
|
56
|
-
on:click={(e) => {
|
|
57
|
-
<div class="w-3 h-3"><FaAngleDoubleDown/></div>
|
|
58
|
-
</button>
|
|
59
|
-
</section>
|
|
60
|
-
{/each}
|
|
61
|
-
{/if}
|
|
62
|
-
</menu>
|
|
63
|
-
|
|
64
|
-
<menu class="flex sm:hidden flex-col gap-3">
|
|
65
|
-
<section class="flex flex-row">
|
|
66
|
-
<p class="text-base truncate "></p>
|
|
67
|
-
<div class="flex flex-row ml-auto gap-3">
|
|
68
|
-
<button class=" bg-transparent
|
|
69
|
-
w-[55px] h-[55px]
|
|
70
|
-
m-0
|
|
71
|
-
flex items-center justify-center
|
|
72
|
-
disable-dbl-tap-zoom"
|
|
73
|
-
on:click={(e) => {
|
|
74
|
-
<div class=" w-10 h-10
|
|
75
|
-
text-white bg-zinc-500 hover:bg-zinc-500
|
|
76
|
-
font-medium rounded-full text-sm text-center shadow-md
|
|
77
|
-
dark:bg-zinc-500 dark:hover:bg-zinc-500
|
|
78
|
-
flex items-center justify-center">
|
|
79
|
-
<div class="w-5 h-5">
|
|
80
|
-
<FaAngleUp/>
|
|
81
|
-
</div>
|
|
82
|
-
</div>
|
|
83
|
-
</button>
|
|
84
|
-
|
|
85
|
-
<button class=" bg-transparent
|
|
86
|
-
w-[55px] h-[55px]
|
|
87
|
-
m-0
|
|
88
|
-
flex items-center justify-center
|
|
89
|
-
disable-dbl-tap-zoom"
|
|
90
|
-
on:click={(e) => {
|
|
91
|
-
<div class=" w-10 h-10
|
|
92
|
-
text-white bg-zinc-500 hover:bg-zinc-500
|
|
93
|
-
font-medium rounded-full text-sm text-center shadow-md
|
|
94
|
-
dark:bg-zinc-500 dark:hover:bg-zinc-500
|
|
95
|
-
flex items-center justify-center">
|
|
96
|
-
<div class="w-5 h-5">
|
|
97
|
-
<FaAngleDown/>
|
|
98
|
-
</div>
|
|
99
|
-
</div>
|
|
100
|
-
</button>
|
|
101
|
-
</div>
|
|
102
|
-
</section>
|
|
103
|
-
|
|
104
|
-
{#if definition && definition.columns && definition.columns.length > 0}
|
|
105
|
-
{#each definition.columns as column, idx}
|
|
106
|
-
<section class="flex flex-row">
|
|
107
|
-
<p class="text-base mt-4 truncate w-[120px]">{column.title}</p>
|
|
108
|
-
<div class="flex flex-row ml-auto gap-3">
|
|
109
|
-
<button class=" bg-transparent
|
|
110
|
-
w-[55px] h-[55px]
|
|
111
|
-
m-0
|
|
112
|
-
flex items-center justify-center
|
|
113
|
-
disable-dbl-tap-zoom"
|
|
114
|
-
on:click={(e) => {
|
|
115
|
-
<div class=" w-10 h-10
|
|
116
|
-
text-white bg-zinc-500 hover:bg-zinc-500
|
|
117
|
-
font-medium rounded-full text-sm text-center shadow-md
|
|
118
|
-
dark:bg-zinc-500 dark:hover:bg-zinc-500
|
|
119
|
-
flex items-center justify-center">
|
|
120
|
-
<div class="w-5 h-5">
|
|
121
|
-
<FaAngleDoubleUp/>
|
|
122
|
-
</div>
|
|
123
|
-
</div>
|
|
124
|
-
</button>
|
|
125
|
-
|
|
126
|
-
<button class=" bg-transparent
|
|
127
|
-
w-[55px] h-[55px]
|
|
128
|
-
m-0
|
|
129
|
-
flex items-center justify-center
|
|
130
|
-
disable-dbl-tap-zoom"
|
|
131
|
-
on:click={(e) => {
|
|
132
|
-
<div class=" w-10 h-10
|
|
133
|
-
text-white bg-zinc-500 hover:bg-zinc-500
|
|
134
|
-
font-medium rounded-full text-sm text-center shadow-md
|
|
135
|
-
dark:bg-zinc-500 dark:hover:bg-zinc-500
|
|
136
|
-
flex items-center justify-center">
|
|
137
|
-
<div class="w-5 h-5">
|
|
138
|
-
<FaAngleDoubleDown/>
|
|
139
|
-
</div>
|
|
140
|
-
</div>
|
|
141
|
-
</button>
|
|
142
|
-
</div>
|
|
143
|
-
</section>
|
|
144
|
-
{/each}
|
|
145
|
-
{/if}
|
|
146
|
-
</menu>
|
|
15
|
+
</script>
|
|
16
|
+
|
|
17
|
+
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
|
18
|
+
|
|
19
|
+
<menu class="hidden sm:flex flex-row gap-3">
|
|
20
|
+
<section class="flex flex-col gap-1">
|
|
21
|
+
<p class="text-xs h-4 w-[100px] truncate"></p>
|
|
22
|
+
<button class=" h-8 w-full
|
|
23
|
+
text-xs font-medium text-stone-900 dark:text-stone-400 dark:hover:text-white
|
|
24
|
+
bg-stone-100 hover:bg-stone-200 dark:bg-stone-800 dark:hover:bg-stone-700 active:bg-stone-300 dark:active:bg-stone-600
|
|
25
|
+
border rounded border-stone-200 dark:border-stone-600 focus:outline-none
|
|
26
|
+
inline-flex items-center justify-center"
|
|
27
|
+
on:click={(e) => { onMoveUp(item); replaceMenu()}}>
|
|
28
|
+
<div class="w-3 h-3"><FaAngleUp/></div>
|
|
29
|
+
</button>
|
|
30
|
+
|
|
31
|
+
<button class=" h-8 w-full
|
|
32
|
+
text-xs font-medium text-stone-900 dark:text-stone-400 dark:hover:text-white
|
|
33
|
+
bg-stone-100 hover:bg-stone-200 dark:bg-stone-800 dark:hover:bg-stone-700 active:bg-stone-300 dark:active:bg-stone-600
|
|
34
|
+
border rounded border-stone-200 dark:border-stone-600 focus:outline-none
|
|
35
|
+
inline-flex items-center justify-center"
|
|
36
|
+
on:click={(e) => { onMoveDown(item); replaceMenu()}}>
|
|
37
|
+
<div class="w-3 h-3"><FaAngleDown/></div>
|
|
38
|
+
</button>
|
|
39
|
+
</section>
|
|
40
|
+
|
|
41
|
+
{#if definition && definition.columns && definition.columns.length > 0}
|
|
42
|
+
{#each definition.columns as column, idx}
|
|
43
|
+
<section class="flex flex-col gap-1">
|
|
44
|
+
<p class="text-xs h-4 w-[100px] ml-1 truncate">{column.title}</p>
|
|
45
|
+
<button class=" h-8 w-full
|
|
46
|
+
text-base font-medium text-stone-900 dark:text-stone-400 dark:hover:text-white
|
|
47
|
+
bg-stone-100 hover:bg-stone-200 dark:bg-stone-800 dark:hover:bg-stone-700 active:bg-stone-300 dark:active:bg-stone-600
|
|
48
|
+
border rounded border-stone-200 dark:border-stone-600 focus:outline-none
|
|
49
|
+
inline-flex items-center justify-center"
|
|
50
|
+
on:click={(e) => { onReplace(item, idx, KanbanColumnTop); replaceMenu()}}>
|
|
51
|
+
<div class="w-3 h-3"><FaAngleDoubleUp/></div>
|
|
52
|
+
</button>
|
|
53
|
+
|
|
54
|
+
<button class=" h-8 w-full
|
|
55
|
+
text-base font-medium text-stone-900 dark:text-stone-400 dark:hover:text-white
|
|
56
|
+
bg-stone-100 hover:bg-stone-200 dark:bg-stone-800 dark:hover:bg-stone-700 active:bg-stone-300 dark:active:bg-stone-600
|
|
57
|
+
border rounded border-stone-200 dark:border-stone-600 focus:outline-none
|
|
58
|
+
inline-flex items-center justify-center"
|
|
59
|
+
on:click={(e) => { onReplace(item, idx, KanbanColumnBottom); replaceMenu()}}>
|
|
60
|
+
<div class="w-3 h-3"><FaAngleDoubleDown/></div>
|
|
61
|
+
</button>
|
|
62
|
+
</section>
|
|
63
|
+
{/each}
|
|
64
|
+
{/if}
|
|
65
|
+
</menu>
|
|
66
|
+
|
|
67
|
+
<menu class="flex sm:hidden flex-col gap-3">
|
|
68
|
+
<section class="flex flex-row">
|
|
69
|
+
<p class="text-base truncate "></p>
|
|
70
|
+
<div class="flex flex-row ml-auto gap-3">
|
|
71
|
+
<button class=" bg-transparent
|
|
72
|
+
w-[55px] h-[55px]
|
|
73
|
+
m-0
|
|
74
|
+
flex items-center justify-center
|
|
75
|
+
disable-dbl-tap-zoom"
|
|
76
|
+
on:click={(e) => { onMoveUp(item); replaceMenu()}}>
|
|
77
|
+
<div class=" w-10 h-10
|
|
78
|
+
text-white bg-zinc-500 hover:bg-zinc-500
|
|
79
|
+
font-medium rounded-full text-sm text-center shadow-md
|
|
80
|
+
dark:bg-zinc-500 dark:hover:bg-zinc-500
|
|
81
|
+
flex items-center justify-center">
|
|
82
|
+
<div class="w-5 h-5">
|
|
83
|
+
<FaAngleUp/>
|
|
84
|
+
</div>
|
|
85
|
+
</div>
|
|
86
|
+
</button>
|
|
87
|
+
|
|
88
|
+
<button class=" bg-transparent
|
|
89
|
+
w-[55px] h-[55px]
|
|
90
|
+
m-0
|
|
91
|
+
flex items-center justify-center
|
|
92
|
+
disable-dbl-tap-zoom"
|
|
93
|
+
on:click={(e) => { onMoveDown(item); replaceMenu()}}>
|
|
94
|
+
<div class=" w-10 h-10
|
|
95
|
+
text-white bg-zinc-500 hover:bg-zinc-500
|
|
96
|
+
font-medium rounded-full text-sm text-center shadow-md
|
|
97
|
+
dark:bg-zinc-500 dark:hover:bg-zinc-500
|
|
98
|
+
flex items-center justify-center">
|
|
99
|
+
<div class="w-5 h-5">
|
|
100
|
+
<FaAngleDown/>
|
|
101
|
+
</div>
|
|
102
|
+
</div>
|
|
103
|
+
</button>
|
|
104
|
+
</div>
|
|
105
|
+
</section>
|
|
106
|
+
|
|
107
|
+
{#if definition && definition.columns && definition.columns.length > 0}
|
|
108
|
+
{#each definition.columns as column, idx}
|
|
109
|
+
<section class="flex flex-row">
|
|
110
|
+
<p class="text-base mt-4 truncate w-[120px]">{column.title}</p>
|
|
111
|
+
<div class="flex flex-row ml-auto gap-3">
|
|
112
|
+
<button class=" bg-transparent
|
|
113
|
+
w-[55px] h-[55px]
|
|
114
|
+
m-0
|
|
115
|
+
flex items-center justify-center
|
|
116
|
+
disable-dbl-tap-zoom"
|
|
117
|
+
on:click={(e) => { onReplace(item, idx, KanbanColumnTop); replaceMenu()}}>
|
|
118
|
+
<div class=" w-10 h-10
|
|
119
|
+
text-white bg-zinc-500 hover:bg-zinc-500
|
|
120
|
+
font-medium rounded-full text-sm text-center shadow-md
|
|
121
|
+
dark:bg-zinc-500 dark:hover:bg-zinc-500
|
|
122
|
+
flex items-center justify-center">
|
|
123
|
+
<div class="w-5 h-5">
|
|
124
|
+
<FaAngleDoubleUp/>
|
|
125
|
+
</div>
|
|
126
|
+
</div>
|
|
127
|
+
</button>
|
|
128
|
+
|
|
129
|
+
<button class=" bg-transparent
|
|
130
|
+
w-[55px] h-[55px]
|
|
131
|
+
m-0
|
|
132
|
+
flex items-center justify-center
|
|
133
|
+
disable-dbl-tap-zoom"
|
|
134
|
+
on:click={(e) => { onReplace(item, idx, KanbanColumnBottom); replaceMenu()}}>
|
|
135
|
+
<div class=" w-10 h-10
|
|
136
|
+
text-white bg-zinc-500 hover:bg-zinc-500
|
|
137
|
+
font-medium rounded-full text-sm text-center shadow-md
|
|
138
|
+
dark:bg-zinc-500 dark:hover:bg-zinc-500
|
|
139
|
+
flex items-center justify-center">
|
|
140
|
+
<div class="w-5 h-5">
|
|
141
|
+
<FaAngleDoubleDown/>
|
|
142
|
+
</div>
|
|
143
|
+
</div>
|
|
144
|
+
</button>
|
|
145
|
+
</div>
|
|
146
|
+
</section>
|
|
147
|
+
{/each}
|
|
148
|
+
{/if}
|
|
149
|
+
</menu>
|
|
@@ -1,19 +1,22 @@
|
|
|
1
|
-
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
import { rKanban_definition } from '../Kanban';
|
|
3
|
-
declare const __propDef: {
|
|
4
|
-
props: {
|
|
5
|
-
definition: rKanban_definition;
|
|
6
|
-
item: object;
|
|
7
|
-
afterActionOperation?: Function | undefined;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
export
|
|
18
|
-
|
|
19
|
-
export
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
import { rKanban_definition } from '../Kanban';
|
|
3
|
+
declare const __propDef: {
|
|
4
|
+
props: {
|
|
5
|
+
definition: rKanban_definition;
|
|
6
|
+
item: object;
|
|
7
|
+
afterActionOperation?: Function | undefined;
|
|
8
|
+
onMoveUp: Function;
|
|
9
|
+
onMoveDown: Function;
|
|
10
|
+
onReplace: Function;
|
|
11
|
+
};
|
|
12
|
+
events: {
|
|
13
|
+
[evt: string]: CustomEvent<any>;
|
|
14
|
+
};
|
|
15
|
+
slots: {};
|
|
16
|
+
};
|
|
17
|
+
export type KanbanProps = typeof __propDef.props;
|
|
18
|
+
export type KanbanEvents = typeof __propDef.events;
|
|
19
|
+
export type KanbanSlots = typeof __propDef.slots;
|
|
20
|
+
export default class Kanban extends SvelteComponentTyped<KanbanProps, KanbanEvents, KanbanSlots> {
|
|
21
|
+
}
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
<script>import { getContext, tick } from "svelte";
|
|
2
|
+
import { rList_property_type } from "../../list/List";
|
|
3
|
+
import Combo from "../../combo/combo.svelte";
|
|
4
|
+
import DatePicker from "../../date.svelte";
|
|
5
|
+
import Tags from "../../tags.svelte";
|
|
6
|
+
export let position;
|
|
7
|
+
export let item;
|
|
8
|
+
let definition = getContext("rKanban-definition");
|
|
9
|
+
let properties = definition.properties.filter((p) => p.position == position);
|
|
10
|
+
let propElements = [];
|
|
11
|
+
let placeholder = "";
|
|
12
|
+
export function editProperty(field) {
|
|
13
|
+
let propIdx = properties.findIndex((p) => p.name == field);
|
|
14
|
+
if (propIdx < 0)
|
|
15
|
+
return;
|
|
16
|
+
let property = properties[propIdx];
|
|
17
|
+
switch (property.type) {
|
|
18
|
+
case rList_property_type.Date:
|
|
19
|
+
editDate(field, propIdx);
|
|
20
|
+
break;
|
|
21
|
+
case rList_property_type.Combo:
|
|
22
|
+
editCombo(field, propIdx);
|
|
23
|
+
break;
|
|
24
|
+
case rList_property_type.Tags:
|
|
25
|
+
editTags(field, propIdx);
|
|
26
|
+
break;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
function on_date_changed(value, a) {
|
|
30
|
+
if (!value)
|
|
31
|
+
item[a] = "";
|
|
32
|
+
else
|
|
33
|
+
item[a] = value.toJSON();
|
|
34
|
+
}
|
|
35
|
+
function on_combo_changed(key, name, prop) {
|
|
36
|
+
if (prop.association) {
|
|
37
|
+
let iname = prop.combo_definition.element_name ?? "$display";
|
|
38
|
+
item[prop.a] = {
|
|
39
|
+
$ref: key,
|
|
40
|
+
[iname]: name
|
|
41
|
+
};
|
|
42
|
+
} else {
|
|
43
|
+
let value = key ?? name;
|
|
44
|
+
item[prop.a] = value;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
async function editCombo(field, propIdx) {
|
|
48
|
+
let combo = propElements[propIdx];
|
|
49
|
+
if (!!combo)
|
|
50
|
+
combo.show();
|
|
51
|
+
else {
|
|
52
|
+
placeholder = field;
|
|
53
|
+
await tick();
|
|
54
|
+
combo = propElements[propIdx];
|
|
55
|
+
if (!!combo)
|
|
56
|
+
combo.show(void 0, () => {
|
|
57
|
+
placeholder = "";
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
async function editDate(field, propIdx) {
|
|
62
|
+
let combo = propElements[propIdx];
|
|
63
|
+
if (!!combo)
|
|
64
|
+
combo.show();
|
|
65
|
+
else {
|
|
66
|
+
placeholder = field;
|
|
67
|
+
await tick();
|
|
68
|
+
combo = propElements[propIdx];
|
|
69
|
+
if (!!combo)
|
|
70
|
+
combo.show(void 0, () => {
|
|
71
|
+
placeholder = "";
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
async function editTags(field, propIdx) {
|
|
76
|
+
let tags = propElements[propIdx];
|
|
77
|
+
if (!!tags)
|
|
78
|
+
tags.show();
|
|
79
|
+
else {
|
|
80
|
+
placeholder = field;
|
|
81
|
+
await tick();
|
|
82
|
+
tags = propElements[propIdx];
|
|
83
|
+
if (!!tags)
|
|
84
|
+
tags.show(void 0, () => {
|
|
85
|
+
placeholder = "";
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
</script>
|
|
90
|
+
|
|
91
|
+
<section class="flex flex-row justify-between">
|
|
92
|
+
{#each properties as prop, idx}
|
|
93
|
+
{#if item[prop.a] || placeholder==prop.name}
|
|
94
|
+
{#if prop.type == rList_property_type.Date}
|
|
95
|
+
<DatePicker
|
|
96
|
+
self={item}
|
|
97
|
+
a={prop.a}
|
|
98
|
+
compact={true}
|
|
99
|
+
s="xs"
|
|
100
|
+
inContext="props"
|
|
101
|
+
bind:this={propElements[idx]}/>
|
|
102
|
+
{:else if prop.type == rList_property_type.Combo}
|
|
103
|
+
<Combo
|
|
104
|
+
compact={true}
|
|
105
|
+
inContext="props"
|
|
106
|
+
self={item}
|
|
107
|
+
a={prop.a}
|
|
108
|
+
onSelect={prop.onSelect}
|
|
109
|
+
isAssociation={prop.association}
|
|
110
|
+
icon={false}
|
|
111
|
+
definition={prop.combo_definition}
|
|
112
|
+
s="xs"
|
|
113
|
+
bind:this={propElements[idx]}/>
|
|
114
|
+
{:else if prop.type == rList_property_type.Static}
|
|
115
|
+
<p
|
|
116
|
+
class=" h-6
|
|
117
|
+
sm:text-xs sm:min-h-[1rem]
|
|
118
|
+
text-base min-h-[1.5rem]
|
|
119
|
+
text-stone-400
|
|
120
|
+
text-right"
|
|
121
|
+
bind:this={propElements[idx]}>
|
|
122
|
+
{item[prop.a]}
|
|
123
|
+
</p>
|
|
124
|
+
{:else if prop.type == rList_property_type.Tags}
|
|
125
|
+
<Tags
|
|
126
|
+
class="mt-2"
|
|
127
|
+
compact
|
|
128
|
+
inContext="props"
|
|
129
|
+
self={item}
|
|
130
|
+
a={prop.a}
|
|
131
|
+
getGlobalTags={prop.getAllTags}
|
|
132
|
+
s="xs"
|
|
133
|
+
onSelect={prop.onSelect}
|
|
134
|
+
onCreate={prop.onCreate}
|
|
135
|
+
bind:this={propElements[idx]}
|
|
136
|
+
/>
|
|
137
|
+
{/if}
|
|
138
|
+
{/if}
|
|
139
|
+
{/each}
|
|
140
|
+
</section>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
position: number;
|
|
5
|
+
item: object;
|
|
6
|
+
editProperty?: ((field: string) => void) | undefined;
|
|
7
|
+
};
|
|
8
|
+
events: {
|
|
9
|
+
[evt: string]: CustomEvent<any>;
|
|
10
|
+
};
|
|
11
|
+
slots: {};
|
|
12
|
+
};
|
|
13
|
+
export type KanbanProps = typeof __propDef.props;
|
|
14
|
+
export type KanbanEvents = typeof __propDef.events;
|
|
15
|
+
export type KanbanSlots = typeof __propDef.slots;
|
|
16
|
+
export default class Kanban extends SvelteComponentTyped<KanbanProps, KanbanEvents, KanbanSlots> {
|
|
17
|
+
get editProperty(): (field: string) => void;
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
@@ -1,15 +1,9 @@
|
|
|
1
1
|
<script>import { getContext } from "svelte";
|
|
2
|
-
export let onUp = void 0;
|
|
3
|
-
export let onDown = void 0;
|
|
4
2
|
export let onAdd = void 0;
|
|
5
|
-
export let onRemove = void 0;
|
|
6
|
-
export let onReplace = void 0;
|
|
7
3
|
export let onOpen = void 0;
|
|
4
|
+
export let getCardOperations = void 0;
|
|
8
5
|
let definition = getContext("rKanban-definition");
|
|
9
|
-
definition.onUp = onUp;
|
|
10
|
-
definition.onDown = onDown;
|
|
11
6
|
definition.onAdd = onAdd;
|
|
12
|
-
definition.onRemove = onRemove;
|
|
13
|
-
definition.onReplace = onReplace;
|
|
14
7
|
definition.onOpen = onOpen;
|
|
15
|
-
|
|
8
|
+
definition.getCardOperations = getCardOperations;
|
|
9
|
+
</script>
|
|
@@ -1,21 +1,18 @@
|
|
|
1
|
-
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
declare const __propDef: {
|
|
3
|
-
props: {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
export
|
|
17
|
-
|
|
18
|
-
export
|
|
19
|
-
export default class Kanban extends SvelteComponentTyped<KanbanProps, KanbanEvents, KanbanSlots> {
|
|
20
|
-
}
|
|
21
|
-
export {};
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
onAdd?: Function | undefined;
|
|
5
|
+
onOpen?: Function | undefined;
|
|
6
|
+
getCardOperations?: Function | undefined;
|
|
7
|
+
};
|
|
8
|
+
events: {
|
|
9
|
+
[evt: string]: CustomEvent<any>;
|
|
10
|
+
};
|
|
11
|
+
slots: {};
|
|
12
|
+
};
|
|
13
|
+
export type KanbanProps = typeof __propDef.props;
|
|
14
|
+
export type KanbanEvents = typeof __propDef.events;
|
|
15
|
+
export type KanbanSlots = typeof __propDef.slots;
|
|
16
|
+
export default class Kanban extends SvelteComponentTyped<KanbanProps, KanbanEvents, KanbanSlots> {
|
|
17
|
+
}
|
|
18
|
+
export {};
|
|
@@ -2,19 +2,19 @@
|
|
|
2
2
|
import { rKanban_column } from "./Kanban";
|
|
3
3
|
export let title = "";
|
|
4
4
|
export let width = "w-[240px]";
|
|
5
|
-
export let
|
|
6
|
-
export let
|
|
7
|
-
export let
|
|
8
|
-
export let
|
|
5
|
+
export let state = "";
|
|
6
|
+
export let finishing = false;
|
|
7
|
+
export let operations = void 0;
|
|
8
|
+
export let onTitleChanged = void 0;
|
|
9
9
|
let definition = getContext("rKanban-definition");
|
|
10
10
|
let column = new rKanban_column();
|
|
11
11
|
column.id = definition.columns.length + 1;
|
|
12
12
|
column.title = title;
|
|
13
13
|
column.width = width;
|
|
14
|
-
column.
|
|
15
|
-
column.
|
|
16
|
-
column.
|
|
17
|
-
column.
|
|
14
|
+
column.state = state;
|
|
15
|
+
column.finishing = finishing;
|
|
16
|
+
column.operations = operations;
|
|
17
|
+
column.onTitleChanged = onTitleChanged;
|
|
18
18
|
definition.columns.push(column);
|
|
19
|
-
</script>
|
|
20
|
-
|
|
19
|
+
</script>
|
|
20
|
+
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { SvelteComponentTyped } from "svelte";
|
|
2
|
-
declare const __propDef: {
|
|
3
|
-
props: {
|
|
4
|
-
title?: string | undefined;
|
|
5
|
-
width?: string | undefined;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
};
|
|
11
|
-
events: {
|
|
12
|
-
[evt: string]: CustomEvent<any>;
|
|
13
|
-
};
|
|
14
|
-
slots: {};
|
|
15
|
-
};
|
|
16
|
-
export type KanbanProps = typeof __propDef.props;
|
|
17
|
-
export type KanbanEvents = typeof __propDef.events;
|
|
18
|
-
export type KanbanSlots = typeof __propDef.slots;
|
|
19
|
-
export default class Kanban extends SvelteComponentTyped<KanbanProps, KanbanEvents, KanbanSlots> {
|
|
20
|
-
}
|
|
21
|
-
export {};
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
title?: string | undefined;
|
|
5
|
+
width?: string | undefined;
|
|
6
|
+
state?: any;
|
|
7
|
+
finishing?: boolean | undefined;
|
|
8
|
+
operations?: object[] | undefined;
|
|
9
|
+
onTitleChanged?: Function | undefined;
|
|
10
|
+
};
|
|
11
|
+
events: {
|
|
12
|
+
[evt: string]: CustomEvent<any>;
|
|
13
|
+
};
|
|
14
|
+
slots: {};
|
|
15
|
+
};
|
|
16
|
+
export type KanbanProps = typeof __propDef.props;
|
|
17
|
+
export type KanbanEvents = typeof __propDef.events;
|
|
18
|
+
export type KanbanSlots = typeof __propDef.slots;
|
|
19
|
+
export default class Kanban extends SvelteComponentTyped<KanbanProps, KanbanEvents, KanbanSlots> {
|
|
20
|
+
}
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<script>import { getContext, setContext } from "svelte";
|
|
2
|
+
import { KanbanCardTop, KanbanCardMiddle, KanbanCardBottom } from "./Kanban";
|
|
3
|
+
import { rList_property_combo } from "../list/List";
|
|
4
|
+
import {} from "../combo/combo";
|
|
5
|
+
export let name = "";
|
|
6
|
+
export let a = "";
|
|
7
|
+
export let onSelect = void 0;
|
|
8
|
+
export let association = false;
|
|
9
|
+
export let top = false;
|
|
10
|
+
export let middle = true;
|
|
11
|
+
export let bottom = false;
|
|
12
|
+
let definition = getContext("rKanban-definition");
|
|
13
|
+
let combo_property = new rList_property_combo();
|
|
14
|
+
if (!a && name) {
|
|
15
|
+
combo_property.a = name;
|
|
16
|
+
combo_property.name = name;
|
|
17
|
+
} else if (!name && a) {
|
|
18
|
+
combo_property.a = a;
|
|
19
|
+
combo_property.name = a;
|
|
20
|
+
} else {
|
|
21
|
+
combo_property.a = a;
|
|
22
|
+
combo_property.name = name;
|
|
23
|
+
}
|
|
24
|
+
combo_property.onSelect = onSelect;
|
|
25
|
+
combo_property.association = association;
|
|
26
|
+
if (top)
|
|
27
|
+
combo_property.position = KanbanCardTop;
|
|
28
|
+
else if (bottom)
|
|
29
|
+
combo_property.position = KanbanCardBottom;
|
|
30
|
+
else
|
|
31
|
+
combo_property.position = KanbanCardMiddle;
|
|
32
|
+
definition.properties.push(combo_property);
|
|
33
|
+
setContext("rCombo-definition", combo_property.combo_definition);
|
|
34
|
+
</script>
|
|
35
|
+
|
|
36
|
+
<slot/>
|