From 86e6fdccb712bd986485cc18195070bb26cf7000 Mon Sep 17 00:00:00 2001 From: Lone Iversen <108085781+loivsen@users.noreply.github.com> Date: Fri, 6 Oct 2023 11:15:07 +0200 Subject: [PATCH] better way to handle horizontal/vertical sorting --- .../stories/test-sorter-controller.element.ts | 29 ++++++------------- 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/sorter/stories/test-sorter-controller.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/sorter/stories/test-sorter-controller.element.ts index 9c2c257627..6ad3b41ad1 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/sorter/stories/test-sorter-controller.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/sorter/stories/test-sorter-controller.element.ts @@ -7,7 +7,7 @@ type SortEntryType = { value: string; }; -const verticalConfig: UmbSorterConfig = { +const SORTER_CONFIG: UmbSorterConfig = { compareElementToModel: (element: HTMLElement, model: SortEntryType) => { return element.getAttribute('data-sort-entry-id') === model.id; }, @@ -18,12 +18,6 @@ const verticalConfig: UmbSorterConfig = { itemSelector: 'li', containerSelector: 'ul', }; - -const horizontalConfig: UmbSorterConfig = { - ...verticalConfig, - resolveVerticalDirection: () => false, -}; - const model: Array = [ { id: '0', @@ -48,27 +42,22 @@ export default class UmbTestSorterControllerElement extends UmbLitElement { constructor() { super(); - this.sorter = new UmbSorterController(this, verticalConfig); + this.sorter = new UmbSorterController(this, { + ...SORTER_CONFIG, + resolveVerticalDirection: () => { + this.vertical ? true : false; + }, + }); this.sorter.setModel(model); } - #change() { - this.sorter.destroy(); - - if (this.vertical) { - this.sorter = new UmbSorterController(this, horizontalConfig); - this.sorter.setModel(model); - } else { - this.sorter = new UmbSorterController(this, verticalConfig); - this.sorter.setModel(model); - } - + #toggle() { this.vertical = !this.vertical; } render() { return html` - + Horizontal/Vertical