temp remove sorting

This commit is contained in:
Mads Rasmussen
2023-12-19 14:21:17 +01:00
parent f1b522db36
commit d99d34db3d

View File

@@ -1,12 +1,13 @@
import { UmbStylesheetRule } from '../../types.js';
import { UMB_STYLESHEET_RULE_SETTINGS_MODAL } from './stylesheet-rule-settings-modal.token.js';
import { UmbChangeEvent } from '@umbraco-cms/backoffice/event';
import { css, html, customElement, ifDefined, repeat, property } from '@umbraco-cms/backoffice/external/lit';
import { css, html, customElement, repeat, property } from '@umbraco-cms/backoffice/external/lit';
import { FormControlMixin } from '@umbraco-cms/backoffice/external/uui';
import { UMB_MODAL_MANAGER_CONTEXT_TOKEN, UmbModalManagerContext } from '@umbraco-cms/backoffice/modal';
import { UmbSorterConfig, UmbSorterController } from '@umbraco-cms/backoffice/sorter';
import { UmbLitElement } from '@umbraco-cms/internal/lit-element';
// TODO: add sorting when we have a generic sorting component/functionality for ref lists
@customElement('umb-stylesheet-rule-input')
export class UmbStylesheetRuleInputElement extends FormControlMixin(UmbLitElement) {
@property({ type: Array, attribute: false })
@@ -14,44 +15,18 @@ export class UmbStylesheetRuleInputElement extends FormControlMixin(UmbLitElemen
#modalManager: UmbModalManagerContext | undefined;
/*
#sorter = new UmbSorterController(this, {
...SORTER_CONFIG,
performItemInsert: ({ item, newIndex }) => {
return this.#findNewSortOrder(item, newIndex) ?? false;
},
performItemRemove: () => {
//defined so the default does not run
return true;
},
});
*/
constructor() {
super();
this.consumeContext(UMB_MODAL_MANAGER_CONTEXT_TOKEN, (modalContext) => {
this.#modalManager = modalContext;
});
//this.#sorter.setModel(this._rules);
}
protected getFormElement() {
return undefined;
}
#findNewSortOrder(rule: UmbStylesheetRule, newIndex: number) {
const rules = [...this.getRules()].sort((a, b) => (a.sortOrder ?? 0) - (b.sortOrder ?? 0));
const oldIndex = rules.findIndex((r) => r.name === rule.name);
if (oldIndex === -1) return false;
rules.splice(oldIndex, 1);
rules.splice(newIndex, 0, rule);
this.setRules(rules.map((r, i) => ({ ...r, sortOrder: i })));
return true;
}
#openRuleSettings = (rule: UmbStylesheetRule | null = null) => {
if (!this.#modalManager) throw new Error('Modal context not found');
@@ -93,10 +68,7 @@ export class UmbStylesheetRuleInputElement extends FormControlMixin(UmbLitElemen
this.rules,
(rule, index) => rule.name + index,
(rule, index) => html`
<umb-stylesheet-rule-ref
name=${rule.name}
detail=${rule.selector}
data-umb-rule-name="${ifDefined(rule?.name)}">
<umb-stylesheet-rule-ref name=${rule.name} detail=${rule.selector}>
<uui-action-bar slot="actions">
<uui-button @click=${() => this.#editRule(rule, index)} label="Edit ${rule.name}">Edit</uui-button>
<uui-button @click=${() => this.#removeRule(rule)} label="Remove ${rule.name}">Remove</uui-button>
@@ -129,15 +101,3 @@ declare global {
'umb-stylesheet-rule-input': UmbStylesheetRuleInputElement;
}
}
const SORTER_CONFIG: UmbSorterConfig<UmbStylesheetRule> = {
compareElementToModel: (element: HTMLElement, model: UmbStylesheetRule) => {
return element.getAttribute('data-umb-rule-name') === model.name;
},
querySelectModelToElement: (container: HTMLElement, modelEntry: UmbStylesheetRule) => {
return container.querySelector('data-umb-rule-name[' + modelEntry.name + ']');
},
identifier: 'stylesheet-rules-sorter',
itemSelector: 'umb-stylesheet-rich-text-editor-rule',
containerSelector: '#rules-container',
};