@humandialog/forms.svelte 0.4.45 → 0.5.1
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/Fab.svelte +60 -48
- package/components/Floating_container.svelte +5 -4
- package/components/Floating_container.svelte.d.ts +2 -2
- package/components/Grid.menu.svelte +13 -9
- package/components/Grid.menu.svelte.d.ts +2 -2
- package/components/button.svelte +4 -4
- package/components/checkbox.svelte +12 -10
- package/components/checkbox.svelte.d.ts +1 -0
- package/components/combo/combo.d.ts +1 -1
- package/components/combo/combo.js +1 -1
- package/components/combo/combo.source.svelte +2 -2
- package/components/combo/combo.source.svelte.d.ts +1 -1
- package/components/combo/combo.svelte +92 -61
- package/components/combo/combo.svelte.d.ts +7 -4
- package/components/contextmenu.svelte +20 -19
- package/components/contextmenu.svelte.d.ts +5 -5
- package/components/date.svelte +40 -25
- package/components/date.svelte.d.ts +3 -2
- package/components/delayed.spinner.svelte +2 -2
- package/components/document/internal/palette.row.svelte +3 -3
- package/components/document/internal/palette.svelte +2 -2
- package/components/document/internal/palette.svelte.d.ts +1 -1
- package/components/document/rich.edit.svelte +307 -35
- package/components/document/rich.edit.svelte.d.ts +9 -0
- package/components/edit.field.svelte +17 -15
- package/components/edit.field.svelte.d.ts +2 -1
- package/components/file.loader.svelte +6 -6
- package/components/file.loader.svelte.d.ts +10 -10
- package/components/icon.svelte +2 -2
- package/components/icon.svelte.d.ts +3 -3
- package/components/input.text.svelte +3 -3
- package/components/inputbox.ltop.svelte +19 -17
- package/components/inputbox.ltop.svelte.d.ts +4 -2
- package/components/kanban/Kanban.d.ts +23 -0
- package/components/kanban/Kanban.js +23 -0
- package/components/kanban/internal/kanban.card.svelte +158 -0
- package/components/kanban/internal/kanban.card.svelte.d.ts +35 -0
- package/components/kanban/internal/kanban.column.svelte +181 -0
- package/components/kanban/internal/kanban.column.svelte.d.ts +51 -0
- package/components/kanban/internal/kanban.inserter.svelte +24 -0
- package/components/kanban/internal/kanban.inserter.svelte.d.ts +18 -0
- package/components/kanban/internal/kanban.move.menu.svelte +146 -0
- package/components/kanban/internal/kanban.move.menu.svelte.d.ts +19 -0
- package/components/kanban/kanban.callbacks.svelte +15 -0
- package/components/kanban/kanban.callbacks.svelte.d.ts +21 -0
- package/components/kanban/kanban.column.svelte +20 -0
- package/components/kanban/kanban.column.svelte.d.ts +21 -0
- package/components/kanban/kanban.summary.svelte +5 -0
- package/components/kanban/kanban.summary.svelte.d.ts +16 -0
- package/components/kanban/kanban.svelte +156 -0
- package/components/kanban/kanban.svelte.d.ts +43 -0
- package/components/kanban/kanban.title.svelte +8 -0
- package/components/kanban/kanban.title.svelte.d.ts +17 -0
- package/components/list/List.d.ts +4 -2
- package/components/list/List.js +4 -2
- package/components/list/internal/list.element.props.svelte +7 -8
- package/components/list/internal/list.element.props.svelte.d.ts +2 -2
- package/components/list/internal/list.element.summary.svelte +4 -4
- package/components/list/internal/list.element.summary.svelte.d.ts +1 -1
- package/components/list/internal/list.element.svelte +61 -49
- package/components/list/internal/list.element.svelte.d.ts +4 -4
- package/components/list/internal/list.inserter.svelte +9 -6
- package/components/list/internal/list.inserter.svelte.d.ts +1 -1
- package/components/list/list.combo.svelte +2 -2
- package/components/list/list.combo.svelte.d.ts +1 -1
- package/components/list/list.date.svelte +2 -2
- package/components/list/list.date.svelte.d.ts +1 -1
- package/components/list/list.inserter.svelte +1 -1
- package/components/list/list.summary.svelte +2 -2
- package/components/list/list.summary.svelte.d.ts +1 -1
- package/components/list/list.svelte +173 -35
- package/components/list/list.svelte.d.ts +27 -10
- package/components/list/list.title.svelte +6 -2
- package/components/list/list.title.svelte.d.ts +3 -1
- package/components/menu.d.ts +4 -4
- package/components/menu.js +15 -13
- package/components/radio.svelte +12 -10
- package/components/radio.svelte.d.ts +1 -0
- package/components/sidebar/sidebar.group.svelte +1 -13
- package/components/sidebar/sidebar.group.svelte.d.ts +0 -4
- package/components/sidebar/sidebar.item.svelte +13 -13
- package/components/sidebar/sidebar.list.svelte +68 -0
- package/components/sidebar/sidebar.list.svelte.d.ts +33 -0
- package/components/sidebar/sidebar.svelte +1 -1
- package/components/simple.table.svelte +15 -15
- package/components/simple.table.svelte.d.ts +2 -2
- package/components/table/_template.table.svelte +17 -17
- package/components/table/_template.table.svelte.d.ts +2 -2
- package/components/table/table.svelte +31 -31
- package/components/table/table.svelte.d.ts +8 -8
- package/components/textarea.ltop.svelte +4 -4
- package/components/tile.title.svelte +6 -6
- package/desk.svelte +13 -13
- package/form.box.svelte +2 -2
- package/horizontal.toolbar.svelte +24 -15
- package/horizontal.toolbar.svelte.d.ts +2 -2
- package/index.d.ts +14 -5
- package/index.js +14 -5
- package/modal.svelte +17 -17
- package/modal.svelte.d.ts +4 -4
- package/operations.svelte +42 -27
- package/package.json +12 -1
- package/page.svelte +115 -124
- package/page.svelte.d.ts +4 -4
- package/stores.d.ts +9 -7
- package/stores.js +17 -9
- package/tenant.members.svelte +44 -44
- package/tenant.members.svelte.d.ts +10 -10
- package/tile.svelte +3 -3
- package/tiles.vertical.row.svelte +1 -1
- package/updates.d.ts +3 -3
- package/updates.js +35 -3
- package/utils.d.ts +22 -13
- package/utils.js +198 -50
- package/vertical.toolbar.svelte +22 -13
- package/vertical.toolbar.svelte.d.ts +2 -2
|
@@ -1,39 +1,49 @@
|
|
|
1
1
|
<script>import { setContext, getContext, afterUpdate, tick, onMount } from "svelte";
|
|
2
|
-
import { data_tick_store,
|
|
3
|
-
import {
|
|
2
|
+
import { data_tick_store, contextItemsStore, contextTypesStore, page_title } from "../../stores";
|
|
3
|
+
import { activateItem, getActive, clearActiveItem, parseWidthDirective, getPrev, getNext, swapElements, getLast, insertAfter } from "../../utils";
|
|
4
4
|
import { rList_definition } from "./List";
|
|
5
5
|
import List_element from "./internal/list.element.svelte";
|
|
6
6
|
import Inserter from "./internal/list.inserter.svelte";
|
|
7
|
+
import { informModification, pushChanges } from "../../updates";
|
|
7
8
|
export let title = "";
|
|
8
9
|
export let self = null;
|
|
9
10
|
export let a = "";
|
|
10
11
|
export let objects = void 0;
|
|
12
|
+
export let orderAttrib = void 0;
|
|
11
13
|
export let context = "";
|
|
12
14
|
export let typename = "";
|
|
13
15
|
export let c = "";
|
|
14
|
-
export let
|
|
15
|
-
export let
|
|
16
|
+
export let toolbarOperations;
|
|
17
|
+
export let contextMenu;
|
|
16
18
|
export let key = "";
|
|
19
|
+
export const CLEAR_SELECTION = 0;
|
|
20
|
+
export const KEEP_SELECTION = -1;
|
|
21
|
+
export const SELECT_PREVIOUS = -2;
|
|
22
|
+
export const SELECT_NEXT = -3;
|
|
23
|
+
export const KEEP_OR_SELECT_NEXT = -4;
|
|
24
|
+
export const ORDER_STEP = 64;
|
|
25
|
+
export const MIN_ORDER = 0;
|
|
17
26
|
let definition = new rList_definition();
|
|
18
27
|
setContext("rList-definition", definition);
|
|
19
28
|
setContext("rIs-table-component", true);
|
|
20
29
|
let item = null;
|
|
21
30
|
let items = void 0;
|
|
22
31
|
let ctx = context ? context : getContext("ctx");
|
|
23
|
-
let cs = c ?
|
|
32
|
+
let cs = c ? parseWidthDirective(c) : "w-full min-w-full";
|
|
24
33
|
let show_insertion_row_after_element = null;
|
|
25
34
|
const END_OF_LIST = {};
|
|
26
35
|
let rows = [];
|
|
27
36
|
let activate_after_dom_update = null;
|
|
28
37
|
let inserter;
|
|
29
38
|
let item_key = "";
|
|
30
|
-
|
|
39
|
+
let item_type = "";
|
|
40
|
+
clearActiveItem("props");
|
|
31
41
|
let last_tick = -1;
|
|
32
42
|
$:
|
|
33
|
-
setup($data_tick_store, $
|
|
43
|
+
setup($data_tick_store, $contextItemsStore);
|
|
34
44
|
function setup(...args) {
|
|
35
45
|
last_tick = $data_tick_store;
|
|
36
|
-
item = self ?? $
|
|
46
|
+
item = self ?? $contextItemsStore[ctx];
|
|
37
47
|
items = void 0;
|
|
38
48
|
if (objects) {
|
|
39
49
|
items = objects;
|
|
@@ -56,7 +66,7 @@ function setup(...args) {
|
|
|
56
66
|
item_key = "";
|
|
57
67
|
}
|
|
58
68
|
if (!typename)
|
|
59
|
-
typename = $
|
|
69
|
+
typename = $contextTypesStore[ctx];
|
|
60
70
|
}
|
|
61
71
|
afterUpdate(() => {
|
|
62
72
|
if (activate_after_dom_update) {
|
|
@@ -67,25 +77,101 @@ afterUpdate(() => {
|
|
|
67
77
|
}
|
|
68
78
|
}
|
|
69
79
|
});
|
|
70
|
-
export function
|
|
80
|
+
export function rereder() {
|
|
71
81
|
setup();
|
|
72
82
|
}
|
|
73
|
-
export function
|
|
74
|
-
|
|
75
|
-
|
|
83
|
+
export function reload(data, selectElement = KEEP_SELECTION) {
|
|
84
|
+
let currentSelectedItem = getActive("props");
|
|
85
|
+
let selectElementId = 0;
|
|
86
|
+
let altSelectElementId = 0;
|
|
87
|
+
switch (selectElement) {
|
|
88
|
+
case CLEAR_SELECTION:
|
|
89
|
+
selectElementId = 0;
|
|
90
|
+
break;
|
|
91
|
+
case KEEP_SELECTION:
|
|
92
|
+
selectElementId = currentSelectedItem.Id ?? 0;
|
|
93
|
+
break;
|
|
94
|
+
case SELECT_PREVIOUS:
|
|
95
|
+
if (currentSelectedItem) {
|
|
96
|
+
const selectedItemIdx = items?.findIndex((e) => e == currentSelectedItem);
|
|
97
|
+
if (selectedItemIdx && selectedItemIdx > 0)
|
|
98
|
+
selectElementId = items[selectedItemIdx - 1].Id ?? 0;
|
|
99
|
+
}
|
|
100
|
+
break;
|
|
101
|
+
case SELECT_NEXT:
|
|
102
|
+
if (currentSelectedItem) {
|
|
103
|
+
const selectedItemIdx = items?.findIndex((e) => e == currentSelectedItem);
|
|
104
|
+
if (selectedItemIdx && selectedItemIdx < items.length - 1)
|
|
105
|
+
selectElementId = items[selectedItemIdx + 1].Id ?? 0;
|
|
106
|
+
}
|
|
107
|
+
break;
|
|
108
|
+
case KEEP_OR_SELECT_NEXT:
|
|
109
|
+
{
|
|
110
|
+
selectElementId = currentSelectedItem.Id ?? 0;
|
|
111
|
+
if (currentSelectedItem) {
|
|
112
|
+
const selectedItemIdx = items?.findIndex((e) => e == currentSelectedItem);
|
|
113
|
+
if (selectedItemIdx && selectedItemIdx < items.length - 1)
|
|
114
|
+
altSelectElementId = items[selectedItemIdx + 1].Id ?? 0;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
break;
|
|
118
|
+
default:
|
|
119
|
+
if (typeof selectElement === "object" && !Array.isArray(selectElement) && selectElement !== null)
|
|
120
|
+
selectElementId = selectElement.Id;
|
|
121
|
+
else
|
|
122
|
+
selectElementId = selectElement;
|
|
123
|
+
}
|
|
124
|
+
if (Array.isArray(data))
|
|
125
|
+
objects = data;
|
|
126
|
+
else
|
|
127
|
+
self = data;
|
|
128
|
+
rereder();
|
|
129
|
+
if (selectElementId > 0) {
|
|
130
|
+
let itemToActivate = items?.find((e) => e.Id == selectElementId);
|
|
131
|
+
if (itemToActivate) {
|
|
132
|
+
activate_after_dom_update = itemToActivate;
|
|
133
|
+
} else if (altSelectElementId > 0) {
|
|
134
|
+
itemToActivate = items?.find((e) => e.Id == altSelectElementId);
|
|
135
|
+
if (itemToActivate) {
|
|
136
|
+
activate_after_dom_update = itemToActivate;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
if (!activate_after_dom_update)
|
|
141
|
+
activateItem("props", null, []);
|
|
76
142
|
}
|
|
77
|
-
export function
|
|
78
|
-
|
|
79
|
-
|
|
143
|
+
export function moveUp(element) {
|
|
144
|
+
if (!orderAttrib)
|
|
145
|
+
return;
|
|
146
|
+
let prev = getPrev(items, element);
|
|
147
|
+
if (!prev)
|
|
148
|
+
return;
|
|
149
|
+
items = swapElements(items, element, prev);
|
|
150
|
+
[element[orderAttrib], prev[orderAttrib]] = [prev[orderAttrib], element[orderAttrib]];
|
|
151
|
+
informModification(element, orderAttrib);
|
|
152
|
+
informModification(prev, orderAttrib);
|
|
153
|
+
pushChanges();
|
|
154
|
+
}
|
|
155
|
+
export function moveDown(element) {
|
|
156
|
+
if (!orderAttrib)
|
|
157
|
+
return;
|
|
158
|
+
let next = getNext(items, element);
|
|
159
|
+
if (!next)
|
|
160
|
+
return;
|
|
161
|
+
items = swapElements(items, element, next);
|
|
162
|
+
[element[orderAttrib], next[orderAttrib]] = [next[orderAttrib], element[orderAttrib]];
|
|
163
|
+
informModification(element, orderAttrib);
|
|
164
|
+
informModification(next, orderAttrib);
|
|
165
|
+
pushChanges();
|
|
80
166
|
}
|
|
81
167
|
let last_activated_element = null;
|
|
82
|
-
export async function
|
|
168
|
+
export async function addRowAfter(after = null) {
|
|
83
169
|
if (!definition.can_insert)
|
|
84
170
|
return;
|
|
85
171
|
show_insertion_row_after_element = after ?? END_OF_LIST;
|
|
86
|
-
last_activated_element =
|
|
172
|
+
last_activated_element = getActive("props");
|
|
87
173
|
let fake_item = {};
|
|
88
|
-
|
|
174
|
+
activateItem("props", fake_item);
|
|
89
175
|
await tick();
|
|
90
176
|
if (!inserter)
|
|
91
177
|
return;
|
|
@@ -95,29 +181,22 @@ export async function add(after = null) {
|
|
|
95
181
|
activate_after_dom_update = last_activated_element;
|
|
96
182
|
else {
|
|
97
183
|
if (detail.incremental) {
|
|
98
|
-
let current_active =
|
|
99
|
-
await
|
|
184
|
+
let current_active = getActive("props");
|
|
185
|
+
await addRowAfter(current_active);
|
|
100
186
|
}
|
|
101
187
|
}
|
|
102
188
|
});
|
|
103
189
|
}
|
|
104
|
-
async function insert(title2, after) {
|
|
105
|
-
let new_element = await definition.oninsert(title2, after);
|
|
106
|
-
if (!new_element)
|
|
107
|
-
return;
|
|
108
|
-
activate_after_dom_update = new_element;
|
|
109
|
-
refresh();
|
|
110
|
-
}
|
|
111
190
|
export function remove(element) {
|
|
112
191
|
let removing_idx = items?.findIndex((e) => e == element);
|
|
113
192
|
if (removing_idx < 0)
|
|
114
193
|
return;
|
|
115
|
-
let active_element =
|
|
194
|
+
let active_element = getActive("props");
|
|
116
195
|
if (active_element == element) {
|
|
117
196
|
if (removing_idx + 1 < items.length)
|
|
118
197
|
rows[removing_idx + 1].activate();
|
|
119
198
|
else
|
|
120
|
-
|
|
199
|
+
activateItem("props", null, []);
|
|
121
200
|
}
|
|
122
201
|
items = items.filter((t) => t != element);
|
|
123
202
|
}
|
|
@@ -125,7 +204,66 @@ export function edit(element, property_name) {
|
|
|
125
204
|
let editing_idx = items?.findIndex((e) => e == element);
|
|
126
205
|
if (editing_idx < 0)
|
|
127
206
|
return;
|
|
128
|
-
rows[editing_idx].
|
|
207
|
+
rows[editing_idx].editProperty(property_name);
|
|
208
|
+
}
|
|
209
|
+
function reorderElements(items2, from = null) {
|
|
210
|
+
console.log(from);
|
|
211
|
+
let fromIdx;
|
|
212
|
+
let fromOrder;
|
|
213
|
+
if (from) {
|
|
214
|
+
fromOrder = from[orderAttrib];
|
|
215
|
+
fromIdx = items2.findIndex((e) => e == from);
|
|
216
|
+
} else {
|
|
217
|
+
fromOrder = MIN_ORDER;
|
|
218
|
+
fromIdx = 0;
|
|
219
|
+
}
|
|
220
|
+
console.log("reorder: ", fromOrder, fromIdx, items2);
|
|
221
|
+
let order = fromOrder;
|
|
222
|
+
for (let i = fromIdx; i < items2.length; i++) {
|
|
223
|
+
let el = items2[i];
|
|
224
|
+
console.log("reoder el: ", el, order, i);
|
|
225
|
+
el[orderAttrib] = order;
|
|
226
|
+
informModification(el, orderAttrib);
|
|
227
|
+
order += ORDER_STEP;
|
|
228
|
+
}
|
|
229
|
+
pushChanges();
|
|
230
|
+
}
|
|
231
|
+
async function insert(title2, after) {
|
|
232
|
+
let newElement = {
|
|
233
|
+
[definition.title]: title2
|
|
234
|
+
};
|
|
235
|
+
if (after && orderAttrib) {
|
|
236
|
+
const leftElement = after;
|
|
237
|
+
const leftOrder = leftElement[orderAttrib];
|
|
238
|
+
const rightElement = getNext(items, leftElement);
|
|
239
|
+
if (rightElement) {
|
|
240
|
+
let rightOrder = rightElement[orderAttrib];
|
|
241
|
+
if (rightOrder - leftOrder >= 2)
|
|
242
|
+
newElement[orderAttrib] = leftOrder + Math.floor((rightOrder - leftOrder) / 2);
|
|
243
|
+
else {
|
|
244
|
+
reorderElements(items, leftElement);
|
|
245
|
+
rightOrder = rightElement[orderAttrib];
|
|
246
|
+
newElement[orderAttrib] = leftOrder + Math.floor((rightOrder - leftOrder) / 2);
|
|
247
|
+
}
|
|
248
|
+
} else
|
|
249
|
+
newElement[orderAttrib] = leftOrder + ORDER_STEP;
|
|
250
|
+
} else if (orderAttrib) {
|
|
251
|
+
const lastElement = getLast(items);
|
|
252
|
+
if (lastElement) {
|
|
253
|
+
const lastOrder = lastElement[orderAttrib];
|
|
254
|
+
newElement[orderAttrib] = lastOrder + ORDER_STEP;
|
|
255
|
+
} else
|
|
256
|
+
newElement[orderAttrib] = MIN_ORDER;
|
|
257
|
+
}
|
|
258
|
+
let insertedElement = await definition.onInsert(newElement);
|
|
259
|
+
if (!insertedElement)
|
|
260
|
+
return;
|
|
261
|
+
if (after)
|
|
262
|
+
insertAfter(items, after, insertedElement);
|
|
263
|
+
else
|
|
264
|
+
items.push(insertedElement);
|
|
265
|
+
activate_after_dom_update = insertedElement;
|
|
266
|
+
rereder();
|
|
129
267
|
}
|
|
130
268
|
</script>
|
|
131
269
|
|
|
@@ -143,8 +281,8 @@ export function edit(element, property_name) {
|
|
|
143
281
|
{#each items as element, i (element[item_key])}
|
|
144
282
|
|
|
145
283
|
<List_element item={element}
|
|
146
|
-
{
|
|
147
|
-
{
|
|
284
|
+
{toolbarOperations}
|
|
285
|
+
{contextMenu}
|
|
148
286
|
bind:this={rows[i]}
|
|
149
287
|
>
|
|
150
288
|
|
|
@@ -154,7 +292,7 @@ export function edit(element, property_name) {
|
|
|
154
292
|
</List_element>
|
|
155
293
|
|
|
156
294
|
{#if show_insertion_row_after_element == element}
|
|
157
|
-
<Inserter
|
|
295
|
+
<Inserter onInsert={async (text) => {await insert(text, show_insertion_row_after_element)}}
|
|
158
296
|
icon={definition.inserter_icon}
|
|
159
297
|
bind:this={inserter} />
|
|
160
298
|
{/if}
|
|
@@ -162,7 +300,7 @@ export function edit(element, property_name) {
|
|
|
162
300
|
{/if}
|
|
163
301
|
|
|
164
302
|
{#if show_insertion_row_after_element == END_OF_LIST}
|
|
165
|
-
<Inserter
|
|
303
|
+
<Inserter onInsert={async (text) => {await insert(text, null)}}
|
|
166
304
|
icon={definition.inserter_icon}
|
|
167
305
|
bind:this={inserter} />
|
|
168
306
|
{/if}
|
|
@@ -5,16 +5,25 @@ declare const __propDef: {
|
|
|
5
5
|
self?: object | null | undefined;
|
|
6
6
|
a?: string | undefined;
|
|
7
7
|
objects?: object[] | undefined;
|
|
8
|
+
orderAttrib?: string | undefined;
|
|
8
9
|
context?: string | undefined;
|
|
9
10
|
typename?: string | undefined;
|
|
10
11
|
c?: string | undefined;
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
toolbarOperations: any;
|
|
13
|
+
contextMenu: any;
|
|
13
14
|
key?: string | undefined;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
CLEAR_SELECTION?: 0 | undefined;
|
|
16
|
+
KEEP_SELECTION?: -1 | undefined;
|
|
17
|
+
SELECT_PREVIOUS?: -2 | undefined;
|
|
18
|
+
SELECT_NEXT?: -3 | undefined;
|
|
19
|
+
KEEP_OR_SELECT_NEXT?: -4 | undefined;
|
|
20
|
+
ORDER_STEP?: 64 | undefined;
|
|
21
|
+
MIN_ORDER?: 0 | undefined;
|
|
22
|
+
rereder?: (() => void) | undefined;
|
|
23
|
+
reload?: ((data: object | object[], selectElement?: number) => void) | undefined;
|
|
24
|
+
moveUp?: ((element: object) => void) | undefined;
|
|
25
|
+
moveDown?: ((element: object) => void) | undefined;
|
|
26
|
+
addRowAfter?: ((after?: object | null) => Promise<void>) | undefined;
|
|
18
27
|
remove?: ((element: object) => void) | undefined;
|
|
19
28
|
edit?: ((element: object, property_name: string) => void) | undefined;
|
|
20
29
|
};
|
|
@@ -32,10 +41,18 @@ export type ListProps = typeof __propDef.props;
|
|
|
32
41
|
export type ListEvents = typeof __propDef.events;
|
|
33
42
|
export type ListSlots = typeof __propDef.slots;
|
|
34
43
|
export default class List extends SvelteComponentTyped<ListProps, ListEvents, ListSlots> {
|
|
35
|
-
get
|
|
36
|
-
get
|
|
37
|
-
get
|
|
38
|
-
get
|
|
44
|
+
get CLEAR_SELECTION(): 0;
|
|
45
|
+
get KEEP_SELECTION(): -1;
|
|
46
|
+
get SELECT_PREVIOUS(): -2;
|
|
47
|
+
get SELECT_NEXT(): -3;
|
|
48
|
+
get KEEP_OR_SELECT_NEXT(): -4;
|
|
49
|
+
get ORDER_STEP(): 64;
|
|
50
|
+
get MIN_ORDER(): 0;
|
|
51
|
+
get rereder(): () => void;
|
|
52
|
+
get reload(): (data: object | object[], selectElement?: number) => void;
|
|
53
|
+
get moveUp(): (element: object) => void;
|
|
54
|
+
get moveDown(): (element: object) => void;
|
|
55
|
+
get addRowAfter(): (after?: object | null) => Promise<void>;
|
|
39
56
|
get remove(): (element: object) => void;
|
|
40
57
|
get edit(): (element: object, property_name: string) => void;
|
|
41
58
|
}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
<script>import { getContext } from "svelte";
|
|
2
2
|
export let a;
|
|
3
3
|
export let editable = false;
|
|
4
|
-
export let
|
|
4
|
+
export let onChange = void 0;
|
|
5
5
|
export let readonly = false;
|
|
6
|
+
export let href = void 0;
|
|
7
|
+
export let hrefFunc = void 0;
|
|
6
8
|
let definition = getContext("rList-definition");
|
|
7
9
|
definition.title = a;
|
|
8
10
|
definition.title_editable = editable;
|
|
9
|
-
definition.on_title_changed =
|
|
11
|
+
definition.on_title_changed = onChange;
|
|
10
12
|
definition.title_readonly = readonly;
|
|
13
|
+
definition.title_href = href;
|
|
14
|
+
definition.title_href_func = hrefFunc;
|
|
11
15
|
</script>
|
|
@@ -3,8 +3,10 @@ declare const __propDef: {
|
|
|
3
3
|
props: {
|
|
4
4
|
a: string;
|
|
5
5
|
editable?: boolean | undefined;
|
|
6
|
-
|
|
6
|
+
onChange?: Function | undefined;
|
|
7
7
|
readonly?: boolean | undefined;
|
|
8
|
+
href?: string | undefined;
|
|
9
|
+
hrefFunc?: Function | undefined;
|
|
8
10
|
};
|
|
9
11
|
events: {
|
|
10
12
|
[evt: string]: CustomEvent<any>;
|
package/components/menu.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare function
|
|
2
|
-
export declare function
|
|
3
|
-
export declare function
|
|
4
|
-
export declare function
|
|
1
|
+
export declare function showMenu(around: DOMRect | DOMPoint, operations: any): void;
|
|
2
|
+
export declare function hideWholeContextMenu(): void;
|
|
3
|
+
export declare function showFloatingToolbar(around: DOMRect | DOMPoint, toolbar: any, props?: {}): void;
|
|
4
|
+
export declare function showGridMenu(around: DOMRect | DOMPoint, operations: any): void;
|
package/components/menu.js
CHANGED
|
@@ -3,7 +3,7 @@ import Floating_container from './Floating_container.svelte';
|
|
|
3
3
|
import Grid from './Grid.menu.svelte';
|
|
4
4
|
let menu_comopnent = null;
|
|
5
5
|
let toolbar_component = null;
|
|
6
|
-
export function
|
|
6
|
+
export function showMenu(around, operations) {
|
|
7
7
|
let menu_element = document.getElementById("__hd_svelte_contextmenu");
|
|
8
8
|
if (!menu_element) {
|
|
9
9
|
let app_div = document.getElementById("__hd_svelte_layout_root");
|
|
@@ -14,7 +14,7 @@ export function show_menu(around, operations) {
|
|
|
14
14
|
menu_comopnent.show(around, operations);
|
|
15
15
|
}
|
|
16
16
|
else if (menu_comopnent) {
|
|
17
|
-
if (menu_comopnent.
|
|
17
|
+
if (menu_comopnent.isVisible())
|
|
18
18
|
menu_comopnent.hide();
|
|
19
19
|
else
|
|
20
20
|
menu_comopnent.show(around, operations);
|
|
@@ -22,13 +22,13 @@ export function show_menu(around, operations) {
|
|
|
22
22
|
else
|
|
23
23
|
console.error('what now?');
|
|
24
24
|
}
|
|
25
|
-
export function
|
|
25
|
+
export function hideWholeContextMenu() {
|
|
26
26
|
if (menu_comopnent) {
|
|
27
|
-
if (menu_comopnent.
|
|
27
|
+
if (menu_comopnent.isVisible())
|
|
28
28
|
menu_comopnent.hide();
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
export function
|
|
31
|
+
export function showFloatingToolbar(around, toolbar, props = {}) {
|
|
32
32
|
let floating_container = document.getElementById("__hd_svelte_floating_container");
|
|
33
33
|
if (!floating_container) {
|
|
34
34
|
let app_div = document.getElementById("__hd_svelte_layout_root");
|
|
@@ -39,16 +39,18 @@ export function show_floating_toolbar(around, toolbar, props = {}) {
|
|
|
39
39
|
toolbar_component.show(around, toolbar, props);
|
|
40
40
|
}
|
|
41
41
|
else if (toolbar_component) {
|
|
42
|
-
if
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
42
|
+
//if(toolbar_component.isVisible())
|
|
43
|
+
//{
|
|
44
|
+
// toolbar_component.hide();
|
|
45
|
+
//}
|
|
46
|
+
//else
|
|
47
|
+
//{
|
|
48
|
+
toolbar_component.show(around, toolbar, props);
|
|
49
|
+
//}
|
|
48
50
|
}
|
|
49
51
|
else
|
|
50
52
|
console.error('what now?');
|
|
51
53
|
}
|
|
52
|
-
export function
|
|
53
|
-
|
|
54
|
+
export function showGridMenu(around, operations) {
|
|
55
|
+
showFloatingToolbar(around, Grid, { operations: operations });
|
|
54
56
|
}
|
package/components/radio.svelte
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script>import { getContext } from "svelte";
|
|
2
|
-
import { data_tick_store,
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { data_tick_store, contextItemsStore, contextTypesStore } from "../stores.js";
|
|
3
|
+
import { informModification, pushChanges } from "../updates.js";
|
|
4
|
+
import { parseWidthDirective } from "../utils.js";
|
|
5
5
|
export let value;
|
|
6
6
|
export let disabled = false;
|
|
7
7
|
export let self = null;
|
|
@@ -9,11 +9,12 @@ export let a = "";
|
|
|
9
9
|
export let context = "";
|
|
10
10
|
export let typename = "";
|
|
11
11
|
export let c = "";
|
|
12
|
+
export let pushChangesImmediately = true;
|
|
12
13
|
let item = null;
|
|
13
14
|
let additional_class = $$restProps.class ?? "";
|
|
14
15
|
let ctx = context ? context : getContext("ctx");
|
|
15
|
-
let cs =
|
|
16
|
-
let color_style = disabled ? "text-
|
|
16
|
+
let cs = parseWidthDirective(c);
|
|
17
|
+
let color_style = disabled ? "text-stone-400 dark:text-stone-500" : "text-stone-900 dark:text-stone-300";
|
|
17
18
|
let name;
|
|
18
19
|
let last_tick = -1;
|
|
19
20
|
$:
|
|
@@ -22,17 +23,18 @@ function setup(data_tick_store2) {
|
|
|
22
23
|
if (data_tick_store2 <= last_tick)
|
|
23
24
|
return;
|
|
24
25
|
last_tick = data_tick_store2;
|
|
25
|
-
item = self ?? $
|
|
26
|
+
item = self ?? $contextItemsStore[ctx];
|
|
26
27
|
if (!typename)
|
|
27
|
-
typename = $
|
|
28
|
+
typename = $contextTypesStore[ctx];
|
|
28
29
|
name = `${typename}_${item.Id}_${a}`;
|
|
29
30
|
}
|
|
30
31
|
function on_changed() {
|
|
31
32
|
if (item && a) {
|
|
32
33
|
if (typename) {
|
|
33
|
-
|
|
34
|
+
informModification(item, a, typename);
|
|
34
35
|
$data_tick_store = $data_tick_store + 1;
|
|
35
|
-
|
|
36
|
+
if (pushChangesImmediately)
|
|
37
|
+
pushChanges();
|
|
36
38
|
}
|
|
37
39
|
}
|
|
38
40
|
}
|
|
@@ -45,7 +47,7 @@ function on_changed() {
|
|
|
45
47
|
{name}
|
|
46
48
|
on:change={on_changed}
|
|
47
49
|
{disabled}
|
|
48
|
-
class="w-4 h-4 bg-
|
|
50
|
+
class="w-4 h-4 bg-stone-100 border-stone-300 dark:ring-offset-stone-800 focus:ring-2 mr-2 dark:bg-stone-700 dark:border-stone-600 rounded text-blue-600 focus:ring-blue-500 dark:focus:ring-blue-600"/>
|
|
49
51
|
<span class="text-sm font-medium ml-1">
|
|
50
52
|
<slot/>
|
|
51
53
|
</span>
|
|
@@ -1,21 +1,9 @@
|
|
|
1
1
|
<script>
|
|
2
|
-
import Icon from '../icon.svelte'
|
|
3
|
-
import Edit from '../edit.field.svelte'
|
|
4
|
-
import {FaPlus} from 'svelte-icons/fa'
|
|
5
|
-
|
|
6
2
|
export let border = false;
|
|
7
|
-
export let inserter = undefined;
|
|
8
|
-
export let inserter_placeholder = 'New'
|
|
9
3
|
|
|
10
|
-
let border_class = border ? " pt-4 mt-4 border-t border-
|
|
4
|
+
let border_class = border ? " pt-4 mt-4 border-t border-stone-200 dark:border-stone-700" : ""
|
|
11
5
|
</script>
|
|
12
6
|
|
|
13
7
|
<ul class="space-y-2 {border_class}">
|
|
14
8
|
<slot/>
|
|
15
|
-
|
|
16
|
-
{#if inserter}
|
|
17
|
-
<Edit class="p-3 sm:p-2 text-lg sm:text-base font-normal text-gray-500 rounded-lg dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700" on_enter={inserter} placeholder={inserter_placeholder} inserter={true}>
|
|
18
|
-
<Icon size={5} component={FaPlus} class="mr-3"/>
|
|
19
|
-
</Edit>
|
|
20
|
-
{/if}
|
|
21
9
|
</ul>
|
|
@@ -2,9 +2,7 @@
|
|
|
2
2
|
/** @typedef {typeof __propDef.events} SidebarEvents */
|
|
3
3
|
/** @typedef {typeof __propDef.slots} SidebarSlots */
|
|
4
4
|
export default class Sidebar extends SvelteComponentTyped<{
|
|
5
|
-
inserter?: any;
|
|
6
5
|
border?: boolean | undefined;
|
|
7
|
-
inserter_placeholder?: string | undefined;
|
|
8
6
|
}, {
|
|
9
7
|
[evt: string]: CustomEvent<any>;
|
|
10
8
|
}, {
|
|
@@ -17,9 +15,7 @@ export type SidebarSlots = typeof __propDef.slots;
|
|
|
17
15
|
import { SvelteComponentTyped } from "svelte";
|
|
18
16
|
declare const __propDef: {
|
|
19
17
|
props: {
|
|
20
|
-
inserter?: any;
|
|
21
18
|
border?: boolean | undefined;
|
|
22
|
-
inserter_placeholder?: string | undefined;
|
|
23
19
|
};
|
|
24
20
|
events: {
|
|
25
21
|
[evt: string]: CustomEvent<any>;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
<script>import Icon from "../icon.svelte";
|
|
2
|
-
import {
|
|
2
|
+
import { contextItemsStore, auto_hide_sidebar, contextToolbarOperations } from "../../stores";
|
|
3
3
|
import FaBars from "svelte-icons/fa/FaBars.svelte";
|
|
4
4
|
import {
|
|
5
5
|
selectable as _selectable,
|
|
6
|
-
|
|
6
|
+
isSelected,
|
|
7
7
|
editable as _editable,
|
|
8
|
-
|
|
8
|
+
handleSelect
|
|
9
9
|
} from "../../utils";
|
|
10
|
-
import {
|
|
10
|
+
import { showMenu } from "../menu";
|
|
11
11
|
export let href;
|
|
12
12
|
export let icon = void 0;
|
|
13
13
|
export let active = false;
|
|
@@ -15,7 +15,7 @@ export let selectable = void 0;
|
|
|
15
15
|
export let editable = void 0;
|
|
16
16
|
export let operations = void 0;
|
|
17
17
|
$:
|
|
18
|
-
context_data = $
|
|
18
|
+
context_data = $contextItemsStore;
|
|
19
19
|
let user_class = $$props.class ?? "";
|
|
20
20
|
let root;
|
|
21
21
|
function selectable_if_needed(node, selectable2) {
|
|
@@ -23,7 +23,7 @@ function selectable_if_needed(node, selectable2) {
|
|
|
23
23
|
_selectable(node, selectable2);
|
|
24
24
|
}
|
|
25
25
|
function selected(itm, context_data2) {
|
|
26
|
-
if (
|
|
26
|
+
if (isSelected(itm))
|
|
27
27
|
return true;
|
|
28
28
|
else
|
|
29
29
|
return false;
|
|
@@ -35,7 +35,7 @@ function editable_if_needed(node, editable2) {
|
|
|
35
35
|
function on_link_clicked(e) {
|
|
36
36
|
auto_hide_sidebar();
|
|
37
37
|
if (selectable)
|
|
38
|
-
|
|
38
|
+
handleSelect(e);
|
|
39
39
|
e.stopPropagation();
|
|
40
40
|
}
|
|
41
41
|
function on_contextmenu(e) {
|
|
@@ -46,7 +46,7 @@ function on_contextmenu(e) {
|
|
|
46
46
|
return;
|
|
47
47
|
if (operations_list.length == 0)
|
|
48
48
|
return;
|
|
49
|
-
|
|
49
|
+
showMenu(new DOMPoint(e.clientX, e.clientY), operations_list);
|
|
50
50
|
e.preventDefault();
|
|
51
51
|
}
|
|
52
52
|
function can_show_context_menu(itm, context_data2) {
|
|
@@ -68,7 +68,7 @@ function on_show_menu(e) {
|
|
|
68
68
|
return;
|
|
69
69
|
if (operations_list.length == 0)
|
|
70
70
|
return;
|
|
71
|
-
|
|
71
|
+
showMenu(rect, operations_list);
|
|
72
72
|
}
|
|
73
73
|
</script>
|
|
74
74
|
|
|
@@ -81,11 +81,11 @@ function on_show_menu(e) {
|
|
|
81
81
|
on:keyup
|
|
82
82
|
class=" border border-transparent rounded-lg
|
|
83
83
|
text-lg sm:text-base font-normal
|
|
84
|
-
text-
|
|
85
|
-
dark:text-white sm:dark:hover:bg-
|
|
84
|
+
text-stone-900 sm:hover:bg-stone-100
|
|
85
|
+
dark:text-white sm:dark:hover:bg-stone-700 {user_class}
|
|
86
86
|
flex flex-row justify-between"
|
|
87
|
-
class:bg-
|
|
88
|
-
class:dark:bg-
|
|
87
|
+
class:bg-stone-200={active}
|
|
88
|
+
class:dark:bg-stone-700={active}
|
|
89
89
|
class:selected={selected(selectable, context_data)}>
|
|
90
90
|
<a href={href}
|
|
91
91
|
on:click={on_link_clicked}
|