blob: f66a3fa90ae3c7d92056f8584e196d15d567a747 [file] [log] [blame]
<head>
<link rel="import" href="breakpoint_list.html">
<link rel="import" href="class_view.html">
<link rel="import" href="code_view.html">
<link rel="import" href="error_view.html">
<link rel="import" href="field_view.html">
<link rel="import" href="function_view.html">
<link rel="import" href="instance_view.html">
<link rel="import" href="isolate_list.html">
<link rel="import" href="library_view.html">
<link rel="import" href="observatory_element.html">
<link rel="import" href="script_view.html">
<link rel="import" href="source_view.html">
<link rel="import" href="stack_trace.html">
</head>
<polymer-element name="message-viewer" extends="observatory-element">
<!--
This is a big switch statement which instantiates the custom element
designated to display the message type.
-->
<template>
<!-- If the message type is an IsolateList -->
<template if="{{ messageType == 'IsolateList' }}">
<isolate-list app="{{ app }}"></isolate-list>
</template>
<!-- If the message type is a StackTrace -->
<template if="{{ messageType == 'StackTrace' }}">
<stack-trace app="{{ app }}" trace="{{ message }}"></stack-trace>
</template>
<template if="{{ messageType == 'BreakpointList' }}">
<breakpoint-list app="{{ app }}" msg="{{ message }}"></breakpoint-list>
</template>
<!-- If the message type is a RequestError -->
<template if="{{ messageType == 'RequestError' }}">
<error-view app="{{ app }}" error="{{ message['error'] }}"></error-view>
</template>
<template if="{{ messageType == 'Library' }}">
<library-view app="{{ app }}" library="{{ message }}"></library-view>
</template>
<template if="{{ messageType == 'Class' }}">
<class-view app="{{ app }}" cls="{{ message }}"></class-view>
</template>
<template if="{{ messageType == 'Field' }}">
<field-view app="{{ app }}" field="{{ message }}"></field-view>
</template>
<template if="{{ messageType == 'Instance' }}">
<instance-view app="{{ app }}" instance="{{ message }}"></instance-view>
</template>
<template if="{{ messageType == 'Array' }}">
<instance-view app="{{ app }}" instance="{{ message }}"></instance-view>
</template>
<template if="{{ messageType == 'GrowableObjectArray' }}">
<instance-view app="{{ app }}" instance="{{ message }}"></instance-view>
</template>
<template if="{{ messageType == 'String' }}">
<instance-view app="{{ app }}" instance="{{ message }}"></instance-view>
</template>
<template if="{{ messageType == 'Bool' }}">
<instance-view app="{{ app }}" instance="{{ message }}"></instance-view>
</template>
<template if="{{ messageType == 'Smi' }}">
<instance-view app="{{ app }}" instance="{{ message }}"></instance-view>
</template>
<template if="{{ messageType == 'Function' }}">
<function-view app="{{ app }}" function="{{ message }}"></function-view>
</template>
<template if="{{ messageType == 'Code' }}">
<code-view app="{{ app }}" code="{{ message }}"></code-view>
</template>
<template if="{{ messageType == 'Script' }}">
<script-view app="{{ app }}" script="{{ message }}"></script-view>
</template>
<!-- Add new views and message types in the future here. -->
</template>
<script type="application/dart" src="message_viewer.dart"></script>
</polymer-element>