cjm-transcript-source-select 0.0.11__tar.gz → 0.0.12__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. {cjm_transcript_source_select-0.0.11/cjm_transcript_source_select.egg-info → cjm_transcript_source_select-0.0.12}/PKG-INFO +28 -27
  2. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/README.md +27 -26
  3. cjm_transcript_source_select-0.0.12/cjm_transcript_source_select/__init__.py +1 -0
  4. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/cjm_transcript_source_select/components/selection_queue.py +1 -1
  5. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/cjm_transcript_source_select/routes/local_files.py +14 -7
  6. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12/cjm_transcript_source_select.egg-info}/PKG-INFO +28 -27
  7. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/settings.ini +1 -1
  8. cjm_transcript_source_select-0.0.11/cjm_transcript_source_select/__init__.py +0 -1
  9. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/LICENSE +0 -0
  10. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/MANIFEST.in +0 -0
  11. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/cjm_transcript_source_select/_modidx.py +0 -0
  12. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/cjm_transcript_source_select/components/__init__.py +0 -0
  13. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/cjm_transcript_source_select/components/helpers.py +0 -0
  14. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/cjm_transcript_source_select/components/local_files.py +0 -0
  15. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/cjm_transcript_source_select/components/preview_panel.py +0 -0
  16. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/cjm_transcript_source_select/components/source_browser.py +0 -0
  17. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/cjm_transcript_source_select/components/step_renderer.py +0 -0
  18. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/cjm_transcript_source_select/html_ids.py +0 -0
  19. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/cjm_transcript_source_select/models.py +0 -0
  20. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/cjm_transcript_source_select/routes/__init__.py +0 -0
  21. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/cjm_transcript_source_select/routes/core.py +0 -0
  22. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/cjm_transcript_source_select/routes/filtering.py +0 -0
  23. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/cjm_transcript_source_select/routes/init.py +0 -0
  24. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/cjm_transcript_source_select/routes/queue.py +0 -0
  25. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/cjm_transcript_source_select/routes/source_browser.py +0 -0
  26. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/cjm_transcript_source_select/routes/tabs.py +0 -0
  27. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/cjm_transcript_source_select/services/__init__.py +0 -0
  28. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/cjm_transcript_source_select/services/source.py +0 -0
  29. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/cjm_transcript_source_select/services/source_utils.py +0 -0
  30. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/cjm_transcript_source_select/utils.py +0 -0
  31. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/cjm_transcript_source_select.egg-info/SOURCES.txt +0 -0
  32. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/cjm_transcript_source_select.egg-info/dependency_links.txt +0 -0
  33. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/cjm_transcript_source_select.egg-info/entry_points.txt +0 -0
  34. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/cjm_transcript_source_select.egg-info/not-zip-safe +0 -0
  35. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/cjm_transcript_source_select.egg-info/requires.txt +0 -0
  36. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/cjm_transcript_source_select.egg-info/top_level.txt +0 -0
  37. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/pyproject.toml +0 -0
  38. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/setup.cfg +0 -0
  39. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.12}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: cjm-transcript-source-select
3
- Version: 0.0.11
3
+ Version: 0.0.12
4
4
  Summary: FastHTML source selection component for transcript decomposition workflows, with federated database browsing, drag-drop ordering, and keyboard navigation.
5
5
  Home-page: https://github.com/cj-mills/cjm-transcript-source-select
6
6
  Author: Christian J. Mills
@@ -106,57 +106,57 @@ graph LR
106
106
  utils[utils<br/>utils]
107
107
 
108
108
  components_helpers --> models
109
- components_local_files --> html_ids
110
109
  components_local_files --> components_helpers
110
+ components_local_files --> html_ids
111
111
  components_preview_panel --> html_ids
112
112
  components_source_browser --> services_source_utils
113
- components_source_browser --> html_ids
114
113
  components_source_browser --> utils
115
- components_step_renderer --> components_selection_queue
116
- components_step_renderer --> models
114
+ components_source_browser --> html_ids
117
115
  components_step_renderer --> components_local_files
