UNPKG

geoportal-extensions-openlayers

Version:

![GitHub package.json version](https://img.shields.io/github/package-json/v/IGNF/geoportal-extensions?filename=build%2Fscripts%2Frelease%2Fpackage-openlayers.json)

88 lines (75 loc) 1.72 kB
/** * @module SelectorID * @alias [private] SelectorID * @description * formalisme d'un tag ID : * -> NAME(_ORDER)-1460636385836 * * @example * Ex. * GProutePoints-1460636385836 * GProutePoint_10-1460636385836 */ var SelectorID = { /** * Construction d'un identifiant statique basé sur le timestamp, * et qui s'incremente de +1 à chaque appel * @function generate */ generate : (function () { var timestamp = Math.floor(Date.now()); return function () { return timestamp++; }; })(), /** * nom du tag * @function name * @param {String} id - the id * @returns {String} index */ name : function (id) { var name = null; var i = id.lastIndexOf("-"); if (i === -1) { name = id; } else { name = id.substring(0, i); } return name; }, /** * numero d'identifiant du tag * * @function index * @param {String} id - the id * @returns {String} index */ index : function (id) { var index = null; var name = this.name(id); // if (name !== id) { var i = name.lastIndexOf("_"); if (i !== -1) { index = name.substring(i + 1); } // } return index; }, /** * uuid du tag * * @function uuid * @param {String} id - the id * @returns {String} uuid */ uuid : function (id) { var uuid = null; var i = id.lastIndexOf("-"); if (i !== -1) { uuid = parseInt(id.substring(i + 1), 10); } return uuid; } }; export default SelectorID;