File tree Expand file tree Collapse file tree 1 file changed +24
-1
lines changed
kitsune/sumo/static/sumo/js Expand file tree Collapse file tree 1 file changed +24
-1
lines changed Original file line number Diff line number Diff line change @@ -102,13 +102,36 @@ document.addEventListener("DOMContentLoaded", function() {
102
102
}
103
103
} ) ;
104
104
105
+ // Process pre-existing selected options (for editing existing documents with related docs)
106
+ const preSelectedOptions = searchInput . querySelectorAll ( 'option[selected]' ) ;
107
+ if ( preSelectedOptions . length > 0 ) {
108
+
109
+ const emptyMessage = relatedDocsList . querySelector ( '.empty-message' ) ;
110
+ if ( emptyMessage ) {
111
+ emptyMessage . remove ( ) ;
112
+ }
113
+
114
+ preSelectedOptions . forEach ( option => {
115
+ const docData = {
116
+ id : option . value ,
117
+ title : option . textContent
118
+ } ;
119
+
120
+ // Add the option to TomSelect's options and selected items
121
+ tomSelect . addOption ( docData ) ;
122
+ tomSelect . addItem ( option . value , true ) ; // true = silent, don't trigger events
123
+ } ) ;
124
+ }
125
+
105
126
tomSelect . on ( 'item_remove' , function ( value ) {
106
127
const itemToRemove = relatedDocsList . querySelector ( `[data-pk="${ value } "]` ) ;
107
128
if ( itemToRemove ) {
108
129
itemToRemove . remove ( ) ;
109
130
}
110
131
111
- if ( relatedDocsList . children . length === 0 ) {
132
+ // Check if there are any document items left (li elements with data-pk attribute)
133
+ const remainingDocs = relatedDocsList . querySelectorAll ( 'li[data-pk]' ) ;
134
+ if ( remainingDocs . length === 0 ) {
112
135
const noRelatedDocs = typeof gettext !== 'undefined' ? gettext ( 'No related documents.' ) : 'No related documents.' ;
113
136
relatedDocsList . innerHTML = `<div class="empty-message">${ noRelatedDocs } </div>` ;
114
137
}
You can’t perform that action at this time.
0 commit comments