Loading lib/jsduck/app_data.rb +1 −1 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ module JsDuck :guides => @assets.guides.to_array, :videos => @assets.videos.to_array, :examples => @assets.examples.to_array, :search => SearchData.new.create(@relations.classes), :search => SearchData.new.create(@relations.classes, @assets), :stats => @opts.stats ? Stats.new.create(@relations.classes) : [], :signatures => MetaTagRegistry.instance.signatures, :localStorageDb => @opts.local_storage_db, Loading lib/jsduck/search_data.rb +48 −4 Original line number Diff line number Diff line Loading @@ -4,11 +4,12 @@ module JsDuck # Creates list of all members in all classes that is used by the # searching feature in UI. class SearchData # Given list of class documentation objects returns an array of # hashes describing all the members. def create(docs) # Given list of classes and other assets, returns an array of # hashes describing the search data. def create(classes, assets) list = [] docs.each do |cls| classes.each do |cls| list << class_node(cls) cls[:alternateClassNames].each do |name| Loading @@ -32,6 +33,13 @@ module JsDuck end end end assets.guides.each_item {|g| list << guide_node(g) } assets.videos.each_item {|v| list << video_node(v) } assets.examples.each_item {|e| list << example_node(e) } list end Loading Loading @@ -84,6 +92,42 @@ module JsDuck } end # Creates structure representing one guide def guide_node(guide) return { :name => guide["title"], :fullName => "guide: " + guide["title"], :icon => "icon-guide", :url => "#!/guide/" + guide["name"], :meta => {}, :sort => 4, } end # Creates structure representing one video def video_node(video) return { :name => video["title"], :fullName => "video: " + video["title"], :icon => "icon-video", :url => "#!/video/" + video["name"], :meta => {}, :sort => 4, } end # Creates structure representing one example def example_node(example) return { :name => example["title"], :fullName => "example: " + example["title"], :icon => "icon-example", :url => "#!/example/" + example["name"], :meta => {}, :sort => 4, } end # Some alias types are shown differently. # e.g. instead of "widget:" we show "xtype:" def alias_display_name(key) Loading template/app/ClassRegistry.js +2 −2 Original line number Diff line number Diff line Loading @@ -32,10 +32,10 @@ Ext.define("Docs.ClassRegistry", { * ordered by best matches first. */ search: function(text) { // Each record has 1 of 4 possible sorting orders, // Each record has 1 of 5 possible sorting orders, // which is *3 by it being public/private/removed, // and *3 by full/beginning/middle matches. var results = new Array(4 * 3 * 3); var results = new Array(5 * 3 * 3); for (var i=0; i<results.length; i++) { results[i] = []; } Loading template/resources/sass/_header.scss +3 −0 Original line number Diff line number Diff line Loading @@ -84,6 +84,9 @@ border-style: solid; border-color: $docs-border-color; color: #605f5f; // Avoid wrapping titles of guides, videos, etc. .title, .class { white-space: pre; } .title { font-weight: bold; overflow: hidden; Loading Loading
lib/jsduck/app_data.rb +1 −1 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ module JsDuck :guides => @assets.guides.to_array, :videos => @assets.videos.to_array, :examples => @assets.examples.to_array, :search => SearchData.new.create(@relations.classes), :search => SearchData.new.create(@relations.classes, @assets), :stats => @opts.stats ? Stats.new.create(@relations.classes) : [], :signatures => MetaTagRegistry.instance.signatures, :localStorageDb => @opts.local_storage_db, Loading
lib/jsduck/search_data.rb +48 −4 Original line number Diff line number Diff line Loading @@ -4,11 +4,12 @@ module JsDuck # Creates list of all members in all classes that is used by the # searching feature in UI. class SearchData # Given list of class documentation objects returns an array of # hashes describing all the members. def create(docs) # Given list of classes and other assets, returns an array of # hashes describing the search data. def create(classes, assets) list = [] docs.each do |cls| classes.each do |cls| list << class_node(cls) cls[:alternateClassNames].each do |name| Loading @@ -32,6 +33,13 @@ module JsDuck end end end assets.guides.each_item {|g| list << guide_node(g) } assets.videos.each_item {|v| list << video_node(v) } assets.examples.each_item {|e| list << example_node(e) } list end Loading Loading @@ -84,6 +92,42 @@ module JsDuck } end # Creates structure representing one guide def guide_node(guide) return { :name => guide["title"], :fullName => "guide: " + guide["title"], :icon => "icon-guide", :url => "#!/guide/" + guide["name"], :meta => {}, :sort => 4, } end # Creates structure representing one video def video_node(video) return { :name => video["title"], :fullName => "video: " + video["title"], :icon => "icon-video", :url => "#!/video/" + video["name"], :meta => {}, :sort => 4, } end # Creates structure representing one example def example_node(example) return { :name => example["title"], :fullName => "example: " + example["title"], :icon => "icon-example", :url => "#!/example/" + example["name"], :meta => {}, :sort => 4, } end # Some alias types are shown differently. # e.g. instead of "widget:" we show "xtype:" def alias_display_name(key) Loading
template/app/ClassRegistry.js +2 −2 Original line number Diff line number Diff line Loading @@ -32,10 +32,10 @@ Ext.define("Docs.ClassRegistry", { * ordered by best matches first. */ search: function(text) { // Each record has 1 of 4 possible sorting orders, // Each record has 1 of 5 possible sorting orders, // which is *3 by it being public/private/removed, // and *3 by full/beginning/middle matches. var results = new Array(4 * 3 * 3); var results = new Array(5 * 3 * 3); for (var i=0; i<results.length; i++) { results[i] = []; } Loading
template/resources/sass/_header.scss +3 −0 Original line number Diff line number Diff line Loading @@ -84,6 +84,9 @@ border-style: solid; border-color: $docs-border-color; color: #605f5f; // Avoid wrapping titles of guides, videos, etc. .title, .class { white-space: pre; } .title { font-weight: bold; overflow: hidden; Loading