@humandialog/forms.svelte 0.5.1 → 0.5.3

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.
@@ -35,8 +35,6 @@ const END_OF_LIST = {};
35
35
  let rows = [];
36
36
  let activate_after_dom_update = null;
37
37
  let inserter;
38
- let item_key = "";
39
- let item_type = "";
40
38
  clearActiveItem("props");
41
39
  let last_tick = -1;
42
40
  $:
@@ -51,29 +49,26 @@ function setup(...args) {
51
49
  items = item[a];
52
50
  if (items == void 0)
53
51
  items = [];
54
- if (items.length > 0) {
55
- let first_element = items[0];
56
- let keys = Object.keys(first_element);
57
- if (key)
58
- item_key = key;
59
- else if (keys.includes("Id"))
60
- item_key = "Id";
61
- else if (keys.includes("$ref"))
62
- item_key = "$ref";
63
- else if (keys.length > 0)
64
- item_key = keys[0];
65
- else
66
- item_key = "";
67
- }
68
52
  if (!typename)
69
53
  typename = $contextTypesStore[ctx];
70
54
  }
55
+ function getItemKey(item2) {
56
+ if (key)
57
+ return item2[key];
58
+ else if (item2.Id)
59
+ return item2.Id;
60
+ else if (item2.$ref)
61
+ return item2.$ref;
62
+ else
63
+ return 0;
64
+ }
71
65
  afterUpdate(() => {
72
66
  if (activate_after_dom_update) {
73
67
  let row_to_activate_idx = items.findIndex((e) => e == activate_after_dom_update);
74
68
  activate_after_dom_update = null;
75
69
  if (row_to_activate_idx >= 0) {
76
- rows[row_to_activate_idx].activate();
70
+ let row = rows[row_to_activate_idx];
71
+ row?.activate();
77
72
  }
78
73
  }
79
74
  });
