fix: Fix stile dialog di eliminazione di un cord

This commit is contained in:
Maicol Battistini 2023-08-17 18:09:59 +02:00
parent 5227127e93
commit 17b1b06bd9
No known key found for this signature in database
1 changed files with 31 additions and 7 deletions

View File

@ -1,5 +1,9 @@
import {mdiDelete} from '@mdi/js';
import MdIcon from '@osm/Components/MdIcon';
import Model from '@osm/Models/Model';
import {VnodeCollection} from '@osm/typings/jsx';
import {showSnackbar} from '@osm/utils/misc';
import collect from 'collect.js';
import {
Children,
Vnode
@ -27,19 +31,35 @@ export default class DeleteRecordDialog<M extends Model<any, any>, A extends Del
return (
<>
<h2 slot="headline">{__('Elimina record')}</h2>
<p>{text}</p>
<ul>{this.records.map((record) => <li key={record.getId()}>{this.recordSummary(record, vnode)}</li>)}</ul>
<md-text-button id="discard-button" slot="footer" dialog-action="cancel">
{__('No')}
</md-text-button>
<md-text-button id="confirm-button" slot="footer" onclick={this.onConfirmButtonClicked.bind(this)}>
{__('Sì')}
</md-text-button>
</>
);
}
headline(): Children {
return <span>{__('Elimina record')}</span>;
}
icon(): Children {
return <MdIcon icon={mdiDelete}/>;
}
actions(vnode: Vnode<A, this>): VnodeCollection {
return collect({
cancel: (
<md-text-button id="discard-button" onclick={this.onCancelButtonClicked.bind(this)}>
{__('No')}
</md-text-button>
),
confirm: (
<md-text-button id="confirm-button" onclick={this.onConfirmButtonClicked.bind(this)}>
{__('Sì')}
</md-text-button>
)
});
}
recordSummary(record: M, vnode: Vnode<A, this>): Children {
return __('ID: :recordId', {recordId: record.getId()!});
}
@ -48,6 +68,10 @@ export default class DeleteRecordDialog<M extends Model<any, any>, A extends Del
await this.deleteRecord();
}
onCancelButtonClicked() {
void this.close('cancel');
}
async deleteRecord() {
try {
const promises = this.records.map((record) => record.delete());