118
- components_step_renderer --> components_preview_panel
119
116
  components_step_renderer --> html_ids
120
- components_step_renderer --> components_source_browser
117
+ components_step_renderer --> components_preview_panel
118
+ components_step_renderer --> components_selection_queue
119
+ components_step_renderer --> models
121
120
  components_step_renderer --> utils
121
+ components_step_renderer --> components_source_browser
122
+ routes_core --> components_step_renderer
123
+ routes_core --> services_source
122
124
  routes_core --> components_selection_queue
123
125
  routes_core --> html_ids
124
- routes_core --> components_step_renderer
125
126
  routes_core --> models
126
- routes_core --> services_source
127
+ routes_filtering --> services_source_utils
127
128
  routes_filtering --> routes_core
128
- routes_filtering --> models
129
129
  routes_filtering --> services_source
130
- routes_filtering --> services_source_utils
131
- routes_init --> routes_queue
130
+ routes_filtering --> models
132
131
  routes_init --> routes_core
133
- routes_init --> models
134
- routes_init --> routes_filtering
132
+ routes_init --> routes_queue
135
133
  routes_init --> routes_tabs
134
+ routes_init --> routes_local_files
136
135
  routes_init --> services_source
136
+ routes_init --> models
137
137
  routes_init --> routes_source_browser
138
- routes_init --> routes_local_files
138
+ routes_init --> routes_filtering
139
139
  routes_local_files --> components_local_files
140
- routes_local_files --> models
141
- routes_local_files --> services_source
142
140
  routes_local_files --> routes_core
143
- routes_queue --> routes_core
144
- routes_queue --> models
141
+ routes_local_files --> services_source
142
+ routes_local_files --> models
145
143
  routes_queue --> services_source_utils
146
144
  routes_queue --> components_preview_panel
145
+ routes_queue --> routes_core
147
146
  routes_queue --> services_source
147
+ routes_queue --> models
148
+ routes_source_browser --> services_source_utils
148
149
  routes_source_browser --> components_source_browser
149
150
  routes_source_browser --> routes_core
150
- routes_source_browser --> models
151
151
  routes_source_browser --> components_preview_panel
152
- routes_source_browser --> html_ids
153
152
  routes_source_browser --> services_source
154
- routes_source_browser --> services_source_utils
155
- routes_tabs --> services_source_utils
153
+ routes_source_browser --> models
154
+ routes_source_browser --> html_ids
155
+ routes_tabs --> services_source
156
156
  routes_tabs --> routes_core
157
- routes_tabs --> components_step_renderer
158
157
  routes_tabs --> models
159
- routes_tabs --> services_source
158
+ routes_tabs --> components_step_renderer
159
+ routes_tabs --> services_source_utils
160
160
  ```
161
161
 
162
162
  *52 cross-module dependencies detected*
@@ -528,8 +528,9 @@ def _handle_remove_external_source(
528
528
  external_db_paths_ref: List[str], # Shared external paths list (mutated in place)
529
529
  fb_state_getter: Callable[[], BrowserState], # File browser state getter
530
530
  fb_state_setter: Callable[[BrowserState], None], # File browser state setter
531
- render_panel_fn: Callable, # Function to render the full local files panel
532
- ): # Local files browser component
531
+ fb_routers: FileBrowserRouters, # File browser routers (for targeted OOB)
532
+ remove_url: str, # URL for remove button in external sources list
533
+ ): # Tuple of OOB elements (external sources list + checkbox cells)
533
534
  "Remove an external database source from the Added Sources list."
534
535
  ```
535
536
 
@@ -60,57 +60,57 @@ graph LR
60
60
  utils[utils<br/>utils]
61
61
 
62
62
  components_helpers --> models
63
- components_local_files --> html_ids
64
63
  components_local_files --> components_helpers
64
+ components_local_files --> html_ids
65
65
  components_preview_panel --> html_ids
