cjm-transcript-source-select 0.0.11__tar.gz → 0.0.13__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.13}/PKG-INFO +30 -29
  2. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.13}/README.md +29 -28
  3. cjm_transcript_source_select-0.0.13/cjm_transcript_source_select/__init__.py +1 -0
  4. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.13}/cjm_transcript_source_select/components/selection_queue.py +1 -1
  5. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.13}/cjm_transcript_source_select/routes/local_files.py +14 -7
  6. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.13/cjm_transcript_source_select.egg-info}/PKG-INFO +30 -29
  7. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.13}/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.13}/LICENSE +0 -0
  10. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.13}/MANIFEST.in +0 -0
  11. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.13}/cjm_transcript_source_select/_modidx.py +0 -0
  12. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.13}/cjm_transcript_source_select/components/__init__.py +0 -0
  13. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.13}/cjm_transcript_source_select/components/helpers.py +0 -0
  14. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.13}/cjm_transcript_source_select/components/local_files.py +0 -0
  15. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.13}/cjm_transcript_source_select/components/preview_panel.py +0 -0
  16. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.13}/cjm_transcript_source_select/components/source_browser.py +0 -0
  17. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.13}/cjm_transcript_source_select/components/step_renderer.py +0 -0
  18. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.13}/cjm_transcript_source_select/html_ids.py +0 -0
  19. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.13}/cjm_transcript_source_select/models.py +0 -0
  20. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.13}/cjm_transcript_source_select/routes/__init__.py +0 -0
  21. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.13}/cjm_transcript_source_select/routes/core.py +0 -0
  22. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.13}/cjm_transcript_source_select/routes/filtering.py +0 -0
  23. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.13}/cjm_transcript_source_select/routes/init.py +0 -0
  24. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.13}/cjm_transcript_source_select/routes/queue.py +0 -0
  25. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.13}/cjm_transcript_source_select/routes/source_browser.py +0 -0
  26. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.13}/cjm_transcript_source_select/routes/tabs.py +0 -0
  27. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.13}/cjm_transcript_source_select/services/__init__.py +0 -0
  28. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.13}/cjm_transcript_source_select/services/source.py +0 -0
  29. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.13}/cjm_transcript_source_select/services/source_utils.py +0 -0
  30. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.13}/cjm_transcript_source_select/utils.py +0 -0
  31. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.13}/cjm_transcript_source_select.egg-info/SOURCES.txt +0 -0
  32. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.13}/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.13}/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.13}/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.13}/cjm_transcript_source_select.egg-info/requires.txt +0 -0
  36. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.13}/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.13}/pyproject.toml +0 -0
  38. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.13}/setup.cfg +0 -0
  39. {cjm_transcript_source_select-0.0.11 → cjm_transcript_source_select-0.0.13}/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.13
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
114
+ components_source_browser --> html_ids
115
115
  components_step_renderer --> components_selection_queue
116
- components_step_renderer --> models
117
- components_step_renderer --> components_local_files
118
- components_step_renderer --> components_preview_panel
119
- components_step_renderer --> html_ids
120
116
  components_step_renderer --> components_source_browser
121
117
  components_step_renderer --> utils
118
+ components_step_renderer --> components_local_files
119
+ components_step_renderer --> html_ids
120
+ components_step_renderer --> components_preview_panel
121
+ components_step_renderer --> models
122
122
  routes_core --> components_selection_queue
123
+ routes_core --> services_source
123
124
  routes_core --> html_ids
124
- routes_core --> components_step_renderer
125
125
  routes_core --> models
126
- routes_core --> services_source
126
+ routes_core --> components_step_renderer
127
+ routes_filtering --> services_source_utils
128
+ routes_filtering --> services_source
127
129
  routes_filtering --> routes_core
128
130
  routes_filtering --> models
129
- routes_filtering --> services_source
130
- routes_filtering --> services_source_utils
131
- routes_init --> routes_queue
132
131
  routes_init --> routes_core
