@openproject/primer-view-components 0.87.1-rc.cfe53ad8a → 0.88.0
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.
|
@@ -15,7 +15,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
15
15
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
16
16
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
17
17
|
};
|
|
18
|
-
var _TreeViewElement_instances, _TreeViewElement_abortController, _TreeViewElement_autoExpandFrom, _TreeViewElement_eventIsActivation, _TreeViewElement_nodeForEvent, _TreeViewElement_handleNodeEvent, _TreeViewElement_eventIsCheckboxToggle, _TreeViewElement_handleCheckboxToggle, _TreeViewElement_eventIsSingleSelection, _TreeViewElement_handleNodeActivated, _TreeViewElement_handleNodeFocused, _TreeViewElement_handleNodeKeyboardEvent;
|
|
18
|
+
var _TreeViewElement_instances, _TreeViewElement_abortController, _TreeViewElement_autoExpandFrom, _TreeViewElement_eventIsActivation, _TreeViewElement_nodeForEvent, _TreeViewElement_handleNodeEvent, _TreeViewElement_eventIsCheckboxToggle, _TreeViewElement_handleCheckboxToggle, _TreeViewElement_eventIsSingleSelection, _TreeViewElement_handleNodeActivated, _TreeViewElement_handleNodeFocused, _TreeViewElement_handleNodeKeyboardEvent, _TreeViewElement_checkNodeOnly;
|
|
19
19
|
import { controller, target } from '@github/catalyst';
|
|
20
20
|
import { useRovingTabIndex } from './tree_view_roving_tab_index';
|
|
21
21
|
let TreeViewElement = class TreeViewElement extends HTMLElement {
|
|
@@ -97,8 +97,8 @@ let TreeViewElement = class TreeViewElement extends HTMLElement {
|
|
|
97
97
|
// behavior for these element types is user- or browser-defined
|
|
98
98
|
if (!(node instanceof HTMLDivElement))
|
|
99
99
|
return;
|
|
100
|
-
const
|
|
101
|
-
const nodeInfo = this.infoFromNode(node,
|
|
100
|
+
const newCheckedValue = this.getNodeCheckedValue(node) === 'true' ? 'false' : 'true';
|
|
101
|
+
const nodeInfo = this.infoFromNode(node, newCheckedValue);
|
|
102
102
|
const checkSuccess = this.dispatchEvent(new CustomEvent('treeViewBeforeNodeChecked', {
|
|
103
103
|
bubbles: true,
|
|
104
104
|
cancelable: true,
|
|
@@ -106,11 +106,11 @@ let TreeViewElement = class TreeViewElement extends HTMLElement {
|
|
|
106
106
|
}));
|
|
107
107
|
if (!checkSuccess)
|
|
108
108
|
return;
|
|
109
|
-
if (
|
|
109
|
+
if (newCheckedValue === 'false') {
|
|
110
110
|
this.setNodeCheckedValue(node, 'false');
|
|
111
111
|
}
|
|
112
112
|
else {
|
|
113
|
-
this.
|
|
113
|
+
__classPrivateFieldGet(this, _TreeViewElement_instances, "m", _TreeViewElement_checkNodeOnly).call(this, node);
|
|
114
114
|
}
|
|
115
115
|
this.dispatchEvent(new CustomEvent('treeViewNodeChecked', {
|
|
116
116
|
bubbles: true,
|
|
@@ -142,7 +142,7 @@ let TreeViewElement = class TreeViewElement extends HTMLElement {
|
|
|
142
142
|
return this.querySelector('[aria-current=true]');
|
|
143
143
|
}
|
|
144
144
|
get activeNodes() {
|
|
145
|
-
return
|
|
145
|
+
return this.querySelectorAll('[aria-checked="true"]');
|
|
146
146
|
}
|
|
147
147
|
expandAtPath(path) {
|
|
148
148
|
const node = this.subTreeAtPath(path);
|
|
@@ -175,10 +175,10 @@ let TreeViewElement = class TreeViewElement extends HTMLElement {
|
|
|
175
175
|
this.setNodeCheckedValue(node, 'false');
|
|
176
176
|
}
|
|
177
177
|
checkOnlyAtPath(path) {
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
this.
|
|
178
|
+
const node = this.nodeAtPath(path);
|
|
179
|
+
if (!node)
|
|
180
|
+
return;
|
|
181
|
+
__classPrivateFieldGet(this, _TreeViewElement_instances, "m", _TreeViewElement_checkNodeOnly).call(this, node);
|
|
182
182
|
}
|
|
183
183
|
toggleCheckedAtPath(path) {
|
|
184
184
|
const node = this.nodeAtPath(path);
|
|
@@ -286,6 +286,9 @@ let TreeViewElement = class TreeViewElement extends HTMLElement {
|
|
|
286
286
|
const payload = {
|
|
287
287
|
path: this.getNodePath(node),
|
|
288
288
|
};
|
|
289
|
+
const nodeId = node.getAttribute('data-node-id');
|
|
290
|
+
if (nodeId)
|
|
291
|
+
payload.nodeId = nodeId;
|
|
289
292
|
const inputValue = this.getFormInputValueForNode(node);
|
|
290
293
|
if (inputValue)
|
|
291
294
|
payload.value = inputValue;
|
|
@@ -424,7 +427,12 @@ _TreeViewElement_handleNodeKeyboardEvent = function _TreeViewElement_handleNodeK
|
|
|
424
427
|
}
|
|
425
428
|
else if (this.selectVariant(node) === 'single') {
|
|
426
429
|
event.preventDefault();
|
|
427
|
-
|
|
430
|
+
if (this.getNodeCheckedValue(node) === 'true') {
|
|
431
|
+
this.setNodeCheckedValue(node, 'false');
|
|
432
|
+
}
|
|
433
|
+
else {
|
|
434
|
+
__classPrivateFieldGet(this, _TreeViewElement_instances, "m", _TreeViewElement_checkNodeOnly).call(this, node);
|
|
435
|
+
}
|
|
428
436
|
}
|
|
429
437
|
else if (node instanceof HTMLAnchorElement) {
|
|
430
438
|
// simulate click on space
|
|
@@ -433,6 +441,14 @@ _TreeViewElement_handleNodeKeyboardEvent = function _TreeViewElement_handleNodeK
|
|
|
433
441
|
break;
|
|
434
442
|
}
|
|
435
443
|
};
|
|
444
|
+
_TreeViewElement_checkNodeOnly = function _TreeViewElement_checkNodeOnly(node) {
|
|
445
|
+
for (const el of this.activeNodes) {
|
|
446
|
+
if (el === node)
|
|
447
|
+
continue;
|
|
448
|
+
this.setNodeCheckedValue(el, 'false');
|
|
449
|
+
}
|
|
450
|
+
this.setNodeCheckedValue(node, 'true');
|
|
451
|
+
};
|
|
436
452
|
__decorate([
|
|
437
453
|
target
|
|
438
454
|
], TreeViewElement.prototype, "formInputContainer", void 0);
|
|
@@ -224,6 +224,7 @@ _FilterableTreeViewElement_updateCheckedNodeIds = function _FilterableTreeViewEl
|
|
|
224
224
|
}
|
|
225
225
|
__classPrivateFieldGet(this, _FilterableTreeViewElement_checkedNodeIds, "f").set(nodeId, nodeInfo.checkedValue);
|
|
226
226
|
const payload = { path: nodeInfo.path };
|
|
227
|
+
payload.nodeId = nodeId;
|
|
227
228
|
const dataValue = node.getAttribute('data-value');
|
|
228
229
|
if (dataValue)
|
|
229
230
|
payload.value = dataValue;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openproject/primer-view-components",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.88.0",
|
|
4
4
|
"description": "ViewComponents of the Primer Design System for OpenProject",
|
|
5
5
|
"main": "app/assets/javascripts/primer_view_components.js",
|
|
6
6
|
"module": "app/components/primer/primer.js",
|