Loading lib/jsduck/members.rb +15 −2 Original line number Diff line number Diff line Loading @@ -9,16 +9,29 @@ module JsDuck def create(docs) list = [] docs.each do |cls| list << class_node(cls) [:cfg, :property, :method, :event].each do |type| cls.members(type).each do |m| # skip inherited items list << member_node(m, cls) if m[:member] == cls.full_name # skip inherited items and constructors if m[:member] == cls.full_name && m[:name] != cls.short_name list << member_node(m, cls) end end end end list end # Creates structure representing one class def class_node(cls) return { :cls => cls.full_name, :member => cls.short_name, :type => :cls, :doc => short_desc(cls[:doc]) } end # Creates structure representing one member def member_node(member, cls) return { Loading template/resources/docs.js +8 −2 Original line number Diff line number Diff line Loading @@ -329,12 +329,18 @@ Ext.extend(MainPanel, Ext.TabPanel, { var resultTpl = new Ext.XTemplate( '<tpl for=".">', '<div class="search-item">', '<a class="member docClass" rel="{cls}#{member}" href="output/{cls}.html">', '<a class="member docClass" rel="{[this.rel(values)]}" href="output/{cls}.html">', '<img src="resources/images/default/s.gif" class="item-icon icon-{type}"/>{member}', '</a> ', '<a class="cls docClass" rel="{cls}" href="output/{cls}.html">{cls}</a>', '<p>{doc}</p>', '</div></tpl>' '</div></tpl>', { // Different links to classes and members rel: function(values) { return (values.type === "cls") ? values.cls : values.cls+"#"+values.member; } } ); var p = new Ext.DataView({ Loading Loading
lib/jsduck/members.rb +15 −2 Original line number Diff line number Diff line Loading @@ -9,16 +9,29 @@ module JsDuck def create(docs) list = [] docs.each do |cls| list << class_node(cls) [:cfg, :property, :method, :event].each do |type| cls.members(type).each do |m| # skip inherited items list << member_node(m, cls) if m[:member] == cls.full_name # skip inherited items and constructors if m[:member] == cls.full_name && m[:name] != cls.short_name list << member_node(m, cls) end end end end list end # Creates structure representing one class def class_node(cls) return { :cls => cls.full_name, :member => cls.short_name, :type => :cls, :doc => short_desc(cls[:doc]) } end # Creates structure representing one member def member_node(member, cls) return { Loading
template/resources/docs.js +8 −2 Original line number Diff line number Diff line Loading @@ -329,12 +329,18 @@ Ext.extend(MainPanel, Ext.TabPanel, { var resultTpl = new Ext.XTemplate( '<tpl for=".">', '<div class="search-item">', '<a class="member docClass" rel="{cls}#{member}" href="output/{cls}.html">', '<a class="member docClass" rel="{[this.rel(values)]}" href="output/{cls}.html">', '<img src="resources/images/default/s.gif" class="item-icon icon-{type}"/>{member}', '</a> ', '<a class="cls docClass" rel="{cls}" href="output/{cls}.html">{cls}</a>', '<p>{doc}</p>', '</div></tpl>' '</div></tpl>', { // Different links to classes and members rel: function(values) { return (values.type === "cls") ? values.cls : values.cls+"#"+values.member; } } ); var p = new Ext.DataView({ Loading