Guest User

Untitled

a guest
Mar 22nd, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.47 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <title>data-grid with working date ranges</title>
  5.  
  6. <script src="../webcomponentsjs/webcomponents-lite.js"></script>
  7. <link rel="import" href="../polymer/polymer.html"/>
  8. <link rel="import" href="../px-theme/px-theme-styles.html"/>
  9. <link rel="import" href="px-data-grid.html"/>
  10. <link rel="import" href="px-data-grid-paginated.html"/>
  11.  
  12. <style is="custom-style">
  13. html, body {
  14. margin: 65px;
  15. font-size: 15px;
  16. }
  17. </style>
  18.  
  19. <custom-style>
  20. <style is="custom-style" include="px-theme-styles"></style>
  21. </custom-style>
  22. </head>
  23.  
  24. <body>
  25. <h2> data-grid with working date ranges </h2>
  26. <px-data-grid selection-mode="multi" striped editable resizable filterable ></px-data-grid>
  27.  
  28.  
  29.  
  30. <script>
  31. /*
  32. * Find the grid in the DOM
  33. */
  34. const grid = document.querySelector('px-data-grid');
  35.  
  36.  
  37. /**
  38. * Fetches JSON from `url` asynchronously, returns a Promise with result
  39. */
  40.  
  41. function getData(url) {
  42. return fetch("padi_APM.json").then(resp => resp.json());
  43. };
  44.  
  45. grid.columns = [
  46. {
  47. name: 'Tag Name coz we like really long names',
  48. path: 'Tag Name coz we like really long names',
  49. editable: true,
  50. renderer: 'px-data-grid-string-renderer',
  51. flexGrow: 5
  52. },
  53. {
  54. name: 'Correlated Tags',
  55. path: 'Correlated Tags',
  56. editable: true,
  57. renderer: 'px-data-grid-string-renderer',
  58. flexGrow: 5
  59. },
  60. {
  61. name: 'Units',
  62. path: 'Units',
  63. renderer: 'px-data-grid-string-renderer',
  64. flexGrow: 5
  65. },
  66. {
  67. name: 'Temp',
  68. path: 'Temp',
  69. renderer: 'px-data-grid-number-renderer',
  70. flexGrow: 4
  71. },
  72. {
  73. name: 'Description',
  74. path: 'Description',
  75. renderer: 'px-data-grid-string-renderer',
  76. editable: true,
  77. flexGrow: 1
  78. },
  79. {
  80. name: 'Maintenance Date',
  81. path: 'Maintenance Date',
  82. type: 'date',
  83. editable: true,
  84. flexGrow: 5,
  85. renderer: 'px-data-grid-date-renderer',
  86. dateFormat: {
  87. 'format': 'YYYY-MM-DD HH:mm:ss'
  88. },
  89.  
  90. filterByTime:true,
  91.  
  92. rendererConfig:{
  93. dateFormat: 'YYYY-MM-DD HH:mm:ss',
  94. displayFormat: 'MMMM/DD/YYYY HH:mm:ss z A',
  95. timezone: 'GMT',
  96. datePickerDateFormat : 'MM/DD/YYYY',
  97. datePickerTimeFormat :'HH:mm:ss'
  98. },
  99. dateRanges: [
  100. {
  101. name: 'Last 7 days',
  102. getRange: () => {
  103. return {
  104. dateTo: window.moment().format(),
  105. dateFrom: window.moment().subtract(7, 'd').format()
  106. };
  107. }
  108. },
  109. {
  110. name: 'Last 14 days',
  111. getRange: () => {
  112. return {
  113. dateTo: window.moment().format(),
  114. dateFrom: window.moment().subtract(14, 'd').format()
  115. };
  116. }
  117. },
  118. {
  119. name: 'This month',
  120. getRange: () => {
  121. return {
  122. dateTo: window.moment().format(),
  123. dateFrom: window.moment().subtract(31, 'd').format()
  124. };
  125. }
  126. },
  127. {
  128. name: 'Last month',
  129. getRange: () => {
  130. return {
  131. dateTo: window.moment().subtract(1, 'M').format(),
  132. dateFrom: window.moment().subtract(2, 'M').format()
  133. };
  134. }
  135. },
  136. {
  137. name: 'Fixed range',
  138. range: {
  139. dateTo: '2018-1-10',
  140. dateFrom: '2018-12-19'
  141. }
  142. }
  143. ]
  144. },
  145. {
  146. name: 'Install Date',
  147. path: 'Install Date',
  148. renderer: 'px-data-grid-date-renderer',
  149. type: 'date',
  150. editable: true,
  151. dateFormat: {
  152. 'format': 'YYYY-MM-DD HH:mm:ss',
  153. 'timezone': 'UTC'
  154. },
  155.  
  156. filterByTime:true,
  157.  
  158. rendererConfig:{
  159. dataFormat: 'YYYY-MM-DD HH:mm:ss',
  160. displayFormat: 'MM/DD/YYYY HH:mm:ss',
  161. timezone: 'UTC',
  162. datePickerDateFormat : 'MM/DD/YYYY',
  163. datePickerTimeFormat :'HH:mm:ss'
  164. }
  165. },
  166. {
  167. name: 'Decommission Date',
  168. path: 'Decommission Date',
  169. renderer: 'px-data-grid-date-renderer',
  170. type: 'date',
  171. editable: true,
  172. dateFormat: {
  173. 'format': 'YYYY-MM-DD HH:mm:ss',
  174. 'timezone': 'UTC'
  175. },
  176.  
  177. filterByTime:true,
  178.  
  179. rendererConfig:{
  180. dataFormat: 'YYYY-MM-DD HH:mm:ss',
  181. displayFormat: 'MM/DD/YYYY HH:mm:ss',
  182. timezone: 'UTC',
  183. datePickerDateFormat : 'MM/DD/YYYY',
  184. datePickerTimeFormat :'HH:mm:ss'
  185. }
  186. },
  187. {
  188. name: 'Asset',
  189. path: 'Asset',
  190. renderer: 'px-data-grid-string-renderer',
  191. editable: true
  192. },
  193. {
  194. name: 'Domain',
  195. path: 'Domain',
  196. renderer: 'px-data-grid-string-renderer',
  197. editable: true
  198. },
  199. {
  200. name: 'Location',
  201. path: 'Location',
  202. renderer: 'px-data-grid-string-renderer',
  203. editable: true
  204. },
  205. {
  206. name: 'Timezone',
  207. path: 'Timezone',
  208. renderer: 'px-data-grid-string-renderer',
  209. editable: true
  210. }
  211. ];
  212.  
  213.  
  214. getData('padi_APM.json').then(data => {
  215. grid.tableData = data;
  216. });
  217.  
  218.  
  219.  
  220.  
  221. </script>
  222. </body>
  223. </html>
Add Comment
Please, Sign In to add comment