@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
package/updates.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export function
|
|
2
|
-
export function
|
|
3
|
-
export function
|
|
1
|
+
export function informModification(itm: any, field_name: any, type_name?: undefined): boolean;
|
|
2
|
+
export function informItem(itm: any, type_name?: undefined): boolean;
|
|
3
|
+
export function pushChanges(): void;
|
package/updates.js
CHANGED
|
@@ -3,8 +3,23 @@ import {reef} from '@humandialog/auth.svelte/dist/index'
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
const modified_item_store = writable(null);
|
|
6
|
-
export function
|
|
6
|
+
export function informModification(itm, field_name, type_name=undefined)
|
|
7
7
|
{
|
|
8
|
+
if(type_name == undefined)
|
|
9
|
+
{
|
|
10
|
+
if(itm.$type)
|
|
11
|
+
type_name = itm.$type;
|
|
12
|
+
else if(itm.oclType)
|
|
13
|
+
type_name = itm.oclType;
|
|
14
|
+
else if(itm.$ref)
|
|
15
|
+
{
|
|
16
|
+
let segments = itm.$ref.split('/')
|
|
17
|
+
type_name = segments[1];
|
|
18
|
+
}
|
|
19
|
+
else
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
|
|
8
23
|
let item_entry = {
|
|
9
24
|
Id: [type_name] + itm.Id,
|
|
10
25
|
type_name: type_name,
|
|
@@ -16,10 +31,26 @@ export function inform_modification(itm, field_name, type_name)
|
|
|
16
31
|
};
|
|
17
32
|
|
|
18
33
|
modified_item_store.set(item_entry);
|
|
34
|
+
return true;
|
|
19
35
|
};
|
|
20
36
|
|
|
21
|
-
export function
|
|
37
|
+
export function informItem(itm, type_name=undefined)
|
|
22
38
|
{
|
|
39
|
+
if(type_name == undefined)
|
|
40
|
+
{
|
|
41
|
+
if(itm.$type)
|
|
42
|
+
type_name = itm.$type;
|
|
43
|
+
else if(itm.oclType)
|
|
44
|
+
type_name = itm.oclType;
|
|
45
|
+
else if(itm.$ref)
|
|
46
|
+
{
|
|
47
|
+
let segments = itm.$ref.split('/')
|
|
48
|
+
type_name = segments[1];
|
|
49
|
+
}
|
|
50
|
+
else
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
|
|
23
54
|
let item_entry = {
|
|
24
55
|
Id: [type_name] + itm.Id,
|
|
25
56
|
type_name: type_name,
|
|
@@ -28,11 +59,12 @@ export function inform_item(itm, type_name)
|
|
|
28
59
|
};
|
|
29
60
|
|
|
30
61
|
modified_item_store.set(item_entry);
|
|
62
|
+
return true;
|
|
31
63
|
};
|
|
32
64
|
|
|
33
65
|
const update_request_ticket = writable(0);
|
|
34
66
|
let last_update_ticket = 0;
|
|
35
|
-
export function
|
|
67
|
+
export function pushChanges()
|
|
36
68
|
{
|
|
37
69
|
update_request_ticket.update(n => n + 1);
|
|
38
70
|
}
|
package/utils.d.ts
CHANGED
|
@@ -1,20 +1,29 @@
|
|
|
1
|
-
export function
|
|
2
|
-
export function
|
|
3
|
-
export function
|
|
4
|
-
export function
|
|
5
|
-
export function
|
|
6
|
-
export function
|
|
7
|
-
export function
|
|
8
|
-
export function editable(node: any,
|
|
1
|
+
export function isDeviceSmallerThan(br: any): boolean;
|
|
2
|
+
export function selectItem(itm: any): void;
|
|
3
|
+
export function activateItem(context_level: any, itm: any, operations?: null): void;
|
|
4
|
+
export function clearActiveItem(context_level: any): void;
|
|
5
|
+
export function isSelected(itm: any): boolean;
|
|
6
|
+
export function isActive(context_level: any, itm: any): boolean;
|
|
7
|
+
export function getActive(context_level: any): any;
|
|
8
|
+
export function editable(node: any, params: any): {
|
|
9
9
|
destroy(): void;
|
|
10
|
-
};
|
|
11
|
-
export function
|
|
10
|
+
} | undefined;
|
|
11
|
+
export function startEditing(element: any, finish_callback: any): void;
|
|
12
12
|
export function selectable(node: any, itm: any): {
|
|
13
13
|
destroy(): void;
|
|
14
14
|
};
|
|
15
|
-
export function
|
|
16
|
-
export function
|
|
17
|
-
export function
|
|
15
|
+
export function handleSelect(e: any): void;
|
|
16
|
+
export function parseWidthDirective(c: any): string;
|
|
17
|
+
export function shouldBeComapact(): boolean;
|
|
18
|
+
export function insertAt(array: any, index: any, element: any): any;
|
|
19
|
+
export function insertAfter(array: any, after: any, element: any): any;
|
|
20
|
+
export function getPrev(array: any, element: any): any;
|
|
21
|
+
export function getNext(array: any, element: any): any;
|
|
22
|
+
export function getFirst(array: any): any;
|
|
23
|
+
export function getLast(array: any): any;
|
|
24
|
+
export function removeAt(array: any, index: any): any;
|
|
25
|
+
export function remove(array: any, element: any): any;
|
|
26
|
+
export function swapElements(array: any, e1: any, e2: any): any;
|
|
18
27
|
export namespace icons {
|
|
19
28
|
const symbols: null;
|
|
20
29
|
}
|
package/utils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getContext, tick } from "svelte";
|
|
2
2
|
import {get} from 'svelte/store'
|
|
3
|
-
import {
|
|
3
|
+
import { contextItemsStore, contextToolbarOperations, data_tick_store } from "./stores";
|
|
4
4
|
|
|
5
5
|
export let icons = {symbols :null}
|
|
6
6
|
|
|
@@ -11,7 +11,7 @@ export const SCREEN_SIZES = {
|
|
|
11
11
|
xl: 1280, //px @media (min-width: 1280px) { ... }
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
export function
|
|
14
|
+
export function isDeviceSmallerThan(br)
|
|
15
15
|
{
|
|
16
16
|
return window.innerWidth < SCREEN_SIZES[br]
|
|
17
17
|
}
|
|
@@ -20,12 +20,12 @@ export function is_device_smaller_than(br)
|
|
|
20
20
|
// just_changed_context: false
|
|
21
21
|
//}
|
|
22
22
|
|
|
23
|
-
export function
|
|
23
|
+
export function selectItem(itm)
|
|
24
24
|
{
|
|
25
|
-
let data_context = get(
|
|
25
|
+
let data_context = get(contextItemsStore);
|
|
26
26
|
data_context['sel'] = itm;
|
|
27
27
|
data_context.focused = 'sel';
|
|
28
|
-
|
|
28
|
+
contextItemsStore.set( {...data_context} )
|
|
29
29
|
|
|
30
30
|
let ticket = get(data_tick_store)
|
|
31
31
|
ticket++;
|
|
@@ -35,13 +35,13 @@ export function select_item(itm)
|
|
|
35
35
|
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
export function
|
|
38
|
+
export function activateItem(context_level, itm, operations=null)
|
|
39
39
|
{
|
|
40
|
-
let data_context = get(
|
|
40
|
+
let data_context = get(contextItemsStore);
|
|
41
41
|
data_context['sel'] = itm; //null;
|
|
42
42
|
data_context[context_level] = itm;
|
|
43
43
|
data_context.focused = context_level;
|
|
44
|
-
|
|
44
|
+
contextItemsStore.set( {...data_context} )
|
|
45
45
|
|
|
46
46
|
let ticket = get(data_tick_store)
|
|
47
47
|
ticket++;
|
|
@@ -50,15 +50,15 @@ export function activate_item(context_level, itm, operations=null)
|
|
|
50
50
|
//chnages.just_changed_context = true;
|
|
51
51
|
|
|
52
52
|
if(operations && Array.isArray(operations))
|
|
53
|
-
|
|
53
|
+
contextToolbarOperations.set( [...operations] )
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
-
export function
|
|
56
|
+
export function clearActiveItem(context_level)
|
|
57
57
|
{
|
|
58
|
-
let data_context = get(
|
|
58
|
+
let data_context = get(contextItemsStore);
|
|
59
59
|
data_context[context_level] = null;
|
|
60
60
|
data_context.focused = context_level;
|
|
61
|
-
|
|
61
|
+
contextItemsStore.set( {...data_context} )
|
|
62
62
|
|
|
63
63
|
let ticket = get(data_tick_store)
|
|
64
64
|
ticket++;
|
|
@@ -66,12 +66,12 @@ export function clear_active_item(context_level)
|
|
|
66
66
|
|
|
67
67
|
//chnages.just_changed_context = true;
|
|
68
68
|
|
|
69
|
-
|
|
69
|
+
contextToolbarOperations.set( [] )
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
-
export function
|
|
72
|
+
export function isSelected(itm)
|
|
73
73
|
{
|
|
74
|
-
let data_context = get(
|
|
74
|
+
let data_context = get(contextItemsStore);
|
|
75
75
|
if(!!data_context && !!data_context['sel'] && data_context['sel'] == itm)
|
|
76
76
|
return true;
|
|
77
77
|
else
|
|
@@ -79,70 +79,112 @@ export function is_selected(itm)
|
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
|
|
82
|
-
export function
|
|
82
|
+
export function isActive(context_level, itm)
|
|
83
83
|
{
|
|
84
|
-
let data_context = get(
|
|
84
|
+
let data_context = get(contextItemsStore);
|
|
85
85
|
if(data_context != undefined && data_context[context_level] != undefined && data_context[context_level] == itm)
|
|
86
86
|
return true;
|
|
87
87
|
else
|
|
88
88
|
return false;
|
|
89
89
|
}
|
|
90
90
|
|
|
91
|
-
export function
|
|
91
|
+
export function getActive(context_level)
|
|
92
92
|
{
|
|
93
|
-
let data_context = get(
|
|
93
|
+
let data_context = get(contextItemsStore);
|
|
94
94
|
if(data_context != undefined)
|
|
95
95
|
return data_context[context_level]
|
|
96
96
|
else
|
|
97
97
|
return null;
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
-
export function editable(node,
|
|
100
|
+
export function editable(node, params)
|
|
101
101
|
{
|
|
102
|
+
let action;
|
|
103
|
+
let active = false;
|
|
104
|
+
let onRemove = undefined;
|
|
105
|
+
if(params instanceof Object)
|
|
106
|
+
{
|
|
107
|
+
action = params.action ?? params;
|
|
108
|
+
active = params.active ?? false;
|
|
109
|
+
onRemove = params.remove ?? undefined
|
|
110
|
+
}
|
|
111
|
+
else
|
|
112
|
+
action = params;
|
|
113
|
+
|
|
114
|
+
let observer = null;
|
|
115
|
+
let has_changed = false;
|
|
116
|
+
|
|
102
117
|
const org_text = node.textContent;
|
|
103
118
|
const blur_listener = async (e) =>
|
|
104
119
|
{
|
|
105
120
|
let cancel = !node.textContent
|
|
121
|
+
if(observer)
|
|
122
|
+
observer.disconnect();
|
|
123
|
+
|
|
106
124
|
await finish_editing(cancel, false);
|
|
107
125
|
}
|
|
108
126
|
|
|
109
127
|
const key_listener = async (e) =>
|
|
110
128
|
{
|
|
129
|
+
//e.ctrlKey
|
|
111
130
|
switch(e.key)
|
|
112
131
|
{
|
|
113
132
|
case 'Esc':
|
|
114
133
|
case 'Escape':
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
134
|
+
if(!active)
|
|
135
|
+
{
|
|
136
|
+
e.stopPropagation();
|
|
137
|
+
e.preventDefault();
|
|
138
|
+
|
|
139
|
+
await finish_editing(true, false);
|
|
140
|
+
}
|
|
118
141
|
break;
|
|
119
142
|
|
|
120
143
|
case 'Enter':
|
|
121
|
-
await finish_editing(false, true);
|
|
122
144
|
e.stopPropagation();
|
|
123
145
|
e.preventDefault();
|
|
146
|
+
|
|
147
|
+
await finish_editing(false, true);
|
|
124
148
|
break;
|
|
125
|
-
|
|
149
|
+
|
|
150
|
+
case 'Backspace':
|
|
151
|
+
if(onRemove && node.textContent.length == 0)
|
|
152
|
+
{
|
|
153
|
+
e.stopPropagation();
|
|
154
|
+
e.preventDefault();
|
|
155
|
+
//await finish_editing(false, false);
|
|
156
|
+
onRemove();
|
|
157
|
+
}
|
|
158
|
+
break;
|
|
159
|
+
}
|
|
126
160
|
}
|
|
127
161
|
|
|
128
162
|
const finish_editing = async (cancel, incremental) =>
|
|
129
163
|
{
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
164
|
+
if(!active)
|
|
165
|
+
{
|
|
166
|
+
node.removeEventListener("blur", blur_listener);
|
|
167
|
+
node.removeEventListener("keydown", key_listener);
|
|
168
|
+
node.contentEditable = "false"
|
|
169
|
+
|
|
170
|
+
let sel = window.getSelection();
|
|
171
|
+
sel.removeAllRanges();
|
|
172
|
+
}
|
|
136
173
|
|
|
137
|
-
//console.log('cell_content', node.textContent)
|
|
138
|
-
|
|
139
174
|
if(cancel)
|
|
140
175
|
{
|
|
141
176
|
node.innerHTML = org_text;
|
|
142
177
|
}
|
|
143
178
|
else if(action)
|
|
144
179
|
{
|
|
145
|
-
|
|
180
|
+
if(active)
|
|
181
|
+
{
|
|
182
|
+
if(has_changed)
|
|
183
|
+
await action(node.textContent)
|
|
184
|
+
}
|
|
185
|
+
else
|
|
186
|
+
await action(node.textContent)
|
|
187
|
+
|
|
146
188
|
}
|
|
147
189
|
|
|
148
190
|
const finish_event = new CustomEvent("finish", {
|
|
@@ -154,7 +196,9 @@ export function editable(node, action)
|
|
|
154
196
|
});
|
|
155
197
|
|
|
156
198
|
node.dispatchEvent(finish_event);
|
|
157
|
-
|
|
199
|
+
|
|
200
|
+
if(!active)
|
|
201
|
+
node.removeEventListener("finish", (e) => {});
|
|
158
202
|
}
|
|
159
203
|
|
|
160
204
|
const edit_listener = async (e) =>
|
|
@@ -181,18 +225,42 @@ export function editable(node, action)
|
|
|
181
225
|
|
|
182
226
|
}
|
|
183
227
|
|
|
184
|
-
|
|
228
|
+
const focus_listener = async (e) =>
|
|
229
|
+
{
|
|
230
|
+
node.addEventListener("blur", blur_listener);
|
|
231
|
+
node.addEventListener("keydown", key_listener);
|
|
232
|
+
has_changed = false;
|
|
233
|
+
|
|
234
|
+
observer = new MutationObserver(() => { has_changed = true; });
|
|
235
|
+
observer.observe( node, {
|
|
236
|
+
childList: true,
|
|
237
|
+
attributes: true,
|
|
238
|
+
characterData: true,
|
|
239
|
+
subtree: true } );
|
|
240
|
+
}
|
|
241
|
+
|
|
185
242
|
node.classList.add("editable")
|
|
186
243
|
node.classList.add("focus:outline-none")
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
244
|
+
|
|
245
|
+
if(active)
|
|
246
|
+
{
|
|
247
|
+
node.contentEditable = "true"
|
|
248
|
+
node.addEventListener('focus', focus_listener);
|
|
249
|
+
}
|
|
250
|
+
else
|
|
251
|
+
{
|
|
252
|
+
node.addEventListener("edit", edit_listener);
|
|
253
|
+
|
|
254
|
+
return {
|
|
255
|
+
destroy() {
|
|
256
|
+
node.removeEventListener("edit", edit_listener)
|
|
257
|
+
node.classList.remove("editable")
|
|
258
|
+
node.contentEditable = "false"
|
|
259
|
+
}};
|
|
260
|
+
}
|
|
193
261
|
}
|
|
194
262
|
|
|
195
|
-
export function
|
|
263
|
+
export function startEditing(element, finish_callback)
|
|
196
264
|
{
|
|
197
265
|
let editable_node = null;
|
|
198
266
|
|
|
@@ -224,7 +292,7 @@ export function selectable(node, itm)
|
|
|
224
292
|
{
|
|
225
293
|
const select_listener = (e) =>
|
|
226
294
|
{
|
|
227
|
-
|
|
295
|
+
selectItem(itm);
|
|
228
296
|
}
|
|
229
297
|
|
|
230
298
|
node.setAttribute("selectable", "true")
|
|
@@ -243,12 +311,12 @@ export function selectable(node, itm)
|
|
|
243
311
|
}};
|
|
244
312
|
}
|
|
245
313
|
|
|
246
|
-
export function
|
|
314
|
+
export function handleSelect(e)
|
|
247
315
|
{
|
|
248
316
|
let node = e.target;
|
|
249
317
|
if(!node)
|
|
250
318
|
{
|
|
251
|
-
|
|
319
|
+
selectItem(null);
|
|
252
320
|
return;
|
|
253
321
|
}
|
|
254
322
|
|
|
@@ -268,12 +336,12 @@ export function handle_select(e)
|
|
|
268
336
|
if(selection_node)
|
|
269
337
|
selection_node.dispatchEvent(new Event("select"))
|
|
270
338
|
else
|
|
271
|
-
|
|
339
|
+
selectItem(null);
|
|
272
340
|
}
|
|
273
341
|
|
|
274
342
|
|
|
275
343
|
|
|
276
|
-
export function
|
|
344
|
+
export function parseWidthDirective(c)
|
|
277
345
|
{
|
|
278
346
|
let cs = '';
|
|
279
347
|
switch (c)
|
|
@@ -315,8 +383,88 @@ export function parse_width_directive(c)
|
|
|
315
383
|
return cs;
|
|
316
384
|
}
|
|
317
385
|
|
|
318
|
-
export function
|
|
386
|
+
export function shouldBeComapact()
|
|
319
387
|
{
|
|
320
388
|
let is_in_table = getContext('rTable-definition');
|
|
321
389
|
return !!is_in_table;
|
|
322
|
-
}
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
|
|
393
|
+
|
|
394
|
+
export function insertAt(array, index, element)
|
|
395
|
+
{
|
|
396
|
+
array.splice(index, 0, element);
|
|
397
|
+
return array;
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
export function insertAfter(array, after, element)
|
|
401
|
+
{
|
|
402
|
+
let after_idx = array.findIndex((t) => t == after);
|
|
403
|
+
|
|
404
|
+
if(after_idx == array.length - 1)
|
|
405
|
+
{
|
|
406
|
+
array.push(element)
|
|
407
|
+
return array;
|
|
408
|
+
}
|
|
409
|
+
else
|
|
410
|
+
{
|
|
411
|
+
return insertAt(array, after_idx+1, element)
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
export function getPrev(array, element)
|
|
416
|
+
{
|
|
417
|
+
let idx = array.findIndex((t) => t == element);
|
|
418
|
+
if(idx < 1)
|
|
419
|
+
return null;
|
|
420
|
+
else
|
|
421
|
+
return array[idx-1];
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
export function getNext(array, element)
|
|
425
|
+
{
|
|
426
|
+
let idx = array.findIndex((t) => t == element);
|
|
427
|
+
if(idx >= array.length-1)
|
|
428
|
+
return null;
|
|
429
|
+
else
|
|
430
|
+
return array[idx+1];
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
export function getFirst(array)
|
|
434
|
+
{
|
|
435
|
+
if(array.length > 0)
|
|
436
|
+
return array[0];
|
|
437
|
+
else
|
|
438
|
+
return null;
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
export function getLast(array)
|
|
442
|
+
{
|
|
443
|
+
if(array.length > 0)
|
|
444
|
+
return array[array.length-1];
|
|
445
|
+
else
|
|
446
|
+
return null;
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
export function removeAt(array, index)
|
|
450
|
+
{
|
|
451
|
+
array.splice(index, 1)
|
|
452
|
+
return array;
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
export function remove(array, element)
|
|
456
|
+
{
|
|
457
|
+
let idx = array.findIndex((t) => t == element);
|
|
458
|
+
return array.removeAt(idx);
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
export function swapElements(array, e1, e2)
|
|
462
|
+
{
|
|
463
|
+
let idx1 = array.findIndex((t) => t == e1);
|
|
464
|
+
let idx2 = array.findIndex((t) => t == e2);
|
|
465
|
+
|
|
466
|
+
array[idx1] = e2;
|
|
467
|
+
array[idx2] = e1;
|
|
468
|
+
|
|
469
|
+
return array;
|
|
470
|
+
}
|
package/vertical.toolbar.svelte
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import GoPrimitiveDot from 'svelte-icons/go/GoPrimitiveDot.svelte'
|
|
8
8
|
import FaSignInAlt from 'svelte-icons/fa/FaSignInAlt.svelte'
|
|
9
9
|
import FaSignOutAlt from 'svelte-icons/fa/FaSignOutAlt.svelte'
|
|
10
|
-
import {
|
|
10
|
+
import {showMenu} from './components/menu'
|
|
11
11
|
//import Menu from './components/contextmenu.svelte'
|
|
12
12
|
|
|
13
13
|
import {dark_mode_store,
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
import {session, signin_href, signout_href} from '@humandialog/auth.svelte'
|
|
23
23
|
import { push } from 'svelte-spa-router';
|
|
24
24
|
|
|
25
|
-
export let
|
|
25
|
+
export let appConfig;
|
|
26
26
|
export let mobile=false;
|
|
27
27
|
|
|
28
28
|
|
|
@@ -36,8 +36,8 @@
|
|
|
36
36
|
let sign_out_href = '';
|
|
37
37
|
|
|
38
38
|
$:{
|
|
39
|
-
config =
|
|
40
|
-
has_selection_details =
|
|
39
|
+
config = appConfig.mainToolbar;
|
|
40
|
+
has_selection_details = appConfig.selectionDetails;
|
|
41
41
|
is_logged_in = $session.is_active;
|
|
42
42
|
show_sign_in_out_icons = config.signin ? true : false;
|
|
43
43
|
sign_in_href = $signin_href;
|
|
@@ -45,9 +45,9 @@
|
|
|
45
45
|
|
|
46
46
|
tabs = new Array();
|
|
47
47
|
|
|
48
|
-
Object.keys(
|
|
48
|
+
Object.keys(appConfig.sidebar).forEach( (key) =>
|
|
49
49
|
{
|
|
50
|
-
const ctab =
|
|
50
|
+
const ctab = appConfig.sidebar[key];
|
|
51
51
|
const can_show = (ctab.authorized && is_logged_in) || (!ctab.authorized)
|
|
52
52
|
if(can_show)
|
|
53
53
|
tabs.push({key: key, icon: ctab.icon});
|
|
@@ -161,18 +161,18 @@
|
|
|
161
161
|
}
|
|
162
162
|
|
|
163
163
|
let pt = new DOMPoint(rect.right, rect.top)
|
|
164
|
-
|
|
164
|
+
showMenu(pt, options);
|
|
165
165
|
}
|
|
166
166
|
|
|
167
167
|
</script>
|
|
168
168
|
|
|
169
169
|
|
|
170
|
-
<div class="px-0 w-10">
|
|
170
|
+
<div class="no-print px-0 w-10">
|
|
171
171
|
{#each tabs as tab}
|
|
172
|
-
{@const
|
|
172
|
+
{@const isSelected = $main_sidebar_visible_store == tab.key}
|
|
173
173
|
<button
|
|
174
|
-
class="h-16 px-0 flex justify-center items-center w-full text-
|
|
175
|
-
class:bg-orange-500={
|
|
174
|
+
class="h-16 px-0 flex justify-center items-center w-full text-stone-300 hover:text-stone-100"
|
|
175
|
+
class:bg-orange-500={isSelected}
|
|
176
176
|
on:click={()=> (on_tab_clicked(tab.key))}>
|
|
177
177
|
|
|
178
178
|
<Icon size={6} component={tab.icon}/>
|
|
@@ -182,10 +182,10 @@
|
|
|
182
182
|
|
|
183
183
|
{#if !mobile}
|
|
184
184
|
|
|
185
|
-
<div class="mt-auto h-auto items-center w-full">
|
|
185
|
+
<div class="no-print mt-auto h-auto items-center w-full">
|
|
186
186
|
|
|
187
187
|
<button
|
|
188
|
-
class="h-16 px-0 flex justify-center items-center w-full text-
|
|
188
|
+
class="h-16 px-0 flex justify-center items-center w-full text-stone-300 hover:text-stone-100"
|
|
189
189
|
on:click={show_options}>
|
|
190
190
|
|
|
191
191
|
<Icon size={4} component={FaCog} />
|
|
@@ -196,3 +196,12 @@
|
|
|
196
196
|
|
|
197
197
|
|
|
198
198
|
<!--Menu bind:this={menu}/-->
|
|
199
|
+
|
|
200
|
+
<style>
|
|
201
|
+
@media print
|
|
202
|
+
{
|
|
203
|
+
.no-print, .no-print *{
|
|
204
|
+
display: none !important;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
</style>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/** @typedef {typeof __propDef.events} VerticalEvents */
|
|
3
3
|
/** @typedef {typeof __propDef.slots} VerticalSlots */
|
|
4
4
|
export default class Vertical extends SvelteComponentTyped<{
|
|
5
|
-
|
|
5
|
+
appConfig: any;
|
|
6
6
|
mobile?: boolean | undefined;
|
|
7
7
|
}, {
|
|
8
8
|
[evt: string]: CustomEvent<any>;
|
|
@@ -14,7 +14,7 @@ export type VerticalSlots = typeof __propDef.slots;
|
|
|
14
14
|
import { SvelteComponentTyped } from "svelte";
|
|
15
15
|
declare const __propDef: {
|
|
16
16
|
props: {
|
|
17
|
-
|
|
17
|
+
appConfig: any;
|
|
18
18
|
mobile?: boolean | undefined;
|
|
19
19
|
};
|
|
20
20
|
events: {
|