initiate.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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, movingItem) {
  18. for (var idx in layout) {
  19. if (layout[idx].key === movingItem.UniqueKey) {
  20. layout[idx].GridX = movingItem.GridX;
  21. layout[idx].GridY = movingItem.GridY;
  22. layout[idx].isUserMove = true;
  23. break;
  24. }
  25. }
  26. return layout;
  27. };
  28. /**
  29. * 初始化的时候调用
  30. * 会把isUserMove和key一起映射到layout中
  31. * 不用用户设置
  32. * @param {*} layout
  33. * @param {*} children
  34. */
  35. export var MapLayoutTostate = function (layout, children) {
  36. return layout.map(function (child, index) {
  37. var newChild = __assign({}, child, { isUserMove: true, key: children[index].key, static: children[index].static });
  38. return newChild;
  39. });
  40. };
  41. /**
  42. * 用key从layout中拿出item
  43. * @param {*} layout 输入进来的布局
  44. * @param {*} key
  45. */
  46. export var layoutItemForkey = function (layout, key) {
  47. return layout[key];
  48. };