polaris_view_components 3.1.0 → 3.1.2
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.
- checksums.yaml +4 -4
- data/app/assets/javascripts/polaris_view_components/data_table_controller.js +31 -20
- data/app/assets/javascripts/polaris_view_components.js +28 -19
- data/app/assets/stylesheets/polaris_view_components/data_table.pcss +10 -3
- data/app/assets/stylesheets/polaris_view_components.css +10 -3
- data/app/components/polaris/data_table_component.rb +0 -1
- data/app/helpers/polaris/form_builder.rb +2 -2
- data/lib/polaris/view_components/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 57a3ea0bb6344a5372061ca2a5b455b9f2d1e854ceb2c0cbeaed82c636d37513
|
|
4
|
+
data.tar.gz: 7365621125e7e887ddf61125746d64486755ad7801b1ce86320125485a88c8f5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e0b9cfa42b552868991e68b4c629290fe603d013272ab81238e95a2327c1988c0501e71032b5d6f9bca2cae9cc15c4df10d1b6f4cdc543da6e890a188fca4e90
|
|
7
|
+
data.tar.gz: f35113d1df4ac772859cb297182172796533786c08511e8d26c57173e1d2f36c709bb5654c751ce1b92e4c19ad0dd22f00a130172ba9229d6639203dff0078b2
|
|
@@ -1,33 +1,44 @@
|
|
|
1
1
|
import { Controller } from "@hotwired/stimulus"
|
|
2
|
+
import { debounce } from "./utils"
|
|
2
3
|
|
|
3
4
|
export default class extends Controller {
|
|
4
|
-
static targets = ["row"]
|
|
5
|
-
|
|
6
5
|
connect() {
|
|
7
|
-
this.
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
this.handleMouseOver = debounce(this.handleMouseOver.bind(this), 50)
|
|
7
|
+
this.handleMouseOut = debounce(this.handleMouseOut.bind(this), 50)
|
|
8
|
+
|
|
9
|
+
this.element.addEventListener("mouseover", this.handleMouseOver)
|
|
10
|
+
this.element.addEventListener("mouseout", this.handleMouseOut)
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
disconnect() {
|
|
14
|
-
this.
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
this.element.removeEventListener("mouseover", this.handleMouseOver)
|
|
15
|
+
this.element.removeEventListener("mouseout", this.handleMouseOut)
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
handleMouseOver(event) {
|
|
19
|
+
const row = event.target.closest(".Polaris-DataTable--hoverable")
|
|
20
|
+
if (row && row !== this.hoveredRow) {
|
|
21
|
+
this.clearHoveredRow()
|
|
22
|
+
this.hoveredRow = row
|
|
23
|
+
row.querySelectorAll(".Polaris-DataTable__Cell").forEach(cell => {
|
|
24
|
+
cell.classList.add("Polaris-DataTable__Cell--hovered")
|
|
25
|
+
})
|
|
26
|
+
}
|
|
18
27
|
}
|
|
19
28
|
|
|
20
|
-
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
29
|
+
handleMouseOut(event) {
|
|
30
|
+
const row = event.target.closest(".Polaris-DataTable--hoverable")
|
|
31
|
+
if (row && !row.contains(event.relatedTarget)) {
|
|
32
|
+
this.clearHoveredRow()
|
|
33
|
+
}
|
|
25
34
|
}
|
|
26
35
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
36
|
+
clearHoveredRow() {
|
|
37
|
+
if (this.hoveredRow) {
|
|
38
|
+
this.hoveredRow.querySelectorAll(".Polaris-DataTable__Cell").forEach(cell => {
|
|
39
|
+
cell.classList.remove("Polaris-DataTable__Cell--hovered")
|
|
40
|
+
})
|
|
41
|
+
this.hoveredRow = null
|
|
42
|
+
}
|
|
32
43
|
}
|
|
33
44
|
}
|
|
@@ -357,30 +357,39 @@ class Collapsible extends Controller {
|
|
|
357
357
|
}
|
|
358
358
|
|
|
359
359
|
class DataTable extends Controller {
|
|
360
|
-
static targets=[ "row" ];
|
|
361
360
|
connect() {
|
|
362
|
-
this.
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
361
|
+
this.handleMouseOver = debounce(this.handleMouseOver.bind(this), 50);
|
|
362
|
+
this.handleMouseOut = debounce(this.handleMouseOut.bind(this), 50);
|
|
363
|
+
this.element.addEventListener("mouseover", this.handleMouseOver);
|
|
364
|
+
this.element.addEventListener("mouseout", this.handleMouseOut);
|
|
366
365
|
}
|
|
367
366
|
disconnect() {
|
|
368
|
-
this.
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
367
|
+
this.element.removeEventListener("mouseover", this.handleMouseOver);
|
|
368
|
+
this.element.removeEventListener("mouseout", this.handleMouseOut);
|
|
369
|
+
}
|
|
370
|
+
handleMouseOver(event) {
|
|
371
|
+
const row = event.target.closest(".Polaris-DataTable--hoverable");
|
|
372
|
+
if (row && row !== this.hoveredRow) {
|
|
373
|
+
this.clearHoveredRow();
|
|
374
|
+
this.hoveredRow = row;
|
|
375
|
+
row.querySelectorAll(".Polaris-DataTable__Cell").forEach((cell => {
|
|
376
|
+
cell.classList.add("Polaris-DataTable__Cell--hovered");
|
|
377
|
+
}));
|
|
378
|
+
}
|
|
372
379
|
}
|
|
373
|
-
|
|
374
|
-
const
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
}
|
|
380
|
+
handleMouseOut(event) {
|
|
381
|
+
const row = event.target.closest(".Polaris-DataTable--hoverable");
|
|
382
|
+
if (row && !row.contains(event.relatedTarget)) {
|
|
383
|
+
this.clearHoveredRow();
|
|
384
|
+
}
|
|
378
385
|
}
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
386
|
+
clearHoveredRow() {
|
|
387
|
+
if (this.hoveredRow) {
|
|
388
|
+
this.hoveredRow.querySelectorAll(".Polaris-DataTable__Cell").forEach((cell => {
|
|
389
|
+
cell.classList.remove("Polaris-DataTable__Cell--hovered");
|
|
390
|
+
}));
|
|
391
|
+
this.hoveredRow = null;
|
|
392
|
+
}
|
|
384
393
|
}
|
|
385
394
|
}
|
|
386
395
|
|
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
html[class~="Polaris-Summer-Editions-2023"] .Polaris-DataTable {
|
|
2
|
-
|
|
2
|
+
.Polaris-DataTable__TableRow {
|
|
3
|
+
content-visibility: auto;
|
|
4
|
+
contain-intrinsic-size: auto 250px;
|
|
5
|
+
}
|
|
3
6
|
.Polaris-DataTable__Cell:not(.Polaris-DataTable__Cell--flush):first-child,
|
|
4
|
-
.Polaris-DataTable__Heading:not(
|
|
7
|
+
.Polaris-DataTable__Heading:not(
|
|
8
|
+
.Polaris-DataTable__Heading--flush
|
|
9
|
+
):first-child {
|
|
5
10
|
padding-left: var(--p-space-400);
|
|
6
11
|
}
|
|
7
12
|
|
|
8
13
|
.Polaris-DataTable__Cell:not(.Polaris-DataTable__Cell--flush):last-child,
|
|
9
|
-
.Polaris-DataTable__Heading:not(
|
|
14
|
+
.Polaris-DataTable__Heading:not(
|
|
15
|
+
.Polaris-DataTable__Heading--flush
|
|
16
|
+
):last-child {
|
|
10
17
|
padding-right: var(--p-space-400);
|
|
11
18
|
}
|
|
12
19
|
}
|
|
@@ -537,11 +537,18 @@
|
|
|
537
537
|
width: 100%;
|
|
538
538
|
}/* Select *//* Fix for Safari bug: https://github.com/baoagency/polaris_view_components/issues/454 */select.Polaris-Select__Input {
|
|
539
539
|
font-weight: 400;
|
|
540
|
-
}html[class~="Polaris-Summer-Editions-2023"] .Polaris-DataTable .Polaris-
|
|
541
|
-
|
|
540
|
+
}html[class~="Polaris-Summer-Editions-2023"] .Polaris-DataTable .Polaris-DataTable__TableRow {
|
|
541
|
+
content-visibility: auto;
|
|
542
|
+
contain-intrinsic-size: auto 250px;
|
|
543
|
+
}html[class~="Polaris-Summer-Editions-2023"] .Polaris-DataTable .Polaris-DataTable__Cell:not(.Polaris-DataTable__Cell--flush):first-child,
|
|
544
|
+
html[class~="Polaris-Summer-Editions-2023"] .Polaris-DataTable .Polaris-DataTable__Heading:not(
|
|
545
|
+
.Polaris-DataTable__Heading--flush
|
|
546
|
+
):first-child {
|
|
542
547
|
padding-left: var(--p-space-400);
|
|
543
548
|
}html[class~="Polaris-Summer-Editions-2023"] .Polaris-DataTable .Polaris-DataTable__Cell:not(.Polaris-DataTable__Cell--flush):last-child,
|
|
544
|
-
html[class~="Polaris-Summer-Editions-2023"] .Polaris-DataTable .Polaris-DataTable__Heading:not(
|
|
549
|
+
html[class~="Polaris-Summer-Editions-2023"] .Polaris-DataTable .Polaris-DataTable__Heading:not(
|
|
550
|
+
.Polaris-DataTable__Heading--flush
|
|
551
|
+
):last-child {
|
|
545
552
|
padding-right: var(--p-space-400);
|
|
546
553
|
}html[class~="Polaris-Summer-Editions-2023"] .Polaris-FooterHelp .Polaris-FooterHelp__Text {
|
|
547
554
|
font-size: var(--p-font-size-325);
|
|
@@ -58,7 +58,7 @@ module Polaris
|
|
|
58
58
|
def polaris_select(method, **options, &block)
|
|
59
59
|
apply_error_options(options, method)
|
|
60
60
|
|
|
61
|
-
value = object
|
|
61
|
+
value = object.public_send(method) if object.respond_to?(method)
|
|
62
62
|
if value.present?
|
|
63
63
|
options[:selected] = value
|
|
64
64
|
end
|
|
@@ -86,7 +86,7 @@ module Polaris
|
|
|
86
86
|
def polaris_collection_check_boxes(method, collection, value_method, text_method, **options, &block)
|
|
87
87
|
apply_error_options(options, method)
|
|
88
88
|
|
|
89
|
-
value = object
|
|
89
|
+
value = object.public_send(method) if object.respond_to?(method)
|
|
90
90
|
if value.present?
|
|
91
91
|
options[:selected] = value.map { |el| el.public_send(value_method) }
|
|
92
92
|
end
|