Source: interactions/drawResult.js

let Guid = require('./../math/guid');

/**
 * @class DrawResult
 * @param {object} params - опции создания объекта
 * @param params.feature {ol.Feature} - графический объект
 * @param params.target {ol.Target} - целевой объем DOM
 * @param params.type {string} - тип объекта
 * @param params.temporaryId {string} - временный guid
 * @param params.title {string} - дефолтная подпись к объекту
 * @param params.layerId {string} - идентификатор слоя
 */
class DrawResult {
    constructor(params) {

        // временный guid для нарисованных
        let temporaryId = Guid.createGUID();
        params.feature.set("__TEMPORARY_ID__", temporaryId);

        //todo вынести в отдельный класс (функцию)
        let props = params.feature.getProperties();

        let titleItems = [];
        for (let key in props) {
            if (props[key] !== undefined && typeof props[key] !== "object") {
                titleItems.push(key + "=" + props[key]);
            }
        }
        let title = "Новый объект" + " (слой " + params.layerId + ")";

        let result = {
            feature: params.feature,
            target: params.target,
            type: "draw",
            title: params.title || title,
            layerId: params.layerId
        };
        return result;
    }
}

module.exports = DrawResult;