@humandialog/forms.svelte 1.7.28 → 1.8.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.
Files changed (258) hide show
  1. package/components/Fab.25.svelte +473 -0
  2. package/components/Fab.25.svelte.d.ts +18 -0
  3. package/components/Fab.svelte +51 -170
  4. package/components/Floating_container.25.svelte +178 -0
  5. package/components/Floating_container.25.svelte.d.ts +23 -0
  6. package/components/Floating_container.svelte +18 -6
  7. package/components/Grid.menu.svelte +15 -16
  8. package/components/Grid.menu.svelte.d.ts +2 -2
  9. package/components/breadcrumb.svelte +27 -27
  10. package/components/checkbox.svelte +1 -1
  11. package/components/combo/combo.svelte +60 -79
  12. package/components/combo/combo.svelte.d.ts +1 -0
  13. package/components/contextmenu-25.svelte +518 -0
  14. package/components/contextmenu-25.svelte.d.ts +26 -0
  15. package/components/contextmenu.svelte +179 -65
  16. package/components/contextmenu.svelte.d.ts +2 -2
  17. package/components/date.svelte +42 -21
  18. package/components/date.svelte.d.ts +1 -0
  19. package/components/delayed.spinner.svelte +2 -1
  20. package/components/document/editor.svelte +21 -31
  21. package/components/document/editor.svelte.d.ts +0 -2
  22. package/components/document/internal/palette.row.svelte +10 -8
  23. package/components/document/internal/palette.svelte +7 -8
  24. package/components/document/rich.edit.svelte +10 -10
  25. package/components/edit.field.svelte +1 -1
  26. package/components/input.text.svelte.d.ts +2 -2
  27. package/components/inputbox.ltop.svelte +1 -1
  28. package/components/inputbox.ltop.svelte.d.ts +12 -12
  29. package/components/kanban/internal/kanban.card.svelte +27 -47
  30. package/components/kanban/internal/kanban.column.svelte +44 -24
  31. package/components/kanban/internal/kanban.inserter.svelte +11 -14
  32. package/components/kanban/internal/kanban.move.menu.svelte +12 -12
  33. package/components/kanban/internal/kanban.props.svelte +24 -9
  34. package/components/kanban/kanban.svelte +24 -77
  35. package/components/kanban/kanban.svelte.d.ts +2 -0
  36. package/components/kanban copy.zip +0 -0
  37. package/components/list/List.d.ts +1 -0
  38. package/components/list/List.js +1 -0
  39. package/components/list/internal/list.element copy.svelte +530 -0
  40. package/components/list/internal/list.element copy.svelte.d.ts +35 -0
  41. package/components/list/internal/list.element.svelte +311 -279
  42. package/components/list/internal/list.element.svelte.d.ts +5 -7
  43. package/components/list/internal/list.inserter.svelte +38 -6
  44. package/components/list/internal/note.txt +5 -0
  45. package/components/list/list.svelte +32 -11
  46. package/components/list/list.svelte.d.ts +5 -3
  47. package/components/list/list.title.svelte +2 -0
  48. package/components/list/list.title.svelte.d.ts +1 -0
  49. package/components/menu.d.ts +1 -1
  50. package/components/menu.js +3 -3
  51. package/components/paginator.svelte +79 -9
  52. package/components/prose.editable.p.svelte.d.ts +2 -2
  53. package/components/prose.editable.span.svelte.d.ts +2 -2
  54. package/components/r.edit.svelte +9 -0
  55. package/components/r.edit.svelte.d.ts +23 -0
  56. package/components/r.editable.svelte +75 -0
  57. package/components/r.editable.svelte.d.ts +31 -0
  58. package/components/r.figcaption.svelte +5 -0
  59. package/components/r.figcaption.svelte.d.ts +27 -0
  60. package/components/r.figure.svelte +25 -0
  61. package/components/r.figure.svelte.d.ts +29 -0
  62. package/components/r.icon.svelte +229 -0
  63. package/components/r.icon.svelte.d.ts +33 -0
  64. package/components/radio.svelte +1 -1
  65. package/components/ricons/arrow-up.svelte +11 -0
  66. package/components/ricons/arrow-up.svelte.d.ts +27 -0
  67. package/components/ricons/barcode.svelte +14 -0
  68. package/components/ricons/barcode.svelte.d.ts +27 -0
  69. package/components/ricons/bold.svelte +10 -0
  70. package/components/ricons/bold.svelte.d.ts +27 -0
  71. package/components/ricons/calendar.svelte +13 -0
  72. package/components/ricons/calendar.svelte.d.ts +27 -0
  73. package/components/ricons/calendars.svelte +16 -0
  74. package/components/ricons/calendars.svelte.d.ts +27 -0
  75. package/components/ricons/cat.svelte +14 -0
  76. package/components/ricons/cat.svelte.d.ts +27 -0
  77. package/components/ricons/check-check.svelte +12 -0
  78. package/components/ricons/check-check.svelte.d.ts +27 -0
  79. package/components/ricons/check.svelte +18 -0
  80. package/components/ricons/check.svelte.d.ts +27 -0
  81. package/components/ricons/chess-rook.svelte +17 -0
  82. package/components/ricons/chess-rook.svelte.d.ts +27 -0
  83. package/components/ricons/chevron-down.svelte +11 -0
  84. package/components/ricons/chevron-down.svelte.d.ts +27 -0
  85. package/components/ricons/chevron-left.svelte +11 -0
  86. package/components/ricons/chevron-left.svelte.d.ts +27 -0
  87. package/components/ricons/chevron-right.svelte +11 -0
  88. package/components/ricons/chevron-right.svelte.d.ts +27 -0
  89. package/components/ricons/chevron-up.svelte +11 -0
  90. package/components/ricons/chevron-up.svelte.d.ts +27 -0
  91. package/components/ricons/chevrons-down.svelte +12 -0
  92. package/components/ricons/chevrons-down.svelte.d.ts +27 -0
  93. package/components/ricons/chevrons-left-right.svelte +12 -0
  94. package/components/ricons/chevrons-left-right.svelte.d.ts +27 -0
  95. package/components/ricons/chevrons-left.svelte +12 -0
  96. package/components/ricons/chevrons-left.svelte.d.ts +27 -0
  97. package/components/ricons/chevrons-right.svelte +12 -0
  98. package/components/ricons/chevrons-right.svelte.d.ts +27 -0
  99. package/components/ricons/chevrons-up-down.svelte +12 -0
  100. package/components/ricons/chevrons-up-down.svelte.d.ts +27 -0
  101. package/components/ricons/chevrons-up.svelte +12 -0
  102. package/components/ricons/chevrons-up.svelte.d.ts +27 -0
  103. package/components/ricons/circle-check.svelte +28 -0
  104. package/components/ricons/circle-check.svelte.d.ts +23 -0
  105. package/components/ricons/circle-dashed.svelte +19 -0
  106. package/components/ricons/circle-dashed.svelte.d.ts +27 -0
  107. package/components/ricons/circle-dot-dashed.svelte +20 -0
  108. package/components/ricons/circle-dot-dashed.svelte.d.ts +27 -0
  109. package/components/ricons/circle.svelte +30 -0
  110. package/components/ricons/circle.svelte.d.ts +23 -0
  111. package/components/ricons/clipboard-list.svelte +17 -0
  112. package/components/ricons/clipboard-list.svelte.d.ts +27 -0
  113. package/components/ricons/clipboard-minus.svelte +9 -0
  114. package/components/ricons/clipboard-minus.svelte.d.ts +23 -0
  115. package/components/ricons/clipboard-pen-line.svelte +18 -0
  116. package/components/ricons/clipboard-pen-line.svelte.d.ts +27 -0
  117. package/components/ricons/code-xml.svelte +12 -0
  118. package/components/ricons/code-xml.svelte.d.ts +27 -0
  119. package/components/ricons/download.svelte +13 -0
  120. package/components/ricons/download.svelte.d.ts +27 -0
  121. package/components/ricons/ellipsis-vertical.svelte +14 -0
  122. package/components/ricons/ellipsis-vertical.svelte.d.ts +27 -0
  123. package/components/ricons/file-archive.svelte +18 -0
  124. package/components/ricons/file-archive.svelte.d.ts +27 -0
  125. package/components/ricons/file-text.svelte +17 -0
  126. package/components/ricons/file-text.svelte.d.ts +27 -0
  127. package/components/ricons/folder.svelte +12 -0
  128. package/components/ricons/folder.svelte.d.ts +27 -0
  129. package/components/ricons/heading-1.svelte +13 -0
  130. package/components/ricons/heading-1.svelte.d.ts +27 -0
  131. package/components/ricons/heading-2.svelte +13 -0
  132. package/components/ricons/heading-2.svelte.d.ts +27 -0
  133. package/components/ricons/heading-3.svelte +14 -0
  134. package/components/ricons/heading-3.svelte.d.ts +27 -0
  135. package/components/ricons/heading-4.svelte +14 -0
  136. package/components/ricons/heading-4.svelte.d.ts +27 -0
  137. package/components/ricons/heading-5.svelte +14 -0
  138. package/components/ricons/heading-5.svelte.d.ts +27 -0
  139. package/components/ricons/image.svelte +12 -0
  140. package/components/ricons/image.svelte.d.ts +27 -0
  141. package/components/ricons/italic.svelte +12 -0
  142. package/components/ricons/italic.svelte.d.ts +27 -0
  143. package/components/ricons/languages.svelte +15 -0
  144. package/components/ricons/languages.svelte.d.ts +27 -0
  145. package/components/ricons/list-checks.svelte +15 -0
  146. package/components/ricons/list-checks.svelte.d.ts +27 -0
  147. package/components/ricons/list-minus.svelte +14 -0
  148. package/components/ricons/list-minus.svelte.d.ts +27 -0
  149. package/components/ricons/list-ordered.svelte +16 -0
  150. package/components/ricons/list-ordered.svelte.d.ts +27 -0
  151. package/components/ricons/list-plus.svelte +14 -0
  152. package/components/ricons/list-plus.svelte.d.ts +27 -0
  153. package/components/ricons/list.svelte +15 -0
  154. package/components/ricons/list.svelte.d.ts +27 -0
  155. package/components/ricons/loader-circle.svelte +19 -0
  156. package/components/ricons/loader-circle.svelte.d.ts +27 -0
  157. package/components/ricons/log-in.svelte +12 -0
  158. package/components/ricons/log-in.svelte.d.ts +27 -0
  159. package/components/ricons/log-out.svelte +12 -0
  160. package/components/ricons/log-out.svelte.d.ts +27 -0
  161. package/components/ricons/message-square.svelte +12 -0
  162. package/components/ricons/message-square.svelte.d.ts +27 -0
  163. package/components/ricons/messages-square.svelte +15 -0
  164. package/components/ricons/messages-square.svelte.d.ts +27 -0
  165. package/components/ricons/minus.svelte +10 -0
  166. package/components/ricons/minus.svelte.d.ts +27 -0
  167. package/components/ricons/notebook-tabs.svelte +19 -0
  168. package/components/ricons/notebook-tabs.svelte.d.ts +27 -0
  169. package/components/ricons/notebook.svelte +16 -0
  170. package/components/ricons/notebook.svelte.d.ts +27 -0
  171. package/components/ricons/package.svelte +22 -0
  172. package/components/ricons/package.svelte.d.ts +27 -0
  173. package/components/ricons/paperclip.svelte +12 -0
  174. package/components/ricons/paperclip.svelte.d.ts +27 -0
  175. package/components/ricons/pencil.svelte +12 -0
  176. package/components/ricons/pencil.svelte.d.ts +27 -0
  177. package/components/ricons/pilcrow.svelte +12 -0
  178. package/components/ricons/pilcrow.svelte.d.ts +27 -0
  179. package/components/ricons/save.svelte +12 -0
  180. package/components/ricons/save.svelte.d.ts +27 -0
  181. package/components/ricons/square-check-big.svelte +13 -0
  182. package/components/ricons/square-check-big.svelte.d.ts +27 -0
  183. package/components/ricons/square-pen.svelte +14 -0
  184. package/components/ricons/square-pen.svelte.d.ts +27 -0
  185. package/components/ricons/square.svelte +10 -0
  186. package/components/ricons/square.svelte.d.ts +27 -0
  187. package/components/ricons/strikethrough.svelte +13 -0
  188. package/components/ricons/strikethrough.svelte.d.ts +27 -0
  189. package/components/ricons/sun-moon.svelte +15 -0
  190. package/components/ricons/sun-moon.svelte.d.ts +27 -0
  191. package/components/ricons/table.svelte +13 -0
  192. package/components/ricons/table.svelte.d.ts +27 -0
  193. package/components/ricons/tag.svelte +12 -0
  194. package/components/ricons/tag.svelte.d.ts +27 -0
  195. package/components/ricons/text-quote.svelte +14 -0
  196. package/components/ricons/text-quote.svelte.d.ts +27 -0
  197. package/components/ricons/turtle.svelte +13 -0
  198. package/components/ricons/turtle.svelte.d.ts +27 -0
  199. package/components/ricons/underline.svelte +11 -0
  200. package/components/ricons/underline.svelte.d.ts +27 -0
  201. package/components/ricons/upload.svelte +13 -0
  202. package/components/ricons/upload.svelte.d.ts +27 -0
  203. package/components/ricons/user.svelte +12 -0
  204. package/components/ricons/user.svelte.d.ts +27 -0
  205. package/components/ricons/users.svelte +14 -0
  206. package/components/ricons/users.svelte.d.ts +27 -0
  207. package/components/ricons/x.svelte +11 -0
  208. package/components/ricons/x.svelte.d.ts +27 -0
  209. package/components/sidebar/sidebar.brand.svelte +14 -13
  210. package/components/sidebar/sidebar.brand.svelte.d.ts +2 -2
  211. package/components/sidebar/sidebar.group.svelte +52 -30
  212. package/components/sidebar/sidebar.item.svelte +35 -141
  213. package/components/sidebar/sidebar.item.svelte.d.ts +2 -5
  214. package/components/sidebar/sidebar.list.svelte +8 -8
  215. package/components/sidebar/sidebar.svelte +19 -2
  216. package/components/simple.table.svelte.d.ts +4 -4
  217. package/components/table/_template.table.svelte.d.ts +4 -4
  218. package/components/tags.svelte +10 -3
  219. package/components/tags.svelte.d.ts +1 -0
  220. package/components/textarea.ltop.svelte.d.ts +2 -2
  221. package/components/tile.title.svelte.d.ts +2 -2
  222. package/desk.svelte +139 -144
  223. package/dialog.svelte +17 -7
  224. package/form.box.svelte.d.ts +4 -4
  225. package/horizontal.nav.tabs.svelte +197 -23
  226. package/horizontal.nav.tabs.svelte.d.ts +2 -2
  227. package/horizontal.toolbar.svelte +25 -18
  228. package/horizontal.toolbar.svelte.d.ts +2 -2
  229. package/index.d.ts +10 -3
  230. package/index.js +10 -3
  231. package/operations.svelte +51 -22
  232. package/package.json +89 -1
  233. package/page.row.svelte.d.ts +2 -2
  234. package/page.svelte +17 -7
  235. package/page.svelte.d.ts +10 -10
  236. package/paper.header.svelte +4 -0
  237. package/paper.header.svelte.d.ts +27 -0
  238. package/paper.nav.svelte +8 -0
  239. package/paper.nav.svelte.d.ts +27 -0
  240. package/paper.svelte +22 -6
  241. package/paper.svelte.d.ts +2 -0
  242. package/paper.table.svelte +27 -0
  243. package/paper.table.svelte.d.ts +27 -0
  244. package/paper.top.margin.svelte +5 -0
  245. package/paper.top.margin.svelte.d.ts +27 -0
  246. package/stores.d.ts +1 -1
  247. package/tenant.create.svelte +93 -0
  248. package/tenant.create.svelte.d.ts +29 -0
  249. package/tenant.members.svelte +116 -93
  250. package/tile.svelte.d.ts +4 -4
  251. package/tiles.row.svelte.d.ts +2 -2
  252. package/tiles.vertical.row.svelte.d.ts +2 -2
  253. package/updates.d.ts +4 -0
  254. package/updates.js +56 -14
  255. package/utils.d.ts +16 -4
  256. package/utils.js +214 -99
  257. package/vertical.toolbar.svelte +62 -47
  258. package/vertical.toolbar.svelte.d.ts +2 -2
