b908e85b958bd4b4dc27124beffa6fa0.json
18.1 KB
{"ast":null,"code":"/**\r\n * @author NHN Ent. FE Development Team <dl_javascript@nhn.com>\r\n * @fileoverview Add filter module\r\n */\nimport { isUndefined, extend, forEach, filter } from 'tui-code-snippet';\nimport { Promise } from '../util';\nimport fabric from 'fabric';\nimport Component from '../interface/component';\nimport Mask from '../extension/mask';\nimport { rejectMessages, componentNames } from '../consts';\nimport Sharpen from '../extension/sharpen';\nimport Emboss from '../extension/emboss';\nimport ColorFilter from '../extension/colorFilter';\nconst {\n filters\n} = fabric.Image;\nfilters.Mask = Mask;\nfilters.Sharpen = Sharpen;\nfilters.Emboss = Emboss;\nfilters.ColorFilter = ColorFilter;\n/**\r\n * Filter\r\n * @class Filter\r\n * @param {Graphics} graphics - Graphics instance\r\n * @extends {Component}\r\n * @ignore\r\n */\n\nclass Filter extends Component {\n constructor(graphics) {\n super(componentNames.FILTER, graphics);\n }\n /**\r\n * Add filter to source image (a specific filter is added on fabric.js)\r\n * @param {string} type - Filter type\r\n * @param {Object} [options] - Options of filter\r\n * @returns {Promise}\r\n */\n\n\n add(type, options) {\n return new Promise((resolve, reject) => {\n const sourceImg = this._getSourceImage();\n\n const canvas = this.getCanvas();\n\n let imgFilter = this._getFilter(sourceImg, type);\n\n if (!imgFilter) {\n imgFilter = this._createFilter(sourceImg, type, options);\n }\n\n if (!imgFilter) {\n reject(rejectMessages.invalidParameters);\n }\n\n this._changeFilterValues(imgFilter, options);\n\n this._apply(sourceImg, () => {\n canvas.renderAll();\n resolve({\n type,\n action: 'add',\n options\n });\n });\n });\n }\n /**\r\n * Remove filter to source image\r\n * @param {string} type - Filter type\r\n * @returns {Promise}\r\n */\n\n\n remove(type) {\n return new Promise((resolve, reject) => {\n const sourceImg = this._getSourceImage();\n\n const canvas = this.getCanvas();\n const options = this.getOptions(type);\n\n if (!sourceImg.filters.length) {\n reject(rejectMessages.unsupportedOperation);\n }\n\n this._removeFilter(sourceImg, type);\n\n this._apply(sourceImg, () => {\n canvas.renderAll();\n resolve({\n type,\n action: 'remove',\n options\n });\n });\n });\n }\n /**\r\n * Whether this has the filter or not\r\n * @param {string} type - Filter type\r\n * @returns {boolean} true if it has the filter\r\n */\n\n\n hasFilter(type) {\n return !!this._getFilter(this._getSourceImage(), type);\n }\n /**\r\n * Get a filter options\r\n * @param {string} type - Filter type\r\n * @returns {Object} filter options or null if there is no that filter\r\n */\n\n\n getOptions(type) {\n const sourceImg = this._getSourceImage();\n\n const imgFilter = this._getFilter(sourceImg, type);\n\n if (!imgFilter) {\n return null;\n }\n\n return extend({}, imgFilter.options);\n }\n /**\r\n * Change filter values\r\n * @param {Object} imgFilter object of filter\r\n * @param {Object} options object\r\n * @private\r\n */\n\n\n _changeFilterValues(imgFilter, options) {\n forEach(options, (value, key) => {\n if (!isUndefined(imgFilter[key])) {\n imgFilter[key] = value;\n }\n });\n forEach(imgFilter.options, (value, key) => {\n if (!isUndefined(options[key])) {\n imgFilter.options[key] = options[key];\n }\n });\n }\n /**\r\n * Apply filter\r\n * @param {fabric.Image} sourceImg - Source image to apply filter\r\n * @param {function} callback - Executed function after applying filter\r\n * @private\r\n */\n\n\n _apply(sourceImg, callback) {\n sourceImg.filters.push();\n const result = sourceImg.applyFilters();\n\n if (result) {\n callback();\n }\n }\n /**\r\n * Get source image on canvas\r\n * @returns {fabric.Image} Current source image on canvas\r\n * @private\r\n */\n\n\n _getSourceImage() {\n return this.getCanvasImage();\n }\n /**\r\n * Create filter instance\r\n * @param {fabric.Image} sourceImg - Source image to apply filter\r\n * @param {string} type - Filter type\r\n * @param {Object} [options] - Options of filter\r\n * @returns {Object} Fabric object of filter\r\n * @private\r\n */\n\n\n _createFilter(sourceImg, type, options) {\n let filterObj; // capitalize first letter for matching with fabric image filter name\n\n const fabricType = this._getFabricFilterType(type);\n\n const ImageFilter = fabric.Image.filters[fabricType];\n\n if (ImageFilter) {\n filterObj = new ImageFilter(options);\n filterObj.options = options;\n sourceImg.filters.push(filterObj);\n }\n\n return filterObj;\n }\n /**\r\n * Get applied filter instance\r\n * @param {fabric.Image} sourceImg - Source image to apply filter\r\n * @param {string} type - Filter type\r\n * @returns {Object} Fabric object of filter\r\n * @private\r\n */\n\n\n _getFilter(sourceImg, type) {\n let imgFilter = null;\n\n if (sourceImg) {\n const fabricType = this._getFabricFilterType(type);\n\n const {\n length\n } = sourceImg.filters;\n let item, i;\n\n for (i = 0; i < length; i += 1) {\n item = sourceImg.filters[i];\n\n if (item.type === fabricType) {\n imgFilter = item;\n break;\n }\n }\n }\n\n return imgFilter;\n }\n /**\r\n * Remove applied filter instance\r\n * @param {fabric.Image} sourceImg - Source image to apply filter\r\n * @param {string} type - Filter type\r\n * @private\r\n */\n\n\n _removeFilter(sourceImg, type) {\n const fabricType = this._getFabricFilterType(type);\n\n sourceImg.filters = filter(sourceImg.filters, value => value.type !== fabricType);\n }\n /**\r\n * Change filter class name to fabric's, especially capitalizing first letter\r\n * @param {string} type - Filter type\r\n * @example\r\n * 'grayscale' -> 'Grayscale'\r\n * @returns {string} Fabric filter class name\r\n */\n\n\n _getFabricFilterType(type) {\n return type.charAt(0).toUpperCase() + type.slice(1);\n }\n\n}\n\nexport default Filter;","map":{"version":3,"sources":["C:/Users/kkwan_000/Desktop/git/2017110269/minsung/src/js/component/filter.js"],"names":["isUndefined","extend","forEach","filter","Promise","fabric","Component","Mask","rejectMessages","componentNames","Sharpen","Emboss","ColorFilter","filters","Image","Filter","constructor","graphics","FILTER","add","type","options","resolve","reject","sourceImg","_getSourceImage","canvas","getCanvas","imgFilter","_getFilter","_createFilter","invalidParameters","_changeFilterValues","_apply","renderAll","action","remove","getOptions","length","unsupportedOperation","_removeFilter","hasFilter","value","key","callback","push","result","applyFilters","getCanvasImage","filterObj","fabricType","_getFabricFilterType","ImageFilter","item","i","charAt","toUpperCase","slice"],"mappings":"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","sourcesContent":["/**\r\n * @author NHN Ent. FE Development Team <dl_javascript@nhn.com>\r\n * @fileoverview Add filter module\r\n */\r\nimport { isUndefined, extend, forEach, filter } from 'tui-code-snippet';\r\nimport { Promise } from '../util';\r\nimport fabric from 'fabric';\r\nimport Component from '../interface/component';\r\nimport Mask from '../extension/mask';\r\nimport { rejectMessages, componentNames } from '../consts';\r\nimport Sharpen from '../extension/sharpen';\r\nimport Emboss from '../extension/emboss';\r\nimport ColorFilter from '../extension/colorFilter';\r\n\r\nconst { filters } = fabric.Image;\r\nfilters.Mask = Mask;\r\nfilters.Sharpen = Sharpen;\r\nfilters.Emboss = Emboss;\r\nfilters.ColorFilter = ColorFilter;\r\n\r\n/**\r\n * Filter\r\n * @class Filter\r\n * @param {Graphics} graphics - Graphics instance\r\n * @extends {Component}\r\n * @ignore\r\n */\r\nclass Filter extends Component {\r\n constructor(graphics) {\r\n super(componentNames.FILTER, graphics);\r\n }\r\n\r\n /**\r\n * Add filter to source image (a specific filter is added on fabric.js)\r\n * @param {string} type - Filter type\r\n * @param {Object} [options] - Options of filter\r\n * @returns {Promise}\r\n */\r\n add(type, options) {\r\n return new Promise((resolve, reject) => {\r\n const sourceImg = this._getSourceImage();\r\n const canvas = this.getCanvas();\r\n let imgFilter = this._getFilter(sourceImg, type);\r\n if (!imgFilter) {\r\n imgFilter = this._createFilter(sourceImg, type, options);\r\n }\r\n\r\n if (!imgFilter) {\r\n reject(rejectMessages.invalidParameters);\r\n }\r\n\r\n this._changeFilterValues(imgFilter, options);\r\n\r\n this._apply(sourceImg, () => {\r\n canvas.renderAll();\r\n resolve({\r\n type,\r\n action: 'add',\r\n options,\r\n });\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Remove filter to source image\r\n * @param {string} type - Filter type\r\n * @returns {Promise}\r\n */\r\n remove(type) {\r\n return new Promise((resolve, reject) => {\r\n const sourceImg = this._getSourceImage();\r\n const canvas = this.getCanvas();\r\n const options = this.getOptions(type);\r\n\r\n if (!sourceImg.filters.length) {\r\n reject(rejectMessages.unsupportedOperation);\r\n }\r\n\r\n this._removeFilter(sourceImg, type);\r\n\r\n this._apply(sourceImg, () => {\r\n canvas.renderAll();\r\n resolve({\r\n type,\r\n action: 'remove',\r\n options,\r\n });\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Whether this has the filter or not\r\n * @param {string} type - Filter type\r\n * @returns {boolean} true if it has the filter\r\n */\r\n hasFilter(type) {\r\n return !!this._getFilter(this._getSourceImage(), type);\r\n }\r\n\r\n /**\r\n * Get a filter options\r\n * @param {string} type - Filter type\r\n * @returns {Object} filter options or null if there is no that filter\r\n */\r\n getOptions(type) {\r\n const sourceImg = this._getSourceImage();\r\n const imgFilter = this._getFilter(sourceImg, type);\r\n if (!imgFilter) {\r\n return null;\r\n }\r\n\r\n return extend({}, imgFilter.options);\r\n }\r\n\r\n /**\r\n * Change filter values\r\n * @param {Object} imgFilter object of filter\r\n * @param {Object} options object\r\n * @private\r\n */\r\n _changeFilterValues(imgFilter, options) {\r\n forEach(options, (value, key) => {\r\n if (!isUndefined(imgFilter[key])) {\r\n imgFilter[key] = value;\r\n }\r\n });\r\n forEach(imgFilter.options, (value, key) => {\r\n if (!isUndefined(options[key])) {\r\n imgFilter.options[key] = options[key];\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Apply filter\r\n * @param {fabric.Image} sourceImg - Source image to apply filter\r\n * @param {function} callback - Executed function after applying filter\r\n * @private\r\n */\r\n _apply(sourceImg, callback) {\r\n sourceImg.filters.push();\r\n const result = sourceImg.applyFilters();\r\n if (result) {\r\n callback();\r\n }\r\n }\r\n\r\n /**\r\n * Get source image on canvas\r\n * @returns {fabric.Image} Current source image on canvas\r\n * @private\r\n */\r\n _getSourceImage() {\r\n return this.getCanvasImage();\r\n }\r\n\r\n /**\r\n * Create filter instance\r\n * @param {fabric.Image} sourceImg - Source image to apply filter\r\n * @param {string} type - Filter type\r\n * @param {Object} [options] - Options of filter\r\n * @returns {Object} Fabric object of filter\r\n * @private\r\n */\r\n _createFilter(sourceImg, type, options) {\r\n let filterObj;\r\n // capitalize first letter for matching with fabric image filter name\r\n const fabricType = this._getFabricFilterType(type);\r\n const ImageFilter = fabric.Image.filters[fabricType];\r\n if (ImageFilter) {\r\n filterObj = new ImageFilter(options);\r\n filterObj.options = options;\r\n sourceImg.filters.push(filterObj);\r\n }\r\n\r\n return filterObj;\r\n }\r\n\r\n /**\r\n * Get applied filter instance\r\n * @param {fabric.Image} sourceImg - Source image to apply filter\r\n * @param {string} type - Filter type\r\n * @returns {Object} Fabric object of filter\r\n * @private\r\n */\r\n _getFilter(sourceImg, type) {\r\n let imgFilter = null;\r\n\r\n if (sourceImg) {\r\n const fabricType = this._getFabricFilterType(type);\r\n const { length } = sourceImg.filters;\r\n let item, i;\r\n\r\n for (i = 0; i < length; i += 1) {\r\n item = sourceImg.filters[i];\r\n if (item.type === fabricType) {\r\n imgFilter = item;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return imgFilter;\r\n }\r\n\r\n /**\r\n * Remove applied filter instance\r\n * @param {fabric.Image} sourceImg - Source image to apply filter\r\n * @param {string} type - Filter type\r\n * @private\r\n */\r\n _removeFilter(sourceImg, type) {\r\n const fabricType = this._getFabricFilterType(type);\r\n sourceImg.filters = filter(sourceImg.filters, (value) => value.type !== fabricType);\r\n }\r\n\r\n /**\r\n * Change filter class name to fabric's, especially capitalizing first letter\r\n * @param {string} type - Filter type\r\n * @example\r\n * 'grayscale' -> 'Grayscale'\r\n * @returns {string} Fabric filter class name\r\n */\r\n _getFabricFilterType(type) {\r\n return type.charAt(0).toUpperCase() + type.slice(1);\r\n }\r\n}\r\n\r\nexport default Filter;\r\n"]},"metadata":{},"sourceType":"module"}