Scaffold for user's logged-in dashboard
This change introduces a dependency of the routing behavior on
whether the user is logged in. Since the WebComponentsReady event
can fire before OR after the account info is retrieved, a Promise
is used to ensure deterministic ordering via `accountReady`.
There is also some minor cleanup of which element is being used
as the global `app` object.
Feature: Issue 3700
Change-Id: I9768f2eabd5cdb7c62ead16ae97df5c1c321eaf6
diff --git a/polygerrit-ui/app/elements/gr-dashboard-view.html b/polygerrit-ui/app/elements/gr-dashboard-view.html
new file mode 100644
index 0000000..73de392
--- /dev/null
+++ b/polygerrit-ui/app/elements/gr-dashboard-view.html
@@ -0,0 +1,59 @@
+<!--
+Copyright (C) 2015 The Android Open Source Project
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+<link rel="import" href="../bower_components/polymer/polymer.html">
+
+<dom-module id="gr-dashboard-view">
+ <template>
+ <iron-ajax id="xhr"
+ auto
+ url="/changes/"
+ params="[[_computeQueryParams()]]"
+ last-response="{{_results}}"
+ json-prefix=")]}'"
+ debounce-duration="300"></iron-ajax>
+ </template>
+ <script>
+ (function() {
+ 'use strict';
+
+ Polymer({
+ is: 'gr-dashboard-view',
+
+ properties: {
+ _results: Array,
+ },
+
+ _computeQueryParams: function() {
+ var options = Changes.listChangesOptionsToHex(
+ Changes.ListChangesOption.LABELS,
+ Changes.ListChangesOption.DETAILED_ACCOUNTS,
+ Changes.ListChangesOption.REVIEWED
+ );
+ return {
+ O: options,
+ q: [
+ 'is:open owner:self',
+ 'is:open reviewer:self -owner:self',
+ 'is:closed (owner:self OR reviewer:self) -age:4w limit:10',
+ ],
+ };
+ },
+
+ });
+ })();
+ </script>
+</dom-module>