66
66
  components_source_browser --> services_source_utils
67
- components_source_browser --> html_ids
68
67
  components_source_browser --> utils
69
- components_step_renderer --> components_selection_queue
70
- components_step_renderer --> models
68
+ components_source_browser --> html_ids
71
69
  components_step_renderer --> components_local_files
72
- components_step_renderer --> components_preview_panel
73
70
  components_step_renderer --> html_ids
74
- components_step_renderer --> components_source_browser
71
+ components_step_renderer --> components_preview_panel
72
+ components_step_renderer --> components_selection_queue
73
+ components_step_renderer --> models
75
74
  components_step_renderer --> utils
75
+ components_step_renderer --> components_source_browser
76
+ routes_core --> components_step_renderer
77
+ routes_core --> services_source
76
78
  routes_core --> components_selection_queue
77
79
  routes_core --> html_ids
78
- routes_core --> components_step_renderer
79
80
  routes_core --> models
80
- routes_core --> services_source
81
+ routes_filtering --> services_source_utils
81
82
  routes_filtering --> routes_core
82
- routes_filtering --> models
83
83
  routes_filtering --> services_source
84
- routes_filtering --> services_source_utils
85
- routes_init --> routes_queue
84
+ routes_filtering --> models
86
85
  routes_init --> routes_core
87
- routes_init --> models
88
- routes_init --> routes_filtering
86
+ routes_init --> routes_queue
89
87
  routes_init --> routes_tabs
88
+ routes_init --> routes_local_files
90
89
  routes_init --> services_source
90
+ routes_init --> models
91
91
  routes_init --> routes_source_browser
92
- routes_init --> routes_local_files
92
+ routes_init --> routes_filtering
93
93
  routes_local_files --> components_local_files
94
- routes_local_files --> models
95
- routes_local_files --> services_source
96
94
  routes_local_files --> routes_core
97
- routes_queue --> routes_core
98
- routes_queue --> models
95
+ routes_local_files --> services_source
96
+ routes_local_files --> models
99
97
  routes_queue --> services_source_utils
100
98
  routes_queue --> components_preview_panel
99
+ routes_queue --> routes_core
101
100
  routes_queue --> services_source
101
+ routes_queue --> models
102
+ routes_source_browser --> services_source_utils
102
103
  routes_source_browser --> components_source_browser
103
104
  routes_source_browser --> routes_core
104
- routes_source_browser --> models
105
105
  routes_source_browser --> components_preview_panel
106
- routes_source_browser --> html_ids
107
106
  routes_source_browser --> services_source
108
- routes_source_browser --> services_source_utils
109
- routes_tabs --> services_source_utils
107
+ routes_source_browser --> models
108
+ routes_source_browser --> html_ids
109
+ routes_tabs --> services_source
110
110
  routes_tabs --> routes_core
111
- routes_tabs --> components_step_renderer
112
111
  routes_tabs --> models
113
- routes_tabs --> services_source
112
+ routes_tabs --> components_step_renderer
113
+ routes_tabs --> services_source_utils
114
114
  ```
115
115
 
116
116
  *52 cross-module dependencies detected*
@@ -482,8 +482,9 @@ def _handle_remove_external_source(
482
482
  external_db_paths_ref: List[str], # Shared external paths list (mutated in place)
483
483
  fb_state_getter: Callable[[], BrowserState], # File browser state getter
484
484
  fb_state_setter: Callable[[BrowserState], None], # File browser state setter
485
- render_panel_fn: Callable, # Function to render the full local files panel
486
- ): # Local files browser component
485
+ fb_routers: FileBrowserRouters, # File browser routers (for targeted OOB)
486
+ remove_url: str, # URL for remove button in external sources list
487
+ ): # Tuple of OOB elements (external sources list + checkbox cells)
487
488
  "Remove an external database source from the Added Sources list."
488
489
  ```
489
490
 
