Commit Graph
74 Commits
Author SHA1 Message Date
JaredTherriault 6fbddeedee Fix search 2024-05-10 21:46:43 -07:00
JaredTherriault 34c1ce82dd Speed up loading of images in SubFolderExplorer contexts
-Speed up loading of images in SubFolderExplorer contexts like Input and Output (up to 6x!)
-Separate logic for loading images and gathering subdirectories
-Update some code to reflect the move to a unified usage of  "directory" rather than "folder" (WIP)
-Return more useful responses from python backend
2024-05-10 20:33:18 -07:00
JaredTherriault f0338b0c5f Batch selection, batch deletion, classifying some scripts, module manager
-Added new batch selection and batch deletion features. All imageElements now have a checkbox and each selected element is tracked within a context or folder. When you've selected all you want to delete, click the recycle button on the toolbar, then again to confirm. All checked items will be recylced/deleted. You can also click on the selection widget next to the batch delete button to toggle select/deselect all.
-Renamed ImageDrawer.js to ImageDrawerMain.js
-Separated ImageListAndSearch out into separate scripts and classes named ImageDrawerList and ImageDrawerSearch
-Changed order of some initialized functions and variables in imageElements to better accommodate batch selection
-
-Moved some scripts over to a classy architecture. More scripts will be moved over time. This will eventually allow for multiple image drawer instances in the same window.
-Added a new module script that manages all class instances. See ImageDrawerModule.js for an explanation of the new architecture. Basically, it makes cyclical dependencies impossible.
-Updated imports
-Updated various scripts to use class instances where applicable
-Updated some outdated comments
-Added option to prepend or append labels to Labeled widgets
-Parameter optimizations
-
2024-05-07 20:39:40 -07:00
JaredTherriault 2b8b864fd7 Remove width calculation from imageElements and extraNetworks as it's redundant performance loss 2024-05-05 18:32:46 -07:00
JaredTherriault 8164bec931 Further iteration on last 2024-05-05 17:08:56 -07:00
JaredTherriault b87cf45681 Add option to collapse imageDrawer options (button in top-right) 2024-05-05 16:58:42 -07:00
JaredTherriault 7a3d3ba30b Add delete button to imageElements flyout
-Separate much of the logic for imageElements into imageElementsUtils for a more streamlined maintenance experience
-Add button to delete an image or video from the disk and list, preferring to move it to trash/recycling before deleting directly
2024-05-05 14:33:33 -07:00
JaredTherriault a0a9f1d675 Fix issue where undefined element was always being sent to be removed from imageList 2024-05-05 14:30:31 -07:00
JaredTherriault 3ed7fbee1b Fix sorting for image elements 2024-05-04 23:48:38 -07:00
JaredTherriault 55c3a96efb no-store all api calls 2024-05-04 17:01:52 -07:00
JaredTherriault 5566e237d0 Flyout improvements
-Simplify CSS
-Set layout CSS properties for flyouts from JS directly
-Apply layout rules to all flyouts
-Move imageElements flyout handle to top right rather than top left
2024-05-04 15:50:57 -07:00
JaredTherriault 1e55333ce0 Implement overflow control on x axis for image overflow menus 2024-05-03 19:54:46 -07:00
JaredTherriault e7538f0bb9 Update slider tooltip text for column count, drawer width, and drawer height sliders every time the slider is moved 2024-05-03 19:41:05 -07:00
JaredTherriault 6b5207e2b9 Replace options menu on images with flyout, Highlight menu options
-Replace options menu on images with flyout
-Highlight menu options and lora/embedding commands when hovered or clicked
2024-05-03 19:39:31 -07:00
JaredTherriault b84e19b4c3 Fix automatic Upload Visual Media node sizing for videos
-Fix automatic Upload Visual Media node sizing for videos
-Infer some display data from mediaElement when image or video doesn't originate from imageDrawer drag and drop
-Linter adherence
2024-05-02 16:04:46 -07:00
JaredTherriault e4d01c1bba Sort Json Object By Keys in ImageElements 2024-05-01 22:19:50 -07:00
JaredTherriault 2172b88f35 Init DisplayData before assigning 2024-05-01 16:52:56 -07:00
JaredTherriault df8c6da431 Add DiisplayData structure to imageElement and drag and drop payload for imageElements 2024-05-01 16:28:50 -07:00
JaredTherriault d4fd0d9bc8 Fix event listener name 2024-05-01 16:28:11 -07:00
JaredTherriault 4e1ca6a008 update some function signatures to be functions rather than lambdas (for consistency) 2024-05-01 11:10:57 -07:00
JaredTherriault 306fc985f8 Update dimensional meta data on image load if it wasn't read from python 2024-05-01 11:10:23 -07:00
JaredTherriault 7f7625855f Merge branch 'main' into Iteration-On-Upload-Video-Widget 2024-04-30 22:06:26 -07:00
JaredTherriault 219d3a8a67 Implement image aspect ratio sort type 2024-04-30 22:05:52 -07:00
JaredTherriault 811111102b Implement new sorting types: SortTypeFileSize, SortTypeImageWidth, SortTypeImageHeight, SortTypeFileType 2024-04-30 21:44:47 -07:00
JaredTherriault acb386e956 Expose main element in labeled controls and fix subfolder toggle staying on when subfolder is changed 2024-04-29 18:56:08 -07:00
JaredTherriault 073d6fe6c4 Validate playback speed input value and fix setting volume and playback speed for all videos at once
Also remove reference to setting_VideoPlaybackOptions in onScrollVideo, invertWheelSeek is now a function parameter
2024-04-29 16:36:30 -07:00
JaredTherriault b954c0e187 Fix for sub folder images constantly calling the sort method 2024-04-29 14:45:11 -07:00
JaredTherriault f2774fb9f5 Include renaming 2024-04-22 14:51:09 -07:00
JaredTherriault 6c75bbd8ba Try/Catch when decoding filemap from python 2024-04-22 13:05:21 -07:00
JaredTherriault 47ffb7f703 Fix Show button not appearing after hiding drawer 2024-04-22 12:53:26 -07:00
JaredTherriault 2c53fa8dfd Fix image loading in Extra Networks 2024-04-21 16:04:44 -07:00
JaredTherriault 8c0920657c Add agnostic VideoControls
-Create VideoControls script for agnostic control of video elements
-Update classes to use VideoControls where appropriate
-Create jnodes_image_drawer_payload payload for drag and drop from image drawer to upload nodes
-Add href to fileInfo on imageElement creation to facilitate payload
2024-04-18 22:36:33 -07:00
JaredTherriault b1a44cf0cc Add playbackRate video option, improve menu widget options
-Add option for playback rate (speed)
-Add hotkeys for changing playback rate ( , and . )
-Add labeled number input widget
-Inherit labeled widget types from base class
-Add option for onchange to above base class
-Clamp numbers when setting numeric values on videos
-Add some helper functions to video elements
-Remove bPropagateOnChange, roll functionality into forEachElement delegate
-Add widgetType parameter to inform the widget type to be created
-Removed unnecessary and incorrect comments
2024-04-18 17:58:33 -07:00
JaredTherriault ebd1b837d6 Add function to hide tooltip in imageElements and hide tooltip on drag start 2024-04-18 10:35:48 -07:00
JaredTherriault f0e9347640 Major video update, ConfigSettings improvements, js async cancellation, load optimizations
-Roll UiSettings into SettingsManager
-Account for ConfigSettings that are objects by loading default values then loading config value son top
-Set ConfigSetting values using JSON.stringify
-Separate flyout generation into generic function
-Add video settings flyout in subfolderexplorer contexts
-Add option to control slider range value label fractional digits
-Update default slider range values to reflect 1-100 values rather than 0-1
-Rename ImageDrawerContext description to tooltip
-Update 'flex' alignment to 'normal' in context toolbars
-Automatically cancel async js operations when switching contexts
-blur or unfocus toolbar buttons on click to avoid accidental clearing or refreshing
-Get setting_ModelCardAspectRatio value as number
-Implement method to avoid lazy loading of images
-Lay some groundwork for unimplemented cancellation requests for python tasks
-Separated image list and search variables and functions to a separate script, ImageListAndSearch
-Update extra networks toolbar buttons to have a bespoke class and use specific cursor styles
-Update ImageElements 'complete' to 'bComplete' to differentiate from the img property
-Add lastSeekTime property initialization to img element
-Don't run onload if image element is already bComplete
-Sort and execute search after image is loaded (if requested). This allows search and sort to work with all of the meta data in the image.
-Click videos to pause/play
-Double click videos to toggle fullscreen
-Mute videos based on video options
-Set video volume from video options flyout
-Use scrollwheel on video to seek forward or back (seek direction depends on video options)
-Update imports
2024-04-17 14:58:59 -07:00
JaredTherriault 5bba287f29 Add CSS rules for specific flyout class 2024-04-15 21:04:11 -07:00
JaredTherriault 174edbbba6 Generify flyout creation, widget clipping improvements
-Add option to prepend value label to slider range widget factory
-Iteratively generify flyout code so it can be more easily separated from the imagedrawer
-Separated flyout generation into its own function in SettingsManager
-Attempt to mitigate issue with the height and width being too low and clipping drawer widgets
2024-04-10 20:42:37 -07:00
JaredTherriault 678550c042 Unify Video Options, add labeled checkbox factory
-Make ConfigSetting getValue and setValue functions private
-Add labeled checkbox/toggle factory
-Update some checkboxes to use the factory, probably exist some more
-Unify video options (needs an interface to interact with though)
-Preload metadata for videos now that we lazy load them
-Made some names more clear
2024-04-10 17:38:51 -07:00
JaredTherriault 9150a0beb4 Settling on consistent font experience in Lora picker 2024-04-10 16:14:46 -07:00
JaredTherriault ba50521a85 And drawer width, refactor drawer location/anchor, code cleanup
-Separate DrawerSize into DrawerWidth and DrawerHeight
-Change Drawer Location to Drawer Anchor, now 'top-left', 'bottom-left', 'top-right', 'bottom-right'
-Add height and width to context cache class
-Image width and contained text size now based on drawer width
-Cap model info box at 90% in model contexts
-Made flyout options into a table
-Flyout button now circular border with an eyeball emoji (denoting 'view options')
-Moved DrawerAnchor widget creation to UISettings.js so UI Settings and view options flyout are now using the same widget and underlying functions
-Moved some inlined CSS out to CSS file to better facilitate different drawer anchors
-Anchor close button and flyout button to the right side of the screen when the Drawer anchor is right-affined
2024-04-10 15:09:48 -07:00
JaredTherriault 33c12309f5 Sizing, anchoring and aspect ratio updates, linter adherence,
-Update img-sz to column-count var
-Minimum width in left and right mode is now fit to the content inside of it
-Fixed anchoring of sizing menu flyout in top and bottom modes
-Made all images and videos a uniform width based on the column count and max-size
-Add error handling in ImageAndVideoObserver, remove aspect ratio patch
-Add helper function to create labeled sliders or ranges
-linter adherence updates
-Add aspect ratio slider for model contexts, affects model card aspect ratio
-Add class name to extra network cards
-Fix font scaling on model cards
-Improve info box anchoring and sizing on model cards
-Improve CSS declarations
-Fix auto aspect ratio for image and video placeholders
2024-04-09 21:06:56 -07:00
JaredTherriault d3cc0ee315 Skip PreviewImage nodes when adding images to the feed 2024-04-09 16:28:07 -07:00
JaredTherriault 9eeb74b92a Disable tooltips when hovering images if a mouse button / touch is held 2024-04-09 12:12:27 -07:00
JaredTherriault a4f716e7c9 Drag and drop lora/embeddings onto canvas or textarea
-Added drag functions to lora and embeddings buttons to allow dropping loras into the canvas to create a node or either model type into textareas to insert the model as text ("<lora>" or "embedding"). the drop caret is misleading - click or make a selection first in the taget textarea then drag the button into it to insert at a specific location.
-Move undo-able text insertion to textareas into its own utility function
-Clean up imports
2024-04-08 19:43:41 -07:00
JaredTherriault 3db0dc5247 Load image and video data only when needed for the current folder in view 2024-03-30 18:37:10 -07:00
JaredTherriault 469bfd4dbc Update comment 2024-03-30 15:01:35 -07:00
JaredTherriault 4602523b9a Rename 'size' to 'dimensions' in file info, add 'file_size' to file info, 2024-03-29 21:59:17 -07:00
JaredTherriault 18b75766d0 Re-add ImageDrawer script 2024-03-29 21:10:51 -07:00
JaredTherriault 7ee5672414 Capitalize ImageDrawer script 2024-03-29 21:10:33 -07:00
JaredTherriault ccdb779860 Isolate VideoOptions class, create config instance of it 2024-03-29 21:09:53 -07:00