@hypericon/mico 0.3.12 → 0.3.13

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.
@@ -13,11 +13,22 @@ export declare const Tree: m.Component<{
13
13
  /** Enable debug logging of certain events */
14
14
  enableLogging?: boolean | undefined;
15
15
  /** Function called when a node with children is toggled */
16
- ontoggle?: ((node: TreeNode<any>, expanded: boolean, recursive: boolean) => void) | undefined;
16
+ ontoggle?: ((toggle: {
17
+ node: TreeNode<any>;
18
+ expanded: boolean;
19
+ recursive: boolean;
20
+ }) => void) | undefined;
17
21
  /** Function called when a node label is clicked */
18
- onclick?: ((node: TreeNode<any>) => void) | undefined;
22
+ onclick?: ((click: {
23
+ ev: MouseEvent;
24
+ node: TreeNode<any>;
25
+ }) => void) | undefined;
19
26
  /** Function called when a node has been dragged to a new position in the tree */
20
- onreorder?: ((moved: any, target: any, above: boolean) => void) | undefined;
27
+ onreorder?: ((reorder: {
28
+ moved: any;
29
+ target: any;
30
+ above: boolean;
31
+ }) => void) | undefined;
21
32
  /** Optional message to display in defined but empty children lists */
22
33
  emptyChildrenMessage?: string | undefined;
23
34
  /** Optionally override the default icon for a collapsed folder */
@@ -51,11 +62,22 @@ export declare function createTree<TNodeData extends object = {}>(): m.Component
51
62
  /** Enable debug logging of certain events */
52
63
  enableLogging?: boolean | undefined;
53
64
  /** Function called when a node with children is toggled */
54
- ontoggle?: ((node: TreeNode<TNodeData>, expanded: boolean, recursive: boolean) => void) | undefined;
65
+ ontoggle?: ((toggle: {
66
+ node: TreeNode<TNodeData>;
67
+ expanded: boolean;
68
+ recursive: boolean;
69
+ }) => void) | undefined;
55
70
  /** Function called when a node label is clicked */
56
- onclick?: ((node: TreeNode<TNodeData>) => void) | undefined;
71
+ onclick?: ((click: {
72
+ ev: MouseEvent;
73
+ node: TreeNode<TNodeData>;
74
+ }) => void) | undefined;
57
75
  /** Function called when a node has been dragged to a new position in the tree */
58
- onreorder?: ((moved: TNodeData, target: TNodeData, above: boolean) => void) | undefined;
76
+ onreorder?: ((reorder: {
77
+ moved: TNodeData;
78
+ target: TNodeData;
79
+ above: boolean;
80
+ }) => void) | undefined;
59
81
  /** Optional message to display in defined but empty children lists */
60
82
  emptyChildrenMessage?: string | undefined;
61
83
  /** Optionally override the default icon for a collapsed folder */
@@ -43,7 +43,7 @@ function createTree() {
43
43
  enableLogging: attrs.enableLogging,
44
44
  ontoggle: attrs.ontoggle,
45
45
  onclick: attrs.onclick,
46
- reorder: attrs.onreorder,
46
+ onreorder: attrs.onreorder,
47
47
  emptyChildrenMessage: attrs.emptyChildrenMessage,
48
48
  collapsedIcon: attrs.collapsedIcon,
49
49
  expandedIcon: attrs.expandedIcon,
@@ -59,7 +59,7 @@ function createTree() {
59
59
  this.isReorderingOver = false;
60
60
  this.handleClick = (ev, node) => {
61
61
  var _a;
62
- (_a = attrs.onclick) === null || _a === void 0 ? void 0 : _a.call(attrs, node);
62
+ (_a = attrs.onclick) === null || _a === void 0 ? void 0 : _a.call(attrs, { ev, node });
63
63
  };
64
64
  this.handleDragStart = (ev, node) => {
65
65
  if (!enableReordering)
@@ -104,7 +104,7 @@ function createTree() {
104
104
  // attrs.reorderfinish?.();
105
105
  const droppedOnSelf = (0, utils_1.compareObjects)(movedNodeData, node.data);
106
106
  if (!droppedOnSelf) {
107
- (_a = attrs.reorder) === null || _a === void 0 ? void 0 : _a.call(attrs, movedNodeData, node.data, this.isTargettingAbove);
107
+ (_a = attrs.onreorder) === null || _a === void 0 ? void 0 : _a.call(attrs, { moved: movedNodeData, target: node.data, above: this.isTargettingAbove });
108
108
  }
109
109
  }
110
110
  this.isReorderingOver = false;
@@ -123,7 +123,7 @@ function createTree() {
123
123
  const hasChildren = node.children !== undefined && (node.children.length > 0);
124
124
  const expanded = canHaveChildren && node.expanded;
125
125
  const collapsed = canHaveChildren && !node.expanded;
126
- const targettingBackgroundClass = this.isReorderingOver ? (this.isTargettingAbove ? "mico-tree-reorder-above" : "mico-tree-reorder-below") : "";
126
+ const targettingDragClass = this.isReorderingOver ? (this.isTargettingAbove ? "mico-tree-reorder-above" : "mico-tree-reorder-below") : "";
127
127
  return (0, mithril_1.default)("li.mico-tree-node", {
128
128
  // key: item.key,
129
129
  }, [
@@ -133,31 +133,31 @@ function createTree() {
133
133
  }, [
134
134
  expanded ? (0, mithril_1.default)("button.mico-tree-toggle", {
135
135
  style: `width: 1.5rem; flex: none;`,
136
- class: enableToggling ? `hover:text-primary` : `text-view-icon`,
136
+ // class: enableToggling ? `hover:text-primary` : `text-view-icon`,
137
137
  disabled: !enableToggling,
138
138
  onclick: (ev) => {
139
139
  var _a;
140
140
  if (!enableToggling)
141
141
  return;
142
142
  node.expanded = false;
143
- (_a = attrs.ontoggle) === null || _a === void 0 ? void 0 : _a.call(attrs, node, false, ev.altKey);
143
+ (_a = attrs.ontoggle) === null || _a === void 0 ? void 0 : _a.call(attrs, { node, expanded: false, recursive: ev.altKey });
144
144
  },
145
145
  }, attrs.expandedIcon || (0, mithril_1.default)(icon_1.Icon, { fas: "chevron-down" })) : undefined,
146
146
  collapsed ? (0, mithril_1.default)("button.mico-tree-toggle", {
147
147
  style: `width: 1.5rem; flex: none;`,
148
- class: enableToggling ? `hover:text-primary` : `text-view-icon`,
148
+ // class: enableToggling ? `hover:text-primary` : `text-view-icon`,
149
149
  disabled: !enableToggling,
150
150
  onclick: (ev) => {
151
151
  var _a;
152
152
  if (!enableToggling)
153
153
  return;
154
154
  node.expanded = true;
155
- (_a = attrs.ontoggle) === null || _a === void 0 ? void 0 : _a.call(attrs, node, true, ev.altKey);
155
+ (_a = attrs.ontoggle) === null || _a === void 0 ? void 0 : _a.call(attrs, { node, expanded: true, recursive: ev.altKey });
156
156
  },
157
157
  }, attrs.collapsedIcon || (0, mithril_1.default)(icon_1.Icon, { fas: "chevron-right" })) : undefined,
158
- (0, mithril_1.default)("", {
159
- class: `${targettingBackgroundClass}`,
160
- style: "position: relative; flex: 1 1 0%; display: flex; flex-direction: column; overflow-x: hidden;",
158
+ (0, mithril_1.default)("button.mico-tree-label", {
159
+ class: `${targettingDragClass}`,
160
+ style: "position: relative; flex: 1 1 0%; overflow-x: hidden;",
161
161
  draggable: enableReordering,
162
162
  onclick: (ev) => {
163
163
  var _a;
@@ -165,7 +165,7 @@ function createTree() {
165
165
  // If labels should toggle expansion, toggle expansion
166
166
  if (attrs.toggleExpansionWithLabel && enableToggling) {
167
167
  node.expanded = !expanded;
168
- (_a = attrs.ontoggle) === null || _a === void 0 ? void 0 : _a.call(attrs, node, !expanded, ev.altKey);
168
+ (_a = attrs.ontoggle) === null || _a === void 0 ? void 0 : _a.call(attrs, { node, expanded: !expanded, recursive: ev.altKey });
169
169
  }
170
170
  },
171
171
  ondragstart: (ev) => this.handleDragStart(ev, node),
@@ -175,7 +175,9 @@ function createTree() {
175
175
  ondrop: (ev) => this.handleDrop(ev, node),
176
176
  ondragend: (ev) => this.handleDragEnd(ev, node),
177
177
  }, [
178
- (typeof node.label === "string") ? (0, mithril_1.default)("span", node.label) : node.label,
178
+ (typeof node.label === "string")
179
+ ? (0, mithril_1.default)("span", node.label)
180
+ : node.label,
179
181
  ]),
180
182
  ]),
181
183
  // Any nested children within the item
@@ -188,7 +190,7 @@ function createTree() {
188
190
  enableReordering: attrs.enableReordering,
189
191
  ontoggle: attrs.ontoggle,
190
192
  onclick: attrs.onclick,
191
- reorder: attrs.reorder,
193
+ onreorder: attrs.onreorder,
192
194
  // reorderstart: attrs.reorderstart,
193
195
  // reorderover: attrs.reorderover,
194
196
  // reorderfinish: attrs.reorderfinish,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hypericon/mico",
3
- "version": "0.3.12",
3
+ "version": "0.3.13",
4
4
  "description": "UI components and utilities with Mithril",
5
5
  "author": "Ed Johnson, Hypericon Ltd",
6
6
  "license": "MIT",