temp remove sorting
This commit is contained in:
@@ -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',
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user