initiate.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. var __assign = (this && this.__assign) || Object.assign || function(t) {
  2. for (var s, i = 1, n = arguments.length; i < n; i++) {
  3. s = arguments[i];
  4. for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
  5. t[p] = s[p];
  6. }
  7. return t;
  8. };
  9. /**
  10. * 把用户移动的块,标记为true
  11. * @param {*} layout
  12. * @param {*} key
  13. * @param {*} GridX
  14. * @param {*} GridY
  15. * @param {*} isUserMove
  16. */
  17. export var syncLayout = function (layout, key, GridX, GridY, isUserMove) {
  18. var newlayout = layout.map(function (item) {
  19. if (item.key === key) {
  20. item.GridX = GridX;
  21. item.GridY = GridY;
  22. item.isUserMove = isUserMove;
  23. return item;
  24. }
  25. return item;
  26. });
  27. return newlayout;
  28. };
  29. /**
  30. * 初始化的时候调用
  31. * 会把isUserMove和key一起映射到layout中
  32. * 不用用户设置
  33. * @param {*} layout
  34. * @param {*} children
  35. */
  36. export var MapLayoutTostate = function (layout, children) {
  37. return layout.map(function (child, index) {
  38. var newChild = __assign({}, child, { isUserMove: true, key: children[index].key, static: children[index].static });
  39. return newChild;
  40. });
  41. };
  42. /**
  43. * 用key从layout中拿出item
  44. * @param {*} layout 输入进来的布局
  45. * @param {*} key
  46. */
  47. export var layoutItemForkey = function (layout, key) {
  48. for (var i = 0, length_1 = layout.length; i < length_1; i++) {
  49. if (key === layout[i].key) {
  50. return layout[i];
  51. }
  52. }
  53. };