@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,40 @@
|
|
|
1
1
|
<script>import { tick, getContext } from "svelte";
|
|
2
|
-
import {
|
|
2
|
+
import { contextItemsStore } from "../../../stores";
|
|
3
3
|
import {
|
|
4
|
-
|
|
4
|
+
isSelected,
|
|
5
5
|
selectable,
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
activateItem,
|
|
7
|
+
isActive,
|
|
8
8
|
editable,
|
|
9
|
-
|
|
9
|
+
startEditing
|
|
10
10
|
} from "../../../utils";
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
11
|
+
import { showGridMenu, showMenu } from "../../menu";
|
|
12
|
+
import { pushChanges, informModification } from "../../../updates";
|
|
13
13
|
import Summary from "./list.element.summary.svelte";
|
|
14
14
|
import Properties from "./list.element.props.svelte";
|
|
15
|
-
import {
|
|
15
|
+
import { isDeviceSmallerThan } from "../../../utils";
|
|
16
16
|
import { rList_definition, rList_property_type } from "../List";
|
|
17
|
+
import { push } from "svelte-spa-router";
|
|
17
18
|
export let item;
|
|
18
19
|
export let title = "";
|
|
19
20
|
export let summary = "";
|
|
20
21
|
export let typename = void 0;
|
|
21
|
-
export let
|
|
22
|
-
export let
|
|
22
|
+
export let toolbarOperations;
|
|
23
|
+
export let contextMenu;
|
|
23
24
|
let definition = getContext("rList-definition");
|
|
24
25
|
let placeholder = "";
|
|
25
26
|
let props_sm;
|
|
26
27
|
let props_md;
|
|
27
28
|
$:
|
|
28
|
-
is_row_active = calculate_active(item, $
|
|
29
|
+
is_row_active = calculate_active(item, $contextItemsStore);
|
|
29
30
|
$:
|
|
30
|
-
is_row_selected = selected(item, $
|
|
31
|
+
is_row_selected = selected(item, $contextItemsStore);
|
|
31
32
|
$:
|
|
32
33
|
selected_class = is_row_selected ? "!border-blue-300" : "";
|
|
33
34
|
$:
|
|
34
|
-
focused_class = is_row_active ? "bg-
|
|
35
|
+
focused_class = is_row_active ? "bg-stone-200 dark:bg-stone-700" : "";
|
|
35
36
|
$:
|
|
36
|
-
|
|
37
|
+
is_link_like = is_row_selected && (!!definition.title_href || !!definition.title_href_func);
|
|
37
38
|
if (!typename) {
|
|
38
39
|
if (item.$type)
|
|
39
40
|
typename = item.$type;
|
|
@@ -55,18 +56,18 @@ if (!title)
|
|
|
55
56
|
if (!summary)
|
|
56
57
|
summary = definition.summary;
|
|
57
58
|
function calculate_active(...args) {
|
|
58
|
-
return
|
|
59
|
+
return isActive("props", item);
|
|
59
60
|
}
|
|
60
61
|
function selected(...args) {
|
|
61
|
-
return
|
|
62
|
+
return isSelected(item);
|
|
62
63
|
}
|
|
63
64
|
async function change_name(text) {
|
|
64
65
|
if (definition.on_title_changed) {
|
|
65
66
|
definition.on_title_changed(item, text, title);
|
|
66
67
|
} else {
|
|
67
68
|
item[title] = text;
|
|
68
|
-
|
|
69
|
-
|
|
69
|
+
informModification(item, title, typename);
|
|
70
|
+
pushChanges();
|
|
70
71
|
}
|
|
71
72
|
}
|
|
72
73
|
async function change_summary(text) {
|
|
@@ -74,19 +75,19 @@ async function change_summary(text) {
|
|
|
74
75
|
definition.on_summary_changed(item, text, summary);
|
|
75
76
|
} else {
|
|
76
77
|
item[summary] = text;
|
|
77
|
-
|
|
78
|
-
|
|
78
|
+
informModification(item, summary, typename);
|
|
79
|
+
pushChanges();
|
|
79
80
|
}
|
|
80
81
|
}
|
|
81
82
|
function edit(e) {
|
|
82
83
|
if (!is_row_active)
|
|
83
84
|
return;
|
|
84
|
-
|
|
85
|
+
startEditing(e.target);
|
|
85
86
|
}
|
|
86
87
|
export function activate() {
|
|
87
88
|
activate_row(null, item);
|
|
88
89
|
}
|
|
89
|
-
function
|
|
90
|
+
function on_active_row_clicked(e, part) {
|
|
90
91
|
if (!is_row_active)
|
|
91
92
|
return;
|
|
92
93
|
let click_on_empty_space = true;
|
|
@@ -101,59 +102,65 @@ function edit_row_property(e, part) {
|
|
|
101
102
|
}
|
|
102
103
|
let can_show_context_menu = click_on_empty_space;
|
|
103
104
|
can_show_context_menu = false;
|
|
104
|
-
if (can_show_context_menu &&
|
|
105
|
+
if (can_show_context_menu && contextMenu) {
|
|
105
106
|
const pt = new DOMPoint(e.clientX, e.clientY);
|
|
106
|
-
let context_operations =
|
|
107
|
+
let context_operations = contextMenu(item);
|
|
107
108
|
if (context_operations !== null) {
|
|
108
109
|
if (typeof context_operations === "object") {
|
|
109
110
|
if (Array.isArray(context_operations))
|
|
110
|
-
|
|
111
|
+
showMenu(pt, context_operations);
|
|
111
112
|
else if (context_operations.grid)
|
|
112
|
-
|
|
113
|
+
showGridMenu(pt, context_operations.grid);
|
|
113
114
|
}
|
|
114
115
|
}
|
|
115
116
|
} else if (click_on_empty_space) {
|
|
116
|
-
if (
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
117
|
+
if (definition.title_href || definition.title_href_func) {
|
|
118
|
+
let link = "";
|
|
119
|
+
if (definition.title_href)
|
|
120
|
+
link = definition.title_href;
|
|
121
|
+
else if (definition.title_href_func)
|
|
122
|
+
link = definition.title_href_func(item);
|
|
123
|
+
if (link)
|
|
124
|
+
push(link);
|
|
125
|
+
} else {
|
|
126
|
+
if (part == "top" && !definition.title_readonly)
|
|
127
|
+
force_editing("Title");
|
|
128
|
+
else if (part == "bottom" && !definition.summary_readonly)
|
|
129
|
+
force_editing("Summary");
|
|
130
|
+
}
|
|
120
131
|
} else {
|
|
121
|
-
if (part == "top" && !definition.title_readonly)
|
|
122
|
-
force_editing("Title");
|
|
123
|
-
else if (part == "bottom" && !definition.summary_readonly)
|
|
124
|
-
force_editing("Summary");
|
|
125
132
|
}
|
|
126
133
|
}
|
|
127
134
|
function activate_row(e, item2) {
|
|
128
|
-
|
|
135
|
+
activateItem("props", item2, toolbarOperations(item2));
|
|
129
136
|
if (e)
|
|
130
137
|
e.stopPropagation();
|
|
131
138
|
}
|
|
132
139
|
function on_contextmenu(e) {
|
|
133
|
-
if (!
|
|
140
|
+
if (!contextMenu)
|
|
134
141
|
return;
|
|
135
142
|
const pt = new DOMPoint(e.clientX, e.clientY);
|
|
136
|
-
let context_operations =
|
|
143
|
+
let context_operations = contextMenu(item);
|
|
137
144
|
if (context_operations !== null) {
|
|
138
145
|
if (typeof context_operations === "object") {
|
|
139
146
|
if (Array.isArray(context_operations))
|
|
140
|
-
|
|
147
|
+
showMenu(pt, context_operations);
|
|
141
148
|
else if (context_operations.grid)
|
|
142
|
-
|
|
149
|
+
showGridMenu(pt, context_operations.grid);
|
|
143
150
|
}
|
|
144
151
|
}
|
|
145
152
|
e.preventDefault();
|
|
146
153
|
}
|
|
147
|
-
export function
|
|
154
|
+
export function editProperty(field) {
|
|
148
155
|
if (field == title)
|
|
149
156
|
force_editing("Title");
|
|
150
157
|
else if (field == summary)
|
|
151
158
|
force_editing("Summary");
|
|
152
159
|
else {
|
|
153
|
-
if (
|
|
154
|
-
props_sm.
|
|
160
|
+
if (isDeviceSmallerThan("sm"))
|
|
161
|
+
props_sm.editProperty(field);
|
|
155
162
|
else
|
|
156
|
-
props_md.
|
|
163
|
+
props_md.editProperty(field);
|
|
157
164
|
}
|
|
158
165
|
}
|
|
159
166
|
async function force_editing(field) {
|
|
@@ -169,7 +176,7 @@ async function force_editing(field) {
|
|
|
169
176
|
if (!element_node.classList.contains("editable")) {
|
|
170
177
|
return;
|
|
171
178
|
}
|
|
172
|
-
|
|
179
|
+
startEditing(element_node, () => {
|
|
173
180
|
placeholder = "";
|
|
174
181
|
});
|
|
175
182
|
}
|
|
@@ -179,15 +186,20 @@ async function force_editing(field) {
|
|
|
179
186
|
{#if item}
|
|
180
187
|
{@const element_title = item[title]}
|
|
181
188
|
|
|
182
|
-
<section class="mt-3 flex flex-row my-0 w-full text-sm text-
|
|
189
|
+
<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}"
|
|
183
190
|
on:contextmenu={on_contextmenu}
|
|
184
191
|
role="menu"
|
|
185
192
|
tabindex="-1">
|
|
186
193
|
|
|
187
194
|
<slot name="left" element={item}/>
|
|
188
195
|
|
|
189
|
-
<div
|
|
190
|
-
|
|
196
|
+
<div class="ml-3 w-full py-1"
|
|
197
|
+
class:sm:hover:cursor-pointer={is_link_like}
|
|
198
|
+
use:selectable={item}
|
|
199
|
+
on:click={(e) => {activate_row(e, item)}}
|
|
200
|
+
role="row"
|
|
201
|
+
tabindex="0">
|
|
202
|
+
<div class="block sm:flex sm:flex-row" on:click={(e) => on_active_row_clicked(e, 'top')}>
|
|
191
203
|
|
|
192
204
|
{#if definition.title_readonly}
|
|
193
205
|
<p class=" text-lg font-semibold min-h-[1.75rem]
|
|
@@ -219,12 +231,12 @@ async function force_editing(field) {
|
|
|
219
231
|
{@const element_id = `__hd_list_ctrl_${item[item_key]}_Summary`}
|
|
220
232
|
<Summary
|
|
221
233
|
id={element_id}
|
|
222
|
-
on:click={(e) =>
|
|
234
|
+
on:click={(e) => on_active_row_clicked(e, 'bottom')}
|
|
223
235
|
text={item[summary]}
|
|
224
236
|
readonly={definition.summary_readonly}
|
|
225
237
|
placeholder={placeholder == 'Summary'}
|
|
226
238
|
editable={(text) => {change_summary(text)}}
|
|
227
|
-
|
|
239
|
+
clickEdit={edit}
|
|
228
240
|
/>
|
|
229
241
|
{/if}
|
|
230
242
|
|
|
@@ -5,10 +5,10 @@ declare const __propDef: {
|
|
|
5
5
|
title?: string | undefined;
|
|
6
6
|
summary?: string | undefined;
|
|
7
7
|
typename?: string | undefined;
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
toolbarOperations: any;
|
|
9
|
+
contextMenu: any;
|
|
10
10
|
activate?: (() => void) | undefined;
|
|
11
|
-
|
|
11
|
+
editProperty?: ((field: string) => void) | undefined;
|
|
12
12
|
};
|
|
13
13
|
events: {
|
|
14
14
|
[evt: string]: CustomEvent<any>;
|
|
@@ -24,6 +24,6 @@ export type ListEvents = typeof __propDef.events;
|
|
|
24
24
|
export type ListSlots = typeof __propDef.slots;
|
|
25
25
|
export default class List extends SvelteComponentTyped<ListProps, ListEvents, ListSlots> {
|
|
26
26
|
get activate(): () => void;
|
|
27
|
-
get
|
|
27
|
+
get editProperty(): (field: string) => void;
|
|
28
28
|
}
|
|
29
29
|
export {};
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
<script>import { editable,
|
|
1
|
+
<script>import { editable, startEditing } from "../../../utils";
|
|
2
2
|
import Icon from "../../icon.svelte";
|
|
3
3
|
import { FaPlus } from "svelte-icons/fa";
|
|
4
|
-
export let
|
|
4
|
+
export let onInsert;
|
|
5
5
|
export let icon = false;
|
|
6
6
|
export function run(onclose) {
|
|
7
|
-
|
|
7
|
+
startEditing(insertion_paragraph, onclose);
|
|
8
8
|
}
|
|
9
9
|
let insertion_paragraph;
|
|
10
10
|
</script>
|
|
11
11
|
|
|
12
|
-
<section class="flex flex-row my-0 w-full text-lg sm:text-sm text-
|
|
12
|
+
<section class="mt-3 flex flex-row my-0 w-full text-lg sm:text-sm text-stone-700 dark:text-stone-400 cursor-default rounded-md border border-transparent bg-stone-200 dark:bg-stone-700">
|
|
13
13
|
{#if icon}
|
|
14
14
|
<!--Icon size={3}
|
|
15
15
|
component={FaPlus}
|
|
@@ -17,8 +17,11 @@ let insertion_paragraph;
|
|
|
17
17
|
<div class="h-5 w-5 sm:h-4 sm:w-4 mt-2 sm:mt-1.5 ml-2"></div>
|
|
18
18
|
{/if}
|
|
19
19
|
|
|
20
|
-
<p class="ml-3 py-1
|
|
20
|
+
<p class=" ml-3 py-1
|
|
21
|
+
text-lg font-semibold min-h-[1.75rem]
|
|
22
|
+
sm:text-sm sm:font-semibold sm:min-h-[1.25rem]
|
|
23
|
+
whitespace-nowrap overflow-clip flex-none w-1/2 sm:w-1/3" tabindex="0"
|
|
21
24
|
bind:this={insertion_paragraph}
|
|
22
|
-
use:editable={
|
|
25
|
+
use:editable={onInsert} >
|
|
23
26
|
</p>
|
|
24
27
|
</section>
|
|
@@ -3,7 +3,7 @@ import { rList_property_combo } from "./List";
|
|
|
3
3
|
import {} from "../combo/combo";
|
|
4
4
|
export let name;
|
|
5
5
|
export let a = "";
|
|
6
|
-
export let
|
|
6
|
+
export let onSelect = void 0;
|
|
7
7
|
export let association = false;
|
|
8
8
|
let definition = getContext("rList-definition");
|
|
9
9
|
let combo_property = new rList_property_combo();
|
|
@@ -11,7 +11,7 @@ combo_property.name = name;
|
|
|
11
11
|
combo_property.a = a;
|
|
12
12
|
if (!combo_property.a)
|
|
13
13
|
combo_property.a = combo_property.name;
|
|
14
|
-
combo_property.
|
|
14
|
+
combo_property.onSelect = onSelect;
|
|
15
15
|
combo_property.association = association;
|
|
16
16
|
definition.properties.push(combo_property);
|
|
17
17
|
setContext("rCombo-definition", combo_property.combo_definition);
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
import { rList_property_type, rList_property } from "./List";
|
|
3
3
|
export let name;
|
|
4
4
|
export let a = "";
|
|
5
|
-
export let
|
|
5
|
+
export let onSelect = void 0;
|
|
6
6
|
let definition = getContext("rList-definition");
|
|
7
7
|
let date_property = new rList_property(rList_property_type.Date);
|
|
8
8
|
date_property.name = name;
|
|
9
9
|
date_property.a = a;
|
|
10
10
|
if (!date_property.a)
|
|
11
11
|
date_property.a = date_property.name;
|
|
12
|
-
date_property.
|
|
12
|
+
date_property.onSelect = onSelect;
|
|
13
13
|
definition.properties.push(date_property);
|
|
14
14
|
</script>
|
|
@@ -1,11 +1,11 @@
|
|
|
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
6
|
let definition = getContext("rList-definition");
|
|
7
7
|
definition.summary = a;
|
|
8
8
|
definition.summary_editable = editable;
|
|
9
|
-
definition.on_summary_changed =
|
|
9
|
+
definition.on_summary_changed = onChange;
|
|
10
10
|
definition.summary_readonly = readonly;
|
|
11
11
|
</script>
|