Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(67)

Unified Diff: server/static/rpcexplorer/rpc-explorer.html

Issue 1695893004: RPC Explorer (Closed) Base URL: https://chromium.googlesource.com/external/github.com/luci/luci-go@rpcepxlorer-deps
Patch Set: refactoring and tests Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: server/static/rpcexplorer/rpc-explorer.html
diff --git a/server/static/rpcexplorer/rpc-explorer.html b/server/static/rpcexplorer/rpc-explorer.html
new file mode 100644
index 0000000000000000000000000000000000000000..fe9fa5b78e08b85d578f865875e7257bfd828612
--- /dev/null
+++ b/server/static/rpcexplorer/rpc-explorer.html
@@ -0,0 +1,121 @@
+<!--
+ Copyright 2016 The Chromium Authors. All rights reserved.
+ Use of this source code is governed by a BSD-style license that can be
+ found in the LICENSE file.
+ -->
+
+<link rel="import" href="../bower_components/app-router/app-router.html">
+<link rel="import" href="../bower_components/polymer/polymer.html">
+
+<link rel="import" href="/static/common/rpc/rpc-client.html">
+
+<link rel="import" href="rpc-descriptor-util.html">
+<link rel="import" href="rpc-method.html">
+<link rel="import" href="rpc-service-list.html">
+<link rel="import" href="rpc-service.html">
+
+
+<!-- The `rpc-explorer` is the top-level element of RPC Explorer -->
+<dom-module id="rpc-explorer">
+ <template>
+ <style>
+ li[hidden] {
Bons 2016/02/23 15:52:29 [hidden] is already a user-agent defined selector.
nodir 2016/02/23 18:32:25 yeah, it is not displayed indeed, but bootstrap br
Bons 2016/02/24 06:10:56 Acknowledged.
+ display: none;
+ }
+ </style>
+
+ <!-- Load server description -->
+ <rpc-client
+ auto
+ service="discovery.Discovery"
+ method="Describe"
+ last-response="{{serverDescription}}">
+ </rpc-client>
+
+ <div class="navbar navbar-default" role="navigation">
+ <div class="navbar-header">
+ <button
+ type="button"
Bons 2016/02/23 15:52:29 i don't think you need type="button" for a button
nodir 2016/02/23 18:32:26 Done.
+ class="navbar-toggle collapsed"
+ data-toggle="collapse"
+ data-target="#bs-example-navbar-collapse-1"
+ aria-expanded="false">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <span class="navbar-brand">
+ <span id="progress-spinner" class="not-spinning">
+ <a href="#">RPC Explorer</a>
+ </span>
+ </span>
+ </div>
+ </div>
+
+ <ol class="breadcrumb">
+ <li>
+ <a href="#">Home</a>
+ </li>
+ <li hidden="{{!service}}">
+ <a href="#/services/[[service]]">[[service]]</a>
+ </li>
+ <li hidden="{{!method}}">
+ <a href="#/services/[[service]]/[[method]">[[method]]</a>
+ </li>
+ </ol>
+
+ <app-router
Bons 2016/02/23 15:52:29 can you put in a TODO to use the HTML5 history api
nodir 2016/02/23 18:32:25 Used HTML5 history API. Better not to change it in
+ id="router"
+ trailing-slash="ignore"
+ on-activate-route-end="_onRouted"
+ on-before-data-binding="_onRouteBinding">
+ <app-route path="/services" element="rpc-service-list"></app-route>
+ <app-route path="/services/:service" element="rpc-service"></app-route>
+ <app-route path="/services/:service/:method" element="rpc-method"></app-route>
+ <app-route path="*" redirect="/services"></app-route>
+ </app-router>
+ </template>
+
+ <script>
+ 'use strict';
+
+ Polymer({
+ is: 'rpc-explorer',
+
+ properties: {
+
+ service: String,
+
+ method: String,
+
+ /** @type {DescribeResponse} */
+ serverDescription: {
+ type: Object,
+ observer: '_onServerDescriptionChanged'
+ }
+ },
+
+ _onRouteBinding: function(e) {
+ if (this.serverDescription) {
+ e.detail.model.description = this.serverDescription.description;
+ e.detail.model.serviceNames = this.serverDescription.services;
+ }
+ },
+
+ _onServerDescriptionChanged: function(e) {
+ if (this.serverDescription) {
+ rpcExplorer.descUtil.annotateSet(this.serverDescription.description);
+ // Recreate route model.
+ this.$.router.go(document.location.hash.substring(1));
+ }
+ },
+
+ _onRouted: function(e) {
+ var model = e.detail.model || {};
+ this.service = model.service || '';
+ this.method = model.method || '';
+ }
+ });
+ </script>
+</dom-module>

Powered by Google App Engine
This is Rietveld 408576698