@@ -0,0 +1 @@
1
+ __version__ = "0.0.12"
@@ -54,7 +54,7 @@ def _render_queue_empty() -> Any: # Empty state element
54
54
  """Render the custom empty state for the source selection queue."""
55
55
  return P(
56
56
  "Select transcriptions from the browser",
57
- cls=combine_classes(text_dui.base_content.opacity(30), text_align.center, font_size.xs)
57
+ cls=combine_classes(text_dui.base_content.opacity(50), text_align.center, font_size.sm, p(2))
58
58
  )
59
59
 
60
60
  # %% ../../nbs/components/selection_queue.ipynb #17uipzddaut
@@ -54,23 +54,29 @@ def _handle_remove_external_source(
54
54
  external_db_paths_ref: List[str], # Shared external paths list (mutated in place)
55
55
  fb_state_getter: Callable[[], BrowserState], # File browser state getter
56
56
  fb_state_setter: Callable[[BrowserState], None], # File browser state setter
57
- render_panel_fn: Callable, # Function to render the full local files panel
58
- ): # Local files browser component
57
+ fb_routers: FileBrowserRouters, # File browser routers (for targeted OOB)
58
+ remove_url: str, # URL for remove button in external sources list
59
+ ): # Tuple of OOB elements (external sources list + checkbox cells)
59
60
  """Remove an external database source from the Added Sources list."""
60
61
  session_id = get_session_id(sess)
61
-
62
+
62
63
  # Remove the path if it exists
63
64
  if db_path in external_db_paths_ref:
64
65
  external_db_paths_ref.remove(db_path)
65
66
  _update_step_state(state_store, workflow_id, session_id, external_db_paths=list(external_db_paths_ref))
66
67
  source_service.set_external_paths(list(external_db_paths_ref))
67
-
68
+
68
69
  # Sync browser selection state with external_db_paths for checkbox display
69
70
  browser_state = fb_state_getter()
70
71
  browser_state.selection.selected_paths = list(external_db_paths_ref)
71
72
  fb_state_setter(browser_state)
72
-
73
- return render_panel_fn()
73
+
74
+ # Targeted OOB updates instead of full panel re-render
75
+ checkbox_oobs = fb_routers.render_selection_oobs([db_path])
76
+ external_list_oob = _render_external_sources_list(
77
+ list(external_db_paths_ref), remove_url, oob=True,
78
+ )
79
+ return (external_list_oob, *checkbox_oobs)
74
80
 
75
81
  # %% ../../nbs/routes/local_files.ipynb #rdrpw4jrxpc