@@ -12,10 +12,10 @@ import {
12
12
  } from "../../../utils";
13
13
  import { showGridMenu, showMenu } from "../../menu";
14
14
  import { pushChanges, informModification } from "../../../updates";
15
- import Summary from "./list.element.summary.svelte";
16
- import Properties from "./list.element.props.svelte";
17
15
  import { isDeviceSmallerThan } from "../../../utils";
18
- import Icon from "../../icon.svelte";
16
+ import Circle from "../../ricons/circle.svelte";
17
+ import CircleCheck from "../../ricons/circle-check.svelte";
18
+ import Ricon from "../../r.icon.svelte";
19
19
  import Spinner from "../../delayed.spinner.svelte";
20
20
  import { rList_definition, rList_property_type } from "../List";
21
21
  import { push, link } from "svelte-spa-router";
@@ -23,8 +23,8 @@ import { FaExternalLinkAlt, FaRegCircle, FaRegCheckCircle } from "svelte-icons/f
23
23
  import Tags from "../../tags.svelte";
24
24
  import { ext } from "../../../i18n";
25
25
  export let item;
26
- export let title = "";
27
- export let summary = "";
26
+ export let element_title = "";
27
+ export let list_properties = void 0;
28
28
  export let typename = void 0;
29
29
  export let toolbarOperations = void 0;
