UNPKG

igniteui-react-core

Version:
312 lines (311 loc) 9.84 kB
import { delegateCombine, delegateRemove } from './type'; import { ShapefileConverter as ShapefileConverter_internal } from "./ShapefileConverter"; import { fromRect, toRect, ensureBool } from "./componentUtil"; import { IgrAsyncCompletedEventArgs } from './igr-async-completed-event-args'; import { IgrShapefileRecord } from './igr-shapefile-record'; import { IgrShapeFilterRecordEventArgs } from './igr-shape-filter-record-event-args'; /** * Class used to convert Shapefiles into CLR objects. */ export class IgrShapeDataSource { createImplementation() { return new ShapefileConverter_internal(); } get i() { return this._implementation; } onImplementationCreated() { } constructor() { //@@ZoneRunner this._importPending = null; this._importPending_wrapped = null; this._importCompleted = null; this._importCompleted_wrapped = null; this._filter = null; this._filter_wrapped = null; this._implementation = this.createImplementation(); this._implementation.externalObject = this; this.onImplementationCreated(); } _provideImplementation(i) { this._implementation = i; this._implementation.externalObject = this; this.onImplementationCreated(); } // private _databaseSource: string; ///** // * Gets the string Uri path of the .dbf portion of the Shapefile //*/ // get databaseSource(): string { // return this._databaseSource; // } ///** // * Sets the string Uri path of the .dbf portion of the Shapefile //*/ // set databaseSource(v: string) { // this._databaseSource = v; // } // private _shapefileSource: string; ///** // * Gets the string Uri path of the .shp portion of the Shapefile //*/ // get shapefileSource(): string { // return this._shapefileSource; // } ///** // * Sets the string Uri path of the .shp portion of the Shapefile //*/ // set shapefileSource(v: string) { // this._shapefileSource = v; // } dataBind() { //this.i.shapefileSource = null; //this.i.databaseSource = null; //if (this._shapefileSource && this._databaseSource) { // this.i.shapefileSource = new Uri(0, this._shapefileSource); // this.i.databaseSource = new Uri(0, this._databaseSource); //} } /** * Gets the point data. */ getPointData() { let list = this.i.getPointData(); let ret = []; for (var i = 0; i < list.count; i++) { var shapeRecord = list.item(i); if (!shapeRecord.externalObject) { let e = new IgrShapefileRecord(); e._implementation = shapeRecord; shapeRecord.externalObject = e; } ret.push(shapeRecord.externalObject); } return ret; } get name() { return this.i.name; } set name(v) { this.i.name = v; } /** * Gets the world bounding rectangle, as read from the header of the Shapefile. */ get worldRect() { return fromRect(this.i.worldRect); } set worldRect(v) { this.i.worldRect = toRect(v); } /** * Gets the world bounding rectangle, based on the filtered shapes */ get computedWorldRect() { return fromRect(this.i.computedWorldRect); } set computedWorldRect(v) { this.i.computedWorldRect = toRect(v); } /** * Gets the shape type, as read from the header of the Shapefile. */ get shapeType() { return this.i.shapeType; } /** * Gets the header of the Shapefile. */ get shapeHeader() { return this.i.shapeHeader; } set shapeHeader(v) { this.i.shapeHeader = v; } /** * The Uri of the .shp portion of the Shapefile. */ get deferImportCompleted() { return this.i.deferImportCompleted; } set deferImportCompleted(v) { this.i.deferImportCompleted = ensureBool(v); } /** * The Uri of the .shp portion of the Shapefile. */ get shapefileSource() { return this.i.shapefileSource; } set shapefileSource(v) { this.i.shapefileSource = v; } /** * The Uri of the .dbf portion of the Shapefile. */ get databaseSource() { return this.i.databaseSource; } set databaseSource(v) { this.i.databaseSource = v; } /** * The total number of ShapefileRecords in the collection. */ get count() { return this.i.count; } findByName(name) { if (this.findEphemera) { if (name && name.indexOf("@@e:") == 0) { return this.findEphemera(name); } } return null; } getWorldBounds(useComputed) { let iv = this.i.getWorldBounds(useComputed); return fromRect(iv); } setWorldBounds(setComputed, bounds) { this.i.setWorldBounds(setComputed, toRect(bounds)); } sendImportCompleted() { this.i.sendImportCompleted(); } getRecordsCount() { let iv = this.i.getRecordsCount(); return (iv); } getRecord(index) { let iv = this.i.getRecord(index); let ret = null; if (iv && iv.externalObject) { ret = iv.externalObject; } else { if (iv) { let e = new IgrShapefileRecord(); e._implementation = iv; iv.externalObject = e; ret = e; } } return ret; } getRecordBounds(index) { let iv = this.i.getRecordBounds(index); return fromRect(iv); } getRecordFieldNames(index) { let iv = this.i.getRecordFieldNames(index); return (iv); } getRecordValue(index, fieldName) { let iv = this.i.getRecordValue(index, fieldName); return (iv); } removeRecord(index) { this.i.removeRecord(index); } shiftAllShapes(offsetX, offsetY) { this.i.shiftAllShapes(offsetX, offsetY); } shiftShapes(recordIndex, offsetX, offsetY) { this.i.shiftShapes(recordIndex, offsetX, offsetY); } getMaxLongitude(recordIndex, useLargestShape, fromLongitude, toLongitude) { let iv = this.i.getMaxLongitude(recordIndex, useLargestShape, fromLongitude, toLongitude); return (iv); } setRecordValue(index, fieldName, value) { this.i.setRecordValue(index, fieldName, value); } getRecordValues(fieldName) { let iv = this.i.getRecordValues(fieldName); return (iv); } setRecordValues(fieldName, values) { this.i.setRecordValues(fieldName, values); } getLargestShapeBoundsForRecord(index) { let iv = this.i.getLargestShapeBoundsForRecord(index); return fromRect(iv); } /** * Event raised when the Shapefile has been imported from both the ShapefileSource and DatabaseSource Uris. */ get importPending() { return this._importPending; } set importPending(ev) { if (this._importPending_wrapped !== null) { this.i.importPending = delegateRemove(this.i.importPending, this._importPending_wrapped); this._importPending_wrapped = null; this._importPending = null; } this._importPending = ev; this._importPending_wrapped = (o, e) => { let outerArgs = new IgrAsyncCompletedEventArgs(); outerArgs._provideImplementation(e); if (this.beforeImportPending) { this.beforeImportPending(this, outerArgs); } if (this._importPending) { this._importPending(this, outerArgs); } }; this.i.importPending = delegateCombine(this.i.importPending, this._importPending_wrapped); ; } /** * Event raised when the Shapefile has been imported from both the ShapefileSource and DatabaseSource Uris. */ get importCompleted() { return this._importCompleted; } set importCompleted(ev) { if (this._importCompleted_wrapped !== null) { this.i.importCompleted = delegateRemove(this.i.importCompleted, this._importCompleted_wrapped); this._importCompleted_wrapped = null; this._importCompleted = null; } this._importCompleted = ev; this._importCompleted_wrapped = (o, e) => { let outerArgs = new IgrAsyncCompletedEventArgs(); outerArgs._provideImplementation(e); if (this.beforeImportCompleted) { this.beforeImportCompleted(this, outerArgs); } if (this._importCompleted) { this._importCompleted(this, outerArgs); } }; this.i.importCompleted = delegateCombine(this.i.importCompleted, this._importCompleted_wrapped); ; } get filter() { return this._filter; } set filter(ev) { if (this._filter_wrapped !== null) { this.i.filter = delegateRemove(this.i.filter, this._filter_wrapped); this._filter_wrapped = null; this._filter = null; } this._filter = ev; this._filter_wrapped = (o, e) => { let outerArgs = new IgrShapeFilterRecordEventArgs(); outerArgs._provideImplementation(e); if (this.beforeFilter) { this.beforeFilter(this, outerArgs); } if (this._filter) { this._filter(this, outerArgs); } }; this.i.filter = delegateCombine(this.i.filter, this._filter_wrapped); ; } }