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;