30
30
  export let contextMenu = void 0;
@@ -32,10 +32,13 @@ export let multiselectOperations = (items) => [];
32
32
  export let key = "";
33
33
  export let selectionKey = "props";
34
34
  export let multiselect = false;
35
+ export let layout_demo_mode = false;
36
+ export let show_prev_interface = false;
35
37
  let definition = getContext("rList-definition");
36
38
  let placeholder = "";
37
39
  let props_sm;
38
40
  let props_md;
41
+ let summary = "";
39
42
  $:
40
43
  is_row_active = calculate_active(item, $contextItemsStore);
41
44
  $:
@@ -44,10 +47,12 @@ $:
44
47
  selected_class = is_row_selected ? "!border-blue-300 dark:!border-blue-300/50" : "";
45
48
  $:
46
49
  focused_class = is_row_active ? "bg-stone-200 dark:bg-stone-700" : "";
47
- $:
48
- download = is_row_active && (definition.downloadable || (definition.downloadableFunc ? definition.downloadableFunc(item) : false));
49
50
  $:
50
51
  is_link_like = is_row_active && (!!definition.title_href || !!definition.title_href_func || download);
52
+ $:
53
+ demo_element_class = is_row_active ? "pl-8 bg-stone-700" : "pl-8";
54
+ $:
55
+ multiselect_class = is_row_active ? "pl-16 rounded bg-stone-600 outline outline-4 outline-stone-600 " : "pl-16";
51
56
  if (!typename) {
52
57
  if (item.$type)
53
58
  typename = item.$type;
@@ -56,25 +61,45 @@ if (!typename) {
56
61
  typename = s[1];
57
62
  }
58
63
  }
