{"_id":"@1nd/fabric-history-pure-browser","_rev":"1-43cb7c9c1ad8c307e812ed1a557fefba","name":"@1nd/fabric-history-pure-browser","dist-tags":{"latest":"1.6.0"},"versions":{"1.6.0":{"name":"@1nd/fabric-history-pure-browser","version":"1.6.0","description":"Undo and redo implementations on fabric-pure-browser version of fabric.js","main":"src/index.min.js","scripts":{"minify":"uglifyjs --compress --mangle -o src/index.min.js -- src/index.js ","prepare":"pnpm run minify"},"repository":{"type":"git","url":"git+https://github.com/1nd/fabric-history.git"},"dependencies":{"fabric-pure-browser":"^3.3.2"},"keywords":["fabric","fabricjs","fabric-pure-browser","history","undo","redo"],"author":{"name":"Alim Ozdemir","email":"alm.ozdmr@gmail.com","url":"http://alimozdemir.com"},"license":"MIT","bugs":{"url":"https://github.com/1nd/fabric-history/issues"},"homepage":"https://github.com/1nd/fabric-history#readme","devDependencies":{"uglify-es":"^3.3.9"},"gitHead":"8c223cbdc8305307b4a8f8710f97da54d9146ffa","_id":"@1nd/fabric-history-pure-browser@1.6.0","_nodeVersion":"12.18.2","_npmVersion":"6.14.5","dist":{"integrity":"sha512-biEa9EplchmjQP3300NZZDnjJj2pSgr69lmphI0uSuXVysI+DwdF7W9YwX8Wky1t/fmlTTkrUZqqdUUpyUqexw==","shasum":"fcccdd6067a93b5e277c17c44a83a411dbd4f547","tarball":"https://registry.npmjs.org/@1nd/fabric-history-pure-browser/-/fabric-history-pure-browser-1.6.0.tgz","fileCount":5,"unpackedSize":9824,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgAFZpCRA9TVsSAnZWagAAhTcP+wZ4eByEKonKRqEjCu2w\no9/xFNZnsmmcwN1xIPlkVywHeCoQckAr8XDBAZHkjsIB49redXjQynZXWo5Y\n8huHDmBrcd7Rk03uvgydHqKc5zkruiUEiu4rjhWISMV33APv4HxpbqauLQmX\nqtMdwBJpYAo+dzgsAVfOp30rpBegdbMsCiZhRmuFJMIeoZncjoU3fjo5ixYs\ng7r9GoVna2NYMsF0OeTtNGkrrF3xfQhctn8ciytPIZnqOVIdOtnyTGYeiOf2\nb+nVVlxXCX1jFHCQDqZDHeh8FhcX+3uBhUpJPyU2+EkYJxF8SAYuPG41mlTe\nrvY0SkwHCq+KlwVPQyOZLV+TIqoVuSVVyL8Ep/Fb+YkykVNJmkytCS6jrI6+\nCekHbq6r4w+GbvzBTopd89yqqtXOVPz8I1FpctYCD1v5gXRr74bBBvSVRtl4\nawkDnXJQv822NjGpiP/GOPTHAUQbbpvqthTnOLUzSzz+AIcnI3Ch2wjGLbYO\nlmQG7bsl/l6aUJTKBr/TLvldmHtVp0isxJVculBkSeSY102bAmCVKLphz9YQ\ngpAAyPWq5G8eaJtBiuBSACLMThUtMTI3D2YiXJ3jLQDPMjdBwR3aFUccqFN+\nGLJmE+hYydjLDlEpBorRHCssGpIhf5KCbFgPcmbQS3oJm0Syxpp4kMV0/G80\nXqyB\r\n=UT2t\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCArjun9jHeEVi2jt3DWKzCTl/uBSAR7wjLYiZfrVBPGgIgGsnwCv9QVYub/6W33Y6HkX6MITMz/q2Vs2+NEumMH3M="}]},"_npmUser":{"name":"1nd","email":"pradhana.indra@gmail.com"},"directories":{},"maintainers":[{"name":"1nd","email":"pradhana.indra@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fabric-history-pure-browser_1.6.0_1610634856687_0.4320735664618425"},"_hasShrinkwrap":false}},"time":{"created":"2021-01-14T14:34:16.631Z","1.6.0":"2021-01-14T14:34:16.880Z","modified":"2022-04-04T10:33:50.458Z"},"maintainers":[{"name":"1nd","email":"pradhana.indra@gmail.com"}],"description":"Undo and redo implementations on fabric-pure-browser version of fabric.js","homepage":"https://github.com/1nd/fabric-history#readme","keywords":["fabric","fabricjs","fabric-pure-browser","history","undo","redo"],"repository":{"type":"git","url":"git+https://github.com/1nd/fabric-history.git"},"author":{"name":"Alim Ozdemir","email":"alm.ozdmr@gmail.com","url":"http://alimozdemir.com"},"bugs":{"url":"https://github.com/1nd/fabric-history/issues"},"license":"MIT","readme":"# fabric-history\n\n[![npm](https://img.shields.io/npm/v/fabric-history)](https://www.npmjs.com/package/fabric-history) ![npm](https://img.shields.io/npm/dw/fabric-history)\n\nFabric.js history implementation\n\n# Setup\n\n## Node projects\n```bash\nnpm i fabric-history\n```\n\n```javascript\nimport 'fabric-history';\n```\n\n## HTML\n\n```html\n<script src=\"https://raw.githubusercontent.com/lyzerk/fabric-history/master/src/index.js\"></script>\n```\n\n# Usage\n\nFollowing commands will undo and redo the canvas.\n\n```javascript\ncanvas.undo();\n\ncanvas.redo();\n```\n\n# Example\n\n```html\n<!doctype html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\">\n  <title>Fabric with history</title>\n</head>\n<body>\n  <canvas></canvas>\n  <script src=\"https://cdnjs.cloudflare.com/ajax/libs/fabric.js/3.4.0/fabric.min.js\"></script>\n  <script src=\"//raw.githubusercontent.com/lyzerk/fabric-history/master/src/index.js\"></script>\n\n  <script>\n    const canvas = new fabric.Canvas(document.querySelector('canvas'), {\n      isDrawingMode: true\n    })\n\n    document.addEventListener('keyup', ({ keyCode, ctrlKey } = event) => {\n      // Check Ctrl key is pressed.\n      if (!ctrlKey) {\n        return\n      }\n\n      // Check pressed button is Z - Ctrl+Z.\n      if (keyCode === 90) {\n        canvas.undo()\n      }\n\n      // Check pressed button is Y - Ctrl+Y.\n      if (keyCode === 89) {\n        canvas.redo()\n      }\n    })\n    </script>\n</body>\n</html>\n```\n\nYou can find an advanced example on demo folder.\n\n# Events\n\n- history:append\n  - Fired when a history appended to stack\n- history:undo\n  - Fired when an undo process is happening\n- history:redo\n  - Fired when a redo process is happening\n- history:clear\n  - Fired when whole history cleared\n\n# Callbacks\n\n\n```javascript\ncanvas.undo(function() { \n  console.log('post undo');\n});\n\ncanvas.redo(function() { \n  console.log('post redo');\n});\n```\n\n# Functions\n\n- undo\n- redo\n- clearHistory\n","readmeFilename":"README.md"}