@@ -94,14 +89,14 @@ export function reload(data, selectElement = KEEP_SELECTION) {
94
89
  case SELECT_PREVIOUS:
95
90
  if (currentSelectedItem) {
96
91
  const selectedItemIdx = items?.findIndex((e) => e == currentSelectedItem);
97
- if (selectedItemIdx && selectedItemIdx > 0)
92
+ if (selectedItemIdx != void 0 && selectedItemIdx > 0)
98
93
  selectElementId = items[selectedItemIdx - 1].Id ?? 0;
99
94
  }
100
95
  break;
101
96
  case SELECT_NEXT:
102
97
  if (currentSelectedItem) {
103
98
  const selectedItemIdx = items?.findIndex((e) => e == currentSelectedItem);
104
- if (selectedItemIdx && selectedItemIdx < items.length - 1)
99
+ if (selectedItemIdx != void 0 && selectedItemIdx >= 0 && selectedItemIdx < items.length - 1)
105
100
  selectElementId = items[selectedItemIdx + 1].Id ?? 0;
106
101
  }
107
102
  break;
@@ -110,7 +105,7 @@ export function reload(data, selectElement = KEEP_SELECTION) {
110
105
  selectElementId = currentSelectedItem.Id ?? 0;
111
106
  if (currentSelectedItem) {
112
107
  const selectedItemIdx = items?.findIndex((e) => e == currentSelectedItem);
113
- if (selectedItemIdx && selectedItemIdx < items.length - 1)
108
+ if (selectedItemIdx != void 0 && selectedItemIdx >= 0 && selectedItemIdx < items.length - 1)
114
109
  altSelectElementId = items[selectedItemIdx + 1].Id ?? 0;
115
110
  }
116
111
  }
@@ -207,7 +202,6 @@ export function edit(element, property_name) {
207
202
  rows[editing_idx].editProperty(property_name);
208
203
  }
209
204
  function reorderElements(items2, from = null) {
210
- console.log(from);
211
205
  let fromIdx;
212
206
  let fromOrder;
213
207
  if (from) {
@@ -217,11 +211,9 @@ function reorderElements(items2, from = null) {
217
211
  fromOrder = MIN_ORDER;
218
212
  fromIdx = 0;
219
213
  }
220
- console.log("reorder: ", fromOrder, fromIdx, items2);
221
214
  let order = fromOrder;
222
215
  for (let i = fromIdx; i < items2.length; i++) {
223
216
  let el = items2[i];
224
- console.log("reoder el: ", el, order, i);
225
217
  el[orderAttrib] = order;
226
218
  informModification(el, orderAttrib);
227
219
  order += ORDER_STEP;
@@ -255,15 +247,16 @@ async function insert(title2, after) {
255
247
  } else
256
248
  newElement[orderAttrib] = MIN_ORDER;
257
249
  }
250
+ await definition.onInsert(newElement);
251
+ return;
258
252
  let insertedElement = await definition.onInsert(newElement);
259
253
  if (!insertedElement)
260
254
  return;
261
255
  if (after)
262
- insertAfter(items, after, insertedElement);
256
+ items = insertAfter(items, after, insertedElement);
263
257
  else
264
- items.push(insertedElement);
258
+ items = [...items, insertedElement];
265
259
  activate_after_dom_update = insertedElement;
266
- rereder();
267
260
  }
268
261
  </script>
269
262
 
@@ -277,8 +270,8 @@ async function insert(title2, after) {
277
270
 
278
271
  <!--div class="w-full h-full overflow-y-auto"-->
279
272
 
280
- {#if items && items.length > 0 && !!item_key }
281
- {#each items as element, i (element[item_key])}
273
+ {#if items && items.length > 0 }
274
+ {#each items as element, i (getItemKey(element))}
282
275
 
283
276
  <List_element item={element}
284
277
  {toolbarOperations}
@@ -32,7 +32,7 @@
32
32
 
33
33
  } from "./stores.js";
34
34
  import Icon from './components/icon.svelte';
35
- import {session, signin_href, signout_href} from '@humandialog/auth.svelte'
35
+ import {session, signInHRef, signOutHRef} from '@humandialog/auth.svelte'
36
36
 
37
37
  import VerticalToolbar from './vertical.toolbar.svelte'
38
38
 
@@ -54,10 +54,10 @@
54
54
  {
55
55
  config = appConfig.mainToolbar;
56
56
  has_selection_details = appConfig.selectionDetails;
57
- is_logged_in = $session.is_active;
57
+ is_logged_in = $session.isActive;
58
58
  show_sign_in_out_icons = config.signin ? true : false;
59
- sign_in_href = $signin_href;
60
- sign_out_href = $signout_href;
59
+ sign_in_href = $signInHRef;
60
+ sign_out_href = $signOutHRef;
61
61
 
62
62
  tabs = Object.keys(appConfig.sidebar);
63
63
  if(tabs.length > 1)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@humandialog/forms.svelte",
3
- "version": "0.5.1",
3
+ "version": "0.5.3",
4
4
  "description": "Basic Svelte UI components for Object Reef applications",
5
5
  "devDependencies": {
6
6
  "@playwright/test": "^1.28.1",
@@ -26,7 +26,7 @@
26
26
  },
27
27
  "type": "module",
28
28
  "dependencies": {
29
- "@humandialog/auth.svelte": "^1.2.11",
29
+ "@humandialog/auth.svelte": "^1.4.0",
30
30
  "flowbite-svelte": "^0.29.13",
31
31
  "svelte-icons": "^2.1.0",
32
32
  "svelte-spa-router": "^3.3.0"
@@ -19,7 +19,7 @@
19
19
  right_sidebar_visible_store,
20
20
  main_sidebar_visible_store} from "./stores.js";
21
21
  import Icon from './components/icon.svelte';
22
- import {session, signin_href, signout_href} from '@humandialog/auth.svelte'
22
+ import {session, signInHRef, signOutHRef} from '@humandialog/auth.svelte'
23
23
  import { push } from 'svelte-spa-router';
24
24
 
25
25
  export let appConfig;
@@ -38,10 +38,10 @@
38
38
  $:{
39
39
  config = appConfig.mainToolbar;
40
40
  has_selection_details = appConfig.selectionDetails;
41
- is_logged_in = $session.is_active;
41
+ is_logged_in = $session.isActive;
42
42
  show_sign_in_out_icons = config.signin ? true : false;
43
- sign_in_href = $signin_href;
44
- sign_out_href = $signout_href;
43
+ sign_in_href = $signInHRef;
44
+ sign_out_href = $signOutHRef;
45
45
 
46
46
  tabs = new Array();
47
47