| <head> |
| <link rel="import" href="curly_block.html"> |
| <link rel="import" href="observatory_element.html"> |
| <link rel="import" href="service_ref.html"> |
| </head> |
| <polymer-element name="instance-ref" extends="service-ref"> |
| <template> |
| <style> |
| .memberList { |
| display: table; |
| } |
| .memberItem { |
| display: table-row; |
| } |
| .memberName, .memberValue { |
| display: table-cell; |
| vertical-align: top; |
| padding: 3px 0 3px 1em; |
| font: 400 14px 'Montserrat', sans-serif; |
| } |
| </style> |
| <div> |
| <template if="{{ isUnexpected(ref.serviceType) }}"> |
| unexpected reference type <{{ ref.serviceType }}> |
| </template> |
| |
| <template if="{{ isError(ref.serviceType) }}"> |
| <pre>{{ ref.message }}</pre> |
| </template> |
| |
| <template if="{{ isNull(ref.serviceType) }}"> |
| <div title="{{ hoverText }}">{{ ref['preview'] }}</div> |
| </template> |
| |
| <template if="{{ (isString(ref.serviceType) || |
| isBool(ref.serviceType) || |
| isInt(ref.serviceType)) }}"> |
| <a href="{{ url }}">{{ ref['preview'] }}</a> |
| </template> |
| |
| <template if="{{ isClosure(ref.serviceType) }}"> |
| <a href="{{ url }}"> |
| <!-- TODO(turnidge): Switch this to fully-qualified function --> |
| {{ ref['closureFunc']['user_name'] }} |
| </a> |
| </template> |
| |
| <template if="{{ isInstance(ref.serviceType) }}"> |
| <a href="{{ url }}"><em>{{ ref['class']['user_name'] }}</em></a> |
| <curly-block callback="{{ expander() }}"> |
| <div class="memberList"> |
| <template repeat="{{ field in ref['fields'] }}"> |
| <div class="memberItem"> |
| <div class="memberName"> |
| {{ field['decl']['user_name'] }} |
| </div> |
| <div class="memberValue"> |
| <instance-ref ref="{{ field['value'] }}"></instance-ref> |
| </div> |
| </div> |
| </template> |
| </div> |
| </curly-block> |
| </template> |
| |
| <template if="{{ isList(ref.serviceType) }}"> |
| <a href="{{ url }}"><em>{{ ref['class']['user_name'] }}</em> ({{ ref['length']}})</a> |
| <curly-block callback="{{ expander() }}"> |
| <div class="memberList"> |
| <template repeat="{{ element in ref['elements'] }}"> |
| <div class="memberItem"> |
| <div class="memberName">[{{ element['index']}}]</div> |
| <div class="memberValue"> |
| <instance-ref ref="{{ element['value'] }}"></instance-ref> |
| </div> |
| </div> |
| </template> |
| </div> |
| </curly-block> |
| </template> |
| |
| </div> |
| </template> |
| <script type="application/dart" src="instance_ref.dart"></script> |
| </polymer-element> |