@humandialog/forms.svelte 0.5.7 → 0.5.8
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/components/kanban/internal/kanban.card.svelte +3 -3
- package/components/kanban/kanban.svelte +7 -0
- package/components/kanban/kanban.svelte.d.ts +2 -0
- package/components/list/internal/list.element.svelte +13 -2
- package/components/list/internal/list.element.svelte.d.ts +2 -0
- package/components/list/list.svelte +15 -2
- package/components/list/list.svelte.d.ts +4 -4
- package/package.json +1 -1
|
@@ -53,8 +53,8 @@ export function _scrollViewToCard() {
|
|
|
53
53
|
card?.scrollIntoView(
|
|
54
54
|
{
|
|
55
55
|
behavior: "smooth",
|
|
56
|
-
block: "
|
|
57
|
-
inline: "
|
|
56
|
+
block: "nearest",
|
|
57
|
+
inline: "nearest"
|
|
58
58
|
}
|
|
59
59
|
);
|
|
60
60
|
}
|
|
@@ -131,7 +131,7 @@ export async function editProperty(field) {
|
|
|
131
131
|
|
|
132
132
|
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
|
133
133
|
|
|
134
|
-
<li class="mx-2 pt-2 pb-4 px-1 rounded-md border border-transparent {selectedClass} {focusedClass}"
|
|
134
|
+
<li class="mx-2 pt-2 pb-4 px-1 rounded-md border border-transparent {selectedClass} {focusedClass} scroll-mt-[50px] sm:scroll-mt-[40px]"
|
|
135
135
|
class:cursor-pointer={!isCardActive}
|
|
136
136
|
on:click={activate}
|
|
137
137
|
use:selectable={item}
|
|
@@ -150,6 +150,13 @@ afterUpdate(() => {
|
|
|
150
150
|
}
|
|
151
151
|
}
|
|
152
152
|
});
|
|
153
|
+
export function scrollViewToCard(item) {
|
|
154
|
+
columns.forEach((c2) => {
|
|
155
|
+
const card = c2.findCardByItem(item);
|
|
156
|
+
if (card)
|
|
157
|
+
card._scrollViewToCard();
|
|
158
|
+
});
|
|
159
|
+
}
|
|
153
160
|
export function moveUp(item) {
|
|
154
161
|
const columnIdx = getColumnIdx(item);
|
|
155
162
|
let allItems = definition.getItems();
|
|
@@ -13,6 +13,7 @@ declare const __propDef: {
|
|
|
13
13
|
reload?: ((data: object | object[], selectElement?: number) => Promise<void>) | undefined;
|
|
14
14
|
getColumnIdx?: ((item: any) => number) | undefined;
|
|
15
15
|
edit?: ((item: object, field: string) => void) | undefined;
|
|
16
|
+
scrollViewToCard?: ((item: any) => void) | undefined;
|
|
16
17
|
moveUp?: ((item: object) => void) | undefined;
|
|
17
18
|
moveDown?: ((item: object) => void) | undefined;
|
|
18
19
|
replace?: ((item: any, toColumnIdx: any, afterElement: any) => void) | undefined;
|
|
@@ -51,6 +52,7 @@ export default class Kanban extends SvelteComponentTyped<KanbanProps, KanbanEven
|
|
|
51
52
|
get reload(): (data: object | object[], selectElement?: number) => Promise<void>;
|
|
52
53
|
get getColumnIdx(): (item: any) => number;
|
|
53
54
|
get edit(): (item: object, field: string) => void;
|
|
55
|
+
get scrollViewToCard(): (item: any) => void;
|
|
54
56
|
get moveUp(): (item: object) => void;
|
|
55
57
|
get moveDown(): (item: object) => void;
|
|
56
58
|
get replace(): (item: any, toColumnIdx: any, afterElement: any) => void;
|
|
@@ -189,16 +189,27 @@ function setSelectionAtEnd(element) {
|
|
|
189
189
|
sel.removeAllRanges();
|
|
190
190
|
sel.addRange(range);
|
|
191
191
|
}
|
|
192
|
+
let rootElement;
|
|
193
|
+
export function scrollToView() {
|
|
194
|
+
rootElement.scrollIntoView(
|
|
195
|
+
{
|
|
196
|
+
behavior: "smooth",
|
|
197
|
+
block: "nearest",
|
|
198
|
+
inline: "nearest"
|
|
199
|
+
}
|
|
200
|
+
);
|
|
201
|
+
}
|
|
192
202
|
</script>
|
|
193
203
|
|
|
194
204
|
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
|
195
205
|
{#if item}
|
|
196
206
|
{@const element_title = item[title]}
|
|
197
207
|
|
|
198
|
-
<section class="mt-3 flex flex-row my-0 w-full text-sm text-stone-700 dark:text-stone-300 cursor-default rounded-md border border-transparent {selected_class} {focused_class}"
|
|
208
|
+
<section class="mt-3 flex flex-row my-0 w-full text-sm text-stone-700 dark:text-stone-300 cursor-default rounded-md border border-transparent {selected_class} {focused_class} scroll-mt-[50px] sm:scroll-mt-[40px]"
|
|
199
209
|
on:contextmenu={on_contextmenu}
|
|
200
210
|
role="menu"
|
|
201
|
-
tabindex="-1"
|
|
211
|
+
tabindex="-1"
|
|
212
|
+
bind:this={rootElement}>
|
|
202
213
|
|
|
203
214
|
<slot name="left" element={item}/>
|
|
204
215
|
|
|
@@ -9,6 +9,7 @@ declare const __propDef: {
|
|
|
9
9
|
contextMenu: any;
|
|
10
10
|
activate?: (() => void) | undefined;
|
|
11
11
|
editProperty?: ((field: string) => void) | undefined;
|
|
12
|
+
scrollToView?: (() => void) | undefined;
|
|
12
13
|
};
|
|
13
14
|
events: {
|
|
14
15
|
[evt: string]: CustomEvent<any>;
|
|
@@ -25,5 +26,6 @@ export type ListSlots = typeof __propDef.slots;
|
|
|
25
26
|
export default class List extends SvelteComponentTyped<ListProps, ListEvents, ListSlots> {
|
|
26
27
|
get activate(): () => void;
|
|
27
28
|
get editProperty(): (field: string) => void;
|
|
29
|
+
get scrollToView(): () => void;
|
|
28
30
|
}
|
|
29
31
|
export {};
|
|
@@ -135,7 +135,7 @@ export function reload(data, selectElement = KEEP_SELECTION) {
|
|
|
135
135
|
if (!activate_after_dom_update)
|
|
136
136
|
activateItem("props", null, []);
|
|
137
137
|
}
|
|
138
|
-
export function moveUp(element) {
|
|
138
|
+
export async function moveUp(element) {
|
|
139
139
|
if (!orderAttrib)
|
|
140
140
|
return;
|
|
141
141
|
let prev = getPrev(items, element);
|
|
@@ -143,11 +143,13 @@ export function moveUp(element) {
|
|
|
143
143
|
return;
|
|
144
144
|
items = swapElements(items, element, prev);
|
|
145
145
|
[element[orderAttrib], prev[orderAttrib]] = [prev[orderAttrib], element[orderAttrib]];
|
|
146
|
+
await tick();
|
|
147
|
+
scrollToSelectedElement();
|
|
146
148
|
informModification(element, orderAttrib);
|
|
147
149
|
informModification(prev, orderAttrib);
|
|
148
150
|
pushChanges();
|
|
149
151
|
}
|
|
150
|
-
export function moveDown(element) {
|
|
152
|
+
export async function moveDown(element) {
|
|
151
153
|
if (!orderAttrib)
|
|
152
154
|
return;
|
|
153
155
|
let next = getNext(items, element);
|
|
@@ -155,6 +157,8 @@ export function moveDown(element) {
|
|
|
155
157
|
return;
|
|
156
158
|
items = swapElements(items, element, next);
|
|
157
159
|
[element[orderAttrib], next[orderAttrib]] = [next[orderAttrib], element[orderAttrib]];
|
|
160
|
+
await tick();
|
|
161
|
+
scrollToSelectedElement();
|
|
158
162
|
informModification(element, orderAttrib);
|
|
159
163
|
informModification(next, orderAttrib);
|
|
160
164
|
pushChanges();
|
|
@@ -182,6 +186,15 @@ export async function addRowAfter(after = null) {
|
|
|
182
186
|
}
|
|
183
187
|
});
|
|
184
188
|
}
|
|
189
|
+
function scrollToSelectedElement() {
|
|
190
|
+
const activeItem = getActive("props");
|
|
191
|
+
if (!activeItem)
|
|
192
|
+
return;
|
|
193
|
+
const activeItemKey = getItemKey(activeItem);
|
|
194
|
+
const activeIdx = items?.findIndex((i) => getItemKey(i) == activeItemKey);
|
|
195
|
+
if (activeIdx >= 0)
|
|
196
|
+
rows[activeIdx].scrollToView();
|
|
197
|
+
}
|
|
185
198
|
export function remove(element) {
|
|
186
199
|
let removing_idx = items?.findIndex((e) => e == element);
|
|
187
200
|
if (removing_idx < 0)
|
|
@@ -21,8 +21,8 @@ declare const __propDef: {
|
|
|
21
21
|
MIN_ORDER?: 0 | undefined;
|
|
22
22
|
rereder?: (() => void) | undefined;
|
|
23
23
|
reload?: ((data: object | object[], selectElement?: number) => void) | undefined;
|
|
24
|
-
moveUp?: ((element: object) => void) | undefined;
|
|
25
|
-
moveDown?: ((element: object) => void) | undefined;
|
|
24
|
+
moveUp?: ((element: object) => Promise<void>) | undefined;
|
|
25
|
+
moveDown?: ((element: object) => Promise<void>) | undefined;
|
|
26
26
|
addRowAfter?: ((after?: object | null) => Promise<void>) | undefined;
|
|
27
27
|
remove?: ((element: object) => void) | undefined;
|
|
28
28
|
edit?: ((element: object, property_name: string) => void) | undefined;
|
|
@@ -50,8 +50,8 @@ export default class List extends SvelteComponentTyped<ListProps, ListEvents, Li
|
|
|
50
50
|
get MIN_ORDER(): 0;
|
|
51
51
|
get rereder(): () => void;
|
|
52
52
|
get reload(): (data: object | object[], selectElement?: number) => void;
|
|
53
|
-
get moveUp(): (element: object) => void
|
|
54
|
-
get moveDown(): (element: object) => void
|
|
53
|
+
get moveUp(): (element: object) => Promise<void>;
|
|
54
|
+
get moveDown(): (element: object) => Promise<void>;
|
|
55
55
|
get addRowAfter(): (after?: object | null) => Promise<void>;
|
|
56
56
|
get remove(): (element: object) => void;
|
|
57
57
|
get edit(): (element: object, property_name: string) => void;
|