133
- routes_init --> models
134
- routes_init --> routes_filtering
135
- routes_init --> routes_tabs
136
132
  routes_init --> services_source
137
133
  routes_init --> routes_source_browser
134
+ routes_init --> routes_filtering
138
135
  routes_init --> routes_local_files
136
+ routes_init --> routes_queue
137
+ routes_init --> models
138
+ routes_init --> routes_tabs
139
139
  routes_local_files --> components_local_files
140
- routes_local_files --> models
141
140
  routes_local_files --> services_source
142
141
  routes_local_files --> routes_core
143
- routes_queue --> routes_core
144
- routes_queue --> models
142
+ routes_local_files --> models
145
143
  routes_queue --> services_source_utils
146
- routes_queue --> components_preview_panel
147
144
  routes_queue --> services_source
148
- routes_source_browser --> components_source_browser
145
+ routes_queue --> routes_core
146
+ routes_queue --> components_preview_panel
147
+ routes_queue --> models
149
148
  routes_source_browser --> routes_core
150
- routes_source_browser --> models
151
- routes_source_browser --> components_preview_panel
152
- routes_source_browser --> html_ids
153
- routes_source_browser --> services_source
154
149
  routes_source_browser --> services_source_utils
155
- routes_tabs --> services_source_utils
156
- routes_tabs --> routes_core
150
+ routes_source_browser --> components_source_browser
151
+ routes_source_browser --> services_source
152
+ routes_source_browser --> html_ids
153
+ routes_source_browser --> components_preview_panel
154
+ routes_source_browser --> models
157
155
  routes_tabs --> components_step_renderer
158
- routes_tabs --> models
156
+ routes_tabs --> routes_core
157
+ routes_tabs --> services_source_utils
159
158
  routes_tabs --> services_source
159
+ routes_tabs --> models
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
68
+ components_source_browser --> html_ids
69
69
  components_step_renderer --> components_selection_queue
70
- components_step_renderer --> models
71
- components_step_renderer --> components_local_files
72
- components_step_renderer --> components_preview_panel
73
- components_step_renderer --> html_ids
74
70
  components_step_renderer --> components_source_browser
75
71
  components_step_renderer --> utils
72
+ components_step_renderer --> components_local_files
73
+ components_step_renderer --> html_ids
74
+ components_step_renderer --> components_preview_panel
75
+ components_step_renderer --> models
76
76
  routes_core --> components_selection_queue
77
+ routes_core --> services_source
77
78
  routes_core --> html_ids
78
- routes_core --> components_step_renderer
79
79
  routes_core --> models
80
- routes_core --> services_source
80
+ routes_core --> components_step_renderer
81
+ routes_filtering --> services_source_utils
82
+ routes_filtering --> services_source
81
83
  routes_filtering --> routes_core
82
84
  routes_filtering --> models
83
- routes_filtering --> services_source
84
- routes_filtering --> services_source_utils
85
- routes_init --> routes_queue
86
85
  routes_init --> routes_core
87
- routes_init --> models
88
- routes_init --> routes_filtering
89
- routes_init --> routes_tabs
90
86
  routes_init --> services_source
91
87
  routes_init --> routes_source_browser
88
+ routes_init --> routes_filtering
92
89
  routes_init --> routes_local_files
90
+ routes_init --> routes_queue
91
+ routes_init --> models
92
+ routes_init --> routes_tabs
93
93
  routes_local_files --> components_local_files
94
- routes_local_files --> models
95
94
  routes_local_files --> services_source
96
95
  routes_local_files --> routes_core
97
- routes_queue --> routes_core
98
- routes_queue --> models
96
+ routes_local_files --> models
99
97
  routes_queue --> services_source_utils
100
- routes_queue --> components_preview_panel
101
98
  routes_queue --> services_source
102
- routes_source_browser --> components_source_browser
99
+ routes_queue --> routes_core
100
+ routes_queue --> components_preview_panel
101
+ routes_queue --> models
103
102
  routes_source_browser --> routes_core
