@@ -6,6 +6,7 @@ $(document).ready(function () {
66 $ ( "#browseWorkspace" ) . click ( onBrowseWorkspaceHandler ) ;
77 $ ( "#loadModulesBtn" ) . click ( onLoadModulesHandler ) ;
88 $ ( "#importProjectBtn" ) . click ( onImportProjectHandler ) ;
9+ $ ( "input#useSelected" ) . click ( onFilterChange ) ;
910 $ ( "input#filterModules" ) . on ( "input" , onFilterChange ) ;
1011 $ ( "#resetFilter" ) . click ( onResetFilter ) ;
1112} ) ;
@@ -66,8 +67,9 @@ function onImportProjectHandler () {
6667function onFilterChange ( ) {
6768 const topLevel = $ ( "div#moduleList > ul" ) ;
6869 let filter = $ ( "input#filterModules" ) . val ( ) . toLowerCase ( ) . trim ( ) ;
69- if ( filter && filter . length > 0 ) {
70- filterModules ( topLevel , filter ) ;
70+ const useSelected = $ ( "input#useSelected" ) . prop ( "checked" ) ;
71+ if ( ( filter && filter . length > 0 ) || ( true === useSelected ) ) {
72+ filterModules ( topLevel , filter , useSelected ) ;
7173 } else {
7274 resetFilteredModules ( ) ;
7375 }
@@ -96,19 +98,21 @@ function disableImportBtn (enabled) {
9698 $ ( "#importProjectBtn" ) . attr ( "disabled" , enabled ) ;
9799}
98100
99- function disableFilterTxt ( enabled ) {
101+ function disableFilterSet ( enabled ) {
100102 $ ( "input#filterModules" ) . attr ( "disabled" , enabled ) ;
101103 $ ( "#resetFilter" ) . attr ( "disabled" , enabled ) ;
104+ $ ( "input#useSelected" ) . attr ( "disabled" , enabled ) ;
102105}
103106
104107function clearFilter ( ) {
105108 $ ( "input#filterModules" ) . val ( "" ) ;
109+ $ ( "input#useSelected" ) . prop ( "checked" , false ) ;
106110}
107111
108112function clearModules ( ) {
109113 $ ( "#moduleList" ) . empty ( ) ;
110114 disableImportBtn ( true ) ;
111- disableFilterTxt ( true ) ;
115+ disableFilterSet ( true ) ;
112116 clearFilter ( ) ;
113117}
114118
@@ -133,7 +137,7 @@ function listModules (message) {
133137 if ( modules !== null ) {
134138 if ( modules . length > 0 ) {
135139 disableImportBtn ( false ) ;
136- disableFilterTxt ( false ) ;
140+ disableFilterSet ( false ) ;
137141 const topList = $ ( "<ul></ul>" ) . appendTo ( "div#moduleList" ) ;
138142 for ( i = 0 ; i < modules . length ; i ++ ) {
139143 addNode ( modules [ i ] , topList ) ;
@@ -179,14 +183,17 @@ function addNode (module, parentNode) {
179183 }
180184}
181185
182- function filterModules ( parentNode , filter ) {
186+ function filterModules ( parentNode , filter , useSelected ) {
183187 let filtered = false ;
184188 parentNode . children ( "li" ) . each ( function ( ) {
185189 const cbNode = $ ( this ) . children ( "input" ) . first ( ) ;
186190 let filteredModule = cbNode . attr ( "name" ) . toLowerCase ( ) . includes ( filter ) ;
191+ if ( true === useSelected ) {
192+ filteredModule = filteredModule && cbNode . prop ( "checked" ) ;
193+ }
187194 const nested = $ ( this ) . children ( "ul" ) . first ( ) ;
188195 if ( nested && nested . length ) {
189- const nestedFiltered = filterModules ( nested , filter ) ;
196+ const nestedFiltered = filterModules ( nested , filter , useSelected ) ;
190197 filteredModule = ( filteredModule || nestedFiltered ) ;
191198 }
192199 filtered = ( filtered || filteredModule ) ;
0 commit comments