Update sprite delete call

ef127df623e63014ad272491dacdea23342c19ec

Wolfsblvt <wolfsblvt@gmail.com>

2 files changed, +11 -5Showing whitespace changes
public/scripts/extensions/expressions/index.js+8 -3
@@ -2081,20 +2081,25 @@ async function onClickExpressionDelete(event) {
2081 // Prevents the expression from being set2081 // Prevents the expression from being set
2082 event.stopPropagation();2082 event.stopPropagation();
20832083
2084 const confirmation = await callPopup('<h3>Are you sure?</h3>Once deleted, it\'s gone forever!', 'confirm');2084 const expressionListItem = $(this).closest('.expression_list_item');
2085 const expression = expressionListItem.data('expression');
20852086
2087 const confirmation = await Popup.show.confirm(t`Delete Expression`, t`Are you sure you want to delete this expression? Once deleted, it\'s gone forever!`
2088 + '<br /><br />'
2089 + t`Expression: `
2090 + expressionListItem.attr('data-filename'));
2086 if (!confirmation) {2091 if (!confirmation) {
2087 return;2092 return;
2088 }2093 }
20892094
2090 const expression = $(this).closest('.expression_list_item').data('expression');2095 const fileName = expressionListItem.attr('data-filename');
2091 const name = $('#image_list').data('name');2096 const name = $('#image_list').data('name');
20922097
2093 try {2098 try {
2094 await fetch('/api/sprites/delete', {2099 await fetch('/api/sprites/delete', {
2095 method: 'POST',2100 method: 'POST',
2096 headers: getRequestHeaders(),2101 headers: getRequestHeaders(),
2097 body: JSON.stringify({ name, label: expression }),2102 body: JSON.stringify({ name, label: expression, spriteName: fileName }),
2098 });2103 });
2099 } catch (error) {2104 } catch (error) {
2100 toastr.error('Failed to delete image. Try again later.');2105 toastr.error('Failed to delete image. Try again later.');
src/endpoints/sprites.js+3 -2
@@ -147,8 +147,9 @@ router.get('/get', jsonParser, function (request, response) {
147router.post('/delete', jsonParser, async (request, response) => {147router.post('/delete', jsonParser, async (request, response) => {
148 const label = request.body.label;148 const label = request.body.label;
149 const name = request.body.name;149 const name = request.body.name;
150 const spriteName = request.body.spriteName || label;
150151
151 if (!label || !name) {152 if (!spriteName || !name) {
152 return response.sendStatus(400);153 return response.sendStatus(400);
153 }154 }
154155
@@ -164,7 +165,7 @@ router.post('/delete', jsonParser, async (request, response) => {
164165
165 // Remove existing sprite with the same label166 // Remove existing sprite with the same label
166 for (const file of files) {167 for (const file of files) {
167 if (path.parse(file).name === label) {168 if (path.parse(file).name === spriteName) {
168 fs.rmSync(path.join(spritesPath, file));169 fs.rmSync(path.join(spritesPath, file));
169 }170 }
170 }171 }