Commit 5e4d1f79 authored by Rene Saarsoo's avatar Rene Saarsoo
Browse files

Extract ClassIcons class.

parent 545f1088
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
require 'jsduck/render/class'
require 'jsduck/exporter/full'
require 'jsduck/tag_registry'
require 'jsduck/web/class_icons'

module JsDuck
  module Exporter
@@ -18,7 +19,7 @@ module JsDuck
      def export(cls)
        data = @full_exporter.export(cls)

        data[:classIcon] = Web::Icons.class_icon(cls)
        data[:classIcon] = Web::ClassIcons.get(cls)
        data[:superclasses] = cls.superclasses.collect {|c| c[:name] }
        data[:subclasses] = @relations.subclasses(cls).collect {|c| c[:name] }.sort
        data[:mixedInto] = @relations.mixed_into(cls).collect {|c| c[:name] }.sort
+19 −0
Original line number Diff line number Diff line
require 'jsduck/tag_registry'

module JsDuck
  module Web
    class ClassIcons
      # Returns CSS class name for an icon of class
      def self.get(cls)
        TagRegistry.class_icon_providers.each do |tagname|
          if cls[tagname]
            return TagRegistry.get_by_name(tagname).class_icon
          end
        end

        return "icon-class"
      end
    end

  end
end
+2 −13
Original line number Diff line number Diff line
require 'jsduck/tag_registry'
require 'jsduck/web/class_icons'

module JsDuck
  module Web
@@ -12,21 +12,10 @@ module JsDuck
            :name => cls[:name],
            :extends => cls[:extends],
            :private => cls[:private],
            :icon => Web::Icons::class_icon(cls),
            :icon => Web::ClassIcons.get(cls),
          }
        end
      end

      # Returns CSS class name for an icon of class
      def self.class_icon(cls)
        TagRegistry.class_icon_providers.each do |tagname|
          if cls[tagname]
            return TagRegistry.get_by_name(tagname).class_icon
          end
        end

        return "icon-class"
      end
    end

  end
+4 −4
Original line number Diff line number Diff line
require 'jsduck/web/icons'
require 'jsduck/web/class_icons'
require 'jsduck/class_name'
require 'jsduck/tag_registry'

@@ -52,7 +52,7 @@ module JsDuck
        return {
          :name => name,
          :fullName => alias_display_name(key)+": "+name,
          :icon => Web::Icons::class_icon(cls) + "-redirect",
          :icon => Web::ClassIcons.get(cls) + "-redirect",
          :url => "#!/api/" + cls[:name],
          :meta => combine_meta(cls),
          :sort => 0,
@@ -63,7 +63,7 @@ module JsDuck
        return {
          :name => ClassName.short(cls[:name]),
          :fullName => cls[:name],
          :icon => Web::Icons::class_icon(cls),
          :icon => Web::ClassIcons.get(cls),
          :url => "#!/api/" + cls[:name],
          :meta => combine_meta(cls),
          :sort => 1,
@@ -75,7 +75,7 @@ module JsDuck
          :name => ClassName.short(name),
          :fullName => name,
          :type => :class,
          :icon => Web::Icons::class_icon(cls) + "-redirect",
          :icon => Web::ClassIcons.get(cls) + "-redirect",
          :url => "#!/api/" + cls[:name],
          :meta => combine_meta(cls),
          :sort => 2,