UNPKG

trc-sheet

Version:
73 lines (72 loc) 2.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var trcSheet = require("./sheet"); var PolygonHelper = (function () { function PolygonHelper(sheet) { this._name2id = null; this._sheet = sheet; } PolygonHelper.prototype.updatePolygonAsync = function (dataId, friendlyName, vertices) { var body = PolygonHelper.createDataRequest(friendlyName, vertices); return this._sheet.postCustomDataAsync(trcSheet.PolygonKind, dataId, body) .then(function (result) { return result.DataId; }); }; PolygonHelper.prototype.createPolygon = function (friendlyName, vertices) { return this.updatePolygonAsync("_", friendlyName, vertices); }; PolygonHelper.polygonSchemaFromPoints = function (vertices) { var lat = []; var long = []; for (var i = 0; i < vertices.length; i++) { var v = vertices[i]; lat.push(v.Lat); long.push(v.Long); } return { Lat: lat, Long: long }; }; PolygonHelper.createDataRequest = function (friendlyName, vertices) { var result = { FriendlyName: friendlyName, Etag: null, Value: PolygonHelper.polygonSchemaFromPoints(vertices) }; return result; }; PolygonHelper.prototype.getPolygonByIdAsync = function (dataId) { return this._sheet.getCustomDataAsync(trcSheet.PolygonKind, dataId). then(function (result) { return result.Value; }); }; PolygonHelper.prototype.lookupNameFromIdAsync = function (name) { var _this = this; if (this._name2id == null) { return this._sheet.listCustomDataAsync(trcSheet.PolygonKind).then(function (result) { _this._name2id = result; return _this.lookupNameFromIdWorkerAsync(name); }); } else { return this.lookupNameFromIdWorkerAsync(name); } }; PolygonHelper.prototype.lookupNameFromIdWorkerAsync = function (name) { var result = null; return this._name2id.ForEach(function (item) { if (item.Name == name) { result = item.DataId; } }).then(function () { return result; }); }; PolygonHelper.prototype.getPolygonByNameAsync = function (name) { var _this = this; return this.lookupNameFromIdAsync(name).then(function (dataId) { return _this.getPolygonByIdAsync(dataId); }); }; return PolygonHelper; }()); exports.PolygonHelper = PolygonHelper;