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

sorted features

parent f73a1e91
No related branches found
No related tags found
No related merge requests found
import Feature from 'ol/Feature';
export declare class SortedFeatures {
sortedFeatures: Feature[];
propertyName: string;
_propertyType: string;
constructor(features: Feature[], propertyName: string);
getFeature(propertyValue: string, exactMatch?: boolean, sortedFeatures?: Feature[]): Feature;
}
......
......@@ -6,6 +6,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
const provide_1 = require("../util/provide");
let nm = provide_1.default('olHelpers');
class SortedFeatures {
// sortedFeatures: Feature[];
// propertyName: string;
// _propertyType: string;
constructor(features, propertyName) {
// this.sortedFeatures = features;
// this.propertyName = propertyName;
......
{"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;IAKvB,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,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
......@@ -6,9 +6,9 @@ import Feature from 'ol/Feature';
let nm = provide('olHelpers');
export class SortedFeatures {
sortedFeatures: Feature[];
propertyName: string;
_propertyType: string;
// sortedFeatures: Feature[];
// propertyName: string;
// _propertyType: string;
constructor(features: Feature[], propertyName: string) {
// this.sortedFeatures = features;
......
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