@wordpress/dataviews 0.8.0 → 1.0.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.
- package/CHANGELOG.md +16 -0
- package/README.md +3 -13
- package/build/add-filter.js.map +1 -1
- package/build/bulk-actions.js.map +1 -1
- package/build/constants.js +1 -4
- package/build/constants.js.map +1 -1
- package/build/dataviews.js +3 -17
- package/build/dataviews.js.map +1 -1
- package/build/dropdown-menu-helper.js.map +1 -1
- package/build/filter-and-sort-data-view.js +147 -0
- package/build/filter-and-sort-data-view.js.map +1 -0
- package/build/filter-summary.js +4 -2
- package/build/filter-summary.js.map +1 -1
- package/build/filters.js +11 -17
- package/build/filters.js.map +1 -1
- package/build/index.js +3 -9
- package/build/index.js.map +1 -1
- package/build/item-actions.js.map +1 -1
- package/build/lock-unlock.js.map +1 -1
- package/build/normalize-fields.js +25 -0
- package/build/normalize-fields.js.map +1 -0
- package/build/pagination.js.map +1 -1
- package/build/reset-filters.js.map +1 -1
- package/build/search-widget.js +5 -4
- package/build/search-widget.js.map +1 -1
- package/build/search.js.map +1 -1
- package/build/single-selection-checkbox.js +1 -1
- package/build/single-selection-checkbox.js.map +1 -1
- package/build/utils.js +1 -65
- package/build/utils.js.map +1 -1
- package/build/view-actions.js.map +1 -1
- package/build/view-grid.js +57 -19
- package/build/view-grid.js.map +1 -1
- package/build/view-list.js +112 -66
- package/build/view-list.js.map +1 -1
- package/build/view-table.js +32 -24
- package/build/view-table.js.map +1 -1
- package/build-module/add-filter.js.map +1 -1
- package/build-module/bulk-actions.js.map +1 -1
- package/build-module/constants.js +0 -3
- package/build-module/constants.js.map +1 -1
- package/build-module/dataviews.js +3 -17
- package/build-module/dataviews.js.map +1 -1
- package/build-module/dropdown-menu-helper.js.map +1 -1
- package/build-module/filter-and-sort-data-view.js +139 -0
- package/build-module/filter-and-sort-data-view.js.map +1 -0
- package/build-module/filter-summary.js +3 -2
- package/build-module/filter-summary.js.map +1 -1
- package/build-module/filters.js +12 -18
- package/build-module/filters.js.map +1 -1
- package/build-module/index.js +1 -1
- package/build-module/index.js.map +1 -1
- package/build-module/item-actions.js.map +1 -1
- package/build-module/lock-unlock.js.map +1 -1
- package/build-module/normalize-fields.js +19 -0
- package/build-module/normalize-fields.js.map +1 -0
- package/build-module/pagination.js.map +1 -1
- package/build-module/reset-filters.js.map +1 -1
- package/build-module/search-widget.js +4 -3
- package/build-module/search-widget.js.map +1 -1
- package/build-module/search.js.map +1 -1
- package/build-module/single-selection-checkbox.js +1 -1
- package/build-module/single-selection-checkbox.js.map +1 -1
- package/build-module/utils.js +0 -63
- package/build-module/utils.js.map +1 -1
- package/build-module/view-actions.js.map +1 -1
- package/build-module/view-grid.js +58 -20
- package/build-module/view-grid.js.map +1 -1
- package/build-module/view-list.js +114 -68
- package/build-module/view-list.js.map +1 -1
- package/build-module/view-table.js +33 -25
- package/build-module/view-table.js.map +1 -1
- package/build-style/style-rtl.css +75 -39
- package/build-style/style.css +75 -39
- package/package.json +11 -11
- package/src/constants.js +0 -3
- package/src/dataviews.js +2 -16
- package/src/filter-and-sort-data-view.js +154 -0
- package/src/filter-summary.js +4 -4
- package/src/filters.js +20 -32
- package/src/index.js +1 -1
- package/src/normalize-fields.js +17 -0
- package/src/search-widget.js +4 -3
- package/src/single-selection-checkbox.js +1 -1
- package/src/stories/fixtures.js +75 -1
- package/src/stories/index.story.js +5 -113
- package/src/style.scss +89 -49
- package/src/test/filter-and-sort-data-view.js +276 -0
- package/src/utils.js +0 -52
- package/src/view-grid.js +97 -36
- package/src/view-list.js +147 -77
- package/src/view-table.js +36 -24
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
--wp-admin-border-width-focus: 2px;
|
|
97
97
|
--wp-block-synced-color: #7a00df;
|
|
98
98
|
--wp-block-synced-color--rgb: 122, 0, 223;
|
|
99
|
-
--wp-bound-block-color:
|
|
99
|
+
--wp-bound-block-color: var(--wp-block-synced-color);
|
|
100
100
|
}
|
|
101
101
|
@media (min-resolution: 192dpi) {
|
|
102
102
|
:root {
|
|
@@ -191,10 +191,6 @@
|
|
|
191
191
|
.dataviews-view-table th.dataviews-view-table__checkbox-column {
|
|
192
192
|
padding-left: 0;
|
|
193
193
|
}
|
|
194
|
-
.dataviews-view-table td .components-checkbox-control__input-container,
|
|
195
|
-
.dataviews-view-table th .components-checkbox-control__input-container {
|
|
196
|
-
margin: 4px;
|
|
197
|
-
}
|
|
198
194
|
.dataviews-view-table tr {
|
|
199
195
|
border-bottom: 1px solid #f0f0f0;
|
|
200
196
|
}
|
|
@@ -236,6 +232,12 @@
|
|
|
236
232
|
.dataviews-view-table tr:hover .dataviews-item-actions .components-button:not(.dataviews-all-actions-button) {
|
|
237
233
|
opacity: 1;
|
|
238
234
|
}
|
|
235
|
+
@media (hover: none) {
|
|
236
|
+
.dataviews-view-table tr .components-checkbox-control__input.components-checkbox-control__input,
|
|
237
|
+
.dataviews-view-table tr .dataviews-item-actions .components-button:not(.dataviews-all-actions-button) {
|
|
238
|
+
opacity: 1;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
239
241
|
.dataviews-view-table tr.is-selected {
|
|
240
242
|
background-color: rgba(var(--wp-admin-theme-color--rgb), 0.04);
|
|
241
243
|
color: #757575;
|
|
@@ -272,6 +274,9 @@
|
|
|
272
274
|
.dataviews-view-table tbody .dataviews-view-table__cell-content-wrapper > * {
|
|
273
275
|
flex-grow: 1;
|
|
274
276
|
}
|
|
277
|
+
.dataviews-view-table tbody .dataviews-view-table__cell-content-wrapper.dataviews-view-table__primary-field a {
|
|
278
|
+
flex-grow: 0;
|
|
279
|
+
}
|
|
275
280
|
.dataviews-view-table .dataviews-view-table-header-button {
|
|
276
281
|
padding: 4px 8px;
|
|
277
282
|
font-size: 11px;
|
|
@@ -302,7 +307,7 @@
|
|
|
302
307
|
.dataviews-view-table__primary-field {
|
|
303
308
|
font-size: 13px;
|
|
304
309
|
font-weight: 500;
|
|
305
|
-
color: #
|
|
310
|
+
color: #757575;
|
|
306
311
|
text-overflow: ellipsis;
|
|
307
312
|
white-space: nowrap;
|
|
308
313
|
display: block;
|
|
@@ -312,17 +317,17 @@
|
|
|
312
317
|
.dataviews-view-grid__primary-field a,
|
|
313
318
|
.dataviews-view-table__primary-field a {
|
|
314
319
|
text-decoration: none;
|
|
315
|
-
color: inherit;
|
|
316
320
|
text-overflow: ellipsis;
|
|
317
321
|
white-space: nowrap;
|
|
318
322
|
overflow: hidden;
|
|
319
323
|
display: block;
|
|
320
|
-
|
|
324
|
+
flex-grow: 0;
|
|
325
|
+
color: #1e1e1e;
|
|
321
326
|
}
|
|
322
327
|
.dataviews-view-list__primary-field a:hover,
|
|
323
328
|
.dataviews-view-grid__primary-field a:hover,
|
|
324
329
|
.dataviews-view-table__primary-field a:hover {
|
|
325
|
-
color:
|
|
330
|
+
color: var(--wp-admin-theme-color);
|
|
326
331
|
}
|
|
327
332
|
.dataviews-view-list__primary-field a:focus,
|
|
328
333
|
.dataviews-view-grid__primary-field a:focus,
|
|
@@ -335,13 +340,18 @@
|
|
|
335
340
|
.dataviews-view-grid__primary-field button.components-button.is-link,
|
|
336
341
|
.dataviews-view-table__primary-field button.components-button.is-link {
|
|
337
342
|
text-decoration: none;
|
|
338
|
-
color: inherit;
|
|
339
343
|
font-weight: inherit;
|
|
340
344
|
text-overflow: ellipsis;
|
|
341
345
|
white-space: nowrap;
|
|
342
346
|
overflow: hidden;
|
|
343
347
|
display: block;
|
|
344
348
|
width: 100%;
|
|
349
|
+
color: #1e1e1e;
|
|
350
|
+
}
|
|
351
|
+
.dataviews-view-list__primary-field button.components-button.is-link:hover,
|
|
352
|
+
.dataviews-view-grid__primary-field button.components-button.is-link:hover,
|
|
353
|
+
.dataviews-view-table__primary-field button.components-button.is-link:hover {
|
|
354
|
+
color: var(--wp-admin-theme-color);
|
|
345
355
|
}
|
|
346
356
|
|
|
347
357
|
.dataviews-view-grid {
|
|
@@ -398,12 +408,43 @@
|
|
|
398
408
|
line-height: 16px;
|
|
399
409
|
}
|
|
400
410
|
.dataviews-view-grid .dataviews-view-grid__fields:not(:empty) {
|
|
401
|
-
padding: 12px;
|
|
411
|
+
padding: 12px 0;
|
|
402
412
|
padding-top: 0;
|
|
413
|
+
margin: 0 12px;
|
|
414
|
+
}
|
|
415
|
+
.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field {
|
|
416
|
+
align-items: flex-start;
|
|
417
|
+
}
|
|
418
|
+
.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field:not(.is-column) {
|
|
419
|
+
align-items: center;
|
|
403
420
|
}
|
|
404
|
-
.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field .dataviews-view-grid__field-
|
|
421
|
+
.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field:not(.is-column) .dataviews-view-grid__field-name {
|
|
422
|
+
width: 35%;
|
|
423
|
+
}
|
|
424
|
+
.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field:not(.is-column) .dataviews-view-grid__field-value {
|
|
425
|
+
width: 65%;
|
|
426
|
+
overflow: hidden;
|
|
427
|
+
text-overflow: ellipsis;
|
|
428
|
+
white-space: nowrap;
|
|
429
|
+
}
|
|
430
|
+
.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field .dataviews-view-grid__field-name {
|
|
405
431
|
color: #757575;
|
|
406
432
|
}
|
|
433
|
+
.dataviews-view-grid .dataviews-view-grid__badge-fields:not(:empty) {
|
|
434
|
+
padding: 12px;
|
|
435
|
+
padding-top: 0;
|
|
436
|
+
}
|
|
437
|
+
.dataviews-view-grid .dataviews-view-grid__badge-fields .dataviews-view-grid__field-value {
|
|
438
|
+
width: -moz-fit-content;
|
|
439
|
+
width: fit-content;
|
|
440
|
+
background: #f0f0f0;
|
|
441
|
+
padding: 0 8px;
|
|
442
|
+
min-height: 24px;
|
|
443
|
+
border-radius: 2px;
|
|
444
|
+
display: flex;
|
|
445
|
+
align-items: center;
|
|
446
|
+
font-size: 12px;
|
|
447
|
+
}
|
|
407
448
|
|
|
408
449
|
.dataviews-view-list {
|
|
409
450
|
margin: 0;
|
|
@@ -411,6 +452,7 @@
|
|
|
411
452
|
}
|
|
412
453
|
.dataviews-view-list li {
|
|
413
454
|
margin: 0;
|
|
455
|
+
cursor: pointer;
|
|
414
456
|
}
|
|
415
457
|
.dataviews-view-list li .dataviews-view-list__item-wrapper {
|
|
416
458
|
position: relative;
|
|
@@ -426,11 +468,18 @@
|
|
|
426
468
|
background: #f0f0f0;
|
|
427
469
|
height: 1px;
|
|
428
470
|
}
|
|
429
|
-
.dataviews-view-list li
|
|
471
|
+
.dataviews-view-list li .dataviews-view-list__item-wrapper > * {
|
|
472
|
+
width: 100%;
|
|
473
|
+
}
|
|
474
|
+
.dataviews-view-list li:not(.is-selected) .dataviews-view-list__primary-field {
|
|
475
|
+
color: #1e1e1e;
|
|
476
|
+
}
|
|
477
|
+
.dataviews-view-list li:not(.is-selected):hover, .dataviews-view-list li:not(.is-selected):focus-within {
|
|
430
478
|
color: var(--wp-admin-theme-color);
|
|
431
479
|
}
|
|
432
480
|
.dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__primary-field,
|
|
433
|
-
.dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__fields
|
|
481
|
+
.dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__fields, .dataviews-view-list li:not(.is-selected):focus-within .dataviews-view-list__primary-field,
|
|
482
|
+
.dataviews-view-list li:not(.is-selected):focus-within .dataviews-view-list__fields {
|
|
434
483
|
color: var(--wp-admin-theme-color);
|
|
435
484
|
}
|
|
436
485
|
.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper,
|
|
@@ -453,9 +502,9 @@
|
|
|
453
502
|
.dataviews-view-list .dataviews-view-list__item {
|
|
454
503
|
padding: 12px 24px 12px 0;
|
|
455
504
|
width: 100%;
|
|
456
|
-
|
|
505
|
+
scroll-margin: 8px 0;
|
|
457
506
|
}
|
|
458
|
-
.dataviews-view-list .dataviews-view-list__item:focus::before {
|
|
507
|
+
.dataviews-view-list .dataviews-view-list__item:focus-visible::before {
|
|
459
508
|
position: absolute;
|
|
460
509
|
content: "";
|
|
461
510
|
top: -1px;
|
|
@@ -468,6 +517,7 @@
|
|
|
468
517
|
}
|
|
469
518
|
.dataviews-view-list .dataviews-view-list__item .dataviews-view-list__primary-field {
|
|
470
519
|
min-height: 20px;
|
|
520
|
+
overflow: hidden;
|
|
471
521
|
}
|
|
472
522
|
.dataviews-view-list .dataviews-view-list__media-wrapper {
|
|
473
523
|
width: 40px;
|
|
@@ -506,24 +556,12 @@
|
|
|
506
556
|
font-size: 12px;
|
|
507
557
|
line-height: 16px;
|
|
508
558
|
}
|
|
509
|
-
.dataviews-view-list .dataviews-view-list__fields .dataviews-view-list__field:empty {
|
|
559
|
+
.dataviews-view-list .dataviews-view-list__fields .dataviews-view-list__field:has(.dataviews-view-list__field-value:empty) {
|
|
510
560
|
display: none;
|
|
511
561
|
}
|
|
512
562
|
.dataviews-view-list + .dataviews-pagination {
|
|
513
563
|
justify-content: space-between;
|
|
514
564
|
}
|
|
515
|
-
.dataviews-view-list .dataviews-view-list__details-button {
|
|
516
|
-
align-self: center;
|
|
517
|
-
opacity: 0;
|
|
518
|
-
}
|
|
519
|
-
.dataviews-view-list li.is-selected .dataviews-view-list__details-button,
|
|
520
|
-
.dataviews-view-list li:hover .dataviews-view-list__details-button,
|
|
521
|
-
.dataviews-view-list li:focus-within .dataviews-view-list__details-button {
|
|
522
|
-
opacity: 1;
|
|
523
|
-
}
|
|
524
|
-
.dataviews-view-list li.is-selected .dataviews-view-list__details-button:focus {
|
|
525
|
-
box-shadow: 0 0 0 var(--wp-admin-border-width-focus) currentColor;
|
|
526
|
-
}
|
|
527
565
|
|
|
528
566
|
.dataviews-action-modal {
|
|
529
567
|
z-index: 1000001;
|
|
@@ -538,16 +576,14 @@
|
|
|
538
576
|
justify-content: center;
|
|
539
577
|
}
|
|
540
578
|
|
|
541
|
-
.dataviews-view-table-selection-checkbox
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
white-space: nowrap;
|
|
550
|
-
border: 0;
|
|
579
|
+
.dataviews-view-table-selection-checkbox {
|
|
580
|
+
--checkbox-input-size: 24px;
|
|
581
|
+
line-height: 0;
|
|
582
|
+
}
|
|
583
|
+
@media (min-width: 600px) {
|
|
584
|
+
.dataviews-view-table-selection-checkbox {
|
|
585
|
+
--checkbox-input-size: 16px;
|
|
586
|
+
}
|
|
551
587
|
}
|
|
552
588
|
|
|
553
589
|
.dataviews-filters__custom-menu-radio-item-prefix {
|
package/build-style/style.css
CHANGED
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
--wp-admin-border-width-focus: 2px;
|
|
97
97
|
--wp-block-synced-color: #7a00df;
|
|
98
98
|
--wp-block-synced-color--rgb: 122, 0, 223;
|
|
99
|
-
--wp-bound-block-color:
|
|
99
|
+
--wp-bound-block-color: var(--wp-block-synced-color);
|
|
100
100
|
}
|
|
101
101
|
@media (min-resolution: 192dpi) {
|
|
102
102
|
:root {
|
|
@@ -191,10 +191,6 @@
|
|
|
191
191
|
.dataviews-view-table th.dataviews-view-table__checkbox-column {
|
|
192
192
|
padding-right: 0;
|
|
193
193
|
}
|
|
194
|
-
.dataviews-view-table td .components-checkbox-control__input-container,
|
|
195
|
-
.dataviews-view-table th .components-checkbox-control__input-container {
|
|
196
|
-
margin: 4px;
|
|
197
|
-
}
|
|
198
194
|
.dataviews-view-table tr {
|
|
199
195
|
border-bottom: 1px solid #f0f0f0;
|
|
200
196
|
}
|
|
@@ -236,6 +232,12 @@
|
|
|
236
232
|
.dataviews-view-table tr:hover .dataviews-item-actions .components-button:not(.dataviews-all-actions-button) {
|
|
237
233
|
opacity: 1;
|
|
238
234
|
}
|
|
235
|
+
@media (hover: none) {
|
|
236
|
+
.dataviews-view-table tr .components-checkbox-control__input.components-checkbox-control__input,
|
|
237
|
+
.dataviews-view-table tr .dataviews-item-actions .components-button:not(.dataviews-all-actions-button) {
|
|
238
|
+
opacity: 1;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
239
241
|
.dataviews-view-table tr.is-selected {
|
|
240
242
|
background-color: rgba(var(--wp-admin-theme-color--rgb), 0.04);
|
|
241
243
|
color: #757575;
|
|
@@ -272,6 +274,9 @@
|
|
|
272
274
|
.dataviews-view-table tbody .dataviews-view-table__cell-content-wrapper > * {
|
|
273
275
|
flex-grow: 1;
|
|
274
276
|
}
|
|
277
|
+
.dataviews-view-table tbody .dataviews-view-table__cell-content-wrapper.dataviews-view-table__primary-field a {
|
|
278
|
+
flex-grow: 0;
|
|
279
|
+
}
|
|
275
280
|
.dataviews-view-table .dataviews-view-table-header-button {
|
|
276
281
|
padding: 4px 8px;
|
|
277
282
|
font-size: 11px;
|
|
@@ -302,7 +307,7 @@
|
|
|
302
307
|
.dataviews-view-table__primary-field {
|
|
303
308
|
font-size: 13px;
|
|
304
309
|
font-weight: 500;
|
|
305
|
-
color: #
|
|
310
|
+
color: #757575;
|
|
306
311
|
text-overflow: ellipsis;
|
|
307
312
|
white-space: nowrap;
|
|
308
313
|
display: block;
|
|
@@ -312,17 +317,17 @@
|
|
|
312
317
|
.dataviews-view-grid__primary-field a,
|
|
313
318
|
.dataviews-view-table__primary-field a {
|
|
314
319
|
text-decoration: none;
|
|
315
|
-
color: inherit;
|
|
316
320
|
text-overflow: ellipsis;
|
|
317
321
|
white-space: nowrap;
|
|
318
322
|
overflow: hidden;
|
|
319
323
|
display: block;
|
|
320
|
-
|
|
324
|
+
flex-grow: 0;
|
|
325
|
+
color: #1e1e1e;
|
|
321
326
|
}
|
|
322
327
|
.dataviews-view-list__primary-field a:hover,
|
|
323
328
|
.dataviews-view-grid__primary-field a:hover,
|
|
324
329
|
.dataviews-view-table__primary-field a:hover {
|
|
325
|
-
color:
|
|
330
|
+
color: var(--wp-admin-theme-color);
|
|
326
331
|
}
|
|
327
332
|
.dataviews-view-list__primary-field a:focus,
|
|
328
333
|
.dataviews-view-grid__primary-field a:focus,
|
|
@@ -335,13 +340,18 @@
|
|
|
335
340
|
.dataviews-view-grid__primary-field button.components-button.is-link,
|
|
336
341
|
.dataviews-view-table__primary-field button.components-button.is-link {
|
|
337
342
|
text-decoration: none;
|
|
338
|
-
color: inherit;
|
|
339
343
|
font-weight: inherit;
|
|
340
344
|
text-overflow: ellipsis;
|
|
341
345
|
white-space: nowrap;
|
|
342
346
|
overflow: hidden;
|
|
343
347
|
display: block;
|
|
344
348
|
width: 100%;
|
|
349
|
+
color: #1e1e1e;
|
|
350
|
+
}
|
|
351
|
+
.dataviews-view-list__primary-field button.components-button.is-link:hover,
|
|
352
|
+
.dataviews-view-grid__primary-field button.components-button.is-link:hover,
|
|
353
|
+
.dataviews-view-table__primary-field button.components-button.is-link:hover {
|
|
354
|
+
color: var(--wp-admin-theme-color);
|
|
345
355
|
}
|
|
346
356
|
|
|
347
357
|
.dataviews-view-grid {
|
|
@@ -398,12 +408,43 @@
|
|
|
398
408
|
line-height: 16px;
|
|
399
409
|
}
|
|
400
410
|
.dataviews-view-grid .dataviews-view-grid__fields:not(:empty) {
|
|
401
|
-
padding: 12px;
|
|
411
|
+
padding: 12px 0;
|
|
402
412
|
padding-top: 0;
|
|
413
|
+
margin: 0 12px;
|
|
414
|
+
}
|
|
415
|
+
.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field {
|
|
416
|
+
align-items: flex-start;
|
|
417
|
+
}
|
|
418
|
+
.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field:not(.is-column) {
|
|
419
|
+
align-items: center;
|
|
403
420
|
}
|
|
404
|
-
.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field .dataviews-view-grid__field-
|
|
421
|
+
.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field:not(.is-column) .dataviews-view-grid__field-name {
|
|
422
|
+
width: 35%;
|
|
423
|
+
}
|
|
424
|
+
.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field:not(.is-column) .dataviews-view-grid__field-value {
|
|
425
|
+
width: 65%;
|
|
426
|
+
overflow: hidden;
|
|
427
|
+
text-overflow: ellipsis;
|
|
428
|
+
white-space: nowrap;
|
|
429
|
+
}
|
|
430
|
+
.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field .dataviews-view-grid__field-name {
|
|
405
431
|
color: #757575;
|
|
406
432
|
}
|
|
433
|
+
.dataviews-view-grid .dataviews-view-grid__badge-fields:not(:empty) {
|
|
434
|
+
padding: 12px;
|
|
435
|
+
padding-top: 0;
|
|
436
|
+
}
|
|
437
|
+
.dataviews-view-grid .dataviews-view-grid__badge-fields .dataviews-view-grid__field-value {
|
|
438
|
+
width: -moz-fit-content;
|
|
439
|
+
width: fit-content;
|
|
440
|
+
background: #f0f0f0;
|
|
441
|
+
padding: 0 8px;
|
|
442
|
+
min-height: 24px;
|
|
443
|
+
border-radius: 2px;
|
|
444
|
+
display: flex;
|
|
445
|
+
align-items: center;
|
|
446
|
+
font-size: 12px;
|
|
447
|
+
}
|
|
407
448
|
|
|
408
449
|
.dataviews-view-list {
|
|
409
450
|
margin: 0;
|
|
@@ -411,6 +452,7 @@
|
|
|
411
452
|
}
|
|
412
453
|
.dataviews-view-list li {
|
|
413
454
|
margin: 0;
|
|
455
|
+
cursor: pointer;
|
|
414
456
|
}
|
|
415
457
|
.dataviews-view-list li .dataviews-view-list__item-wrapper {
|
|
416
458
|
position: relative;
|
|
@@ -426,11 +468,18 @@
|
|
|
426
468
|
background: #f0f0f0;
|
|
427
469
|
height: 1px;
|
|
428
470
|
}
|
|
429
|
-
.dataviews-view-list li
|
|
471
|
+
.dataviews-view-list li .dataviews-view-list__item-wrapper > * {
|
|
472
|
+
width: 100%;
|
|
473
|
+
}
|
|
474
|
+
.dataviews-view-list li:not(.is-selected) .dataviews-view-list__primary-field {
|
|
475
|
+
color: #1e1e1e;
|
|
476
|
+
}
|
|
477
|
+
.dataviews-view-list li:not(.is-selected):hover, .dataviews-view-list li:not(.is-selected):focus-within {
|
|
430
478
|
color: var(--wp-admin-theme-color);
|
|
431
479
|
}
|
|
432
480
|
.dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__primary-field,
|
|
433
|
-
.dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__fields
|
|
481
|
+
.dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__fields, .dataviews-view-list li:not(.is-selected):focus-within .dataviews-view-list__primary-field,
|
|
482
|
+
.dataviews-view-list li:not(.is-selected):focus-within .dataviews-view-list__fields {
|
|
434
483
|
color: var(--wp-admin-theme-color);
|
|
435
484
|
}
|
|
436
485
|
.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper,
|
|
@@ -453,9 +502,9 @@
|
|
|
453
502
|
.dataviews-view-list .dataviews-view-list__item {
|
|
454
503
|
padding: 12px 0 12px 24px;
|
|
455
504
|
width: 100%;
|
|
456
|
-
|
|
505
|
+
scroll-margin: 8px 0;
|
|
457
506
|
}
|
|
458
|
-
.dataviews-view-list .dataviews-view-list__item:focus::before {
|
|
507
|
+
.dataviews-view-list .dataviews-view-list__item:focus-visible::before {
|
|
459
508
|
position: absolute;
|
|
460
509
|
content: "";
|
|
461
510
|
top: -1px;
|
|
@@ -468,6 +517,7 @@
|
|
|
468
517
|
}
|
|
469
518
|
.dataviews-view-list .dataviews-view-list__item .dataviews-view-list__primary-field {
|
|
470
519
|
min-height: 20px;
|
|
520
|
+
overflow: hidden;
|
|
471
521
|
}
|
|
472
522
|
.dataviews-view-list .dataviews-view-list__media-wrapper {
|
|
473
523
|
width: 40px;
|
|
@@ -506,24 +556,12 @@
|
|
|
506
556
|
font-size: 12px;
|
|
507
557
|
line-height: 16px;
|
|
508
558
|
}
|
|
509
|
-
.dataviews-view-list .dataviews-view-list__fields .dataviews-view-list__field:empty {
|
|
559
|
+
.dataviews-view-list .dataviews-view-list__fields .dataviews-view-list__field:has(.dataviews-view-list__field-value:empty) {
|
|
510
560
|
display: none;
|
|
511
561
|
}
|
|
512
562
|
.dataviews-view-list + .dataviews-pagination {
|
|
513
563
|
justify-content: space-between;
|
|
514
564
|
}
|
|
515
|
-
.dataviews-view-list .dataviews-view-list__details-button {
|
|
516
|
-
align-self: center;
|
|
517
|
-
opacity: 0;
|
|
518
|
-
}
|
|
519
|
-
.dataviews-view-list li.is-selected .dataviews-view-list__details-button,
|
|
520
|
-
.dataviews-view-list li:hover .dataviews-view-list__details-button,
|
|
521
|
-
.dataviews-view-list li:focus-within .dataviews-view-list__details-button {
|
|
522
|
-
opacity: 1;
|
|
523
|
-
}
|
|
524
|
-
.dataviews-view-list li.is-selected .dataviews-view-list__details-button:focus {
|
|
525
|
-
box-shadow: 0 0 0 var(--wp-admin-border-width-focus) currentColor;
|
|
526
|
-
}
|
|
527
565
|
|
|
528
566
|
.dataviews-action-modal {
|
|
529
567
|
z-index: 1000001;
|
|
@@ -538,16 +576,14 @@
|
|
|
538
576
|
justify-content: center;
|
|
539
577
|
}
|
|
540
578
|
|
|
541
|
-
.dataviews-view-table-selection-checkbox
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
white-space: nowrap;
|
|
550
|
-
border: 0;
|
|
579
|
+
.dataviews-view-table-selection-checkbox {
|
|
580
|
+
--checkbox-input-size: 24px;
|
|
581
|
+
line-height: 0;
|
|
582
|
+
}
|
|
583
|
+
@media (min-width: 600px) {
|
|
584
|
+
.dataviews-view-table-selection-checkbox {
|
|
585
|
+
--checkbox-input-size: 16px;
|
|
586
|
+
}
|
|
551
587
|
}
|
|
552
588
|
|
|
553
589
|
.dataviews-filters__custom-menu-radio-item-prefix {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/dataviews",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "DataViews is a component that provides an API to render datasets using different types of layouts (table, grid, list, etc.).",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -29,15 +29,15 @@
|
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@ariakit/react": "^0.3.12",
|
|
31
31
|
"@babel/runtime": "^7.16.0",
|
|
32
|
-
"@wordpress/a11y": "^3.
|
|
33
|
-
"@wordpress/components": "^27.
|
|
34
|
-
"@wordpress/compose": "^6.
|
|
35
|
-
"@wordpress/element": "^5.
|
|
36
|
-
"@wordpress/i18n": "^4.
|
|
37
|
-
"@wordpress/icons": "^9.
|
|
38
|
-
"@wordpress/keycodes": "^3.
|
|
39
|
-
"@wordpress/primitives": "^3.
|
|
40
|
-
"@wordpress/private-apis": "^0.
|
|
32
|
+
"@wordpress/a11y": "^3.56.0",
|
|
33
|
+
"@wordpress/components": "^27.4.0",
|
|
34
|
+
"@wordpress/compose": "^6.33.0",
|
|
35
|
+
"@wordpress/element": "^5.33.0",
|
|
36
|
+
"@wordpress/i18n": "^4.56.0",
|
|
37
|
+
"@wordpress/icons": "^9.47.0",
|
|
38
|
+
"@wordpress/keycodes": "^3.56.0",
|
|
39
|
+
"@wordpress/primitives": "^3.54.0",
|
|
40
|
+
"@wordpress/private-apis": "^0.38.0",
|
|
41
41
|
"classnames": "^2.3.1",
|
|
42
42
|
"remove-accents": "^0.5.0"
|
|
43
43
|
},
|
|
@@ -47,5 +47,5 @@
|
|
|
47
47
|
"publishConfig": {
|
|
48
48
|
"access": "public"
|
|
49
49
|
},
|
|
50
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "280403b4c1cf6cc2c55a6c4d56f9ef91145e4191"
|
|
51
51
|
}
|
package/src/constants.js
CHANGED
|
@@ -16,9 +16,6 @@ import ViewTable from './view-table';
|
|
|
16
16
|
import ViewGrid from './view-grid';
|
|
17
17
|
import ViewList from './view-list';
|
|
18
18
|
|
|
19
|
-
// Field types.
|
|
20
|
-
export const ENUMERATION_TYPE = 'enumeration';
|
|
21
|
-
|
|
22
19
|
// Filter operators.
|
|
23
20
|
export const OPERATOR_IS = 'is';
|
|
24
21
|
export const OPERATOR_IS_NOT = 'isNot';
|
package/src/dataviews.js
CHANGED
|
@@ -13,6 +13,7 @@ import Filters from './filters';
|
|
|
13
13
|
import Search from './search';
|
|
14
14
|
import { VIEW_LAYOUTS, LAYOUT_TABLE, LAYOUT_GRID } from './constants';
|
|
15
15
|
import BulkActions from './bulk-actions';
|
|
16
|
+
import { normalizeFields } from './normalize-fields';
|
|
16
17
|
|
|
17
18
|
const defaultGetItemId = ( item ) => item.id;
|
|
18
19
|
const defaultOnSelectionChange = () => {};
|
|
@@ -40,8 +41,6 @@ export default function DataViews( {
|
|
|
40
41
|
paginationInfo,
|
|
41
42
|
supportedLayouts,
|
|
42
43
|
onSelectionChange = defaultOnSelectionChange,
|
|
43
|
-
onDetailsChange = null,
|
|
44
|
-
deferredRendering = false,
|
|
45
44
|
} ) {
|
|
46
45
|
const [ selection, setSelection ] = useState( [] );
|
|
47
46
|
const [ openedFilter, setOpenedFilter ] = useState( null );
|
|
@@ -76,18 +75,7 @@ export default function DataViews( {
|
|
|
76
75
|
const ViewComponent = VIEW_LAYOUTS.find(
|
|
77
76
|
( v ) => v.type === view.type
|
|
78
77
|
).component;
|
|
79
|
-
const _fields = useMemo( () =>
|
|
80
|
-
return fields.map( ( field ) => {
|
|
81
|
-
const getValue =
|
|
82
|
-
field.getValue || ( ( { item } ) => item[ field.id ] );
|
|
83
|
-
|
|
84
|
-
return {
|
|
85
|
-
...field,
|
|
86
|
-
getValue,
|
|
87
|
-
render: field.render || getValue,
|
|
88
|
-
};
|
|
89
|
-
} );
|
|
90
|
-
}, [ fields ] );
|
|
78
|
+
const _fields = useMemo( () => normalizeFields( fields ), [ fields ] );
|
|
91
79
|
|
|
92
80
|
const hasPossibleBulkAction = useSomeItemHasAPossibleBulkAction(
|
|
93
81
|
actions,
|
|
@@ -146,9 +134,7 @@ export default function DataViews( {
|
|
|
146
134
|
getItemId={ getItemId }
|
|
147
135
|
isLoading={ isLoading }
|
|
148
136
|
onSelectionChange={ onSetSelection }
|
|
149
|
-
onDetailsChange={ onDetailsChange }
|
|
150
137
|
selection={ selection }
|
|
151
|
-
deferredRendering={ deferredRendering }
|
|
152
138
|
setOpenedFilter={ setOpenedFilter }
|
|
153
139
|
/>
|
|
154
140
|
<Pagination
|