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"}