76
82
  def init_local_files_router(
@@ -178,7 +184,8 @@ def init_local_files_router(
178
184
  external_db_paths_ref=_external_db_paths,
179
185
  fb_state_getter=_fb_state_getter,
180
186
  fb_state_setter=_fb_state_setter,
181
- render_panel_fn=_render_panel,
187
+ fb_routers=fb_routers,
188
+ remove_url=urls.remove_external,
182
189
  )
183
190
 
184
191
  # All routers to register
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: cjm-transcript-source-select
3
- Version: 0.0.11
3
+ Version: 0.0.12
4
4
  Summary: FastHTML source selection component for transcript decomposition workflows, with federated database browsing, drag-drop ordering, and keyboard navigation.
5
5
  Home-page: https://github.com/cj-mills/cjm-transcript-source-select
6
6
  Author: Christian J. Mills
@@ -106,57 +106,57 @@ graph LR
106
106
  utils[utils<br/>utils]
107
107
 
108
108
  components_helpers --> models
109
- components_local_files --> html_ids
110
109
  components_local_files --> components_helpers
110
+ components_local_files --> html_ids
111
111
  components_preview_panel --> html_ids
112
112
  components_source_browser --> services_source_utils
113
- components_source_browser --> html_ids
114
113
  components_source_browser --> utils
115
- components_step_renderer --> components_selection_queue
116
- components_step_renderer --> models
114
+ components_source_browser --> html_ids
117
115
  components_step_renderer --> components_local_files
118
- components_step_renderer --> components_preview_panel
119
116
  components_step_renderer --> html_ids
120
- components_step_renderer --> components_source_browser
117
+ components_step_renderer --> components_preview_panel
118
+ components_step_renderer --> components_selection_queue
119
+ components_step_renderer --> models
121
120
  components_step_renderer --> utils
121
+ components_step_renderer --> components_source_browser
122
+ routes_core --> components_step_renderer
123
+ routes_core --> services_source
122
124
  routes_core --> components_selection_queue
123
125
  routes_core --> html_ids
124
- routes_core --> components_step_renderer
125
126
  routes_core --> models
126
- routes_core --> services_source
127
+ routes_filtering --> services_source_utils
127
128
  routes_filtering --> routes_core
128
- routes_filtering --> models
129
129
  routes_filtering --> services_source
130
- routes_filtering --> services_source_utils
131
- routes_init --> routes_queue
130
+ routes_filtering --> models
132
131
  routes_init --> routes_core
133
- routes_init --> models
134
- routes_init --> routes_filtering
132
+ routes_init --> routes_queue
135
133
  routes_init --> routes_tabs
134
+ routes_init --> routes_local_files
136
135
  routes_init --> services_source
136
+ routes_init --> models
137
137
  routes_init --> routes_source_browser
138
- routes_init --> routes_local_files
138
+ routes_init --> routes_filtering
139
139
  routes_local_files --> components_local_files
140
- routes_local_files --> models
141
- routes_local_files --> services_source
142
140
  routes_local_files --> routes_core
143
- routes_queue --> routes_core
144
- routes_queue --> models
141
+ routes_local_files --> services_source
142
+ routes_local_files --> models
145
143
  routes_queue --> services_source_utils
146
144
  routes_queue --> components_preview_panel
145
+ routes_queue --> routes_core
147
146
  routes_queue --> services_source
147
+ routes_queue --> models
148
+ routes_source_browser --> services_source_utils
148
149
  routes_source_browser --> components_source_browser
149
150
  routes_source_browser --> routes_core
150
- routes_source_browser --> models
151
151
  routes_source_browser --> components_preview_panel
152
- routes_source_browser --> html_ids
153
152
  routes_source_browser --> services_source
154
- routes_source_browser --> services_source_utils
155
- routes_tabs --> services_source_utils
153
+ routes_source_browser --> models
154
+ routes_source_browser --> html_ids
155
+ routes_tabs --> services_source
156
156
  routes_tabs --> routes_core
157
- routes_tabs --> components_step_renderer
158
157
  routes_tabs --> models
159
- routes_tabs --> services_source
158
+ routes_tabs --> components_step_renderer
159
+ routes_tabs --> services_source_utils
160
160
  ```
161
161
 
162
162
  *52 cross-module dependencies detected*
@@ -528,8 +528,9 @@ def _handle_remove_external_source(
528
528
  external_db_paths_ref: List[str], # Shared external paths list (mutated in place)
529
529
  fb_state_getter: Callable[[], BrowserState], # File browser state getter
530
530
  fb_state_setter: Callable[[BrowserState], None], # File browser state setter
531
- render_panel_fn: Callable, # Function to render the full local files panel
532
- ): # Local files browser component
531
+ fb_routers: FileBrowserRouters, # File browser routers (for targeted OOB)
532
+ remove_url: str, # URL for remove button in external sources list
533
+ ): # Tuple of OOB elements (external sources list + checkbox cells)
533
534
  "Remove an external database source from the Added Sources list."
534
535
  ```
535
536
 
@@ -1,7 +1,7 @@
1
1
  [DEFAULT]
2
2
  repo = cjm-transcript-source-select
3
3
  lib_name = cjm-transcript-source-select
4
- version = 0.0.11
4
+ version = 0.0.12
5
5
  min_python = 3.12
6
6
  license = apache2
7
7
  black_formatting = False
@@ -1 +0,0 @@
1
- __version__ = "0.0.11"