DataList.js 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. /*
  2. * @Description:
  3. * @Author: hy
  4. * @Date: 2019-08-14 17:41:15
  5. * @LastEditTime: 2019-08-16 15:39:47
  6. */
  7. Ext.define('uas.data.DataList', {
  8. requires: [
  9. 'uas.data.Init'
  10. ]
  11. }, function() {
  12. var dataLists = {
  13. "total": "27",
  14. "data": [{
  15. "id": "1",
  16. "price": "71.72",
  17. "company": "3m Co",
  18. "date": "2007-09-01",
  19. "size": "large",
  20. "visible": "1"
  21. }, {
  22. "id": "2",
  23. "price": "31.61",
  24. "company": "AT&T Inc.",
  25. "date": "2008-02-01",
  26. "size": "extra large",
  27. "visible": "0"
  28. }, {
  29. "id": "3",
  30. "price": "29.01",
  31. "company": "Aloca Inc",
  32. "date": "2007-08-01",
  33. "size": "medium",
  34. "visible": "0"
  35. }, {
  36. "id": "4",
  37. "price": "83.81",
  38. "company": "Altria Group Inc",
  39. "date": "2007-08-03",
  40. "size": "large",
  41. "visible": "0"
  42. }, {
  43. "id": "5",
  44. "price": "52.55",
  45. "company": "American Express Company",
  46. "date": "2008-01-04",
  47. "size": "extra large",
  48. "visible": "1"
  49. }, {
  50. "id": "6",
  51. "price": "64.13",
  52. "company": "American International Group Inc.",
  53. "date": "2008-03-04",
  54. "size": "small",
  55. "visible": "1"
  56. }, {
  57. "id": "7",
  58. "price": "75.43",
  59. "company": "Boeing Co.",
  60. "date": "2008-01-01",
  61. "size": "large",
  62. "visible": "1"
  63. }, {
  64. "id": "8",
  65. "price": "67.27",
  66. "company": "Caterpillar Inc.",
  67. "date": "2007-12-03",
  68. "size": "medium",
  69. "visible": "1"
  70. }, {
  71. "id": "9",
  72. "price": "49.37",
  73. "company": "Citigroup, Inc.",
  74. "date": "2007-11-24",
  75. "size": "large",
  76. "visible": "1"
  77. }, {
  78. "id": "10",
  79. "price": "40.48",
  80. "company": "E.I. du Pont de Nemours and Company",
  81. "date": "2007-05-09",
  82. "size": "extra large",
  83. "visible": "0"
  84. }, {
  85. "id": "11",
  86. "price": "68.1",
  87. "company": "Exxon Mobile Corp",
  88. "date": "2007-12-12",
  89. "size": "large",
  90. "visible": "1"
  91. }, {
  92. "id": "12",
  93. "price": "34.14",
  94. "company": "General Electric Company",
  95. "date": "2008-06-16",
  96. "size": "extra large",
  97. "visible": "1"
  98. }, {
  99. "id": "13",
  100. "price": "30.27",
  101. "company": "General Motors Corporation",
  102. "date": "2006-12-07",
  103. "size": "medium",
  104. "visible": "1"
  105. }, {
  106. "id": "14",
  107. "price": "36.53",
  108. "company": "Hewlett-Packard Co.",
  109. "date": "2007-05-13",
  110. "size": "large",
  111. "visible": "1"
  112. }, {
  113. "id": "15",
  114. "price": "38.77",
  115. "company": "Honweywell Intl Inc",
  116. "date": "2006-11-07",
  117. "size": "medium",
  118. "visible": "0"
  119. }, {
  120. "id": "16",
  121. "price": "19.88",
  122. "company": "Intel Corporation",
  123. "date": "2007-01-09",
  124. "size": "small",
  125. "visible": "1"
  126. }, {
  127. "id": "17",
  128. "price": "81.41",
  129. "company": "International Business Machines",
  130. "date": "2005-01-21",
  131. "size": "extra large",
  132. "visible": "1"
  133. }, {
  134. "id": "18",
  135. "price": "64.72",
  136. "company": "Johnson & Johnson",
  137. "date": "2008-01-10",
  138. "size": "extra large",
  139. "visible": "1"
  140. }, {
  141. "id": "19",
  142. "price": "45.73",
  143. "company": "JP Morgan & Chase & Co",
  144. "date": "2008-02-20",
  145. "size": "large",
  146. "visible": "0"
  147. }, {
  148. "id": "20",
  149. "price": "36.76",
  150. "company": "McDonald's Corporation",
  151. "date": "2007-06-12",
  152. "size": "large",
  153. "visible": "1"
  154. }, {
  155. "id": "21",
  156. "price": "27.96",
  157. "company": "Pfizer Inc",
  158. "date": "2007-12-30",
  159. "size": "small",
  160. "visible": "0"
  161. }, {
  162. "id": "22",
  163. "price": "45.07",
  164. "company": "The Coca-Cola Company",
  165. "date": "2007-01-30",
  166. "size": "medium",
  167. "visible": "0"
  168. }, {
  169. "id": "23",
  170. "price": "34.64",
  171. "company": "The Home Depot, Inc",
  172. "date": "2006-12-31",
  173. "size": "small",
  174. "visible": "1"
  175. }, {
  176. "id": "24",
  177. "price": "61.91",
  178. "company": "The Procter & Gamble Company",
  179. "date": "2007-04-08",
  180. "size": "extra large",
  181. "visible": "1"
  182. }, {
  183. "id": "25",
  184. "price": "63.26",
  185. "company": "United Technologies Corporation",
  186. "date": "2006-06-04",
  187. "size": "medium",
  188. "visible": "1"
  189. }, {
  190. "id": "26",
  191. "price": "35.57",
  192. "company": "Verizon Communications",
  193. "date": "2005-07-09",
  194. "size": "small",
  195. "visible": "0"
  196. }, {
  197. "id": "27",
  198. "price": "45.45",
  199. "company": "Wal-Mart Stores, Inc",
  200. "date": "2006-09-09",
  201. "size": "large",
  202. "visible": "1"
  203. }]
  204. };
  205. //from https://git.daplie.com/Daplie/knuth-shuffle/
  206. function shuffle (array) {
  207. array = Ext.Array.clone(array);
  208. var currentIndex = array.length,
  209. temporaryValue, randomIndex;
  210. // While there remain elements to shuffle...
  211. while (0 !== currentIndex) {
  212. // Pick a remaining element...
  213. randomIndex = Math.floor(Math.random() * currentIndex);
  214. currentIndex -= 1;
  215. // And swap it with the current element.
  216. temporaryValue = array[currentIndex];
  217. array[currentIndex] = array[randomIndex];
  218. array[randomIndex] = temporaryValue;
  219. }
  220. return array;
  221. }
  222. Ext.ux.ajax.SimManager.register({
  223. type: 'json',
  224. delay: 300,
  225. url: /\/uas\/DataList(\/\d+)?/,
  226. data: function(ctx) {
  227. var idPart = ctx.url.match(this.url)[1],
  228. id;
  229. if (idPart) {
  230. id = parseInt(idPart.substring(1), 10);
  231. return Ext.Array.findBy(dataLists, function(dataList) {
  232. return dataList.id === id;
  233. });
  234. } else if (ctx.params.shuffle) {
  235. return shuffle(dataLists);
  236. }
  237. return dataLists;
  238. }
  239. });
  240. });