Skip to content
Snippets Groups Projects
Commit 203c660b authored by Glenn Vorhes's avatar Glenn Vorhes
Browse files

sorted features

parent 51767e36
No related branches found
No related tags found
No related merge requests found
import Feature from 'ol/Feature';
export declare class SortedFeatures {
declare class SortedFeatures {
constructor(features: Feature[], propertyName: string);
getFeature(propertyValue: string, exactMatch?: boolean, sortedFeatures?: Feature[]): Feature;
}
......
......@@ -99,7 +99,6 @@ class SortedFeatures {
return null;
}
}
exports.SortedFeatures = SortedFeatures;
nm.SortedFeatures = SortedFeatures;
exports.default = SortedFeatures;
//# sourceMappingURL=sortedFeatures.js.map
\ 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,MAAa,cAAc;IACvB,6BAA6B;IAC7B,wBAAwB;IACxB,yBAAyB;IAEzB,YAAY,QAAmB,EAAE,YAAoB;QACjD,kCAAkC;QAClC,oCAAoC;QAEpC,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,oHAAoH;IACpH,UAAU,CAAC,aAAqB,EAAE,aAAsB,KAAK,EAAE,cAA0B;QACzF,iDAAiD;QACjD,gDAAgD;QAChD,QAAQ;QACR,EAAE;QACF,EAAE;QACF,uCAAuC;QACvC,4BAA4B;QAC5B,QAAQ;QACR,EAAE;QACF,uCAAuC;QACvC,2BAA2B;QAC3B,0FAA0F;QAC1F,4CAA4C;QAC5C,uBAAuB;QACvB,oCAAoC;QACpC,gBAAgB;QAChB,mBAAmB;QACnB,wCAAwC;QACxC,YAAY;QACZ,QAAQ;QACR,EAAE;QACF,0EAA0E;QAC1E,mGAAmG;QACnG,EAAE;QACF,uBAAuB;QACvB,yCAAyC;QACzC,wCAAwC;QACxC,+CAA+C;QAC/C,gCAAgC;QAChC,iDAAiD;QACjD,gEAAgE;QAChE,iDAAiD;QACjD,gCAAgC;QAChC,YAAY;QACZ,eAAe;QACf,yCAAyC;QACzC,wCAAwC;QACxC,iDAAiD;QACjD,gEAAgE;QAChE,YAAY;QACZ,QAAQ;QACR,EAAE;QACF,4DAA4D;QAC5D,iDAAiD;QACjD,uEAAuE;QACvE,EAAE;QACF,2CAA2C;QAC3C,6BAA6B;QAC7B,QAAQ;QACR,EAAE;QACF,wCAAwC;QACxC,gGAAgG;QAChG,eAAe;QACf,6FAA6F;QAC7F,QAAQ;QACJ,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAhGD,wCAgGC;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\nexport class SortedFeatures {\r\n // sortedFeatures: Feature[];\r\n // propertyName: string;\r\n // _propertyType: string;\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 // getFeature(propertyValue: number|string, exactMatch: boolean = false, sortedFeatures? :Array<Feature>): Feature {\r\n getFeature(propertyValue: string, exactMatch: boolean = false, sortedFeatures? :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 return null;\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,MAAM,cAAc;IAChB,6BAA6B;IAC7B,wBAAwB;IACxB,yBAAyB;IAEzB,YAAY,QAAmB,EAAE,YAAoB;QACjD,kCAAkC;QAClC,oCAAoC;QAEpC,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,oHAAoH;IACpH,UAAU,CAAC,aAAqB,EAAE,aAAsB,KAAK,EAAE,cAA0B;QACzF,iDAAiD;QACjD,gDAAgD;QAChD,QAAQ;QACR,EAAE;QACF,EAAE;QACF,uCAAuC;QACvC,4BAA4B;QAC5B,QAAQ;QACR,EAAE;QACF,uCAAuC;QACvC,2BAA2B;QAC3B,0FAA0F;QAC1F,4CAA4C;QAC5C,uBAAuB;QACvB,oCAAoC;QACpC,gBAAgB;QAChB,mBAAmB;QACnB,wCAAwC;QACxC,YAAY;QACZ,QAAQ;QACR,EAAE;QACF,0EAA0E;QAC1E,mGAAmG;QACnG,EAAE;QACF,uBAAuB;QACvB,yCAAyC;QACzC,wCAAwC;QACxC,+CAA+C;QAC/C,gCAAgC;QAChC,iDAAiD;QACjD,gEAAgE;QAChE,iDAAiD;QACjD,gCAAgC;QAChC,YAAY;QACZ,eAAe;QACf,yCAAyC;QACzC,wCAAwC;QACxC,iDAAiD;QACjD,gEAAgE;QAChE,YAAY;QACZ,QAAQ;QACR,EAAE;QACF,4DAA4D;QAC5D,iDAAiD;QACjD,uEAAuE;QACvE,EAAE;QACF,2CAA2C;QAC3C,6BAA6B;QAC7B,QAAQ;QACR,EAAE;QACF,wCAAwC;QACxC,gGAAgG;QAChG,eAAe;QACf,6FAA6F;QAC7F,QAAQ;QACJ,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;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\nclass SortedFeatures {\r\n // sortedFeatures: Feature[];\r\n // propertyName: string;\r\n // _propertyType: string;\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 // getFeature(propertyValue: number|string, exactMatch: boolean = false, sortedFeatures? :Array<Feature>): Feature {\r\n getFeature(propertyValue: string, exactMatch: boolean = false, sortedFeatures? :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 return null;\r\n }\r\n}\r\n\r\nnm.SortedFeatures = SortedFeatures;\r\nexport default SortedFeatures;\r\n\r\n"]}
\ No newline at end of file
......@@ -5,7 +5,7 @@ import provide from '../util/provide';
import Feature from 'ol/Feature';
let nm = provide('olHelpers');
export class SortedFeatures {
class SortedFeatures {
// sortedFeatures: Feature[];
// propertyName: string;
// _propertyType: string;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment