From 353ed43c6eddb42dd695ecbacc8b54f422cb91b3 Mon Sep 17 00:00:00 2001 From: glennvorhes <gavorhes@wisc.edu> Date: Mon, 12 Aug 2019 12:43:23 -0500 Subject: [PATCH] sorted features --- dist/olHelpers/SortedFeatures.js | 53 ++++++++++++++-------------- dist/olHelpers/SortedFeatures.js.map | 2 +- src/olHelpers/SortedFeatures.ts | 52 +++++++++++++-------------- 3 files changed, 53 insertions(+), 54 deletions(-) diff --git a/dist/olHelpers/SortedFeatures.js b/dist/olHelpers/SortedFeatures.js index 052bdad..7fc7868 100644 --- a/dist/olHelpers/SortedFeatures.js +++ b/dist/olHelpers/SortedFeatures.js @@ -17,33 +17,32 @@ class SortedFeatures { constructor(features, propertyName) { this.sortedFeatures = features; this.propertyName = propertyName; - if (this.sortedFeatures.length > 0) { - this._propertyType = typeof this.sortedFeatures[0].getProperties()[this.propertyName]; - // let __this = this; - this.sortedFeatures.sort((a, b) => { - if (this._propertyType == 'number') { - let aMinusB = a.getProperties()[this.propertyName] - b.getProperties()[this.propertyName]; - if (aMinusB == 0) { - return 0; - } - else { - return aMinusB > 0 ? 1 : -1; - } - } - else if (this._propertyType == 'string') { - let propA = a.getProperties()[this.propertyName] || ''; - let propB = b.getProperties()[this.propertyName] || ''; - propA = propA.toString().trim(); - propB = propB.toString().trim(); - if (propA == propB) { - return 0; - } - else { - return propA > propB ? 1 : 0; - } - } - }); - } + // if (this.sortedFeatures.length > 0) { + // this._propertyType = typeof this.sortedFeatures[0].getProperties()[this.propertyName]; + // + // // let __this = this; + // this.sortedFeatures.sort( (a: Feature, b: Feature) : number =>{ + // if (this._propertyType == 'number'){ + // let aMinusB = a.getProperties()[this.propertyName] - b.getProperties()[this.propertyName]; + // if (aMinusB == 0){ + // return 0; + // } else { + // return aMinusB > 0 ? 1 : -1; + // } + // } else if (this._propertyType == 'string'){ + // let propA = a.getProperties()[this.propertyName] || ''; + // let propB = b.getProperties()[this.propertyName] || ''; + // propA = propA.toString().trim(); + // propB = propB.toString().trim(); + // + // if (propA == propB){ + // return 0; + // } else { + // return propA > propB ? 1 : 0; + // } + // } + // }); + // } } /** * recursive search to find the value diff --git a/dist/olHelpers/SortedFeatures.js.map b/dist/olHelpers/SortedFeatures.js.map index 68462c4..b34326b 100644 --- a/dist/olHelpers/SortedFeatures.js.map +++ b/dist/olHelpers/SortedFeatures.js.map @@ -1 +1 @@ -{"version":3,"file":"SortedFeatures.js","sourceRoot":"","sources":["../../src/olHelpers/SortedFeatures.ts"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * Created by gavorhes on 12/23/2015.\r\n */\r\nimport provide from '../util/provide';\r\nimport Feature from 'ol/Feature';\r\nlet nm = provide('olHelpers');\r\n\r\n/**\r\n * take an array of features and sort by a given property name\r\n */\r\nexport class SortedFeatures {\r\n sortedFeatures: Array<Feature>;\r\n propertyName: string;\r\n _propertyType: string;\r\n\r\n /**\r\n *\r\n * @param {Array<Feature>} features array of ol features\r\n * @param {string} propertyName - the property name to use for lookup\r\n */\r\n constructor(features: Feature[], propertyName: string) {\r\n this.sortedFeatures = features;\r\n this.propertyName = propertyName;\r\n\r\n if (this.sortedFeatures.length > 0) {\r\n this._propertyType = typeof this.sortedFeatures[0].getProperties()[this.propertyName];\r\n\r\n // let __this = this;\r\n this.sortedFeatures.sort( (a: Feature, b: Feature) : number =>{\r\n if (this._propertyType == 'number'){\r\n let aMinusB = a.getProperties()[this.propertyName] - b.getProperties()[this.propertyName];\r\n if (aMinusB == 0){\r\n return 0;\r\n } else {\r\n return aMinusB > 0 ? 1 : -1;\r\n }\r\n } else if (this._propertyType == 'string'){\r\n let propA = a.getProperties()[this.propertyName] || '';\r\n let propB = b.getProperties()[this.propertyName] || '';\r\n propA = propA.toString().trim();\r\n propB = propB.toString().trim();\r\n\r\n if (propA == propB){\r\n return 0;\r\n } else {\r\n return propA > propB ? 1 : 0;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * recursive search to find the value\r\n * @param {number|string} propertyValue - the property value to search for\r\n * @param {boolean} [exactMatch=false] if only an exact match should be returned\r\n * @param {Array} [sortedFeatures=this.sortedFeatures] - the candidate features\r\n * @returns {Feature|undefined} the feature matching the lookup\r\n */\r\n getFeature(propertyValue: number|string, exactMatch: boolean = false, sortedFeatures? :Array<Feature>): Feature {\r\n if (typeof sortedFeatures == 'undefined'){\r\n sortedFeatures = this.sortedFeatures;\r\n }\r\n\r\n\r\n if (sortedFeatures.length == 0){\r\n return undefined;\r\n }\r\n\r\n if (sortedFeatures.length == 1){\r\n if (exactMatch){\r\n if (sortedFeatures[0].getProperties()[this.propertyName] == propertyValue){\r\n return sortedFeatures[0];\r\n } else {\r\n return undefined;\r\n }\r\n } else {\r\n return sortedFeatures[0];\r\n }\r\n }\r\n\r\n let lowProp = sortedFeatures[0].getProperties()[this.propertyName];\r\n let highProp = sortedFeatures[sortedFeatures.length - 1].getProperties()[this.propertyName];\r\n\r\n if (exactMatch){\r\n if (lowProp == propertyValue){\r\n return sortedFeatures[0];\r\n } else if (propertyValue < lowProp){\r\n return undefined;\r\n } else if (highProp == propertyValue){\r\n return sortedFeatures[sortedFeatures.length - 1];\r\n } else if (propertyValue > highProp){\r\n return undefined;\r\n }\r\n } else {\r\n if (propertyValue <= lowProp){\r\n return sortedFeatures[0];\r\n } else if (propertyValue >= highProp){\r\n return sortedFeatures[sortedFeatures.length - 1];\r\n }\r\n }\r\n\r\n let midIndex = Math.floor(sortedFeatures.length / 2);\r\n let midFeature = sortedFeatures[midIndex];\r\n let midProperty = midFeature.getProperties()[this.propertyName];\r\n\r\n if (midProperty === propertyValue){\r\n return midFeature;\r\n }\r\n\r\n if (propertyValue < midProperty){\r\n return this.getFeature(propertyValue, exactMatch, sortedFeatures.slice(0, midIndex));\r\n } else {\r\n return this.getFeature(propertyValue, exactMatch, sortedFeatures.slice(midIndex));\r\n }\r\n }\r\n}\r\n\r\nnm.SortedFeatures = SortedFeatures;\r\nexport default SortedFeatures;\r\n\r\n"]} \ No newline at end of file +{"version":3,"file":"SortedFeatures.js","sourceRoot":"","sources":["../../src/olHelpers/SortedFeatures.ts"],"names":[],"mappings":";;AAAA;;GAEG;AACH,6CAAsC;AAEtC,IAAI,EAAE,GAAG,iBAAO,CAAC,WAAW,CAAC,CAAC;AAE9B;;GAEG;AACH,MAAa,cAAc;IAKvB;;;;OAIG;IACH,YAAY,QAAmB,EAAE,YAAoB;QACjD,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,wCAAwC;QACxC,6FAA6F;QAC7F,EAAE;QACF,4BAA4B;QAC5B,sEAAsE;QACtE,+CAA+C;QAC/C,yGAAyG;QACzG,iCAAiC;QACjC,4BAA4B;QAC5B,uBAAuB;QACvB,+CAA+C;QAC/C,gBAAgB;QAChB,sDAAsD;QACtD,sEAAsE;QACtE,sEAAsE;QACtE,+CAA+C;QAC/C,+CAA+C;QAC/C,EAAE;QACF,mCAAmC;QACnC,4BAA4B;QAC5B,uBAAuB;QACvB,gDAAgD;QAChD,gBAAgB;QAChB,YAAY;QACZ,UAAU;QACV,IAAI;IACR,CAAC;IAED;;;;;;OAMG;IACH,UAAU,CAAC,aAA4B,EAAE,aAAsB,KAAK,EAAE,cAA+B;QACjG,IAAI,OAAO,cAAc,IAAI,WAAW,EAAC;YACrC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;SACxC;QAGD,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAC;YAC3B,OAAO,SAAS,CAAC;SACpB;QAED,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAC;YAC3B,IAAI,UAAU,EAAC;gBACX,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,aAAa,EAAC;oBACtE,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;iBAC5B;qBAAM;oBACH,OAAO,SAAS,CAAC;iBACpB;aACJ;iBAAM;gBACH,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;aAC5B;SACJ;QAED,IAAI,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnE,IAAI,QAAQ,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE5F,IAAI,UAAU,EAAC;YACX,IAAI,OAAO,IAAI,aAAa,EAAC;gBACzB,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;aAC5B;iBAAM,IAAI,aAAa,GAAG,OAAO,EAAC;gBAC/B,OAAO,SAAS,CAAC;aACpB;iBAAM,IAAI,QAAQ,IAAI,aAAa,EAAC;gBACjC,OAAO,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;aACpD;iBAAM,IAAI,aAAa,GAAI,QAAQ,EAAC;gBACjC,OAAO,SAAS,CAAC;aACpB;SACJ;aAAM;YACH,IAAI,aAAa,IAAI,OAAO,EAAC;gBACzB,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;aAC5B;iBAAM,IAAI,aAAa,IAAI,QAAQ,EAAC;gBACjC,OAAO,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;aACpD;SACJ;QAED,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrD,IAAI,UAAU,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,WAAW,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEhE,IAAI,WAAW,KAAM,aAAa,EAAC;YAC/B,OAAO,UAAU,CAAC;SACrB;QAED,IAAI,aAAa,GAAG,WAAW,EAAC;YAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,UAAU,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;SACxF;aAAM;YACH,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,UAAU,EAAE,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;SACrF;IACL,CAAC;CACJ;AA1GD,wCA0GC;AAED,EAAE,CAAC,cAAc,GAAG,cAAc,CAAC;AACnC,kBAAe,cAAc,CAAC","sourcesContent":["/**\r\n * Created by gavorhes on 12/23/2015.\r\n */\r\nimport provide from '../util/provide';\r\nimport Feature from 'ol/Feature';\r\nlet nm = provide('olHelpers');\r\n\r\n/**\r\n * take an array of features and sort by a given property name\r\n */\r\nexport class SortedFeatures {\r\n sortedFeatures: Array<Feature>;\r\n propertyName: string;\r\n _propertyType: string;\r\n\r\n /**\r\n *\r\n * @param {Array<Feature>} features array of ol features\r\n * @param {string} propertyName - the property name to use for lookup\r\n */\r\n constructor(features: Feature[], propertyName: string) {\r\n this.sortedFeatures = features;\r\n this.propertyName = propertyName;\r\n\r\n // if (this.sortedFeatures.length > 0) {\r\n // this._propertyType = typeof this.sortedFeatures[0].getProperties()[this.propertyName];\r\n //\r\n // // let __this = this;\r\n // this.sortedFeatures.sort( (a: Feature, b: Feature) : number =>{\r\n // if (this._propertyType == 'number'){\r\n // let aMinusB = a.getProperties()[this.propertyName] - b.getProperties()[this.propertyName];\r\n // if (aMinusB == 0){\r\n // return 0;\r\n // } else {\r\n // return aMinusB > 0 ? 1 : -1;\r\n // }\r\n // } else if (this._propertyType == 'string'){\r\n // let propA = a.getProperties()[this.propertyName] || '';\r\n // let propB = b.getProperties()[this.propertyName] || '';\r\n // propA = propA.toString().trim();\r\n // propB = propB.toString().trim();\r\n //\r\n // if (propA == propB){\r\n // return 0;\r\n // } else {\r\n // return propA > propB ? 1 : 0;\r\n // }\r\n // }\r\n // });\r\n // }\r\n }\r\n\r\n /**\r\n * recursive search to find the value\r\n * @param {number|string} propertyValue - the property value to search for\r\n * @param {boolean} [exactMatch=false] if only an exact match should be returned\r\n * @param {Array} [sortedFeatures=this.sortedFeatures] - the candidate features\r\n * @returns {Feature|undefined} the feature matching the lookup\r\n */\r\n getFeature(propertyValue: number|string, exactMatch: boolean = false, sortedFeatures? :Array<Feature>): Feature {\r\n if (typeof sortedFeatures == 'undefined'){\r\n sortedFeatures = this.sortedFeatures;\r\n }\r\n\r\n\r\n if (sortedFeatures.length == 0){\r\n return undefined;\r\n }\r\n\r\n if (sortedFeatures.length == 1){\r\n if (exactMatch){\r\n if (sortedFeatures[0].getProperties()[this.propertyName] == propertyValue){\r\n return sortedFeatures[0];\r\n } else {\r\n return undefined;\r\n }\r\n } else {\r\n return sortedFeatures[0];\r\n }\r\n }\r\n\r\n let lowProp = sortedFeatures[0].getProperties()[this.propertyName];\r\n let highProp = sortedFeatures[sortedFeatures.length - 1].getProperties()[this.propertyName];\r\n\r\n if (exactMatch){\r\n if (lowProp == propertyValue){\r\n return sortedFeatures[0];\r\n } else if (propertyValue < lowProp){\r\n return undefined;\r\n } else if (highProp == propertyValue){\r\n return sortedFeatures[sortedFeatures.length - 1];\r\n } else if (propertyValue > highProp){\r\n return undefined;\r\n }\r\n } else {\r\n if (propertyValue <= lowProp){\r\n return sortedFeatures[0];\r\n } else if (propertyValue >= highProp){\r\n return sortedFeatures[sortedFeatures.length - 1];\r\n }\r\n }\r\n\r\n let midIndex = Math.floor(sortedFeatures.length / 2);\r\n let midFeature = sortedFeatures[midIndex];\r\n let midProperty = midFeature.getProperties()[this.propertyName];\r\n\r\n if (midProperty === propertyValue){\r\n return midFeature;\r\n }\r\n\r\n if (propertyValue < midProperty){\r\n return this.getFeature(propertyValue, exactMatch, sortedFeatures.slice(0, midIndex));\r\n } else {\r\n return this.getFeature(propertyValue, exactMatch, sortedFeatures.slice(midIndex));\r\n }\r\n }\r\n}\r\n\r\nnm.SortedFeatures = SortedFeatures;\r\nexport default SortedFeatures;\r\n\r\n"]} \ No newline at end of file diff --git a/src/olHelpers/SortedFeatures.ts b/src/olHelpers/SortedFeatures.ts index c9f38f5..14030e0 100644 --- a/src/olHelpers/SortedFeatures.ts +++ b/src/olHelpers/SortedFeatures.ts @@ -22,32 +22,32 @@ export class SortedFeatures { this.sortedFeatures = features; this.propertyName = propertyName; - if (this.sortedFeatures.length > 0) { - this._propertyType = typeof this.sortedFeatures[0].getProperties()[this.propertyName]; - - // let __this = this; - this.sortedFeatures.sort( (a: Feature, b: Feature) : number =>{ - if (this._propertyType == 'number'){ - let aMinusB = a.getProperties()[this.propertyName] - b.getProperties()[this.propertyName]; - if (aMinusB == 0){ - return 0; - } else { - return aMinusB > 0 ? 1 : -1; - } - } else if (this._propertyType == 'string'){ - let propA = a.getProperties()[this.propertyName] || ''; - let propB = b.getProperties()[this.propertyName] || ''; - propA = propA.toString().trim(); - propB = propB.toString().trim(); - - if (propA == propB){ - return 0; - } else { - return propA > propB ? 1 : 0; - } - } - }); - } + // if (this.sortedFeatures.length > 0) { + // this._propertyType = typeof this.sortedFeatures[0].getProperties()[this.propertyName]; + // + // // let __this = this; + // this.sortedFeatures.sort( (a: Feature, b: Feature) : number =>{ + // if (this._propertyType == 'number'){ + // let aMinusB = a.getProperties()[this.propertyName] - b.getProperties()[this.propertyName]; + // if (aMinusB == 0){ + // return 0; + // } else { + // return aMinusB > 0 ? 1 : -1; + // } + // } else if (this._propertyType == 'string'){ + // let propA = a.getProperties()[this.propertyName] || ''; + // let propB = b.getProperties()[this.propertyName] || ''; + // propA = propA.toString().trim(); + // propB = propB.toString().trim(); + // + // if (propA == propB){ + // return 0; + // } else { + // return propA > propB ? 1 : 0; + // } + // } + // }); + // } } /** -- GitLab