diff --git a/ActionList.ts b/ActionList.ts
index 5eded49..6cc7b6d 100644
--- a/ActionList.ts
+++ b/ActionList.ts
@@ -62,6 +62,10 @@ export class ActionList extends FilterListBase {
@property({ type: Array })
items: ActionItem[] = [];
+ /** Height of each list item */
+ @property({ type: Number })
+ height: number = 72;
+
private renderMoreVertItem(item: ActionItem): TemplateResult {
item.actions!.shift();
const otherActions = item.actions!;
@@ -72,7 +76,6 @@ export class ActionList extends FilterListBase {
id="more-vert-anchor"
type="button"
class="${classMap({
- twoline: !!item.supportingText,
hidden: !this.searchRegex.test(term(item)),
})}"
@click=${(evt: Event) => {
@@ -107,9 +110,8 @@ export class ActionList extends FilterListBase {
const action = item.actions ? item.actions[index] : null;
if (!action)
- return html`
-
${item.headline}
+ ${item.headline}
${item.supportingText
- ? html`${item.supportingText}
`
+ ? html`${item.supportingText}
`
: html``}
${item.startingIcon
? html`${item.startingIcon}`
@@ -194,21 +197,30 @@ export class ActionList extends FilterListBase {
}
render(): TemplateResult {
- return html`
- ${this.renderSearchField()}
-
-
- ${this.items.map(item => this.renderListItem(item))}
- ${this.renderActions()}
-
- `;
+ return html`
+
+ ${this.renderSearchField()}
+
+
+ ${this.items.map(item => this.renderListItem(item))}
+ ${this.renderActions()}
+
+ `;
}
static styles = css`
section {
display: flex;
flex-direction: column;
+ justify-content: space-between;
}
md-outlined-text-field {
@@ -217,8 +229,14 @@ export class ActionList extends FilterListBase {
padding: 8px;
}
- md-list-item.twoline {
- height: 72px;
+ [slot='headline'] {
+ white-space: pre;
+ }
+
+ [slot='supporting-text'] {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: normal;
}
.listitems {
diff --git a/README.md b/README.md
index 4fbe28f..b06342d 100644
--- a/README.md
+++ b/README.md
@@ -40,6 +40,7 @@ This element was meant to be used only for plugins in this organization. If it s
| Name | Privacy | Type | Default | Description | Inherited From |
| -------------- | ------- | -------------- | ---------- | ------------------------------------------------------------------------- | -------------- |
| `items` | | `ActionItem[]` | `[]` | ListItems and potential | |
+| `height` | | `number` | `72` | Height of each list item | |
| `filterable` | | `boolean` | `false` | Whether list items can be filtered on \`headline\` and \`supportingText\` | FilterListBase |
| `searchhelper` | | `string` | `'search'` | Placeholder for search input field | FilterListBase |
diff --git a/action-list.test.ts b/action-list.test.ts
index 30c52bc..4108848 100644
--- a/action-list.test.ts
+++ b/action-list.test.ts
@@ -386,4 +386,59 @@ describe('Custom List component ActionList', () => {
await visualDiff(list, `action-list/long headline and supportingText `);
});
});
+
+ describe('for a custom size list item', () => {
+ let list: ActionList;
+
+ beforeEach(async () => {
+ list = await fixture(
+ html` {},
+ actions: [
+ { icon: 'edit', callback: () => {} },
+ { icon: 'delete', callback: () => {} },
+ ],
+ },
+ {
+ headline: 'thiiiiiisisanotherveeeeeeeryloooongtitle',
+ supportingText: 'thiiiiiiiisisaveeeeeeeerylongsupportingtitle',
+ },
+ {
+ headline:
+ 'really long just doing its thing I guess this is how it is',
+ supportingText:
+ 'thiiiiiiiisisaveeeeeeeerylongsupportingtitle > MoreStuff > AndStillMoreStuff > It gose on forever until we cannot bear it any moer and eventually we reach our limit and then we truncate it! ',
+ divider: true,
+ filtergroup: ['item2', 'item3', 'item4', 'item5'],
+ primaryAction: () => {},
+ actions: [
+ { icon: 'edit', callback: () => {} },
+ { icon: 'delete', callback: () => {} },
+ ],
+ },
+ ]}
+ >`
+ );
+ list.style.width = '100px';
+ document.body.prepend(list);
+ });
+
+ afterEach(() => {
+ if (list) list.remove();
+ });
+
+ it('produces correctly spaced list items', async () => {
+ await timeout(200);
+ await visualDiff(
+ list,
+ `action-list/long headline and supportingText with custom size`
+ );
+ });
+ });
});
diff --git a/list.stories.ts b/list.stories.ts
index 63f95c5..cc8e35c 100644
--- a/list.stories.ts
+++ b/list.stories.ts
@@ -106,6 +106,8 @@ ActionLessList.args = {
primaryAction: () => {
window.alert('clicked');
},
+ supportingText:
+ 'a veeeeeeeery veeeeeeeery loooooooong suporting text with empty spaces which just gets longer and longer until we cannot bear it and something will break if we do not truncate it!',
},
{
headline: 'item3',
diff --git a/screenshots/Chromium/baseline/action-list/divider .png b/screenshots/Chromium/baseline/action-list/divider .png
index 46f649a..27b2cff 100644
Binary files a/screenshots/Chromium/baseline/action-list/divider .png and b/screenshots/Chromium/baseline/action-list/divider .png differ
diff --git a/screenshots/Chromium/baseline/action-list/filterable.png b/screenshots/Chromium/baseline/action-list/filterable.png
index 270269d..0d0bd2b 100644
Binary files a/screenshots/Chromium/baseline/action-list/filterable.png and b/screenshots/Chromium/baseline/action-list/filterable.png differ
diff --git a/screenshots/Chromium/baseline/action-list/filtered.png b/screenshots/Chromium/baseline/action-list/filtered.png
index 4274f33..ddba33a 100644
Binary files a/screenshots/Chromium/baseline/action-list/filtered.png and b/screenshots/Chromium/baseline/action-list/filtered.png differ
diff --git a/screenshots/Chromium/baseline/action-list/filtergroup.png b/screenshots/Chromium/baseline/action-list/filtergroup.png
index 01bdd7e..24c0f81 100644
Binary files a/screenshots/Chromium/baseline/action-list/filtergroup.png and b/screenshots/Chromium/baseline/action-list/filtergroup.png differ
diff --git a/screenshots/Chromium/baseline/action-list/long headline and supportingText .png b/screenshots/Chromium/baseline/action-list/long headline and supportingText .png
index d18ec6c..df876f7 100644
Binary files a/screenshots/Chromium/baseline/action-list/long headline and supportingText .png and b/screenshots/Chromium/baseline/action-list/long headline and supportingText .png differ
diff --git a/screenshots/Chromium/baseline/action-list/long headline and supportingText with custom size.png b/screenshots/Chromium/baseline/action-list/long headline and supportingText with custom size.png
new file mode 100644
index 0000000..3b066bd
Binary files /dev/null and b/screenshots/Chromium/baseline/action-list/long headline and supportingText with custom size.png differ
diff --git a/screenshots/Chromium/baseline/action-list/mixed actions definition.png b/screenshots/Chromium/baseline/action-list/mixed actions definition.png
index c15b466..0bafc3e 100644
Binary files a/screenshots/Chromium/baseline/action-list/mixed actions definition.png and b/screenshots/Chromium/baseline/action-list/mixed actions definition.png differ
diff --git a/screenshots/Chromium/baseline/action-list/more vert with labels.png b/screenshots/Chromium/baseline/action-list/more vert with labels.png
index d709c44..15d7864 100644
Binary files a/screenshots/Chromium/baseline/action-list/more vert with labels.png and b/screenshots/Chromium/baseline/action-list/more vert with labels.png differ
diff --git a/screenshots/Chromium/baseline/action-list/more vert without labels.png b/screenshots/Chromium/baseline/action-list/more vert without labels.png
index 6fbb0bd..178d4f5 100644
Binary files a/screenshots/Chromium/baseline/action-list/more vert without labels.png and b/screenshots/Chromium/baseline/action-list/more vert without labels.png differ
diff --git a/screenshots/Chromium/baseline/action-list/no-actions.png b/screenshots/Chromium/baseline/action-list/no-actions.png
index 32fb940..811ec69 100644
Binary files a/screenshots/Chromium/baseline/action-list/no-actions.png and b/screenshots/Chromium/baseline/action-list/no-actions.png differ
diff --git a/screenshots/Chromium/baseline/action-list/one additional action.png b/screenshots/Chromium/baseline/action-list/one additional action.png
index 634e48a..7f2210a 100644
Binary files a/screenshots/Chromium/baseline/action-list/one additional action.png and b/screenshots/Chromium/baseline/action-list/one additional action.png differ
diff --git a/screenshots/Chromium/baseline/action-list/primary-action.png b/screenshots/Chromium/baseline/action-list/primary-action.png
index 76a5ffe..d738fd9 100644
Binary files a/screenshots/Chromium/baseline/action-list/primary-action.png and b/screenshots/Chromium/baseline/action-list/primary-action.png differ
diff --git a/screenshots/Chromium/baseline/action-list/two additional actions.png b/screenshots/Chromium/baseline/action-list/two additional actions.png
index 4b99c60..0997815 100644
Binary files a/screenshots/Chromium/baseline/action-list/two additional actions.png and b/screenshots/Chromium/baseline/action-list/two additional actions.png differ
diff --git a/screenshots/Chromium/baseline/selection-list/filterable.png b/screenshots/Chromium/baseline/selection-list/filterable.png
index 47b3b05..c45c902 100644
Binary files a/screenshots/Chromium/baseline/selection-list/filterable.png and b/screenshots/Chromium/baseline/selection-list/filterable.png differ
diff --git a/screenshots/Chromium/baseline/selection-list/filtered.png b/screenshots/Chromium/baseline/selection-list/filtered.png
index 41de3be..3c887f7 100644
Binary files a/screenshots/Chromium/baseline/selection-list/filtered.png and b/screenshots/Chromium/baseline/selection-list/filtered.png differ
diff --git a/screenshots/Chromium/baseline/selection-list/pre-selection-list.png b/screenshots/Chromium/baseline/selection-list/pre-selection-list.png
index a91a746..1857475 100644
Binary files a/screenshots/Chromium/baseline/selection-list/pre-selection-list.png and b/screenshots/Chromium/baseline/selection-list/pre-selection-list.png differ
diff --git a/screenshots/Firefox/baseline/action-list/divider .png b/screenshots/Firefox/baseline/action-list/divider .png
index b2757cc..cda86c4 100644
Binary files a/screenshots/Firefox/baseline/action-list/divider .png and b/screenshots/Firefox/baseline/action-list/divider .png differ
diff --git a/screenshots/Firefox/baseline/action-list/filterable.png b/screenshots/Firefox/baseline/action-list/filterable.png
index 5e6be1b..3804ee2 100644
Binary files a/screenshots/Firefox/baseline/action-list/filterable.png and b/screenshots/Firefox/baseline/action-list/filterable.png differ
diff --git a/screenshots/Firefox/baseline/action-list/filtered.png b/screenshots/Firefox/baseline/action-list/filtered.png
index f747bde..d418183 100644
Binary files a/screenshots/Firefox/baseline/action-list/filtered.png and b/screenshots/Firefox/baseline/action-list/filtered.png differ
diff --git a/screenshots/Firefox/baseline/action-list/filtergroup.png b/screenshots/Firefox/baseline/action-list/filtergroup.png
index 968ab77..f460c1c 100644
Binary files a/screenshots/Firefox/baseline/action-list/filtergroup.png and b/screenshots/Firefox/baseline/action-list/filtergroup.png differ
diff --git a/screenshots/Firefox/baseline/action-list/long headline and supportingText .png b/screenshots/Firefox/baseline/action-list/long headline and supportingText .png
index 11c4ed7..5b57d7b 100644
Binary files a/screenshots/Firefox/baseline/action-list/long headline and supportingText .png and b/screenshots/Firefox/baseline/action-list/long headline and supportingText .png differ
diff --git a/screenshots/Firefox/baseline/action-list/long headline and supportingText with custom size.png b/screenshots/Firefox/baseline/action-list/long headline and supportingText with custom size.png
new file mode 100644
index 0000000..0d5ae31
Binary files /dev/null and b/screenshots/Firefox/baseline/action-list/long headline and supportingText with custom size.png differ
diff --git a/screenshots/Firefox/baseline/action-list/mixed actions definition.png b/screenshots/Firefox/baseline/action-list/mixed actions definition.png
index 95b5a66..0f657d0 100644
Binary files a/screenshots/Firefox/baseline/action-list/mixed actions definition.png and b/screenshots/Firefox/baseline/action-list/mixed actions definition.png differ
diff --git a/screenshots/Firefox/baseline/action-list/more vert with labels.png b/screenshots/Firefox/baseline/action-list/more vert with labels.png
index 2eb4e3a..b567b22 100644
Binary files a/screenshots/Firefox/baseline/action-list/more vert with labels.png and b/screenshots/Firefox/baseline/action-list/more vert with labels.png differ
diff --git a/screenshots/Firefox/baseline/action-list/more vert without labels.png b/screenshots/Firefox/baseline/action-list/more vert without labels.png
index c4cfdb0..897aef0 100644
Binary files a/screenshots/Firefox/baseline/action-list/more vert without labels.png and b/screenshots/Firefox/baseline/action-list/more vert without labels.png differ
diff --git a/screenshots/Firefox/baseline/action-list/no-actions.png b/screenshots/Firefox/baseline/action-list/no-actions.png
index e60a56d..2de6444 100644
Binary files a/screenshots/Firefox/baseline/action-list/no-actions.png and b/screenshots/Firefox/baseline/action-list/no-actions.png differ
diff --git a/screenshots/Firefox/baseline/action-list/one additional action.png b/screenshots/Firefox/baseline/action-list/one additional action.png
index 6e97cda..c0beb49 100644
Binary files a/screenshots/Firefox/baseline/action-list/one additional action.png and b/screenshots/Firefox/baseline/action-list/one additional action.png differ
diff --git a/screenshots/Firefox/baseline/action-list/primary-action.png b/screenshots/Firefox/baseline/action-list/primary-action.png
index 428e6ff..38809d5 100644
Binary files a/screenshots/Firefox/baseline/action-list/primary-action.png and b/screenshots/Firefox/baseline/action-list/primary-action.png differ
diff --git a/screenshots/Firefox/baseline/action-list/two additional actions.png b/screenshots/Firefox/baseline/action-list/two additional actions.png
index 24b0799..807e8a7 100644
Binary files a/screenshots/Firefox/baseline/action-list/two additional actions.png and b/screenshots/Firefox/baseline/action-list/two additional actions.png differ
diff --git a/screenshots/Firefox/baseline/selection-list/filterable.png b/screenshots/Firefox/baseline/selection-list/filterable.png
index 89ce59d..c51df6a 100644
Binary files a/screenshots/Firefox/baseline/selection-list/filterable.png and b/screenshots/Firefox/baseline/selection-list/filterable.png differ
diff --git a/screenshots/Firefox/baseline/selection-list/filtered.png b/screenshots/Firefox/baseline/selection-list/filtered.png
index 4bf855b..51a173f 100644
Binary files a/screenshots/Firefox/baseline/selection-list/filtered.png and b/screenshots/Firefox/baseline/selection-list/filtered.png differ
diff --git a/screenshots/Firefox/baseline/selection-list/pre-selection-list.png b/screenshots/Firefox/baseline/selection-list/pre-selection-list.png
index 9ad2f02..31685f9 100644
Binary files a/screenshots/Firefox/baseline/selection-list/pre-selection-list.png and b/screenshots/Firefox/baseline/selection-list/pre-selection-list.png differ