index.js 4.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. var __extends = (this && this.__extends) || (function () {
  2. var extendStatics = Object.setPrototypeOf ||
  3. ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
  4. function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
  5. return function (d, b) {
  6. extendStatics(d, b);
  7. function __() { this.constructor = d; }
  8. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  9. };
  10. })();
  11. var __assign = (this && this.__assign) || Object.assign || function(t) {
  12. for (var s, i = 1, n = arguments.length; i < n; i++) {
  13. s = arguments[i];
  14. for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
  15. t[p] = s[p];
  16. }
  17. return t;
  18. };
  19. import * as React from 'react';
  20. import { Dragact } from '../lib/dragact';
  21. var Words = [
  22. { content: 'You can do anything, but not everything.', img: 'http://pic.sc.chinaz.com/files/pic/pic9/201303/xpic10472.jpg' },
  23. { content: 'Those who dare to fail miserably can achieve greatly.', img: 'https://img00.deviantart.net/1163/i/2013/059/d/7/irish_views_by_ssquared_photography-d5wjnsk.jpg' },
  24. { content: 'You miss 100 percent of the shots you never take.', img: 'http://www.landsendhotel.co.uk/uploads/gallery/gallery/coastal_scenery_seascapes_6.jpg' },
  25. { content: 'Those who believe in telekinetics, raise my hand.', img: 'https://tctechcrunch2011.files.wordpress.com/2017/10/26099344353_18cd6fabb8_k.jpg?w=738' },
  26. { content: 'I’d rather live with a good question than a bad answer.', img: 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQVa26cLzh6PYUwY4LMpwbHyDHFmWi_w2JuqDzeOdm1IIEbBZO0Vg' }
  27. ];
  28. var Card = function (props) {
  29. var item = props.item;
  30. var dataSet = props['data-set'];
  31. return (React.createElement("div", { className: 'layout-Item' },
  32. React.createElement("img", { src: item.img, style: { width: '100%', height: '60%' }, draggable: false, alt: 'card' }),
  33. React.createElement("div", { style: { padding: 5, textAlign: 'center', color: '#595959' } }, dataSet.handle ? React.createElement("div", { className: 'card-handle', id: "dragact-handle" }, "\u70B9\u6211\u62D6\u52A8") : item.content)));
  34. };
  35. var AddRemove = /** @class */ (function (_super) {
  36. __extends(AddRemove, _super);
  37. function AddRemove() {
  38. var _this = _super !== null && _super.apply(this, arguments) || this;
  39. _this.state = {
  40. layout: [1]
  41. };
  42. _this.handleClick = function () {
  43. _this.setState({
  44. layout: _this.state.layout.concat([1])
  45. });
  46. console.log(_this.state.layout);
  47. };
  48. _this.handleDeleteClick = function () {
  49. _this.state.layout.shift();
  50. _this.setState({
  51. layout: _this.state.layout.slice()
  52. });
  53. };
  54. return _this;
  55. }
  56. AddRemove.prototype.componentDidMount = function () {
  57. this.setState({
  58. layout: this.dragactNode.getLayout()
  59. });
  60. };
  61. AddRemove.prototype.render = function () {
  62. var _this = this;
  63. var margin = [5, 5];
  64. var dragactInit = {
  65. width: 800,
  66. col: 12,
  67. rowHeight: 800 / 12,
  68. margin: margin,
  69. className: 'normal-layout'
  70. };
  71. return (React.createElement("div", null,
  72. React.createElement("div", { style: { display: 'flex', justifyContent: 'center' } },
  73. React.createElement("div", null,
  74. React.createElement("h1", { style: { textAlign: 'center' } }, "AddRemove Demo"),
  75. React.createElement(Dragact, __assign({}, dragactInit, { ref: function (node) { return node ? _this.dragactNode = node : null; } }), this.state.layout.map(function (el, i) {
  76. return (React.createElement(Card, { item: Words[0], key: i, "data-set": { GridX: i * 3, GridY: 0, w: 3, h: 3 } }));
  77. })),
  78. React.createElement("button", { onClick: this.handleClick }, "\u65B0\u589E"),
  79. React.createElement("button", { onClick: this.handleDeleteClick }, "\u5220\u9664")))));
  80. };
  81. return AddRemove;
  82. }(React.Component));
  83. export { AddRemove };