104
- routes_source_browser --> models
105
- routes_source_browser --> components_preview_panel
106
- routes_source_browser --> html_ids
107
- routes_source_browser --> services_source
108
103
  routes_source_browser --> services_source_utils
109
- routes_tabs --> services_source_utils
110
- routes_tabs --> routes_core
104
+ routes_source_browser --> components_source_browser
105
+ routes_source_browser --> services_source
106
+ routes_source_browser --> html_ids
107
+ routes_source_browser --> components_preview_panel
108
+ routes_source_browser --> models
111
109
  routes_tabs --> components_step_renderer
112
- routes_tabs --> models
110
+ routes_tabs --> routes_core
111
+ routes_tabs --> services_source_utils
113
112
  routes_tabs --> services_source
113
+ routes_tabs --> models
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.13"
@@ -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.md, p(4))
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.13
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
114
+ components_source_browser --> html_ids
115
115
  components_step_renderer --> components_selection_queue
116
- components_step_renderer --> models
117
- components_step_renderer --> components_local_files
118
- components_step_renderer --> components_preview_panel
119
- components_step_renderer --> html_ids
120
116
  components_step_renderer --> components_source_browser
121
117
  components_step_renderer --> utils
118
+ components_step_renderer --> components_local_files
119
+ components_step_renderer --> html_ids
120
+ components_step_renderer --> components_preview_panel
121
+ components_step_renderer --> models
122
122
  routes_core --> components_selection_queue
123
+ routes_core --> services_source
123
124
  routes_core --> html_ids
124
- routes_core --> components_step_renderer
125
125
  routes_core --> models
126
- routes_core --> services_source
126
+ routes_core --> components_step_renderer
127
+ routes_filtering --> services_source_utils
128
+ routes_filtering --> services_source
127
129
  routes_filtering --> routes_core
128
130
  routes_filtering --> models
129
- routes_filtering --> services_source
130
- routes_filtering --> services_source_utils
131
- routes_init --> routes_queue
132
131
  routes_init --> routes_core
133
- routes_init --> models
134
- routes_init --> routes_filtering
135
- routes_init --> routes_tabs
136
132
  routes_init --> services_source
137
133
  routes_init --> routes_source_browser
134
+ routes_init --> routes_filtering
138
135
  routes_init --> routes_local_files
136
+ routes_init --> routes_queue
137
+ routes_init --> models
138
+ routes_init --> routes_tabs
139
139
  routes_local_files --> components_local_files
140
- routes_local_files --> models
141
140
  routes_local_files --> services_source
142
141
  routes_local_files --> routes_core
143
- routes_queue --> routes_core
144
- routes_queue --> models
142
+ routes_local_files --> models
145
143
  routes_queue --> services_source_utils
146
- routes_queue --> components_preview_panel
147
144
  routes_queue --> services_source
148
- routes_source_browser --> components_source_browser
145
+ routes_queue --> routes_core
146
+ routes_queue --> components_preview_panel
147
+ routes_queue --> models
149
148
  routes_source_browser --> routes_core
150
- routes_source_browser --> models
151
- routes_source_browser --> components_preview_panel
152
- routes_source_browser --> html_ids
153
- routes_source_browser --> services_source
154
149
  routes_source_browser --> services_source_utils
155
- routes_tabs --> services_source_utils
156
- routes_tabs --> routes_core
150
+ routes_source_browser --> components_source_browser
151
+ routes_source_browser --> services_source
152
+ routes_source_browser --> html_ids
153
+ routes_source_browser --> components_preview_panel
154
+ routes_source_browser --> models
157
155
  routes_tabs --> components_step_renderer
158
- routes_tabs --> models
156
+ routes_tabs --> routes_core
157
+ routes_tabs --> services_source_utils
159
158
  routes_tabs --> services_source
159
+ routes_tabs --> models
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.13
5
5
  min_python = 3.12
6
6
  license = apache2
7
7
  black_formatting = False
@@ -1 +0,0 @@
1
- __version__ = "0.0.11"