add(type, options) {
    return new Promise((resolve, reject) => {
      const canvas = this.getCanvas();
      const path = this._pathMap[type];
      const selectionStyle = fObjectOptions.SELECTION_STYLE;
      const icon = path ? this._createIcon(path) : null;
      this._icon = icon;

      if (!icon) {
        reject(rejectMessages.invalidParameters);
      }

      icon.set(
        extend(
          {
            type: 'icon',
            fill: this._oColor,
          },
          selectionStyle,
          options,
          this.graphics.controlStyle
        )
      );

      canvas.add(icon).setActiveObject(icon);

      resolve(this.graphics.createObjectProperties(icon));
    });
  }
Add icon
@param {string} type - Icon type
@param {Object} options - Icon options
     @param {string} [options.fill] - Icon foreground color
     @param {string} [options.left] - Icon x position
     @param {string} [options.top] - Icon y position
@returns {Promise}