Skip to content

Commit 624a544

Browse files
committed
Update regular-table to 0.3.1
1 parent deffb22 commit 624a544

File tree

3 files changed

+30
-12
lines changed

3 files changed

+30
-12
lines changed

packages/perspective-viewer-datagrid/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,9 @@
4040
"dependencies": {
4141
"@finos/perspective": "^0.6.2",
4242
"@finos/perspective-viewer": "^0.6.2",
43-
"regular-table": "=0.2.1"
43+
"regular-table": "=0.3.1"
4444
},
4545
"devDependencies": {
4646
"@finos/perspective-test": "^0.6.2"
4747
}
48-
}
48+
}

packages/perspective-viewer-datagrid/src/js/regular_table_handlers.js

+24-6
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,8 @@ function get_psp_type(metadata) {
8282
}
8383
}
8484

85-
async function sortHandler(regularTable, event) {
86-
const meta = regularTable.getMeta(event.target);
85+
async function sortHandler(regularTable, event, target) {
86+
const meta = regularTable.getMeta(target);
8787
const column_name = meta.column_header[meta.column_header.length - 1];
8888
const sort_method = event.shiftKey ? append_sort : override_sort;
8989
const sort = sort_method.call(this, column_name);
@@ -149,11 +149,23 @@ async function expandCollapseHandler(regularTable, event) {
149149
}
150150

151151
function mousedownListener(regularTable, event) {
152-
if (event.target.classList.contains("psp-tree-label") && event.offsetX < 26) {
152+
if (event.which !== 1) {
153+
return;
154+
}
155+
156+
let target = event.target;
157+
while (target.tagName !== "TD" && target.tagName !== "TH") {
158+
target = target.parentElement;
159+
if (!regularTable.contains(target)) {
160+
return;
161+
}
162+
}
163+
164+
if (target.classList.contains("psp-tree-label") && event.offsetX < 26) {
153165
expandCollapseHandler.call(this, regularTable, event);
154166
event.handled = true;
155-
} else if (event.target.classList.contains("psp-header-leaf") && !event.target.classList.contains("psp-header-corner")) {
156-
sortHandler.call(this, regularTable, event);
167+
} else if (target.classList.contains("psp-header-leaf") && !target.classList.contains("psp-header-corner")) {
168+
sortHandler.call(this, regularTable, event, target);
157169
event.handled = true;
158170
}
159171
}
@@ -257,5 +269,11 @@ export async function createModel(regular, table, view, extend = {}) {
257269
export async function configureRegularTable(regular, model) {
258270
regular.addStyleListener(styleListener.bind(model, regular));
259271
regular.addEventListener("mousedown", mousedownListener.bind(model, regular));
260-
await regular.draw();
272+
try {
273+
await regular.draw();
274+
} catch (e) {
275+
if (e.message !== "View is not initialized") {
276+
throw e;
277+
}
278+
}
261279
}

yarn.lock

+4-4
Original file line numberDiff line numberDiff line change
@@ -14617,10 +14617,10 @@ regjsparser@^0.6.4:
1461714617
dependencies:
1461814618
jsesc "~0.5.0"
1461914619

14620-
regular-table@=0.2.1:
14621-
version "0.2.1"
14622-
resolved "https://registry.yarnpkg.com/regular-table/-/regular-table-0.2.1.tgz#af3d1efeeebe7d8071eda4e0dda689b4683ae156"
14623-
integrity sha512-24cKRtO/Gkj1p16mvqvkqWCTJSngAtFhYea7bax9XzNjTOy2DAF/507bQE+5zjq/qydfFXOUpTjnAjyIC1E5ug==
14620+
regular-table@=0.3.1:
14621+
version "0.3.1"
14622+
resolved "https://registry.yarnpkg.com/regular-table/-/regular-table-0.3.1.tgz#68bb61a8c70c735bd223d2dbac0a1000620068af"
14623+
integrity sha512-wsJF/Jyk5ltpyRiwzbXTomiVso2xIggbB1ZH4gUW4VWIL2zdg21yIp3B0TdKyzyFSYMyayL4lF5f6Sqsa/vn8w==
1462414624

1462514625
[email protected], relateurl@^0.2.7:
1462614626
version "0.2.7"

0 commit comments

Comments
 (0)