Advertisement
Guest User

Untitled

a guest
Jun 29th, 2016
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.21 KB | None | 0 0
  1. <dom-module id="ecda-app">
  2.  
  3. <link rel="import"
  4. href="bower_components/iron-icons/iron-icons.html">
  5. <link rel="import"
  6. href="bower_components/paper-drawer-panel/paper-drawer-panel.html">
  7. <link rel="import"
  8. href="bower_components/paper-header-panel/paper-header-panel.html">
  9. <link rel="import"
  10. href="bower_components/paper-icon-button/paper-icon-button.html">
  11. <link rel="import"
  12. href="bower_components/paper-item/paper-item.html">
  13. <link rel="import"
  14. href="bower_components/paper-menu/paper-menu.html">
  15. <link rel="import"
  16. href="bower_components/paper-toolbar/paper-toolbar.html">
  17. <link rel="import"
  18. href="bower_components/paper-spinner/paper-spinner.html">
  19.  
  20. <link rel="import" type="css" href="stylesheets/ecda.css"/>
  21.  
  22. <link rel="import" href="ecda-container.html"/>
  23.  
  24. <!---->
  25.  
  26. <link rel="import" href="ecda-gadget.html">
  27. <link rel="import"
  28. href="bower_components/iron-flex-layout/iron-flex-layout-classes.html">
  29.  
  30. <link rel="import" href="bower_components/iron-meta/iron-meta.html">
  31.  
  32. <style include="iron-flex iron-flex-alignment"></style>
  33.  
  34.  
  35. <template>
  36.  
  37. <paper-dialog id="modal" modal>
  38. <paper-input value="zpq4@cdc.gov" label="email" id="email">
  39. <iron-icon icon="mail" prefix></iron-icon>
  40. </paper-input>
  41. <paper-input value="Welcome!44" label="password" id="password"
  42. type="password">
  43. <iron-icon icon="card-membership" prefix></iron-icon>
  44. </paper-input>
  45. <div class="buttons">
  46. <paper-button dialog-confirm autofocus on-click="okClick">OK
  47. </paper-button>
  48. <paper-button dialog-cancel autofocus>Cancel</paper-button>
  49. </div>
  50. </paper-dialog>
  51.  
  52. <paper-dialog id="pleasewait">
  53. <paper-spinner id="pleasewait_sp" active></paper-spinner>
  54. </paper-dialog>
  55.  
  56. <app-location route="{{route}}" use-hash-as-path></app-location>
  57. <app-route route="{{route}}">
  58. pattern="/:action"
  59. data="{{actionData}}"
  60. tail="{{actionTail}}"
  61. </app-route>
  62.  
  63. <iron-ajax id="logonAjax"
  64. on-response="handleLogonResponse"></iron-ajax>
  65. <iron-ajax id="canvasAjax"
  66. on-response="handleCanvasResponse"></iron-ajax>
  67. <iron-ajax id="canvasListAjax"
  68. on-response="handleCanvasListResponse"></iron-ajax>
  69.  
  70.  
  71. <paper-drawer-panel id="mainDrawerPanel" class="main-drawer-panel"
  72. main
  73. drawer-toggle-attribute="list-toggle">
  74.  
  75. <paper-header-panel class="list-panel"
  76. on-content-scroll="scrollHandler" drawer>
  77.  
  78. <!-- List Toolbar -->
  79. <paper-toolbar>
  80. <paper-icon-button icon="home"
  81. list-toggle></paper-icon-button>
  82. </paper-toolbar>
  83.  
  84. <!-- List -->
  85. <paper-menu class="list" id="canvasList"
  86. on-iron-select="_on_iron_select">
  87. <template is="dom-repeat"
  88. items="{{canvasListResponseJson.NewDataSet.Table}}">
  89. <paper-item>{{item.CanvasName}}</paper-item>
  90. </template>
  91. </paper-menu>
  92.  
  93. </paper-header-panel>
  94.  
  95. <paper-header-panel class="list-panel"
  96. on-content-scroll="scrollHandler" main>
  97.  
  98. <!-- Main Toolbar -->
  99. <paper-toolbar>
  100. <paper-icon-button icon="menu"
  101. list-toggle></paper-icon-button>
  102. <paper-icon-button icon="save"
  103. on-click="_on_test_click"></paper-icon-button>
  104. </paper-toolbar>
  105.  
  106. <!-- Main Content -->
  107. <div class="content">
  108.  
  109. <!-- <ecda-container id="ecda_cont"
  110. gadgets-collection="{{canvasResponseJson }}">
  111. </ecda-container>-->
  112.  
  113. <div>
  114. <paper-material>
  115. <p>Canvas Name:
  116. {{canvasResponseJson.DashboardCanvas.CanvasName}} </p>
  117. <p>Datasource Name:
  118. {{canvasResponseJson.DashboardCanvas.DatasourceName
  119. }}</p>
  120. <!-- <paper-button on-click="_on_test_click">AA
  121. </paper-button>-->
  122. </paper-material>
  123. </div>
  124.  
  125. <div class="layout horizontal wrap" id="xx1">
  126. <template is="dom-repeat" id="ecdaContTemplate"
  127. items="{{canvasResponseJson.DashboardCanvas.Gadgets.gadget }}">
  128. <ecda-gadget id="gadget{{index }}"
  129. canvas-json="{{item }}"></ecda-gadget>
  130. </template>
  131. </div>
  132.  
  133.  
  134. </div>
  135.  
  136. </paper-header-panel>
  137.  
  138. </paper-drawer-panel>
  139.  
  140. </template>
  141.  
  142. <script>
  143.  
  144. Polymer({
  145. is: 'ecda-app',
  146. properties: {
  147. canvasResponseJson: {
  148. type: Object,
  149. notify: true
  150.  
  151. },
  152. canvasListResponseJson: {
  153. type: Object,
  154. notify: true
  155. },
  156. canvasSelectedJson: {
  157. type: Object
  158. },
  159. selectedCanvas: {
  160. type: Number,
  161. notify: true
  162. }
  163. },
  164. ready: function () {
  165.  
  166. var dialog = document.getElementById("modal");
  167. if (dialog) {
  168. dialog.open();
  169. }
  170.  
  171. },
  172. okClick: function () {
  173. this._logonUser();
  174. },
  175. _logonUser: function () {
  176. var user = this.$.email.value;
  177. var password = this.$.password.value;
  178. var canvasid = tempConstants.canvasid;
  179.  
  180. var jsonRequest = {
  181. id: user,
  182. password: password,
  183. canvasid: canvasid
  184. };
  185.  
  186.  
  187. logThis('ready from app ');
  188.  
  189. this.$.pleasewait.open();
  190. // this.$.pleasewait.active = true;
  191.  
  192. tryAjax(this.$.logonAjax, "Login", jsonRequest);
  193.  
  194. // git test -- tag1
  195.  
  196. },
  197. _computeListWidth: function (isMobile) {
  198. // when in mobile screen size, make the list be 100% width to cover the whole screen
  199. return isMobile ? '100%' : '33%';
  200. },
  201. _on_test_click: function (e) {
  202. /* // if ( Polymer.dom(ecdaContTemplate.gadget0 ) )
  203. logThis(this.canvasResponseJson.DashboardCanvas.Gadgets.gadget.length)
  204. logThis("this.$$(gadget0 ) " + this.$$('#gadget0').canvasJson);
  205. walk(this.$$('#gadget0').canvasJson, "this.$$( '#gadget0' ).canvasJson ")
  206. // logThis("aa " + Polymer.dom(this.$$(gadget0 ) ) ) ;
  207.  
  208. // walk(Polymer.dom(ecdaContTemplate.gadget0 ), "Polymer.dom(ecdaContTemplate.gadget0 ) " ) ;
  209. // walk( this.$$("ecdaContTemplate" ) , "Polymer.dom(ecdaContTemplate.gadget0 ) " ) ;*/
  210.  
  211. logThis(this.canvasResponseJson.DashboardCanvas.Gadgets.gadget.length)
  212.  
  213. for (x = 0; x < this.canvasResponseJson.DashboardCanvas.Gadgets.gadget.length; x++) {
  214. logThis(this.$$('#gadget' + x).canvasJson.top);
  215. }
  216.  
  217. },
  218. _on_iron_select: function (e) {
  219.  
  220. this.$.mainDrawerPanel.closeDrawer();
  221. this.$.pleasewait.open();
  222. // this.$.pleasewait.active = true;
  223.  
  224.  
  225. // logThis( this.$.canvasList.selectedItem.textContent , "_selected" ) ;
  226. logThis(this.$.canvasList.selected, "_selected");
  227.  
  228. // Get selected ihdex
  229. this.selectedCanvas = this.$.canvasList.selected;
  230.  
  231. this.canvasSelectedJson = this.canvasListResponseJson[this.selectedCanvas];
  232.  
  233. logThis(this.canvasListResponseJson.NewDataSet.Table[this.selectedCanvas].CanvasGUID ) ;
  234.  
  235. var req = {
  236. canvasid: this.canvasListResponseJson.NewDataSet.Table[this.selectedCanvas].CanvasGUID
  237. }
  238.  
  239. logThis(req.canvasid, "req.canvasid");
  240.  
  241. tryAjax(this.$.canvasAjax, "Canvas", req);
  242.  
  243. },
  244. handleCanvasListResponse: function (response) {
  245.  
  246. this.$.pleasewait.close();
  247. // this.$.pleasewait.active = false;
  248.  
  249. this.canvasListResponseJson = JSON.parse(response.detail.xhr.responseText);
  250.  
  251. walk(this.canvasListResponseJson, "canvasListResponseJson");
  252. },
  253.  
  254. handleCanvasResponse: function (response) {
  255. logThis("handleCanvasResponse");
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262. logThis( Polymer.dom(ecdaContTemplate ).children.length ) ;
  263. // Polymer.dom(ecdaContTemplate ).children.clear ;
  264.  
  265. logThis( Polymer.dom(ecdaContTemplate ).children.length ) ;
  266.  
  267.  
  268. this.$.pleasewait.close();
  269. // this.$.pleasewait.active = false;
  270.  
  271. var responseCheck = JSON.parse(response.detail.xhr.responseText);
  272.  
  273. if (Array.isArray(responseCheck.DashboardCanvas.Gadgets.gadget) == false) {
  274.  
  275. var oneGadget = responseCheck.DashboardCanvas.Gadgets.gadget;
  276. oneGadget = [oneGadget];
  277. responseCheck.DashboardCanvas.Gadgets.gadget = null;
  278. responseCheck.DashboardCanvas.Gadgets.gadget = oneGadget;
  279.  
  280. logThis("one item array" + " -- " + responseCheck.DashboardCanvas.Gadgets.gadget.length);
  281. }
  282. this.canvasResponseJson = responseCheck;
  283. },
  284. handleLogonResponse: function (e, responseX) {
  285.  
  286. this.$.pleasewait.close();
  287.  
  288. logThis(e.detail.xhr.responseText);
  289.  
  290. var responseJson = JSON.parse(e.detail.xhr.responseText);
  291.  
  292. if (gUserJson) {
  293.  
  294. gUserJson.User = responseJson;
  295. console.log('cont gUserJson ----> ' + gUserJson.User);
  296.  
  297. walk(gUserJson, "gUserJson");
  298.  
  299. }
  300.  
  301. //======================
  302. var UserID = gUserJson.User.UserID;
  303.  
  304. var jsonUser = {
  305. id: UserID
  306. };
  307.  
  308.  
  309. tryAjax(this.$.canvasListAjax, "CanvasList", jsonUser);
  310.  
  311. logThis(this.$.canvasListAjax.body);
  312. },
  313. scrollHandler: function (event) {
  314. var scroller = event.detail.target;
  315. logThis(scroller.scrollTop);
  316. }
  317. });
  318. </script>
  319.  
  320. </dom-module>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement