Commit Graph

117 Commits

Author SHA1 Message Date
9bdd9d5b78 revamp whole EA flow. Server created EAs when we do certain jobs (transform, delete_files, restore_files), then instead of faking amendments in the jscript, get job creation to return EA from job ORM, then check is now generic for end of any amendment job, and when it finishes, use that to clear our amendments in document, and redraw through normal UI code. No smarts in client, all driven by state from server, and if we reload a page mid jobs, it has required state, and because an amendment job is still progressing, it runs check code again 2025-10-25 18:21:28 +11:00
d3ae9b788f make sure loading viewer for the first time add query param to get latest version of img, and when we leave viewer reset document.viewing 2025-10-25 18:18:58 +11:00
b7500e5170 use throbber gray, rather than white 2025-10-25 18:12:32 +11:00
392708bad9 reformat 2025-10-25 18:12:15 +11:00
bd6c9c1fbd code formatting 2025-10-25 10:52:30 +11:00
56771308a6 updated BUGs in general to remove older / fixed BUGs relating to the confusion of current/eids, etc.
update amendments in tables.sql to include job_id in entry_ammendment
added amend.py to move amendment-related code into its own file when we create a job (NewJob)
  and that job matches an amendmentType (via job_name or job_name:amt <- where amt relates to how we do a transform_image), then
  we enter a new EntryAmendment pa_job_mgr knows when a Transform job ends, and removes relevant EntryAmendment
files*.js use EntryAmendment data to render thumbnails with relevant AmendmentType
if a normal page load (like /files_ip), and there is an EntryAmendment, mark up the thumb, run the check jobs to look for completion of the job,
  removeal of the EntryAmendment and update the entry based on 'transformed' image

OVERALL: this is a functioning version that uses EntryAmendments and can handle loading a new page with outstanding amendments
  and 'deals' with it.  This is a good base, but does not cater for remove_files or move_files