59
- if (!title)
60
- title = definition.title;
61
- if (!summary)
62
- summary = definition.summary;
63
- let [name_w, props_w] = calc_horz_division();
64
- function calc_horz_division() {
65
- const props_no = definition.properties.length;
66
- switch (props_no) {
67
- case 0:
68
- return ["w-full", ""];
69
- case 1:
70
- return ["w-2/3", "w-1/3"];
71
- case 2:
72
- return ["w-2/3", "w-1/3"];
73
- case 3:
74
- return ["w-1/2", "w-1/2"];
75
- default:
76
- return ["w-1/3", "w-2/3"];
64
+ element_title = read_from_def("Title");
65
+ summary = read_from_def("Summary");
66
+ let href = read_from_def("href");
67
+ let element_href = href ? item[href] : "";
68
+ let element_open_handler = read_from_def("onOpen");
69
+ let element_readonly = read_from_def("readonly");
70
+ let title_readonly = read_from_def("readonlyTitle") ?? element_readonly;
71
+ let summary_readonly = read_from_def("readonlySummary") ?? element_readonly;
72
+ let download;
73
+ const downloadableFunc = read_from_def("downloadableFunc");
74
+ if (downloadableFunc)
75
+ download = downloadableFunc(item);
76
+ else
77
+ download = read_from_def("downloadable");
78
+ let element_icon = get_element_icon(list_properties, item);
79
+ function get_element_icon(properties, item2) {
80
+ let element_icon2 = read_from_def("icon");
81
+ if (element_icon2) {
82
+ if (element_icon2[0] != "#")
83
+ element_icon2 = item2[element_icon2];
84
+ else
85
+ element_icon2 = element_icon2.substr(1);
77
86
  }
87
+ if (!element_icon2)
88
+ element_icon2 = "turtle";
89
+ return element_icon2;
90
+ }
91
+ function read_from_def(propName) {
92
+ if (!list_properties)
93
+ return void 0;
94
+ if (list_properties.context) {
95
+ const contextProps = list_properties.context[item.$type];
96
+ if (contextProps && contextProps.hasOwnProperty(propName))
97
+ return contextProps[propName];
98
+ }
99
+ const elementProps = list_properties.element;
100
+ if (elementProps && elementProps.hasOwnProperty(propName))
101
+ return elementProps[propName];
102
+ return void 0;
78
103
  }
79
104
  function calculate_active(...args) {
80
105
  const key2 = getItemKeyName(item);
@@ -107,23 +132,10 @@ function getItemKeyName(item2) {
107
132
  return "";
108
133
  }
109
134
  }
110
- async function change_name(text) {
111
- if (definition.on_title_changed) {
112
- definition.on_title_changed(item, text, title);
113
- } else {
114
- item[title] = text;
115
- informModification(item, title, typename);
116
- pushChanges();
117
- }
118
- }
119
- async function change_summary(text) {
120
- if (definition.on_summary_changed) {
121
- definition.on_summary_changed(item, text, summary);
122
- } else {
123
- item[summary] = text;
124
- informModification(item, summary, typename);
125
- pushChanges();
126
- }
135
+ async function change_property(property_name, value) {
136
+ item[property_name] = value;
137
+ informModification(item, property_name, typename);
138
+ pushChanges();
127
139
  }
128
140
  function edit(e) {
129
141
  if (!is_row_active)
@@ -133,52 +145,6 @@ function edit(e) {
133
145
  export function activate() {
134
146
  activate_row(null, item);
135
147
  }
136
- function on_active_row_clicked(e, part) {
137
- if (!is_row_active)
138
- return;
139
- let click_on_empty_space = true;
140
- let n = e.target;
141
- while (n) {
142
- let is_in_cell = n.getAttribute("role") == "gridcell";
143
- if (is_in_cell) {
144
- click_on_empty_space = false;
145
- break;
146
- }
147
- n = n.parentElement;
148
- }
149
- let can_show_context_menu = click_on_empty_space;
150
- can_show_context_menu = false;
151
- if (can_show_context_menu && contextMenu) {
152
- const pt = new DOMPoint(e.clientX, e.clientY);
153
- let context_operations = contextMenu(item);
154
- if (context_operations !== null) {
155
- if (typeof context_operations === "object") {
156
- if (Array.isArray(context_operations))
157
- showMenu(pt, context_operations);
158
- else if (context_operations.grid)
159
- showGridMenu(pt, context_operations.grid);
160
- }
161
- }
162
- } else if (click_on_empty_space) {
163
- if (definition.title_href || definition.title_href_func) {
164
- } else {
165
- }
166
- } else {
167
- }
168
- }
169
- function followDefinedHRef() {
170
- let link2 = getHRef();
171
- if (link2)
172
- push(link2);
173
- }
174
- function getHRef() {
175
- if (definition.title_href)
176
- return definition.title_href;
177
- else if (definition.title_href_func)
178
- return definition.title_href_func(item);
179
- else
180
- return "";
181
- }
182
148
  function activate_row(e, item2) {
183
149
  const openable = !!definition.title_href || !!definition.title_href_func;
184
150
  if (toolbarOperations) {
@@ -210,7 +176,7 @@ function on_contextmenu(e) {
210
176
  e.preventDefault();
211
177
  }
212
178
  export function editProperty(field) {
213
- if (field == title)
179
+ if (field == element_title)
214
180
  force_editing("Title");
215
181
  else if (field == summary)
216
182
  force_editing("Summary");
@@ -222,7 +188,7 @@ export function editProperty(field) {
222
188
  }
223
189
  }
224
190
  async function force_editing(field) {
225
- let element_id = `__hd_list_ctrl_${getItemKey(item)}_${field}`;
191
+ let element_id = `__or_list_ctrl_${getItemKey(item)}_${field}`;
226
192
  let element_node = document.getElementById(element_id);
227
193
  if (!element_node) {
228
194
  placeholder = field;
@@ -234,19 +200,9 @@ async function force_editing(field) {
234
200
  if (!element_node.classList.contains("editable")) {
235
201
  return;
236
202
  }
237
- if (field == "Title") {
238
- if (is_link_like) {
239
- startEditing(element_node, () => {
240
- placeholder = "";
241
- });
242
- } else {
243
- element_node.focus();
244
- setSelectionAtEnd(element_node);
245
- }
246
- } else {
247
- element_node.focus();
248
- setSelectionAtEnd(element_node);
249
- }
203
+ startEditing(element_node, () => {
204
+ placeholder = "";
205
+ });
250
206
  }
251
207
  function setSelectionAtEnd(element) {
252
208
  const textNode = element.childNodes[0];
@@ -283,200 +239,276 @@ async function onDownloadFile(e) {
283
239
  isDownloading = true;
284
240
  e.preventDefault();
285
241
  e.stopPropagation();
286
- if (definition.onOpen)
287
- await definition.onOpen(item);
242
+ if (element_open_handler)
243
+ await element_open_handler(item);
288
244
  isDownloading = false;
289
245
  }
290
246
  </script>
291
247
 
292
248
  <!-- svelte-ignore a11y-click-events-have-key-events -->
293
- {#if item}
294
- {@const element_title = ext(item[title])}
249
+ <!-- svelte-ignore a11y-structure -->
295
250
 
296
- <section class="my-1 flex flex-row w-full text-stone-900 dark:text-stone-300 cursor-default rounded-md border border-transparent {selected_class} {focused_class} scroll-mt-[50px] sm:scroll-mt-[40px]"
297
- role="menu"
298
- tabindex="-1"
299
- bind:this={rootElement}> <!-- on:contextmenu={on_contextmenu} -->
251
+ {#if item}
252
+ {@const translated_element_title = ext(item[element_title])}
253
+ <!------------------------------------------------------------------------------------------------->
254
+ <!------------------------------------------------------------------------------------------------->
255
+ <!------------------------------------------------------------------------------------------------->
256
+ <!------------------------------------------------------------------------------------------------->
257
+ <!------------------------------------------------------------------------------------------------->
258
+ {#if !is_row_active && !multiselect}
259
+ <!------------------------------------------------------------------------------------------------->
260
+ <!------------------------------------------------------------------------------------------------->
261
+ <!---- INACTIVE PURE LAYOUT ----------------------------------------------------------------------->
262
+ <!------------------------------------------------------------------------------------------------->
263
+ <!------------------------------------------------------------------------------------------------->
264
+ <figure class="pl-8"
265
+ bind:this={rootElement}
266
+ use:selectable={item}
267
+ on:click={(e) => {activate_row(e, item)}}>
268
+ <!-- comming soon - top info --
269
+ <figcaption>
270
+ <div class="grid gap-4 grid-cols-3 grid-rows-1">
271
+ <span>OCT-254</span>
272
+ <span class="text-center"></span>
273
+ <span class="text-right">15 listopad 25</span>
274
+ </div>
275
+ </figcaption>
276
+ -------------------------------->
277
+ <!--@el------------------------->
278
+ <h4 class="-indent-8 sm:hover:cursor-default">
279
+ <div class="inline-block w-4 h-4 ml-0 mr-4 align-baseline
280
+ text-stone-700 dark:text-stone-400 ">
281
+ <Ricon icon = {element_icon}/>
282
+ </div>{translated_element_title}
283
+ </h4>
284
+ <!-- comming soon - middle info --
285
+ <figcaption>
286
+ <div class="grid gap-4 grid-cols-3 grid-rows-1">
287
+ <span>Andrzej</span>
288
+ <span class="text-center"></span>
289
+ <span class="text-right">Specyfikacje</span>
290
+ </div>
291
+ </figcaption>
292
+ -------------------------------->
300
293
 
301
- {#if multiselect}
302
- {@const icon=is_row_active ? FaRegCheckCircle : FaRegCircle}
303
- <Icon component={icon}
304
- class="flex-none h-4 w-4 text-stone-500 dark:text-stone-400 cursor-pointer mt-1 ml-2 mr-3 "
305
- on:click={onToggleMultiSelect}/>
294
+ {#if summary && item[summary]}
295
+ <figcaption>
296
+ {item[summary]}
297
+ </figcaption>
306
298
  {/if}
307
-
308
- {#if isDownloading}
309
- <Spinner class="mt-0.5 ml-2 mr-1" size={5} delay={0}/>
310
- {:else}
311
- <slot name="left" element={item}/>
299
+ </figure>
300
+
301
+ <!------------------------------------------------------------------------------------------------->
302
+ <!------------------------------------------------------------------------------------------------->
303
+ <!------------------------------------------------------------------------------------------------->
304
+ <!------------------------------------------------------------------------------------------------->
305
+ <!------------------------------------------------------------------------------------------------->
306
+ <!------------------------------------------------------------------------------------------------->
307
+ {:else if multiselect}
308
+ <!------------------------------------------------------------------------------------------------->
309
+ <!------------------------------------------------------------------------------------------------->
310
+ <!------------------------------------------------------------------------------------------------->
311
+ <!------SPECIAL CASE - MULTISELECTION------------------------------------------------------------------------------------------->
312
+ <!------------------------------------------------------------------------------------------------->
313
+ <!------------------------------------------------------------------------------------------------->
314
+ <div bind:this={rootElement}
315
+ use:selectable={item}
316
+ on:click={onToggleMultiSelect}>
317
+ <figure class={multiselect_class} bind:this={rootElement}>
318
+ <!-- comming soon - top info --
319
+ <figcaption>
320
+ <div class="grid gap-4 grid-cols-3 grid-rows-1">
321
+ <span>OCT-254</span>
322
+ <span class="text-center"></span>
323
+ <span class="text-right">15 listopad 25</span>
324
+ </div>
325
+ </figcaption>
326
+ -------------------------------->
327
+ <!--@el------------------------->
328
+ <h4 class="-indent-16 sm:hover:cursor-default"
329
+ >
330
+ <div class="inline-block w-4 h-4 ml-1 mr-1 py-0.5 align-baseline
331
+ text-stone-700 dark:text-stone-400 ">
332
+ {#if is_row_active}
333
+ <CircleCheck size = "s"/>
334
+ {:else}
335
+ <Circle size = "s"/>
336
+ {/if}
337
+ </div>
338
+ <div class="inline-block w-4 h-4 ml-0 mr-5 align-baseline
339
+ text-stone-700 dark:text-stone-400 ">
340
+ <!--Ricon icon={ClipboardMinus}/-->
341
+ <Ricon icon = {element_icon} />
342
+ </div>{translated_element_title}
343
+ <!--div class="inline-block w-4 h-4 ml-1 mr-1 py-0.5 align-baseline"> <Circle size = "s"/></div-->
344
+ </h4>
345
+ <!-- comming soon - middle info --
346
+ <figcaption>
347
+ <div class="grid gap-4 grid-cols-3 grid-rows-1">
348
+ <span>Andrzej</span>
349
+ <span class="text-center"></span>
350
+ <span class="text-right">Specyfikacje</span>
351
+ </div>
352
+ </figcaption>
353
+ -------------------------------->
354
+
355
+ {#if summary && (item[summary] || placeholder=='Summary')}
356
+ <figcaption>
357
+ {item[summary]}
358
+ </figcaption>
312
359
  {/if}
313
-
314
- <i class="hidden sm:w-1/2 sm:w-2/3 sm:w-1/3"></i> <!-- just to force tailwind classes including -->
315
-
316
- <div class="ml-3 w-full py-0"
317
- use:selectable={item}
318
- on:click={(e) => {activate_row(e, item)}}
319
- role="row"
320
- tabindex="0">
321
- <div class="block sm:flex sm:flex-row" on:click={(e) => on_active_row_clicked(e, 'top')}>
322
-
323
- {#if is_row_active}
324
- {#key item[title]} <!-- Wymusza pełne wyrenderowanie zwłasza po zmiane z pustego na tekst -->
325
- {#if is_link_like}
326
- <p class=" text-base font-semibold
327
-
328
- whitespace-nowrap overflow-clip w-full sm:flex-none sm:{name_w}"
329
- id="__hd_list_ctrl_{getItemKey(item)}_Title"
330
- use:editable={{
331
- action: (text) => {change_name(text)},
332
- active: false,
333
- readonly: definition.title_readonly,
334
- onSoftEnter: (text) => {change_name(text); editProperty('Summary')}
335
- }}
336
- > <!--on:click|stopPropagation={followDefinedHRef}-->
337
- {#if download}
338
- <a class="sm:hover:cursor-pointer underline"
339
- download
340
- href={getHRef()}
341
- on:click={onDownloadFile}>
342
- {element_title}
343
- </a>
344
- {:else}
345
- <a class="sm:hover:cursor-pointer underline"
346
- href={getHRef()} use:link>
347
- {element_title}
348
- </a>
349
- {/if}
350
- </p>
351
- {:else if definition.onOpen}
352
- <p class=" text-base font-semibold
353
-
354
- whitespace-nowrap overflow-clip w-full sm:flex-none sm:{name_w}"
355
- id="__hd_list_ctrl_{getItemKey(item)}_Title"
356
- use:editable={{
357
- action: (text) => {change_name(text)},
358
- active: true,
359
- readonly: definition.title_readonly,
360
- }}>
361
- <span class="sm:hover:cursor-pointer underline"
362
- on:click|stopPropagation={(e) => definition.onOpen(item)}>
363
- {element_title}
364
- </span>
360
+ </figure>
361
+ </div>
362
+ <!------------------------------------------------------------------------------------------------->
363
+ <!------------------------------------------------------------------------------------------------->
364
+ <!------------------------------------------------------------------------------------------------->
365
+ <!------------------------------------------------------------------------------------------------->
366
+ <!------------------------------------------------------------------------------------------------->
367
+ <!------------------------------------------------------------------------------------------------->
368
+ <!------------------------------------------------------------------------------------------------->
369
+ <!------------------------------------------------------------------------------------------------->
370
+ <!------------------------------------------------------------------------------------------------->
371
+ <!------------------------------------------------------------------------------------------------->
372
+ <!------------------------------------------------------------------------------------------------->
373
+ <!------------------------------------------------------------------------------------------------->
374
+ {:else}
375
+ <!------------------------------------------------------------------------------------------------->
376
+ <!------------------------------------------------------------------------------------------------->
377
+ <!------------------------------------------------------------------------------------------------->
378
+ <!------------------------------------------------------------------------------------------------->
379
+ <!------------------------------------------------------------------------------------------------->
380
+ <!------------------------------------------------------------------------------------------------->
381
+ <div >
365
382
 
366
- <!--
367
- {#if definition.onOpen}
368
- <button class="ml-3 w-5 h-5 sm:w-3 sm:h-3"
369
- on:click={(e) => definition.onOpen(item)}>
370
- <FaExternalLinkAlt/>
371
- </button>
372
- {/if}
373
- -->
374
- </p>
375
- {:else}
376
- <p class=" text-base font-semibold
377
- whitespace-nowrap overflow-clip w-full sm:flex-none sm:{name_w}"
378
- id="__hd_list_ctrl_{getItemKey(item)}_Title"
379
- use:editable={{
380
- action: (text) => {change_name(text)},
381
- active: true,
382
- readonly: definition.title_readonly,
383
- }}>
384
- <span>
385
- {element_title}
386
- </span>
387
- </p>
388
- {/if}
389
- {/key}
390
- {:else}
391
- <p class=" text-base font-semibold
392
-
393
- whitespace-nowrap overflow-clip w-full sm:flex-none sm:{name_w}"
394
- id="__hd_list_ctrl_{getItemKey(item)}_Title">
395
- {element_title}
396
- </p>
397
- {/if}
398
-
383
+ <figure class="pl-8
399
384
 
400
- <section class="hidden sm:block w-full sm:flex-none sm:{props_w}">
401
- <Properties {definition} {item} {placeholder} bind:this={props_md}/>
402
- </section>
385
+ bg-stone-200 dark:bg-stone-700
386
+ outline outline-8
387
+ outline-stone-200 dark:outline-stone-700
388
+ ring-1 ring-offset-8
389
+ ring-stone-300 dark:ring-stone-700
390
+ "
391
+
392
+ bind:this={rootElement}
393
+ use:selectable={item}
394
+ on:click={(e) => {activate_row(e, item)}}
395
+ >
396
+ <!-- comming soon - top info --
397
+ <figcaption>
398
+ <div class="grid gap-4 grid-cols-3 grid-rows-1">
399
+ <span>OCT-254</span>
400
+ <span class="text-center"></span>
401
+ <span class="text-right">15 listopad 25</span>
403
402
  </div>
403
+ </figcaption> #active
404
+ -------------------------------->
405
+ <!--@el------------------------->
406
+ {#if download}
407
+ <a class="sm:hover:cursor-pointer"
408
+ href={element_href}
409
+ on:click={onDownloadFile}>
404
410
 
405
- <section class="block sm:hidden w-full">
406
- <Properties {definition} {item} {placeholder} bind:this={props_sm}/>
407
- </section>
411
+ <h4 class="-indent-8"
412
+ id="__or_list_ctrl_{getItemKey(item)}_Title"
413
+ use:editable={{
414
+ action: (text) => {change_property(element_title, text)},
415
+ active: false,
416
+ readonly: title_readonly,
417
+ onSoftEnter: (text) => {change_name(text); editProperty('Summary')}
418
+ }}>
419
+ <div class="inline-block w-4 h-4 ml-0 mr-4 align-baseline
420
+ text-stone-700 dark:text-stone-400 ">
421
+ <Ricon icon={isDownloading ? 'loader-circle' : element_icon} />
422
+ </div>{translated_element_title}
423
+ </h4>
424
+ </a>
425
+ {:else if element_href}
426
+ <a class="sm:hover:cursor-pointer"
427
+ href={element_href} use:link>
408
428
 
409
- {#if summary && (item[summary] || placeholder=='Summary')}
410
- {@const summaryText = ext(item[summary])}
411
- {@const element_id = `__hd_list_ctrl_${getItemKey(item)}_Summary`}
412
- {#key summaryText }
413
- {#if is_row_active}
414
- <p id={element_id}
415
- class=" text-sm
416
- text-stone-600 dark:text-stone-400"
417
- use:editable={{
418
- action: (text) => {change_summary(text)},
419
- readonly: definition.summary_readonly,
420
- onFinish: (d) => {placeholder='';},
421
- active: true
422
- }}>
423
- {summaryText}
424
- </p>
425
- {:else}
426
- <p id={element_id}
427
- class=" text-sm
428
- text-stone-600 dark:text-stone-400"
429
- on:click={(e) => on_active_row_clicked(e, 'bottom')}>
430
- {summaryText}
431
- </p>
432
- {/if}
433
- {/key}
434
-
435
- {/if}
429
+ <h4 class="-indent-8 "
430
+ id="__or_list_ctrl_{getItemKey(item)}_Title"
431
+ use:editable={{
432
+ action: (text) => {change_property(element_title, text)},
433
+ active: false,
434
+ readonly: title_readonly,
435
+ onSoftEnter: (text) => {change_name(text); editProperty('Summary')}
436
+ }}>
437
+ <div class="inline-block w-4 h-4 ml-0 mr-4 align-baseline
438
+ text-stone-700 dark:text-stone-400 ">
439
+ <Ricon icon={element_icon} />
440
+ </div>{translated_element_title}
441
+ </h4>
442
+ </a>
443
+ {:else if element_open_handler}
444
+ <a class="sm:hover:cursor-pointer"
445
+ href="/#"
446
+ on:click|preventDefault={() => element_open_handler(item)}>
447
+
448
+ <h4 class="-indent-8"
449
+ id="__or_list_ctrl_{getItemKey(item)}_Title"
450
+ use:editable={{
451
+ action: (text) => {change_property(element_title, text)},
452
+ active: false,
453
+ readonly: title_readonly,
454
+ onSoftEnter: (text) => {change_name(text); editProperty('Summary')}
455
+ }}>
456
+ <div class="inline-block w-4 h-4 ml-0 mr-4 align-baseline
457
+ text-stone-700 dark:text-stone-400 ">
458
+ <Ricon icon={element_icon} />
459
+ </div>{translated_element_title}
460
+ </h4>
461
+ </a>
462
+ {:else}
463
+ <h4 class="-indent-8 "
464
+ id="__or_list_ctrl_{getItemKey(item)}_Title"
465
+ use:editable={{
466
+ action: (text) => {change_property(element_title, text)},
467
+ active: false,
468
+ readonly: title_readonly,
469
+ onSoftEnter: (text) => {change_name(text); editProperty('Summary')}
470
+ }}>
471
+ <div class="inline-block w-4 h-4 ml-0 mr-4 align-baseline
472
+ text-stone-700 dark:text-stone-400 ">
473
+ <Ricon icon={element_icon} />
474
+ </div>{translated_element_title}
475
+ </h4>
476
+ {/if}
436
477
 
437
- {#if definition.tags}
438
- <Tags
439
- class="mt-1 mb-1"
440
- compact
441
- inContext="props"
442
- self={item}
443
- a={definition.tags.a}
444
- getGlobalTags={definition.tags.getAllTags}
445
- s="sm"
446
- onSelect={definition.tags.onSelect}
447
- onUpdateAllTags={definition.tags.onUpdateAllTags}
448
- canChangeColor={definition.tags.canChangeColor}
449
- readOnly={definition.tags.readOnly}
450
- />
451
- {/if}
478
+ <!-- comming soon - middle info --
479
+ <figcaption>
480
+ <div class="grid gap-4 grid-cols-3 grid-rows-1">
481
+ <span>Andrzej</span>
482
+ <span class="text-center"></span>
483
+ <span class="text-right">Specyfikacje</span>
484
+ </div>
485
+ </figcaption>
486
+ -------------------------------->
452
487
 
453
- </div>
454
- </section>
455
- {/if}
488
+ {#if summary && (item[summary])}
489
+ <figcaption id="__or_list_ctrl_{getItemKey(item)}_Summary" use:editable={{
490
+ action: (text) => {change_property(summary, text)},
491
+ readonly: summary_readonly,
492
+ onFinish: (d) => {placeholder='';},
493
+ active: true
494
+ }}>{item[summary]}
495
+ </figcaption>
456
496
 
457
- <style>
458
- .grid-1
459
- {
460
- display: grid;
461
- grid-template-columns: 100%;
462
- }
497
+ {:else if placeholder=='Summary'}
498
+ <figcaption id="__or_list_ctrl_{getItemKey(item)}_Summary"
499
+ use:editable={{
500
+ action: (text) => {change_property(summary, text)},
501
+ readonly: summary_readonly,
502
+ onFinish: (d) => {placeholder='';},
503
+ active: true
504
+ }}>&nbsp;
505
+ </figcaption>
506
+ {/if}
507
+ </figure>
508
+ </div>
463
509
 
464
- .grid-2
465
- {
466
- display: grid;
467
- grid-template-columns: 50% 50%;
468
- }
469
510
 
470
- .grid-3
471
- {
472
- display: grid;
473
- grid-template-columns: 33% 33% 33%;
474
- }
475
511
 
476
- .grid-4
477
- {
478
- display: grid;
479
- grid-template-columns: 25% 25% 25% 25%;
480
- }
512
+ {/if}
481
513
 
482
- </style>
514
+ {/if}