Skip to content

Commit 5b91948

Browse files
committed
chore: review fixes
1 parent 3f23e8e commit 5b91948

4 files changed

Lines changed: 14 additions & 10 deletions

File tree

packages/components/src/components/list/list.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
}
5353
}
5454

55-
.table-container--drop-zone {
55+
.table-container--drag-enabled-empty {
5656
@apply box-border
5757
border
5858
border-dashed

packages/components/src/components/list/list.stories.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ import { List } from "./list";
1010
const { selectionMode, interactionMode, selectionAppearance, scale } = ATTRIBUTES;
1111

1212
interface ListStoryArgs
13-
extends Pick<
13+
extends
14+
Pick<
1415
List,
1516
| "disabled"
1617
| "displayMode"
@@ -6533,7 +6534,7 @@ export const emptyFixedHeight = (): string =>
65336534
export const emptyStateDropTarget = (): string =>
65346535
html`<h1>Empty List</h1>
65356536
<calcite-list group="items" drag-enabled label="Park features">
6536-
<div slot="drag-empty">
6537+
<div slot="drag-enabled-empty">
65376538
<h2>Start configuring a form for the layer</h2>
65386539
<p>Drag items here to add them to the form.</p>
65396540
</div>

packages/components/src/components/list/list.tsx

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import Sortable from "sortablejs";
33
import { debounce } from "es-toolkit";
44
import { PropertyValues } from "lit";
55
import { createEvent, h, JsxNode, LitElement, method, property, state } from "@arcgis/lumina";
6-
import { getRootNode, slotChangeHasAssignedElement } from "../../utils/dom";
6+
import { getRootNode, slotChangeHasAssignedElement, slotChangeHasContent } from "../../utils/dom";
77
import { createObserver } from "../../utils/observers";
88
import { InteractionMode, Scale, SelectionMode } from "../interfaces";
99
import { ItemData } from "../list-item/interfaces";
@@ -122,7 +122,7 @@ export class List extends LitElement implements SortableComponent {
122122
}
123123

124124
get showEmptyDragContainer(): boolean {
125-
return this.dragEnabled && !this.visibleItems.length;
125+
return this.dragEnabled && !this.hasContent;
126126
}
127127

128128
get showNoResultsContainer(): boolean {
@@ -161,6 +161,8 @@ export class List extends LitElement implements SortableComponent {
161161

162162
@state() sortHandleMenuItems: SortMenuItem[] = [];
163163

164+
@state() hasContent = false;
165+
164166
//#endregion
165167

166168
//#region Public Properties
@@ -729,10 +731,11 @@ export class List extends LitElement implements SortableComponent {
729731
this.parentListEl = this.el.parentElement?.closest(listSelector);
730732
}
731733

732-
private handleDefaultSlotChange(): void {
734+
private handleDefaultSlotChange(event: Event): void {
733735
if (this.parentListEl) {
734736
this.calciteInternalListDefaultSlotChange.emit();
735737
}
738+
this.hasContent = slotChangeHasContent(event);
736739
}
737740

738741
private setListItemGroups(): void {
@@ -1257,11 +1260,11 @@ export class List extends LitElement implements SortableComponent {
12571260
<div
12581261
class={{
12591262
[CSS.tableContainer]: true,
1260-
[CSS.tableContainerDropZone]: this.showEmptyDragContainer,
1263+
[CSS.tableContainerDragEnabledEmpty]: this.showEmptyDragContainer,
12611264
}}
12621265
role="rowgroup"
12631266
>
1264-
<slot hidden={!this.showEmptyDragContainer} name={SLOTS.dragEmpty} />
1267+
<slot hidden={!this.showEmptyDragContainer} name={SLOTS.dragEnabledEmpty} />
12651268
<slot onSlotChange={this.handleDefaultSlotChange} ref={this.setDefaultSlotEl} />
12661269
</div>
12671270
</div>

packages/components/src/components/list/resources.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ export const CSS = {
44
scrim: "scrim",
55
stack: "stack",
66
tableContainer: "table-container",
7-
tableContainerDropZone: "table-container--drop-zone",
7+
tableContainerDragEnabledEmpty: "table-container--drag-enabled-empty",
88
sticky: "sticky-pos",
99
assistiveText: "assistive-text",
1010
containerHeight: "container-height",
@@ -13,7 +13,7 @@ export const CSS = {
1313
export type SelectionAppearance = "border" | "highlight" | "icon";
1414

1515
export const SLOTS = {
16-
dragEmpty: "drag-empty",
16+
dragEnabledEmpty: "drag-enabled-empty",
1717
filterNoResults: "filter-no-results",
1818
filterActionsStart: "filter-actions-start",
1919
filterActionsEnd: "filter-actions-end",

0 commit comments

Comments
 (0)