From 06244ddbbea4d9a396183cfbfe607fc4a678257a Mon Sep 17 00:00:00 2001 From: "Alex A. Naanou" Date: Mon, 7 Apr 2025 15:38:41 +0300 Subject: [PATCH] now export history items are unique... Signed-off-by: Alex A. Naanou --- Viewer/features/filesystem.js | 33 +++++++++++++++++++++++++-------- Viewer/package-lock.json | 4 ++-- Viewer/package.json | 2 +- 3 files changed, 28 insertions(+), 11 deletions(-) diff --git a/Viewer/features/filesystem.js b/Viewer/features/filesystem.js index 547def0a..134fb37f 100755 --- a/Viewer/features/filesystem.js +++ b/Viewer/features/filesystem.js @@ -3507,20 +3507,37 @@ var FileSystemWriterUIActions = actions.Actions({ exportHistoryPush: ['- File/', function(settings){ - settings = settings - || this.config['export-settings'] + //settings = settings + // || this.config['export-settings'] var l = this.config['export-history-length'] || 50 var history = this.config['export-history'] = this.config['export-history'] || [] // add... - settings - && history.push(Object.assign( + if(settings){ + // set .date... + settings = Object.assign( JSON.parse(JSON.stringify( settings )), - { - date: Date.timeStamp(true), - })) - // trim the history... + { date: Date.timeStamp(true) }) + // remove all identical settings from history... + var keys_l = Object.keys(settings).length + for(var i=history.length-1; i >= 0; i--){ + var item = history[i] + if(keys_l != Object.keys(item).length){ + continue } + var match = true + for(var k in settings){ + // ignore .date... + if(k == 'date'){ + continue } + if(item[k] != settings[k]){ + match = false + break } } + match + && history.splice(i, 1) } + // add... + history.push(settings) } + // trim the history list to length... history.length > l && history.splice(0, history.length - l) }], clearExportHistory: ['- File/Clear export history', diff --git a/Viewer/package-lock.json b/Viewer/package-lock.json index 8eb2faef..16e4ea9b 100644 --- a/Viewer/package-lock.json +++ b/Viewer/package-lock.json @@ -1,12 +1,12 @@ { "name": "ImageGrid.Viewer.g4", - "version": "4.0.11a", + "version": "4.0.13a", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "ImageGrid.Viewer.g4", - "version": "4.0.11a", + "version": "4.0.13a", "dependencies": { "app-module-path": "*", "async-json": "0.0.2", diff --git a/Viewer/package.json b/Viewer/package.json index 5e0e0b52..e34dec41 100644 --- a/Viewer/package.json +++ b/Viewer/package.json @@ -1,7 +1,7 @@ { "name": "ImageGrid.Viewer.g4", "main": "index.html", - "version": "4.0.12a", + "version": "4.0.13a", "author": "Alex A. Naanou (https://github.com/flynx)", "contributors": [], "repository": "github:flynx/ImageGrid",