Skip to content

Commit c981bc4

Browse files
[imageGalleryNav]: Fix issues with some image filter types. (#654)
1 parent c1a0224 commit c981bc4

File tree

2 files changed

+73
-2
lines changed

2 files changed

+73
-2
lines changed

plugins/imageGalleryNavigation/imageGalleryNavigation.js

Lines changed: 72 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,63 @@
275275
// Init filter type field.
276276
imageFilter[cObj.type] = {};
277277

278+
// Parse boolean type fields.
279+
if (cObj["value"] == "true" || cObj["value"] == "false") {
280+
imageFilter[cObj.type] = (cObj["value"] == "true");
281+
return;
282+
}
283+
284+
if (cObj.type == "orientation") {
285+
imageFilter[cObj.type]["value"] = cObj["value"].map(value => value.toUpperCase());
286+
return;
287+
}
288+
289+
if (cObj.type == "resolution") {
290+
imageFilter[cObj.type]["modifier"] = cObj["modifier"];
291+
switch (cObj["value"]) {
292+
case "144p":
293+
imageFilter[cObj.type]["value"] = "VERY_LOW";
294+
break;
295+
case "240p":
296+
imageFilter[cObj.type]["value"] = "LOW";
297+
break;
298+
case "360p":
299+
imageFilter[cObj.type]["value"] = "R360P";
300+
break;
301+
case "480p":
302+
imageFilter[cObj.type]["value"] = "STANDARD";
303+
break;
304+
case "720p":
305+
imageFilter[cObj.type]["value"] = "WEB_HD";
306+
break;
307+
case "720p":
308+
imageFilter[cObj.type]["value"] = "STANDARD_HD";
309+
break;
310+
case "1080p":
311+
imageFilter[cObj.type]["value"] = "FULL_HD";
312+
break;
313+
case "1440p":
314+
imageFilter[cObj.type]["value"] = "QUAD_HD";
315+
break;
316+
case "4k":
317+
imageFilter[cObj.type]["value"] = "FOUR_K";
318+
break;
319+
case "5k":
320+
imageFilter[cObj.type]["value"] = "FIVE_K";
321+
break;
322+
case "6k":
323+
imageFilter[cObj.type]["value"] = "SIX_K";
324+
break;
325+
case "7k":
326+
imageFilter[cObj.type]["value"] = "SEVEN_K";
327+
break;
328+
case "8k":
329+
imageFilter[cObj.type]["value"] = "EIGHT_K";
330+
break;
331+
}
332+
return;
333+
}
334+
278335
// Get all keys (except for "type").
279336
var keys = Object.keys(cObj);
280337
keys.splice(keys.indexOf("type"), 1);
@@ -285,7 +342,21 @@
285342
// Special parsing for object type "value" fields (used where there's possibly a value and value2)
286343
var keys2 = Object.keys(cObj[keyName]);
287344
keys2.forEach((keyName2) => {
288-
imageFilter[cObj.type][keyName2] = cObj[keyName][keyName2];
345+
if (keyName2 == "items") {
346+
// Parse tag values.
347+
imageFilter[cObj.type]["value"] = []
348+
cObj[keyName][keyName2].forEach((keyValue) => {
349+
imageFilter[cObj.type]["value"].push(keyValue.id);
350+
});
351+
} else if (keyName2 == "excluded") {
352+
// Parse excluded tags.
353+
imageFilter[cObj.type]["excludes"] = []
354+
cObj[keyName][keyName2].forEach((keyValue) => {
355+
imageFilter[cObj.type]["excludes"].push(keyValue.id);
356+
});
357+
} else {
358+
imageFilter[cObj.type][keyName2] = cObj[keyName][keyName2];
359+
}
289360
});
290361
} else {
291362
imageFilter[cObj.type][keyName] = cObj[keyName];

plugins/imageGalleryNavigation/imageGalleryNavigation.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: imageGalleryNavigation
22
# requires: CommunityScriptsUILibrary
33
description: This plugin adds features for navigating between images within a Gallery from the Image details page.
4-
version: 0.3
4+
version: 0.4
55
url: https://discourse.stashapp.cc/t/imagegallerynavigation/1857
66
settings:
77
enableTransform:

0 commit comments

Comments
 (0)