0a49fb6702029e601da3724023499dff.json
6.41 KB
{"ast":null,"code":"/**\r\n * @author NHN Ent. FE Development Team <dl_javascript@nhn.com>\r\n * @fileoverview Image loader\r\n */\nimport Component from '../interface/component';\nimport { componentNames, rejectMessages } from '../consts';\nimport { Promise } from '../util';\nconst imageOption = {\n padding: 0,\n crossOrigin: 'Anonymous'\n};\n/**\r\n * ImageLoader components\r\n * @extends {Component}\r\n * @class ImageLoader\r\n * @param {Graphics} graphics - Graphics instance\r\n * @ignore\r\n */\n\nclass ImageLoader extends Component {\n constructor(graphics) {\n super(componentNames.IMAGE_LOADER, graphics);\n }\n /**\r\n * Load image from url\r\n * @param {?string} imageName - File name\r\n * @param {?(fabric.Image|string)} img - fabric.Image instance or URL of an image\r\n * @returns {Promise}\r\n */\n\n\n load(imageName, img) {\n let promise;\n\n if (!imageName && !img) {\n // Back to the initial state, not error.\n const canvas = this.getCanvas();\n canvas.backgroundImage = null;\n canvas.renderAll();\n promise = new Promise(resolve => {\n this.setCanvasImage('', null);\n resolve();\n });\n } else {\n promise = this._setBackgroundImage(img).then(oImage => {\n this.setCanvasImage(imageName, oImage);\n this.adjustCanvasDimension();\n return oImage;\n });\n }\n\n return promise;\n }\n /**\r\n * Set background image\r\n * @param {?(fabric.Image|String)} img fabric.Image instance or URL of an image to set background to\r\n * @returns {Promise}\r\n * @private\r\n */\n\n\n _setBackgroundImage(img) {\n if (!img) {\n return Promise.reject(rejectMessages.loadImage);\n }\n\n return new Promise((resolve, reject) => {\n const canvas = this.getCanvas();\n canvas.setBackgroundImage(img, () => {\n const oImage = canvas.backgroundImage;\n\n if (oImage && oImage.getElement()) {\n resolve(oImage);\n } else {\n reject(rejectMessages.loadingImageFailed);\n }\n }, imageOption);\n });\n }\n\n}\n\nexport default ImageLoader;","map":{"version":3,"sources":["C:/Users/kkwan_000/Desktop/git/2017110269/minsung/src/js/component/imageLoader.js"],"names":["Component","componentNames","rejectMessages","Promise","imageOption","padding","crossOrigin","ImageLoader","constructor","graphics","IMAGE_LOADER","load","imageName","img","promise","canvas","getCanvas","backgroundImage","renderAll","resolve","setCanvasImage","_setBackgroundImage","then","oImage","adjustCanvasDimension","reject","loadImage","setBackgroundImage","getElement","loadingImageFailed"],"mappings":"AAAA;AACA;AACA;AACA;AACA,OAAOA,SAAP,MAAsB,wBAAtB;AACA,SAASC,cAAT,EAAyBC,cAAzB,QAA+C,WAA/C;AACA,SAASC,OAAT,QAAwB,SAAxB;AAEA,MAAMC,WAAW,GAAG;AAClBC,EAAAA,OAAO,EAAE,CADS;AAElBC,EAAAA,WAAW,EAAE;AAFK,CAApB;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,WAAN,SAA0BP,SAA1B,CAAoC;AAClCQ,EAAAA,WAAW,CAACC,QAAD,EAAW;AACpB,UAAMR,cAAc,CAACS,YAArB,EAAmCD,QAAnC;AACD;AAED;AACF;AACA;AACA;AACA;AACA;;;AACEE,EAAAA,IAAI,CAACC,SAAD,EAAYC,GAAZ,EAAiB;AACnB,QAAIC,OAAJ;;AAEA,QAAI,CAACF,SAAD,IAAc,CAACC,GAAnB,EAAwB;AACtB;AACA,YAAME,MAAM,GAAG,KAAKC,SAAL,EAAf;AAEAD,MAAAA,MAAM,CAACE,eAAP,GAAyB,IAAzB;AACAF,MAAAA,MAAM,CAACG,SAAP;AAEAJ,MAAAA,OAAO,GAAG,IAAIX,OAAJ,CAAagB,OAAD,IAAa;AACjC,aAAKC,cAAL,CAAoB,EAApB,EAAwB,IAAxB;AACAD,QAAAA,OAAO;AACR,OAHS,CAAV;AAID,KAXD,MAWO;AACLL,MAAAA,OAAO,GAAG,KAAKO,mBAAL,CAAyBR,GAAzB,EAA8BS,IAA9B,CAAoCC,MAAD,IAAY;AACvD,aAAKH,cAAL,CAAoBR,SAApB,EAA+BW,MAA/B;AACA,aAAKC,qBAAL;AAEA,eAAOD,MAAP;AACD,OALS,CAAV;AAMD;;AAED,WAAOT,OAAP;AACD;AAED;AACF;AACA;AACA;AACA;AACA;;;AACEO,EAAAA,mBAAmB,CAACR,GAAD,EAAM;AACvB,QAAI,CAACA,GAAL,EAAU;AACR,aAAOV,OAAO,CAACsB,MAAR,CAAevB,cAAc,CAACwB,SAA9B,CAAP;AACD;;AAED,WAAO,IAAIvB,OAAJ,CAAY,CAACgB,OAAD,EAAUM,MAAV,KAAqB;AACtC,YAAMV,MAAM,GAAG,KAAKC,SAAL,EAAf;AAEAD,MAAAA,MAAM,CAACY,kBAAP,CACEd,GADF,EAEE,MAAM;AACJ,cAAMU,MAAM,GAAGR,MAAM,CAACE,eAAtB;;AAEA,YAAIM,MAAM,IAAIA,MAAM,CAACK,UAAP,EAAd,EAAmC;AACjCT,UAAAA,OAAO,CAACI,MAAD,CAAP;AACD,SAFD,MAEO;AACLE,UAAAA,MAAM,CAACvB,cAAc,CAAC2B,kBAAhB,CAAN;AACD;AACF,OAVH,EAWEzB,WAXF;AAaD,KAhBM,CAAP;AAiBD;;AAjEiC;;AAoEpC,eAAeG,WAAf","sourcesContent":["/**\r\n * @author NHN Ent. FE Development Team <dl_javascript@nhn.com>\r\n * @fileoverview Image loader\r\n */\r\nimport Component from '../interface/component';\r\nimport { componentNames, rejectMessages } from '../consts';\r\nimport { Promise } from '../util';\r\n\r\nconst imageOption = {\r\n padding: 0,\r\n crossOrigin: 'Anonymous',\r\n};\r\n\r\n/**\r\n * ImageLoader components\r\n * @extends {Component}\r\n * @class ImageLoader\r\n * @param {Graphics} graphics - Graphics instance\r\n * @ignore\r\n */\r\nclass ImageLoader extends Component {\r\n constructor(graphics) {\r\n super(componentNames.IMAGE_LOADER, graphics);\r\n }\r\n\r\n /**\r\n * Load image from url\r\n * @param {?string} imageName - File name\r\n * @param {?(fabric.Image|string)} img - fabric.Image instance or URL of an image\r\n * @returns {Promise}\r\n */\r\n load(imageName, img) {\r\n let promise;\r\n\r\n if (!imageName && !img) {\r\n // Back to the initial state, not error.\r\n const canvas = this.getCanvas();\r\n\r\n canvas.backgroundImage = null;\r\n canvas.renderAll();\r\n\r\n promise = new Promise((resolve) => {\r\n this.setCanvasImage('', null);\r\n resolve();\r\n });\r\n } else {\r\n promise = this._setBackgroundImage(img).then((oImage) => {\r\n this.setCanvasImage(imageName, oImage);\r\n this.adjustCanvasDimension();\r\n\r\n return oImage;\r\n });\r\n }\r\n\r\n return promise;\r\n }\r\n\r\n /**\r\n * Set background image\r\n * @param {?(fabric.Image|String)} img fabric.Image instance or URL of an image to set background to\r\n * @returns {Promise}\r\n * @private\r\n */\r\n _setBackgroundImage(img) {\r\n if (!img) {\r\n return Promise.reject(rejectMessages.loadImage);\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n const canvas = this.getCanvas();\r\n\r\n canvas.setBackgroundImage(\r\n img,\r\n () => {\r\n const oImage = canvas.backgroundImage;\r\n\r\n if (oImage && oImage.getElement()) {\r\n resolve(oImage);\r\n } else {\r\n reject(rejectMessages.loadingImageFailed);\r\n }\r\n },\r\n imageOption\r\n );\r\n });\r\n }\r\n}\r\n\r\nexport default ImageLoader;\r\n"]},"metadata":{},"sourceType":"module"}