2025-10-20 19:31:57 +11:00
a38c54812c use amendments to render throbber/grayscale 2025-10-20 19:23:12 +11:00
80ceb7aaed removed __repr__ from classes in files.py, and added in sqlalchemy class and marshmallow schemas for entry amendments, then load amendments on get_entry_by_id - so any page load (first or next/prev) will see amendments, we then display them into the files list and now add a white circle inside the throbber and overlay that with approrpiate icon/image - all of which is taken from amendment type and eid. tables.sql also updated to create the amendment data, tweaked icons.svg to remove hardcoded-colours for flip_[vh] 2025-10-15 23:06:05 +11:00
9cf47f4582 removed __repr__ from classes in files.py, and added in sqlalchemy class and marshmallow schemas for entry amendments 2025-10-15 22:52:17 +11:00
27e06a9462 any change of opts needs to invaldiate cache 2025-10-12 21:22:14 +11:00
0eee594206 fix up bug with cache not working when we change how_many 2025-10-12 19:33:12 +11:00
97e738dc13 implemented a quick cache for flat view 2025-10-12 16:29:39 +11:00
b61f048dec reverted partial client side back button logic, but also now tested / validated if somehow we are in a flat view and ask for entries and dont get all of them back, or we are in folder view and we try to go into a folder or back up a folder and we get no data as someone deleted it since we made the view, so then show appropriate client-side errors 2025-10-12 16:02:21 +11:00
0ac0eedef9 handle going into Dirs and back from Dirs by doing logic of parent dir on server side, only return eids, and get normal code to handle rendering, no specific get_dir_entries route -> its not get_dir_eids, and the rest is normal code. Much cleaner/simpler. At this point I think the major rewrite it functional, commiting before more testing and then merge code and removed firstEntryOnPage bug (its now pageList[0]) 2025-10-12 13:14:53 +11:00
517b5c6167 made more of the javascript hopefulyl honour versions, sort of works, not fully deployed consistently but works well enough for home use in dev. Also tweaked how the layout looks on a phone so that la / ra buttons on beside the image. Still oddly needs me to shrink that page, but it is now visually right - odd 2025-10-11 15:02:58 +11:00
e4bf9606b9 move functions to appropriate file location for files/view support js, commented them better, removed some dead code 2025-10-11 12:13:44 +11:00
1e421c3f22 move jscript logic out of template/html, into jscript so we can keep all logic into the included file, then I can force version on it and stop caching issues in mobiles, and a shift-reload will also get new code, rather than a container restart even on desktops 2025-10-11 11:11:51 +11:00
346defde8b added a functional (small) up button in the viewer, all works 2025-10-11 09:19:51 +11:00
b51d9e1776 make delete/restore button in viewer be the right colour, and go back to / when the success for the delete or restore finishes 2025-10-10 23:13:03 +11:00
fa2197adbe fix up bug where empty file_rbp did not work and displayed in the wrong div 2025-10-10 23:03:23 +11:00
ee1c9b5494 all override add and remove now use new datastructures, close to be able to test / augment as per TODO 2025-10-09 23:56:27 +11:00
541cbec0de update adding refimg to new or existing person via right-click on a face to use new data structures 2025-10-07 23:43:07 +11:00
4feae96511 remove comments/format 2025-10-07 23:31:37 +11:00
eb7bb84e09 add some padding, and set root_eid - Its 0 when nothing at all in Path (first run/empty). Also, started override for marshmallow, but overrides wont work yet 2025-10-07 00:00:50 +11:00
7f13d78700 deal with completely empty directories, remove ChangeSize and move that content into changeSize 2025-10-06 21:41:35 +11:00
e5d6ce9b73 move MoveDBox into full javascript and fold it into internal/js/files_support.js, also remove unused parameter for MoveDBox, and use marshmallow to pass people in query_data - overall just cleaner more consistent code for existing functionality 2025-10-05 23:20:17 +11:00
24c3762c61 remove PathDetails*, and use marshmallow schemas with methods to get icon_url, and "path" renamed to "root_dir", updated move* code to use new data structure 2025-10-05 22:19:58 +11:00
40f0b5d369 refactor most javascript code, moved what can be moved into files_support.js, made keydown() items only apply when I go to the viewer code 2025-10-04 23:25:46 +10:00
50f9fbee20 update to use new viewing data structures, consolidate to one set of transform functions with successCallback to cover the files vs viewer content. Updated TODO appropriately 2025-10-04 10:39:11 +10:00
1b9b4c9c4f update to use new viewing data structures, consolidate to one set of transform functions with successCallback to cover the files vs viewer content. Updated TODO appropriately 2025-10-04 10:39:06 +10:00
86761994df need to check length of faces, not just it exists - it comes back as an empty array when no faces 2025-10-04 10:37:29 +10:00
a15fbd74d5 update for new db models/marshmallow object 2025-10-03 21:40:48 +10:00
3c8babb619 made basic viewer now handle new marshmallowed data - faces, model_used, face_distance, etc. 2025-10-03 21:28:25 +10:00
b0c738fcc1 moved cFO() to changeOPT() into internal/js, transformed file_list_ip to work with new query_data model, made the Size buttons use modern bootstrap5 radio buttons and work again without the form for all file* routes. Removed a lot of dead code, moved code to resetNextPrev buttons to anytime we getPage, reducing code, handle setting OPT in jscript via a to_dict() for States. Overall, search and file_list_ip now work. Only main thing left is the override code 2025-10-02 23:11:14 +10:00
a7ce8e66b5 change back to how_many, too hard to fix and the inconsistency broke the GUI change 2025-10-01 23:40:39 +10:00
175e43c9bb make viewer work for files_sp, by resetting entryList and pageList for any new directory load 2025-09-30 18:38:54 +10:00
4bb99ce589 catch all to cover when we try to view an img/video and the dir contents is empty, so nothing to show 2025-09-30 18:38:20 +10:00
a0e06717ac viewer now works for files_ip, still have broken bits everywhere - files_rbp, change_opts, do I want a back button? lots of dead/old code, probably cam move more js into *_support, and do I want to keep files_support separate to view_support 2025-09-30 00:29:11 +10:00
1ca5ca192c move isMobile() to support js, as it has no jinja2 in it 2025-09-28 21:44:02 +10:00
5f8c48ac18 fix highlighting issue - as expected, ecnt was wrong 2025-09-27 17:36:31 +10:00
b67f2d9dcb now allow files_sp paths to work (and support folders). Highlighting with folders is broken (likely dodgy ecnt). viewing still broken, but basic navigations is finally working with folders now 2025-09-27 12:42:01 +10:00
5842bf2ab8 set OPT values in jscript in files.html, added functions to draw figures on a page based on pageList (subset of entryList) & json data, and tweaked just grouping select as well to also use the draw figures func() in jscript. Needed to move out .figure click handler into the draw figures too. This is now semi-functional, images load, pages next/prev works, grouping works -- BUT only for files_ip -- folders wont work, search wont work, files_sp wont work, viewing a file wont work 2025-09-27 00:31:42 +10:00
9ec8195d0a first pass of supprot functions to allow query/entry_list to drive pagination, and do not go back to the server to calc next/prev page 2025-09-26 19:25:19 +10:00
e3c94bf5eb added match_add_refimg support to context menu, allows us to take existing (presumably) better image and make it a refimg for someone its matched 2025-08-19 20:20:50 +10:00
0660ca55d7 new logo file 2025-05-13 18:44:30 +10:00
e6e621d6f7 updated pics for rotations 2025-05-13 18:44:23 +10:00
58715491ea keep rot90.svg source in case we want to modify pngs in the future 2025-01-08 13:35:46 +11:00
c6a0352c7d svgs cant have fill and do onHover properly, and arcs need a fill of none, so switched over to pngs and made the arrow match the actual direction of rotation 2025-01-04 22:03:21 +11:00
79437477f7 svgs cant have fill and do onHover properly, and arcs need a fill of none, so switched over to pngs and made the arrow match the actual direction of rotation 2025-01-04 22:02:00 +11:00
53ef671d34 added a isMobile() function that adds a shift and ctrl key to the files view, which can be clicked to fake a shift or ctrl key selection event on a tablet/mobile - first pass at this, its fairly usable. I might allow de-selecting the shift or ctrl key if they are pressed again before a selection is used, otherwise this is all functional. Note, I also changed the contextmenu to a click not mouse down on selection of an item in the menu. This is allows me to stop the propagation of the click event which was being trapped by the $(document).on( "click" ... and which we dont want - also exposes a BUG that when I click the context menu onto a different image it does not highlight the new image and some menu items process the original highlight, others the image under the context menu 2024-01-21 23:07:31 +11:00