Skip to content
This repository was archived by the owner on Jul 12, 2023. It is now read-only.

Commit 353d2e9

Browse files
committed
Add delete tracking
1 parent 49fb32d commit 353d2e9

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

src/micro-panel-editor-entry.js

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,13 @@ export default class MicroPanelEditorEntry extends LitElement {
7676
<header class="bar">
7777
<label>${propname}</label>
7878
<button on-click=${_ =>
79-
this._modify(entry, draft => delete draft.properties[propname])
79+
this._modify(entry, draft => {
80+
delete draft.properties[propname]
81+
if (!('x-micro-panel-deleted-properties' in draft)) {
82+
draft['x-micro-panel-deleted-properties'] = []
83+
}
84+
draft['x-micro-panel-deleted-properties'].push(propname)
85+
})
8086
} title="Delete this property" class="icon-button">${iconCode(icons.minus)}</button>
8187
<button on-click=${_ => {
8288
this.openJsonEditors = produce(openJsonEditors, x => { x[propname] = !(x[propname] || false) })
@@ -161,8 +167,14 @@ export default class MicroPanelEditorEntry extends LitElement {
161167
}
162168
const inp = this.shadowRoot.getElementById('new-prop-inp')
163169
const propName = inp.value
164-
this._modify(entry, draft =>
165-
propName.length > 0 && !(propName in draft.properties) && (draft.properties[propName] = ['']))
170+
this._modify(entry, draft => {
171+
if (propName.length > 0 && !(propName in draft.properties)) {
172+
draft.properties[propName] = ['']
173+
if ('x-micro-panel-deleted-properties' in draft) {
174+
draft['x-micro-panel-deleted-properties'] = draft['x-micro-panel-deleted-properties'].filter(x => x !== propName)
175+
}
176+
}
177+
})
166178
inp.value = ''
167179
}
168180

src/micro-panel-editor.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ export default class MicroPanelEditor extends LitElement {
125125
'action': 'update',
126126
url,
127127
replace: this.entry.properties,
128-
// TODO 'delete': entry['x-micro-panel-deleted-properties'] || [],;w
128+
'delete': this.entry['x-micro-panel-deleted-properties'] || [],
129129
})
130130
}
131131

0 commit comments

Comments
 (0)